-
Notifications
You must be signed in to change notification settings - Fork 90
Open
Labels
enhancementEnhancement to server functionality.Enhancement to server functionality.
Milestone
Description
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.
Depends on movement/physics
- Cone powers selecting targets in an arc. Implement getEntitiesInRadius and getEntitiesInCone #686 [WIP] Pseudo physics #805
- Knockback/repel effects.
- Critters walking to a location? might be possible now
Enhancements:
- Read base values from powers.json (easy)
- Determine scaling based on level difference between player and each enhancement (easy)
- Add a total of all the enhancement in power, keeping a parseattrib for the power, gets recalculate every level or change to enhancements
- Finally apply enhancement values where needed in power mechanics! (easy)
Metadata
Metadata
Assignees
Labels
enhancementEnhancement to server functionality.Enhancement to server functionality.