Skip to content

Commit

Permalink
Merge pull request #75863 from Standing-Storm/werewolf
Browse files Browse the repository at this point in the history
[Xedra Evolved] Add werewolf start scenario
  • Loading branch information
Maleclypse authored Aug 22, 2024
2 parents 58c4a19 + cc67f21 commit 6848495
Show file tree
Hide file tree
Showing 6 changed files with 460 additions and 0 deletions.
137 changes: 137 additions & 0 deletions data/mods/Xedra_Evolved/eocs/shapeshifter_eocs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
[
{
"type": "effect_on_condition",
"id": "EOC_WEREWOLF_WOLF_FORM_activated",
"condition": { "not": { "u_has_trait": "WEREWOLF_HYBRID_FORM_TRAITS" } },
"effect": [
{
"run_eocs": [
{
"id": "EOC_WEREWOLF_WOLF_FORM_activated_2",
"//": "Reusing VAMPIRE_WOLF_FORM_TRAITS because it works fine for being a wolf.",
"condition": { "not": { "u_has_trait": "VAMPIRE_WOLF_FORM_TRAITS" } },
"effect": [
{
"run_eocs": [
{
"id": "EOC_WEREWOLF_WOLF_FORM_activated_3",
"condition": { "math": [ "u_val('mana')", ">=", "50" ] },
"effect": [
{ "u_assign_activity": "ACT_GENERIC_EOC", "duration": 2.5 },
{ "math": [ "u_transformed_mana", "=", "u_val('mana') - 50" ] },
{ "u_add_trait": "VAMPIRE_WOLF_FORM_TRAITS" },
{ "u_add_trait": "CARNIVORE" },
{
"u_message": "Your body shifts and you fall on all fours as fur sprouts from your skin and your mouth and teeth lengthen.",
"type": "good"
}
],
"false_effect": [
{ "u_message": "You don't have enough mana to transform into a wolf.", "type": "bad" },
{ "queue_eocs": "EOC_WEREWOLF_WOLF_FORM_deactivated_future", "time_in_future": 0 }
]
}
]
}
],
"false_effect": [
{
"run_eocs": [
{
"id": "EOC_WEREWOLF_WOLF_FORM_deactivated",
"condition": { "u_has_trait": "VAMPIRE_WOLF_FORM_TRAITS" },
"effect": [
{ "u_assign_activity": "ACT_GENERIC_EOC", "duration": 2.5 },
{
"u_message": "Your body shifts and contracts and you return to your humanoid form.",
"type": "neutral"
},
{ "u_lose_trait": "VAMPIRE_WOLF_FORM_TRAITS" },
{ "u_lose_trait": "CARNIVORE" },
{ "math": [ "u_val('mana')", "=", "u_transformed_mana" ] }
]
}
]
}
]
}
]
}
],
"false_effect": [ { "u_deactivate_trait": "WEREWOLF_HYBRID_FORM" }, { "run_eocs": "EOC_WEREWOLF_WOLF_FORM_activated_2" } ]
},
{
"type": "effect_on_condition",
"id": "EOC_WEREWOLF_WOLF_FORM_deactivated_future",
"//": "This is necessary because calling u_deactivate_trait from within the trait EoC to deactivate that trait does not work",
"effect": { "u_deactivate_trait": "WEREWOLF_ANIMAL_FORM" }
},
{
"type": "effect_on_condition",
"id": "EOC_WEREWOLF_HYBRID_FORM_activated",
"condition": { "not": { "u_has_trait": "VAMPIRE_WOLF_FORM_TRAITS" } },
"effect": [
{
"run_eocs": [
{
"id": "EOC_WEREWOLF_HYBRID_FORM_activated_2",
"condition": { "not": { "u_has_trait": "WEREWOLF_HYBRID_FORM_TRAITS" } },
"effect": [
{
"run_eocs": [
{
"id": "EOC_WEREWOLF_HYBRID_FORM_activated_3",
"condition": { "math": [ "u_val('mana')", ">=", "50" ] },
"effect": [
{ "u_assign_activity": "ACT_GENERIC_EOC", "duration": 2.5 },
{ "math": [ "u_transformed_mana", "=", "u_val('mana') - 50" ] },
{ "math": [ "u_calories()", "*=", "3" ] },
{ "u_add_trait": "WEREWOLF_HYBRID_FORM_TRAITS" },
{ "u_add_trait": "CARNIVORE" },
{
"u_message": "Your body shifts and grows as enormous fangs and claws erupt from your skin and your mouth lengthens into a muzzle.",
"type": "good"
}
],
"false_effect": [
{ "u_message": "You don't have enough mana to transform into your war form.", "type": "bad" },
{ "queue_eocs": "EOC_WEREWOLF_HYBRID_FORM_deactivated_future", "time_in_future": 0 }
]
}
]
}
],
"false_effect": [
{
"run_eocs": [
{
"id": "EOC_WEREWOLF_HYBRID_FORM_deactivated",
"condition": { "u_has_trait": "WEREWOLF_HYBRID_FORM_TRAITS" },
"effect": [
{ "u_assign_activity": "ACT_GENERIC_EOC", "duration": 2.5 },
{
"u_message": "Your body shifts and contracts and you return to your humanoid form.",
"type": "neutral"
},
{ "u_lose_trait": "WEREWOLF_HYBRID_FORM_TRAITS" },
{ "u_lose_trait": "CARNIVORE" },
{ "math": [ "u_val('mana')", "=", "u_transformed_mana" ] },
{ "math": [ "u_calories()", "/=", "3" ] }
]
}
]
}
]
}
]
}
],
"false_effect": [ { "u_deactivate_trait": "WEREWOLF_ANIMAL_FORM" }, { "run_eocs": "EOC_WEREWOLF_HYBRID_FORM_activated_2" } ]
},
{
"type": "effect_on_condition",
"id": "EOC_WEREWOLF_HYBRID_FORM_deactivated_future",
"//": "This is necessary because calling u_deactivate_trait from within the trait EoC to deactivate that trait does not work",
"effect": { "u_deactivate_trait": "WEREWOLF_ANIMAL_FORM" }
}
]
55 changes: 55 additions & 0 deletions data/mods/Xedra_Evolved/items/armor/integrated.json
Original file line number Diff line number Diff line change
Expand Up @@ -802,5 +802,60 @@
"flags": [ "INTEGRATED", "REBREATHER", "UNBREAKABLE", "PERSONAL", "NO_SALVAGE", "TRADER_AVOID" ],
"environmental_protection": 15,
"armor": [ { "encumbrance": 0, "coverage": 100, "covers": [ "mouth" ] } ]
},
{
"id": "integrated_claws_werewolf",
"type": "ARMOR",
"category": "armor",
"name": { "str_sp": "werewolf claws" },
"description": "You have massive claws on your end of your furry fingers.",
"weight": "100 g",
"volume": "250 ml",
"qualities": [ [ "CUT", 1 ], [ "BUTCHER", 6 ] ],
"price": "0 cent",
"price_postapoc": "0 cent",
"material": [ "chitin" ],
"symbol": ";",
"color": "dark_gray",
"techniques": [ "CLAWS_SHAPESHIFTER", "CLAWS_SHAPESHIFTER_RENDING", "CLAWS_SHAPESHIFTER_CRIT" ],
"flags": [ "INTEGRATED", "ALLOWS_NATURAL_ATTACKS", "UNBREAKABLE", "OUTER", "PADDED", "NO_SALVAGE" ],
"armor": [
{
"material": [ { "type": "chitin", "covered_by_mat": 100, "thickness": 3 } ],
"covers": [ "hand_l", "hand_r" ],
"specifically_covers": [ "hand_fingers_l", "hand_fingers_r" ],
"coverage": 20,
"encumbrance": 3
}
],
"melee_damage": { "cut": 16 }
},
{
"id": "integrated_werewolf_teeth",
"type": "ARMOR",
"category": "armor",
"name": { "str_sp": "werewolf teeth" },
"description": "A mouth full of vicious sharp teeth, almost twice as large as a wolf's.",
"weight": "50 g",
"volume": "100 ml",
"price": "0 cent",
"price_postapoc": "0 cent",
"material": [ "bone" ],
"symbol": ",",
"color": "white",
"warmth": 5,
"qualities": [ [ "CUT", 2 ], [ "BUTCHER", 4 ] ],
"techniques": [ "FANGS_BITE_SHAPESHIFTER", "FANGS_BITE_SHAPESHIFTER_CRIT" ],
"flags": [ "INTEGRATED", "ALLOWS_NATURAL_ATTACKS", "UNBREAKABLE", "PERSONAL", "PADDED", "PROVIDES_TECHNIQUES" ],
"armor": [
{
"material": [ { "type": "bone", "covered_by_mat": 100, "thickness": 3.2 } ],
"covers": [ "mouth" ],
"specifically_covers": [ "mouth_lips" ],
"coverage": 100,
"encumbrance": 0
}
],
"melee_damage": { "stab": 13 }
}
]
102 changes: 102 additions & 0 deletions data/mods/Xedra_Evolved/martial_arts/shapeshifter.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
[
{
"type": "technique",
"id": "CLAWS_SHAPESHIFTER",
"name": "Claw Slash",
"melee_allowed": true,
"messages": [ "You deliver a slash to %s with your claws", "<npcname> delivers a slash to %s with their claws!" ],
"unarmed_allowed": true,
"weighting": 1,
"reach_ok": false,
"miss_recovery": true,
"attack_vectors": [ "vector_punch" ],
"flat_bonuses": [
{ "stat": "damage", "type": "cut", "scaling-stat": "unarmed", "scale": 1.0 },
{ "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.75 },
{ "stat": "damage", "type": "bash", "scaling-stat": "unarmed", "scale": 0.06 },
{ "stat": "movecost", "scaling-stat": "melee", "scale": -1.25 },
{ "stat": "movecost", "scaling-stat": "dex", "scale": -0.5 }
]
},
{
"type": "technique",
"id": "CLAWS_SHAPESHIFTER_RENDING",
"name": "Claw Rending Slash",
"melee_allowed": true,
"messages": [ "You slash %s, tearing open bleeding wounds.", "<npcname> slashes %s, tearing open bleeding wounds." ],
"unarmed_allowed": true,
"weighting": -2,
"crit_ok": true,
"reach_ok": false,
"miss_recovery": true,
"attack_vectors": [ "vector_punch" ],
"tech_effects": [ { "id": "bleed", "chance": 100, "duration": 600, "on_damage": true, "message": "%s is bleeding!" } ],
"flat_bonuses": [
{ "stat": "damage", "type": "cut", "scaling-stat": "unarmed", "scale": 1.0 },
{ "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.75 },
{ "stat": "damage", "type": "bash", "scaling-stat": "unarmed", "scale": 0.06 },
{ "stat": "movecost", "scaling-stat": "melee", "scale": -1.25 },
{ "stat": "movecost", "scaling-stat": "dex", "scale": -0.5 }
]
},
{
"type": "technique",
"id": "CLAWS_SHAPESHIFTER_CRIT",
"name": "Critical Claw Slash",
"melee_allowed": true,
"messages": [ "You deliver a wicked slash to %s with your claws", "<npcname> delivers a wicked slash to %s with their claws!" ],
"unarmed_allowed": true,
"reach_ok": false,
"crit_tec": true,
"miss_recovery": true,
"attack_vectors": [ "vector_punch" ],
"flat_bonuses": [
{ "stat": "damage", "type": "cut", "scaling-stat": "unarmed", "scale": 4.4 },
{ "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.75 },
{ "stat": "damage", "type": "bash", "scaling-stat": "unarmed", "scale": 0.24 },
{ "stat": "arpen", "type": "bash", "scaling-stat": "unarmed", "scale": 1 },
{ "stat": "arpen", "type": "cut", "scaling-stat": "unarmed", "scale": 1 },
{ "stat": "movecost", "scaling-stat": "melee", "scale": -1.25 },
{ "stat": "movecost", "scaling-stat": "dex", "scale": -0.5 }
]
},
{
"type": "technique",
"id": "FANGS_BITE_SHAPESHIFTER",
"//": "Separate to avoid Natural Stance requirement",
"name": "Fang Bite",
"melee_allowed": true,
"messages": [ "You bite %s", "<npcname> bites %s!" ],
"unarmed_allowed": true,
"weighting": -3,
"reach_ok": false,
"attack_vectors": [ "vector_bite" ],
"flat_bonuses": [
{ "stat": "damage", "type": "stab", "scaling-stat": "unarmed", "scale": 1.0 },
{ "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.75 },
{ "stat": "damage", "type": "bash", "scaling-stat": "unarmed", "scale": 0.06 },
{ "stat": "movecost", "scaling-stat": "melee", "scale": -1.25 },
{ "stat": "movecost", "scaling-stat": "dex", "scale": -0.5 }
]
},
{
"type": "technique",
"id": "FANGS_BITE_SHAPESHIFTER_CRIT",
"name": "Critical Fang Bite",
"melee_allowed": true,
"messages": [ "You deliver a wicked bite to %s", "<npcname> delivers a wicked bite to %s!" ],
"unarmed_allowed": true,
"reach_ok": false,
"crit_tec": true,
"attack_vectors": [ "vector_bite" ],
"flat_bonuses": [
{ "stat": "damage", "type": "stab", "scaling-stat": "unarmed", "scale": 4.4 },
{ "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.75 },
{ "stat": "damage", "type": "bash", "scaling-stat": "unarmed", "scale": 0.24 },
{ "stat": "arpen", "type": "bash", "scaling-stat": "unarmed", "scale": 1 },
{ "stat": "arpen", "type": "stab", "scaling-stat": "unarmed", "scale": 1 },
{ "stat": "movecost", "scaling-stat": "melee", "scale": -1.25 },
{ "stat": "movecost", "scaling-stat": "dex", "scale": -0.5 }
]
}
]
Loading

0 comments on commit 6848495

Please sign in to comment.