Post by redquill on Jul 19, 2013 12:33:11 GMT -5
I can't help the code team much as I'm nowhere near trained or meticulous enough for the task, but I'll do what I can. Speaking with JR last night I found out that I can make myself useful to the Code Team in some small regard by sorting out what parameters will be required for the classes I've proposed. I'll continue to do that as I think up new things, but for the moment I'm going to focus on classes. In particular, stats that all classes will need, even if the value is zero.
Health: The unit's maximum health. I see no reason to fluctuate from FP's model at the moment aside from giving it a numerical value rather than a graphical one. One heart has four sections: full, large, medium, and small. 1 heart = 4 Health. Villagers have 8 Health, while Warriors have 24.
Armour: Spell it however you like. This is what I'm calling damage reduction; only the Giant has it in FP. While most classes will still have 0 Armour by default, the Blacksmith will be able to buff anyone with a bit of Armour. The number is a straight transfer: 10 Armour = 10% damage reduction. I'm not sure how to approach Armour decay, but I think it should be a factor. I'm no mathemancer, but -1 Armour per xHealth lost seems good. I don't know what a fair Health value would be. The Blacksmith can repair it, as can picking up the Hat of a class with natural Armour. What I'm proposing is far from concrete; as I said I don't into math.
Speed: Maximum footspeed. Something to consider here is that we'll likely be having most players using a keyboard rather than a controller, at least for the tech demo. That means digital input, not analog. I'm not sure what to do about it but it's an issue.
Back to the stat in question, numerical values don't matter TOO much. What matters is relative footspeed, which you've probably picked up from my Proposed Classes thread. Meaning rather than saying Warrior has 5 speed, it's more useful to know Warrior is faster than Giant but slower than everyone else. These will get numerical values at some point (because they have to) but until they do it's better to look at it relatively.
Jump: Jump height. Combined with Speed you get distance. In FP it seems Speed and Jump are directly related; I don't want that to be the case here. Example: Villagers are fast. Ninja are just as fast, but can jump higher. Does this trump the Villager's role? No. Villagers can chose to wear Shoes once they've been upgraded which allows them to move faster than Ninja and jump just as high. Without separate stats for Jump and Speed, this interplay isn't possible.
Carry Reduction: How much you slow down when carrying something. The value will be a straight transfer percentage, and most classes will have the same value. Exceptions I've thought of so far: Ninja, Villager w/ Gloves, and Warrior. Ninja will carry things much slower than their Speed value suggests. However, no trick will be required to carry something while invisible, and the object carried will cloak as well. Naturally this won't work with the Princess. Part of the Villager's Gloves upgrade is a Carry Reduction... reduction. This will work with the Princess, but only for carrying, not escorting. Warriors are pretty slow already, and buff as hell. They'll still be slow when carrying things, but will be slowed down less. I'm also thinking about how to make Giant grabbing work without being a glitch. Given that Giants can pick up people now, I don't see a logical reason they can't pick up stuff; I get why it's that way from a gameplay standpoint, but I'd rather it have a logical reason as well. It may not be possible to include but I'm thinking about it.
For the attack stats, separate entries are required for each weapon.
Attack Damage: Plain and simple, how much Health a single quick attack will cost the target. Healing will work as a negative value, right?
Attack Speed: The maximum speed at which quick attacks can be used. This will need to be coded a little differently for classes like the Priest who do damage/heals over time while locked on.
Attack Range: The reach of the unit's quick attacks. Will require diverse coding, as melee and ranged attacks behave differently to calculate hits; ranged attacks can be bodyblocked and keep going if they miss, while melee attacks will have more of a radius and the closest thing to the centre of it gets hit.
Attack AoE: This will be zero for most classes' quick attacks. However, the Worker's bombs, Blacksmith's mines, and possibly the Warrior's halberd will have this stat in the positives.
Attack Armour Penetration: A yes/no flag; is Armour a factor for this attack? If yes, it is reduced by the target's Armour and damages it. If no, neither occurs. Priest drains/heals and Mage attacks will definitely have this effect, and others may as well.
Charge Time: How long it takes to fully charge the classes' attack in seconds. If there are increments, they need to be noted here.
Charge Damage: Basic damage of fully charged attack. Once again, note increments if they're present. In cases such as the Mage's fire, only the initial damage should be noted here.
Charge Effect: Special effects that charging gives the attack. If it's incremental, make it show. This will likely be the toughest part to code since it's different for everyone and has increments for most. Ranger's increased shot speed, Mage's freeze, Ninja's poison/slow, Warriors spin/charge... all of that and all the rest goes here. Good luck.
Charge AoE: As above with Attack AoE, but far more common. The Warrior's spin and dash are both AoE, the Giant's ground pound is an AoE, as well as the Mage's and Priest's more obvious charge rings. There may be more.
Charge Cooldown: The rest period after unleashing a charged attack where you can't attack again. May or may not effect both of your weapons.
Charge Armour Penetration: A simple yes/no, to flag whether or not Armour is considered for the charged attack.
Lock On Range: The maximum distance a target can be away from the unit and have a lock begin.
Lock Off Range: When a locked target passes this distance the lock is lost. Similar to Lock On Range in most cases, but Rangers will likely have this notably longer, and Priests/Dark Priests will have incremental drops in heal/drain effectiveness as the target gets further from them but a VERY high Lock Off Range, perhaps infinite.
Lock On Effect: Special notes such as the Mage and Priest changing from AoE to targeted attacks when locked on, or the Ninja not attacking with melee while locked on and cloaked unless they hit, or the King's buffs/debuffs when locked onto someone. It should also be noted who you'll be locking onto, allies or enemies. Priests won't be the only one targeting allies anymore; Blacksmiths and Kings will as well.
Most if not all classes have special attacks now, so a section is required for the basics of that.
Special Cooldown: How long it takes for the unit's Special to be available again after use or changing class. In some cases such as the Worker's Blueprint, this may have multiple values. A Ladder will have a small cooldown, while a Siege Tower will have a long one.
Special Effect: What the Special does when used along with any lasting effects. Difficult to numeral... ize? but I don't think it'll be as complex as Charge Effects. Everything triggering the Special does goes here, so in the Ninja's case the initial effect is xSeconds of invisibility which can be broken by an early attack. Both assassination effects and how to trigger them must also be detailed.
Special Interaction: If triggering the special behaves unusually with any of the other stats, note it here. This is where the Mage's Push/Pull move would note that it doesn't interrupt charge attacks, as well as the Ranger's Plant Torch and the Blacksmith's Fuse Carried keeping them from moving or attacking for a short while.
For the most part, buffs and debuffs will be timed flags which are in full effect for their duration. Simple yes/no and an expiry time there. A couple operate differently however, either decaying or lasting until a particular action is taken.
Shelled: Functions as Armour but decays over time. Granted by the Blacksmith.
Blessed: Ignore damage from the next hit. Granted by the Priest.
Cloaked: Cannot be seen by enemies, translucent to allies. Will not appear on enemy map. Able to pass through enemy Doors and Outposts. Will not use melee attack if locked on to an enemy unless it hits. Basic attacks gain assassination effects. Attacking ends. Ninja Special ability.
Inspired: Effect varies by class. Warriors get a speed buff. Rangers will charge their attacks faster. Mages get an AoE increase. Workers have their Special charge faster. Priests have their Lock Off increments improved. Villagers get temporary Health. Giants gain attack speed. Pirates will have more accurate ranged attacks. Ninja will have more damaging melee attacks. Blacksmiths have their carry reduction lowered further. Gnomes Cloak. Granted while an allied King is locked onto you with their Book equipped. Expires when the lock ends.
Flame: Damage boost for most classes. Granted by burning objects. (will look at this and other Torch buffs later)
Waiting: No direct effect. Begins when taking no action. Enter Healing state on expiry.
Healing: Cannot move, jump, or attack. Gradually recover Health. Ends when any locked action is attempted or upon taking damage.
Of note, all negative status will prevent you from healing naturally.
Inactive: Unable to attack. Generally triggered after a charge attack or Special usage.
Immobile: Unable to move or jump. Charging or firing certain attacks cause this.
Stuck: Inactive and Immobile. While using their Special the Ranger and Blacksmith have this status. Triggered briefly when exiting the Healing state.
Marked: Armour reduction. Will show up on enemy map even if out of sight. Caused by an enemy King's using their Book locking on to you. The longer the King holds the lock the longer Marked lasts.
Stunned: Randomized movement. Cannot Lock on. Caused by Villager attack or being struck by an object.
Cursed: As stunned. Cannot be healed directly. Caused by the Priest.
Burning: No direct effect. Does damage on expiry. Overwritten by Frozen. Cancelled by water or gaining Health. Caused by charged Mage attacks.
Chilled: Reduced movement speed and jump height. (increased fire damage?) Caused by charged Mage attacks.
Frozen: As Stuck. Receive no damage, healing possible. Overwritten by Burning. Cancelled by high damage.
Slowed: Reduced movement speed. Caused by Priest drains while at 1 Health (perhaps other causes).
Poisoned: Gradually take damage. Cancelled by healing. Caused by Ninja charge attacks and ranged assassinations.
Health: The unit's maximum health. I see no reason to fluctuate from FP's model at the moment aside from giving it a numerical value rather than a graphical one. One heart has four sections: full, large, medium, and small. 1 heart = 4 Health. Villagers have 8 Health, while Warriors have 24.
Armour: Spell it however you like. This is what I'm calling damage reduction; only the Giant has it in FP. While most classes will still have 0 Armour by default, the Blacksmith will be able to buff anyone with a bit of Armour. The number is a straight transfer: 10 Armour = 10% damage reduction. I'm not sure how to approach Armour decay, but I think it should be a factor. I'm no mathemancer, but -1 Armour per xHealth lost seems good. I don't know what a fair Health value would be. The Blacksmith can repair it, as can picking up the Hat of a class with natural Armour. What I'm proposing is far from concrete; as I said I don't into math.
Speed: Maximum footspeed. Something to consider here is that we'll likely be having most players using a keyboard rather than a controller, at least for the tech demo. That means digital input, not analog. I'm not sure what to do about it but it's an issue.
Back to the stat in question, numerical values don't matter TOO much. What matters is relative footspeed, which you've probably picked up from my Proposed Classes thread. Meaning rather than saying Warrior has 5 speed, it's more useful to know Warrior is faster than Giant but slower than everyone else. These will get numerical values at some point (because they have to) but until they do it's better to look at it relatively.
Jump: Jump height. Combined with Speed you get distance. In FP it seems Speed and Jump are directly related; I don't want that to be the case here. Example: Villagers are fast. Ninja are just as fast, but can jump higher. Does this trump the Villager's role? No. Villagers can chose to wear Shoes once they've been upgraded which allows them to move faster than Ninja and jump just as high. Without separate stats for Jump and Speed, this interplay isn't possible.
Carry Reduction: How much you slow down when carrying something. The value will be a straight transfer percentage, and most classes will have the same value. Exceptions I've thought of so far: Ninja, Villager w/ Gloves, and Warrior. Ninja will carry things much slower than their Speed value suggests. However, no trick will be required to carry something while invisible, and the object carried will cloak as well. Naturally this won't work with the Princess. Part of the Villager's Gloves upgrade is a Carry Reduction... reduction. This will work with the Princess, but only for carrying, not escorting. Warriors are pretty slow already, and buff as hell. They'll still be slow when carrying things, but will be slowed down less. I'm also thinking about how to make Giant grabbing work without being a glitch. Given that Giants can pick up people now, I don't see a logical reason they can't pick up stuff; I get why it's that way from a gameplay standpoint, but I'd rather it have a logical reason as well. It may not be possible to include but I'm thinking about it.
For the attack stats, separate entries are required for each weapon.
Attack Damage: Plain and simple, how much Health a single quick attack will cost the target. Healing will work as a negative value, right?
Attack Speed: The maximum speed at which quick attacks can be used. This will need to be coded a little differently for classes like the Priest who do damage/heals over time while locked on.
Attack Range: The reach of the unit's quick attacks. Will require diverse coding, as melee and ranged attacks behave differently to calculate hits; ranged attacks can be bodyblocked and keep going if they miss, while melee attacks will have more of a radius and the closest thing to the centre of it gets hit.
Attack AoE: This will be zero for most classes' quick attacks. However, the Worker's bombs, Blacksmith's mines, and possibly the Warrior's halberd will have this stat in the positives.
Attack Armour Penetration: A yes/no flag; is Armour a factor for this attack? If yes, it is reduced by the target's Armour and damages it. If no, neither occurs. Priest drains/heals and Mage attacks will definitely have this effect, and others may as well.
Charge Time: How long it takes to fully charge the classes' attack in seconds. If there are increments, they need to be noted here.
Charge Damage: Basic damage of fully charged attack. Once again, note increments if they're present. In cases such as the Mage's fire, only the initial damage should be noted here.
Charge Effect: Special effects that charging gives the attack. If it's incremental, make it show. This will likely be the toughest part to code since it's different for everyone and has increments for most. Ranger's increased shot speed, Mage's freeze, Ninja's poison/slow, Warriors spin/charge... all of that and all the rest goes here. Good luck.
Charge AoE: As above with Attack AoE, but far more common. The Warrior's spin and dash are both AoE, the Giant's ground pound is an AoE, as well as the Mage's and Priest's more obvious charge rings. There may be more.
Charge Cooldown: The rest period after unleashing a charged attack where you can't attack again. May or may not effect both of your weapons.
Charge Armour Penetration: A simple yes/no, to flag whether or not Armour is considered for the charged attack.
Lock On Range: The maximum distance a target can be away from the unit and have a lock begin.
Lock Off Range: When a locked target passes this distance the lock is lost. Similar to Lock On Range in most cases, but Rangers will likely have this notably longer, and Priests/Dark Priests will have incremental drops in heal/drain effectiveness as the target gets further from them but a VERY high Lock Off Range, perhaps infinite.
Lock On Effect: Special notes such as the Mage and Priest changing from AoE to targeted attacks when locked on, or the Ninja not attacking with melee while locked on and cloaked unless they hit, or the King's buffs/debuffs when locked onto someone. It should also be noted who you'll be locking onto, allies or enemies. Priests won't be the only one targeting allies anymore; Blacksmiths and Kings will as well.
Most if not all classes have special attacks now, so a section is required for the basics of that.
Special Cooldown: How long it takes for the unit's Special to be available again after use or changing class. In some cases such as the Worker's Blueprint, this may have multiple values. A Ladder will have a small cooldown, while a Siege Tower will have a long one.
Special Effect: What the Special does when used along with any lasting effects. Difficult to numeral... ize? but I don't think it'll be as complex as Charge Effects. Everything triggering the Special does goes here, so in the Ninja's case the initial effect is xSeconds of invisibility which can be broken by an early attack. Both assassination effects and how to trigger them must also be detailed.
Special Interaction: If triggering the special behaves unusually with any of the other stats, note it here. This is where the Mage's Push/Pull move would note that it doesn't interrupt charge attacks, as well as the Ranger's Plant Torch and the Blacksmith's Fuse Carried keeping them from moving or attacking for a short while.
For the most part, buffs and debuffs will be timed flags which are in full effect for their duration. Simple yes/no and an expiry time there. A couple operate differently however, either decaying or lasting until a particular action is taken.
Shelled: Functions as Armour but decays over time. Granted by the Blacksmith.
Blessed: Ignore damage from the next hit. Granted by the Priest.
Cloaked: Cannot be seen by enemies, translucent to allies. Will not appear on enemy map. Able to pass through enemy Doors and Outposts. Will not use melee attack if locked on to an enemy unless it hits. Basic attacks gain assassination effects. Attacking ends. Ninja Special ability.
Inspired: Effect varies by class. Warriors get a speed buff. Rangers will charge their attacks faster. Mages get an AoE increase. Workers have their Special charge faster. Priests have their Lock Off increments improved. Villagers get temporary Health. Giants gain attack speed. Pirates will have more accurate ranged attacks. Ninja will have more damaging melee attacks. Blacksmiths have their carry reduction lowered further. Gnomes Cloak. Granted while an allied King is locked onto you with their Book equipped. Expires when the lock ends.
Flame: Damage boost for most classes. Granted by burning objects. (will look at this and other Torch buffs later)
Waiting: No direct effect. Begins when taking no action. Enter Healing state on expiry.
Healing: Cannot move, jump, or attack. Gradually recover Health. Ends when any locked action is attempted or upon taking damage.
Of note, all negative status will prevent you from healing naturally.
Inactive: Unable to attack. Generally triggered after a charge attack or Special usage.
Immobile: Unable to move or jump. Charging or firing certain attacks cause this.
Stuck: Inactive and Immobile. While using their Special the Ranger and Blacksmith have this status. Triggered briefly when exiting the Healing state.
Marked: Armour reduction. Will show up on enemy map even if out of sight. Caused by an enemy King's using their Book locking on to you. The longer the King holds the lock the longer Marked lasts.
Stunned: Randomized movement. Cannot Lock on. Caused by Villager attack or being struck by an object.
Cursed: As stunned. Cannot be healed directly. Caused by the Priest.
Burning: No direct effect. Does damage on expiry. Overwritten by Frozen. Cancelled by water or gaining Health. Caused by charged Mage attacks.
Chilled: Reduced movement speed and jump height. (increased fire damage?) Caused by charged Mage attacks.
Frozen: As Stuck. Receive no damage, healing possible. Overwritten by Burning. Cancelled by high damage.
Slowed: Reduced movement speed. Caused by Priest drains while at 1 Health (perhaps other causes).
Poisoned: Gradually take damage. Cancelled by healing. Caused by Ninja charge attacks and ranged assassinations.