Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Meta] Powers Roadmap - Part 2 #870

Open
1 of 27 tasks
cyanpill opened this issue Apr 13, 2019 · 0 comments
Open
1 of 27 tasks

[Meta] Powers Roadmap - Part 2 #870

cyanpill opened this issue Apr 13, 2019 · 0 comments
Labels
enhancement Enhancement to server functionality.
Milestone

Comments

@cyanpill
Copy link
Member

cyanpill commented Apr 13, 2019

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

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)
@broxen broxen changed the title Power Roadmap part2 [Meta] Powers Roadmap - Part 2 Apr 14, 2019
@broxen broxen added the enhancement Enhancement to server functionality. label Apr 14, 2019
@broxen broxen mentioned this issue Apr 14, 2019
36 tasks
@broxen broxen added this to the Proposals milestone Apr 14, 2019
@broxen broxen pinned this issue Oct 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement to server functionality.
Projects
None yet
Development

No branches or pull requests

2 participants