Friday, October 5, 2012

Skills and abilities

The previous couple of days i implemented a part of the HUD and worked more on the abilities. I have added a ability menu that includes all the abilities a player holds. I will filter out the move ability since the player should just use the arrow keys and perhaps i implement a click to move system. Also deciding on the basic attack if the ability should trigger automatically or the player should highlight a ability to use by default. Like a ranged character could use a range ability to trigger when clicking on a enemy and a melee character could have a stronger melee ability selected as a default.

At this moment i am designing a more advanced ability structure/hierarchy. The point of this is to have each skill fall under one or more ability types so i do not have to hard code a resolve for each individual ability. Like a basic melee skill should just fall under weapon damage ability. A elemental attack should fall under elemental damage ability. And a skill that uses a equipped weapon and put elemental damage on it should fall under both. This is so the task handler can pick up on these types and resolve the attack accordingly to the type of ability, like weapon damage should take things into account like weapon damage, armor, etc.

Skills could fall under a lot of these ability types, like a slicing attack, in a area around the player that gives a bleeding over time and does fire damage over time to the enemies it hit. So I am currently figuring out what the best approach would be. I think the best bet is to just set flags for each skill and go over each of the flags in the task handler to see if it is set and resolve it. But with a skill like above i should take into account multiple damage over time flags.

Once this system is in to place and working well i can really take advantage of it and just add a bunch of skills without ever looking at the resolve code. But i have to make sure that each type of skill i want to add is being dealt with.

Anyway, lots of work to do. Subscribe and i keep you updated!

No comments:

Post a Comment