Skip to content

Removed skills

Thorbjørn Lindeijer requested to merge Ablu:removeskill into master

This removes support for skills. The plan is to allow to implement the skills as they were implemented before via attributes. This adds a lot more flexibility to the server creators while also removing the confusion about skills and attributes.

So this change does:

  • Remove the skillmanager with all its calls, the skill xml file, etc
  • Move exp giving to the script engine:
    • storing a list of all hits against a monster in c++
    • keeping track of beings which die or leave the map before they manage to kill the target (like before)
    • for now only the element can be used to check which attribute should get the exp. --> Allows to implement the old behaviour (and more) in the scripts
  • Remove the exp tag from the monster definition:
    • Since the server itself does not require it anymore it feels wrong to require it for EVERY monster. TODO: Add a system to add properties to the monsters/items.xml which allow defining things like the exp and allows to read the value from the script engine.
    • Small drawback, but it should not be hard to implement this property system.
  • Drop the level networking and calculation.
    • level calculation will happen via the attribute system later but i would prefer to do this in a seperate patch since this patch already got longer than expected especially since this requires to make setting correction points and available status points scriptable.
    • The level would be simply set as a attribute, the int number of it will be the level, the remaining digits will be the % number till the next levelup.
  • NOT remove any existing skill tables in the database update scripts.
    • There is no way to move them into the attribute table in a unified way (there are too many different way they could have been used). So server admins have to care about moving theirs skills to attributes themselves.
    • Keeping the old tables does not hurt for existing databases. So removing does not give any advantage/is required anyway. The now obsolote info about the EXP transaction is not removed for updated databases either. (The update script basically only bumps the version number without doing anything else.
  • bump the network protocol version --> old clients won't be able to connect.
  • bump the database version --> serveradmins need to update their db.

Merge request reports