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

Finishes #61071 "Combat Adaptation -> Berserk (rework)" #79022

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions data/json/effects.json
Original file line number Diff line number Diff line change
Expand Up @@ -5164,5 +5164,21 @@
"id": "eff_mind_seeing_bonus_30",
"name": [ "" ],
"desc": [ "" ]
},
{
"type": "effect_type",
"id": "berserk_crashout_effect",
"name": [ "Post-Berserk Crash" ],
"desc": [ "Your body's trying to repay its energy debt." ],
"rating": "bad",
"base_mods": {
"per_mod": [ -3 ],
"dex_mod": [ -3 ],
"str_mod": [ -3 ],
"speed_mod": [ -15 ],
"pain_min": [ 2 ],
"pain_chance": [ 100, 500 ]
},
"show_in_info": true
}
]
Original file line number Diff line number Diff line change
Expand Up @@ -820,5 +820,26 @@
]
},
"effect": [ { "u_lose_effect": "asocial_dissatisfied" }, { "u_lose_effect": "social_dissatisfied" } ]
},
{
"type": "effect_on_condition",
"id": "EOC_berserk_crashout",
"recurrence": [ "2 minutes", "5 minutes" ],
"condition": { "u_has_trait": "ADRENALINE2_active" },
"deactivate_condition": { "not": { "u_has_trait": "ADRENALINE2_active" } },
"effect": [
{ "u_message": "Your rage subsides. You feel TERRIBLE!", "type": "bad" },
{ "u_add_effect": "berserk_crashout_effect", "duration": "10 minutes" },
{ "u_add_effect": "dazed", "duration": "30 seconds" },
{ "u_lose_trait": "ADRENALINE2_active" },
{ "u_add_trait": "ADRENALINE2" },
{ "u_forget_martial_art": "style_berserk" }
]
},
{
"type": "effect_on_condition",
"id": "EOC_berserkstyle_learn",
"eoc_type": "ACTIVATION",
"effect": { "u_learn_martial_art": "style_berserk" }
}
]
147 changes: 147 additions & 0 deletions data/json/martialarts_fictional.json
Original file line number Diff line number Diff line change
Expand Up @@ -690,5 +690,152 @@
}
],
"attack_vectors": [ "vector_grasp" ]
},
{
"type": "martial_art",
"id": "style_berserk",
"name": { "str": "BERSERK!" },
"description": "Kill them or die trying.",
"initiate": [ "A red haze falls over your mind. Kill them or die trying.", "%s moves with unstoppable rage." ],

Check failure on line 699 in data/json/martialarts_fictional.json

View workflow job for this annotation

GitHub Actions / Basic Build and Test (Clang 10, Ubuntu, Curses)

([slow] ~starting_items)=> insufficient spaces at this location. 2 required, but only 1 found. Suggested fix: insert " " At the following position (marked with caret) "name": { "str": "BERSERK!" }, "description": "Kill them or die trying.", "initiate": [ "A red haze falls over your mind. Kill them or die trying.", "%s moves with unstoppable rage." ], ▲▲▲ "static_buffs": [ {

Check failure on line 699 in data/json/martialarts_fictional.json

View workflow job for this annotation

GitHub Actions / Basic Build and Test (Clang 10, Ubuntu, Curses)

(~[slow] ~[.],starting_items)=> insufficient spaces at this location. 2 required, but only 1 found. Suggested fix: insert " " At the following position (marked with caret) "name": { "str": "BERSERK!" }, "description": "Kill them or die trying.", "initiate": [ "A red haze falls over your mind. Kill them or die trying.", "%s moves with unstoppable rage." ], ▲▲▲ "static_buffs": [ {
"static_buffs": [
{
"id": "berserk_buff_static",
"name": "Anger",
"description": "Kill them or die trying. \n\nAccuracy increased by 25% of Strength.",

Check failure on line 704 in data/json/martialarts_fictional.json

View workflow job for this annotation

GitHub Actions / Basic Build and Test (Clang 10, Ubuntu, Curses)

([slow] ~starting_items)=> unnecessary spaces at end of line. Suggested fix: remove " " At the following position (marked with caret) "id": "berserk_buff_static", "name": "Anger", "description": "Kill them or die trying. \n\nAccuracy increased by 25% of Strength.", ▲▲▲ "unarmed_allowed": true, "flat_bonuses": [ { "stat": "hit", "scaling-stat": "str", "scale": 0.25 } ]

Check failure on line 704 in data/json/martialarts_fictional.json

View workflow job for this annotation

GitHub Actions / Basic Build and Test (Clang 10, Ubuntu, Curses)

([slow] ~starting_items)=> unnecessary spaces before this location. Suggested fix: remove " " At the following position (marked with caret) "id": "berserk_buff_static", "name": "Anger", "description": "Kill them or die trying. \n\nAccuracy increased by 25% of Strength.", ▲▲▲ "unarmed_allowed": true, "flat_bonuses": [ { "stat": "hit", "scaling-stat": "str", "scale": 0.25 } ]

Check failure on line 704 in data/json/martialarts_fictional.json

View workflow job for this annotation

GitHub Actions / Basic Build and Test (Clang 10, Ubuntu, Curses)

(~[slow] ~[.],starting_items)=> unnecessary spaces at end of line. Suggested fix: remove " " At the following position (marked with caret) "id": "berserk_buff_static", "name": "Anger", "description": "Kill them or die trying. \n\nAccuracy increased by 25% of Strength.", ▲▲▲ "unarmed_allowed": true, "flat_bonuses": [ { "stat": "hit", "scaling-stat": "str", "scale": 0.25 } ]

Check failure on line 704 in data/json/martialarts_fictional.json

View workflow job for this annotation

GitHub Actions / Basic Build and Test (Clang 10, Ubuntu, Curses)

(~[slow] ~[.],starting_items)=> unnecessary spaces before this location. Suggested fix: remove " " At the following position (marked with caret) "id": "berserk_buff_static", "name": "Anger", "description": "Kill them or die trying. \n\nAccuracy increased by 25% of Strength.", ▲▲▲ "unarmed_allowed": true, "flat_bonuses": [ { "stat": "hit", "scaling-stat": "str", "scale": 0.25 } ]
"unarmed_allowed": true,
"flat_bonuses": [ { "stat": "hit", "scaling-stat": "str", "scale": 0.25 } ]
}
],
"onkill_buffs": [
{
"id": "berserk_buff_onkill",
"name": "Harry",
"description": "One down. Then another. \n\nAdditional bash damage scaled by 10% of Strength. Stacks 3 times.",

Check failure on line 713 in data/json/martialarts_fictional.json

View workflow job for this annotation

GitHub Actions / Basic Build and Test (Clang 10, Ubuntu, Curses)

([slow] ~starting_items)=> insufficient spaces at this location. 2 required, but only 1 found. Suggested fix: insert " " At the following position (marked with caret) "id": "berserk_buff_onkill", "name": "Harry", "description": "One down. Then another. \n\nAdditional bash damage scaled by 10% of Strength. Stacks 3 times.", ▲▲▲ "unarmed_allowed": true, "buff_duration": 3,

Check failure on line 713 in data/json/martialarts_fictional.json

View workflow job for this annotation

GitHub Actions / Basic Build and Test (Clang 10, Ubuntu, Curses)

([slow] ~starting_items)=> unnecessary spaces at end of line. Suggested fix: remove " " At the following position (marked with caret) "id": "berserk_buff_onkill", "name": "Harry", "description": "One down. Then another. \n\nAdditional bash damage scaled by 10% of Strength. Stacks 3 times.", ▲▲▲ "unarmed_allowed": true, "buff_duration": 3,

Check failure on line 713 in data/json/martialarts_fictional.json

View workflow job for this annotation

GitHub Actions / Basic Build and Test (Clang 10, Ubuntu, Curses)

(~[slow] ~[.],starting_items)=> insufficient spaces at this location. 2 required, but only 1 found. Suggested fix: insert " " At the following position (marked with caret) "id": "berserk_buff_onkill", "name": "Harry", "description": "One down. Then another. \n\nAdditional bash damage scaled by 10% of Strength. Stacks 3 times.", ▲▲▲ "unarmed_allowed": true, "buff_duration": 3,

Check failure on line 713 in data/json/martialarts_fictional.json

View workflow job for this annotation

GitHub Actions / Basic Build and Test (Clang 10, Ubuntu, Curses)

(~[slow] ~[.],starting_items)=> unnecessary spaces at end of line. Suggested fix: remove " " At the following position (marked with caret) "id": "berserk_buff_onkill", "name": "Harry", "description": "One down. Then another. \n\nAdditional bash damage scaled by 10% of Strength. Stacks 3 times.", ▲▲▲ "unarmed_allowed": true, "buff_duration": 3,
"unarmed_allowed": true,
"buff_duration": 3,
"max_stacks": 3,
"persists": true,
"flat_bonuses": [ { "stat": "hit", "scale": 1.0 }, { "stat": "damage", "type": "bash", "scale": 0.1 } ]
}
],
"techniques": [
"berserk_overwhelm",
"berserk_maul",
"berserk_eviscerate",
"berserk_overwhelm_natural",
"berserk_maul_natural",
"berserk_eviscerate_natural"
]
},
{
"type": "technique",
"id": "berserk_eviscerate",
"name": "Berserk Eviscerate",
"attack_vectors": [ "vector_null" ],
"unarmed_allowed": true,
"description": "Use pure strength to disembowel your opponent.",
"condition": { "not": { "u_has_effect": "natural_stance" } },
"crit_ok": true,
"melee_allowed": true,
"messages": [ "You rip %s open!", "<npcname> rips %s open!" ],
"flat_bonuses": [
{ "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.1 },
{ "stat": "damage", "type": "cut", "scaling-stat": "str", "scale": 0.1 }
]
},
{
"type": "technique",
"id": "berserk_overwhelm",
"name": "Berserk Overwhelm",
"description": "Use pure strength to overwhelm your opponent.",
"messages": [ "You tackle %s!", "<npcname> tackles %s!" ],
"unarmed_allowed": true,
"melee_allowed": true,
"condition": { "and": [ { "not": { "u_has_effect": "natural_stance" } }, { "not": { "npc_has_effect": "downed" } } ] },
"attack_vectors": [ "vector_shoulder" ],
"//": "nulls all damage, you're just throwing yourself into them in an attempt to down them.",
"mult_bonuses": [
{ "stat": "damage", "type": "bash", "scale": 0 },
{ "stat": "damage", "type": "cut", "scale": 0 },
{ "stat": "damage", "type": "stab", "scale": 0 }
],
"down_dur": 3
},
{
"type": "technique",
"id": "berserk_maul",
"name": "Berserk Maul",
"description": "Use pure strength to maul your opponent.",
"messages": [ "You maul %s!", "<npcname> mauls %s!" ],
"unarmed_allowed": true,
"attack_vectors": [ "vector_null" ],
"condition": { "and": [ { "npc_has_effect": "downed" }, { "not": { "u_has_effect": "natural_stance" } } ] },
"crit_tec": true,
"flat_bonuses": [
{ "stat": "damage", "type": "bash", "scale": 0.2 },
{ "stat": "damage", "type": "cut", "scale": 0.2 },
{ "stat": "damage", "type": "stab", "scale": 0.2 }
]
},
{
"type": "technique",
"id": "berserk_eviscerate_natural",
"name": "Natural Berserk Eviscerate",
"attack_vectors": [ "vector_punch" ],
"description": "Use pure strength to disembowel your opponent.\n\nOnly works while you have the Natural Stance effect.",
"messages": [ "You rip %s open with your claws!", "<npcname> rips %s open with their claws!" ],
"weighting": 2,
"unarmed_allowed": true,
"crit_ok": true,
"condition": { "u_has_effect": "natural_stance" },
"flat_bonuses": [
{ "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.3 },
{ "stat": "damage", "type": "cut", "scaling-stat": "str", "scale": 0.3 },
{ "stat": "damage", "type": "stab", "scaling-stat": "str", "scale": 0.3 }
]
},
{
"type": "technique",
"id": "berserk_overwhelm_natural",
"name": "Natural Berserk Overwhelm",
"attack_vectors": [ "vector_punch", "vector_grasp" ],
"description": "Use pure strength to overwhelm your opponent.\n\nOnly works while you have the Natural Stance effect.",
"messages": [ "You pounce upon %s open with your claws!", "<npcname> rips %s open with their claws!" ],
"crit_ok": true,
"weighting": 3,
"unarmed_allowed": true,
"condition": {
"and": [
{ "u_has_effect": "natural_stance" },
{ "math": [ "u_val('size') +1 >= n_val('size')" ] },
{ "not": { "npc_has_effect": "downed" } }
]
},
"knockback_dist": 1,
"knockback_follow": true,
"flat_bonuses": [ { "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 1 } ]
},
{
"type": "technique",
"id": "berserk_maul_natural",
"name": "Natural Berserk Maul",
"attack_vectors": [ "vector_hand", "vector_grasp" ],
"description": "Use pure strength to maul your opponent.\n\nOnly works while you have the Natural Stance effect.",
"messages": [ "You pounce upon %s!", "<npcname> pounces upon %s!" ],
"weighting": 5,
"unarmed_allowed": true,
"crit_ok": true,
"condition": {
"and": [
{ "u_has_effect": "natural_stance" },
{ "math": [ "u_val('size') +1 >= n_val('size')" ] },
{ "npc_has_effect": "downed" }
]
},
"flat_bonuses": [
{ "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.5 },
{ "stat": "damage", "type": "cut", "scaling-stat": "str", "scale": 0.5 },
{ "stat": "damage", "type": "stab", "scaling-stat": "str", "scale": 0.5 }
]
}
]
35 changes: 28 additions & 7 deletions data/json/mutations/mutations.json
Original file line number Diff line number Diff line change
Expand Up @@ -1167,19 +1167,40 @@
{
"type": "mutation",
"id": "ADRENALINE2",
"name": { "str": "Combat Adaptation" },
"name": { "str": "Berserk" },
"points": 3,
"vitamin_cost": 160,
"description": "When you are in great danger you may flip a chemical switch in your brain and for a cost in hunger, fatigue, and thirst your nervous system will process things around you slightly faster. Giving you better reaction times that you can pay for later if you survive.",
"description": "You can go berserk on demand, greatly increasing your strength and speed at the cost of intelligence. The comedown is terrible.",
"prereqs": [ "ADRENALINE" ],
"category": [ "BEAST" ],
"active": true,
"cost": 90,
"time": "10 s",
"sleepiness": true,
"kcal": true,
"thirst": true,
"enchantments": [ { "values": [ { "value": "MOVE_COST", "multiply": -0.1 }, { "value": "DODGE_CHANCE", "add": 2 } ] } ]
"transform": { "target": "ADRENALINE2_active", "msg_transform": "You go berserk!" },
"initial_ma_styles": [ "style_berserk" ],
"activated_eocs": [ "EOC_berserkstyle_learn" ]
},
{
"type": "mutation",
"id": "ADRENALINE2_active",
"name": { "str": "BERSERK!" },
"points": 3,
"description": "Kill them or die trying.",
"prereqs": [ "ADRENALINE" ],
"category": [ "BEAST" ],
"enchantments": [
{
"condition": "ALWAYS",
"values": [
{ "value": "BONUS_BLOCK", "add": -20 },
{ "value": "BONUS_DODGE", "add": -20 },
{ "value": "PAIN", "add": -100 },
{ "value": "STRENGTH", "add": 2 },
{ "value": "INTELLIGENCE", "add": -5 }
]
}
],
"movecost_modifier": 0.95,
"valid": false
},
{
"type": "mutation",
Expand Down
Loading