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

[Xedra Evolved] Add werewolf start scenario #75863

Merged
merged 8 commits into from
Aug 22, 2024
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
Loading