From 2744d032d06bcd1329cfb376aae0dc841b7f7718 Mon Sep 17 00:00:00 2001 From: Kaiyi Huang Date: Tue, 19 Sep 2023 22:56:30 -0700 Subject: [PATCH] Update beacon.html --- Beacon by PGG/beacon.html | 284 +++++++++++++++++++++++++++++++++----- 1 file changed, 252 insertions(+), 32 deletions(-) diff --git a/Beacon by PGG/beacon.html b/Beacon by PGG/beacon.html index 6c7e4453b7..2c7809197e 100644 --- a/Beacon by PGG/beacon.html +++ b/Beacon by PGG/beacon.html @@ -47,9 +47,9 @@ - + - + @@ -293,17 +293,18 @@
- - -
-
- TypeAction
Range
- Damage
- Tags
- - Description -
-
+ + +
+
+ TypeAction
Range
+ Damage
+ Tags
+ + + Description +
+
@@ -320,6 +321,7 @@ Type Tags + @@ -343,8 +345,9 @@ +
- +

Job

@@ -790,11 +793,156 @@ var unlock_techniques_data = []; var loot_techniques_data = []; var talents_data = []; + var statmod_dict = {}; + + var finalmanaMod = 0; + var finalspeedMod = 0; + var finalarmorMod = 0; + var finaldodgeMod = 0; + var finalHPMod = 0; + var finalsaveMod = 0; + + const wpnSlots = ["1","2","3","4","5","6","7","8"]; + + function gen_long_tag_string(stringy, tag_data){ return '[' + stringy + '](#"class="showtip" title="' + tag_data.description.replace('{VAL}', 'X').replace('(', '{').replace(')', '}') + ')'; } + + on("change:repeating_powers:powertags", function(v){ + row_string = v.sourceAttribute.replace("_powertags","_"); + long_tag_string = ""; + tagz = v.newValue.split(","); + for (i in tagz) + { + + tag = tagz[i].toUpperCase().trim() + tag_parts = tag.split(/(\d+)/g); + var wp_tag_data = 0; + if (tag_parts.length > 1) + { + wp_tag_data = tags_data.find(x => x.name === tag_parts[0]+ "{VAL}"); + } + else + { + wp_tag_data = tags_data.find(x => x.name === tag_parts[0]); + } + if (!wp_tag_data){ + console.log("Found nothing"); + return; + } + let stringy = wp_tag_data.name; + if (tag_parts.length > 1) + { + stringy = stringy.replace("{VAL}", tag_parts[1]); + } + long_stringy = gen_long_tag_string(stringy, wp_tag_data); + if (i > 0){ + stringy = ", " + stringy; + long_stringy = " , " + long_stringy; + } + long_tag_string += long_stringy; + } + if(long_tag_string === ""){ + long_tag_string = v.newValue + } + setAttrs({ + [row_string+"powertagslong"]: long_tag_string + }); + }); + + on("change:repeating_support:supporttags", function(v){ + row_string = v.sourceAttribute.replace("_supportname","_"); + long_tag_string = ""; + tagz = v.newValue.split(","); + for (i in tagz) + { + + tag = tagz[i].toUpperCase().trim() + tag_parts = tag.split(/(\d+)/g); + var wp_tag_data = 0; + if (tag_parts.length > 1) + { + wp_tag_data = tags_data.find(x => x.name === tag_parts[0]+ "{VAL}"); + } + else + { + wp_tag_data = tags_data.find(x => x.name === tag_parts[0]); + } + if (!wp_tag_data){ + console.log("Found nothing"); + return; + } + let stringy = wp_tag_data.name; + if (tag_parts.length > 1) + { + stringy = stringy.replace("{VAL}", tag_parts[1]); + } + long_stringy = gen_long_tag_string(stringy, wp_tag_data); + if (i > 0){ + stringy = ", " + stringy; + long_stringy = " , " + long_stringy; + } + long_tag_string += long_stringy; + } + if(long_tag_string === ""){ + long_tag_string = v.newValue + } + setAttrs({ + [row_string + "supporttagslong"]: long_tag_string + }); + }); + + wpnSlots.forEach(function (num) + { + console.log("Changing tags"); + on("change:attacktags"+num, function(v){ + long_tag_string = ""; + tagz = v.newValue.split(","); + for (i in tagz) + { + + tag = tagz[i].toUpperCase().trim() + tag_parts = tag.split(/(\d+)/g); + console.log(tag_parts); + var wp_tag_data = 0; + if (tag_parts.length > 1) + { + wp_tag_data = tags_data.find(x => x.name === tag_parts[0]+ "{VAL}"); + } + else + { + wp_tag_data = tags_data.find(x => x.name === tag_parts[0]); + } + if (!wp_tag_data){ + console.log("Found nothing"); + return; + } + let stringy = wp_tag_data.name; + if (tag_parts.length > 1) + { + stringy = stringy.replace("{VAL}", tag_parts[1]); + } + long_stringy = gen_long_tag_string(stringy, wp_tag_data); + if (i > 0){ + stringy = ", " + stringy; + long_stringy = " , " + long_stringy; + } + long_tag_string += long_stringy; + } + if(long_tag_string === ""){ + long_tag_string = v.newValue + } + setAttrs({ + ["attacktagslong"+ num]: long_tag_string + }); + + }); + }); + + on("change:repeating_attacks:attackname", function(v){ getAttrs(["tier"], function(t){ row_string = v.sourceAttribute.replace("attackname",""); @@ -1087,8 +1235,11 @@ [row_string+"supporttags"]: tag_string, [row_string+"supporttagslong"]: long_tag_string, [row_string+"supporteffects"]: sup_data.effect, + [row_stirng+"supportmods"]: sup_data.stat_effects, }); }); + + const ancestryTraitSlots = ["1", "2"] @@ -1100,12 +1251,18 @@ for (curr_ancestry of ancestry_data){ for (i in curr_ancestry.traits){ if (curr_ancestry.traits[i].name.toUpperCase().replace(/\s+/g, '') === v.newValue.toUpperCase().replace(/\s+/g, '')){ - setAttrs({anctrait_info: curr_ancestry.traits[i].desc}); + setAttrs({ + anc_trait_info: curr_ancestry.traits[i].desc, + anc_trait_mods: {"armor": curr_ancestry.traits[i].armor, "HP": curr_ancestry.traits[i].HP, "speed": curr_ancestry.traits[i].speed} + }); return; } } } - setAttrs({anctrait_info: "Invalid ancestry trait."}); + setAttrs({ + anc_trait_info: "Invalid ancestry trait.", + anc_trait_mods: false + }); }); }); }); @@ -1178,13 +1335,14 @@ [row_string+"powerdamagetype"]: dmg_type, [row_string+"powertags"]: tag_string, [row_string+"powertagslong"]: long_tag_string, - [row_string+"powereffects"]: tech_data.effects + [row_string+"powereffects"]: tech_data.effects, + [row_string+"powermods"]: tech_data.stat_effects }); }); }); - const wpnSlots = ["1","2","3","4","5","6","7","8"]; + wpnSlots.forEach(function (num){ on("change:slots"+num, function(v){ console.log("changing stuff in slot "+ num); @@ -1281,8 +1439,75 @@ currLevel = parseInt(v.newValue); setAttrs({grit: Math.floor(currLevel/2)}); }); + + + var base_mana_max; + var base_save_max; + var base_hp_max; + var base_dodge_max; + var base_speed_max; + var base_armor_max; + + function conf_mod_base_stats(){ + setAttrs({ hp_max: (base_hp_max + finalHPMod).toString()}); + setAttrs({ dodge_max: (base_dodge_max+ finaldodgeMod).toString()}); + setAttrs({ mana_max: base_mana_max + finalmanaMod}); + setAttrs({hp_max: base_hp_max + finalHPMod}); + setAttrs({save_max: base_save_max + finalsaveMod}); + } + + on("sheet:opened change:repeating_support:supportmods change:repeating_powers:powermods change:anc_trait_mods remove:repeating_support remove:repeating_powers", function(v) { + finalarmorMod = 0; + finalHPMod = 0; + finaldodgeMod = 0; + finalsaveMod = 0; + finalspeedMod = 0; + finalmanaMod = 0; + getSectionIDs(`repeating_support`, idArray => { + let fields = ['supportmods']; + const attrArray = idArray.reduce((m, id) => [...m, ...(fields.map(field => `repeating_support_${id}_${field}`))], []); + getAttrs([...attrArray], v => { + if(v) + { + finalarmorMod += parseInt(v.armor); + finalsaveMod += parseInt(v.save_target); + finaldodgeMod += parseInt(v.dodge); + finalspeedMod += parseInt(v.speed); + } + }) + }); + + getSectionIDs(`repeating_powers`, idArray => { + let fields = ['powermods']; + const attrArray = idArray.reduce((m, id) => [...m, ...(fields.map(field => `repeating_powers_${id}_${field}`))], []); + getAttrs([...attrArray], v => { + if(v) + { + finalarmorMod += parseInt(v.armor); + finalHPMod += parseInt(v.hp); + finaldodgeMod += parseInt(v.dodge); + finalspeedMod += parseInt(v.speed); + finalmanaMod += parseInt(v.mana); + } + }) + }); + + getAttrs('anc_trait_mods', v => { + if(v) + { + finalarmorMod += parseInt(v.armor); + finalHPMod += parseInt(v.HP); + finalspeedMod += parseInt(v.speed); + } + }) + + setAttrs({armor: finalarmorMod}); + conf_mod_base_stats() + }); + + on("change:bulk change:agility change:mind change:magic change:grit", function(v) { console.log(v.sourceAttribute); getAttrs(["grit", "job", "bulk", "mind"], function(t) { @@ -1295,15 +1520,13 @@ switch (v.sourceAttribute.toString()) { case "bulk": - setAttrs({ hp_max: parseInt(curr_class_data.HP) + Math.floor(new_value * 2) + current_grit}); + base_hp_max = parseInt(curr_class_data.HP) + Math.floor(new_value * 2) + current_grit; const new_recoveries_max = parseInt(curr_class_data.recoveries) + Math.floor(new_value / 2); setAttrs({recoveries_max: new_recoveries_max.toString()}); break; case "agility": - const total_dodge_max = parseInt(curr_class_data.dodge) + new_value; - console.log(total_dodge_max); - setAttrs({dodge_max: total_dodge_max.toString()}); + base_dodge_max = parseInt(curr_class_data.dodge) + new_value; const total_speed_max = parseInt(curr_class_data.speed) + Math.floor(new_value / 2); setAttrs({speed_max: total_speed_max.toString()}); break; @@ -1318,26 +1541,23 @@ case "magic": const total_adef_max = parseInt(curr_class_data.adef) + new_value; setAttrs({a_def: total_adef_max}); - const total_mana_max = parseInt(curr_class_data.mana) + Math.floor(new_value / 2); - setAttrs({mana_max: total_mana_max}); + base_mana_max = parseInt(curr_class_data.mana) + Math.floor(new_value / 2); break; case "grit": const current_bulk = parseInt(t.bulk); - let total_hp_max = parseInt(curr_class_data.HP) + (current_bulk * 2) + new_value; - setAttrs({hp_max: total_hp_max}); + base_hp_max = parseInt(curr_class_data.HP) + (current_bulk * 2) + new_value; const current_mind = parseInt(t.mind); const total_memory_max = parseInt(curr_class_data.memory) + Math.floor(current_mind / 2) + new_value; setAttrs({memory_max: total_memory_max}); - const total_save_max = parseInt(curr_class_data.save_target) + new_value; - setAttrs({save_max: total_save_max}); - + base_save_max = parseInt(curr_class_data.save_target) + new_value; break; - default: - } + } + + conf_mod_base_stats() }); }); @@ -1418,4 +1638,4 @@ ancestry_data = JSON.parse('[{"origin":"Avian","size":"1","traits":[{"name":"Flight","desc":"You can Fly.","armor":"0","HP":"0","speed":"0"},{"name":"Flock Tactics","desc":"1/round you gain +1 ACC on a melee attack roll if the target has one of your allies adjacent to them.","armor":"0","HP":"0","speed":"0"},{"name":"Get The Flock Outta There","desc":"[Reaction, 1/round] Trigger: You take damage or Stress not caused by yourself. Effect: You Shift up to half your speed.","armor":"0","HP":"0","speed":"0"},{"name":"Gust","desc":"You gain the following spell, which is equipped for free.\\nGust | Melee Spell Attack\\n{5} FIGHT | Innate, Push 1, Unique\\n[Reach 1, Line 5] | [1d6 Force]","armor":"0","HP":"0","speed":"0"}]},{"origin":"Dragonborn","size":"2","traits":[{"name":"Dragonfire","desc":"You gain the following weapon, which is equipped for free. \\nDragonfire | Melee Weapon\\n(3) VOLLEY or (5) FIGHT| Main Artifact: Innate, Unique\\n[Reach 1, Close Blast 1] | [2 Discord]\\nYou can (3) VOLLEY or (5) FIGHT with this weapon, and can use it even while DISARMED.","armor":"0","HP":"0","speed":"0"},{"name":"Dragon Scales","desc":"You gain either astral or lunar resistance.","armor":"0","HP":"0","speed":"0"},{"name":"Inner Fire","desc":"When you take the (1) REFRESH action, you regain 1d6 HP before choosing any effects.","armor":"0","HP":"0","speed":"0"},{"name":"Draconic Wings","desc":"You can Fly.","armor":"0","HP":"0","speed":"0"}]},{"origin":"Dwarf","size":"1","traits":[{"name":"Keep Moving Forward","desc":"Your Speed and Dodge isn’t reduced by support items with the [armor] tag (not calculated automatically by this spreadsheet), and you are immune to the SLOWED condition unless granted by yourself.","armor":"0","HP":"0","speed":"0"},{"name":"Resilience","desc":"You have resistance to lunar damage and +1 ACC on BLK saves.","armor":"0","HP":"0","speed":"0"},{"name":"Unyielding","desc":"1/scene you can (1) REFRESH as a free action. ","armor":"0","HP":"0","speed":"0"},{"name":"Sturdy","desc":"When you would be forcibly moved, such as from a push, pull, or slide, you can move one space less than normal. If this reduces the forced movement to 0, the movement doesn’t happen. If you would be knocked PRONE, you can make a BLK check to avoid that status.","armor":"0","HP":"0","speed":"0"}]},{"origin":"Elementals","size":"1","traits":[{"name":"Energy Resistance","desc":"You gain either astral or lunar resistance.","armor":"0","HP":"0","speed":"0"},{"name":"Energy Aura","desc":"Reaction\\nTrigger: You are hit by an attack from an adjacent enemy. \\nEffect: Deal [2 Piercing Astral or Lunar] to them (chosen when this trait is selected)","armor":"0","HP":"0","speed":"0"},{"name":"Elemental Nova","desc":"You gain the following spell attack, which is equipped for free.\\nElemental Nova | Melee Spell Attack\\n(5) FIGHT | Innate, Unique\\n[Burst 1] | [1d6 Astral or Lunar]\\nOn Attack: The area, including your spaces, becomes a zone of Soft Cover until the start of your next turn.","armor":"0","HP":"0","speed":"0"},{"name":"Elemental Form","desc":"You have Resistance to damage from Dangerous Terrain. When you become BLOODIED or BREAKING, you gain Hard Cover until the start of your next turn.","armor":"0","HP":"0","speed":"0"}]},{"origin":"Elf","size":"1","traits":[{"name":"Elven Accuracy","desc":"1/round when you use the REROLL TABLE on an attack roll, you can roll an extra d20 and use either result. ","armor":"0","HP":"0","speed":"0"},{"name":"Nature Step","desc":"You ignore the movement penalties of Difficult Terrain, and have +1 ACC on Dangerous Terrain checks. As a Minor Action while in a space of Difficult Terrain, you can spend 1 mana to become INVISIBLE until the start of your next turn or until you are no longer in Difficult Terrain.","armor":"0","HP":"0","speed":"0"},{"name":"Fast Movement","desc":"+1 speed","armor":"0","HP":"0","speed":"1"},{"name":"Fey Step","desc":"1/scene, you can teleport 5 spaces as a free action.","armor":"0","HP":"0","speed":"0"}]},{"origin":"Gigan","size":"2","traits":[{"name":"Big Equipment","desc":"One support slot increases by one size (LIGHT to MAIN, MAIN to HEAVY).","armor":"0","HP":"0","speed":"0"},{"name":"Endure","desc":"1/scene, gain resistance to all damage until the end of your next turn.","armor":"0","HP":"0","speed":"0"},{"name":"Oversized Weapons","desc":"1/scene you can ignore the SLOW tag on a weapon.","armor":"0","HP":"0","speed":"0"},{"name":"Giant Lineage","desc":"You gain either astral or lunar resistance.","armor":"0","HP":"0","speed":"0"}]},{"origin":"Gnome","size":"1/2","traits":[{"name":"Instinctual Stealth","desc":"You can start each combat scene HIDDEN, and can’t lose it until the end of your 1st turn.","armor":"0","HP":"0","speed":"0"},{"name":"Fade Away","desc":"Reaction (1/round) | Mana 2\\nTrigger: You are targeted by an attack.\\nEffect: You become INVISIBLE before any attack rolls from the attack, and INVISIBLE lasts until the end of your next turn.","armor":"0","HP":"0","speed":"0"},{"name":"Tumble","desc":"You can move through the space of hostile characters that are larger than you, and becoming ENGAGED doesn’t stop or end your movement.","armor":"0","HP":"0","speed":"0"},{"name":"Tinker Toy","desc":"1/scene as a Minor Action, you create a summon within Scope. Allies making an attack roll against a target adjacent to your summon gain +1 {ACC} on the attack. (Size ½, 5 {HP}, Dodge/A-def 10, Tags: SUMMON).","armor":"0","HP":"0","speed":"0"}]},{"origin":"Goblin","size":"1/2","traits":[{"name":"Scurry","desc":"When an attack misses you, you can Shift 1.","armor":"0","HP":"0","speed":"0"},{"name":"Swarm","desc":"Your base Size is 2, but you can still benefit from Size 1 or larger cover. You have resistance to physical damage, but are always VULNERABLE to force damage. Each recovery can represent a goblin in your swarm.","armor":"0","HP":"0","speed":"0"},{"name":"Nimble Escape","desc":"1/scene you can RUSH as a free action.","armor":"0","HP":"0","speed":"0"},{"name":"Bite","desc":"You deal [1 Piercing physical] at the start of your turn to any character grappling or grappled by you unless you are STUNNED. As a Minor Action, you deal [1 Physical] to an adjacent enemy.","armor":"0","HP":"0","speed":"0"}]},{"origin":"Halfling","size":"1/2","traits":[{"name":"Lucky","desc":"Reaction (1/round) | Stress 2 (Self)\\nTrigger: You are hit by an attack roll. \\nEffect: You force the attacker to reroll the attack roll, using the 2nd result. ","armor":"0","HP":"0","speed":"0"},{"name":"Nimble","desc":"Reaction attack rolls against you have +1 DIF. 1/scene when you would trigger a reaction from an enemy, the reaction doesn’t trigger.","armor":"0","HP":"0","speed":"0"},{"name":"Brave","desc":"You gain +1 ACC on all attacks, checks, and saves during the turn you SURGE.","armor":"0","HP":"0","speed":"0"},{"name":"Tumble","desc":"You can move through the space of hostile characters that are larger than you, and becoming ENGAGED doesn’t stop or end your movement.","armor":"0","HP":"0","speed":"0"}]},{"origin":"Human","size":"1","traits":[{"name":"Strong Saves","desc":"You gain +1 ACC on all saves ","armor":"0","HP":"0","speed":"0"},{"name":"Hang in There","desc":"1/scene you can ignore the effects of a WOUND or OVERSTRESS roll. You still take the WOUND or OVERSTRESS.","armor":"0","HP":"0","speed":"0"},{"name":"Hearty","desc":"You gain +3 HP","armor":"0","HP":"3","speed":"0"},{"name":"Adrenaline","desc":"1/scene you can SURGE without increasing the SURGE cost.","armor":"0","HP":"0","speed":"0"}]},{"origin":"Kobold","size":"1/2","traits":[{"name":"Trap Array","desc":"You gain the following support item, which is equipped for free.\\nTrap Array Support\\nMinor | Consumable 2, Innate, Trap, Unique\\nAs a Minor Action, you can use one of the following traps.\\n• Explosive Trap. When triggered, creates a [Burst 1] area. All characters in the area take [1d6+3 Force]. \\n• Paint Marker. When triggered, creates a [Burst 1] area. All characters in the area are MARKED. \\n• Snare Trap. When triggered, creates a [Burst 1] area. All characters in area must pass an AGI save or be IMMOBILIZED until cleared. A character can make a BLK check as a Minor Action to clear the condition, but only after they’ve ended a turn IMMOBILIZED by this ability.","armor":"0","HP":"0","speed":"0"},{"name":"Distract","desc":"1/scene as a Free Action, you can (3) MARK all enemies in a [Burst 2] area around you.","armor":"0","HP":"0","speed":"0"},{"name":"Trapmaster","desc":"You can automatically open locks as a free action and have +1 ACC when disabling traps or on saves triggered by traps.","armor":"0","HP":"0","speed":"0"},{"name":"Evasive","desc":"You have Resistance to damage and stress from AOEs, and have +1 Accuracy on saves from AOE effects. 1/turn you can spend 1 Focus to reroll a failed save","armor":"0","HP":"0","speed":"0"}]},{"origin":"Lycanthrope","size":"1","traits":[{"name":"Defender Strain","desc":"1/scene as a Free Action, you manifest your lycanthropic heritage. You gain 2 Focus.","armor":"0","HP":"0","speed":"0"},{"name":"Pack Tactics","desc":"1/round you gain +1 ACC on a melee attack roll if the target has one of your allies adjacent to them.","armor":"0","HP":"0","speed":"0"},{"name":"Sneaky Form","desc":"Minor | Polymorph\\nYou assume a small sneaky form. Your size becomes ½ if it was larger and you can (4) HIDE as a free action 1/turn. You can’t activate spells or make attacks in this form. You can revert to your normal form as a Minor Action. ","armor":"0","HP":"0","speed":"0"},{"name":"Travel Form","desc":"Minor | Polymorph\\nYou assume a travel form. Your speed increases by +2, but you can’t activate spells or make attacks. You can revert to your normal form as a Minor Action. ","armor":"0","HP":"0","speed":"0"}]},{"origin":"Machina","size":"1","traits":[{"name":"Mechanical Body","desc":"You have +1 ACC on Discord checks, and have resistance to Discord damage.","armor":"0","HP":"0","speed":"0"},{"name":"Armored","desc":"You have +1 armor while you aren’t BLOODIED.","armor":"1","HP":"0","speed":"0"},{"name":"System Repair","desc":"1/scene when you (1) REFRESH, you can choose any number of options.","armor":"0","HP":"0","speed":"0"},{"name":"Integrated Weapon","desc":"Choose a LIGHT starting weapon. You can equip that weapon for free, and it is Innate. You can use that weapon while DISARMED.","armor":"0","HP":"0","speed":"0"}]},{"origin":"Orc","size":"2","traits":[{"name":"Second Wind","desc":"1/scene when you become BLOODIED, gain 4 + your GRIT temp HP. ","armor":"0","HP":"0","speed":"0"},{"name":"Rushdown","desc":"When you RUSH and choose the movement option, you can move +2 spaces. ","armor":"0","HP":"0","speed":"0"},{"name":"Furious","desc":"1/turn you can take 1d3 Stress to reroll all the dice from one of your damage rolls. ","armor":"0","HP":"0","speed":"0"},{"name":"Work Out Routine","desc":"You gain +1 ACC on BLK checks and saves. You are considered 1 size larger for (5) GRAPPLE and (5) SHOVE.","armor":"0","HP":"0","speed":"0"}]},{"origin":"Cambion","size":"1","traits":[{"name":"Bloodhunter","desc":"You gain +1 ACC on attack rolls against BLOODIED characters. ","armor":"0","HP":"0","speed":"0"},{"name":"Infernal Resistance","desc":"You gain either astral or lunar resistance.","armor":"0","HP":"0","speed":"0"},{"name":"Wrath","desc":"You gain +1 ACC on attacks against a character if they hit or damaged you since the end of your last turn. ","armor":"0","HP":"0","speed":"0"},{"name":"Fiendish Wings","desc":"You can Fly.","armor":"0","HP":"0","speed":"0"}]},{"origin":"","size":"","traits":[{"name":"--Select Ancestry Trait--","desc":"","armor":"","HP":"","speed":""}]}]'); unit_stats_data = JSON.parse('[{"type":"--SELECT UNIT--","tiers":[{"tier":"","size":"","armor":"","scope":"","save":"","init":"","BLK":"","AGI":"","MND":"","MGK":"","HP":"","dodge":"","speed":"","stress":"","adef":"","mana":""}]},{"type":"ARCHITECT","tiers":[{"tier":"3","size":"0.5","armor":"3","scope":"5","save":"18","init":"5","BLK":"-1","AGI":"3","MND":"6","MGK":"0","HP":"16","dodge":"12","speed":"5","stress":"6","adef":"9","mana":"4"},{"tier":"2","size":"0.5","armor":"2","scope":"5","save":"15","init":"5","BLK":"-1","AGI":"2","MND":"4","MGK":"0","HP":"14","dodge":"11","speed":"5","stress":"6","adef":"8","mana":"4"},{"tier":"1","size":"0.5","armor":"2","scope":"5","save":"12","init":"5","BLK":"-1","AGI":"1","MND":"2","MGK":"0","HP":"12","dodge":"10","speed":"5","stress":"6","adef":"7","mana":"4"}]},{"type":"ARDENT","tiers":[{"tier":"2","size":"1","armor":"1","scope":"10","save":"14","init":"1","BLK":"-1","AGI":"1","MND":"3","MGK":"2","HP":"16","dodge":"13","speed":"6","stress":"7","adef":"13","mana":"5"},{"tier":"3","size":"1","armor":"1","scope":"12","save":"17","init":"1","BLK":"1","AGI":"5","MND":"3","MGK":"3","HP":"18","dodge":"16","speed":"6","stress":"7","adef":"16","mana":"5"},{"tier":"1","size":"1","armor":"1","scope":"8","save":"11","init":"1","BLK":"-1","AGI":"0","MND":"2","MGK":"1","HP":"14","dodge":"10","speed":"6","stress":"7","adef":"10","mana":"5"}]},{"type":"CHARGER","tiers":[{"tier":"2","size":"1","armor":"1","scope":"5","save":"12","init":"4","BLK":"2","AGI":"2","MND":"1","MGK":"0","HP":"18","dodge":"12","speed":"8","stress":"6","adef":"7","mana":"2"},{"tier":"3","size":"1","armor":"1","scope":"5","save":"14","init":"4","BLK":"3","AGI":"4","MND":"1","MGK":"0","HP":"21","dodge":"14","speed":"9","stress":"6","adef":"7","mana":"2"},{"tier":"1","size":"1","armor":"1","scope":"5","save":"10","init":"4","BLK":"1","AGI":"1","MND":"0","MGK":"0","HP":"15","dodge":"10","speed":"7","stress":"6","adef":"7","mana":"2"}]},{"type":"CLEAVER","tiers":[{"tier":"1","size":"2","armor":"2","scope":"5","save":"10","init":"7","BLK":"2","AGI":"0","MND":"0","MGK":"0","HP":"16","dodge":"8","speed":"4","stress":"5","adef":"6","mana":"1"},{"tier":"2","size":"2","armor":"2","scope":"5","save":"12","init":"7","BLK":"3","AGI":"1","MND":"0","MGK":"1","HP":"20","dodge":"9","speed":"4","stress":"5","adef":"6","mana":"1"},{"tier":"3","size":"2","armor":"2","scope":"5","save":"14","init":"7","BLK":"5","AGI":"1","MND":"1","MGK":"1","HP":"25","dodge":"10","speed":"4","stress":"5","adef":"6","mana":"1"}]},{"type":"ELEMENTALIST","tiers":[{"tier":"2","size":"1","armor":"0","scope":"10","save":"12","init":"1","BLK":"0","AGI":"1","MND":"2","MGK":"2","HP":"18","dodge":"8","speed":"5","stress":"9","adef":"9","mana":"7"},{"tier":"3","size":"1","armor":"0","scope":"10","save":"14","init":"1","BLK":"0","AGI":"1","MND":"3","MGK":"4","HP":"20","dodge":"8","speed":"5","stress":"10","adef":"10","mana":"9"},{"tier":"1","size":"1","armor":"0","scope":"10","save":"10","init":"1","BLK":"0","AGI":"0","MND":"1","MGK":"1","HP":"16","dodge":"8","speed":"5","stress":"8","adef":"8","mana":"6"}]},{"type":"EXPENDABLE","tiers":[{"tier":"2","size":"0.5","armor":"1","scope":"5","save":"12","init":"5","BLK":"3","AGI":"0","MND":"-2","MGK":"0","HP":"6","dodge":"9","speed":"5","stress":"5","adef":"9","mana":"1"},{"tier":"3","size":"0.5","armor":"1","scope":"5","save":"14","init":"5","BLK":"4","AGI":"1","MND":"-2","MGK":"1","HP":"8","dodge":"11","speed":"6","stress":"5","adef":"11","mana":"1"},{"tier":"1","size":"0.5","armor":"1","scope":"5","save":"10","init":"5","BLK":"2","AGI":"-1","MND":"-2","MGK":"0","HP":"4","dodge":"7","speed":"5","stress":"5","adef":"7","mana":"1"}]},{"type":"FIREBUG","tiers":[{"tier":"3","size":"2","armor":"3","scope":"10","save":"15","init":"5","BLK":"4","AGI":"-1","MND":"2","MGK":"3","HP":"18","dodge":"12","speed":"4","stress":"8","adef":"12","mana":"6"},{"tier":"2","size":"2","armor":"2","scope":"5","save":"12","init":"5","BLK":"2","AGI":"-1","MND":"2","MGK":"2","HP":"16","dodge":"10","speed":"4","stress":"8","adef":"10","mana":"5"},{"tier":"1","size":"2","armor":"2","scope":"5","save":"10","init":"5","BLK":"1","AGI":"-1","MND":"1","MGK":"1","HP":"14","dodge":"8","speed":"4","stress":"8","adef":"8","mana":"4"}]},{"type":"FORTRESS","tiers":[{"tier":"1","size":"3","armor":"2","scope":"10","save":"11","init":"1","BLK":"3","AGI":"-2","MND":"0","MGK":"0","HP":"25","dodge":"6","speed":"4","stress":"5","adef":"6","mana":"2"},{"tier":"2","size":"3","armor":"2","scope":"10","save":"14","init":"1","BLK":"4","AGI":"-2","MND":"0","MGK":"1","HP":"30","dodge":"7","speed":"4","stress":"6","adef":"7","mana":"2"},{"tier":"3","size":"3","armor":"2","scope":"10","save":"16","init":"1","BLK":"6","AGI":"-2","MND":"0","MGK":"2","HP":"35","dodge":"8","speed":"4","stress":"7","adef":"8","mana":"3"}]},{"type":"FURY","tiers":[{"tier":"1","size":"1","armor":"1","scope":"5","save":"10","init":"7","BLK":"3","AGI":"2","MND":"-2","MGK":"-2","HP":"20","dodge":"10","speed":"5","stress":"4","adef":"5","mana":"1"},{"tier":"2","size":"1","armor":"1","scope":"5","save":"12","init":"7","BLK":"4","AGI":"3","MND":"-2","MGK":"-1","HP":"25","dodge":"12","speed":"5","stress":"5","adef":"6","mana":"1"},{"tier":"3","size":"1","armor":"1","scope":"5","save":"14","init":"7","BLK":"5","AGI":"4","MND":"-2","MGK":"0","HP":"30","dodge":"14","speed":"6","stress":"6","adef":"7","mana":"1"}]},{"type":"GLADIATOR","tiers":[{"tier":"1","size":"1","armor":"2","scope":"5","save":"12","init":"5","BLK":"2","AGI":"1","MND":"-1","MGK":"0","HP":"16","dodge":"8","speed":"5","stress":"6","adef":"6","mana":"2"},{"tier":"2","size":"1","armor":"2","scope":"5","save":"15","init":"5","BLK":"3","AGI":"3","MND":"-1","MGK":"0","HP":"18","dodge":"10","speed":"5","stress":"7","adef":"8","mana":"3"},{"tier":"3","size":"1","armor":"2","scope":"5","save":"18","init":"5","BLK":"4","AGI":"4","MND":"0","MGK":"0","HP":"20","dodge":"12","speed":"6","stress":"7","adef":"10","mana":"4"}]},{"type":"GUNNER","tiers":[{"tier":"2","size":"1","armor":"0","scope":"15","save":"13","init":"7","BLK":"-1","AGI":"2","MND":"2","MGK":"2","HP":"12","dodge":"12","speed":"5","stress":"7","adef":"10","mana":"8"},{"tier":"3","size":"1","armor":"0","scope":"15","save":"16","init":"7","BLK":"-1","AGI":"4","MND":"2","MGK":"3","HP":"14","dodge":"14","speed":"5","stress":"8","adef":"10","mana":"10"},{"tier":"1","size":"1","armor":"0","scope":"15","save":"10","init":"7","BLK":"-1","AGI":"1","MND":"1","MGK":"1","HP":"10","dodge":"10","speed":"5","stress":"6","adef":"10","mana":"6"}]},{"type":"HEALER","tiers":[{"tier":"2","size":"1","armor":"0","scope":"10","save":"12","init":"2","BLK":"0","AGI":"0","MND":"2","MGK":"3","HP":"12","dodge":"11","speed":"5","stress":"11","adef":"12","mana":"5"},{"tier":"3","size":"1","armor":"0","scope":"15","save":"14","init":"2","BLK":"0","AGI":"0","MND":"3","MGK":"5","HP":"14","dodge":"12","speed":"5","stress":"12","adef":"14","mana":"6"},{"tier":"1","size":"1","armor":"0","scope":"10","save":"10","init":"2","BLK":"0","AGI":"0","MND":"1","MGK":"1","HP":"10","dodge":"10","speed":"5","stress":"10","adef":"10","mana":"4"}]},{"type":"MARSHAL","tiers":[{"tier":"2","size":"1","armor":"1","scope":"12","save":"13","init":"3","BLK":"1","AGI":"1","MND":"2","MGK":"1","HP":"16","dodge":"8","speed":"5","stress":"8","adef":"8","mana":"4"},{"tier":"3","size":"1","armor":"1","scope":"15","save":"15","init":"3","BLK":"1","AGI":"2","MND":"3","MGK":"2","HP":"18","dodge":"9","speed":"5","stress":"8","adef":"9","mana":"5"},{"tier":"1","size":"1","armor":"1","scope":"10","save":"10","init":"3","BLK":"1","AGI":"0","MND":"1","MGK":"0","HP":"14","dodge":"7","speed":"5","stress":"8","adef":"7","mana":"3"}]},{"type":"MINDREAVER","tiers":[{"tier":"2","size":"1","armor":"0","scope":"12","save":"15","init":"2","BLK":"-1","AGI":"0","MND":"4","MGK":"2","HP":"16","dodge":"8","speed":"5","stress":"12","adef":"12","mana":"5"},{"tier":"3","size":"1","armor":"0","scope":"15","save":"18","init":"2","BLK":"-1","AGI":"0","MND":"6","MGK":"3","HP":"18","dodge":"10","speed":"5","stress":"13","adef":"14","mana":"6"},{"tier":"1","size":"1","armor":"0","scope":"12","save":"12","init":"2","BLK":"-1","AGI":"-1","MND":"3","MGK":"1","HP":"14","dodge":"8","speed":"5","stress":"10","adef":"10","mana":"4"}]},{"type":"MIRAGE","tiers":[{"tier":"1","size":"1","armor":"0","scope":"10","save":"11","init":"2","BLK":"-1","AGI":"1","MND":"0","MGK":"2","HP":"10","dodge":"12","speed":"6","stress":"6","adef":"10","mana":"3"},{"tier":"2","size":"1","armor":"0","scope":"10","save":"14","init":"2","BLK":"-1","AGI":"2","MND":"1","MGK":"3","HP":"12","dodge":"14","speed":"6","stress":"6","adef":"14","mana":"4"},{"tier":"3","size":"1","armor":"0","scope":"10","save":"17","init":"2","BLK":"-1","AGI":"4","MND":"1","MGK":"4","HP":"14","dodge":"18","speed":"7","stress":"6","adef":"18","mana":"5"}]},{"type":"OVERLORD","tiers":[{"tier":"2","size":"1","armor":"0","scope":"15","save":"14","init":"2","BLK":"-1","AGI":"1","MND":"2","MGK":"3","HP":"10","dodge":"10","speed":"7","stress":"9","adef":"15","mana":"5"},{"tier":"3","size":"1","armor":"0","scope":"20","save":"18","init":"2","BLK":"-1","AGI":"1","MND":"3","MGK":"5","HP":"10","dodge":"11","speed":"8","stress":"10","adef":"18","mana":"6"},{"tier":"1","size":"1","armor":"0","scope":"15","save":"11","init":"2","BLK":"-1","AGI":"0","MND":"1","MGK":"2","HP":"10","dodge":"8","speed":"6","stress":"8","adef":"12","mana":"4"}]},{"type":"PEGASUS","tiers":[{"tier":"2","size":"2","armor":"0","scope":"10","save":"12","init":"4","BLK":"-1","AGI":"2","MND":"0","MGK":"4","HP":"16","dodge":"12","speed":"7","stress":"11","adef":"14","mana":"6"},{"tier":"3","size":"2","armor":"0","scope":"10","save":"14","init":"4","BLK":"-1","AGI":"3","MND":"1","MGK":"5","HP":"18","dodge":"14","speed":"8","stress":"12","adef":"16","mana":"7"},{"tier":"1","size":"2","armor":"0","scope":"10","save":"10","init":"4","BLK":"-1","AGI":"1","MND":"0","MGK":"2","HP":"14","dodge":"10","speed":"6","stress":"10","adef":"12","mana":"5"}]},{"type":"PROTECTOR","tiers":[{"tier":"1","size":"2","armor":"3","scope":"10","save":"10","init":"1","BLK":"2","AGI":"-1","MND":"0","MGK":"1","HP":"15","dodge":"7","speed":"4","stress":"5","adef":"6","mana":"3"},{"tier":"3","size":"2","armor":"4","scope":"10","save":"14","init":"1","BLK":"5","AGI":"-1","MND":"2","MGK":"2","HP":"25","dodge":"7","speed":"4","stress":"8","adef":"6","mana":"4"},{"tier":"2","size":"2","armor":"3","scope":"10","save":"12","init":"1","BLK":"3","AGI":"-1","MND":"1","MGK":"2","HP":"20","dodge":"7","speed":"4","stress":"6","adef":"6","mana":"3"}]},{"type":"RANGER","tiers":[{"tier":"1","size":"1","armor":"1","scope":"10","save":"10","init":"3","BLK":"1","AGI":"1","MND":"0","MGK":"0","HP":"15","dodge":"8","speed":"5","stress":"7","adef":"8","mana":"3"},{"tier":"2","size":"1","armor":"1","scope":"10","save":"12","init":"3","BLK":"2","AGI":"2","MND":"1","MGK":"0","HP":"18","dodge":"10","speed":"5","stress":"7","adef":"9","mana":"3"},{"tier":"3","size":"1","armor":"1","scope":"10","save":"14","init":"3","BLK":"3","AGI":"3","MND":"1","MGK":"1","HP":"21","dodge":"12","speed":"5","stress":"7","adef":"10","mana":"3"}]},{"type":"ROGUE","tiers":[{"tier":"1","size":"0.5","armor":"0","scope":"10","save":"10","init":"2","BLK":"-1","AGI":"2","MND":"1","MGK":"0","HP":"10","dodge":"12","speed":"6","stress":"6","adef":"8","mana":"1"},{"tier":"2","size":"0.5","armor":"0","scope":"10","save":"12","init":"2","BLK":"0","AGI":"4","MND":"1","MGK":"0","HP":"12","dodge":"15","speed":"6","stress":"6","adef":"9","mana":"1"},{"tier":"3","size":"0.5","armor":"0","scope":"10","save":"14","init":"2","BLK":"0","AGI":"6","MND":"2","MGK":"0","HP":"14","dodge":"18","speed":"6","stress":"6","adef":"10","mana":"1"}]},{"type":"SNIPER","tiers":[{"tier":"1","size":"1","armor":"0","scope":"20","save":"10","init":"3","BLK":"-1","AGI":"2","MND":"1","MGK":"0","HP":"10","dodge":"10","speed":"5","stress":"5","adef":"8","mana":"3"},{"tier":"2","size":"1","armor":"0","scope":"20","save":"12","init":"3","BLK":"0","AGI":"3","MND":"1","MGK":"1","HP":"12","dodge":"12","speed":"5","stress":"5","adef":"8","mana":"3"},{"tier":"3","size":"1","armor":"0","scope":"25","save":"14","init":"3","BLK":"0","AGI":"5","MND":"2","MGK":"1","HP":"14","dodge":"14","speed":"5","stress":"6","adef":"8","mana":"3"}]},{"type":"SPECTER","tiers":[{"tier":"1","size":"1","armor":"0","scope":"10","save":"12","init":"3","BLK":"-2","AGI":"1","MND":"2","MGK":"1","HP":"14","dodge":"8","speed":"5","stress":"8","adef":"10","mana":"4"},{"tier":"2","size":"1","armor":"0","scope":"10","save":"15","init":"3","BLK":"-2","AGI":"2","MND":"3","MGK":"2","HP":"16","dodge":"10","speed":"5","stress":"9","adef":"11","mana":"4"},{"tier":"3","size":"1","armor":"0","scope":"10","save":"18","init":"3","BLK":"-2","AGI":"3","MND":"4","MGK":"3","HP":"18","dodge":"12","speed":"6","stress":"10","adef":"12","mana":"4"}]},{"type":"SPELLSHIELD","tiers":[{"tier":"3","size":"2","armor":"2","scope":"15","save":"16","init":"1","BLK":"2","AGI":"0","MND":"1","MGK":"5","HP":"24","dodge":"9","speed":"4","stress":"14","adef":"18","mana":"7"},{"tier":"2","size":"2","armor":"1","scope":"12","save":"13","init":"1","BLK":"1","AGI":"0","MND":"0","MGK":"4","HP":"21","dodge":"8","speed":"4","stress":"12","adef":"15","mana":"6"},{"tier":"1","size":"2","armor":"1","scope":"10","save":"10","init":"1","BLK":"0","AGI":"0","MND":"0","MGK":"2","HP":"18","dodge":"7","speed":"4","stress":"10","adef":"12","mana":"5"}]},{"type":"SUMMONER","tiers":[{"tier":"1","size":"1","armor":"0","scope":"10","save":"11","init":"2","BLK":"-2","AGI":"0","MND":"2","MGK":"2","HP":"8","dodge":"10","speed":"5","stress":"8","adef":"12","mana":"3"},{"tier":"2","size":"1","armor":"0","scope":"12","save":"13","init":"2","BLK":"-2","AGI":"0","MND":"3","MGK":"4","HP":"10","dodge":"10","speed":"5","stress":"8","adef":"15","mana":"5"},{"tier":"3","size":"1","armor":"0","scope":"15","save":"15","init":"2","BLK":"-2","AGI":"0","MND":"4","MGK":"6","HP":"12","dodge":"10","speed":"5","stress":"8","adef":"18","mana":"7"}]},{"type":"SWARM","tiers":[{"tier":"1","size":"2","armor":"0","scope":"8","save":"11","init":"4","BLK":"2","AGI":"2","MND":"-2","MGK":"0","HP":"20","dodge":"8","speed":"4","stress":"6","adef":"6","mana":"3"},{"tier":"2","size":"2","armor":"0","scope":"8","save":"14","init":"4","BLK":"3","AGI":"3","MND":"-2","MGK":"1","HP":"25","dodge":"10","speed":"4","stress":"7","adef":"7","mana":"3"},{"tier":"3","size":"2","armor":"0","scope":"8","save":"17","init":"4","BLK":"4","AGI":"4","MND":"-2","MGK":"2","HP":"30","dodge":"12","speed":"4","stress":"8","adef":"8","mana":"4"}]},{"type":"TITAN","tiers":[{"tier":"1","size":"3","armor":"2","scope":"5","save":"11","init":"7","BLK":"4","AGI":"-2","MND":"0","MGK":"0","HP":"15","dodge":"6","speed":"3","stress":"6","adef":"6","mana":"3"},{"tier":"2","size":"3","armor":"2","scope":"5","save":"13","init":"7","BLK":"6","AGI":"-2","MND":"1","MGK":"0","HP":"20","dodge":"8","speed":"3","stress":"6","adef":"8","mana":"3"},{"tier":"3","size":"3","armor":"2","scope":"5","save":"15","init":"7","BLK":"6","AGI":"-1","MND":"2","MGK":"1","HP":"25","dodge":"10","speed":"4","stress":"6","adef":"10","mana":"4"}]},{"type":"VULTURE","tiers":[{"tier":"1","size":"1","armor":"0","scope":"10","save":"11","init":"3","BLK":"-2","AGI":"4","MND":"0","MGK":"0","HP":"8","dodge":"12","speed":"7","stress":"6","adef":"8","mana":"2"},{"tier":"2","size":"1","armor":"0","scope":"10","save":"14","init":"3","BLK":"-2","AGI":"5","MND":"1","MGK":"1","HP":"8","dodge":"15","speed":"7","stress":"6","adef":"10","mana":"2"},{"tier":"3","size":"1","armor":"0","scope":"10","save":"17","init":"3","BLK":"-2","AGI":"6","MND":"2","MGK":"2","HP":"10","dodge":"18","speed":"8","stress":"6","adef":"12","mana":"3"}]},{"type":"WARMAGE","tiers":[{"tier":"1","size":"1","armor":"0","scope":"20","save":"12","init":"2","BLK":"-1","AGI":"0","MND":"1","MGK":"2","HP":"10","dodge":"8","speed":"4","stress":"10","adef":"12","mana":"6"},{"tier":"2","size":"1","armor":"0","scope":"20","save":"14","init":"2","BLK":"-1","AGI":"0","MND":"2","MGK":"4","HP":"10","dodge":"8","speed":"4","stress":"11","adef":"14","mana":"7"},{"tier":"3","size":"1","armor":"0","scope":"20","save":"16","init":"2","BLK":"-1","AGI":"1","MND":"3","MGK":"5","HP":"12","dodge":"10","speed":"4","stress":"12","adef":"17","mana":"8"}]}]'); - \ No newline at end of file +