Skip to content

Commit

Permalink
Add support for a bunch of strength support gems
Browse files Browse the repository at this point in the history
  • Loading branch information
LocalIdentity committed Dec 16, 2024
1 parent 8b9d557 commit 0f7a581
Show file tree
Hide file tree
Showing 12 changed files with 599 additions and 14 deletions.
66 changes: 63 additions & 3 deletions src/Data/SkillStatMap.lua
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,7 @@ return {
mod("DamageEnergyShieldLeech", "BASE", nil),
div = 100,
},
["life_leech_from_physical_attack_damage_permyriad"] = {
["base_life_leech_from_physical_attack_damage_permyriad"] = {
mod("PhysicalDamageLifeLeech", "BASE", nil, ModFlag.Attack),
div = 100,
},
Expand Down Expand Up @@ -835,8 +835,8 @@ return {
["active_skill_damage_+%_final_when_cast_on_frostbolt"] = {
mod("Damage", "INC", nil, 0, 0, { type = "Condition", var = "CastOnFrostbolt" }),
},
["active_skill_merged_damage_+%_final_while_dual_wielding"] = {
mod("Damage", "MORE", nil, 0, 0, { type = "Condition", var = "DualWielding" }),
["active_skill_damage_+%_final_while_dual_wielding"] = {
mod("Damage", "MORE", nil, 0, 0, { type = "Condition", var = "DualWielding" })
},
["active_skill_additive_minion_damage_modifiers_apply_to_all_damage_at_%_value"] = {
flag("MinionDamageAppliesToPlayer"),
Expand Down Expand Up @@ -878,6 +878,41 @@ return {
["lightning_damage_%_to_add_as_chaos"] = {
mod("LightningDamageGainAsChaos", "BASE", nil),
},
["non_skill_base_all_damage_%_to_gain_as_lightning_with_attacks"] = {
mod("PhysicalDamageGainAsLightning", "BASE", nil, ModFlag.Attack),
mod("LightningDamageGainAsLightning", "BASE", nil, ModFlag.Attack),
mod("ColdDamageGainAsLightning", "BASE", nil, ModFlag.Attack),
mod("FireDamageGainAsLightning", "BASE", nil, ModFlag.Attack),
mod("ChaosDamageGainAsLightning", "BASE", nil, ModFlag.Attack),
},
["non_skill_base_all_damage_%_to_gain_as_cold_with_attacks"] = {
mod("PhysicalDamageGainAsCold", "BASE", nil, ModFlag.Attack),
mod("LightningDamageGainAsCold", "BASE", nil, ModFlag.Attack),
mod("ColdDamageGainAsCold", "BASE", nil, ModFlag.Attack),
mod("FireDamageGainAsCold", "BASE", nil, ModFlag.Attack),
mod("ChaosDamageGainAsCold", "BASE", nil, ModFlag.Attack),
},
["non_skill_base_all_damage_%_to_gain_as_fire_with_attacks"] = {
mod("PhysicalDamageGainAsFire", "BASE", nil, ModFlag.Attack),
mod("LightningDamageGainAsFire", "BASE", nil, ModFlag.Attack),
mod("ColdDamageGainAsFire", "BASE", nil, ModFlag.Attack),
mod("FireDamageGainAsFire", "BASE", nil, ModFlag.Attack),
mod("ChaosDamageGainAsFire", "BASE", nil, ModFlag.Attack),
},
["non_skill_base_all_damage_%_to_gain_as_chaos_with_attacks"] = {
mod("PhysicalDamageGainAsChaos", "BASE", nil, ModFlag.Attack),
mod("LightningDamageGainAsChaos", "BASE", nil, ModFlag.Attack),
mod("ColdDamageGainAsChaos", "BASE", nil, ModFlag.Attack),
mod("FireDamageGainAsChaos", "BASE", nil, ModFlag.Attack),
mod("ChaosDamageGainAsChaos", "BASE", nil, ModFlag.Attack),
},
["non_skill_base_all_damage_%_to_gain_as_fire_with_attacks_vs_burning_enemies"] = {
mod("PhysicalDamageGainAsFire", "BASE", nil, 0, 0, { type = "ActorCondition", actor = "enemy", var = "Burning" }),
mod("LightningDamageGainAsFire", "BASE", nil, 0, 0, { type = "ActorCondition", actor = "enemy", var = "Burning" }),
mod("ColdDamageGainAsFire", "BASE", nil, 0, 0, { type = "ActorCondition", actor = "enemy", var = "Burning" }),
mod("FireDamageGainAsFire", "BASE", nil, 0, 0, { type = "ActorCondition", actor = "enemy", var = "Burning" }),
mod("ChaosDamageGainAsFire", "BASE", nil, 0, 0, { type = "ActorCondition", actor = "enemy", var = "Burning" }),
},
["base_physical_damage_%_to_convert_to_lightning"] = {
mod("PhysicalDamageConvertToLightning", "BASE", nil),
},
Expand Down Expand Up @@ -930,6 +965,9 @@ return {
["bleed_on_hit_with_attacks_%"] = {
mod("BleedChance", "BASE", nil, ModFlag.Attack),
},
["base_chance_to_inflict_bleeding_%"] = {
mod("BleedChance", "BASE", nil),
},
["global_bleed_on_hit"] = {
mod("BleedChance", "BASE", nil),
value = 100,
Expand Down Expand Up @@ -1147,6 +1185,9 @@ return {
["cannot_cause_bleeding"] = {
flag("CannotBleed"),
},
["cannot_break_armour"] = {
flag("CannotArmourBreak"),
},
["keystone_strong_bowman"] = {
flag("IronGrip"),
},
Expand Down Expand Up @@ -1218,6 +1259,10 @@ return {
["stun_threshold_+%"] = {
mod("StunThreshold", "INC", nil),
},
["support_apply_daze_on_warcry"] = {
mod("EnemyDazeChance", "BASE", nil),
value = 100,
},
["base_killed_monster_dropped_item_quantity_+%"] = {
mod("LootQuantity", "INC", nil),
},
Expand Down Expand Up @@ -1487,6 +1532,9 @@ return {
["attack_speed_+%_when_on_low_life"] = {
mod("Speed", "INC", nil, ModFlag.Attack, 0, { type = "Condition", var = "LowLife"})
},
["active_skill_attack_speed_+%_final_while_dual_wielding"] = {
mod("Speed", "MORE", nil, ModFlag.Attack, 0, { type = "Condition", var = "DualWielding"})
},
["damage_+%_per_power_charge"] = {
mod("Damage", "INC", nil, 0, 0, { type = "Multiplier", var = "PowerCharge" })
},
Expand Down Expand Up @@ -1780,6 +1828,9 @@ return {
mod("TotemDuration", "BASE", nil),
div = 1000
},
["totem_elemental_resistance_%"] = {
mod("TotemElementalResist", "BASE", nil)
},
-- Minion
["minion_damage_+%"] = {
mod("MinionModifier", "LIST", { mod = mod("Damage", "INC", nil) }),
Expand Down Expand Up @@ -1932,6 +1983,9 @@ return {
["warcry_grant_damage_+%_to_exerted_attacks"] = {
mod("ExertIncrease", "INC", nil, ModFlag.Attack, 0)
},
["slam_aftershock_chance_%"] = {
mod("AftershockChance", "BASE", nil)
},
-- Curse
["curse_effect_+%"] = {
mod("CurseEffect", "INC", nil),
Expand Down Expand Up @@ -2062,6 +2116,12 @@ return {
["gain_x_rage_on_attack_hit"] = {
flag("Condition:CanGainRage", { type = "GlobalEffect", effectType = "Buff", effectName = "Rage" } ),
},
["gain_x_rage_on_melee_hit"] = {
flag("Condition:CanGainRage", { type = "GlobalEffect", effectType = "Buff", effectName = "Rage" } ),
},
["warcry_grant_X_rage_per_5_power"] = {
flag("Condition:CanGainRage", { type = "GlobalEffect", effectType = "Buff", effectName = "Rage" } ),
},
["warcry_count_power_from_enemies"] = {
flag("UsesWarcryPower", { type = "GlobalEffect", effectType = "Buff" })
},
Expand Down
37 changes: 37 additions & 0 deletions src/Data/Skills/act_str.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1251,7 +1251,37 @@ skills["EarthquakePlayer"] = {
},
statDescriptionScope = "skill_stat_descriptions",
castTime = 1,
parts = {
{
name = "Initial impact",
},
{
name = "Aftershock",
},
},
statMap = {
["jagged_ground_effect_+%"] = {
mod("Damage", "MORE", nil, 0, 0, { type = "SkillPart", skillPart = 2 }),
},
["active_skill_base_area_of_effect_radius"] = {
skill("radius", nil, { type = "SkillPart", skillPart = 1 }),
},
["active_skill_base_tertiary_area_of_effect_radius"] = {
skill("radius", nil, { type = "SkillPart", skillPart = 2 }),
},
["skill_jagged_ground_base_duration_ms"] = {
skill("duration", nil),
div = 1000,
},
},
baseFlags = {
attack = true,
melee = true,
area = true,
duration = true,
},
baseMods = {
skill("showAverage", true, { type = "SkillPart", skillPart = 2 }),
},
qualityStats = {
Default = {
Expand Down Expand Up @@ -1329,6 +1359,13 @@ skills["EarthshatterPlayer"] = {
statDescriptionScope = "skill_stat_descriptions",
castTime = 1,
baseFlags = {
attack = true,
melee = true,
area = true,
duration = true,
},
baseMods = {
skill("radius", 18, { type = "SkillPart", skillPart = 1 }),
},
qualityStats = {
Default = {
Expand Down
6 changes: 6 additions & 0 deletions src/Data/Skills/sup_dex.lua
Original file line number Diff line number Diff line change
Expand Up @@ -662,6 +662,12 @@ skills["SupportAddedLightningDamagePlayer"] = {
addSkillTypes = { },
excludeSkillTypes = { },
statDescriptionScope = "gem_stat_descriptions",
statMap = {
["support_cold_and_fire_damage_+%_final"] = {
mod("ColdDamage", "MORE", nil),
mod("FireDamage", "MORE", nil),
},
},
constantStats = {
{ "non_skill_base_all_damage_%_to_gain_as_lightning_with_attacks", 25 },
{ "support_cold_and_fire_damage_+%_final", -50 },
Expand Down
14 changes: 14 additions & 0 deletions src/Data/Skills/sup_int.lua
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,14 @@ skills["SupportAddedChaosDamagePlayer"] = {
addSkillTypes = { },
excludeSkillTypes = { },
statDescriptionScope = "gem_stat_descriptions",
statMap = {
["support_chaos_support_non_chaos_damage_+%_final"] = {
mod("ColdDamage", "MORE", nil),
mod("LightningDamage", "MORE", nil),
mod("FireDamage", "MORE", nil),
mod("PhysicalDamage", "MORE", nil),
},
},
constantStats = {
{ "non_skill_base_all_damage_%_to_gain_as_chaos_with_attacks", 25 },
{ "support_chaos_support_non_chaos_damage_+%_final", -50 },
Expand Down Expand Up @@ -373,6 +381,12 @@ skills["SupportAddedColdDamagePlayer"] = {
addSkillTypes = { },
excludeSkillTypes = { },
statDescriptionScope = "gem_stat_descriptions",
statMap = {
["support_fire_and_lightning_damage_+%_final"] = {
mod("FireDamage", "MORE", nil),
mod("LightningDamage", "MORE", nil),
},
},
constantStats = {
{ "non_skill_base_all_damage_%_to_gain_as_cold_with_attacks", 25 },
{ "support_fire_and_lightning_damage_+%_final", -50 },
Expand Down
Loading

0 comments on commit 0f7a581

Please sign in to comment.