Documentation for attack_movement field

Technical and coding related questions.

Moderator: Board moderators

Post Reply
SilverNexus
Junior member
Posts: 165
Joined: Mon Jun 25, 2012 5:33 pm
Location: Planet Earth

Documentation for attack_movement field

Post by SilverNexus »

For as long as I can remember, there has been no documentation for the attack_movement field. I finally found the necessary information for attack_movement to finally get the documentation it deserves (it was in define.h, around line 750).
Unfortunately, I am not sure where to put said documentation. The most logical place to put it is auto-generated by some code that reads directly from gridarta. Is that where I should put the information?

Also, based on what I found with attack_movement, gridarta should really have a radio button selection box for it, as set values add certain amounts to the value of the field, but since there are values that mutually exclude each other, only certain selections should be made possible. I think a set of radio buttons for each bit section should suffice.

As a side thought, some of the boolean flags, such as asleep, could be merged into this (although asleep might have a value of zero to indicate no unaggressive movement).
That SilverNexus guy? You needn't worry about him.
He is level negative 4 in oratory, and his singing is worse.
SilverNexus
Junior member
Posts: 165
Joined: Mon Jun 25, 2012 5:33 pm
Location: Planet Earth

Post by SilverNexus »

I was hoping to go and make a selection menu for attack_movement in Gridarta, but I have no idea where to look. I hunted around for a while, but I did not find what I thought I was looking for.

In what file(s) is the handling for attack movement held?
That SilverNexus guy? You needn't worry about him.
He is level negative 4 in oratory, and his singing is worse.
mwedel
Regular
Posts: 86
Joined: Tue Jul 17, 2007 5:23 am
Location: Santa Clara, CA, USA

Post by mwedel »

I'm not sure if you are asking for this relative to the server code or gridarta.

For server, it is all in server/monster.c - each movement type tends to have its own function.
SilverNexus
Junior member
Posts: 165
Joined: Mon Jun 25, 2012 5:33 pm
Location: Planet Earth

Post by SilverNexus »

I meant in Gridarta.

I was going to use the information I gathered from the define.h file to give attack_movement some meaning in Gridarta, so it isn't a text field with absolutely no documentation on it.

But I have yet to find the right file to tweak the GUI for this attribute.
That SilverNexus guy? You needn't worry about him.
He is level negative 4 in oratory, and his singing is worse.
Ryo
Forum Fanatic
Posts: 752
Joined: Mon May 19, 2003 9:16 pm
Location: Paris, France

Post by Ryo »

Hello.

Thanks for your interest in contributing :)


The file you're looking for is in Gridarta's sources, at

src/crossfire/src/main/resources/resource/conf/types.xml

This XML file contains all attributes, so you probably want to search for 'attack_movement' and add a definition (it may be at multiple places, I think).


Of course it should probably be a bitmask, if you're adventurous to can try to change it :p



Feel free to ask for more help if needed :) On IRC, the channel would be #gridarta
SilverNexus
Junior member
Posts: 165
Joined: Mon Jun 25, 2012 5:33 pm
Location: Planet Earth

Post by SilverNexus »

As far as I can tell, bitmasks work for checking all you need (checkboxes).

The way attack_movement is set up, there is a set of values for the lower four bits, and a set for the upper four bits. There should be one value contributing to the lower bits, and one contributing to the upper bits. Thus, I would need something that works more like radio buttons. Unless there is functionality in the bitmask xml tag I am not aware of, I feel attack_movement acts more like two lists than a standard bitmask.

Is there a way to make groups (to act like radio buttons) in gridarta bitmasks? If not, this will need something else to work properly, since bitmasks do not unapply other entries when they are applied.
That SilverNexus guy? You needn't worry about him.
He is level negative 4 in oratory, and his singing is worse.
Ragnor
Luser
Posts: 12
Joined: Sun Apr 10, 2005 11:00 am

Post by Ragnor »

Gridarta now finally supports attack_movement: support added in r9369.
Leaf
Forum Aficionado
Posts: 1994
Joined: Tue Apr 29, 2003 5:55 pm
Location: Minnesota, USA
Contact:

Post by Leaf »

Automated daily build of the map editor can be found at:

http://www.meflin.net/crossfire/CrossfireEditor.jar
"Put another, more succinct way: don't complain, contribute. It's more satisfying in the long run, and it's more constructive."
Eric Meyer
SilverNexus
Junior member
Posts: 165
Joined: Mon Jun 25, 2012 5:33 pm
Location: Planet Earth

Post by SilverNexus »

Nice. The lists look much better than the undocumented text box of confusion that used to exist, but I can think of two things that might improve the use of attack_movement.
  • 1. Use descriptive terms in the selection menus rather than the constant names in the program (e.g. "DISTATT" would be "Attack from a distance"), it would be easier to look at the options and know what does what. I do not know if this would affect any conversions or if this is even feasible in reasonable space, but at minimum the names should be decapitalized. They look out of place as all caps.

    2. Add an empty line in the help description to separate the low and high bitmasks. (I tried a bunch of different ways to try to get this to work, but they did not seem to work as planned. Because the <![CDATA[ ]]> bracket thing was used, it appeared as though I should be able to add two "<br>"s to the line, but that added <br> to each line directly, not newlines to the final text.)
That SilverNexus guy? You needn't worry about him.
He is level negative 4 in oratory, and his singing is worse.
Post Reply