Skip to content

Commit 9a85cfa

Browse files
[Xedra Evolved] More werewolf powers + rework advancement system (#82219)
* Initial commit * Add red-handed rage * Add Ghostwalker * Add Go for the Throat * Add Grasshopper's Leap * Add Mighty Blow * Add Spider Climb * Fix regeneration removing bleeding, have it remove bite and infected too (chance-based) * Fix errors * Add shimmerpelt * strenth -> strength * Add Lucent Armor * Add Summon the Shadow Pack * Add bleed_rate * Various fixes
1 parent 8c4b13d commit 9a85cfa

18 files changed

+1273
-102
lines changed

data/mods/Xedra_Evolved/activity_types.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,15 @@
4545
"verb": "drinking blood",
4646
"based_on": "time",
4747
"can_resume": false
48+
},
49+
{
50+
"type": "activity_type",
51+
"id": "ACT_WEREWOLF_LEARNING_MOON_GIFT",
52+
"activity_level": "NO_EXERCISE",
53+
"verb": "learning a new gift",
54+
"based_on": "time",
55+
"can_resume": false,
56+
"do_turn_eoc": "EOC_WEREWOLF_LEARNING_MOON_GIFT_MOON_CHECK",
57+
"completion_eoc": "EOC_WEREWOLF_LEARNING_MOON_GIFT_END"
4858
}
4959
]

data/mods/Xedra_Evolved/effects/effects.json

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3980,5 +3980,85 @@
39803980
"values": [ { "value": "LUMINATION", "add": 45 } ]
39813981
}
39823982
]
3983+
},
3984+
{
3985+
"type": "effect_type",
3986+
"id": "effect_xe_werewolf_primal_strength_human_form",
3987+
"//": "This is necessary because the ACTIVE condition can't be included with or/and statements",
3988+
"name": [ "" ],
3989+
"desc": [ "" ],
3990+
"enchantments": [
3991+
{
3992+
"condition": { "not": { "u_has_any_trait": [ "WEREWOLF_HYBRID_FORM_TRAITS", "WEREWOLF_PRIMAL_FORM_TRAITS" ] } },
3993+
"values": [
3994+
{
3995+
"value": "STRENGTH",
3996+
"add": { "math": [ "min( (2 + (werewolf_tier_four_traits() * 0.2) + (werewolf_tier_five_traits() * 0.35) ), 8)" ] }
3997+
}
3998+
]
3999+
}
4000+
]
4001+
},
4002+
{
4003+
"type": "effect_type",
4004+
"id": "effect_xe_werewolf_climb_in_wolf_form",
4005+
"//": "Hidden effect, flags only apply in wolf form",
4006+
"name": [ "" ],
4007+
"desc": [ "" ],
4008+
"flags": [ "CLIMB_NO_LADDER", "ONE_STORY_FALL" ]
4009+
},
4010+
{
4011+
"type": "effect_type",
4012+
"id": "effect_xe_werewolf_camouflage_as_wolf",
4013+
"//": "Hidden effect, part of an activatable trait",
4014+
"name": [ "" ],
4015+
"desc": [ "" ],
4016+
"enchantments": [
4017+
{
4018+
"condition": { "not": { "u_has_trait": "WOLF_VAMPIRE_WOLF_FORM_TRAITS" } },
4019+
"values": [ { "value": "STEALTH_MODIFIER", "add": 10 } ]
4020+
},
4021+
{
4022+
"condition": { "u_has_trait": "WOLF_VAMPIRE_WOLF_FORM_TRAITS" },
4023+
"values": [
4024+
{
4025+
"value": "STEALTH_MODIFIER",
4026+
"add": {
4027+
"math": [
4028+
"min( (25 + (werewolf_tier_three_traits() * 1) + (werewolf_tier_four_traits() * 2) + (werewolf_tier_five_traits() * 4) ), 50)"
4029+
]
4030+
}
4031+
}
4032+
]
4033+
}
4034+
]
4035+
},
4036+
{
4037+
"type": "effect_type",
4038+
"id": "effect_xe_werewolf_redhanded_rage",
4039+
"//": "Hidden effect, part of an activatable trait",
4040+
"name": [ "" ],
4041+
"desc": [ "" ],
4042+
"enchantments": [
4043+
{
4044+
"condition": { "not": "u_has_weapon" },
4045+
"values": [ { "value": "ATTACK_SPEED", "multiply": -0.1 }, { "value": "PAIN", "multiply": -0.25 } ]
4046+
}
4047+
]
4048+
},
4049+
{
4050+
"type": "effect_type",
4051+
"id": "effect_xe_werewolf_walk_through_walls",
4052+
"//": "Hidden effect, used to make sure werewolves don't drink their items when Ghostwalking.",
4053+
"name": [ "" ],
4054+
"desc": [ "" ],
4055+
"enchantments": [ { "values": [ { "value": "EVASION", "add": 1 }, { "value": "PHASE_DISTANCE", "add": 1 } ] } ],
4056+
"flags": [ "ETHEREAL", "INVISIBLE" ]
4057+
},
4058+
{
4059+
"type": "effect_type",
4060+
"id": "effect_xe_werewolf_summon_shadow_pack_limiter",
4061+
"name": [ "Summoned the Shadow Pack" ],
4062+
"desc": [ "You called on the aid of ancestral werewolves and must wait before seeking their aid again." ]
39834063
}
39844064
]

data/mods/Xedra_Evolved/effects/effects_monster_only.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,5 +40,19 @@
4040
"desc": [ "" ],
4141
"show_in_info": true,
4242
"enchantments": [ { "values": [ { "value": "SPEED", "multiply": 1 } ] } ]
43+
},
44+
{
45+
"type": "effect_type",
46+
"id": "effect_werewolf_lunar_renewal_monster",
47+
"name": [ "Gift of Lunar Renewal" ],
48+
"desc": [ "" ],
49+
"show_in_info": true
50+
},
51+
{
52+
"type": "effect_type",
53+
"id": "effect_werewolf_red_handed_rage_monster",
54+
"name": [ "Red-Handed Rage" ],
55+
"desc": [ "" ],
56+
"show_in_info": true
4357
}
4458
]

data/mods/Xedra_Evolved/eocs/scenario_specific.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@
2626
{
2727
"type": "effect_on_condition",
2828
"id": "scenario_werewolf_variables",
29-
"effect": [ { "math": [ "u_werewolf_xp_threshold = 100" ] }, { "math": [ "u_werewolf_give_xp_value = 1" ] } ]
29+
"effect": [
30+
{ "math": [ "u_werewolf_xp_threshold = 100" ] },
31+
{ "math": [ "u_werewolf_xp_threshold_updater = 250" ] },
32+
{ "math": [ "u_werewolf_give_xp_value = 1" ] },
33+
{ "math": [ "u_werewolf_give_xp_updater_value = 1" ] }
34+
]
3035
}
3136
]

data/mods/Xedra_Evolved/eocs/shapeshifter_eocs.json

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -312,28 +312,56 @@
312312
}
313313
},
314314
{
315-
"if": { "math": [ "u_effect_intensity('bleed', 'bodypart': 'arm_l') >= 1" ] },
316-
"then": { "u_add_effect": "bleed", "target_part": "arm_l", "duration": 0, "intensity": -1 }
315+
"foreach": "array",
316+
"target": [ "arm_l", "arm_r", "leg_l", "leg_r", "torso", "head" ],
317+
"var": { "context_val": "id" },
318+
"effect": [
319+
{
320+
"if": { "u_has_effect": "bite", "bodypart": { "context_val": "id" } },
321+
"then": {
322+
"if": { "x_in_y_chance": { "x": 1, "y": 100 } },
323+
"then": { "u_lose_effect": "bite", "target_part": { "context_val": "id" } }
324+
}
325+
}
326+
]
327+
},
328+
{
329+
"foreach": "array",
330+
"target": [ "arm_l", "arm_r", "leg_l", "leg_r", "torso", "head" ],
331+
"var": { "context_val": "id" },
332+
"effect": [
333+
{
334+
"if": { "u_has_effect": "infected", "bodypart": { "context_val": "id" } },
335+
"then": {
336+
"if": { "x_in_y_chance": { "x": 1, "y": 250 } },
337+
"then": { "u_lose_effect": "infected", "target_part": { "context_val": "id" } }
338+
}
339+
}
340+
]
341+
},
342+
{
343+
"if": { "math": [ "u_hp('arm_l') < u_hp_max('arm_l')" ] },
344+
"then": { "u_lose_effect": "bleed", "target_part": "arm_l" }
317345
},
318346
{
319-
"if": { "math": [ "u_effect_intensity('bleed', 'bodypart': 'arm_r') >= 1" ] },
320-
"then": { "u_add_effect": "bleed", "target_part": "arm_r", "duration": 0, "intensity": -1 }
347+
"if": { "math": [ "u_hp('arm_r') < u_hp_max('arm_r')" ] },
348+
"then": { "u_lose_effect": "bleed", "target_part": "arm_r" }
321349
},
322350
{
323-
"if": { "math": [ "u_effect_intensity('bleed', 'bodypart': 'leg_l') >= 1" ] },
324-
"then": { "u_add_effect": "bleed", "target_part": "leg_l", "duration": 0, "intensity": -1 }
351+
"if": { "math": [ "u_hp('leg_l') < u_hp_max('leg_l')" ] },
352+
"then": { "u_lose_effect": "bleed", "target_part": "leg_l" }
325353
},
326354
{
327-
"if": { "math": [ "u_effect_intensity('bleed', 'bodypart': 'leg_r') >= 1" ] },
328-
"then": { "u_add_effect": "bleed", "target_part": "leg_r", "duration": 0, "intensity": -1 }
355+
"if": { "math": [ "u_hp('leg_r') < u_hp_max('leg_r')" ] },
356+
"then": { "u_lose_effect": "bleed", "target_part": "leg_r" }
329357
},
330358
{
331-
"if": { "math": [ "u_effect_intensity('bleed', 'bodypart': 'torso') >= 1" ] },
332-
"then": { "u_add_effect": "bleed", "target_part": "torso", "duration": 0, "intensity": -1 }
359+
"if": { "math": [ "u_hp('torso') < u_hp_max('torso')" ] },
360+
"then": { "u_lose_effect": "bleed", "target_part": "torso" }
333361
},
334362
{
335-
"if": { "math": [ "u_effect_intensity('bleed', 'bodypart': 'head') >= 1" ] },
336-
"then": { "u_add_effect": "bleed", "target_part": "head", "duration": 0, "intensity": -1 }
363+
"if": { "math": [ "u_hp('head') < u_hp_max('head')" ] },
364+
"then": { "u_lose_effect": "bleed", "target_part": "head" }
337365
}
338366
]
339367
}

0 commit comments

Comments
 (0)