diff --git a/data/json/martialarts.json b/data/json/martialarts.json index 92bf6897be7b9..a19bee0f44a28 100644 --- a/data/json/martialarts.json +++ b/data/json/martialarts.json @@ -33,7 +33,7 @@ "name": "Aikido Stance", "description": "By disregarding offensive in favor of self-defense, you are better at protecting.\n\nBlocked damage reduced by 100%% of Dexterity.", "unarmed_allowed": true, - "flat_bonuses": [ [ "block", "dex", 1.0 ] ] + "flat_bonuses": [ { "stat": "block", "scaling-stat": "dex", "scale": 1.0 } ] }, { "id": "buff_aikido_static2", @@ -43,7 +43,7 @@ "skill_requirements": [ { "name": "unarmed", "level": 3 } ], "bonus_dodges": 1, "bonus_blocks": 1, - "flat_bonuses": [ [ "block", "dex", 1.0 ] ] + "flat_bonuses": [ { "stat": "block", "scaling-stat": "dex", "scale": 1.0 } ] }, { "id": "buff_aikido_static3", @@ -78,7 +78,7 @@ "name": "Boxing Stance", "description": "A solid stance allows you block more damage than normal and deliver better punches.\n\n+2 Bash damage, Blocked damge reduced by 50%% of Strength.", "unarmed_allowed": true, - "flat_bonuses": [ [ "block", "str", 0.5 ], [ "damage", "bash", 2.0 ] ] + "flat_bonuses": [ { "stat": "block", "scaling-stat": "str", "scale": 0.5 }, { "stat": "damage", "type": "bash", "scale": 2.0 } ] } ], "onmove_buffs": [ @@ -90,7 +90,7 @@ "unarmed_allowed": true, "buff_duration": 1, "max_stacks": 2, - "flat_bonuses": [ [ "dodge", 1.0 ] ] + "flat_bonuses": [ { "stat": "dodge", "scale": 1.0 } ] } ], "ondodge_buffs": [ @@ -101,7 +101,7 @@ "skill_requirements": [ { "name": "unarmed", "level": 5 } ], "unarmed_allowed": true, "buff_duration": 1, - "mult_bonuses": [ [ "damage", "bash", 1.25 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.25 } ] } ], "techniques": [ "tec_boxing_rapid", "tec_boxing_cross", "tec_boxing_upper", "tec_boxing_counter" ] @@ -143,7 +143,7 @@ "description": "You never stop moving while performing the ginga. This makes you very mobile while fighting.\n\n+1.0 Dodge skill, +1 Dodge attempts.", "unarmed_allowed": true, "bonus_dodges": 1, - "flat_bonuses": [ [ "dodge", 1.0 ] ] + "flat_bonuses": [ { "stat": "dodge", "scale": 1.0 } ] } ], "onmiss_buffs": [ @@ -155,7 +155,7 @@ "skill_requirements": [ { "name": "unarmed", "level": 1 } ], "buff_duration": 2, "max_stacks": 3, - "mult_bonuses": [ [ "damage", "bash", 1.15 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.15 } ] } ], "onmove_buffs": [ @@ -166,7 +166,7 @@ "unarmed_allowed": true, "skill_requirements": [ { "name": "unarmed", "level": 2 } ], "buff_duration": 3, - "flat_bonuses": [ [ "dodge", 1.0 ] ] + "flat_bonuses": [ { "stat": "dodge", "scale": 1.0 } ] } ], "techniques": [ @@ -191,7 +191,10 @@ "name": "Crane's Precision", "description": "Your attacks strike at your opponents weakness with speed and precision instead of brute force.\nDexterity increases melee damage instead of Strength.\n\nBash damage increased by 75%% of Dexterity but decreased by 75%% of Strength.", "unarmed_allowed": true, - "flat_bonuses": [ [ "damage", "bash", "dex", 0.75 ], [ "damage", "bash", "str", -0.75 ] ] + "flat_bonuses": [ + { "stat": "damage", "type": "bash", "scaling-stat": "dex", "scale": 0.75 }, + { "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": -0.75 } + ] } ], "onmove_buffs": [ @@ -202,7 +205,7 @@ "unarmed_allowed": true, "skill_requirements": [ { "name": "unarmed", "level": 2 } ], "buff_duration": 2, - "flat_bonuses": [ [ "dodge", 1.0 ] ] + "flat_bonuses": [ { "stat": "dodge", "scale": 1.0 } ] } ], "ondodge_buffs": [ @@ -214,7 +217,7 @@ "skill_requirements": [ { "name": "unarmed", "level": 2 } ], "buff_duration": 2, "bonus_dodges": 1, - "flat_bonuses": [ [ "dodge", 1.0 ] ] + "flat_bonuses": [ { "stat": "dodge", "scale": 1.0 } ] } ], "techniques": [ "tec_crane_feint", "tec_crane_break", "tec_crane_counter", "tec_crane_precise" ] @@ -233,7 +236,7 @@ "name": "Dragon's Knowledge", "description": "You plan your attack far in advance relying on your intuition instead of your speed to strike true.\nIntelligence increases Accuracy instead of Dexterity.\n\nAccuracy increased by 25%% of Intelligence but decreased by 25%% of Dexterity.", "unarmed_allowed": true, - "flat_bonuses": [ [ "hit", "int", 0.25 ], [ "hit", "dex", -0.25 ] ] + "flat_bonuses": [ { "stat": "hit", "scaling-stat": "int", "scale": 0.25 }, { "stat": "hit", "scaling-stat": "dex", "scale": -0.25 } ] } ], "onhit_buffs": [ @@ -244,7 +247,7 @@ "unarmed_allowed": true, "skill_requirements": [ { "name": "unarmed", "level": 1 } ], "buff_duration": 1, - "flat_bonuses": [ [ "hit", 1.0 ], [ "damage", "bash", 2 ] ] + "flat_bonuses": [ { "stat": "hit", "scale": 1.0 }, { "stat": "damage", "type": "bash", "scale": 2 } ] } ], "techniques": [ "tec_dragon_claw", "tec_dragon_blockcounter", "tec_dragon_dodgecounter", "tec_dragon_tail", "tec_dragon_strike" ] @@ -264,7 +267,7 @@ "name": "Eskrima Stance", "description": "You are skilled at getting the most out of your weapons. The term 'weapon' might be very subjective,\n\n+2 Accuracy.", "melee_allowed": true, - "flat_bonuses": [ [ "hit", 2.0 ] ] + "flat_bonuses": [ { "stat": "hit", "scale": 2.0 } ] } ], "oncrit_buffs": [ @@ -276,7 +279,11 @@ "melee_allowed": true, "buff_duration": 3, "max_stacks": 3, - "mult_bonuses": [ [ "damage", "bash", 1.15 ], [ "damage", "cut", 1.15 ], [ "damage", "stab", 1.15 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.15 }, + { "stat": "damage", "type": "cut", "scale": 1.15 }, + { "stat": "damage", "type": "stab", "scale": 1.15 } + ] } ], "techniques": [ @@ -354,7 +361,7 @@ "name": "Fencing Stance", "description": "Your side stance minimizes the chances you will be harmed in a combat.\n\nBlocked damage reduced by 50%% of Dexterity.", "melee_allowed": true, - "flat_bonuses": [ [ "block", "dex", 0.5 ] ] + "flat_bonuses": [ { "stat": "block", "scaling-stat": "dex", "scale": 0.5 } ] } ], "onblock_buffs": [ @@ -365,7 +372,7 @@ "skill_requirements": [ { "name": "melee", "level": 1 } ], "melee_allowed": true, "buff_duration": 1, - "flat_bonuses": [ [ "hit", 1.0 ] ] + "flat_bonuses": [ { "stat": "hit", "scale": 1.0 } ] } ], "onmiss_buffs": [ @@ -376,7 +383,7 @@ "skill_requirements": [ { "name": "melee", "level": 3 } ], "melee_allowed": true, "buff_duration": 1, - "flat_bonuses": [ [ "hit", 1.0 ] ] + "flat_bonuses": [ { "stat": "hit", "scale": 1.0 } ] } ], "techniques": [ "tec_fencing_feint", "tec_fencing_lunge", "tec_fencing_riposte", "tec_fencing_compound" ], @@ -427,7 +434,7 @@ "description": "You are stalwart and will not budge against any threat.\n\n+2 Block attempts, -1.0 Dodge skill, blocked damage reduced by 50%% of Strength.", "melee_allowed": true, "bonus_blocks": 2, - "flat_bonuses": [ [ "block", "str", 0.5 ], [ "dodge", -1.0 ] ] + "flat_bonuses": [ { "stat": "block", "scaling-stat": "str", "scale": 0.5 }, { "stat": "dodge", "scale": -1.0 } ] } ], "onmove_buffs": [ @@ -438,7 +445,7 @@ "melee_allowed": true, "buff_duration": 1, "bonus_blocks": -2, - "flat_bonuses": [ [ "block", "str", -0.5 ], [ "dodge", 1.0 ] ] + "flat_bonuses": [ { "stat": "block", "scaling-stat": "str", "scale": -0.5 }, { "stat": "dodge", "scale": 1.0 } ] } ], "onmiss_buffs": [ @@ -460,7 +467,7 @@ "skill_requirements": [ { "name": "melee", "level": 1 } ], "buff_duration": 1, "max_stacks": 3, - "flat_bonuses": [ [ "hit", 1.0 ] ] + "flat_bonuses": [ { "stat": "hit", "scale": 1.0 } ] } ], "techniques": [ @@ -529,7 +536,7 @@ "name": "Karate Stance", "description": "Your no nonsense stance allows you hit more accurately.\n\n+2 Accuracy.", "unarmed_allowed": true, - "flat_bonuses": [ [ "hit", 2.0 ] ] + "flat_bonuses": [ { "stat": "hit", "scale": 2.0 } ] } ], "onhit_buffs": [ @@ -542,7 +549,7 @@ "buff_duration": 2, "bonus_blocks": 2, "bonus_dodges": 1, - "flat_bonuses": [ [ "block", "str", 0.5 ] ] + "flat_bonuses": [ { "stat": "block", "scaling-stat": "str", "scale": 0.5 } ] } ], "techniques": [ "tec_karate_rapid", "tec_karate_precise", "tec_karate_roundhouse", "tec_karate_counter" ] @@ -564,7 +571,7 @@ "melee_allowed": true, "unarmed_allowed": true, "bonus_blocks": 1, - "flat_bonuses": [ [ "hit", 1.0 ] ] + "flat_bonuses": [ { "stat": "hit", "scale": 1.0 } ] } ], "techniques": [ @@ -652,7 +659,10 @@ "name": "Leopard's Strategy", "description": "You fight by overwhelming your opponents with speedy strikes that are much harder to defend against.\nDexterity increases melee damage instead of Strength.\n\nBash damage increased by 75%% of Dexterity but decreased by 75%% of Strength.", "unarmed_allowed": true, - "flat_bonuses": [ [ "damage", "bash", "dex", 0.75 ], [ "damage", "bash", "str", -0.75 ] ] + "flat_bonuses": [ + { "stat": "damage", "type": "bash", "scaling-stat": "dex", "scale": 0.75 }, + { "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": -0.75 } + ] }, { "id": "buff_leopard_static2", @@ -660,7 +670,7 @@ "description": "Just like a cat, you are quick, agile, and hard to pin down.\n\n+1.0 Dodge skill.", "skill_requirements": [ { "name": "unarmed", "level": 1 } ], "unarmed_allowed": true, - "flat_bonuses": [ [ "dodge", 1.0 ] ] + "flat_bonuses": [ { "stat": "dodge", "scale": 1.0 } ] } ], "onmove_buffs": [ @@ -671,7 +681,7 @@ "skill_requirements": [ { "name": "unarmed", "level": 1 } ], "unarmed_allowed": true, "buff_duration": 1, - "flat_bonuses": [ [ "hit", 2.0 ] ] + "flat_bonuses": [ { "stat": "hit", "scale": 2.0 } ] }, { "id": "buff_leopard_onmove2", @@ -681,7 +691,11 @@ "unarmed_allowed": true, "req_buffs": [ "buff_leopard_onmove1" ], "buff_duration": 1, - "mult_bonuses": [ [ "damage", "bash", 1.25 ], [ "damage", "cut", 1.25 ], [ "damage", "stab", 1.25 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.25 }, + { "stat": "damage", "type": "cut", "scale": 1.25 }, + { "stat": "damage", "type": "stab", "scale": 1.25 } + ] } ], "techniques": [ "tec_leopard_rapid", "tec_leopard_feint", "tec_leopard_counter", "tec_leopard_precise" ] @@ -702,7 +716,7 @@ "description": "Through chivalry and vigilance, your defense with a blade has increased.\n\n+1 Dodge attempts, blocked damage decreased by 50%% of Strength.", "melee_allowed": true, "bonus_dodges": 1, - "flat_bonuses": [ [ "block", "str", 0.5 ] ] + "flat_bonuses": [ { "stat": "block", "scaling-stat": "str", "scale": 0.5 } ] } ], "onblock_buffs": [ @@ -768,7 +782,7 @@ "name": "Muay Thai Stance", "description": "Strength is everything in Muay Thai and you know how to make the most of yours.\n\nBlocked damage decreased by 50%% of Strength.", "unarmed_allowed": true, - "flat_bonuses": [ [ "block", "str", 0.5 ] ] + "flat_bonuses": [ { "stat": "block", "scaling-stat": "str", "scale": 0.5 } ] } ], "ongethit_buffs": [ @@ -779,7 +793,10 @@ "skill_requirements": [ { "name": "unarmed", "level": 3 } ], "unarmed_allowed": true, "buff_duration": 5, - "flat_bonuses": [ [ "damage", "bash", "str", 0.25 ], [ "block", "str", 0.5 ] ] + "flat_bonuses": [ + { "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.25 }, + { "stat": "block", "scaling-stat": "str", "scale": 0.5 } + ] } ], "techniques": [ "tec_muay_thai_elbow", "tec_muay_thai_kick", "tec_muay_thai_knee", "tec_muay_thai_break" ] @@ -808,7 +825,11 @@ "description": "To a true shinobi, the first strike and the last strike are one in the same.\n\n+50%% all damage.", "unarmed_allowed": true, "melee_allowed": true, - "mult_bonuses": [ [ "damage", "bash", 1.5 ], [ "damage", "cut", 1.5 ], [ "damage", "stab", 1.5 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.5 }, + { "stat": "damage", "type": "cut", "scale": 1.5 }, + { "stat": "damage", "type": "stab", "scale": 1.5 } + ] } ], "onattack_buffs": [ @@ -819,7 +840,11 @@ "unarmed_allowed": true, "melee_allowed": true, "buff_duration": 3, - "mult_bonuses": [ [ "damage", "bash", 0.5 ], [ "damage", "cut", 0.5 ], [ "damage", "stab", 0.5 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "damage", "type": "stab", "scale": 0.5 } + ] } ], "onmove_buffs": [ @@ -831,7 +856,7 @@ "unarmed_allowed": true, "melee_allowed": true, "buff_duration": 1, - "flat_bonuses": [ [ "dodge", 1.0 ], [ "hit", "dex", 0.2 ] ] + "flat_bonuses": [ { "stat": "dodge", "scale": 1.0 }, { "stat": "hit", "scaling-stat": "dex", "scale": 0.2 } ] } ], "onkill_buffs": [ @@ -844,7 +869,7 @@ "melee_allowed": true, "buff_duration": 3, "bonus_dodges": 2, - "flat_bonuses": [ [ "speed", 10 ] ] + "flat_bonuses": [ { "stat": "speed", "scale": 10 } ] } ], "techniques": [ "tec_ninjutsu_swift", "tec_ninjutsu_takedown", "tec_ninjutsu_precise" ], @@ -934,7 +959,11 @@ "name": "Niten Ichi-Ryu Stance", "description": "Cautious watchful eyes\nmeasure and display your skill.\nPractice makes perfect.\n\nBash and Cut armor penetration increased by 50%% of Perception, blocked damage reduced by 100%% of Perception.", "melee_allowed": true, - "flat_bonuses": [ [ "arpen", "cut", "per", 0.5 ], [ "arpen", "bash", "per", 0.5 ], [ "block", "per", 1.0 ] ] + "flat_bonuses": [ + { "stat": "arpen", "type": "cut", "scaling-stat": "per", "scale": 0.5 }, + { "stat": "arpen", "type": "bash", "scaling-stat": "per", "scale": 0.5 }, + { "stat": "block", "scaling-stat": "per", "scale": 1.0 } + ] } ], "onmove_buffs": [ @@ -944,7 +973,7 @@ "description": "Blackened like darkness,\nnightmares approach from all sides.\nFlee at any cost!\n\n-5.0 Dodge skill.\nLasts 1 turn.", "melee_allowed": true, "buff_duration": 1, - "flat_bonuses": [ [ "dodge", -5.0 ] ] + "flat_bonuses": [ { "stat": "dodge", "scale": -5.0 } ] } ], "onattack_buffs": [ @@ -955,7 +984,11 @@ "melee_allowed": true, "buff_duration": 1, "max_stacks": 5, - "flat_bonuses": [ [ "dodge", -1.0 ], [ "damage", "cut", -1.0 ], [ "damage", "bash", -1.0 ] ] + "flat_bonuses": [ + { "stat": "dodge", "scale": -1.0 }, + { "stat": "damage", "type": "cut", "scale": -1.0 }, + { "stat": "damage", "type": "bash", "scale": -1.0 } + ] } ], "ondodge_buffs": [ @@ -975,7 +1008,7 @@ "description": "The eye of the storm,\na fleeting moment of peace,\ngone without a trace.\n\n+2 Accuracy, Dodge skill increased by 50%% of Perception.\nLasts 2 turns.", "melee_allowed": true, "buff_duration": 2, - "flat_bonuses": [ [ "hit", 2.0 ], [ "dodge", "per", 0.5 ] ] + "flat_bonuses": [ { "stat": "hit", "scale": 2.0 }, { "stat": "dodge", "scaling-stat": "per", "scale": 0.5 } ] } ], "techniques": [ "niten_water_cut", "niten_red_leaf", "niten_stone_cut", "niten_timing_attack", "niten_feint" ], @@ -1014,7 +1047,7 @@ "skill_requirements": [ { "name": "unarmed", "level": 1 } ], "unarmed_allowed": true, "buff_duration": 1, - "mult_bonuses": [ [ "damage", "bash", 1.1 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.1 } ] } ], "onhit_buffs": [ @@ -1026,7 +1059,7 @@ "unarmed_allowed": true, "req_buffs": [ "buff_pankration_ondodge" ], "buff_duration": 1, - "mult_bonuses": [ [ "damage", "bash", 1.2 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ] } ], "techniques": [ @@ -1065,7 +1098,7 @@ "melee_allowed": true, "buff_duration": 2, "max_stacks": 3, - "flat_bonuses": [ [ "hit", "dex", 0.15 ] ] + "flat_bonuses": [ { "stat": "hit", "scaling-stat": "dex", "scale": 0.15 } ] } ], "onmove_buffs": [ @@ -1162,7 +1195,7 @@ "name": "Snake's Sight", "description": "You are patient and know where to hit your opponent for the best results.\n\nPerception increases Accuracy instead of Dexterity. Accuracy increased by 25%% of Perception but decreased by 25%% of Dexterity.", "unarmed_allowed": true, - "flat_bonuses": [ [ "hit", "per", 0.25 ], [ "hit", "dex", -0.25 ] ] + "flat_bonuses": [ { "stat": "hit", "scaling-stat": "per", "scale": 0.25 }, { "stat": "hit", "scaling-stat": "dex", "scale": -0.25 } ] } ], "onpause_buffs": [ @@ -1174,7 +1207,12 @@ "unarmed_allowed": true, "buff_duration": 1, "max_stacks": 3, - "flat_bonuses": [ [ "hit", 1.0 ], [ "arpen", "bash", "per", 0.5 ], [ "arpen", "cut", "per", 0.5 ], [ "arpen", "stab", "per", 0.5 ] ] + "flat_bonuses": [ + { "stat": "hit", "scale": 1.0 }, + { "stat": "arpen", "type": "bash", "scaling-stat": "per", "scale": 0.5 }, + { "stat": "arpen", "type": "cut", "scaling-stat": "per", "scale": 0.5 }, + { "stat": "arpen", "type": "stab", "scaling-stat": "per", "scale": 0.5 } + ] } ], "techniques": [ "tec_snake_rapid", "tec_snake_feint", "tec_snake_break", "tec_snake_precise" ] @@ -1205,7 +1243,11 @@ "melee_allowed": true, "buff_duration": 1, "bonus_blocks": -1, - "mult_bonuses": [ [ "damage", "bash", 1.1 ], [ "damage", "cut", 1.1 ], [ "damage", "stab", 1.1 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.1 }, + { "stat": "damage", "type": "cut", "scale": 1.1 }, + { "stat": "damage", "type": "stab", "scale": 1.1 } + ] } ], "techniques": [ "tec_sojutsu_push", "tec_sojutsu_shove", "tec_sojutsu_trip" ], @@ -1254,14 +1296,14 @@ "name": "Taekwondo Stance", "description": "Using your legs to attack allows your hands to be free for better defense.\n\nBlocked damage decreased by 50%% of Strength.", "unarmed_allowed": true, - "flat_bonuses": [ [ "block", "str", 0.5 ] ] + "flat_bonuses": [ { "stat": "block", "scaling-stat": "str", "scale": 0.5 } ] }, { "id": "buff_taekwondo_static2", "name": "Unhindered", "description": "Your attacks are stronger if you are not holding anything in your hands.\n\n+33%% bash damage when not using a weapon.", "unarmed_allowed": true, - "mult_bonuses": [ [ "damage", "bash", 1.33 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.33 } ] } ], "techniques": [ @@ -1288,7 +1330,7 @@ "description": "You are focused of defense and predicting your opponents attacks.\n\n+1 Block attempts, blocked damage reduced by 100%% Perception.", "unarmed_allowed": true, "bonus_blocks": 1, - "flat_bonuses": [ [ "block", "per", 1.0 ] ] + "flat_bonuses": [ { "stat": "block", "scaling-stat": "per", "scale": 1.0 } ] } ], "ondodge_buffs": [ @@ -1299,7 +1341,10 @@ "unarmed_allowed": true, "skill_requirements": [ { "name": "unarmed", "level": 3 } ], "buff_duration": 2, - "flat_bonuses": [ [ "arpen", "bash", "per", 0.5 ], [ "hit", "per", 0.2 ] ] + "flat_bonuses": [ + { "stat": "arpen", "type": "bash", "scaling-stat": "per", "scale": 0.5 }, + { "stat": "hit", "scaling-stat": "per", "scale": 0.2 } + ] } ], "onpause_buffs": [ @@ -1310,7 +1355,7 @@ "unarmed_allowed": true, "skill_requirements": [ { "name": "unarmed", "level": 1 } ], "buff_duration": 3, - "flat_bonuses": [ [ "block", "per", 0.5 ], [ "dodge", 1.0 ] ] + "flat_bonuses": [ { "stat": "block", "scaling-stat": "per", "scale": 0.5 }, { "stat": "dodge", "scale": 1.0 } ] } ], "techniques": [ "tec_taichi_disarm", "tec_taichi_palm", "tec_taichi_counter", "tec_taichi_precise" ] @@ -1328,7 +1373,7 @@ "name": "Tiger's Strength", "description": "You do not need defense. You do not need a plan. You need strength. Strength will break your opponents' defenses and overwhelm them completely.\nStrength increases Accuracy instead of Dexterity.\n\nAccuracy increased by 25%% of Strength but decreased by 25%% of Dexterity.", "unarmed_allowed": true, - "flat_bonuses": [ [ "hit", "str", 0.25 ], [ "hit", "dex", -0.25 ] ] + "flat_bonuses": [ { "stat": "hit", "scaling-stat": "str", "scale": 0.25 }, { "stat": "hit", "scaling-stat": "dex", "scale": -0.25 } ] } ], "onhit_buffs": [ @@ -1340,7 +1385,11 @@ "skill_requirements": [ { "name": "unarmed", "level": 2 } ], "buff_duration": 3, "max_stacks": 4, - "mult_bonuses": [ [ "damage", "bash", 1.1 ], [ "damage", "cut", 1.1 ], [ "damage", "stab", 1.1 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.1 }, + { "stat": "damage", "type": "cut", "scale": 1.1 }, + { "stat": "damage", "type": "stab", "scale": 1.1 } + ] } ], "oncrit_buffs": [ @@ -1352,7 +1401,11 @@ "skill_requirements": [ { "name": "unarmed", "level": 3 } ], "buff_duration": 1, "max_stacks": 2, - "flat_bonuses": [ [ "arpen", "bash", "str", 0.5 ], [ "arpen", "cut", "str", 0.5 ], [ "arpen", "stab", "str", 0.5 ] ] + "flat_bonuses": [ + { "stat": "arpen", "type": "bash", "scaling-stat": "str", "scale": 0.5 }, + { "stat": "arpen", "type": "cut", "scaling-stat": "str", "scale": 0.5 }, + { "stat": "arpen", "type": "stab", "scaling-stat": "str", "scale": 0.5 } + ] } ], "techniques": [ "tec_tiger_palm", "tec_tiger_takedown" ] @@ -1375,7 +1428,7 @@ "name": "Chi-Sao Sensitivity", "description": "You have a greater understanding of balance and technique. This gives you a better chance to avoid your opponent's attacks.\n\n Dodging Skill increased by 15%% of Perception. Blocked damage reduced by 50%% of Perception.", "unarmed_allowed": true, - "flat_bonuses": [ [ "block", "per", 0.5 ], [ "dodge", "per", 0.15 ] ] + "flat_bonuses": [ { "stat": "block", "scaling-stat": "per", "scale": 0.5 }, { "stat": "dodge", "scaling-stat": "per", "scale": 0.15 } ] } ], "onhit_buffs": [ @@ -1387,7 +1440,7 @@ "unarmed_allowed": true, "buff_duration": 1, "max_stacks": 3, - "mult_bonuses": [ [ "movecost", 0.9 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.9 } ] } ], "onpause_buffs": [ @@ -1398,7 +1451,7 @@ "skill_requirements": [ { "name": "unarmed", "level": 4 } ], "unarmed_allowed": true, "buff_duration": 2, - "flat_bonuses": [ [ "hit", "per", 0.2 ] ] + "flat_bonuses": [ { "stat": "hit", "scaling-stat": "per", "scale": 0.2 } ] } ], "techniques": [ @@ -1423,7 +1476,7 @@ "name": "Zui Quan Stance", "description": "Others might think you stumble about at random but you know better. Each movement is calculated to make evading harm easier.\n\nDodging Skill increased by 15%% of Intelligence.", "unarmed_allowed": true, - "flat_bonuses": [ [ "dodge", "int", 0.15 ] ] + "flat_bonuses": [ { "stat": "dodge", "scaling-stat": "int", "scale": 0.15 } ] }, { "id": "buff_zuiquan_static2", @@ -1432,7 +1485,7 @@ "skill_requirements": [ { "name": "unarmed", "level": 3 } ], "unarmed_allowed": true, "bonus_dodges": 1, - "flat_bonuses": [ [ "hit", "int", 0.15 ] ] + "flat_bonuses": [ { "stat": "hit", "scaling-stat": "int", "scale": 0.15 } ] } ], "onmove_buffs": [ @@ -1455,7 +1508,11 @@ "unarmed_allowed": true, "buff_duration": 1, "max_stacks": 4, - "flat_bonuses": [ [ "arpen", "bash", "int", 0.25 ], [ "arpen", "cut", "int", 0.25 ], [ "arpen", "stab", "int", 0.25 ] ] + "flat_bonuses": [ + { "stat": "arpen", "type": "bash", "scaling-stat": "int", "scale": 0.25 }, + { "stat": "arpen", "type": "cut", "scaling-stat": "int", "scale": 0.25 }, + { "stat": "arpen", "type": "stab", "scaling-stat": "int", "scale": 0.25 } + ] } ], "techniques": [ "tec_zuiquan_feint", "tec_zuiquan_break", "tec_zuiquan_counter" ] @@ -1475,10 +1532,10 @@ "description": "+Strength bash armor, +Dexterity acid armor, +Intelligence electricity armor, +Perception fire armor.", "unarmed_allowed": true, "flat_bonuses": [ - [ "armor", "bash", "str", 1.0 ], - [ "armor", "cut", "dex", 1.0 ], - [ "armor", "electric", "int", 1.0 ], - [ "armor", "heat", "per", 1.0 ] + { "stat": "armor", "type": "bash", "scaling-stat": "str", "scale": 1.0 }, + { "stat": "armor", "type": "cut", "scaling-stat": "dex", "scale": 1.0 }, + { "stat": "armor", "type": "electric", "scaling-stat": "int", "scale": 1.0 }, + { "stat": "armor", "type": "heat", "scaling-stat": "per", "scale": 1.0 } ] } ], @@ -1490,7 +1547,7 @@ "unarmed_allowed": true, "buff_duration": 3, "max_stacks": 2, - "flat_bonuses": [ [ "damage", "electric", "per", 1.0 ] ] + "flat_bonuses": [ { "stat": "damage", "type": "electric", "scaling-stat": "per", "scale": 1.0 } ] } ], "onmiss_buffs": [ @@ -1501,7 +1558,7 @@ "unarmed_allowed": true, "buff_duration": 2, "max_stacks": 5, - "flat_bonuses": [ [ "damage", "bash", 2.0 ] ] + "flat_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ] } ], "onkill_buffs": [ @@ -1511,7 +1568,7 @@ "description": "YOU ARE ON FIRE! +5 fire damage for 5 turns.", "unarmed_allowed": true, "buff_duration": 5, - "flat_bonuses": [ [ "damage", "heat", 5.0 ] ] + "flat_bonuses": [ { "stat": "damage", "type": "heat", "scale": 5.0 } ] } ], "techniques": [ "tec_debug_slow", "tec_debug_arpen" ] diff --git a/data/json/martialarts_fictional.json b/data/json/martialarts_fictional.json index 8428af5d6ff81..4eb986dfde1ae 100644 --- a/data/json/martialarts_fictional.json +++ b/data/json/martialarts_fictional.json @@ -18,7 +18,7 @@ "unarmed_allowed": true, "melee_allowed": true, "bonus_blocks": 2, - "flat_bonuses": [ [ "hit", 1.0 ] ] + "flat_bonuses": [ { "stat": "hit", "scale": 1.0 } ] } ], "onkill_buffs": [ @@ -31,7 +31,12 @@ "skill_requirements": [ { "name": "melee", "level": 4 } ], "buff_duration": 3, "max_stacks": 3, - "flat_bonuses": [ [ "damage", "bash", 2.0 ], [ "damage", "cut", 2.0 ], [ "damage", "stab", 2.0 ], [ "hit", 1.0 ] ] + "flat_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 2.0 }, + { "stat": "damage", "type": "cut", "scale": 2.0 }, + { "stat": "damage", "type": "stab", "scale": 2.0 }, + { "stat": "hit", "scale": 1.0 } + ] } ], "techniques": [ @@ -63,7 +68,7 @@ "unarmed_allowed": true, "buff_duration": 3, "max_stacks": 4, - "flat_bonuses": [ [ "movecost", -4.0 ] ] + "flat_bonuses": [ { "stat": "movecost", "scale": -4.0 } ] } ], "oncrit_buffs": [ @@ -74,7 +79,7 @@ "skill_requirements": [ { "name": "unarmed", "level": 1 } ], "unarmed_allowed": true, "buff_duration": 2, - "flat_bonuses": [ [ "damage", "bash", 2.0 ] ] + "flat_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ] } ], "techniques": [ "tec_centipede_rapid", "tec_centipede_break", "tec_centipede_bite", "tec_centipede_disarm" ] @@ -94,7 +99,7 @@ "description": "By briefly scaling, leaping, or pushing off a nearby wall, you can avoid the worst of your opponents attacks.\n\n+3.0 Dodge skill when near a wall.\nEnables \"Lizard Tail\" and \"Lizard Wall Counter\" techniques when near a wall.", "unarmed_allowed": true, "wall_adjacent": true, - "flat_bonuses": [ [ "dodge", 3.0 ] ] + "flat_bonuses": [ { "stat": "dodge", "scale": 3.0 } ] } ], "onhit_buffs": [ @@ -105,7 +110,7 @@ "skill_requirements": [ { "name": "unarmed", "level": 2 } ], "unarmed_allowed": true, "buff_duration": 4, - "flat_bonuses": [ [ "damage", "bash", 2.0 ] ] + "flat_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ] } ], "onmove_buffs": [ @@ -116,7 +121,7 @@ "unarmed_allowed": true, "wall_adjacent": true, "buff_duration": 3, - "flat_bonuses": [ [ "hit", 3.0 ] ] + "flat_bonuses": [ { "stat": "hit", "scale": 3.0 } ] } ], "techniques": [ "tec_lizard_strike", "tec_lizard_break", "tec_lizard_wallcounter", "tec_lizard_counter", "tec_lizard_tail" ] @@ -135,7 +140,7 @@ "name": "Scorpion's Venom", "description": "Your venom is a constant threat that nothing can escape from.\n\n+2 bashing damage.", "unarmed_allowed": true, - "flat_bonuses": [ [ "damage", "bash", 2.0 ] ] + "flat_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ] } ], "onattack_buffs": [ @@ -158,7 +163,11 @@ "unarmed_allowed": true, "buff_duration": 2, "max_stacks": 2, - "mult_bonuses": [ [ "damage", "bash", 1.1 ], [ "damage", "cut", 1.1 ], [ "damage", "stab", 1.1 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.1 }, + { "stat": "damage", "type": "cut", "scale": 1.1 }, + { "stat": "damage", "type": "stab", "scale": 1.1 } + ] } ], "techniques": [ "tec_scorpion_roundhouse", "tec_scorpion_precise", "tec_scorpion_brutal" ] @@ -178,7 +187,11 @@ "description": "Your body is as strong as iron but only if you don't move.\n\n+6 bash, cut, and stab armor.", "//": "FWIW, this is twice the amount of armor provided by bionic plating.", "unarmed_allowed": true, - "flat_bonuses": [ [ "armor", "bash", 6.0 ], [ "armor", "cut", 6.0 ], [ "armor", "stab", 6.0 ] ] + "flat_bonuses": [ + { "stat": "armor", "type": "bash", "scale": 6.0 }, + { "stat": "armor", "type": "cut", "scale": 6.0 }, + { "stat": "armor", "type": "stab", "scale": 6.0 } + ] } ], "onmove_buffs": [ @@ -189,7 +202,11 @@ "unarmed_allowed": true, "buff_duration": 6, "max_stacks": 6, - "flat_bonuses": [ [ "armor", "bash", -1.0 ], [ "armor", "cut", -1.0 ], [ "armor", "stab", -1.0 ] ] + "flat_bonuses": [ + { "stat": "armor", "type": "bash", "scale": -1.0 }, + { "stat": "armor", "type": "cut", "scale": -1.0 }, + { "stat": "armor", "type": "stab", "scale": -1.0 } + ] } ], "onpause_buffs": [ @@ -200,7 +217,11 @@ "skill_requirements": [ { "name": "unarmed", "level": 5 } ], "unarmed_allowed": true, "buff_duration": 2, - "flat_bonuses": [ [ "armor", "bash", 3.0 ], [ "armor", "cut", 3.0 ], [ "armor", "stab", 3.0 ] ] + "flat_bonuses": [ + { "stat": "armor", "type": "bash", "scale": 3.0 }, + { "stat": "armor", "type": "cut", "scale": 3.0 }, + { "stat": "armor", "type": "stab", "scale": 3.0 } + ] } ], "ongethit_buffs": [ @@ -211,7 +232,7 @@ "skill_requirements": [ { "name": "unarmed", "level": 2 } ], "unarmed_allowed": true, "buff_duration": 5, - "flat_bonuses": [ [ "damage", "bash", 2.0 ] ] + "flat_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ] } ], "techniques": [ "tec_toad_counter", "tec_toad_critcounter", "tec_toad_grab" ] @@ -230,7 +251,7 @@ "name": "Viper's Patience", "description": "Every snake waits for the perfect moment to strike. Turn your opponents' mistakes into your opportunity to strike!\n\n+1.0 Dodge skill.", "unarmed_allowed": true, - "flat_bonuses": [ [ "dodge", 1.0 ] ] + "flat_bonuses": [ { "stat": "dodge", "scale": 1.0 } ] } ], "ondodge_buffs": [ @@ -249,7 +270,7 @@ "skill_requirements": [ { "name": "unarmed", "level": 1 } ], "unarmed_allowed": true, "buff_duration": 3, - "flat_bonuses": [ [ "damage", "bash", 2.0 ] ] + "flat_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ] } ], "techniques": [ @@ -280,7 +301,7 @@ "unarmed_allowed": true, "block_counter": true, "crit_ok": true, - "mult_bonuses": [ [ "movecost", 0.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ] }, { "type": "technique", @@ -299,7 +320,7 @@ "name": "Measured Strike (melee)", "messages": [ "You make an efficient strike against %s", " makes an efficient strike against %s" ], "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 0.8 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 } ] }, { "type": "technique", @@ -309,7 +330,7 @@ "unarmed_allowed": true, "unarmed_weapons_allowed": false, "crit_ok": true, - "mult_bonuses": [ [ "movecost", 0.8 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 } ] }, { "type": "technique", @@ -319,7 +340,11 @@ "skill_requirements": [ { "name": "melee", "level": 3 } ], "melee_allowed": true, "crit_tec": true, - "mult_bonuses": [ [ "damage", "bash", 1.5 ], [ "damage", "cut", 1.5 ], [ "damage", "stab", 1.5 ] ], + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.5 }, + { "stat": "damage", "type": "cut", "scale": 1.5 }, + { "stat": "damage", "type": "stab", "scale": 1.5 } + ], "stun_dur": 1 }, { @@ -353,7 +378,7 @@ "skill_requirements": [ { "name": "unarmed", "level": 1 } ], "unarmed_allowed": true, "crit_ok": true, - "mult_bonuses": [ [ "damage", "bash", 1.2 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ] }, { "type": "technique", @@ -365,7 +390,7 @@ "wall_adjacent": true, "crit_tec": true, "stun_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 1.5 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.5 } ] }, { "type": "technique", @@ -391,7 +416,7 @@ "weighting": 2, "knockback_dist": 1, "knockback_spread": 1, - "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 2.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 }, { "stat": "damage", "type": "bash", "scale": 2.0 } ] }, { "type": "technique", @@ -402,7 +427,7 @@ "unarmed_allowed": true, "dodge_counter": true, "crit_ok": true, - "mult_bonuses": [ [ "movecost", 0.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ] }, { "type": "technique", @@ -421,7 +446,12 @@ "name": "Viper Fist", "messages": [ "You quickly chop %s", " quickly chops %s" ], "unarmed_allowed": true, - "mult_bonuses": [ [ "movecost", 0.5 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 0.66 ], [ "damage", "stab", 0.66 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.5 }, + { "stat": "damage", "type": "bash", "scale": 0.66 }, + { "stat": "damage", "type": "cut", "scale": 0.66 }, + { "stat": "damage", "type": "stab", "scale": 0.66 } + ] }, { "type": "technique", @@ -433,7 +463,7 @@ "req_buffs": [ "buff_venom_snake_ondodge1" ], "crit_tec": true, "stun_dur": 2, - "mult_bonuses": [ [ "damage", "bash", 1.33 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.33 } ] }, { "type": "technique", @@ -445,7 +475,7 @@ "stunned_target": true, "weighting": 2, "crit_ok": true, - "mult_bonuses": [ [ "damage", "bash", 2.0 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ] }, { "type": "technique", @@ -464,7 +494,7 @@ "name": "Roundhouse Kick", "messages": [ "You roundhouse kick %s", " roundhouse kicks %s" ], "unarmed_allowed": true, - "mult_bonuses": [ [ "damage", "bash", 1.2 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ] }, { "type": "technique", @@ -476,7 +506,7 @@ "stun_dur": 2, "knockback_dist": 3, "powerful_knockback": true, - "mult_bonuses": [ [ "damage", "bash", 2.0 ] ], + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ], "messages": [ "Your Stinger Kick sends %s flying", "'s Stinger Kick sends %s flying" ] }, { @@ -488,7 +518,7 @@ "unarmed_allowed": true, "req_buffs": [ "buff_scorpion_onmove" ], "stun_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 1.25 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.25 } ] }, { "type": "technique", @@ -499,7 +529,7 @@ "unarmed_allowed": true, "block_counter": true, "down_dur": 1, - "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 1.25 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 }, { "stat": "damage", "type": "bash", "scale": 1.25 } ] }, { "type": "technique", @@ -511,7 +541,7 @@ "block_counter": true, "crit_tec": true, "down_dur": 1, - "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 2.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 }, { "stat": "damage", "type": "bash", "scale": 2.0 } ] }, { "type": "technique", @@ -522,7 +552,7 @@ "unarmed_allowed": true, "crit_ok": true, "down_dur": 1, - "mult_bonuses": [ [ "movecost", 0.5 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.5 } ] }, { "type": "technique", @@ -540,7 +570,12 @@ "name": "Centipede Strike", "messages": [ "You swiftly hit %s", " swiftly hits %s" ], "unarmed_allowed": true, - "mult_bonuses": [ [ "movecost", 0.5 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 0.66 ], [ "damage", "stab", 0.66 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.5 }, + { "stat": "damage", "type": "bash", "scale": 0.66 }, + { "stat": "damage", "type": "cut", "scale": 0.66 }, + { "stat": "damage", "type": "stab", "scale": 0.66 } + ] }, { "type": "technique", @@ -551,7 +586,7 @@ "unarmed_allowed": true, "crit_tec": true, "down_dur": 1, - "mult_bonuses": [ [ "movecost", 0.5 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.5 } ] }, { "type": "technique", diff --git a/data/json/techniques.json b/data/json/techniques.json index a0feab2636216..556b1fff1767e 100644 --- a/data/json/techniques.json +++ b/data/json/techniques.json @@ -10,7 +10,7 @@ "id": "WBLOCK_1", "name": "Block", "dummy": true, - "mult_bonuses": [ [ "movecost", 0.0 ] ], + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ], "messages": [ "You block %s", " blocks %s" ], "description": "Medium blocking ability" }, @@ -19,7 +19,7 @@ "id": "WBLOCK_2", "name": "Parry", "dummy": true, - "mult_bonuses": [ [ "movecost", 0.0 ] ], + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ], "messages": [ "You parry %s", " parries %s" ], "description": "High blocking ability" }, @@ -28,7 +28,7 @@ "id": "WBLOCK_3", "name": "Shield", "dummy": true, - "mult_bonuses": [ [ "movecost", 0.0 ] ], + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ], "messages": [ "You shield against %s", " shields against %s" ], "description": "Very high blocking ability" }, @@ -101,7 +101,12 @@ "name": "Rapid Strike", "unarmed_allowed": true, "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 0.5 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 0.66 ], [ "damage", "stab", 0.66 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.5 }, + { "stat": "damage", "type": "bash", "scale": 0.66 }, + { "stat": "damage", "type": "cut", "scale": 0.66 }, + { "stat": "damage", "type": "stab", "scale": 0.66 } + ], "messages": [ "You quickly strike %s", " quickly strikes %s" ], "description": "50% moves, 66% damage" }, @@ -111,7 +116,7 @@ "name": "Vorpal Strike", "unarmed_allowed": true, "melee_allowed": true, - "mult_bonuses": [ [ "damage", "cut", 99 ] ], + "mult_bonuses": [ { "stat": "damage", "type": "cut", "scale": 99 } ], "crit_tec": true, "weighting": -250, "messages": [ @@ -165,7 +170,7 @@ "unarmed_allowed": true, "block_counter": true, "crit_ok": true, - "mult_bonuses": [ [ "movecost", 0.0 ] ], + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ], "messages": [ "You counter-attack %s", " counter-attacks %s" ] }, { @@ -212,7 +217,7 @@ "disarms": true, "down_dur": 1, "knockback_dist": 1, - "mult_bonuses": [ [ "movecost", 0.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ] }, { "type": "technique", @@ -226,7 +231,7 @@ "crit_ok": true, "down_dur": 1, "knockback_dist": 1, - "mult_bonuses": [ [ "movecost", 0.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ] }, { "type": "technique", @@ -241,7 +246,7 @@ "crit_ok": true, "down_dur": 1, "knockback_dist": 1, - "mult_bonuses": [ [ "movecost", 0.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ] }, { "type": "technique", @@ -257,7 +262,7 @@ "disarms": true, "down_dur": 1, "knockback_dist": 1, - "mult_bonuses": [ [ "movecost", 0.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ] }, { "type": "technique", @@ -280,7 +285,7 @@ "name": "Cross", "messages": [ "You throw a heavy cross at %s", " throws a cross at %s" ], "unarmed_allowed": true, - "mult_bonuses": [ [ "damage", "bash", 1.2 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ] }, { "type": "technique", @@ -295,7 +300,7 @@ "knockback_spread": 1, "stun_dur": 1, "down_dur": 1, - "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 1.25 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 }, { "stat": "damage", "type": "bash", "scale": 1.25 } ] }, { "type": "technique", @@ -304,7 +309,12 @@ "messages": [ "You quickly jab %s", " quickly jabs at %s" ], "skill_requirements": [ { "name": "unarmed", "level": 2 } ], "unarmed_allowed": true, - "mult_bonuses": [ [ "movecost", 0.5 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 0.66 ], [ "damage", "stab", 0.66 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.5 }, + { "stat": "damage", "type": "bash", "scale": 0.66 }, + { "stat": "damage", "type": "cut", "scale": 0.66 }, + { "stat": "damage", "type": "stab", "scale": 0.66 } + ] }, { "type": "technique", @@ -315,7 +325,7 @@ "unarmed_allowed": true, "crit_tec": true, "stun_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 1.4 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.4 } ] }, { "type": "technique", @@ -346,7 +356,7 @@ "melee_allowed": true, "block_counter": true, "crit_ok": true, - "mult_bonuses": [ [ "movecost", 0.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ] }, { "type": "technique", @@ -357,7 +367,7 @@ "unarmed_allowed": true, "block_counter": true, "crit_ok": true, - "mult_bonuses": [ [ "movecost", 0.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ] }, { "type": "technique", @@ -433,7 +443,7 @@ "name": "Push Kick", "messages": [ "You push kick %s", " push kicks %s" ], "unarmed_allowed": true, - "mult_bonuses": [ [ "damage", "bash", 1.2 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ] }, { "type": "technique", @@ -443,7 +453,7 @@ "skill_requirements": [ { "name": "unarmed", "level": 4 } ], "unarmed_allowed": true, "crit_tec": true, - "mult_bonuses": [ [ "damage", "bash", 1.4 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.4 } ] }, { "type": "technique", @@ -455,7 +465,7 @@ "req_buffs": [ "buff_capoeira_onmove" ], "weighting": 2, "down_dur": 1, - "mult_bonuses": [ [ "movecost", 0.75 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.75 } ] }, { "type": "technique", @@ -468,7 +478,7 @@ "weighting": 2, "crit_tec": true, "stun_dur": 1, - "mult_bonuses": [ [ "movecost", 0.75 ], [ "damage", "bash", 1.4 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.75 }, { "stat": "damage", "type": "bash", "scale": 1.4 } ] }, { "type": "technique", @@ -501,7 +511,7 @@ "unarmed_allowed": true, "dodge_counter": true, "down_dur": 1, - "mult_bonuses": [ [ "movecost", 0.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ] }, { "type": "technique", @@ -514,7 +524,7 @@ "knockback_dist": 1, "knockback_spread": 1, "stun_dur": 2, - "mult_bonuses": [ [ "damage", "bash", 1.25 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.25 } ] }, { "type": "technique", @@ -522,7 +532,7 @@ "name": "Dragon Claw", "skill_requirements": [ { "name": "unarmed", "level": 1 } ], "unarmed_allowed": true, - "mult_bonuses": [ [ "damage", "bash", 1.2 ] ], + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ], "messages": [ "You lash out at %s with a Dragon Claw", " lashes out at %s with a Dragon Claw" ] }, { @@ -535,7 +545,12 @@ "req_buffs": [ "buff_dragon_onhit" ], "block_counter": true, "down_dur": 1, - "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 0.5 ], [ "damage", "cut", 0.5 ], [ "damage", "stab", 0.5 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.0 }, + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "damage", "type": "stab", "scale": 0.5 } + ] }, { "type": "technique", @@ -547,7 +562,12 @@ "req_buffs": [ "buff_dragon_onhit" ], "dodge_counter": true, "stun_dur": 1, - "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 0.5 ], [ "damage", "cut", 0.5 ], [ "damage", "stab", 0.5 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.0 }, + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "damage", "type": "stab", "scale": 0.5 } + ] }, { "type": "technique", @@ -559,7 +579,7 @@ "crit_tec": true, "stunned_target": true, "down_dur": 2, - "mult_bonuses": [ [ "damage", "bash", 1.5 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.5 } ] }, { "type": "technique", @@ -571,7 +591,7 @@ "crit_tec": true, "downed_target": true, "stun_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 2.0 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ] }, { "type": "technique", @@ -580,7 +600,7 @@ "messages": [ "You round strike %s", " round strikes %s" ], "skill_requirements": [ { "name": "melee", "level": 4 } ], "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 0.6 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.6 } ] }, { "type": "technique", @@ -589,7 +609,7 @@ "messages": [ "You fan strike %s", " fan strikes %s" ], "skill_requirements": [ { "name": "melee", "level": 2 } ], "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 0.75 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.75 } ] }, { "type": "technique", @@ -597,7 +617,7 @@ "name": "Snap Strike", "messages": [ "You snap out at %s", " snaps quickly at %s" ], "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 0.8 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 } ] }, { "type": "technique", @@ -608,7 +628,12 @@ "melee_allowed": true, "req_buffs": [ "buff_eskrima_oncrit" ], "crit_tec": true, - "mult_bonuses": [ [ "movecost", 0.8 ], [ "damage", "bash", 1.5 ], [ "damage", "cut", 1.5 ], [ "damage", "stab", 1.5 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.8 }, + { "stat": "damage", "type": "bash", "scale": 1.5 }, + { "stat": "damage", "type": "cut", "scale": 1.5 }, + { "stat": "damage", "type": "stab", "scale": 1.5 } + ] }, { "type": "technique", @@ -620,7 +645,12 @@ "melee_allowed": true, "crit_tec": true, "stun_dur": 1, - "mult_bonuses": [ [ "movecost", 0.6 ], [ "damage", "bash", 0.7 ], [ "damage", "cut", 0.0 ], [ "damage", "stab", 0.0 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.6 }, + { "stat": "damage", "type": "bash", "scale": 0.7 }, + { "stat": "damage", "type": "cut", "scale": 0.0 }, + { "stat": "damage", "type": "stab", "scale": 0.0 } + ] }, { "type": "technique", @@ -650,7 +680,7 @@ "skill_requirements": [ { "name": "melee", "level": 2 } ], "melee_allowed": true, "crit_ok": true, - "mult_bonuses": [ [ "movecost", 0.8 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 } ] }, { "type": "technique", @@ -662,7 +692,11 @@ "req_buffs": [ "buff_fencing_onmiss" ], "weighting": 4, "crit_ok": true, - "mult_bonuses": [ [ "damage", "bash", 1.25 ], [ "damage", "cut", 1.25 ], [ "damage", "stab", 1.25 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.25 }, + { "stat": "damage", "type": "cut", "scale": 1.25 }, + { "stat": "damage", "type": "stab", "scale": 1.25 } + ] }, { "type": "technique", @@ -674,7 +708,12 @@ "block_counter": true, "crit_ok": true, "stun_dur": 1, - "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 1.2 ], [ "damage", "cut", 1.2 ], [ "damage", "stab", 1.2 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.0 }, + { "stat": "damage", "type": "bash", "scale": 1.2 }, + { "stat": "damage", "type": "cut", "scale": 1.2 }, + { "stat": "damage", "type": "stab", "scale": 1.2 } + ] }, { "type": "technique", @@ -686,7 +725,12 @@ "block_counter": true, "crit_ok": true, "down_dur": 2, - "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 0.5 ], [ "damage", "cut", 0.5 ], [ "damage", "stab", 0.5 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.0 }, + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "damage", "type": "stab", "scale": 0.5 } + ] }, { "type": "technique", @@ -695,7 +739,11 @@ "messages": [ "You swing high and strike at %s", " swings high and strikes %s" ], "skill_requirements": [ { "name": "melee", "level": 2 } ], "melee_allowed": true, - "mult_bonuses": [ [ "damage", "bash", 1.2 ], [ "damage", "cut", 1.2 ], [ "damage", "stab", 1.2 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.2 }, + { "stat": "damage", "type": "cut", "scale": 1.2 }, + { "stat": "damage", "type": "stab", "scale": 1.2 } + ] }, { "type": "technique", @@ -706,7 +754,7 @@ "melee_allowed": true, "defensive": true, "miss_recovery": true, - "mult_bonuses": [ [ "movecost", 0.8 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 } ] }, { "type": "technique", @@ -729,7 +777,11 @@ "crit_ok": true, "weighting": 2, "down_dur": 2, - "mult_bonuses": [ [ "damage", "bash", 0.5 ], [ "damage", "cut", 0.5 ], [ "damage", "stab", 0.5 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "damage", "type": "stab", "scale": 0.5 } + ] }, { "type": "technique", @@ -741,7 +793,11 @@ "downed_target": true, "crit_tec": true, "weighting": 2, - "mult_bonuses": [ [ "damage", "bash", 1.5 ], [ "damage", "cut", 1.5 ], [ "damage", "stab", 1.5 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.5 }, + { "stat": "damage", "type": "cut", "scale": 1.5 }, + { "stat": "damage", "type": "stab", "scale": 1.5 } + ] }, { "type": "technique", @@ -752,7 +808,7 @@ "melee_allowed": true, "unarmed_weapons_allowed": false, "down_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 1.25 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.25 } ] }, { "type": "technique", @@ -765,7 +821,7 @@ "unarmed_weapons_allowed": false, "disarms": true, "down_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 1.25 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.25 } ] }, { "type": "technique", @@ -780,7 +836,7 @@ "side_switch": true, "down_dur": 1, "stun_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 1.5 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.5 } ] }, { "type": "technique", @@ -807,7 +863,7 @@ "unarmed_weapons_allowed": false, "dodge_counter": true, "down_dur": 1, - "mult_bonuses": [ [ "movecost", 0.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ] }, { "type": "technique", @@ -818,7 +874,7 @@ "unarmed_allowed": true, "block_counter": true, "crit_ok": true, - "mult_bonuses": [ [ "movecost", 0.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ] }, { "type": "technique", @@ -829,7 +885,7 @@ "unarmed_allowed": true, "crit_tec": true, "stun_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 1.33 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.33 } ] }, { "type": "technique", @@ -838,7 +894,12 @@ "messages": [ "You quickly strike %s with the back of your fist", " quickly strikes %s with the back of their fist" ], "skill_requirements": [ { "name": "unarmed", "level": 1 } ], "unarmed_allowed": true, - "mult_bonuses": [ [ "movecost", 0.5 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 0.66 ], [ "damage", "stab", 0.66 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.5 }, + { "stat": "damage", "type": "bash", "scale": 0.66 }, + { "stat": "damage", "type": "cut", "scale": 0.66 }, + { "stat": "damage", "type": "stab", "scale": 0.66 } + ] }, { "type": "technique", @@ -846,7 +907,7 @@ "name": "Roundhouse Kick", "messages": [ "You roundhouse kick %s", " roundhouse kicks %s" ], "unarmed_allowed": true, - "mult_bonuses": [ [ "damage", "bash", 1.2 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ] }, { "type": "technique", @@ -856,7 +917,12 @@ "skill_requirements": [ { "name": "unarmed", "level": 1 } ], "melee_allowed": true, "unarmed_allowed": true, - "mult_bonuses": [ [ "movecost", 0.5 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 0.66 ], [ "damage", "stab", 0.66 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.5 }, + { "stat": "damage", "type": "bash", "scale": 0.66 }, + { "stat": "damage", "type": "cut", "scale": 0.66 }, + { "stat": "damage", "type": "stab", "scale": 0.66 } + ] }, { "type": "technique", @@ -893,8 +959,8 @@ "stunned_target": true, "human_target": true, "stun_dur": 1, - "flat_bonuses": [ [ "arpen", "bash", "str", 1.0 ] ], - "mult_bonuses": [ [ "damage", "bash", 2.0 ] ] + "flat_bonuses": [ { "stat": "arpen", "type": "bash", "scaling-stat": "str", "scale": 1.0 } ], + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ] }, { "type": "technique", @@ -917,7 +983,7 @@ "unarmed_allowed": true, "crit_ok": true, "block_counter": true, - "mult_bonuses": [ [ "movecost", 0.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ] }, { "type": "technique", @@ -938,7 +1004,7 @@ "unarmed_allowed": true, "crit_tec": true, "stun_dur": 1, - "mult_bonuses": [ [ "movecost", 0.5 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.5 } ] }, { "type": "technique", @@ -946,7 +1012,12 @@ "name": "Leopard Swipe", "messages": [ "You quickly swipe at %s", " quickly swipes at %s" ], "unarmed_allowed": true, - "mult_bonuses": [ [ "movecost", 0.5 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 0.66 ], [ "damage", "stab", 0.66 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.5 }, + { "stat": "damage", "type": "bash", "scale": 0.66 }, + { "stat": "damage", "type": "cut", "scale": 0.66 }, + { "stat": "damage", "type": "stab", "scale": 0.66 } + ] }, { "type": "technique", @@ -959,7 +1030,7 @@ "dodge_counter": true, "knockback_dist": 1, "knockback_spread": 1, - "mult_bonuses": [ [ "movecost", 0.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ] }, { "type": "technique", @@ -971,7 +1042,11 @@ "crit_ok": true, "dodge_counter": true, "down_dur": 1, - "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "cut", 0 ], [ "damage", "stab", 0 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.0 }, + { "stat": "damage", "type": "cut", "scale": 0 }, + { "stat": "damage", "type": "stab", "scale": 0 } + ] }, { "type": "technique", @@ -1005,7 +1080,11 @@ "req_buffs": [ "buff_swordsmanship_oncrit" ], "crit_tec": true, "stun_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 1.5 ], [ "damage", "cut", 1.5 ], [ "damage", "stab", 1.5 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.5 }, + { "stat": "damage", "type": "cut", "scale": 1.5 }, + { "stat": "damage", "type": "stab", "scale": 1.5 } + ] }, { "type": "technique", @@ -1020,7 +1099,12 @@ "req_buffs": [ "buff_swordsmanship_onblock" ], "crit_tec": true, "stun_dur": 2, - "mult_bonuses": [ [ "movecost", 1.5 ], [ "damage", "bash", 3 ], [ "damage", "cut", 0 ], [ "damage", "stab", 0 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 1.5 }, + { "stat": "damage", "type": "bash", "scale": 3 }, + { "stat": "damage", "type": "cut", "scale": 0 }, + { "stat": "damage", "type": "stab", "scale": 0 } + ] }, { "type": "technique", @@ -1030,7 +1114,7 @@ "skill_requirements": [ { "name": "unarmed", "level": 1 } ], "unarmed_allowed": true, "crit_tec": true, - "mult_bonuses": [ [ "movecost", 0.5 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.5 } ] }, { "type": "technique", @@ -1039,7 +1123,7 @@ "messages": [ "You deal a powerful kick to %s", " deals a powerful kick to %s" ], "unarmed_allowed": true, "crit_ok": true, - "mult_bonuses": [ [ "damage", "bash", 1.3 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.3 } ] }, { "type": "technique", @@ -1050,7 +1134,7 @@ "unarmed_allowed": true, "crit_tec": true, "stun_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 1.4 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.4 } ] }, { "type": "technique", @@ -1071,7 +1155,7 @@ "skill_requirements": [ { "name": "melee", "level": 2 } ], "unarmed_allowed": true, "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 0.8 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 } ] }, { "type": "technique", @@ -1083,7 +1167,11 @@ "melee_allowed": true, "crit_tec": true, "stun_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 1.5 ], [ "damage", "cut", 1.5 ], [ "damage", "stab", 1.5 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.5 }, + { "stat": "damage", "type": "cut", "scale": 1.5 }, + { "stat": "damage", "type": "stab", "scale": 1.5 } + ] }, { "type": "technique", @@ -1095,7 +1183,7 @@ "crit_tec": true, "down_dur": 2, "stun_dur": 2, - "mult_bonuses": [ [ "damage", "bash", 2.0 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ] }, { "type": "technique", @@ -1104,7 +1192,11 @@ "messages": [ "You strike %s with the slow power of flowing water", " strikes %s with the slow power of flowing water" ], "skill_requirements": [ { "name": "melee", "level": 4 } ], "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 1.75 ], [ "damage", "bash", 2.0 ], [ "damage", "cut", 2.0 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 1.75 }, + { "stat": "damage", "type": "bash", "scale": 2.0 }, + { "stat": "damage", "type": "cut", "scale": 2.0 } + ] }, { "type": "technique", @@ -1124,7 +1216,7 @@ "melee_allowed": true, "crit_tec": true, "stun_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 1.5 ], [ "damage", "cut", 1.5 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.5 }, { "stat": "damage", "type": "cut", "scale": 1.5 } ] }, { "type": "technique", @@ -1136,7 +1228,11 @@ "req_buffs": [ "buff_niten_ondodge" ], "crit_ok": true, "stun_dur": 1, - "mult_bonuses": [ [ "movecost", 0.5 ], [ "damage", "bash", 1.5 ], [ "damage", "cut", 1.5 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.5 }, + { "stat": "damage", "type": "bash", "scale": 1.5 }, + { "stat": "damage", "type": "cut", "scale": 1.5 } + ] }, { "type": "technique", @@ -1147,7 +1243,7 @@ "melee_allowed": true, "defensive": true, "miss_recovery": true, - "mult_bonuses": [ [ "movecost", 0.8 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 } ] }, { "type": "technique", @@ -1155,7 +1251,7 @@ "name": "Cross", "messages": [ "You throw a heavy cross at %s", " throws a cross at %s" ], "unarmed_allowed": true, - "mult_bonuses": [ [ "damage", "bash", 1.2 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ] }, { "type": "technique", @@ -1186,7 +1282,7 @@ "unarmed_allowed": true, "stunned_target": true, "weighting": 3, - "mult_bonuses": [ [ "movecost", 0.5 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.5 } ] }, { "type": "technique", @@ -1200,7 +1296,7 @@ "weighting": 3, "disarms": true, "stun_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 1.25 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.25 } ] }, { "type": "technique", @@ -1215,7 +1311,7 @@ "knockback_dist": 2, "knockback_spread": 2, "stunned_target": true, - "mult_bonuses": [ [ "damage", "bash", 2.0 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ] }, { "type": "technique", @@ -1237,7 +1333,11 @@ "crit_ok": true, "downed_target": true, "weighting": 2, - "mult_bonuses": [ [ "damage", "bash", 1.33 ], [ "damage", "cut", 1.33 ], [ "damage", "stab", 1.33 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.33 }, + { "stat": "damage", "type": "cut", "scale": 1.33 }, + { "stat": "damage", "type": "stab", "scale": 1.33 } + ] }, { "type": "technique", @@ -1259,7 +1359,11 @@ "crit_ok": true, "stunned_target": true, "weighting": 2, - "mult_bonuses": [ [ "damage", "bash", 1.33 ], [ "damage", "cut", 1.33 ], [ "damage", "stab", 1.33 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1.33 }, + { "stat": "damage", "type": "cut", "scale": 1.33 }, + { "stat": "damage", "type": "stab", "scale": 1.33 } + ] }, { "type": "technique", @@ -1267,7 +1371,12 @@ "name": "Snake Snap", "messages": [ "You swiftly jab %s", " swiftly jabs %s" ], "unarmed_allowed": true, - "mult_bonuses": [ [ "movecost", 0.5 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 0.66 ], [ "damage", "stab", 0.66 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.5 }, + { "stat": "damage", "type": "bash", "scale": 0.66 }, + { "stat": "damage", "type": "cut", "scale": 0.66 }, + { "stat": "damage", "type": "stab", "scale": 0.66 } + ] }, { "type": "technique", @@ -1298,7 +1407,7 @@ "unarmed_allowed": true, "crit_tec": true, "stun_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 1.5 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.5 } ] }, { "type": "technique", @@ -1310,7 +1419,12 @@ "block_counter": true, "crit_ok": true, "knockback_dist": 1, - "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 0.5 ], [ "damage", "cut", 0.5 ], [ "damage", "stab", 0.5 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.0 }, + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "damage", "type": "stab", "scale": 0.5 } + ] }, { "type": "technique", @@ -1320,7 +1434,11 @@ "skill_requirements": [ { "name": "melee", "level": 2 } ], "melee_allowed": true, "knockback_dist": 1, - "mult_bonuses": [ [ "damage", "bash", 0.5 ], [ "damage", "cut", 0.5 ], [ "damage", "stab", 0.5 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "damage", "type": "stab", "scale": 0.5 } + ] }, { "type": "technique", @@ -1330,7 +1448,11 @@ "skill_requirements": [ { "name": "melee", "level": 3 } ], "melee_allowed": true, "down_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 0.5 ], [ "damage", "cut", 0.5 ], [ "damage", "stab", 0.5 ] ] + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "damage", "type": "stab", "scale": 0.5 } + ] }, { "type": "technique", @@ -1341,7 +1463,7 @@ "unarmed_allowed": true, "weighting": 2, "take_weapon": true, - "mult_bonuses": [ [ "damage", "bash", 0.5 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 0.5 } ] }, { "type": "technique", @@ -1412,7 +1534,7 @@ "unarmed_allowed": true, "req_buffs": [ "buff_tai_chi_onpause" ], "knockback_dist": 1, - "mult_bonuses": [ [ "damage", "bash", 1.5 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.5 } ] }, { "type": "technique", @@ -1424,7 +1546,7 @@ "block_counter": true, "crit_ok": true, "down_dur": 1, - "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 1.2 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 }, { "stat": "damage", "type": "bash", "scale": 1.2 } ] }, { "type": "technique", @@ -1437,7 +1559,7 @@ "req_buffs": [ "buff_tai_chi_onpause" ], "knockback_dist": 1, "stun_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 2.0 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 2.0 } ] }, { "type": "technique", @@ -1465,7 +1587,7 @@ "name": "Straight Punch", "messages": [ "You deliver a vertical straight punch to %s", " delivers a vertical straight punch to %s" ], "unarmed_allowed": true, - "mult_bonuses": [ [ "damage", "bash", 1.1 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.1 } ] }, { "type": "technique", @@ -1478,7 +1600,7 @@ "weighting": 2, "knockback_dist": 1, "knockback_follow": true, - "mult_bonuses": [ [ "damage", "bash", 1.1 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.1 } ] }, { "type": "technique", @@ -1489,7 +1611,7 @@ "unarmed_allowed": true, "crit_tec": true, "down_dur": 1, - "mult_bonuses": [ [ "damage", "bash", 1.2 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ] }, { "type": "technique", @@ -1504,7 +1626,7 @@ "down_dur": 1, "knockback_dist": 1, "knockback_follow": true, - "mult_bonuses": [ [ "damage", "bash", 1.2 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ] }, { "type": "technique", @@ -1525,7 +1647,7 @@ "unarmed_allowed": true, "dodge_counter": true, "crit_ok": true, - "mult_bonuses": [ [ "movecost", 0.0 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 } ] }, { "type": "technique", @@ -1545,7 +1667,7 @@ "unarmed_allowed": true, "dodge_counter": true, "crit_ok": true, - "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 1.25 ] ] + "mult_bonuses": [ { "stat": "movecost", "scale": 0.0 }, { "stat": "damage", "type": "bash", "scale": 1.25 } ] }, { "type": "technique", @@ -1565,8 +1687,11 @@ "unarmed_allowed": true, "unarmed_weapons_allowed": false, "skill_requirements": [ { "name": "unarmed", "level": 3 } ], - "mult_bonuses": [ [ "damage", "bash", 3.0 ], [ "damage", "bash", "str", 0.1 ] ], - "flat_bonuses": [ [ "movecost", 100 ], [ "movecost", "str", 10 ] ], + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 3.0 }, + { "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.1 } + ], + "flat_bonuses": [ { "stat": "movecost", "scale": 100 }, { "stat": "movecost", "scaling-stat": "str", "scale": 10 } ], "messages": [ "You slowly strike %s", " slowly strikes %s" ] }, { @@ -1576,8 +1701,16 @@ "unarmed_allowed": true, "melee_allowed": true, "skill_requirements": [ { "name": "melee", "level": 3 } ], - "mult_bonuses": [ [ "damage", "bash", 0.2 ], [ "damage", "cut", 0.2 ], [ "damage", "stab", 0.2 ], [ "movecost", 0.3 ] ], - "flat_bonuses": [ [ "arpen", "bash", 10 ], [ "arpen", "bash", "per", 1 ] ], + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 0.2 }, + { "stat": "damage", "type": "cut", "scale": 0.2 }, + { "stat": "damage", "type": "stab", "scale": 0.2 }, + { "stat": "movecost", "scale": 0.3 } + ], + "flat_bonuses": [ + { "stat": "arpen", "type": "bash", "scale": 10 }, + { "stat": "arpen", "type": "bash", "scaling-stat": "per", "scale": 1 } + ], "crit_tec": true, "messages": [ "You phase-strike %s", " phase-strikes %s" ] } diff --git a/data/mods/Aftershock/player/techniques.json b/data/mods/Aftershock/player/techniques.json index 3bb4fe7ef77af..c8aaf058f3142 100644 --- a/data/mods/Aftershock/player/techniques.json +++ b/data/mods/Aftershock/player/techniques.json @@ -7,7 +7,7 @@ "melee_allowed": true, "skill_requirements": [ { "name": "melee", "level": 3 } ], "crit_tec": true, - "mult_bonuses": [ [ "damage", "bash", 1.5 ] ], + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.5 } ], "stun_dur": 3, "knockback_dist": 2, "weighting": 1, diff --git a/data/mods/CRT_EXPANSION/martial/CRT_Bladework.json b/data/mods/CRT_EXPANSION/martial/CRT_Bladework.json index c29c059baa6fe..3cce8711ce7ea 100644 --- a/data/mods/CRT_EXPANSION/martial/CRT_Bladework.json +++ b/data/mods/CRT_EXPANSION/martial/CRT_Bladework.json @@ -29,7 +29,12 @@ "unarmed_allowed": true, "melee_allowed": true, "skill_requirements": [ { "name": "unarmed", "level": 2 } ], - "flat_bonuses": [ [ "damage", "stab", 1 ], [ "damage", "cut", 1 ], [ "arpen", "stab", 1 ], [ "arpen", "cut", 1 ] ] + "flat_bonuses": [ + { "stat": "damage", "type": "stab", "scale": 1 }, + { "stat": "damage", "type": "cut", "scale": 1 }, + { "stat": "arpen", "type": "stab", "scale": 1 }, + { "stat": "arpen", "type": "cut", "scale": 1 } + ] } ], "onhit_buffs": [ @@ -42,7 +47,11 @@ "skill_requirements": [ { "name": "unarmed", "level": 3 } ], "buff_duration": 1, "max_stacks": 4, - "flat_bonuses": [ [ "damage", "stab", 0.25 ], [ "damage", "cut", 0.5 ], [ "arpen", "cut", 1 ] ] + "flat_bonuses": [ + { "stat": "damage", "type": "stab", "scale": 0.25 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "arpen", "type": "cut", "scale": 1 } + ] } ], "techniques": [ "tec_crt_blade_normal", "tec_crt_blade_rapid", "tec_crt_blade_precise", "tec_crt_blade_arpen", "tec_feint" ], @@ -81,7 +90,11 @@ "skill_requirements": [ { "name": "unarmed", "level": 1 }, { "name": "melee", "level": 1 } ], "unarmed_allowed": true, "melee_allowed": true, - "mult_bonuses": [ [ "damage", "bash", 0.8 ], [ "damage", "cut", 0.7 ], [ "damage", "stab", 0.6 ] ], + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 0.8 }, + { "stat": "damage", "type": "cut", "scale": 0.7 }, + { "stat": "damage", "type": "stab", "scale": 0.6 } + ], "messages": [ "You release a blindingly fast slash at %s", " slashes at %s" ] }, { @@ -91,7 +104,12 @@ "skill_requirements": [ { "name": "unarmed", "level": 2 }, { "name": "melee", "level": 2 } ], "unarmed_allowed": true, "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 0.77 ], [ "damage", "bash", 0.55 ], [ "damage", "cut", 0.66 ], [ "damage", "stab", 0.88 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.77 }, + { "stat": "damage", "type": "bash", "scale": 0.55 }, + { "stat": "damage", "type": "cut", "scale": 0.66 }, + { "stat": "damage", "type": "stab", "scale": 0.88 } + ], "messages": [ "You swiftly jab your weapon at %s", " swiftly jabs their weapon at %s" ] }, { @@ -101,7 +119,12 @@ "skill_requirements": [ { "name": "unarmed", "level": 3 }, { "name": "melee", "level": 3 } ], "unarmed_allowed": true, "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 0.8 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 1.05 ], [ "damage", "stab", 1.0 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.8 }, + { "stat": "damage", "type": "bash", "scale": 0.66 }, + { "stat": "damage", "type": "cut", "scale": 1.05 }, + { "stat": "damage", "type": "stab", "scale": 1.0 } + ], "crit_tec": true, "messages": [ "You release a debilitating swipe at %s", " releases a debilitating swipe at %s" ], "down_dur": 2 @@ -115,11 +138,11 @@ "unarmed_allowed": true, "melee_allowed": true, "mult_bonuses": [ - [ "damage", "bash", 0.5 ], - [ "damage", "cut", 1.1 ], - [ "damage", "stab", 1.1 ], - [ "arpen", "stab", 0.25 ], - [ "arpen", "cut", 0.5 ] + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 1.1 }, + { "stat": "damage", "type": "stab", "scale": 1.1 }, + { "stat": "arpen", "type": "stab", "scale": 0.25 }, + { "stat": "arpen", "type": "cut", "scale": 0.5 } ], "crit_tec": true, "messages": [ diff --git a/data/mods/CRT_EXPANSION/martial/CRT_EnforcementBuff.json b/data/mods/CRT_EXPANSION/martial/CRT_EnforcementBuff.json index 2761d3e981896..3b02263559fc0 100644 --- a/data/mods/CRT_EXPANSION/martial/CRT_EnforcementBuff.json +++ b/data/mods/CRT_EXPANSION/martial/CRT_EnforcementBuff.json @@ -29,11 +29,11 @@ "unarmed_allowed": true, "melee_allowed": true, "flat_bonuses": [ - [ "arpen", "bash", "str", 0.15 ], - [ "armor", "bash", 1 ], - [ "armor", "cut", 1 ], - [ "armor", "stab", 1 ], - [ "hit", "str", 0.4 ] + { "stat": "arpen", "type": "bash", "scaling-stat": "str", "scale": 0.15 }, + { "stat": "armor", "type": "bash", "scale": 1 }, + { "stat": "armor", "type": "cut", "scale": 1 }, + { "stat": "armor", "type": "stab", "scale": 1 }, + { "stat": "hit", "scaling-stat": "str", "scale": 0.4 } ] } ], @@ -48,13 +48,13 @@ "buff_duration": 10, "max_stacks": 10, "flat_bonuses": [ - [ "damage", "bash", "str", 0.01 ], - [ "armor", "bash", 0.05 ], - [ "armor", "cut", 0.05 ], - [ "armor", "stab", 0.05 ], - [ "armor", "bash", "str", 0.15 ], - [ "armor", "cut", "str", 0.125 ], - [ "armor", "stab", "str", 0.075 ] + { "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.01 }, + { "stat": "armor", "type": "bash", "scale": 0.05 }, + { "stat": "armor", "type": "cut", "scale": 0.05 }, + { "stat": "armor", "type": "stab", "scale": 0.05 }, + { "stat": "armor", "type": "bash", "scaling-stat": "str", "scale": 0.15 }, + { "stat": "armor", "type": "cut", "scaling-stat": "str", "scale": 0.125 }, + { "stat": "armor", "type": "stab", "scaling-stat": "str", "scale": 0.075 } ] } ], @@ -90,8 +90,15 @@ "skill_requirements": [ { "name": "unarmed", "level": 1 }, { "name": "melee", "level": 1 } ], "unarmed_allowed": true, "melee_allowed": true, - "mult_bonuses": [ [ "damage", "bash", 1 ], [ "damage", "cut", 1 ], [ "damage", "stab", 1 ] ], - "flat_bonuses": [ [ "damage", "bash", "str", 0.15 ], [ "movecost", "str", -0.7 ] ], + "mult_bonuses": [ + { "stat": "damage", "type": "bash", "scale": 1 }, + { "stat": "damage", "type": "cut", "scale": 1 }, + { "stat": "damage", "type": "stab", "scale": 1 } + ], + "flat_bonuses": [ + { "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.15 }, + { "stat": "movecost", "scaling-stat": "str", "scale": -0.7 } + ], "messages": [ "You clock %s's in a weak spot to knock em down", " smashes in %s's face" ], "down_dur": 1 }, @@ -102,8 +109,16 @@ "skill_requirements": [ { "name": "unarmed", "level": 3 }, { "name": "melee", "level": 2 } ], "unarmed_allowed": true, "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 1.04 ], [ "damage", "bash", 1 ], [ "damage", "cut", 1.05 ], [ "damage", "stab", 1.05 ] ], - "flat_bonuses": [ [ "arpen", "bash", "str", 0.2 ], [ "movecost", "str", -1.2 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 1.04 }, + { "stat": "damage", "type": "bash", "scale": 1 }, + { "stat": "damage", "type": "cut", "scale": 1.05 }, + { "stat": "damage", "type": "stab", "scale": 1.05 } + ], + "flat_bonuses": [ + { "stat": "arpen", "type": "bash", "scaling-stat": "str", "scale": 0.2 }, + { "stat": "movecost", "scaling-stat": "str", "scale": -1.2 } + ], "messages": [ "You swiftly swipe your weapon's tip at %s", " swiftly jabs their weapon into %s" ] }, { @@ -113,8 +128,17 @@ "skill_requirements": [ { "name": "unarmed", "level": 4 }, { "name": "melee", "level": 3 } ], "unarmed_allowed": true, "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 1.35 ], [ "damage", "bash", 1.15 ], [ "damage", "cut", 1.05 ], [ "damage", "stab", 1.0 ] ], - "flat_bonuses": [ [ "arpen", "bash", "str", 0.5 ], [ "damage", "cut", "str", 0.25 ], [ "movecost", "str", -1.5 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 1.35 }, + { "stat": "damage", "type": "bash", "scale": 1.15 }, + { "stat": "damage", "type": "cut", "scale": 1.05 }, + { "stat": "damage", "type": "stab", "scale": 1.0 } + ], + "flat_bonuses": [ + { "stat": "arpen", "type": "bash", "scaling-stat": "str", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scaling-stat": "str", "scale": 0.25 }, + { "stat": "movecost", "scaling-stat": "str", "scale": -1.5 } + ], "crit_tec": true, "messages": [ "You steady your arm and release a crushing blow at %s", " releases a crushing blow at %s" ], "stun_dur": 3, diff --git a/data/mods/CRT_EXPANSION/martial/CRT_MeleeBuffs.json b/data/mods/CRT_EXPANSION/martial/CRT_MeleeBuffs.json index 68bcd01f36222..1cfb52622d9dc 100644 --- a/data/mods/CRT_EXPANSION/martial/CRT_MeleeBuffs.json +++ b/data/mods/CRT_EXPANSION/martial/CRT_MeleeBuffs.json @@ -39,14 +39,14 @@ "unarmed_allowed": true, "melee_allowed": true, "flat_bonuses": [ - [ "damage", "stab", "dex", 0.15 ], - [ "damage", "cut", "dex", 0.05 ], - [ "arpen", "stab", "dex", 0.25 ], - [ "arpen", "cut", "dex", 0.15 ], - [ "dodge", "dex", 0.1 ], - [ "hit", "dex", 0.15 ] + { "stat": "damage", "type": "stab", "scaling-stat": "dex", "scale": 0.15 }, + { "stat": "damage", "type": "cut", "scaling-stat": "dex", "scale": 0.05 }, + { "stat": "arpen", "type": "stab", "scaling-stat": "dex", "scale": 0.25 }, + { "stat": "arpen", "type": "cut", "scaling-stat": "dex", "scale": 0.15 }, + { "stat": "dodge", "scaling-stat": "dex", "scale": 0.1 }, + { "stat": "hit", "scaling-stat": "dex", "scale": 0.15 } ], - "mult_bonuses": [ [ "damage", "bash", 0.5 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 0.5 } ] } ], "onhit_buffs": [ @@ -59,8 +59,17 @@ "skill_requirements": [ { "name": "unarmed", "level": 1 } ], "buff_duration": 2, "max_stacks": 10, - "flat_bonuses": [ [ "movecost", "dex", -0.05 ], [ "movecost", 0.1 ], [ "damage", "stab", 0.1 ] ], - "mult_bonuses": [ [ "damage", "stab", 1.075 ], [ "damage", "cut", 1.02 ], [ "arpen", "stab", 1.01 ], [ "dodge", 1.02 ] ] + "flat_bonuses": [ + { "stat": "movecost", "scaling-stat": "dex", "scale": -0.05 }, + { "stat": "movecost", "scale": 0.1 }, + { "stat": "damage", "type": "stab", "scale": 0.1 } + ], + "mult_bonuses": [ + { "stat": "damage", "type": "stab", "scale": 1.075 }, + { "stat": "damage", "type": "cut", "scale": 1.02 }, + { "stat": "arpen", "type": "stab", "scale": 1.01 }, + { "stat": "dodge", "scale": 1.02 } + ] } ], "techniques": [ @@ -80,8 +89,17 @@ "skill_requirements": [ { "name": "unarmed", "level": 1 } ], "unarmed_allowed": true, "melee_allowed": false, - "mult_bonuses": [ [ "movecost", 0.85 ], [ "damage", "bash", 0.8 ], [ "damage", "cut", 1.025 ], [ "damage", "stab", 1.05 ] ], - "flat_bonuses": [ [ "damage", "stab", "dex", 0.2 ], [ "damage", "cut", "dex", 0.1 ], [ "movecost", "dex", -0.15 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.85 }, + { "stat": "damage", "type": "bash", "scale": 0.8 }, + { "stat": "damage", "type": "cut", "scale": 1.025 }, + { "stat": "damage", "type": "stab", "scale": 1.05 } + ], + "flat_bonuses": [ + { "stat": "damage", "type": "stab", "scaling-stat": "dex", "scale": 0.2 }, + { "stat": "damage", "type": "cut", "scaling-stat": "dex", "scale": 0.1 }, + { "stat": "movecost", "scaling-stat": "dex", "scale": -0.15 } + ], "messages": [ "You quickly dig your fingers into %s", " digs their fingers into %s" ] }, { @@ -91,8 +109,17 @@ "skill_requirements": [ { "name": "unarmed", "level": 3 } ], "unarmed_allowed": true, "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 0.7 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 0.7 ], [ "damage", "stab", 0.8 ] ], - "flat_bonuses": [ [ "damage", "stab", "dex", 0.015 ], [ "damage", "cut", "dex", 0.0125 ], [ "movecost", "dex", -0.35 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.7 }, + { "stat": "damage", "type": "bash", "scale": 0.66 }, + { "stat": "damage", "type": "cut", "scale": 0.7 }, + { "stat": "damage", "type": "stab", "scale": 0.8 } + ], + "flat_bonuses": [ + { "stat": "damage", "type": "stab", "scaling-stat": "dex", "scale": 0.015 }, + { "stat": "damage", "type": "cut", "scaling-stat": "dex", "scale": 0.0125 }, + { "stat": "movecost", "scaling-stat": "dex", "scale": -0.35 } + ], "messages": [ "You swiftly impale your fingers into %s joints", " swiftly impales their fingers into %s" ] }, { @@ -102,8 +129,17 @@ "skill_requirements": [ { "name": "melee", "level": 3 } ], "unarmed_allowed": false, "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 0.8 ], [ "damage", "bash", 0.5 ], [ "damage", "cut", 0.66 ], [ "damage", "stab", 0.75 ] ], - "flat_bonuses": [ [ "damage", "stab", "dex", 0.015 ], [ "damage", "cut", "dex", 0.0125 ], [ "movecost", "dex", -0.35 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.8 }, + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.66 }, + { "stat": "damage", "type": "stab", "scale": 0.75 } + ], + "flat_bonuses": [ + { "stat": "damage", "type": "stab", "scaling-stat": "dex", "scale": 0.015 }, + { "stat": "damage", "type": "cut", "scaling-stat": "dex", "scale": 0.0125 }, + { "stat": "movecost", "scaling-stat": "dex", "scale": -0.35 } + ], "messages": [ "You explosively jab your weapon at %s joints", " explosively jabs at %s" ] }, { @@ -113,8 +149,17 @@ "skill_requirements": [ { "name": "unarmed", "level": 4 } ], "unarmed_allowed": true, "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 0.8 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 1.1 ], [ "damage", "stab", 1.25 ] ], - "flat_bonuses": [ [ "damage", "stab", "dex", 0.2 ], [ "damage", "cut", "dex", 0.01 ], [ "movecost", "dex", -0.2 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.8 }, + { "stat": "damage", "type": "bash", "scale": 0.66 }, + { "stat": "damage", "type": "cut", "scale": 1.1 }, + { "stat": "damage", "type": "stab", "scale": 1.25 } + ], + "flat_bonuses": [ + { "stat": "damage", "type": "stab", "scaling-stat": "dex", "scale": 0.2 }, + { "stat": "damage", "type": "cut", "scaling-stat": "dex", "scale": 0.01 }, + { "stat": "movecost", "scaling-stat": "dex", "scale": -0.2 } + ], "crit_tec": true, "messages": [ "You steady your hand and release a piercing jab at %s", " releases a piercing jab at %s" ], "stun_dur": 1 @@ -128,14 +173,18 @@ "unarmed_allowed": true, "melee_allowed": true, "mult_bonuses": [ - [ "movecost", 0.9 ], - [ "damage", "bash", 0.2 ], - [ "damage", "cut", 1.25 ], - [ "arpen", "cut", "dex", 0.15 ], - [ "damage", "stab", 1.5 ], - [ "arpen", "stab", "dex", 0.3 ] + { "stat": "movecost", "scale": 0.9 }, + { "stat": "damage", "type": "bash", "scale": 0.2 }, + { "stat": "damage", "type": "cut", "scale": 1.25 }, + { "stat": "arpen", "type": "cut", "scaling-stat": "dex", "scale": 0.15 }, + { "stat": "damage", "type": "stab", "scale": 1.5 }, + { "stat": "arpen", "type": "stab", "scaling-stat": "dex", "scale": 0.3 } + ], + "flat_bonuses": [ + { "stat": "damage", "type": "stab", "scaling-stat": "dex", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scaling-stat": "dex", "scale": 0.25 }, + { "stat": "movecost", "scaling-stat": "dex", "scale": -0.5 } ], - "flat_bonuses": [ [ "damage", "stab", "dex", 0.5 ], [ "damage", "cut", "dex", 0.25 ], [ "movecost", "dex", -0.5 ] ], "crit_tec": true, "messages": [ "You envision a gathering tempest in and then release it's energy on %s's top half", diff --git a/data/mods/CRT_EXPANSION/martial/crt_gun_techniques.json b/data/mods/CRT_EXPANSION/martial/crt_gun_techniques.json index 24b3738778380..9acc3d4967e6a 100644 --- a/data/mods/CRT_EXPANSION/martial/crt_gun_techniques.json +++ b/data/mods/CRT_EXPANSION/martial/crt_gun_techniques.json @@ -5,8 +5,13 @@ "name": "HOOK", "skill_requirements": [ { "name": "melee", "level": 2 } ], "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 0.95 ], [ "damage", "bash", 0.88 ], [ "damage", "cut", 0.66 ], [ "damage", "stab", 0.66 ] ], - "flat_bonuses": [ [ "movecost", "per", -0.25 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.95 }, + { "stat": "damage", "type": "bash", "scale": 0.88 }, + { "stat": "damage", "type": "cut", "scale": 0.66 }, + { "stat": "damage", "type": "stab", "scale": 0.66 } + ], + "flat_bonuses": [ { "stat": "movecost", "scaling-stat": "per", "scale": -0.25 } ], "stun_dur": 2, "messages": [ "Your pistol whip sends %s careening", " smacks %s" ], "description": "95% moves, 88% Bash, 66% Cut, 66% Stab, Down two turns, STR (C) greatly reduces action cost" @@ -18,12 +23,17 @@ "skill_requirements": [ { "name": "melee", "level": 2 } ], "melee_allowed": true, "knockback_dist": 1, - "mult_bonuses": [ [ "movecost", 0.6 ], [ "damage", "bash", 0.5 ], [ "damage", "cut", 0.5 ], [ "damage", "stab", 0.5 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.6 }, + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "damage", "type": "stab", "scale": 0.5 } + ], "flat_bonuses": [ - [ "movecost", "str", -1.0 ], - [ "damage", "bash", "per", 0.15 ], - [ "damage", "stab", "per", 0.1 ], - [ "damage", "cut", "per", 0.1 ] + { "stat": "movecost", "scaling-stat": "str", "scale": -1.0 }, + { "stat": "damage", "type": "bash", "scaling-stat": "per", "scale": 0.15 }, + { "stat": "damage", "type": "stab", "scaling-stat": "per", "scale": 0.1 }, + { "stat": "damage", "type": "cut", "scaling-stat": "per", "scale": 0.1 } ], "messages": [ "Your swing the stock of your weapon at %s", " strikes at %s" ], "aoe": "wide", diff --git a/data/mods/CRT_EXPANSION/martial/dragonslayertechn.json b/data/mods/CRT_EXPANSION/martial/dragonslayertechn.json index 54115bfbf546c..c7a40fa52e2ea 100644 --- a/data/mods/CRT_EXPANSION/martial/dragonslayertechn.json +++ b/data/mods/CRT_EXPANSION/martial/dragonslayertechn.json @@ -6,12 +6,17 @@ "skill_requirements": [ { "name": "melee", "level": 1 } ], "unarmed_allowed": false, "melee_allowed": true, - "mult_bonuses": [ [ "movecost", 0.3 ], [ "damage", "bash", 0.77 ], [ "damage", "cut", 0.77 ], [ "damage", "stab", 0.77 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.3 }, + { "stat": "damage", "type": "bash", "scale": 0.77 }, + { "stat": "damage", "type": "cut", "scale": 0.77 }, + { "stat": "damage", "type": "stab", "scale": 0.77 } + ], "flat_bonuses": [ - [ "movecost", "str", -10 ], - [ "damage", "bash", "str", 0.8 ], - [ "damage", "stab", "str", 1.5 ], - [ "damage", "cut", "str", 0.8 ] + { "stat": "movecost", "scaling-stat": "str", "scale": -10 }, + { "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.8 }, + { "stat": "damage", "type": "stab", "scaling-stat": "str", "scale": 1.5 }, + { "stat": "damage", "type": "cut", "scaling-stat": "str", "scale": 0.8 } ], "down_dur": 2, "messages": [ "Your swing makes %s stagger and fall", " hooks %s" ], @@ -25,12 +30,17 @@ "unarmed_allowed": false, "melee_allowed": true, "knockback_dist": 1, - "mult_bonuses": [ [ "movecost", 0.15 ], [ "damage", "bash", 0.35 ], [ "damage", "cut", 0.35 ], [ "damage", "stab", 0.35 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.15 }, + { "stat": "damage", "type": "bash", "scale": 0.35 }, + { "stat": "damage", "type": "cut", "scale": 0.35 }, + { "stat": "damage", "type": "stab", "scale": 0.35 } + ], "flat_bonuses": [ - [ "movecost", "str", -15 ], - [ "damage", "bash", "str", 0.1 ], - [ "damage", "stab", "str", 0.3 ], - [ "damage", "cut", "str", 0.1 ] + { "stat": "movecost", "scaling-stat": "str", "scale": -15 }, + { "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.1 }, + { "stat": "damage", "type": "stab", "scaling-stat": "str", "scale": 0.3 }, + { "stat": "damage", "type": "cut", "scaling-stat": "str", "scale": 0.1 } ], "messages": [ "Your momentum causes your weapon to strike %s", " inertially strikes %s" ], "aoe": "wide", @@ -44,13 +54,18 @@ "unarmed_allowed": true, "melee_allowed": true, "crit_tec": true, - "mult_bonuses": [ [ "movecost", 0.35 ], [ "damage", "bash", 1.05 ], [ "damage", "cut", 1.25 ], [ "damage", "stab", 1.05 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.35 }, + { "stat": "damage", "type": "bash", "scale": 1.05 }, + { "stat": "damage", "type": "cut", "scale": 1.25 }, + { "stat": "damage", "type": "stab", "scale": 1.05 } + ], "flat_bonuses": [ - [ "movecost", "str", -15 ], - [ "movecost", "dex", -7 ], - [ "damage", "bash", "per", 0.15 ], - [ "damage", "cut", "per", 0.3 ], - [ "damage", "stab", "per", 0.15 ] + { "stat": "movecost", "scaling-stat": "str", "scale": -15 }, + { "stat": "movecost", "scaling-stat": "dex", "scale": -7 }, + { "stat": "damage", "type": "bash", "scaling-stat": "per", "scale": 0.15 }, + { "stat": "damage", "type": "cut", "scaling-stat": "per", "scale": 0.3 }, + { "stat": "damage", "type": "stab", "scaling-stat": "per", "scale": 0.15 } ], "messages": [ "You wind up the sword and release a well placed swing at %s", " chops %s" ], "description": "Crit only, 35% move cost, 105% Bash and Stab, 125% Cut, DEX (D) and PER (E) reduces action cost and increases overall (B) damage, min 2 melee" diff --git a/data/mods/CRT_EXPANSION/martial/generaltechn.json b/data/mods/CRT_EXPANSION/martial/generaltechn.json index 942c3d3e4c220..00846be7de403 100644 --- a/data/mods/CRT_EXPANSION/martial/generaltechn.json +++ b/data/mods/CRT_EXPANSION/martial/generaltechn.json @@ -3,8 +3,13 @@ "type": "technique", "id": "HOOK", "name": "HOOK", - "mult_bonuses": [ [ "movecost", 0.85 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 0.76 ], [ "damage", "stab", 0.86 ] ], - "flat_bonuses": [ [ "movecost", "str", -0.25 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.85 }, + { "stat": "damage", "type": "bash", "scale": 0.66 }, + { "stat": "damage", "type": "cut", "scale": 0.76 }, + { "stat": "damage", "type": "stab", "scale": 0.86 } + ], + "flat_bonuses": [ { "stat": "movecost", "scaling-stat": "str", "scale": -0.25 } ], "down_dur": 2, "messages": [ "Your hooking attack makes %s stagger and fall", " hooks %s" ], "description": "85% moves, 66% Bash, 76% Cut, 86% Stab, Down two turns, STR (C) greatly reduces action cost" @@ -17,12 +22,17 @@ "unarmed_allowed": true, "melee_allowed": true, "knockback_dist": 1, - "mult_bonuses": [ [ "movecost", 0.6 ], [ "damage", "bash", 0.5 ], [ "damage", "cut", 0.5 ], [ "damage", "stab", 0.5 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.6 }, + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.5 }, + { "stat": "damage", "type": "stab", "scale": 0.5 } + ], "flat_bonuses": [ - [ "movecost", "str", -1.0 ], - [ "damage", "bash", "str", 0.1 ], - [ "damage", "stab", "str", 0.1 ], - [ "damage", "cut", "str", 0.1 ] + { "stat": "movecost", "scaling-stat": "str", "scale": -1.0 }, + { "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.1 }, + { "stat": "damage", "type": "stab", "scaling-stat": "str", "scale": 0.1 }, + { "stat": "damage", "type": "cut", "scaling-stat": "str", "scale": 0.1 } ], "messages": [ "Your momentum causes your weapon to glance off of %s", " inertially strikes %s" ], "aoe": "wide", @@ -36,13 +46,18 @@ "unarmed_allowed": true, "melee_allowed": true, "crit_tec": true, - "mult_bonuses": [ [ "movecost", 1.18 ], [ "damage", "bash", 1.05 ], [ "damage", "cut", 1.25 ], [ "damage", "stab", 1.05 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 1.18 }, + { "stat": "damage", "type": "bash", "scale": 1.05 }, + { "stat": "damage", "type": "cut", "scale": 1.25 }, + { "stat": "damage", "type": "stab", "scale": 1.05 } + ], "flat_bonuses": [ - [ "movecost", "dex", -0.2 ], - [ "movecost", "per", -0.125 ], - [ "damage", "bash", "per", 0.15 ], - [ "damage", "cut", "per", 0.3 ], - [ "damage", "stab", "per", 0.15 ] + { "stat": "movecost", "scaling-stat": "dex", "scale": -0.2 }, + { "stat": "movecost", "scaling-stat": "per", "scale": -0.125 }, + { "stat": "damage", "type": "bash", "scaling-stat": "per", "scale": 0.15 }, + { "stat": "damage", "type": "cut", "scaling-stat": "per", "scale": 0.3 }, + { "stat": "damage", "type": "stab", "scaling-stat": "per", "scale": 0.15 } ], "messages": [ "You draw back your arm and release a well placed chop %s", " chops %s" ], "description": "Crit only, 118% move cost, 105% Bash and Stab, 125% Cut, DEX (D) and PER (E) reduces action cost and increases overall (B) damage, min 2 melee" @@ -55,13 +70,18 @@ "unarmed_allowed": true, "melee_allowed": true, "crit_tec": true, - "mult_bonuses": [ [ "movecost", 1.18 ], [ "damage", "bash", 1.2 ], [ "damage", "cut", 1.1 ], [ "damage", "stab", 1.05 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 1.18 }, + { "stat": "damage", "type": "bash", "scale": 1.2 }, + { "stat": "damage", "type": "cut", "scale": 1.1 }, + { "stat": "damage", "type": "stab", "scale": 1.05 } + ], "flat_bonuses": [ - [ "movecost", "dex", -0.2 ], - [ "movecost", "str", -0.125 ], - [ "damage", "bash", "str", 0.25 ], - [ "damage", "cut", "str", 0.15 ], - [ "damage", "stab", "str", 0.15 ] + { "stat": "movecost", "scaling-stat": "dex", "scale": -0.2 }, + { "stat": "movecost", "scaling-stat": "str", "scale": -0.125 }, + { "stat": "damage", "type": "bash", "scaling-stat": "str", "scale": 0.25 }, + { "stat": "damage", "type": "cut", "scaling-stat": "str", "scale": 0.15 }, + { "stat": "damage", "type": "stab", "scaling-stat": "str", "scale": 0.15 } ], "messages": [ "You grip your weapon with two hands and slam it into %s", " smashes their weapon onto %s" ], "description": "Crit only, 110% move cost, 120% Bash, 105% Stab, 110% Cut, DEX (C) and STR (D) reduces action cost and increases overall (C) damage, min 2 melee" @@ -75,8 +95,13 @@ "melee_allowed": true, "crit_tec": true, "stun_dur": 1, - "mult_bonuses": [ [ "movecost", 1.2 ], [ "damage", "bash", 1.25 ], [ "damage", "cut", 1.25 ], [ "damage", "stab", 1.25 ] ], - "flat_bonuses": [ [ "movecost", "str", -0.8 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 1.2 }, + { "stat": "damage", "type": "bash", "scale": 1.25 }, + { "stat": "damage", "type": "cut", "scale": 1.25 }, + { "stat": "damage", "type": "stab", "scale": 1.25 } + ], + "flat_bonuses": [ { "stat": "movecost", "scaling-stat": "str", "scale": -0.8 } ], "messages": [ "You lunge forward with all your weight and swing upwards at %s", " swings upwards with all their weight at %s" @@ -91,8 +116,16 @@ "melee_allowed": true, "knockback_dist": 2, "stun_dur": 1, - "mult_bonuses": [ [ "movecost", 0.65 ], [ "damage", "bash", 0.5 ], [ "damage", "cut", 0.15 ], [ "damage", "stab", 0.35 ] ], - "flat_bonuses": [ [ "movecost", "str", -0.15 ], [ "movecost", "dex", -0.1 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.65 }, + { "stat": "damage", "type": "bash", "scale": 0.5 }, + { "stat": "damage", "type": "cut", "scale": 0.15 }, + { "stat": "damage", "type": "stab", "scale": 0.35 } + ], + "flat_bonuses": [ + { "stat": "movecost", "scaling-stat": "str", "scale": -0.15 }, + { "stat": "movecost", "scaling-stat": "dex", "scale": -0.1 } + ], "messages": [ "You quickly shove %s out of the way", " quickly shoves %s" ], "description": "65% moves, dramatically reduced damage, knockback 2 tiles, stun 1 turn, STR (D) and DEX (E) reduce action cost" }, @@ -104,8 +137,16 @@ "unarmed_allowed": false, "melee_allowed": true, "knockback_dist": 2, - "mult_bonuses": [ [ "movecost", 0.75 ], [ "damage", "bash", 1.1 ], [ "damage", "cut", 0 ], [ "damage", "stab", 1.1 ] ], - "flat_bonuses": [ [ "movecost", "str", -0.3 ], [ "movecost", "dex", -0.15 ] ], + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.75 }, + { "stat": "damage", "type": "bash", "scale": 1.1 }, + { "stat": "damage", "type": "cut", "scale": 0 }, + { "stat": "damage", "type": "stab", "scale": 1.1 } + ], + "flat_bonuses": [ + { "stat": "movecost", "scaling-stat": "str", "scale": -0.3 }, + { "stat": "movecost", "scaling-stat": "dex", "scale": -0.15 } + ], "messages": [ "You quickly shove %s out of the way with your weapon", " quickly shoves %s" ], "description": "75% moves, no cut damage, 110% Bash and Stab damage, knockback 2 tiles, STR (B) and DEX (C) reduce action cost, min melee 1" }, @@ -118,7 +159,7 @@ "melee_allowed": true, "crit_tec": true, "weighting": 2, - "mult_bonuses": [ [ "damage", "cut", 1.1 ], [ "damage", "stab", 1.15 ] ], + "mult_bonuses": [ { "stat": "damage", "type": "cut", "scale": 1.1 }, { "stat": "damage", "type": "stab", "scale": 1.15 } ], "messages": [ "You stab into %s and rake your blade out", " tears into %s flesh" ], "description": "Crit only, 110% Cut, 115% Stab, min melee 2" } diff --git a/data/mods/CRT_EXPANSION/martial/stabtechn.json b/data/mods/CRT_EXPANSION/martial/stabtechn.json index 7f9677dfcfd7c..b1948ea60ee88 100644 --- a/data/mods/CRT_EXPANSION/martial/stabtechn.json +++ b/data/mods/CRT_EXPANSION/martial/stabtechn.json @@ -8,8 +8,11 @@ "melee_allowed": true, "crit_tec": false, "weighting": 1, - "mult_bonuses": [ [ "damage", "stab", 1.1 ] ], - "flat_bonuses": [ [ "damage", "stab", "str", 0.1 ], [ "damage", "stab", "per", 0.2 ] ], + "mult_bonuses": [ { "stat": "damage", "type": "stab", "scale": 1.1 } ], + "flat_bonuses": [ + { "stat": "damage", "type": "stab", "scaling-stat": "str", "scale": 0.1 }, + { "stat": "damage", "type": "stab", "scaling-stat": "per", "scale": 0.2 } + ], "messages": [ "You step forward and stab at %s", " stabs into %s flesh" ], "description": "110% Stab damage, STR (E) and PER (D) provides bonus damage, min 1 melee" }, @@ -22,8 +25,11 @@ "melee_allowed": true, "crit_tec": true, "weighting": 2, - "mult_bonuses": [ [ "damage", "stab", 1.15 ] ], - "flat_bonuses": [ [ "damage", "stab", "str", 0.2 ], [ "damage", "stab", "per", 0.2 ] ], + "mult_bonuses": [ { "stat": "damage", "type": "stab", "scale": 1.15 } ], + "flat_bonuses": [ + { "stat": "damage", "type": "stab", "scaling-stat": "str", "scale": 0.2 }, + { "stat": "damage", "type": "stab", "scaling-stat": "per", "scale": 0.2 } + ], "messages": [ "You explosively jab at %s", " violently jabs at %s" ], "description": "Crit only, 115% Stab damage, Crit only, Strength (D) and Perception (D) provides bonus damage, min 2 melee" }, @@ -36,8 +42,12 @@ "melee_allowed": true, "crit_tec": false, "weighting": 1, - "mult_bonuses": [ [ "movecost", 0.66 ], [ "damage", "stab", 0.7 ] ], - "flat_bonuses": [ [ "damage", "stab", "str", 0.15 ], [ "damage", "stab", "per", 0.25 ], [ "movecost", "dex", 0.25 ] ], + "mult_bonuses": [ { "stat": "movecost", "scale": 0.66 }, { "stat": "damage", "type": "stab", "scale": 0.7 } ], + "flat_bonuses": [ + { "stat": "damage", "type": "stab", "scaling-stat": "str", "scale": 0.15 }, + { "stat": "damage", "type": "stab", "scaling-stat": "per", "scale": 0.25 }, + { "stat": "movecost", "scaling-stat": "dex", "scale": 0.25 } + ], "messages": [ "You prod at %s defensively", " prods at %s " ], "description": "66% movecost, 70% Stab damage, STR (E) and PER (C) provides bonus damage, DEX (C) reduces action cost, min 3 melee" }, @@ -50,8 +60,12 @@ "melee_allowed": true, "crit_tec": false, "weighting": 1, - "mult_bonuses": [ [ "movecost", 0.8 ], [ "damage", "stab", 0.75 ] ], - "flat_bonuses": [ [ "damage", "stab", "str", 0.25 ], [ "damage", "stab", "per", 0.3 ], [ "arpen", "stab", "per", 0.12 ] ], + "mult_bonuses": [ { "stat": "movecost", "scale": 0.8 }, { "stat": "damage", "type": "stab", "scale": 0.75 } ], + "flat_bonuses": [ + { "stat": "damage", "type": "stab", "scaling-stat": "str", "scale": 0.25 }, + { "stat": "damage", "type": "stab", "scaling-stat": "per", "scale": 0.3 }, + { "stat": "arpen", "type": "stab", "scaling-stat": "per", "scale": 0.12 } + ], "messages": [ "You probe %s's openings", " probe %s " ], "description": "80% movecost, 75% Stab damage, STR (C) and PER (C) provides bonus damage and also provides armor pierce (E), min 3 melee" } diff --git a/data/mods/MMA/martialarts.json b/data/mods/MMA/martialarts.json index 130d1ba5828a1..6b89932e29305 100644 --- a/data/mods/MMA/martialarts.json +++ b/data/mods/MMA/martialarts.json @@ -16,7 +16,7 @@ "unarmed_allowed": true, "melee_allowed": true, "bonus_dodges": 1, - "flat_bonuses": [ [ "dodge", "per", 0.12 ] ] + "flat_bonuses": [ { "stat": "dodge", "scaling-stat": "per", "scale": 0.12 } ] } ], "ondodge_buffs": [ @@ -28,7 +28,12 @@ "unarmed_allowed": true, "melee_allowed": true, "buff_duration": 2, - "flat_bonuses": [ [ "hit", 1.0 ], [ "arpen", "bash", "per", 0.5 ], [ "arpen", "cut", "per", 0.5 ], [ "arpen", "stab", "per", 0.5 ] ] + "flat_bonuses": [ + { "stat": "hit", "scale": 1.0 }, + { "stat": "arpen", "type": "bash", "scaling-stat": "per", "scale": 0.5 }, + { "stat": "arpen", "type": "cut", "scaling-stat": "per", "scale": 0.5 }, + { "stat": "arpen", "type": "stab", "scaling-stat": "per", "scale": 0.5 } + ] } ], "techniques": [ "mma_tec_panzer_counter", "mma_tec_panzer_somersault", "mma_tec_panzer_precise", "mma_tec_panzer_rapid" ], diff --git a/data/mods/MMA/techniques.json b/data/mods/MMA/techniques.json index b06b672b32008..a6010240bed30 100644 --- a/data/mods/MMA/techniques.json +++ b/data/mods/MMA/techniques.json @@ -10,7 +10,12 @@ "unarmed_allowed": true, "dodge_counter": true, "crit_ok": true, - "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 1.2 ], [ "damage", "cut", 1.2 ], [ "damage", "stab", 1.2 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.0 }, + { "stat": "damage", "type": "bash", "scale": 1.2 }, + { "stat": "damage", "type": "cut", "scale": 1.2 }, + { "stat": "damage", "type": "stab", "scale": 1.2 } + ] }, { "type": "technique", @@ -20,7 +25,7 @@ "messages": [ "You jump and somersault kick %s", " jump and somersault kick %s" ], "melee_allowed": true, "unarmed_allowed": true, - "mult_bonuses": [ [ "damage", "bash", 1.2 ] ] + "mult_bonuses": [ { "stat": "damage", "type": "bash", "scale": 1.2 } ] }, { "type": "technique", @@ -33,8 +38,8 @@ "unarmed_allowed": true, "crit_tec": true, "stun_dur": 1, - "flat_bonuses": [ [ "arpen", "bash", 10.0 ] ], - "mult_bonuses": [ [ "movecost", 1.2 ], [ "damage", "bash", 1.5 ] ] + "flat_bonuses": [ { "stat": "arpen", "type": "bash", "scale": 10.0 } ], + "mult_bonuses": [ { "stat": "movecost", "scale": 1.2 }, { "stat": "damage", "type": "bash", "scale": 1.5 } ] }, { "type": "technique", @@ -45,6 +50,11 @@ "skill_requirements": [ { "name": "unarmed", "level": 2 } ], "melee_allowed": true, "unarmed_allowed": true, - "mult_bonuses": [ [ "movecost", 0.5 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 0.66 ], [ "damage", "stab", 0.66 ] ] + "mult_bonuses": [ + { "stat": "movecost", "scale": 0.5 }, + { "stat": "damage", "type": "bash", "scale": 0.66 }, + { "stat": "damage", "type": "cut", "scale": 0.66 }, + { "stat": "damage", "type": "stab", "scale": 0.66 } + ] } ] diff --git a/doc/JSON_INFO.md b/doc/JSON_INFO.md index 6fbf73221eefb..ec3a135c20cbe 100644 --- a/doc/JSON_INFO.md +++ b/doc/JSON_INFO.md @@ -1082,7 +1082,6 @@ Note that even though most statistics yield an integer, you should still use "profession": true, //Trait is a starting profession special trait. (default: false) "debug": false, //Trait is for debug purposes (default: false) "player_display": true, //Trait is displayed in the `@` player display menu -"initial_ma_styles" : [ "style_centipede", "style_venom_snake" ], //List of starting martial arts types. One of the list is selectable at start. Only works at character creation. "category": ["MUTCAT_BIRD", "MUTCAT_INSECT"], // Categories containing this mutation "prereqs": ["SKIN_ROUGH"], // Needs these mutations before you can mutate toward this mutation "prereqs2": ["LEAVES"], //Also need these mutations before you can mutate towards this mutation. When both set creates 2 different mutation paths, random from one is picked. Only use together with "prereqs" diff --git a/doc/MARTIALART_JSON.md b/doc/MARTIALART_JSON.md index 939be0bfd24ba..2331a993b9fc1 100644 --- a/doc/MARTIALART_JSON.md +++ b/doc/MARTIALART_JSON.md @@ -10,7 +10,7 @@ "description": "A secret martial art used only by developers and cheaters.", // In-game description "initiate": [ "You stand ready.", "%s stands ready." ], // Message shown when player or NPC chooses this art "autolearn": [ [ "unarmed", "2" ] ], // A list of skill requirements that if met, automatically teach the player the martial art -"learn_difficulty": 5, // Difficulty to learn a style from book based on "primary skill" +"learn_difficulty": 5, // Difficulty to learn a style from book based on "primary skill" // Total chance to learn a style from a single read of the book is equal to one in (10 + learn_difficulty - primary_skill) "arm_block" : 99, // Unarmed skill level at which arm blocking is unlocked "leg_block" : 99, // Unarmed skill level at which arm blocking is unlocked @@ -40,7 +40,7 @@ "name" : "phasing strike", // In-game name displayed "unarmed_allowed" : true, // Can an unarmed character use this technique "unarmed_weapons_allowed" : true, // Does this technique require the character to be actually unarmed or does it allow unarmed weapons -"melee_allowed" : true, // Means that ANY melee weapon can be used, NOT just the martial art's weapons +"melee_allowed" : true, // Means that ANY melee weapon can be used, NOT just the martial art's weapons "skill_requirements": [ { "name": "melee", "level": 3 } ], // Skills and their minimum levels required to use this technique. Can be any skill. "weapon_damage_requirements": [ { "type": "bash", "min": 5 } ], // Minimum weapon damage required to use this technique. Can be any damage type. "req_buffs": [ "eskrima_hit_buff" ], // This technique requires a named buff to be active @@ -84,32 +84,31 @@ "max_stacks" : 8, // Maximum number of stacks on the buff. Buff bonuses are multiplied by current buff intensity "bonus_blocks": 1 // Extra blocks per turn "bonus_dodges": 1 // Extra dodges per turn -"flat_bonuses" : [ // Flat bonuses - ["armor", "bash", "str", 1.0], - ["armor", "cut", "dex", 1.0], - ["armor", "electric", "int", 1.0], - ["armor", "heat", "per", 1.0] +"flat_bonuses" : [ // Flat bonuses, see below ], -"mult_bonuses" : [ // Multiplicative bonuses - ["damage", "bash", 2.0], - ["damage", "heat", "int", 1.1] +"mult_bonuses" : [ // Multiplicative bonuses, see below ] ``` ### Bonuses -Bonuses contain 2 to 4 of the following tokens, in order: +The bonuses arrays contain any number of bonus entries like this: -* Affected statistic. Any of: "hit", "dodge", "block", "speed", "movecost", "damage", "armor", "arpen" -* Damage type ("bash", "cut", "heat", etc.) if the affected statistic is damage, armor, or arpen -* Scaling stat. Any of: "str", "dex", "int", "per" -* The value of the bonus itself - -Bonuses must be written in the correct order. +```C++ +{ + "stat": "damage", + "type": "bash", + "scaling-stat": "per", + "scale": 0.15 +} +``` -If the affected statistic requires a damage type, a damage type must be provided. Otherwise, damage type must not be specified. +"stat": affected statistic, any of: "hit", "dodge", "block", "speed", "movecost", "damage", "armor", "arpen", +"type": damage type for the affected statistic ("bash", "cut", "heat", etc.), only needed if the affected statistic is "damage", "armor", or "arpen". +"scale": the value of the bonus itself. +"scaling-stat": scaling stat, any of: "str", "dex", "int", "per". Optional. If the scaling stat is specified, the value of the bonus is multiplied by the corresponding user stat. -If the scaling stat is specified, the value of the bonus is multiplied by the corresponding user stat. +Bonuses must be written in the correct order. Tokens of `useless` type will not cause an error, but will not have any effect. For example, `speed` in a technique will have no effect (`movecost` should be used for techniques). @@ -117,9 +116,14 @@ For example, `speed` in a technique will have no effect (`movecost` should be us Currently extra elemental damage is not applied, but extra elemental armor is (after regular armor). Examples: -* `flat_bonuses : [["armor", "bash", "str", 0.3]], // Incoming bashing damage is decreased by 30% of strength value. Only useful on buffs` -* ``mult_bonuses : [["damage", "cut", "dex", 0.1]], // All cutting damage dealt is multiplied by `(10% of dexterity)*(damage)` `` -* `flat_bonuses : [["movecost", "str", -1.0]], // Move cost is decreased by 100% of strength value` +Incoming bashing damage is decreased by 30% of strength value. Only useful on buffs: +* `flat_bonuses : [ { "stat": "armor", "type": "bash", "scaling-stat": "str", "scale": 0.3 } ]` + +All cutting damage dealt is multiplied by `(10% of dexterity)*(damage)`: +* `mult_bonuses : [ { "stat": "damage", "type": "cut", "scaling-stat": "dex", "scale": 0.1 } ]` + +Move cost is decreased by 100% of strength value +* `flat_bonuses : [ { "stat": "movecost", "scaling-stat": "str", "scale": -1.0 } ]` ### Place relevant items in the world and chargen diff --git a/src/bonuses.cpp b/src/bonuses.cpp index 9503dd06e1fd4..539ef96b22cb2 100644 --- a/src/bonuses.cpp +++ b/src/bonuses.cpp @@ -93,57 +93,43 @@ static std::string string_from_scaling_stat( const scaling_stat &s ) bonus_container::bonus_container() = default; -void effect_scaling::load( JsonArray &jarr ) +effect_scaling::effect_scaling( const JsonObject &obj ) { - if( jarr.test_string() ) { - stat = scaling_stat_from_string( jarr.next_string() ); + if( obj.has_string( "scaling-stat" ) ) { + stat = scaling_stat_from_string( obj.get_string( "scaling-stat" ) ); } else { stat = STAT_NULL; } - scale = jarr.next_float(); + scale = obj.get_float( "scale" ); } void bonus_container::load( const JsonObject &jo ) { - if( jo.has_array( "flat_bonuses" ) ) { - JsonArray jarr = jo.get_array( "flat_bonuses" ); - load( jarr, false ); - } - - if( jo.has_array( "mult_bonuses" ) ) { - JsonArray jarr = jo.get_array( "mult_bonuses" ); - load( jarr, true ); - } + load( jo.get_array( "flat_bonuses" ), false ); + load( jo.get_array( "mult_bonuses" ), true ); } -void bonus_container::load( JsonArray &jarr, bool mult ) +void bonus_container::load( const JsonArray &jarr, const bool mult ) { - while( jarr.has_more() ) { - JsonArray qualifiers = jarr.next_array(); - - damage_type dt = DT_NULL; - - const std::string affected_stat_string = qualifiers.next_string(); - const affected_stat as = affected_stat_from_string( affected_stat_string ); + for( const JsonObject &qualifiers : jarr ) { + const affected_stat as = affected_stat_from_string( qualifiers.get_string( "stat" ) ); if( as == AFFECTED_NULL ) { - jarr.throw_error( "Invalid affected stat" ); + qualifiers.throw_error( "Invalid affected stat", "stat" ); } + damage_type dt = DT_NULL; if( needs_damage_type( as ) ) { - const std::string damage_string = qualifiers.next_string(); - dt = dt_by_name( damage_string ); + dt = dt_by_name( qualifiers.get_string( "type" ) ); if( dt == DT_NULL ) { - jarr.throw_error( "Invalid damage type" ); + qualifiers.throw_error( "Invalid damage type", "type" ); } } - effect_scaling es; - es.load( qualifiers ); - affected_type at( as, dt ); - // Are we changing multipliers or flats? + const affected_type at( as, dt ); + auto &selected = mult ? bonuses_mult : bonuses_flat; - selected[at].push_back( es ); + selected[at].emplace_back( qualifiers ); } } diff --git a/src/bonuses.h b/src/bonuses.h index 070252cb1db8b..ccf1b1a54fb0e 100644 --- a/src/bonuses.h +++ b/src/bonuses.h @@ -63,7 +63,7 @@ struct effect_scaling { float get( const Character &u ) const; - void load( JsonArray &jarr ); + effect_scaling( const JsonObject &obj ); }; class bonus_container @@ -71,7 +71,6 @@ class bonus_container public: bonus_container(); void load( const JsonObject &jo ); - void load( JsonArray &jarr, bool mult ); float get_flat( const Character &u, affected_stat stat, damage_type dt ) const; float get_flat( const Character &u, affected_stat stat ) const; @@ -82,6 +81,8 @@ class bonus_container std::string get_description() const; private: + void load( const JsonArray &jarr, bool mult ); + using bonus_map = std::map>; /** All kinds of bonuses by types to damage, hit etc. */ bonus_map bonuses_flat;