forked from CleverRaven/Cataclysm-DDA
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Bombastic Perks] Add more perks (CleverRaven#72940)
* Initial commit * Add ARMOR_ALL to Built Tough * Update data/mods/BombasticPerks/perkmenu.json Co-authored-by: Jianxiang Wang (王健翔) <[email protected]> * Add Undying Loyalty * Add Non-combatant (now requiring Pacifist) * Add Moonstruck * Fixes * Increase effect of non-combatant due to prerequisite --------- Co-authored-by: Jianxiang Wang (王健翔) <[email protected]>
- Loading branch information
1 parent
a573b71
commit 9819962
Showing
5 changed files
with
408 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
[ | ||
{ | ||
"type": "effect_type", | ||
"id": "effect_perk_grit_your_teeth_cooldown", | ||
"//": "No name or description to hide effect", | ||
"name": [ "" ], | ||
"desc": [ "" ], | ||
"rating": "bad" | ||
}, | ||
{ | ||
"type": "effect_on_condition", | ||
"id": "EOC_PERK_GRIT_YOUR_TEETH", | ||
"condition": { "not": { "u_has_effect": "effect_perk_grit_your_teeth_cooldown" } }, | ||
"effect": [ | ||
{ "math": [ "u_grit_your_teeth_pain_value", "=", "u_pain()" ] }, | ||
{ | ||
"u_add_effect": "effect_perk_grit_your_teeth_cooldown", | ||
"duration": { "math": [ "u_grit_your_teeth_pain_value * 60" ] } | ||
}, | ||
{ "run_eocs": "EOC_PERK_GRIT_YOUR_TEETH_2" } | ||
], | ||
"false_effect": [ { "u_message": "You need more time to collect yourself before you can grit your teeth again.", "type": "mixed" } ] | ||
}, | ||
{ | ||
"type": "effect_on_condition", | ||
"id": "EOC_PERK_GRIT_YOUR_TEETH_2", | ||
"condition": { "math": [ "u_grit_your_teeth_pain_value", ">=", "62" ] }, | ||
"effect": [ | ||
{ "math": [ "u_grit_your_teeth_pain_value_removed", "=", "u_pain() / 2" ] }, | ||
{ "math": [ "u_pain()", "-=", "u_grit_your_teeth_pain_value_removed" ] }, | ||
{ "queue_eocs": "EOC_PERK_GRIT_YOUR_TEETH_DEACTIVATE", "time_in_future": 180 } | ||
], | ||
"false_effect": [ | ||
{ | ||
"run_eocs": { | ||
"id": "EOC_PERK_GRIT_YOUR_TEETH_3", | ||
"condition": { "math": [ "u_grit_your_teeth_pain_value", ">=", "30" ] }, | ||
"effect": [ | ||
{ "math": [ "u_grit_your_teeth_pain_value_removed", "=", "30" ] }, | ||
{ "math": [ "u_pain()", "-=", "u_grit_your_teeth_pain_value_removed" ] }, | ||
{ "queue_eocs": "EOC_PERK_GRIT_YOUR_TEETH_DEACTIVATE", "time_in_future": 180 } | ||
], | ||
"false_effect": [ | ||
{ "math": [ "u_grit_your_teeth_pain_value_removed", "=", "u_pain()" ] }, | ||
{ "math": [ "u_pain()", "=", "0" ] }, | ||
{ "queue_eocs": "EOC_PERK_GRIT_YOUR_TEETH_DEACTIVATE", "time_in_future": 180 } | ||
] | ||
} | ||
} | ||
] | ||
}, | ||
{ | ||
"type": "effect_on_condition", | ||
"id": "EOC_PERK_GRIT_YOUR_TEETH_DEACTIVATE", | ||
"condition": { "u_has_effect": "effect_perk_grit_your_teeth_cooldown" }, | ||
"effect": [ { "math": [ "u_pain()", "+=", "u_grit_your_teeth_pain_value_removed" ] } ] | ||
}, | ||
{ | ||
"type": "effect_on_condition", | ||
"id": "EOC_PERK_GRIT_YOUR_TEETH_BACKUP_REMOVE", | ||
"eoc_type": "EVENT", | ||
"required_event": "character_wakes_up", | ||
"//": "A backup to remove the cooldown in case the character ends up with a million pain or something.", | ||
"condition": { "u_has_effect": "effect_perk_grit_your_teeth_cooldown" }, | ||
"effect": [ { "u_lose_effect": "effect_perk_grit_your_teeth_cooldown" } ] | ||
} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
[ | ||
{ | ||
"type": "effect_type", | ||
"id": "effect_perk_moonstruck_full", | ||
"name": [ "Moonstruck: Full Moon" ], | ||
"desc": [ "Under the clear light of the full moon, you have unlocked your greatest potential." ], | ||
"apply_message": "", | ||
"rating": "good", | ||
"max_duration": "1 days", | ||
"enchantments": [ | ||
{ | ||
"values": [ | ||
{ "value": "STRENGTH", "add": 3 }, | ||
{ "value": "DEXTERITY", "add": 3 }, | ||
{ "value": "INTELLIGENCE", "add": 3 }, | ||
{ "value": "PERCEPTION", "add": 3 } | ||
] | ||
} | ||
] | ||
}, | ||
{ | ||
"type": "effect_type", | ||
"id": "effect_perk_moonstruck_waxing", | ||
"name": [ "Moonstruck: Waxing Moon" ], | ||
"desc": [ "The silver light of the waxing moon enhances your prowess." ], | ||
"apply_message": "", | ||
"rating": "good", | ||
"max_duration": "1 days", | ||
"enchantments": [ | ||
{ | ||
"values": [ | ||
{ "value": "STRENGTH", "add": 1 }, | ||
{ "value": "DEXTERITY", "add": 1 }, | ||
{ "value": "INTELLIGENCE", "add": 1 }, | ||
{ "value": "PERCEPTION", "add": 1 } | ||
] | ||
} | ||
] | ||
}, | ||
{ | ||
"type": "effect_type", | ||
"id": "effect_perk_moonstruck_new", | ||
"name": [ "Moonstruck: New Moon" ], | ||
"desc": [ "In the dark of the moon, you feel your vital essence weaken." ], | ||
"apply_message": "", | ||
"rating": "bad", | ||
"max_duration": "1 days", | ||
"enchantments": [ | ||
{ | ||
"values": [ | ||
{ "value": "STRENGTH", "add": -2 }, | ||
{ "value": "DEXTERITY", "add": -2 }, | ||
{ "value": "INTELLIGENCE", "add": -2 }, | ||
{ "value": "PERCEPTION", "add": -2 } | ||
] | ||
} | ||
] | ||
}, | ||
{ | ||
"type": "effect_on_condition", | ||
"id": "EOC_PERK_MOONSTRUCK", | ||
"recurrence": [ "1 hours", "1 hours" ], | ||
"condition": { "u_has_trait": "perk_moonstruck" }, | ||
"deactivate_condition": { "not": { "u_has_trait": "perk_moonstruck" } }, | ||
"effect": { | ||
"run_eocs": [ | ||
{ | ||
"id": "EOC_PERK_MOONSTRUCK_2", | ||
"condition": { "math": [ "moon_phase() == 4" ] }, | ||
"effect": [ | ||
{ "u_lose_effect": "effect_perk_moonstruck_full" }, | ||
{ "u_lose_effect": "effect_perk_moonstruck_waxing" }, | ||
{ "u_lose_effect": "effect_perk_moonstruck_new" }, | ||
{ "u_add_effect": "effect_perk_moonstruck_full", "duration": "2 hours" } | ||
], | ||
"false_effect": { | ||
"run_eocs": { | ||
"id": "EOC_PERK_MOONSTRUCK_3", | ||
"condition": { "and": [ { "math": [ "moon_phase() <= 3" ] }, { "math": [ "moon_phase() >= 1" ] } ] }, | ||
"effect": [ | ||
{ "u_lose_effect": "effect_perk_moonstruck_full" }, | ||
{ "u_lose_effect": "effect_perk_moonstruck_waxing" }, | ||
{ "u_lose_effect": "effect_perk_moonstruck_new" }, | ||
{ "u_add_effect": "effect_perk_moonstruck_waxing", "duration": "2 hours" } | ||
], | ||
"false_effect": { | ||
"run_eocs": { | ||
"id": "EOC_PERK_MOONSTRUCK_4", | ||
"condition": { "math": [ "moon_phase() == 0" ] }, | ||
"effect": [ | ||
{ "u_lose_effect": "effect_perk_moonstruck_full" }, | ||
{ "u_lose_effect": "effect_perk_moonstruck_waxing" }, | ||
{ "u_lose_effect": "effect_perk_moonstruck_new" }, | ||
{ "u_add_effect": "effect_perk_moonstruck_new", "duration": "2 hours" } | ||
], | ||
"false_effect": [ | ||
{ "u_lose_effect": "effect_perk_moonstruck_full" }, | ||
{ "u_lose_effect": "effect_perk_moonstruck_waxing" }, | ||
{ "u_lose_effect": "effect_perk_moonstruck_new" } | ||
] | ||
} | ||
} | ||
} | ||
} | ||
} | ||
] | ||
} | ||
} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
[ | ||
{ | ||
"type": "effect_on_condition", | ||
"id": "EOC_PERK_UNDYING_LOYALTY", | ||
"eoc_type": "EVENT", | ||
"required_event": "character_takes_damage", | ||
"condition": { | ||
"and": [ | ||
{ "u_has_trait": "perk_undying_loyalty" }, | ||
{ "not": { "u_has_effect": "effect_perk_undying_loyalty_self" } }, | ||
{ "not": { "u_has_any_trait": [ "PRED1", "PRED2", "PRED3", "PRED4", "SAPIOVORE" ] } }, | ||
{ "math": [ "u_characters_nearby('radius': 15, 'attitude': 'allies')", ">", "0" ] }, | ||
{ | ||
"or": [ | ||
{ "math": [ "u_hp('head') / u_hp_max('head')", "<=", "0.5" ] }, | ||
{ "math": [ "u_hp('torso') / u_hp_max('torso')", "<=", "0.5" ] } | ||
] | ||
} | ||
] | ||
}, | ||
"effect": [ | ||
{ "u_cast_spell": { "id": "perk_undying_loyalty_spell" } }, | ||
{ "u_add_effect": "effect_perk_undying_loyalty_self", "duration": "5 minutes" } | ||
] | ||
}, | ||
{ | ||
"id": "perk_undying_loyalty_spell", | ||
"type": "SPELL", | ||
"name": "Undying Loyalty Spell", | ||
"description": "The spell to activate the Undying Loyalty effect. It's a bug if you have it.", | ||
"valid_targets": [ "ally" ], | ||
"flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX" ], | ||
"effect": "attack", | ||
"effect_str": "effect_perk_undying_loyalty", | ||
"shape": "blast", | ||
"difficulty": 1, | ||
"min_duration": 6000, | ||
"max_duration": 6000, | ||
"min_aoe": 15, | ||
"max_aoe": 15 | ||
}, | ||
{ | ||
"type": "effect_type", | ||
"id": "effect_perk_undying_loyalty_self", | ||
"//": "No name or description to hide effect", | ||
"name": [ "" ], | ||
"desc": [ "" ], | ||
"rating": "bad" | ||
}, | ||
{ | ||
"type": "effect_type", | ||
"id": "effect_perk_undying_loyalty", | ||
"name": [ "Undying Loyalty" ], | ||
"desc": [ "You'll protect your allies no matter the cost." ], | ||
"apply_message": "", | ||
"rating": "good", | ||
"show_in_info": true, | ||
"max_duration": "1 minutes", | ||
"enchantments": [ { "values": [ { "value": "ARMOR_ALL", "multiply": -0.15 } ] } ] | ||
} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.