These changes should be able to be made without affecting the game. But the logic tilesets for Tiled should eventually be reworked. Creature classes only appear to affect class definition on the website.
- 1 Option 1: Very generalized categories
- 2 Option 2: More distinction between classes
- 3 Examples
- 4 Organization of logic tilesets
Option 1: Very generalized categories
- Merge the following:
- Merge the following into this file:
- demon.xml (optionally to undead.xml)
- elemental.xml (optionally to mythical_being.xml)
- ent.xml (optionally to mythical_being.xml)
- cat woman
- dark mutant
- devil queen (optional)
- dwarf golem
- giant kobold
- glow monster
- green slime, brown slime, black slime, twilight slime
- imperial experiment
- imperial mutant
- naga, high naga & armed naga
- Merge the following:
Option 2: More distinction between classes
This organization has been implemented in CVS. The reorganization does not break client/server compatibility, but does cause some inconsistencies with logic tilesets and sprite locations. Below are some suggestions for reorganizing logic tilesets. However, changing those will break compatibility. Reorganizing logic tilesets and spritesheet locations will need to be done a little at a time to not create a huge incompatibility between the server and client.
(***) Unsure about these options
- mountain dwarf
- imperial archer, imperial archer leader & imperial elite archer
- imperial chief
- imperial commander
- imperial defender
- imperial demon servant & imperial demon lord (optionally demon.xml)
- imperial elite guardian
- imperial general
- imperial general giant (optionally giant.xml)
- imperial knight
- imperial leader
- imperial priest & imperial high priest
- imperial scientist
- imperial veteran
- emperor dalmung (not sure where this belongs)
- pirate (not activated)
- pirate wench
- evil pirate
- pirate leader
- cat woman
- mountain orc
Perhaps each of these should have its own category or placed in hybrid or humanoid?
- A possible method of organization would be to put the creatures in a file with a corresponding class name, and use a subclass tag to segregate different creatures within their class.
Example: undead.xml This method will not be used. There is currently no use for using a subclass tag.
<creatures> <subclass value="skeleton"> <creature name="skeleton"> </creature> <creature name="warrior skeleton"> </creature> </subclass> <subclass value="zombie"> <creature name="zombie"> </creature> <creature name="rotten zombie"> </creature> </subclass> </creatures>
If subclass tags not possible comments can be used in place of them in the traditional method: This is how the reorganizations is laid out. It is the same as before with comments to separate subclasses within the creature.xml.
<creatures> <!-- START: skeleton --> <creature name="skeleton"> </creature> <creature name="warrior skeleton"> </creature> <!-- END: skeleton --> <!-- START: zombie --> <creature name="zombie"> </creature> <creature name="rotten zombie"> </creature> <!-- END: zombie --> </creatures>
Organization of logic tilesets
The logic tilesets can either be kept in the currently used directory and just refactored to match the creature.xml files. Or the tilesets can be placed in a subdirectory of "tileset/logic/creature". For example: amazon, which is a subclass of human, would be located in "tileset/logic/creature/human/amazon.png". NOTE: classes with many subclasses can be divided up.
- Notes: imperial veteran added.
- Notes: This category has no logic tileset yet.