Skip to content

Moved fighting code into a component

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

All damage dealing is now handeled via FightingComponent. Monsters use a derived MonsterFightingComponent since they can have a damage mutation and have a seperate script callback.

The wirering with Being is still not optional since most of the stuff does not exist as components.

Things done:

  • Seperated the fighting code from Being and only let Characters and Monsters add the Component (less overhead for npcs)
  • Added a getter for Attribute values to prevent searching it all the time in non Being members
  • Fixed the type if the damage mutation to double (no idea why it was int) I did not want to copy it over incorrectly
  • Removed the addAttack/removeAttack overrides in Character and made the knuckleAttack being added based on newly added signals

Future TODOS:

  • Remove depedency on Being as soon all needed dependencies are available as components of Entity
  • Move the monster script callback into the general fightingcomponent and make it usuable for characters too

Merge request reports