|
Post by Tapan on Apr 9, 2019 18:16:15 GMT
Hi
I am trying to think of a way to do abilities for a player...trying to figure out if I should make a seperate system for player abilities...different thing is that it won't be a card so its going to get that data from a different dictionary data etc... Just thinking it through... So make a player ability system which takes the players abilities and the data associated with it...have an abilityview to display and select the abilities active or passive depending on what they have...Then an ability action system which does something like call a another action like...minionaction or spellaction or something based off of the ability data specified...
Think this is feasible unless I may be something important here?
Thanks for the tutorials they are very informative!!!!!
|
|
|
Post by Admin on Apr 9, 2019 21:38:27 GMT
Would player abilities be like hero powers? Would you want these abilities to be able to trigger reactions? For example, if my player ability damages an enemy minion, and the enemy minion has a trigger that activates upon taking damage, should it get triggered from the ability?
If it were me, I would probably try to reuse as much as possible. For example, even though a player ability may not be a typical card because it doesn't get played as part of the player's deck, it doesn't mean it cant still be modeled in code as a special kind of card (based on the composition of its aspects). This would allow you to use the ability system that is already in place, instead of needing to create a new version.
|
|
|
Post by Salard on Apr 13, 2019 3:46:10 GMT
something i did was created a seperate Card like a minion or keeper and had a seperate Zone for the ability - one question i had:
public new Zones zone = Zones.PlayerAbilities;
is the proper way to overwrite the 'Card' class's zone property?
thanks again!
|
|
|
Post by Admin on Apr 15, 2019 13:37:32 GMT
You "can" overwrite the property, but it isn't necessary to do so, and is not my recommendation. It is just a normal public field that can be assigned a new value when you initialize the card. I would probably assign the zone from a factory class that creates the cards for me.
|
|