You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some of these require previous steps completed, or are just very complex. THe ones labeled (easy) should be do-able now.
Remaining Power Mechanics to work on:
Delayed/ repeat effects (add a queue on targets for effects, fires off on timer).
Defense types can be used for hit checks: convert "AttackTypes", get values for target's defense, use the highest (example fire melee would be attacktypes 112,120,128, which would become defense[0,2,7]) (easy)
Load attrib.bin into the game data, and use for damage/defense types. (easy)
Set Debt when a player dies, applying debt protection (easy)
Keep buffs and recharging queue when moving between zones/log out by adding to fromActualCharacter(). A timestamp could be added to see how long it's been, and timers would move forward accordingly.
Additions to "FloatingInfo" for different colors(endurance changes being blue, other people damage is grey?) and words appearing over target (miss, containment, etc) (easy)
Check an entity's global buffs when factoring in range, endurance discount and recharge reduction. (easy)
Advanced effects for sleep/fear/confuse/taunt, need to add a system to break on damage, etc.
Translucent effect making a target 0% or 50% visible, for teleport effect and others (easy)
Inspirations should go into the activation queue, which would move the deletion to later, when temps get deleted too (easy)
Archetype bonuses- scrapper/controller powers have a "special case" flag that needs to be checked properly, tankers need a short range taunt on every attack, defenders need an auto power that checks number of team mates and % health. Blasters are done.
Parse_CharAttrib Discussion:
From looking at how the power data must be used, it seems more likely Cryptic had Parse_CharAttrib's for strength, resistance, maximums and current attributes.
as an array. Even if the values never change, they would be 0's so the values would line up. For examples:
fire melee: base value *str[dmg(fire)] / res[dmg(fire)] done to the targets HP
knockback: base value *str[knockback] / res[knockback] added to target's current knockback
runspeed: : base value *str[runspeed] / res[runspeed] added to target's current runspeed
We need to added resistance and strength Parse_CharAttrib's, we already have max's for those!
We could either have line after line of checking variables by name, or change Parse_CharAttrib into an array, or add function that uses a switch statement to return a pointer to the correct variable. That could be an []operator.
Change powers so critters have access:
"Powers should actually be stored in Entity instead of Character, as Critters and other entity types may have powers as well."
"Powers array should actually be stored in Entity, and provided to Character as a pointer (because sendPowers() in character update)."
What about the Parse_CharAttrib's in character and chardata?
Auto powers should load when you log in, and when you buy the power. Right now that requires sending entity instead of character in addpower.
Pseudopets (caltrops, rain of fire, etc) call autopowers and nothing else
Currently critter's have "NPCPower_Desc" which have a powercat/set/power like players... except the category is always villain. Somehow those all need to be loaded into the correct critters.
Possibly a template of powers loaded for each critter type. For AI, there should separate lists for ranged and melee powers, with autopowers left off. The proportion of melee/ranged powers would affect how the AI acts.
Some of these require previous steps completed, or are just very complex. THe ones labeled (easy) should be do-able now.
Remaining Power Mechanics to work on:
Parse_CharAttrib Discussion:
From looking at how the power data must be used, it seems more likely Cryptic had Parse_CharAttrib's for strength, resistance, maximums and current attributes.
as an array. Even if the values never change, they would be 0's so the values would line up. For examples:
fire melee: base value *str[dmg(fire)] / res[dmg(fire)] done to the targets HP
knockback: base value *str[knockback] / res[knockback] added to target's current knockback
runspeed: : base value *str[runspeed] / res[runspeed] added to target's current runspeed
Change powers so critters have access:
Depends on movement/physics
Enhancements:
The text was updated successfully, but these errors were encountered: