182 files changed, 3882 insertions(+), 819 deletions(-)
diff --git config_180523_1200/Items/cloud/damageboost_blast_0.txt config_180529_2118/Items/cloud/damageboost_blast_0.txt
index 3b8dcf2..1b56eb0 100644
--- config_180523_1200/Items/cloud/damageboost_blast_0.txt
+++ config_180529_2118/Items/cloud/damageboost_blast_0.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: damageboostblast0
-icon: ItemLootCloud_Damage_0
+icon: ItemLootBlast_DamageBoost_0
 id: damageboost_blast_0
 slot: SecondaryAttack
 tag: damageboost_blast
 tier: '0'
diff --git config_180523_1200/Items/cloud/damageboost_blast_1.txt config_180529_2118/Items/cloud/damageboost_blast_1.txt
index 660710e..f52f1d0 100644
--- config_180523_1200/Items/cloud/damageboost_blast_1.txt
+++ config_180529_2118/Items/cloud/damageboost_blast_1.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: damageboostblast1
-icon: ItemLootCloud_Damage_1
+icon: ItemLootBlast_DamageBoost_1
 id: damageboost_blast_1
 slot: SecondaryAttack
 tag: damageboost_blast
 tier: '1'
diff --git config_180523_1200/Items/cloud/damageboost_blast_10.txt config_180529_2118/Items/cloud/damageboost_blast_10.txt
index 44e8608..3f05b1e 100644
--- config_180523_1200/Items/cloud/damageboost_blast_10.txt
+++ config_180529_2118/Items/cloud/damageboost_blast_10.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: damageboostblast10
-icon: ItemLootCloud_Damage_10
+icon: ItemLootBlast_DamageBoost_10
 id: damageboost_blast_10
 slot: SecondaryAttack
 tag: damageboost_blast
 tier: '10'
diff --git config_180523_1200/Items/cloud/damageboost_blast_2.txt config_180529_2118/Items/cloud/damageboost_blast_2.txt
index f9ee8ec..90f3a8a 100644
--- config_180523_1200/Items/cloud/damageboost_blast_2.txt
+++ config_180529_2118/Items/cloud/damageboost_blast_2.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: damageboostblast2
-icon: ItemLootCloud_Damage_2
+icon: ItemLootBlast_DamageBoost_2
 id: damageboost_blast_2
 slot: SecondaryAttack
 tag: damageboost_blast
 tier: '2'
diff --git config_180523_1200/Items/cloud/damageboost_blast_3.txt config_180529_2118/Items/cloud/damageboost_blast_3.txt
index 0cbc990..4aa1d9f 100644
--- config_180523_1200/Items/cloud/damageboost_blast_3.txt
+++ config_180529_2118/Items/cloud/damageboost_blast_3.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: damageboostblast3
-icon: ItemLootCloud_Damage_3
+icon: ItemLootBlast_DamageBoost_3
 id: damageboost_blast_3
 slot: SecondaryAttack
 tag: damageboost_blast
 tier: '3'
diff --git config_180523_1200/Items/cloud/damageboost_blast_4.txt config_180529_2118/Items/cloud/damageboost_blast_4.txt
index c6cafd4..5300236 100644
--- config_180523_1200/Items/cloud/damageboost_blast_4.txt
+++ config_180529_2118/Items/cloud/damageboost_blast_4.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: damageboostblast4
-icon: ItemLootCloud_Damage_4
+icon: ItemLootBlast_DamageBoost_4
 id: damageboost_blast_4
 slot: SecondaryAttack
 tag: damageboost_blast
 tier: '4'
diff --git config_180523_1200/Items/cloud/damageboost_blast_5.txt config_180529_2118/Items/cloud/damageboost_blast_5.txt
index c20fc2f..402f236 100644
--- config_180523_1200/Items/cloud/damageboost_blast_5.txt
+++ config_180529_2118/Items/cloud/damageboost_blast_5.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: damageboostblast5
-icon: ItemLootCloud_Damage_5
+icon: ItemLootBlast_DamageBoost_5
 id: damageboost_blast_5
 slot: SecondaryAttack
 tag: damageboost_blast
 tier: '5'
diff --git config_180523_1200/Items/cloud/damageboost_blast_6.txt config_180529_2118/Items/cloud/damageboost_blast_6.txt
index 9ef4336..d54e7ca 100644
--- config_180523_1200/Items/cloud/damageboost_blast_6.txt
+++ config_180529_2118/Items/cloud/damageboost_blast_6.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: damageboostblast6
-icon: ItemLootCloud_Damage_6
+icon: ItemLootBlast_DamageBoost_6
 id: damageboost_blast_6
 slot: SecondaryAttack
 tag: damageboost_blast
 tier: '6'
diff --git config_180523_1200/Items/cloud/damageboost_blast_7.txt config_180529_2118/Items/cloud/damageboost_blast_7.txt
index c506336..cf28e48 100644
--- config_180523_1200/Items/cloud/damageboost_blast_7.txt
+++ config_180529_2118/Items/cloud/damageboost_blast_7.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: damageboostblast7
-icon: ItemLootCloud_Damage_7
+icon: ItemLootBlast_DamageBoost_7
 id: damageboost_blast_7
 slot: SecondaryAttack
 tag: damageboost_blast
 tier: '7'
diff --git config_180523_1200/Items/cloud/damageboost_blast_8.txt config_180529_2118/Items/cloud/damageboost_blast_8.txt
index c5e93f2..032a079 100644
--- config_180523_1200/Items/cloud/damageboost_blast_8.txt
+++ config_180529_2118/Items/cloud/damageboost_blast_8.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: damageboostblast8
-icon: ItemLootCloud_Damage_8
+icon: ItemLootBlast_DamageBoost_8
 id: damageboost_blast_8
 slot: SecondaryAttack
 tag: damageboost_blast
 tier: '8'
diff --git config_180523_1200/Items/cloud/damageboost_blast_9.txt config_180529_2118/Items/cloud/damageboost_blast_9.txt
index 6d281b5..a796790 100644
--- config_180523_1200/Items/cloud/damageboost_blast_9.txt
+++ config_180529_2118/Items/cloud/damageboost_blast_9.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: damageboostblast9
-icon: ItemLootCloud_Damage_9
+icon: ItemLootBlast_DamageBoost_9
 id: damageboost_blast_9
 slot: SecondaryAttack
 tag: damageboost_blast
 tier: '9'
diff --git config_180523_1200/Items/cloud/healaura_0.txt config_180529_2118/Items/cloud/healaura_0.txt
index ac36140..dcb6b03 100644
--- config_180523_1200/Items/cloud/healaura_0.txt
+++ config_180529_2118/Items/cloud/healaura_0.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: healaura0
-icon: ItemLootBlast_ResistAura_0
+icon: ItemLootBlast_HealAura_0
 id: healaura_0
 slot: SecondaryAttack
 tag: healaura
 tier: '0'
diff --git config_180523_1200/Items/cloud/healaura_1.txt config_180529_2118/Items/cloud/healaura_1.txt
index 7fa7823..584d923 100644
--- config_180523_1200/Items/cloud/healaura_1.txt
+++ config_180529_2118/Items/cloud/healaura_1.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: healaura0
-icon: ItemLootBlast_ResistAura_0
+icon: ItemLootBlast_HealAura_1
 id: healaura_1
 slot: SecondaryAttack
 tag: healaura
 tier: '1'
diff --git config_180523_1200/Items/cloud/healaura_10.txt config_180529_2118/Items/cloud/healaura_10.txt
index 7b4222b..aa6c00a 100644
--- config_180523_1200/Items/cloud/healaura_10.txt
+++ config_180529_2118/Items/cloud/healaura_10.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: healaura0
-icon: ItemLootBlast_ResistAura_0
+icon: ItemLootBlast_HealAura_10
 id: healaura_10
 slot: SecondaryAttack
 tag: healaura
 tier: '10'
diff --git config_180523_1200/Items/cloud/healaura_2.txt config_180529_2118/Items/cloud/healaura_2.txt
index 9643a86..8e5cc34 100644
--- config_180523_1200/Items/cloud/healaura_2.txt
+++ config_180529_2118/Items/cloud/healaura_2.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: healaura0
-icon: ItemLootBlast_ResistAura_0
+icon: ItemLootBlast_HealAura_2
 id: healaura_2
 slot: SecondaryAttack
 tag: healaura
 tier: '2'
diff --git config_180523_1200/Items/cloud/healaura_3.txt config_180529_2118/Items/cloud/healaura_3.txt
index 12fdaa4..d3c675f 100644
--- config_180523_1200/Items/cloud/healaura_3.txt
+++ config_180529_2118/Items/cloud/healaura_3.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: healaura0
-icon: ItemLootBlast_ResistAura_0
+icon: ItemLootBlast_HealAura_3
 id: healaura_3
 slot: SecondaryAttack
 tag: healaura
 tier: '3'
diff --git config_180523_1200/Items/cloud/healaura_4.txt config_180529_2118/Items/cloud/healaura_4.txt
index a16364c..955969c 100644
--- config_180523_1200/Items/cloud/healaura_4.txt
+++ config_180529_2118/Items/cloud/healaura_4.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: healaura0
-icon: ItemLootBlast_ResistAura_0
+icon: ItemLootBlast_HealAura_4
 id: healaura_4
 slot: SecondaryAttack
 tag: healaura
 tier: '4'
diff --git config_180523_1200/Items/cloud/healaura_5.txt config_180529_2118/Items/cloud/healaura_5.txt
index 922f5a7..18e9b36 100644
--- config_180523_1200/Items/cloud/healaura_5.txt
+++ config_180529_2118/Items/cloud/healaura_5.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: healaura0
-icon: ItemLootBlast_ResistAura_0
+icon: ItemLootBlast_HealAura_5
 id: healaura_5
 slot: SecondaryAttack
 tag: healaura
 tier: '5'
diff --git config_180523_1200/Items/cloud/healaura_6.txt config_180529_2118/Items/cloud/healaura_6.txt
index ca1938f..8399034 100644
--- config_180523_1200/Items/cloud/healaura_6.txt
+++ config_180529_2118/Items/cloud/healaura_6.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: healaura0
-icon: ItemLootBlast_ResistAura_0
+icon: ItemLootBlast_HealAura_6
 id: healaura_6
 slot: SecondaryAttack
 tag: healaura
 tier: '6'
diff --git config_180523_1200/Items/cloud/healaura_7.txt config_180529_2118/Items/cloud/healaura_7.txt
index 1be9213..7d621b2 100644
--- config_180523_1200/Items/cloud/healaura_7.txt
+++ config_180529_2118/Items/cloud/healaura_7.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: healaura0
-icon: ItemLootBlast_ResistAura_0
+icon: ItemLootBlast_HealAura_7
 id: healaura_7
 slot: SecondaryAttack
 tag: healaura
 tier: '7'
diff --git config_180523_1200/Items/cloud/healaura_8.txt config_180529_2118/Items/cloud/healaura_8.txt
index 83eb8e7..021cce2 100644
--- config_180523_1200/Items/cloud/healaura_8.txt
+++ config_180529_2118/Items/cloud/healaura_8.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: healaura0
-icon: ItemLootBlast_ResistAura_0
+icon: ItemLootBlast_HealAura_8
 id: healaura_8
 slot: SecondaryAttack
 tag: healaura
 tier: '8'
diff --git config_180523_1200/Items/cloud/healaura_9.txt config_180529_2118/Items/cloud/healaura_9.txt
index b06f015..052ae23 100644
--- config_180523_1200/Items/cloud/healaura_9.txt
+++ config_180529_2118/Items/cloud/healaura_9.txt
@@ -1,7 +1,7 @@
 actions:
 - cloud: healaura0
-icon: ItemLootBlast_ResistAura_0
+icon: ItemLootBlast_HealAura_9
 id: healaura_9
 slot: SecondaryAttack
 tag: healaura
 tier: '9'
diff --git config_180523_1200/Items/cloud/vortex_0.txt config_180529_2118/Items/cloud/vortex_0.txt
index 1964299..4599f75 100644
--- config_180523_1200/Items/cloud/vortex_0.txt
+++ config_180529_2118/Items/cloud/vortex_0.txt
@@ -3,11 +3,11 @@ actions:
     cooldown: '0.2'
     energy: '28.55750604'
     name: shortShield
     scale: '3'
     secondsToVelocity1: '0.2'
-icon: ItemLootCloud_Acid_0
+icon: ItemLootVortex_0
 id: vortex_0
 slot: SecondaryAttack
 statMods:
 - amount: '1'
   math: add
diff --git config_180523_1200/Items/cloud/vortex_1.txt config_180529_2118/Items/cloud/vortex_1.txt
index a8d4234..cbba368 100644
--- config_180523_1200/Items/cloud/vortex_1.txt
+++ config_180529_2118/Items/cloud/vortex_1.txt
@@ -3,11 +3,11 @@ actions:
     cooldown: '0.2'
     energy: '31.04076743'
     name: shortShield
     scale: '3.157894737'
     secondsToVelocity1: '0.2'
-icon: ItemLootCloud_Acid_1
+icon: ItemLootVortex_1
 id: vortex_1
 slot: SecondaryAttack
 statMods:
 - amount: '1.03'
   math: add
diff --git config_180523_1200/Items/cloud/vortex_10.txt config_180529_2118/Items/cloud/vortex_10.txt
index a362a23..604affb 100644
--- config_180523_1200/Items/cloud/vortex_10.txt
+++ config_180529_2118/Items/cloud/vortex_10.txt
@@ -3,11 +3,11 @@ actions:
     cooldown: '0.2'
     energy: '45'
     name: shortShield
     scale: '7'
     secondsToVelocity1: '0.2'
-icon: ItemLootCloud_Acid_10
+icon: ItemLootVortex_10
 id: vortex_10
 slot: SecondaryAttack
 statMods:
 - amount: '1.33'
   math: add
diff --git config_180523_1200/Items/cloud/vortex_2.txt config_180529_2118/Items/cloud/vortex_2.txt
index 836f3a3..3bad636 100644
--- config_180523_1200/Items/cloud/vortex_2.txt
+++ config_180529_2118/Items/cloud/vortex_2.txt
@@ -3,11 +3,11 @@ actions:
     cooldown: '0.2'
     energy: '33.7399646'
     name: shortShield
     scale: '3.333333333'
     secondsToVelocity1: '0.2'
-icon: ItemLootCloud_Acid_2
+icon: ItemLootVortex_2
 id: vortex_2
 slot: SecondaryAttack
 statMods:
 - amount: '1.06'
   math: add
diff --git config_180523_1200/Items/cloud/vortex_3.txt config_180529_2118/Items/cloud/vortex_3.txt
index 7c8eee6..b71db27 100644
--- config_180523_1200/Items/cloud/vortex_3.txt
+++ config_180529_2118/Items/cloud/vortex_3.txt
@@ -3,11 +3,11 @@ actions:
     cooldown: '0.2'
     energy: '36.67387457'
     name: shortShield
     scale: '3.529411765'
     secondsToVelocity1: '0.2'
-icon: ItemLootCloud_Acid_3
+icon: ItemLootVortex_3
 id: vortex_3
 slot: SecondaryAttack
 statMods:
 - amount: '1.1'
   math: add
diff --git config_180523_1200/Items/cloud/vortex_4.txt config_180529_2118/Items/cloud/vortex_4.txt
index 0afc1a9..776db69 100644
--- config_180523_1200/Items/cloud/vortex_4.txt
+++ config_180529_2118/Items/cloud/vortex_4.txt
@@ -3,11 +3,11 @@ actions:
     cooldown: '0.2'
     energy: '39.86290714'
     name: shortShield
     scale: '4.0625'
     secondsToVelocity1: '0.2'
-icon: ItemLootCloud_Acid_4
+icon: ItemLootVortex_4
 id: vortex_4
 slot: SecondaryAttack
 statMods:
 - amount: '1.13'
   math: add
diff --git config_180523_1200/Items/cloud/vortex_5.txt config_180529_2118/Items/cloud/vortex_5.txt
index bb27d4e..5f58118 100644
--- config_180523_1200/Items/cloud/vortex_5.txt
+++ config_180529_2118/Items/cloud/vortex_5.txt
@@ -3,11 +3,11 @@ actions:
     cooldown: '0.2'
     energy: '40.67643586'
     name: shortShield
     scale: '4.333333333'
     secondsToVelocity1: '0.2'
-icon: ItemLootCloud_Acid_5
+icon: ItemLootVortex_5
 id: vortex_5
 slot: SecondaryAttack
 statMods:
 - amount: '1.16'
   math: add
diff --git config_180523_1200/Items/cloud/vortex_6.txt config_180529_2118/Items/cloud/vortex_6.txt
index 99c1bd6..d226464 100644
--- config_180523_1200/Items/cloud/vortex_6.txt
+++ config_180529_2118/Items/cloud/vortex_6.txt
@@ -3,11 +3,11 @@ actions:
     cooldown: '0.2'
     energy: '41.5065672'
     name: shortShield
     scale: '4.642857143'
     secondsToVelocity1: '0.2'
-icon: ItemLootCloud_Acid_6
+icon: ItemLootVortex_6
 id: vortex_6
 slot: SecondaryAttack
 statMods:
 - amount: '1.2'
   math: add
diff --git config_180523_1200/Items/cloud/vortex_7.txt config_180529_2118/Items/cloud/vortex_7.txt
index bc61e7e..d46e644 100644
--- config_180523_1200/Items/cloud/vortex_7.txt
+++ config_180529_2118/Items/cloud/vortex_7.txt
@@ -3,11 +3,11 @@ actions:
     cooldown: '0.2'
     energy: '42.35364'
     name: shortShield
     scale: '5'
     secondsToVelocity1: '0.2'
-icon: ItemLootCloud_Acid_7
+icon: ItemLootVortex_7
 id: vortex_7
 slot: SecondaryAttack
 statMods:
 - amount: '1.23'
   math: add
diff --git config_180523_1200/Items/cloud/vortex_8.txt config_180529_2118/Items/cloud/vortex_8.txt
index 53fd3a8..0934886 100644
--- config_180523_1200/Items/cloud/vortex_8.txt
+++ config_180529_2118/Items/cloud/vortex_8.txt
@@ -3,11 +3,11 @@ actions:
     cooldown: '0.2'
     energy: '43.218'
     name: shortShield
     scale: '5.833333333'
     secondsToVelocity1: '0.2'
-icon: ItemLootCloud_Acid_8
+icon: ItemLootVortex_8
 id: vortex_8
 slot: SecondaryAttack
 statMods:
 - amount: '1.26'
   math: add
diff --git config_180523_1200/Items/cloud/vortex_9.txt config_180529_2118/Items/cloud/vortex_9.txt
index d511437..128bf0d 100644
--- config_180523_1200/Items/cloud/vortex_9.txt
+++ config_180529_2118/Items/cloud/vortex_9.txt
@@ -3,11 +3,11 @@ actions:
     cooldown: '0.2'
     energy: '44.1'
     name: shortShield
     scale: '6.363636364'
     secondsToVelocity1: '0.2'
-icon: ItemLootCloud_Acid_9
+icon: ItemLootVortex_9
 id: vortex_9
 slot: SecondaryAttack
 statMods:
 - amount: '1.3'
   math: add
diff --git config_180529_2118/Items/consumable/consumable_steam.txt config_180529_2118/Items/consumable/consumable_steam.txt
new file mode 100644
index 0000000..0a1de61
--- /dev/null
+++ config_180529_2118/Items/consumable/consumable_steam.txt
@@ -0,0 +1,8 @@
+actions:
+- healthenergy:
+    energy: '50'
+    health: '0'
+icon: ItemUnknown
+id: consumable_steam
+slot: ConsumableAction
+uses: '5'
diff --git config_180529_2118/Items/consumable/consumable_xpboost.txt config_180529_2118/Items/consumable/consumable_xpboost.txt
new file mode 100644
index 0000000..94064bc
--- /dev/null
+++ config_180529_2118/Items/consumable/consumable_xpboost.txt
@@ -0,0 +1,8 @@
+actions:
+- planexpboost:
+    additionalPercentage: '100'
+    duration: '1800'
+icon: ItemUnknown
+id: consumable_xpboost
+slot: ConsumableAction
+uses: '1'
diff --git config_180523_1200/Items/consumable/health_boost.txt config_180529_2118/Items/consumable/health_boost.txt
index b8e9307..33577ab 100644
--- config_180523_1200/Items/consumable/health_boost.txt
+++ config_180529_2118/Items/consumable/health_boost.txt
@@ -1,8 +1,8 @@
 actions:
 - healthenergy:
     energy: '0'
-    health: '100'
+    health: '50'
 icon: ItemUnknown
 id: health_boost
 slot: ConsumableAction
 uses: '5'
diff --git config_180523_1200/Items/engine/engine_0.txt config_180529_2118/Items/engine/engine_0.txt
index b4a822c..19c26b1 100644
--- config_180523_1200/Items/engine/engine_0.txt
+++ config_180529_2118/Items/engine/engine_0.txt
@@ -1,5 +1,5 @@
-icon: ItemLootEngineSpeed_0
+icon: ItemLootEngineStock_0
 id: engine_0
 slot: Engine
 statMods: []
 tier: '0'
diff --git config_180523_1200/Items/laser/laser_0.txt config_180529_2118/Items/laser/laser_0.txt
index d773e81..c6a4e54 100644
--- config_180523_1200/Items/laser/laser_0.txt
+++ config_180529_2118/Items/laser/laser_0.txt
@@ -17,10 +17,10 @@ gunMounts:
     speed: '56.0'
     spread: '0'
   mountName: mount1
   sfx:
     sound: laser
-icon: ItemLootLaserBig_0
+icon: ItemLootLaserGun_0
 id: laser_0
 slot: MainGun
 tag: laser
 tier: '0'
diff --git config_180523_1200/Items/laser/laser_1.txt config_180529_2118/Items/laser/laser_1.txt
index 04ca0b6..650dd5d 100644
--- config_180523_1200/Items/laser/laser_1.txt
+++ config_180529_2118/Items/laser/laser_1.txt
@@ -39,10 +39,10 @@ gunMounts:
     spread: '0'
   mountName: lasermount_2
   sfx:
     pitch: '1'
     sound: laser
-icon: ItemLootLaserBig_01
+icon: ItemLootLaserGun_1
 id: laser_1
 slot: MainGun
 tag: laser
 tier: '1'
diff --git config_180523_1200/Items/laser/laser_10.txt config_180529_2118/Items/laser/laser_10.txt
index 05b7892..af075c7 100644
--- config_180523_1200/Items/laser/laser_10.txt
+++ config_180529_2118/Items/laser/laser_10.txt
@@ -51,10 +51,10 @@ gunMounts:
   mountName: laserbigmount2
   sfx:
     pitch: '0.5'
     sound: laser
     volume: '1'
-icon: ItemLootLaserBig_10
+icon: ItemLootLaserGun_10
 id: laser_10
 slot: MainGun
 tag: laser
 tier: '10'
diff --git config_180523_1200/Items/laser/laser_2.txt config_180529_2118/Items/laser/laser_2.txt
index 8ddf713..8277277 100644
--- config_180523_1200/Items/laser/laser_2.txt
+++ config_180529_2118/Items/laser/laser_2.txt
@@ -19,10 +19,10 @@ gunMounts:
     speed: '56.0'
     spread: '0'
   mountName: laser2_mount
   sfx:
     sound: laser
-icon: ItemLootLaserBig_02
+icon: ItemLootLaserGun_2
 id: laser_2
 slot: MainGun
 tag: laser
 tier: '2'
diff --git config_180523_1200/Items/laser/laser_3.txt config_180529_2118/Items/laser/laser_3.txt
index 2b14648..82a3328 100644
--- config_180523_1200/Items/laser/laser_3.txt
+++ config_180529_2118/Items/laser/laser_3.txt
@@ -45,10 +45,10 @@ gunMounts:
   - '0'
   - '0'
   sfx:
     pitch: '0.75'
     sound: laser
-icon: ItemLootLaserBig_03
+icon: ItemLootLaserGun_3
 id: laser_3
 slot: MainGun
 tag: laser
 tier: '3'
diff --git config_180523_1200/Items/laser/laser_4.txt config_180529_2118/Items/laser/laser_4.txt
index 6201757..a5809d2 100644
--- config_180523_1200/Items/laser/laser_4.txt
+++ config_180529_2118/Items/laser/laser_4.txt
@@ -22,10 +22,10 @@ gunMounts:
   offset:
   - '0'
   - '0'
   sfx:
     sound: laser
-icon: ItemLootLaserBig_04
+icon: ItemLootLaserGun_4
 id: laser_4
 slot: MainGun
 tag: laser
 tier: '4'
diff --git config_180523_1200/Items/laser/laser_5.txt config_180529_2118/Items/laser/laser_5.txt
index b4ac5a8..2395a39 100644
--- config_180523_1200/Items/laser/laser_5.txt
+++ config_180529_2118/Items/laser/laser_5.txt
@@ -22,10 +22,10 @@ gunMounts:
   offset:
   - '0'
   - '0'
   sfx:
     sound: laser
-icon: ItemLootLaserBig_05
+icon: ItemLootLaserGun_5
 id: laser_5
 slot: MainGun
 tag: laser
 tier: '5'
diff --git config_180523_1200/Items/laser/laser_6.txt config_180529_2118/Items/laser/laser_6.txt
index 3d1403c..b50556c 100644
--- config_180523_1200/Items/laser/laser_6.txt
+++ config_180529_2118/Items/laser/laser_6.txt
@@ -42,10 +42,10 @@ gunMounts:
   - '0'
   - '0'
   sfx:
     pitch: '1.5'
     sound: laser
-icon: ItemLootLaserBig_06
+icon: ItemLootLaserGun_6
 id: laser_6
 slot: MainGun
 tag: laser
 tier: '6'
diff --git config_180523_1200/Items/laser/laser_7.txt config_180529_2118/Items/laser/laser_7.txt
index 63d11ec..f4b633a 100644
--- config_180523_1200/Items/laser/laser_7.txt
+++ config_180529_2118/Items/laser/laser_7.txt
@@ -43,10 +43,10 @@ gunMounts:
   - '0'
   sfx:
     pitch: '2'
     sound: laser
     volume: '0.5'
-icon: ItemLootLaserBig_07
+icon: ItemLootLaserGun_7
 id: laser_7
 slot: MainGun
 tag: laser
 tier: '7'
diff --git config_180523_1200/Items/laser/laser_8.txt config_180529_2118/Items/laser/laser_8.txt
index b9f5388..a3b8c46 100644
--- config_180523_1200/Items/laser/laser_8.txt
+++ config_180529_2118/Items/laser/laser_8.txt
@@ -46,10 +46,10 @@ gunMounts:
   sfx:
     sound: laser
     volume: '0.5'
   syncOffset: '0.0'
   syncTo: laser8_mount
-icon: ItemLootLaserBig_08
+icon: ItemLootLaserGun_8
 id: laser_8
 slot: MainGun
 tag: laser
 tier: '8'
diff --git config_180523_1200/Items/laser/laser_9.txt config_180529_2118/Items/laser/laser_9.txt
index f3438cd..f87240f 100644
--- config_180523_1200/Items/laser/laser_9.txt
+++ config_180529_2118/Items/laser/laser_9.txt
@@ -25,10 +25,10 @@ gunMounts:
   mountName: laser9_mount
   sfx:
     pitch: '0.8'
     sound: laser
     volume: '0.8'
-icon: ItemLootLaserBig_09
+icon: ItemLootLaserGun_9
 id: laser_9
 slot: MainGun
 tag: laser
 tier: '9'
diff --git config_180523_1200/Items/mine/mine_0.txt config_180529_2118/Items/mine/mine_0.txt
index 6b43dcb..b57b450 100644
--- config_180523_1200/Items/mine/mine_0.txt
+++ config_180529_2118/Items/mine/mine_0.txt
@@ -7,10 +7,10 @@ actions:
     offset:
       angle: '0'
       distance: '0.0'
       isRelative: 'true'
     unit: allymine
-icon: ItemLoot_Turret_0
+icon: ItemLootMine_0
 id: mine_0
 slot: SecondaryAttack
 tag: mine
 tier: '0'
diff --git config_180523_1200/Items/mine/mine_1.txt config_180529_2118/Items/mine/mine_1.txt
index e850fc3..c594d78 100644
--- config_180523_1200/Items/mine/mine_1.txt
+++ config_180529_2118/Items/mine/mine_1.txt
@@ -7,10 +7,10 @@ actions:
     offset:
       angle: '0'
       distance: '0.0'
       isRelative: 'true'
     unit: allymine1
-icon: ItemLoot_Turret_1
+icon: ItemLootMine_1
 id: mine_1
 slot: SecondaryAttack
 tag: mine
 tier: '1'
diff --git config_180523_1200/Items/mine/mine_2.txt config_180529_2118/Items/mine/mine_2.txt
index 6446779..93d627e 100644
--- config_180523_1200/Items/mine/mine_2.txt
+++ config_180529_2118/Items/mine/mine_2.txt
@@ -7,10 +7,10 @@ actions:
     offset:
       angle: '0'
       distance: '0.0'
       isRelative: 'true'
     unit: allymine2
-icon: ItemLoot_Turret_2
+icon: ItemLootMine_2
 id: mine_2
 slot: SecondaryAttack
 tag: mine
 tier: '2'
diff --git config_180523_1200/Items/mine/mine_3.txt config_180529_2118/Items/mine/mine_3.txt
index 82fe798..50773a3 100644
--- config_180523_1200/Items/mine/mine_3.txt
+++ config_180529_2118/Items/mine/mine_3.txt
@@ -7,10 +7,10 @@ actions:
     offset:
       angle: '0'
       distance: '0.0'
       isRelative: 'true'
     unit: allymine3
-icon: ItemLoot_Turret_3
+icon: ItemLootMine_3
 id: mine_3
 slot: SecondaryAttack
 tag: mine
 tier: '3'
diff --git config_180523_1200/Items/mine/mine_4.txt config_180529_2118/Items/mine/mine_4.txt
index 3d03a86..a2dcf34 100644
--- config_180523_1200/Items/mine/mine_4.txt
+++ config_180529_2118/Items/mine/mine_4.txt
@@ -7,10 +7,10 @@ actions:
     offset:
       angle: '0'
       distance: '0.0'
       isRelative: 'true'
     unit: allymine4
-icon: ItemLoot_Turret_4
+icon: ItemLootMine_4
 id: mine_4
 slot: SecondaryAttack
 tag: mine
 tier: '4'
diff --git config_180523_1200/Items/mine/mine_5.txt config_180529_2118/Items/mine/mine_5.txt
index 83926b6..2dae33d 100644
--- config_180523_1200/Items/mine/mine_5.txt
+++ config_180529_2118/Items/mine/mine_5.txt
@@ -7,10 +7,10 @@ actions:
     offset:
       angle: '0'
       distance: '0.0'
       isRelative: 'true'
     unit: allymine5
-icon: ItemLoot_Turret_5
+icon: ItemLootMine_5
 id: mine_5
 slot: SecondaryAttack
 tag: mine
 tier: '5'
diff --git config_180523_1200/Items/mine/mine_6.txt config_180529_2118/Items/mine/mine_6.txt
index 3ec6caf..3a52169 100644
--- config_180523_1200/Items/mine/mine_6.txt
+++ config_180529_2118/Items/mine/mine_6.txt
@@ -7,10 +7,10 @@ actions:
     offset:
       angle: '0'
       distance: '0.0'
       isRelative: 'true'
     unit: allymine6
-icon: ItemLoot_Turret_6
+icon: ItemLootMine_6
 id: mine_6
 slot: SecondaryAttack
 tag: mine
 tier: '6'
diff --git config_180523_1200/Items/mine/mine_7.txt config_180529_2118/Items/mine/mine_7.txt
index 387a441..37418e4 100644
--- config_180523_1200/Items/mine/mine_7.txt
+++ config_180529_2118/Items/mine/mine_7.txt
@@ -7,10 +7,10 @@ actions:
     offset:
       angle: '0'
       distance: '0.0'
       isRelative: 'true'
     unit: allymine7
-icon: ItemLoot_Turret_7
+icon: ItemLootMine_7
 id: mine_7
 slot: SecondaryAttack
 tag: mine
 tier: '7'
diff --git config_180523_1200/Items/mine/mine_8.txt config_180529_2118/Items/mine/mine_8.txt
index 41ff7f3..d82c8c9 100644
--- config_180523_1200/Items/mine/mine_8.txt
+++ config_180529_2118/Items/mine/mine_8.txt
@@ -7,10 +7,10 @@ actions:
     offset:
       angle: '0'
       distance: '0.0'
       isRelative: 'true'
     unit: allymine8
-icon: ItemLoot_Turret_8
+icon: ItemLootMine_8
 id: mine_8
 slot: SecondaryAttack
 tag: mine
 tier: '8'
diff --git config_180523_1200/Items/mine/mine_9.txt config_180529_2118/Items/mine/mine_9.txt
index 36719b1..db0c2d1 100644
--- config_180523_1200/Items/mine/mine_9.txt
+++ config_180529_2118/Items/mine/mine_9.txt
@@ -7,10 +7,10 @@ actions:
     offset:
       angle: '0'
       distance: '0.0'
       isRelative: 'true'
     unit: allymine9
-icon: ItemLoot_Turret_9
+icon: ItemLootMine_9
 id: mine_9
 slot: SecondaryAttack
 tag: mine
 tier: '9'
diff --git config_180523_1200/Items/mine/mine_lava.txt config_180529_2118/Items/mine/mine_lava.txt
index b9c1295..5b59a76 100644
--- config_180523_1200/Items/mine/mine_lava.txt
+++ config_180529_2118/Items/mine/mine_lava.txt
@@ -7,10 +7,10 @@ actions:
     offset:
       angle: '0'
       distance: '0.0'
       isRelative: 'true'
     unit: allyminelava
-icon: ItemLoot_Turret_10
+icon: ItemLootMine_10
 id: mine_lava
 slot: SecondaryAttack
 tag: mine
 tier: '100'
diff --git config_180523_1200/Items/stunner/stunner_0.txt config_180529_2118/Items/stunner/stunner_0.txt
index 65a97c8..06f9e5e 100644
--- config_180523_1200/Items/stunner/stunner_0.txt
+++ config_180529_2118/Items/stunner/stunner_0.txt
@@ -30,10 +30,10 @@ actions:
       speed: '3.0'
       spread: '0'
     mountName: stunner_0
     sfx:
       sound: laser
-icon: ItemLootLaserBig_0
+icon: ItemLootStunner_0
 id: stunner_0
 slot: SecondaryAttack
 tag: stunner
 tier: '0'
diff --git config_180523_1200/Items/stunner/stunner_1.txt config_180529_2118/Items/stunner/stunner_1.txt
index 41ca949..5570461 100644
--- config_180523_1200/Items/stunner/stunner_1.txt
+++ config_180529_2118/Items/stunner/stunner_1.txt
@@ -30,10 +30,10 @@ actions:
       speed: '3.0'
       spread: '0'
     mountName: stunner_1
     sfx:
       sound: laser
-icon: ItemLootLaserBig_01
+icon: ItemLootStunner_1
 id: stunner_1
 slot: SecondaryAttack
 tag: stunner
 tier: '1'
diff --git config_180523_1200/Items/stunner/stunner_10.txt config_180529_2118/Items/stunner/stunner_10.txt
index 2ee33b5..bd999ed 100644
--- config_180523_1200/Items/stunner/stunner_10.txt
+++ config_180529_2118/Items/stunner/stunner_10.txt
@@ -30,10 +30,10 @@ actions:
       speed: '3.0'
       spread: '0'
     mountName: stunner_10
     sfx:
       sound: laser
-icon: ItemLootLaserBig_10
+icon: ItemLootStunner_10
 id: stunner_10
 slot: SecondaryAttack
 tag: stunner
 tier: '10'
diff --git config_180523_1200/Items/stunner/stunner_2.txt config_180529_2118/Items/stunner/stunner_2.txt
index 4f94279..a0edd25 100644
--- config_180523_1200/Items/stunner/stunner_2.txt
+++ config_180529_2118/Items/stunner/stunner_2.txt
@@ -30,10 +30,10 @@ actions:
       speed: '3.0'
       spread: '0'
     mountName: stunner_2
     sfx:
       sound: laser
-icon: ItemLootLaserBig_02
+icon: ItemLootStunner_2
 id: stunner_2
 slot: SecondaryAttack
 tag: stunner
 tier: '2'
diff --git config_180523_1200/Items/stunner/stunner_3.txt config_180529_2118/Items/stunner/stunner_3.txt
index 5b27ed8..adc1050 100644
--- config_180523_1200/Items/stunner/stunner_3.txt
+++ config_180529_2118/Items/stunner/stunner_3.txt
@@ -30,10 +30,10 @@ actions:
       speed: '3.0'
       spread: '0'
     mountName: stunner_3
     sfx:
       sound: laser
-icon: ItemLootLaserBig_03
+icon: ItemLootStunner_3
 id: stunner_3
 slot: SecondaryAttack
 tag: stunner
 tier: '3'
diff --git config_180523_1200/Items/stunner/stunner_4.txt config_180529_2118/Items/stunner/stunner_4.txt
index 2a4bfd8..c8d9761 100644
--- config_180523_1200/Items/stunner/stunner_4.txt
+++ config_180529_2118/Items/stunner/stunner_4.txt
@@ -30,10 +30,10 @@ actions:
       speed: '3.0'
       spread: '0'
     mountName: stunner_4
     sfx:
       sound: laser
-icon: ItemLootLaserBig_04
+icon: ItemLootStunner_4
 id: stunner_4
 slot: SecondaryAttack
 tag: stunner
 tier: '4'
diff --git config_180523_1200/Items/stunner/stunner_5.txt config_180529_2118/Items/stunner/stunner_5.txt
index 15bc5c4..a373fd8 100644
--- config_180523_1200/Items/stunner/stunner_5.txt
+++ config_180529_2118/Items/stunner/stunner_5.txt
@@ -30,10 +30,10 @@ actions:
       speed: '3.0'
       spread: '0'
     mountName: stunner_5
     sfx:
       sound: laser
-icon: ItemLootLaserBig_05
+icon: ItemLootStunner_5
 id: stunner_5
 slot: SecondaryAttack
 tag: stunner
 tier: '5'
diff --git config_180523_1200/Items/stunner/stunner_6.txt config_180529_2118/Items/stunner/stunner_6.txt
index 61d7184..054d070 100644
--- config_180523_1200/Items/stunner/stunner_6.txt
+++ config_180529_2118/Items/stunner/stunner_6.txt
@@ -30,10 +30,10 @@ actions:
       speed: '3.0'
       spread: '0'
     mountName: stunner_6
     sfx:
       sound: laser
-icon: ItemLootLaserBig_06
+icon: ItemLootStunner_6
 id: stunner_6
 slot: SecondaryAttack
 tag: stunner
 tier: '6'
diff --git config_180523_1200/Items/stunner/stunner_7.txt config_180529_2118/Items/stunner/stunner_7.txt
index cb2819c..eca84bf 100644
--- config_180523_1200/Items/stunner/stunner_7.txt
+++ config_180529_2118/Items/stunner/stunner_7.txt
@@ -30,10 +30,10 @@ actions:
       speed: '3.0'
       spread: '0'
     mountName: stunner_7
     sfx:
       sound: laser
-icon: ItemLootLaserBig_07
+icon: ItemLootStunner_7
 id: stunner_7
 slot: SecondaryAttack
 tag: stunner
 tier: '7'
diff --git config_180523_1200/Items/stunner/stunner_8.txt config_180529_2118/Items/stunner/stunner_8.txt
index 52fc1cc..a220e36 100644
--- config_180523_1200/Items/stunner/stunner_8.txt
+++ config_180529_2118/Items/stunner/stunner_8.txt
@@ -30,10 +30,10 @@ actions:
       speed: '3.0'
       spread: '0'
     mountName: stunner_8
     sfx:
       sound: laser
-icon: ItemLootLaserBig_08
+icon: ItemLootStunner_8
 id: stunner_8
 slot: SecondaryAttack
 tag: stunner
 tier: '8'
diff --git config_180523_1200/Items/stunner/stunner_9.txt config_180529_2118/Items/stunner/stunner_9.txt
index 78a40c6..99b09d5 100644
--- config_180523_1200/Items/stunner/stunner_9.txt
+++ config_180529_2118/Items/stunner/stunner_9.txt
@@ -30,10 +30,10 @@ actions:
       speed: '3.0'
       spread: '0'
     mountName: stunner_9
     sfx:
       sound: laser
-icon: ItemLootLaserBig_09
+icon: ItemLootStunner_9
 id: stunner_9
 slot: SecondaryAttack
 tag: stunner
 tier: '9'
diff --git config_180523_1200/Items/sword/sword_0.txt config_180529_2118/Items/sword/sword_0.txt
index 51b77c1..3d223f4 100644
--- config_180523_1200/Items/sword/sword_0.txt
+++ config_180529_2118/Items/sword/sword_0.txt
@@ -72,10 +72,10 @@ actions:
     - '2.5'
     sfx:
       sound: 'null'
     syncOffset: '0.0'
     syncTo: sword0_mount1
-icon: ItemLootGun_UltraRare
+icon: ItemLootSword_0
 id: sword_0
 slot: MainGun
 tag: sword
 tier: '0'
diff --git config_180523_1200/Items/sword/sword_1.txt config_180529_2118/Items/sword/sword_1.txt
index 474e77a..d15080e 100644
--- config_180523_1200/Items/sword/sword_1.txt
+++ config_180529_2118/Items/sword/sword_1.txt
@@ -72,10 +72,10 @@ actions:
     - '2.5'
     sfx:
       sound: 'null'
     syncOffset: '0.0'
     syncTo: sword1_mount1
-icon: ItemLootGun_UltraRare
+icon: ItemLootSword_01
 id: sword_1
 slot: MainGun
 tag: sword
 tier: '1'
diff --git config_180523_1200/Items/sword/sword_10.txt config_180529_2118/Items/sword/sword_10.txt
index b7cb17d..6db7cd1 100644
--- config_180523_1200/Items/sword/sword_10.txt
+++ config_180529_2118/Items/sword/sword_10.txt
@@ -72,10 +72,10 @@ actions:
     - '2.5'
     sfx:
       sound: 'null'
     syncOffset: '0.0'
     syncTo: sword10_mount1
-icon: ItemLootGun_UltraRare
+icon: ItemLootSword_10
 id: sword_10
 slot: MainGun
 tag: sword
 tier: '10'
diff --git config_180523_1200/Items/sword/sword_2.txt config_180529_2118/Items/sword/sword_2.txt
index 1644783..606d0f2 100644
--- config_180523_1200/Items/sword/sword_2.txt
+++ config_180529_2118/Items/sword/sword_2.txt
@@ -72,10 +72,10 @@ actions:
     - '2.5'
     sfx:
       sound: 'null'
     syncOffset: '0.0'
     syncTo: sword2_mount1
-icon: ItemLootGun_UltraRare
+icon: ItemLootSword_02
 id: sword_2
 slot: MainGun
 tag: sword
 tier: '2'
diff --git config_180523_1200/Items/sword/sword_3.txt config_180529_2118/Items/sword/sword_3.txt
index e8a7ab1..061dc19 100644
--- config_180523_1200/Items/sword/sword_3.txt
+++ config_180529_2118/Items/sword/sword_3.txt
@@ -72,10 +72,10 @@ actions:
     - '2.5'
     sfx:
       sound: 'null'
     syncOffset: '0.0'
     syncTo: sword3_mount1
-icon: ItemLootGun_UltraRare
+icon: ItemLootSword_03
 id: sword_3
 slot: MainGun
 tag: sword
 tier: '3'
diff --git config_180523_1200/Items/sword/sword_4.txt config_180529_2118/Items/sword/sword_4.txt
index 16336c7..18bea38 100644
--- config_180523_1200/Items/sword/sword_4.txt
+++ config_180529_2118/Items/sword/sword_4.txt
@@ -72,10 +72,10 @@ actions:
     - '2.5'
     sfx:
       sound: 'null'
     syncOffset: '0.0'
     syncTo: sword4_mount1
-icon: ItemLootGun_UltraRare
+icon: ItemLootSword_04
 id: sword_4
 slot: MainGun
 tag: sword
 tier: '4'
diff --git config_180523_1200/Items/sword/sword_5.txt config_180529_2118/Items/sword/sword_5.txt
index db88312..76471f8 100644
--- config_180523_1200/Items/sword/sword_5.txt
+++ config_180529_2118/Items/sword/sword_5.txt
@@ -72,10 +72,10 @@ actions:
     - '2.5'
     sfx:
       sound: 'null'
     syncOffset: '0.0'
     syncTo: sword5_mount1
-icon: ItemLootGun_UltraRare
+icon: ItemLootSword_05
 id: sword_5
 slot: MainGun
 tag: sword
 tier: '5'
diff --git config_180523_1200/Items/sword/sword_6.txt config_180529_2118/Items/sword/sword_6.txt
index e43e4e7..9e71b02 100644
--- config_180523_1200/Items/sword/sword_6.txt
+++ config_180529_2118/Items/sword/sword_6.txt
@@ -72,10 +72,10 @@ actions:
     - '2.5'
     sfx:
       sound: 'null'
     syncOffset: '0.0'
     syncTo: sword6_mount1
-icon: ItemLootGun_UltraRare
+icon: ItemLootSword_06
 id: sword_6
 slot: MainGun
 tag: sword
 tier: '6'
diff --git config_180523_1200/Items/sword/sword_7.txt config_180529_2118/Items/sword/sword_7.txt
index d904771..5a4e540 100644
--- config_180523_1200/Items/sword/sword_7.txt
+++ config_180529_2118/Items/sword/sword_7.txt
@@ -72,10 +72,10 @@ actions:
     - '2.5'
     sfx:
       sound: 'null'
     syncOffset: '0.0'
     syncTo: sword7_mount1
-icon: ItemLootGun_UltraRare
+icon: ItemLootSword_07
 id: sword_7
 slot: MainGun
 tag: sword
 tier: '7'
diff --git config_180523_1200/Items/sword/sword_8.txt config_180529_2118/Items/sword/sword_8.txt
index 6cbb746..ad59d23 100644
--- config_180523_1200/Items/sword/sword_8.txt
+++ config_180529_2118/Items/sword/sword_8.txt
@@ -72,10 +72,10 @@ actions:
     - '2.5'
     sfx:
       sound: 'null'
     syncOffset: '0.0'
     syncTo: sword8_mount1
-icon: ItemLootGun_UltraRare
+icon: ItemLootSword_08
 id: sword_8
 slot: MainGun
 tag: sword
 tier: '8'
diff --git config_180523_1200/Items/sword/sword_9.txt config_180529_2118/Items/sword/sword_9.txt
index eb488bd..4357da4 100644
--- config_180523_1200/Items/sword/sword_9.txt
+++ config_180529_2118/Items/sword/sword_9.txt
@@ -72,10 +72,10 @@ actions:
     - '2.5'
     sfx:
       sound: 'null'
     syncOffset: '0.0'
     syncTo: sword9_mount1
-icon: ItemLootGun_UltraRare
+icon: ItemLootSword_09
 id: sword_9
 slot: MainGun
 tag: sword
 tier: '9'
diff --git config_180523_1200/Quests/quests_bosses.txt config_180529_2118/Quests/quests_bosses.txt
index e4eaf6d..abfe99a 100644
--- config_180523_1200/Quests/quests_bosses.txt
+++ config_180529_2118/Quests/quests_bosses.txt
@@ -1,305 +1,193 @@
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - tank
-  goals:
+- goals:
   - target: '1'
     type: kill
     units:
     - id: tank
   id: overworldboss_tank
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
-  - tank
   requirements:
     planeLevelMax: '20'
     planeLevelMin: '0'
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '3'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - clockboss
-  goals:
+- goals:
   - target: '1'
     type: kill
     units:
     - id: clockboss
   id: overworldboss_clockboss
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
-  - clockboss
   requirements:
     planeLevelMax: '20'
     planeLevelMin: '0'
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '3'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - crawler
-  goals:
+- goals:
   - target: '1'
     type: kill
     units:
     - id: crawler
   id: overworldboss_crawler
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
-  - crawler
   requirements:
     planeLevelMax: '20'
     planeLevelMin: '0'
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '3'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - berserker
-  goals:
+- goals:
   - target: '1'
     type: kill
     units:
     - id: berserker
   id: overworldboss_berserker
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
-  - berserker
   requirements:
     planeLevelMax: '20'
     planeLevelMin: '0'
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '4'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - teslahq
-  goals:
+- goals:
   - target: '1'
     type: kill
     units:
     - id: teslahq
   id: overworldboss_teslahq
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
-  - teslahq
   requirements:
     planeLevelMax: '20'
     planeLevelMin: '0'
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '4'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - gargantua
-  goals:
+- goals:
   - target: '1'
     type: kill
     units:
     - id: gargantua
   id: overworldboss_gargantua
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
-  - gargantua
   requirements:
     planeLevelMax: '20'
     planeLevelMin: '0'
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '5'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - pharaoh
-  goals:
+- goals:
   - target: '1'
     type: kill
     units:
     - id: pharaoh
   id: overworldboss_pharaoh
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
-  - pharaoh
   requirements:
     planeLevelMax: '20'
     planeLevelMin: '0'
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '5'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - bosstrain01
-  goals:
+- goals:
   - target: '1'
     type: kill
     units:
     - id: bosstrain01
   id: overworldboss_bosstrain01
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
-  - bosstrain01
   requirements:
     planeLevelMax: '20'
     planeLevelMin: '0'
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '6'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - jester
-  goals:
+- goals:
   - target: '1'
     type: kill
     units:
     - id: jester
   id: overworldboss_jester
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
-  - jester
   requirements:
     planeLevelMax: '20'
     planeLevelMin: '0'
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '7'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - hypnotist
-  goals:
+- goals:
   - target: '1'
     type: kill
     units:
     - id: hypnotist
   id: overworldboss_hypnotist
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
-  - hypnotist
   requirements:
     planeLevelMax: '20'
     planeLevelMin: '0'
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '8'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - sprinkles
-  goals:
+- goals:
   - target: '1'
     type: kill
     units:
     - id: sprinkles
   id: overworldboss_sprinkles
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
-  - sprinkles
   requirements:
     planeLevelMax: '20'
     planeLevelMin: '0'
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '9'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - notra
-  goals:
+- goals:
   - target: '1'
     type: kill
     units:
     - id: notra
   id: overworldboss_notra
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
-  - notra
   requirements:
     planeLevelMax: '20'
     planeLevelMin: '0'
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '10'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - solarissun
-  goals:
+- goals:
   - target: '1'
     type: kill
     units:
     - id: solarissun
   id: overworldboss_solarissun
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
-  - solarissun
   requirements:
     planeLevelMax: '20'
     planeLevelMin: '0'
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '10'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - ufo
-  goals:
+- goals:
   - target: '1'
     type: kill
     units:
     - id: ufo
   id: overworldboss_ufo
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
-  - ufo
   requirements:
     planeLevelMax: '20'
     planeLevelMin: '0'
     quests:
     - id: tut_complete
diff --git config_180523_1200/Quests/quests_daily.txt config_180529_2118/Quests/quests_daily.txt
index e05f92a..5e1c05f 100644
--- config_180523_1200/Quests/quests_daily.txt
+++ config_180529_2118/Quests/quests_daily.txt
@@ -1,58 +1,40 @@
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - DQ_SP_2XMID_gasstation_turret
-  - DQ_SP_2XMID_gasstation_gastank
-  - DQ_SP_2XMID_gasstation_command
-  autoComplete: 'false'
+- autoComplete: 'false'
   completeAtGiver: tavern
   goals:
   - setpiece: DQ_SP_2XMID_gasstation
     target: '1'
     type: kill
     units:
     - id: DQ_SP_2XMID_gasstation_command
   id: DQ_SP_2XMID_gasstation
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
+  joinActivateUnits:
   - DQ_SP_2XMID_gasstation_turret
   - DQ_SP_2XMID_gasstation_gastank
   - DQ_SP_2XMID_gasstation_command
   permanent: 'false'
   replayConfig: immediate
   requirements:
     planeLevelMax: '8'
     planeLevelMin: '0'
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '3'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - DQ_SP_5XHMT_heist_turret
-  - DQ_SP_5XHMT_heist_riotguard
-  - DQ_SP_5XHMT_heist_barracks
-  - DQ_SP_5XHMT_heist_barracksguard
-  - DQ_SP_5XHMT_heist_treasure
-  autoComplete: 'false'
+- autoComplete: 'false'
   completeAtGiver: tavern
   goals:
   - items:
     - id: quest_botcoins
     setpiece: DQ_SP_5XHMT_heist
     target: '1'
     type: collect
     units:
     - id: DQ_SP_5XHMT_heist_treasure
   id: DQ_SP_5XHMT_heist
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
+  joinActivateUnits:
   - DQ_SP_5XHMT_heist_turret
   - DQ_SP_5XHMT_heist_riotguard
   - DQ_SP_5XHMT_heist_barracks
   - DQ_SP_5XHMT_heist_barracksguard
   - DQ_SP_5XHMT_heist_treasure
@@ -64,31 +46,22 @@
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '8'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - DQ_SP_5XHMT_mine_snakemancer
-  - DQ_SP_5XHMT_mine_snakemancersnake01
-  - DQ_SP_5XHMT_mine_thumper
-  - DQ_SP_5XHMT_mine_treasure
-  autoComplete: 'false'
+- autoComplete: 'false'
   completeAtGiver: tavern
   goals:
   - items:
     - id: quest_ancient_idol
     setpiece: DQ_SP_5XHMT_mine
     target: '1'
     type: collect
     units:
     - id: DQ_SP_5XHMT_mine_treasure
   id: DQ_SP_5XHMT_mine
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
+  joinActivateUnits:
   - DQ_SP_5XHMT_mine_snakemancer
   - DQ_SP_5XHMT_mine_snakemancersnake01
   - DQ_SP_5XHMT_mine_thumper
   - DQ_SP_5XHMT_mine_treasure
   permanent: 'false'
@@ -537,11 +510,11 @@
 - goals:
   - fallbackGuidanceTargets:
     - tunaleader
     items:
     - id: quest_prison_box
-    target: '1'
+    target: '3'
     type: collect
     units:
     - id: tuna
   id: DQ_CX_41MTN_tuna_T7
   listSortPriority: '-10000'
@@ -680,25 +653,19 @@
     quests:
     - id: tut_complete
   showInaccessible: 'false'
   source: giver
   tier: '3'
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - DQ_KS_22MID_trainB01
-  autoComplete: 'false'
+- autoComplete: 'false'
   completeAtGiver: tavern
   goals:
   - target: '3'
     type: kill
     units:
     - id: DQ_KS_22MID_trainB01
   id: DQ_KS_22MID_trainB01
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
+  joinActivateUnits:
   - DQ_KS_22MID_trainB01
   listSortPriority: '-10000'
   replayConfig: immediate
   requirements:
     planeLevelMax: '8'
diff --git config_180523_1200/Quests/quests_escort.txt config_180529_2118/Quests/quests_escort.txt
index d60f311..97530a1 100644
--- config_180523_1200/Quests/quests_escort.txt
+++ config_180529_2118/Quests/quests_escort.txt
@@ -1,24 +1,18 @@
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - escort_01_escortmission
-  autoComplete: 'false'
+- autoComplete: 'false'
   completeAtGiver: tavern
   goals:
   - fallbackGuidanceTargets:
     - escort_01_escortmission
     - escort_01_startbutton
     - escort_01_master
     target: '1'
     type: encounter
     units:
     - id: escort_01_reward
   id: escort_01
-  joinGoalUnits: 'true'
-  joinTimeout: '8'
-  joinUnits:
+  joinActivateUnits:
   - escort_01_escortmission
   listSortPriority: '-10000'
   replayConfig: immediate
   requirements:
     planeLevelMax: '20'
diff --git config_180523_1200/Quests/quests_test.txt config_180529_2118/Quests/quests_test.txt
index a71f61c..eb61afa 100644
--- config_180523_1200/Quests/quests_test.txt
+++ config_180529_2118/Quests/quests_test.txt
@@ -1,39 +1,65 @@
-- activateGoalUnits: 'true'
-  activateTimeout: '10'
-  activateUnits:
-  - bombbarrel
+- activateTimeout: '10'
   goals:
   - items:
     - id: quest_ambergris
     target: '3'
     type: collect
     units:
     - id: husky
-  id: collect_ambergris
-  joinGoalUnits: 'true'
+  id: test_collect
+  joinActivateGoalUnits: 'true'
+  joinActivateUnits:
+  - bombbarrel
   joinRequirements:
     isAdmin: 'true'
     planeLevelMin: '10'
   joinTimeout: '8'
-  joinUnits:
-  - bombbarrel
   rewardTier: '5'
   source: giver
   tier: '10'
 - completeAtGiver: tavern
   goals:
   - items:
     - id: quest_tooth
     - id: quest_bone
     target: '2'
     type: collect
     units:
     - id: centipede01
-  id: collect_basic
+  id: test_basic
   source: giver
   tier: '10'
+- goals:
+  - items:
+    - id: quest_tooth
+    - id: quest_bone
+    target: '2'
+    type: collect
+    units:
+    - id: centipede01
+  - target: '1'
+    type: encounter
+    units:
+    - id: iceboss
+  id: test_template
+  template: 'true'
+  tier: '10'
+- completeAtGiver: tavern
+  goals:
+  - target: '10'
+    type: encounter
+    units:
+    - id: centipede01
+  id: test_inherit
+  inherit:
+  - test_template
+  source: giver
+- id: test_inherit_t2
+  inherit:
+  - test_inherit
+  tier: '2'
 - autoComplete: 'true'
   goals:
   - dungeon:
       id: DungeonIce
     target: '1'
diff --git config_180523_1200/Texts/en-US/bark.txt config_180529_2118/Texts/en-US/bark.txt
index e02535c..b951ed6 100644
--- config_180523_1200/Texts/en-US/bark.txt
+++ config_180529_2118/Texts/en-US/bark.txt
@@ -133,11 +133,11 @@ DQ_CX_41MTN_tuna_T7_firstencounter:
   - text: 'No slaves here!
 
       In late capitalism, contracts are binding.'
 DQ_CX_41MTN_tuna_T7_sgt_start:
   randomOptions:
-  - text: That boy owes me from our last poker game. You better bring him back or there’ll be hell to pay.
+  - text: Those boys owe me from our last poker game. You better bring them back or there’ll be hell to pay.
 DQ_CX_51HMT_dragonmama_T8_encounter:
   randomOptions:
   - text: Die. Little. Birds.
   - text: You. Are. Meat.
   - text: Not. Worthy. Of. Dinner.
diff --git config_180523_1200/Texts/en-US/item.txt config_180529_2118/Texts/en-US/item.txt
index 934a34f..2e53a07 100644
--- config_180523_1200/Texts/en-US/item.txt
+++ config_180529_2118/Texts/en-US/item.txt
@@ -59,10 +59,16 @@ armor_water:
   description: Cat lords wear this during parades to avoid any chance of being rained upon.
   name: Storm Armor
 assaultSniper_1:
   description: Assault Sniper Rifle.
   name: Assault Sniper Rifle
+consumable_steam:
+  description: Emergency steam supply. Limited use since it is basically a small explosive that instantly vaporizes water. Starts with 5 charges.
+  name: Steam Canister
+consumable_xpboost:
+  description: When memorized, the pilot's mind flows with the Great Words. They learn faster. Double XP for 30 minutes. Single use.
+  name: Meditation on Experience
 damage_0:
   description: Powers up ally weapons.
   name: Aura of Attack
 damage_1:
   description: Powers up ally weapons.
@@ -572,10 +578,13 @@ health7:
   name: Ultra Repair Patch
 health8:
   name: Advanced Repair Patch
 health9:
   name: Advanced Repair Patch
+health_boost:
+  description: Limited use repair kit. Starts with 5 charges.
+  name: Repair Kit
 item_olfaithful_pax03:
   description: This item, if equipped, unlocks the PAX 03 variant for Old Faithful.
   name: PAX 03 UNLOCK
 key_arena1:
   description: Teleport coordinates to the cruel Imperial Arena. Activate to summon a drop ship.
@@ -929,11 +938,11 @@ quest_fisher_crab_parts:
   name: Fisher Crab Parts
 quest_flamer_tank:
   description: Highly Flammable Fuel. Smells like uncooked marshmallow.
   name: Flamer Tank
 quest_kinetic_sphere_core:
-  description: Even though it's only the size of a water melon, it can act as a giant wrecking ball when the kinetic energy field is activated.
+  description: Even though it's only the size of a watermelon, it can act as a giant wrecking ball when the kinetic energy field is activated.
   name: Kinetic Sphere Core
 quest_list_of_names:
   description: It's a list of names; Most of them are crossed off.  It's also has a disturbing amount of blood on it.
   name: List of Names
 quest_moose_meat_horde:
diff --git config_180523_1200/Texts/en-US/planeclasses.txt config_180529_2118/Texts/en-US/planeclasses.txt
index efb1768..183a263 100644
--- config_180523_1200/Texts/en-US/planeclasses.txt
+++ config_180529_2118/Texts/en-US/planeclasses.txt
@@ -42,14 +42,14 @@ duster:
       name: Duster
 engineer:
   name: Engineer
   variants:
     VariantA:
-      flavor: ''
+      flavor: A master engineer selects the right tool for the job. Or dynamite. Both work, for varying definitions of 'work'.
       name: Specialist
     VariantB:
-      flavor: ''
+      flavor: The Docks used a thousand different types of gears. Small brass ones, immense stone ones. A vast whirring steam ecosystem, turning, driving, breaking and building. The coggers loved them all. One day, they will rebuild them.
       name: Cogger
     default:
       flavor: 'Before the great aerial Docks burned, engineering planes helped build the legendary floating capital ships. Now, they deploy drones in direct combat. '
       name: Engineer
 medic:
@@ -114,24 +114,30 @@ olfaithful:
       name: Chill Faithful
 paladin:
   name: Paladin
   variants:
     VariantA:
-      flavor: ''
+      flavor: The burly birds of the Northern forests use these rigs to haul logs. Fueled by flapjacks.
       name: Lumberjack
     VariantB:
-      flavor: ''
+      flavor: When the fire's low and the whiskey's half gone, they whisper tales. Once there was a bird, as tall as a mountain. With his trusty blue fox.
       name: Bunyan
     default:
       flavor: More mecha than plane, the steam-hungry Paladin slices through swathes of enemies with a signature 50-foot plasma chainsaw.
       name: Paladin
 pirate:
-  name: Pirate
+  name: Bandit
   variants:
+    VariantA:
+      flavor: In the western canyons, small bands eke out a harsh living preying on caravans. Fear the growing whine of an unseen sandbike.
+      name: Maurauder
+    VariantB:
+      flavor: Beware chipped beaks and jewel-crusted eye-patches. Do they dye those brilliant feathers? No. They pluck them from your corpse.
+      name: Scallywag
     default:
-      flavor: We sanction privateers as long as they make the Empires life worse than they make ours. Scrappy in all senses of the word.
-      name: Pirate
+      flavor: We sanction privateers as long as they make the Empire's life worse than they make ours. 'Scrappy' in all senses of the word.
+      name: Bandit
 rapier:
   name: Raptor
   variants:
     VariantA:
       flavor: ''
@@ -192,13 +198,13 @@ walker:
       name: Quad
 wizard:
   name: Merlin
   variants:
     VariantA:
-      flavor: ''
+      flavor: '***WARNING*** THE EXISTENCE OF THIS DEVICE IS CLASSIFIED. REPORT IMMEDIATELY TO DNO [NEED TO KNOW] FOR MINDWIPE'
       name: Unidentified
     VariantB:
-      flavor: ''
+      flavor: '[REDACTED] used the mechanism in the failed fulcrum point assasination June 5th, 18XX. Wreckage analysis suggests extra-historical origins.'
       name: X54
     default:
-      flavor: This highly experimental class uses a miniaturized teleportation apparatus to pop about the combat zone. Its egghead pilots are derisively known as wizkids.
+      flavor: This highly experimental class uses a miniaturized teleportation apparatus to pop about the combat zone. The egghead pilots are derisively known as wizkids.
       name: Merlin
diff --git config_180523_1200/Texts/en-US/quests.txt config_180529_2118/Texts/en-US/quests.txt
index c761c2a..a58efc5 100644
--- config_180523_1200/Texts/en-US/quests.txt
+++ config_180529_2118/Texts/en-US/quests.txt
@@ -60,11 +60,11 @@ DQ_CX_33HGH_blinks_T5:
   title: Dancing Lights
 DQ_CX_41MTN_dragonmama_T8:
   description: Guard Lion claws are being reused on replacement machines even after we shoot them down. Go collect some trophies.
   title: Declawing
 DQ_CX_41MTN_tuna_T7:
-  description: The Captain just learned that his brother was captured in a raid gone wrong. He's got to be on one of of the slaver ships.
+  description: The Captain just learned that his 3 brothers were captured in a raid gone wrong. They've got to be on one of the slaver ships.
   title: O Brother
 DQ_CX_51HMT_highmountainhunter:
   description: We've received numerous reports of Inquisitors raiding villages and rounding up non-believers of the cats' bogus religion. Collect the Eye of Meowza insignia they carry so our spies can use them to infiltrate the Office of Inquisition.
   title: Meowzan Inquisition
 DQ_CX_51HMT_ninjaleader:
@@ -529,16 +529,10 @@ basic_kill_x_506_highmountains_T8_hammerplanet2:
   description: Kill 5 of the designated target!
   title: 'Hunt: Crowd Control'
 basic_kill_x_507_highmountains_T8_hyperdrive:
   description: Kill 5 of the designated target!
   title: 'Hunt: Assassin'
-collect_ambergris:
-  description: Go find and collect some fabled Ambergris for a small reward
-  title: Collect Ambergris
-collect_basic:
-  description: Find stuff and we'll give you stuff, it's simple
-  title: Collect Stuff
 dailyreward_Friday:
   description: Claim your daily reward here!
   title: 'Daily Reward: Friday'
 dailyreward_Monday:
   description: Claim your daily reward here!
@@ -605,26 +599,42 @@ overworldboss_ufo:
   description: Kill the designated target!
   title: 'Bounty: Ambassador'
 test_auto:
   description: Just a test
   title: Test Auto Quest
+test_basic:
+  description: Find stuff and we'll give you stuff, it's simple
+  dialogueOnComplete:
+  - sergeant: Your reward.
+  dialogueOnCompleteGoal0:
+  - sergeant:
+    - Good job.
+    - That's the spirit.
+    - Well done.
+  dialogueOnFirstEncounterGoal0:
+  - catsoldier1: Back off, this is MY whale grease!
+  - sergeant: Don't listen to them!
+  - catsoldier1: :'(
+  dialogueOnStart:
+  - sergeant: You've accepted the mission.
+  title: Collect Stuff
+test_collect:
+  description: Go find and collect some fabled Ambergris for a small reward
+  title: Collect Ambergris
 test_dungeon_ice:
   description: Testing dungeon spawning
   title: Test Dungeon Ice
 test_permanent_giver:
   description: Just a test
   goal_0: Discover a <color=#FBB040>Klaxon</color>
   title: Test Permanent Giver Quest
 test_spawn_piece:
   description: Testing setpiece spawning
   title: Test Setpieces
 test_trigger:
   description: Just a test
   title: Test Triggered Quest
-tut_0:
-  description: Learning is fun!
-  title: Tutorial 1
 tut_01:
   description: Hunt down the Scavenger Convoys in the dead capitol.
   title: First Contract
 tut_01_2:
   description: We've got new intel...Head back to the <color=#FBB040>Pub</color>.
@@ -641,8 +651,5 @@ tut_04:
   title: Find the Supply Depot
 tut_05:
   description: Destroy the secret Imperial fort.
   goal_0: Clear out the <color=#FBB040>Catipede Nest</color>.
   title: Catipede Central
-tut_1:
-  description: Learning is fun!
-  title: Tutorial 2
diff --git config_180523_1200/Texts/en-US/store.txt config_180529_2118/Texts/en-US/store.txt
index 52c2bc8..547c51e 100644
--- config_180523_1200/Texts/en-US/store.txt
+++ config_180529_2118/Texts/en-US/store.txt
@@ -84,5 +84,6 @@ section_name_general_dye: Paint Shop
 section_name_general_variant: Plane Variants
 steam_payment_category: Currency
 store_name_store_general: General Store
 store_name_store_hangar: Hangar Store
 store_name_store_storage: Storage Store
+timer: '{0} to go'
diff --git config_180523_1200/Texts/en-US/ui.txt config_180529_2118/Texts/en-US/ui.txt
index cdf9602..986f417 100644
--- config_180523_1200/Texts/en-US/ui.txt
+++ config_180529_2118/Texts/en-US/ui.txt
@@ -17,10 +17,13 @@ action_info_healthenergy_energy: Your steam gets recharged by {0}.
 action_info_healthenergy_health: You get healed by {0}.
 action_info_healthenergy_short_energy: +{0} Steam
 action_info_healthenergy_short_health: +{0} Healing
 action_info_maneuver: Maneuver
 action_info_minor_gun: Auxiliary Gun Mount {0}
+action_info_planexpboost: Plane XP Boost
+action_info_planexpboost_info: +{0}% XP for {1}
+action_info_planexpboost_short: '{0}% XP {1}'
 action_info_soulbound: Change Soulbound
 action_info_soulbound_add: By using this item it will get soulbound
 action_info_soulbound_remove: By using this item it will loose soulbound
 action_info_spawn: Drone Printer
 action_info_statboost: Timed Buff
@@ -45,10 +48,13 @@ button_hangar_variant_cancel: Back to Class Select
 capture_gif_done: You can find your GIF at {0}.
 capture_gif_error: GIF save failed. Sorry.
 capture_gif_start: Saving GIF...
 consumable_item_error_already_applied: You already applies this. Using it again would not change anything.
 consumable_item_error_already_unlocked: You already unlocked this item. You can not unlock it twice.
+consumable_item_error_dying: Consuming is not possible while dying.
+consumable_item_error_no_effect: Consuming this would not have any effect now.
+consumable_item_error_no_plane: You need a plane to consume an item.
 consumable_item_error_unknown: Failed to consume the item.
 consumable_item_unusable: Unusable
 death_crashed: Crashed
 death_enemy_line: 'by: {0}'
 death_plane_level: Plane Level
@@ -163,10 +169,11 @@ hint_cargo_full: '<color=#ffffff>Cargo Full!</color>
   Use Shift + number keys [<color=#ffff88ff>1-8</color>] to drop cargo you can''t use, or use [<color=#ffff88ff>~</color>] to drop all.'
 hint_v_inventory: 'Press <color=#FF9900>[<action:4>]</color> to hover
 
   and show Inventory.'
 hint_v_inventory_close: Press <color=#FF9900>[<action:4>]</color> to close the Inventory.
+info_currency_for_pilot_xp: You gained {0} {1} for getting {2} pilot xp.
 inventory_cargo: Cargo
 inventory_drop: Drop
 inventory_equip: Equip
 inventory_equipment: Equipment
 inventory_full_overlay: 'Inventory full!
@@ -350,10 +357,11 @@ notify_elemental_short: (ELEM)
 notify_equipped: <color=#{0}>Equipped</color>
 notify_equipped_auto: <color=#{0}>Auto-Equipped</color>
 notify_purchased: <color=#{0}>Purchased</color>
 notify_tier_short: (T{0})
 notify_ultrarare_short: (UR)
+onscreenindicator_target: TARGET
 options_bind: Rebind
 options_bind_unbound: You have unbound {0} from {1}
 options_menu_Return_Home: Return to Rebel City
 options_menu_SSAO: Ambient Occlusion
 options_menu_auto_equip: Auto Equip
@@ -478,10 +486,11 @@ plane_select_buyslot_header: '<color=#fffffff><b>Expand your hangar</b></color>
 plane_select_itemlist: '{0}: T{1} <color=#ffff88ff>{2}</color>'
 plane_select_newplane: New Plane
 plane_select_shortdesc: Level {0}
 plane_select_titleformat: <color=#B5A885FF><size=21><b>{0}</b></size></color>
 plane_select_unlocks: Unlocks at <color=#af4a30ff>{0} Level {1}</color>
+planexpboost_ui: +{0}% XP for {1}
 player_info_armor: Armor
 player_info_steam: Steam
 player_info_xp: Experience
 player_label: ' <color={1}>L{0}</color>'
 player_label_admin: ' <color={1}>L{0} A</color>'
@@ -598,10 +607,13 @@ storage_menu_title_storage: Storage Bays
 storage_menu_tooltip_buy: 'Add more storage spaces. Items stored in storage are still safe if your plane gets shot down.
 
   Price: {0}'
 store_popup_confirm_help: <color=#FBB040>[<action:43>]</color> Confirm
 store_popup_purchase_help: <color=#FBB040>[<action:43>]</color> Purchase
+timer_h: '{0} hours'
+timer_m: '{0} minutes'
+timer_s: '{0} seconds'
 title_hangar: Hangar
 title_hangar_newplane: 'Hangar: <b>New Plane</b>'
 title_hangar_variant: 'Hangar: <b>Select Plane Model</b>'
 title_inventory: Warehouse
 title_inventory_plane: 'Warehouse: Plane Cargo'
diff --git config_180523_1200/Units/00 - Quest Enemies/Daily Quests - Special/DQ_SP_5XHMT_heist/DQ_SP_5XHMT_heist_turret.txt config_180529_2118/Units/00 - Quest Enemies/Daily Quests - Special/DQ_SP_5XHMT_heist/DQ_SP_5XHMT_heist_turret.txt
index d36e831..c7f6496 100644
--- config_180523_1200/Units/00 - Quest Enemies/Daily Quests - Special/DQ_SP_5XHMT_heist/DQ_SP_5XHMT_heist_turret.txt	
+++ config_180529_2118/Units/00 - Quest Enemies/Daily Quests - Special/DQ_SP_5XHMT_heist/DQ_SP_5XHMT_heist_turret.txt	
@@ -30,16 +30,16 @@ gunMounts:
 gunTypes:
 - bulletPrefab: spinnerBullet
   burst: '6'
   cooldown: '10'
   damage: '1'
-  lifetime: '3'
+  lifetime: '2.4'
   multi: '1'
   multiSpread: '0'
   name: DQ_SP_5XHMT_heist_turretLaser
   rof: '2'
-  speed: '4'
+  speed: '5'
   spread: '0'
 healthRegenRate: '0'
 maxEnergyPoints: '1'
 maxHitPoints: '12'
 maxSpeed: '1.5'
diff --git config_180523_1200/Units/00 - Quest Enemies/tut_03/BOS1_tut_03_gargantuafistleft.txt config_180529_2118/Units/00 - Quest Enemies/tut_03/BOS1_tut_03_gargantuafistleft.txt
index 765c44b..e76b5c4 100644
--- config_180523_1200/Units/00 - Quest Enemies/tut_03/BOS1_tut_03_gargantuafistleft.txt	
+++ config_180529_2118/Units/00 - Quest Enemies/tut_03/BOS1_tut_03_gargantuafistleft.txt	
@@ -1,12 +1,10 @@
 art: EnemyGargantuaHandB_Prefab
 artScale: '0.75'
 colliderRadius: '1.2'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: ExplosionMed
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
diff --git config_180523_1200/Units/00 - Quest Enemies/tut_03/BOS1_tut_03_gargantuafistright.txt config_180529_2118/Units/00 - Quest Enemies/tut_03/BOS1_tut_03_gargantuafistright.txt
index b1d8b0d..b35ea80 100644
--- config_180523_1200/Units/00 - Quest Enemies/tut_03/BOS1_tut_03_gargantuafistright.txt	
+++ config_180529_2118/Units/00 - Quest Enemies/tut_03/BOS1_tut_03_gargantuafistright.txt	
@@ -1,12 +1,10 @@
 art: EnemyGargantuaHandA_Prefab
 artScale: '0.75'
 colliderRadius: '1.2'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: ExplosionMed
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
diff --git config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber01.txt config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber01.txt
index 4b5829f..5dfc18b 100644
--- config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber01.txt	
+++ config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber01.txt	
@@ -1,12 +1,10 @@
 art: EnemyClocktime01
 artScale: '1'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '0'
   flashOffset: '0'
diff --git config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber02.txt config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber02.txt
index 8a1cdf7..44e6ff5 100644
--- config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber02.txt	
+++ config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber02.txt	
@@ -1,12 +1,10 @@
 art: EnemyClocktime02
 artScale: '1'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '0'
   flashOffset: '0'
diff --git config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber03.txt config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber03.txt
index 9d43b03..32d07c4 100644
--- config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber03.txt	
+++ config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber03.txt	
@@ -1,12 +1,10 @@
 art: EnemyClocktime03
 artScale: '1'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '0'
   flashOffset: '0'
diff --git config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber04.txt config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber04.txt
index 0e661fa..c5c1125 100644
--- config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber04.txt	
+++ config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber04.txt	
@@ -1,12 +1,10 @@
 art: EnemyClocktime04
 artScale: '1'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '0'
   flashOffset: '0'
diff --git config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber05.txt config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber05.txt
index 14aec96..165b432 100644
--- config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber05.txt	
+++ config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber05.txt	
@@ -1,12 +1,10 @@
 art: EnemyClocktime05
 artScale: '1'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '0'
   flashOffset: '0'
diff --git config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber06.txt config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber06.txt
index 9ef6462..b0473a0 100644
--- config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber06.txt	
+++ config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber06.txt	
@@ -1,12 +1,10 @@
 art: EnemyClocktime06
 artScale: '1'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '0'
   flashOffset: '0'
diff --git config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber07.txt config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber07.txt
index 3f7a5f4..0360370 100644
--- config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber07.txt	
+++ config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber07.txt	
@@ -1,12 +1,10 @@
 art: EnemyClocktime07
 artScale: '1'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '0'
   flashOffset: '0'
diff --git config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber08.txt config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber08.txt
index a293169..8c277d8 100644
--- config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber08.txt	
+++ config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber08.txt	
@@ -1,12 +1,10 @@
 art: EnemyClocktime08
 artScale: '1'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '0'
   flashOffset: '0'
diff --git config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber09.txt config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber09.txt
index 87c7190..1cacff8 100644
--- config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber09.txt	
+++ config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber09.txt	
@@ -1,12 +1,10 @@
 art: EnemyClocktime09
 artScale: '1'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '0'
   flashOffset: '0'
diff --git config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber10.txt config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber10.txt
index 0fbc1ef..94bc919 100644
--- config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber10.txt	
+++ config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber10.txt	
@@ -1,12 +1,10 @@
 art: EnemyClocktime10
 artScale: '1'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '0'
   flashOffset: '0'
diff --git config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber11.txt config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber11.txt
index 1de9e25..8121c0e 100644
--- config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber11.txt	
+++ config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber11.txt	
@@ -1,12 +1,10 @@
 art: EnemyClocktime11
 artScale: '1'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '0'
   flashOffset: '0'
diff --git config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber12.txt config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber12.txt
index 1074531..0717ca1 100644
--- config_180523_1200/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber12.txt	
+++ config_180529_2118/Units/22 - Midlands (Ruins) - Ghosts_Spooky/BOS2_clockbossnumber12.txt	
@@ -1,12 +1,10 @@
 art: EnemyClocktime12
 artScale: '1'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '0'
   flashOffset: '0'
diff --git config_180523_1200/Units/31 - Highlands (City) - MadScience_Energy/BOS1_gargantuafistleft.txt config_180529_2118/Units/31 - Highlands (City) - MadScience_Energy/BOS1_gargantuafistleft.txt
index 3871dfa..1065844 100644
--- config_180523_1200/Units/31 - Highlands (City) - MadScience_Energy/BOS1_gargantuafistleft.txt	
+++ config_180529_2118/Units/31 - Highlands (City) - MadScience_Energy/BOS1_gargantuafistleft.txt	
@@ -1,12 +1,10 @@
 art: EnemyGargantuaHandB_Prefab
 artScale: '1'
 colliderRadius: '1.2'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: ExplosionMed
 gunMounts:
 - fireMode: SprinklerTurnback
   firingArc: '360'
diff --git config_180523_1200/Units/31 - Highlands (City) - MadScience_Energy/BOS1_gargantuafistright.txt config_180529_2118/Units/31 - Highlands (City) - MadScience_Energy/BOS1_gargantuafistright.txt
index 14e657d..2404e87 100644
--- config_180523_1200/Units/31 - Highlands (City) - MadScience_Energy/BOS1_gargantuafistright.txt	
+++ config_180529_2118/Units/31 - Highlands (City) - MadScience_Energy/BOS1_gargantuafistright.txt	
@@ -1,12 +1,10 @@
 art: EnemyGargantuaHandA_Prefab
 artScale: '1'
 colliderRadius: '1.2'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: ExplosionMed
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
diff --git config_180523_1200/Units/33 - Highlands (Rural) - Desert_Bones/BOS2_pharaohpyramidnode.txt config_180529_2118/Units/33 - Highlands (Rural) - Desert_Bones/BOS2_pharaohpyramidnode.txt
index 3809d0c..8308fa5 100644
--- config_180523_1200/Units/33 - Highlands (Rural) - Desert_Bones/BOS2_pharaohpyramidnode.txt	
+++ config_180529_2118/Units/33 - Highlands (Rural) - Desert_Bones/BOS2_pharaohpyramidnode.txt	
@@ -1,12 +1,10 @@
 art: EnemyPharaohPyramid
 artScale: '1'
 colliderRadius: '0.4'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: Aimed
   firingArc: '360'
   flashOffset: '0'
diff --git config_180523_1200/Units/33 - Highlands (Rural) - Desert_Bones/BOS2_pharaohpyramidnode_apex.txt config_180529_2118/Units/33 - Highlands (Rural) - Desert_Bones/BOS2_pharaohpyramidnode_apex.txt
index 86f0c26..d0fcb8b 100644
--- config_180523_1200/Units/33 - Highlands (Rural) - Desert_Bones/BOS2_pharaohpyramidnode_apex.txt	
+++ config_180529_2118/Units/33 - Highlands (Rural) - Desert_Bones/BOS2_pharaohpyramidnode_apex.txt	
@@ -1,12 +1,10 @@
 art: EnemyPharaohPyramid
 artScale: '1'
 colliderRadius: '0.4'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: Aimed
   firingArc: '360'
   flashOffset: '0'
diff --git config_180523_1200/Units/33 - Highlands (Rural) - Desert_Bones/BOS2_pharaohpyramidnode_singleblue.txt config_180529_2118/Units/33 - Highlands (Rural) - Desert_Bones/BOS2_pharaohpyramidnode_singleblue.txt
index f9bfe89..607d91a 100644
--- config_180523_1200/Units/33 - Highlands (Rural) - Desert_Bones/BOS2_pharaohpyramidnode_singleblue.txt	
+++ config_180529_2118/Units/33 - Highlands (Rural) - Desert_Bones/BOS2_pharaohpyramidnode_singleblue.txt	
@@ -1,12 +1,10 @@
 art: EnemyPharaohPyramid
 artScale: '1'
 colliderRadius: '0.4'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: Aimed
   firingArc: '360'
   flashOffset: '0'
diff --git config_180523_1200/Units/33 - Highlands (Rural) - Desert_Bones/SLO2_sniper.txt config_180529_2118/Units/33 - Highlands (Rural) - Desert_Bones/SLO2_sniper.txt
index e84a46f..a8c1d71 100644
--- config_180523_1200/Units/33 - Highlands (Rural) - Desert_Bones/SLO2_sniper.txt	
+++ config_180529_2118/Units/33 - Highlands (Rural) - Desert_Bones/SLO2_sniper.txt	
@@ -1,12 +1,10 @@
 art: EnemySniper
 artScale: '1.33'
 colliderRadius: '0.3'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: Aimed
   firingArc: '360'
   flashOffset: '0.4'
diff --git config_180523_1200/Units/41 - Mountains (City) - SpaceTravel/BOS2_treasureship.txt config_180529_2118/Units/41 - Mountains (City) - SpaceTravel/BOS2_treasureship.txt
index 1be0abc..0a282ba 100644
--- config_180523_1200/Units/41 - Mountains (City) - SpaceTravel/BOS2_treasureship.txt	
+++ config_180529_2118/Units/41 - Mountains (City) - SpaceTravel/BOS2_treasureship.txt	
@@ -1,12 +1,10 @@
 art: EnemyTreasureship
 artScale: '1'
 colliderRadius: '0.8'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: ExplosionMed
 gunMounts:
 - fireMode: Hose
   firingArc: '360'
diff --git config_180523_1200/Units/41 - Mountains (City) - SpaceTravel/BOS_hypnotist.txt config_180529_2118/Units/41 - Mountains (City) - SpaceTravel/BOS_hypnotist.txt
index b71ecf5..809c970 100644
--- config_180523_1200/Units/41 - Mountains (City) - SpaceTravel/BOS_hypnotist.txt	
+++ config_180529_2118/Units/41 - Mountains (City) - SpaceTravel/BOS_hypnotist.txt	
@@ -1,5 +1,257 @@
+additionalStates:
+  toggle_safety:
+  - events:
+    - code: VariableSet
+      name: healthtriggershield1
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield2
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield3
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield4
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield5
+      value: '0'
+    - code: StartEffect
+      name: Shielded
+      value: '1.0'
+    name: initial
+    transitions:
+    - code: Auto
+      toState: main
+      value: '0'
+  - events:
+    - code: Speech
+      speechOptions:
+      - nonLocalizedText: main
+        weight: '1'
+      value: '1'
+    - code: StopEffect
+      name: Shielded
+      value: '1.0'
+    name: main
+    transitions:
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.9'
+      - code: VariableBelow
+        name: healthtriggershield1
+        value: '1'
+      toState: healthtriggershield1
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.7'
+      - code: VariableBelow
+        name: healthtriggershield2
+        value: '1'
+      toState: healthtriggershield2
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.5'
+      - code: VariableBelow
+        name: healthtriggershield3
+        value: '1'
+      toState: healthtriggershield3
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.3'
+      - code: VariableBelow
+        name: healthtriggershield4
+        value: '1'
+      toState: healthtriggershield4
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.1'
+      - code: VariableBelow
+        name: healthtriggershield5
+        value: '1'
+      toState: healthtriggershield5
+  - name: healthtriggershield1
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield1
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield1_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield1_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield2
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield2
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield2_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield2_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield3
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield3
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield3_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield3_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield4
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield4
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield4_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield4_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield5
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield5
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield5_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield5_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
 art: EnemyLobbyist
 artScale: '1'
 cameraZoomMultiplier: '1.3'
 cameraZoomRadius: '25'
 colliderRadius: '2.2'
diff --git config_180523_1200/Units/41 - Mountains (City) - SpaceTravel/BOS_hypnotistminion.txt config_180529_2118/Units/41 - Mountains (City) - SpaceTravel/BOS_hypnotistminion.txt
index 6ff7587..0c4889e 100644
--- config_180523_1200/Units/41 - Mountains (City) - SpaceTravel/BOS_hypnotistminion.txt	
+++ config_180529_2118/Units/41 - Mountains (City) - SpaceTravel/BOS_hypnotistminion.txt	
@@ -1,12 +1,10 @@
 art: EnemyLobbyistMinion
 artScale: '1'
 colliderRadius: '0.6'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
   flashOffset: '0.33'
diff --git config_180523_1200/Units/41 - Mountains (City) - SpaceTravel/BOS_hypnotistpet.txt config_180529_2118/Units/41 - Mountains (City) - SpaceTravel/BOS_hypnotistpet.txt
index 5f3356a..224fa2c 100644
--- config_180523_1200/Units/41 - Mountains (City) - SpaceTravel/BOS_hypnotistpet.txt	
+++ config_180529_2118/Units/41 - Mountains (City) - SpaceTravel/BOS_hypnotistpet.txt	
@@ -1,12 +1,10 @@
 art: EnemyLobbyistPet
 artScale: '1'
 colliderRadius: '0.6'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
   flashOffset: '0.33'
diff --git config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarismoon.txt config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarismoon.txt
index 090c422..991daa5 100644
--- config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarismoon.txt	
+++ config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarismoon.txt	
@@ -2,12 +2,10 @@ art: EnemySolarisMinionB
 artScale: '1'
 bankSmoothing: '10000'
 colliderRadius: '0.8'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
   flashOffset: '0'
diff --git config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarisplanet.txt config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarisplanet.txt
index 06e2e5c..762bb02 100644
--- config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarisplanet.txt	
+++ config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarisplanet.txt	
@@ -2,12 +2,10 @@ art: EnemySolarisMinionA
 artScale: '1'
 bankSmoothing: '10000'
 colliderRadius: '0.8'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
   flashOffset: '0.5'
diff --git config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarisring.txt config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarisring.txt
index ad3756a..9cc4f77 100644
--- config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarisring.txt	
+++ config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarisring.txt	
@@ -1,12 +1,10 @@
 art: EnemySolarisMinionRing
 artScale: '1'
 colliderRadius: '1'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
   flashOffset: '0'
diff --git config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarissun.txt config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarissun.txt
index ae9364a..a65e422 100644
--- config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarissun.txt	
+++ config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS1_solarissun.txt	
@@ -1,5 +1,257 @@
+additionalStates:
+  toggle_safety:
+  - events:
+    - code: VariableSet
+      name: healthtriggershield1
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield2
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield3
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield4
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield5
+      value: '0'
+    - code: StartEffect
+      name: Shielded
+      value: '1.0'
+    name: initial
+    transitions:
+    - code: Auto
+      toState: main
+      value: '0'
+  - events:
+    - code: Speech
+      speechOptions:
+      - nonLocalizedText: main
+        weight: '1'
+      value: '1'
+    - code: StopEffect
+      name: Shielded
+      value: '1.0'
+    name: main
+    transitions:
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.9'
+      - code: VariableBelow
+        name: healthtriggershield1
+        value: '1'
+      toState: healthtriggershield1
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.7'
+      - code: VariableBelow
+        name: healthtriggershield2
+        value: '1'
+      toState: healthtriggershield2
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.5'
+      - code: VariableBelow
+        name: healthtriggershield3
+        value: '1'
+      toState: healthtriggershield3
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.3'
+      - code: VariableBelow
+        name: healthtriggershield4
+        value: '1'
+      toState: healthtriggershield4
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.1'
+      - code: VariableBelow
+        name: healthtriggershield5
+        value: '1'
+      toState: healthtriggershield5
+  - name: healthtriggershield1
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield1
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield1_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield1_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield2
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield2
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield2_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield2_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield3
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield3
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield3_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield3_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield4
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield4
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield4_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield4_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield5
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield5
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield5_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield5_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
 art: EnemySolarissunPrefab
 artScale: '1'
 bankSmoothing: '10000'
 cameraZoomMultiplier: '1.3'
 cameraZoomRadius: '25'
diff --git config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS3_sprinkles.txt config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS3_sprinkles.txt
index 377dc6f..ff5d4a2 100644
--- config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS3_sprinkles.txt	
+++ config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS3_sprinkles.txt	
@@ -1,5 +1,257 @@
+additionalStates:
+  toggle_safety:
+  - events:
+    - code: VariableSet
+      name: healthtriggershield1
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield2
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield3
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield4
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield5
+      value: '0'
+    - code: StartEffect
+      name: Shielded
+      value: '1.0'
+    name: initial
+    transitions:
+    - code: Auto
+      toState: main
+      value: '0'
+  - events:
+    - code: Speech
+      speechOptions:
+      - nonLocalizedText: main
+        weight: '1'
+      value: '1'
+    - code: StopEffect
+      name: Shielded
+      value: '1.0'
+    name: main
+    transitions:
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.9'
+      - code: VariableBelow
+        name: healthtriggershield1
+        value: '1'
+      toState: healthtriggershield1
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.7'
+      - code: VariableBelow
+        name: healthtriggershield2
+        value: '1'
+      toState: healthtriggershield2
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.5'
+      - code: VariableBelow
+        name: healthtriggershield3
+        value: '1'
+      toState: healthtriggershield3
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.3'
+      - code: VariableBelow
+        name: healthtriggershield4
+        value: '1'
+      toState: healthtriggershield4
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.1'
+      - code: VariableBelow
+        name: healthtriggershield5
+        value: '1'
+      toState: healthtriggershield5
+  - name: healthtriggershield1
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield1
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield1_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield1_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield2
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield2
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield2_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield2_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield3
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield3
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield3_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield3_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield4
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield4
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield4_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield4_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield5
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield5
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield5_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield5_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
 art: EnemyPoliticianPrefab
 artScale: '1'
 cameraZoomMultiplier: '1.3'
 cameraZoomRadius: '24.00'
 colliderRadius: '2'
diff --git config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS_notra.txt config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS_notra.txt
index 25fa712..bc50f28 100644
--- config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS_notra.txt	
+++ config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS_notra.txt	
@@ -1,5 +1,257 @@
+additionalStates:
+  toggle_safety:
+  - events:
+    - code: VariableSet
+      name: healthtriggershield1
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield2
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield3
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield4
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield5
+      value: '0'
+    - code: StartEffect
+      name: Shielded
+      value: '1.0'
+    name: initial
+    transitions:
+    - code: Auto
+      toState: main
+      value: '0'
+  - events:
+    - code: Speech
+      speechOptions:
+      - nonLocalizedText: main
+        weight: '1'
+      value: '1'
+    - code: StopEffect
+      name: Shielded
+      value: '1.0'
+    name: main
+    transitions:
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.9'
+      - code: VariableBelow
+        name: healthtriggershield1
+        value: '1'
+      toState: healthtriggershield1
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.7'
+      - code: VariableBelow
+        name: healthtriggershield2
+        value: '1'
+      toState: healthtriggershield2
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.5'
+      - code: VariableBelow
+        name: healthtriggershield3
+        value: '1'
+      toState: healthtriggershield3
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.3'
+      - code: VariableBelow
+        name: healthtriggershield4
+        value: '1'
+      toState: healthtriggershield4
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.1'
+      - code: VariableBelow
+        name: healthtriggershield5
+        value: '1'
+      toState: healthtriggershield5
+  - name: healthtriggershield1
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield1
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield1_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield1_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield2
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield2
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield2_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield2_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield3
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield3
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield3_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield3_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield4
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield4
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield4_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield4_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield5
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield5
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield5_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield5_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
 art: EnemyDoctorNotra
 artScale: '1'
 bankSmoothing: '100'
 cameraZoomMultiplier: '1.3'
 cameraZoomRadius: '25'
diff --git config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS_notraminion.txt config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS_notraminion.txt
index 72abe6f..3f28a3b 100644
--- config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS_notraminion.txt	
+++ config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS_notraminion.txt	
@@ -1,12 +1,10 @@
 art: EnemyNotraSpecimen
 artScale: '1'
 colliderRadius: '0.6'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
   flashOffset: '0.33'
diff --git config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS_notraremora.txt config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS_notraremora.txt
index 81afbdd..80e453e 100644
--- config_180523_1200/Units/51 - HighMountains (City) - Alien_Hologram/BOS_notraremora.txt	
+++ config_180529_2118/Units/51 - HighMountains (City) - Alien_Hologram/BOS_notraremora.txt	
@@ -1,12 +1,10 @@
 art: EnemyNotraAssistant
 artScale: '1'
 colliderRadius: '1.0'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '180'
   flashOffset: '0.0'
diff --git config_180523_1200/Units/54 - Cancer Event/BOS1_spiderboss.txt config_180529_2118/Units/54 - Cancer Event/BOS1_spiderboss.txt
index 67453fb..9706207 100644
--- config_180523_1200/Units/54 - Cancer Event/BOS1_spiderboss.txt	
+++ config_180529_2118/Units/54 - Cancer Event/BOS1_spiderboss.txt	
@@ -1,5 +1,249 @@
+additionalStates:
+  toggle_safety:
+  - events:
+    - code: VariableSet
+      name: healthtriggershield1
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield2
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield3
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield4
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield5
+      value: '0'
+    - code: StartEffect
+      name: Shielded
+      value: '1.0'
+    name: initial
+    transitions:
+    - code: Auto
+      toState: main
+      value: '0'
+  - events:
+    - code: Speech
+      speechOptions:
+      - nonLocalizedText: main
+        weight: '1'
+      value: '1'
+    - code: StopEffect
+      name: Shielded
+      value: '1.0'
+    name: main
+    transitions:
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.833'
+      - code: VariableBelow
+        name: healthtriggershield1
+        value: '1'
+      toState: healthtriggershield1
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.666'
+      - code: VariableBelow
+        name: healthtriggershield2
+        value: '1'
+      toState: healthtriggershield2
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.333'
+      - code: VariableBelow
+        name: healthtriggershield3
+        value: '1'
+      toState: healthtriggershield3
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.166'
+      - code: VariableBelow
+        name: healthtriggershield4
+        value: '1'
+      toState: healthtriggershield4
+  - name: healthtriggershield1
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield1
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield1_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield1_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield2
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield2
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield2_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield2_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield3
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield3
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield3_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield3_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield4
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield4
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield4_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield4_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield5
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield5
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield5_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield5_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
 art: EnemyWhiteSpiderPrefab
 artScale: '1.0'
 cameraZoomMultiplier: '1.3'
 cameraZoomRadius: '25'
 colliderRadius: '1.9'
diff --git config_180523_1200/Units/54 - Cancer Event/BOS1_spiderbossDEATH.txt config_180529_2118/Units/54 - Cancer Event/BOS1_spiderbossDEATH.txt
index 16e1bd1..95425f6 100644
--- config_180523_1200/Units/54 - Cancer Event/BOS1_spiderbossDEATH.txt	
+++ config_180529_2118/Units/54 - Cancer Event/BOS1_spiderbossDEATH.txt	
@@ -1,6 +1,6 @@
-art: EnemyWhiteSpider
+art: EnemyWhiteSpiderPrefab
 artScale: '1.0'
 cameraZoomMultiplier: '1.3'
 cameraZoomRadius: '25'
 colliderRadius: '1.2'
 colliderX: '0'
diff --git config_180523_1200/Units/54 - Kaiju Event/BOS1_kaijuringminion.txt config_180529_2118/Units/54 - Kaiju Event/BOS1_kaijuringminion.txt
index 244b2c8..93cbc56 100644
--- config_180523_1200/Units/54 - Kaiju Event/BOS1_kaijuringminion.txt	
+++ config_180529_2118/Units/54 - Kaiju Event/BOS1_kaijuringminion.txt	
@@ -1,12 +1,10 @@
 art: EnemyKaijuTurret
 artScale: '1'
 colliderRadius: '0.8'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - lightningWeakness
 - waterResist
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
diff --git config_180523_1200/Units/54 - Lightning Boss Event/BOS1_thunderbosscloud.txt config_180529_2118/Units/54 - Lightning Boss Event/BOS1_thunderbosscloud.txt
index 7104e7e..39f3310 100644
--- config_180523_1200/Units/54 - Lightning Boss Event/BOS1_thunderbosscloud.txt	
+++ config_180529_2118/Units/54 - Lightning Boss Event/BOS1_thunderbosscloud.txt	
@@ -1,12 +1,10 @@
 art: '!EnemySmoke'
 artScale: '2'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - slowWeakness
 - lightningResist
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
diff --git config_180523_1200/Units/54 - Lightning Boss Event/BOS1_thunderbossgridleader.txt config_180529_2118/Units/54 - Lightning Boss Event/BOS1_thunderbossgridleader.txt
index 7c95394..5118b57 100644
--- config_180523_1200/Units/54 - Lightning Boss Event/BOS1_thunderbossgridleader.txt	
+++ config_180529_2118/Units/54 - Lightning Boss Event/BOS1_thunderbossgridleader.txt	
@@ -2,12 +2,10 @@ art: '!EnemyInvisible'
 artScale: '1.7'
 bankSmoothing: '10000'
 colliderRadius: '0'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - slowWeakness
 - lightningResist
 energyRegenRate: '0'
 explosionPrefab: planeExplosionEmpty
diff --git config_180523_1200/Units/54 - Lightning Boss Event/BOS1_thunderbosslightningwall.txt config_180529_2118/Units/54 - Lightning Boss Event/BOS1_thunderbosslightningwall.txt
index 0dfb284..12bbb44 100644
--- config_180523_1200/Units/54 - Lightning Boss Event/BOS1_thunderbosslightningwall.txt	
+++ config_180529_2118/Units/54 - Lightning Boss Event/BOS1_thunderbosslightningwall.txt	
@@ -2,12 +2,10 @@ art: EnemyUltraPouncer
 artScale: '1'
 bankSmoothing: '10000'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - slowWeakness
 - lightningResist
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
diff --git config_180523_1200/Units/54 - Lightning Boss Event/BOS1_thunderbossshieldblade.txt config_180529_2118/Units/54 - Lightning Boss Event/BOS1_thunderbossshieldblade.txt
index b024ee7..b7c231e 100644
--- config_180523_1200/Units/54 - Lightning Boss Event/BOS1_thunderbossshieldblade.txt	
+++ config_180529_2118/Units/54 - Lightning Boss Event/BOS1_thunderbossshieldblade.txt	
@@ -1,12 +1,10 @@
 art: EnemyHomingBomb_Prefab
 artScale: '0.8'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - slowWeakness
 - lightningResist
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
diff --git config_180523_1200/Units/54 - Lightning Boss Event/BOS1_thunderbossshieldbladeleader.txt config_180529_2118/Units/54 - Lightning Boss Event/BOS1_thunderbossshieldbladeleader.txt
index 814d457..5140175 100644
--- config_180523_1200/Units/54 - Lightning Boss Event/BOS1_thunderbossshieldbladeleader.txt	
+++ config_180529_2118/Units/54 - Lightning Boss Event/BOS1_thunderbossshieldbladeleader.txt	
@@ -2,12 +2,10 @@ art: '!EnemyInvisible'
 artScale: '1.7'
 bankSmoothing: '10000'
 colliderRadius: '0'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: planeExplosionEmpty
 healthRegenRate: '0'
 maxEnergyPoints: '1'
 maxHitPoints: '35'
diff --git config_180523_1200/Units/54 - Lightning Boss Event/BOS_thunderbeam.txt config_180529_2118/Units/54 - Lightning Boss Event/BOS_thunderbeam.txt
index 3bd1688..489f6e6 100644
--- config_180523_1200/Units/54 - Lightning Boss Event/BOS_thunderbeam.txt	
+++ config_180529_2118/Units/54 - Lightning Boss Event/BOS_thunderbeam.txt	
@@ -1,12 +1,10 @@
 art: EnemyUltraPouncer
 artScale: '1'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - slowWeakness
 - lightningResist
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
diff --git config_180523_1200/Units/60D- Snake Dungeon/BOS_dragonsnake01.txt config_180529_2118/Units/60D- Snake Dungeon/BOS_dragonsnake01.txt
index c71bd04..c165c7a 100644
--- config_180523_1200/Units/60D- Snake Dungeon/BOS_dragonsnake01.txt	
+++ config_180529_2118/Units/60D- Snake Dungeon/BOS_dragonsnake01.txt	
@@ -1,5 +1,241 @@
+additionalStates:
+  toggle_safety:
+  - events:
+    - code: VariableSet
+      name: healthtriggershield1
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield2
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield3
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield4
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield5
+      value: '0'
+    - code: StartEffect
+      name: Shielded
+      value: '1.0'
+    name: initial
+    transitions:
+    - code: Auto
+      toState: main
+      value: '0'
+  - events:
+    - code: Speech
+      speechOptions:
+      - nonLocalizedText: main
+        weight: '1'
+      value: '1'
+    - code: StopEffect
+      name: Shielded
+      value: '1.0'
+    name: main
+    transitions:
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.833'
+      - code: VariableBelow
+        name: healthtriggershield1
+        value: '1'
+      toState: healthtriggershield1
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.5'
+      - code: VariableBelow
+        name: healthtriggershield2
+        value: '1'
+      toState: healthtriggershield2
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.166'
+      - code: VariableBelow
+        name: healthtriggershield3
+        value: '1'
+      toState: healthtriggershield3
+  - name: healthtriggershield1
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield1
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield1_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield1_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield2
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield2
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield2_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield2_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield3
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield3
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield3_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield3_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield4
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield4
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield4_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield4_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield5
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield5
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield5_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield5_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
 art: EnemyDragonSnake1Prefab
 artScale: '1'
 cameraZoomMultiplier: '1.3'
 cameraZoomRadius: '35'
 colliderRadius: '1.2'
diff --git config_180523_1200/Units/61D - Ice Dungeon/BOS_iceboss.txt config_180529_2118/Units/61D - Ice Dungeon/BOS_iceboss.txt
index f1b08e7..92cd02e 100644
--- config_180523_1200/Units/61D - Ice Dungeon/BOS_iceboss.txt	
+++ config_180529_2118/Units/61D - Ice Dungeon/BOS_iceboss.txt	
@@ -1,5 +1,257 @@
+additionalStates:
+  toggle_safety:
+  - events:
+    - code: VariableSet
+      name: healthtriggershield1
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield2
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield3
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield4
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield5
+      value: '0'
+    - code: StartEffect
+      name: Shielded
+      value: '1.0'
+    name: initial
+    transitions:
+    - code: Auto
+      toState: main
+      value: '0'
+  - events:
+    - code: Speech
+      speechOptions:
+      - nonLocalizedText: main
+        weight: '1'
+      value: '1'
+    - code: StopEffect
+      name: Shielded
+      value: '1.0'
+    name: main
+    transitions:
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.9'
+      - code: VariableBelow
+        name: healthtriggershield1
+        value: '1'
+      toState: healthtriggershield1
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.7'
+      - code: VariableBelow
+        name: healthtriggershield2
+        value: '1'
+      toState: healthtriggershield2
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.5'
+      - code: VariableBelow
+        name: healthtriggershield3
+        value: '1'
+      toState: healthtriggershield3
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.3'
+      - code: VariableBelow
+        name: healthtriggershield4
+        value: '1'
+      toState: healthtriggershield4
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.1'
+      - code: VariableBelow
+        name: healthtriggershield5
+        value: '1'
+      toState: healthtriggershield5
+  - name: healthtriggershield1
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield1
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield1_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield1_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield2
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield2
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield2_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield2_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield3
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield3
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield3_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield3_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield4
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield4
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield4_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield4_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield5
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield5
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield5_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield5_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
 art: EnemyFrozenHorrorPrefab
 artScale: '1'
 cameraZoomMultiplier: '1.3'
 cameraZoomRadius: '24.00'
 colliderRadius: '1.1'
diff --git config_180523_1200/Units/61D - Ice Dungeon/unit_husky.txt config_180529_2118/Units/61D - Ice Dungeon/unit_husky.txt
index 7d80f8f..cde47b0 100644
--- config_180523_1200/Units/61D - Ice Dungeon/unit_husky.txt	
+++ config_180529_2118/Units/61D - Ice Dungeon/unit_husky.txt	
@@ -1,12 +1,10 @@
 art: EnemyHuskyPrefab
 artScale: '1'
 colliderRadius: '0.55'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - poisonWeakness
 - slowResist
 energyRegenRate: '0'
 gunMounts:
diff --git config_180523_1200/Units/61D - Ice Dungeon/unit_huskyfreezing.txt config_180529_2118/Units/61D - Ice Dungeon/unit_huskyfreezing.txt
index 72600e9..35a5c36 100644
--- config_180523_1200/Units/61D - Ice Dungeon/unit_huskyfreezing.txt	
+++ config_180529_2118/Units/61D - Ice Dungeon/unit_huskyfreezing.txt	
@@ -1,11 +1,9 @@
 art: EnemyHuskyPrefab
 artScale: '1'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - poisonWeakness
 - slowResist
 energyRegenRate: '0'
 healthRegenRate: '0'
diff --git config_180523_1200/Units/61D - Ice Dungeon/unit_huskyfreezingminion.txt config_180529_2118/Units/61D - Ice Dungeon/unit_huskyfreezingminion.txt
index 02fab28..ef816ea 100644
--- config_180523_1200/Units/61D - Ice Dungeon/unit_huskyfreezingminion.txt	
+++ config_180529_2118/Units/61D - Ice Dungeon/unit_huskyfreezingminion.txt	
@@ -1,11 +1,9 @@
 art: EnemyHuskyPrefab
 artScale: '1'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - poisonWeakness
 - slowResist
 energyRegenRate: '0'
 healthRegenRate: '0'
diff --git config_180523_1200/Units/62D - Fire Dungeon/BOS1_phoenix1.txt config_180529_2118/Units/62D - Fire Dungeon/BOS1_phoenix1.txt
index 67aed7b..91a0893 100644
--- config_180523_1200/Units/62D - Fire Dungeon/BOS1_phoenix1.txt	
+++ config_180529_2118/Units/62D - Fire Dungeon/BOS1_phoenix1.txt	
@@ -1,5 +1,85 @@
+additionalStates:
+  toggle_safety:
+  - events:
+    - code: VariableSet
+      name: healthtriggershield1
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield2
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield3
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield4
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield5
+      value: '0'
+    - code: StartEffect
+      name: Shielded
+      value: '1.0'
+    name: initial
+    transitions:
+    - code: Auto
+      toState: main
+      value: '0'
+  - events:
+    - code: Speech
+      speechOptions:
+      - nonLocalizedText: main
+        weight: '1'
+      value: '1'
+    - code: StopEffect
+      name: Shielded
+      value: '1.0'
+    name: main
+    transitions:
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.5'
+      - code: VariableBelow
+        name: healthtriggershield1
+        value: '1'
+      toState: healthtriggershield1
+  - name: healthtriggershield1
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield1
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield1_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield1_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '15'
 art: EnemyPhoenixInitial
 artScale: '1'
 colliderRadius: '1'
 colliderX: '0'
 colliderY: '0'
diff --git config_180523_1200/Units/62D - Fire Dungeon/BOS1_phoenix3.txt config_180529_2118/Units/62D - Fire Dungeon/BOS1_phoenix3.txt
index 615ea43..06f6f4d 100644
--- config_180523_1200/Units/62D - Fire Dungeon/BOS1_phoenix3.txt	
+++ config_180529_2118/Units/62D - Fire Dungeon/BOS1_phoenix3.txt	
@@ -1,5 +1,85 @@
+additionalStates:
+  toggle_safety:
+  - events:
+    - code: VariableSet
+      name: healthtriggershield1
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield2
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield3
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield4
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield5
+      value: '0'
+    - code: StartEffect
+      name: Shielded
+      value: '1.0'
+    name: initial
+    transitions:
+    - code: Auto
+      toState: main
+      value: '0'
+  - events:
+    - code: Speech
+      speechOptions:
+      - nonLocalizedText: main
+        weight: '1'
+      value: '1'
+    - code: StopEffect
+      name: Shielded
+      value: '1.0'
+    name: main
+    transitions:
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.5'
+      - code: VariableBelow
+        name: healthtriggershield1
+        value: '1'
+      toState: healthtriggershield1
+  - name: healthtriggershield1
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield1
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield1_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield1_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '15'
 art: EnemyPhoenix
 artScale: '1'
 colliderHeight: '2.8'
 colliderWidth: '4'
 effectImmunities:
diff --git config_180523_1200/Units/62D - Fire Dungeon/BOS1_phoenix5.txt config_180529_2118/Units/62D - Fire Dungeon/BOS1_phoenix5.txt
index 98218f3..f433971 100644
--- config_180523_1200/Units/62D - Fire Dungeon/BOS1_phoenix5.txt	
+++ config_180529_2118/Units/62D - Fire Dungeon/BOS1_phoenix5.txt	
@@ -1,5 +1,85 @@
+additionalStates:
+  toggle_safety:
+  - events:
+    - code: VariableSet
+      name: healthtriggershield1
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield2
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield3
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield4
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield5
+      value: '0'
+    - code: StartEffect
+      name: Shielded
+      value: '1.0'
+    name: initial
+    transitions:
+    - code: Auto
+      toState: main
+      value: '0'
+  - events:
+    - code: Speech
+      speechOptions:
+      - nonLocalizedText: main
+        weight: '1'
+      value: '1'
+    - code: StopEffect
+      name: Shielded
+      value: '1.0'
+    name: main
+    transitions:
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.5'
+      - code: VariableBelow
+        name: healthtriggershield1
+        value: '1'
+      toState: healthtriggershield1
+  - name: healthtriggershield1
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield1
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield1_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield1_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '15'
 art: EnemyPhoenix
 artScale: '1'
 colliderHeight: '2.8'
 colliderWidth: '4'
 effectImmunities:
diff --git config_180523_1200/Units/65D - Grindhouse Dungeon/BOS_summoner.txt config_180529_2118/Units/65D - Grindhouse Dungeon/BOS_summoner.txt
index c8c4380..24f44ba 100644
--- config_180523_1200/Units/65D - Grindhouse Dungeon/BOS_summoner.txt	
+++ config_180529_2118/Units/65D - Grindhouse Dungeon/BOS_summoner.txt	
@@ -1,12 +1,10 @@
 art: EnemyBreeder
 artScale: '1'
 colliderRadius: '1.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - slowWeakness
 - lightningResist
 energyRegenRate: '0'
 explosionPrefab: ExplosionBig_NoDebris
diff --git config_180523_1200/Units/65D - Grindhouse Dungeon/BOS_summoner2.txt config_180529_2118/Units/65D - Grindhouse Dungeon/BOS_summoner2.txt
index 40aab95..0508f0c 100644
--- config_180523_1200/Units/65D - Grindhouse Dungeon/BOS_summoner2.txt	
+++ config_180529_2118/Units/65D - Grindhouse Dungeon/BOS_summoner2.txt	
@@ -1,12 +1,10 @@
 art: EnemyBreeder
 artScale: '1'
 colliderRadius: '2'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - slowWeakness
 - lightningResist
 energyRegenRate: '0'
 explosionPrefab: ExplosionBig_NoDebris
diff --git config_180523_1200/Units/65D - Grindhouse Dungeon/BOS_summoner3.txt config_180529_2118/Units/65D - Grindhouse Dungeon/BOS_summoner3.txt
index 0a38653..ef4a31e 100644
--- config_180523_1200/Units/65D - Grindhouse Dungeon/BOS_summoner3.txt	
+++ config_180529_2118/Units/65D - Grindhouse Dungeon/BOS_summoner3.txt	
@@ -1,12 +1,10 @@
 art: EnemyBreeder
 artScale: '1'
 colliderRadius: '2'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - slowWeakness
 - lightningResist
 energyRegenRate: '0'
 explosionPrefab: ExplosionBig_NoDebris
diff --git config_180523_1200/Units/66D - Space Dungeon/BOS1_avatar.txt config_180529_2118/Units/66D - Space Dungeon/BOS1_avatar.txt
index bda835f..262b62c 100644
--- config_180523_1200/Units/66D - Space Dungeon/BOS1_avatar.txt	
+++ config_180529_2118/Units/66D - Space Dungeon/BOS1_avatar.txt	
@@ -1,5 +1,257 @@
+additionalStates:
+  toggle_safety:
+  - events:
+    - code: VariableSet
+      name: healthtriggershield1
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield2
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield3
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield4
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield5
+      value: '0'
+    - code: StartEffect
+      name: Shielded
+      value: '1.0'
+    name: initial
+    transitions:
+    - code: Auto
+      toState: main
+      value: '0'
+  - events:
+    - code: Speech
+      speechOptions:
+      - nonLocalizedText: main
+        weight: '1'
+      value: '1'
+    - code: StopEffect
+      name: Shielded
+      value: '1.0'
+    name: main
+    transitions:
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.9'
+      - code: VariableBelow
+        name: healthtriggershield1
+        value: '1'
+      toState: healthtriggershield1
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.7'
+      - code: VariableBelow
+        name: healthtriggershield2
+        value: '1'
+      toState: healthtriggershield2
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.5'
+      - code: VariableBelow
+        name: healthtriggershield3
+        value: '1'
+      toState: healthtriggershield3
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.3'
+      - code: VariableBelow
+        name: healthtriggershield4
+        value: '1'
+      toState: healthtriggershield4
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.1'
+      - code: VariableBelow
+        name: healthtriggershield5
+        value: '1'
+      toState: healthtriggershield5
+  - name: healthtriggershield1
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield1
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield1_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield1_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield2
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield2
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield2_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield2_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield3
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield3
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield3_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield3_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield4
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield4
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield4_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield4_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield5
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield5
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield5_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield5_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
 art: EnemyDoomsdayMechanismPrefab
 artScale: '1'
 cameraZoomMultiplier: '1.3'
 cameraZoomRadius: '24.00'
 colliderHeight: '0'
diff --git config_180523_1200/Units/66D - Space Dungeon/BOS2_battlemechshieldbomb.txt config_180529_2118/Units/66D - Space Dungeon/BOS2_battlemechshieldbomb.txt
index 4b2067f..55bbd6f 100644
--- config_180523_1200/Units/66D - Space Dungeon/BOS2_battlemechshieldbomb.txt	
+++ config_180529_2118/Units/66D - Space Dungeon/BOS2_battlemechshieldbomb.txt	
@@ -1,12 +1,10 @@
 art: EnemyRoboMine
 artScale: '1'
 colliderRadius: '3'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: planeExplosionEmpty
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
diff --git config_180523_1200/Units/66D - Space Dungeon/unit_blocker4.txt config_180529_2118/Units/66D - Space Dungeon/unit_blocker4.txt
index b97a83f..5d395fa 100644
--- config_180523_1200/Units/66D - Space Dungeon/unit_blocker4.txt	
+++ config_180529_2118/Units/66D - Space Dungeon/unit_blocker4.txt	
@@ -1,12 +1,10 @@
 art: EnemySentinelB
 artScale: '1.0'
 colliderRadius: '0.6'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - poisonWeakness
 - slowResist
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
diff --git config_180523_1200/Units/66D - Space Dungeon/unit_blocker5.txt config_180529_2118/Units/66D - Space Dungeon/unit_blocker5.txt
index 1243136..2083fe8 100644
--- config_180523_1200/Units/66D - Space Dungeon/unit_blocker5.txt	
+++ config_180529_2118/Units/66D - Space Dungeon/unit_blocker5.txt	
@@ -1,12 +1,10 @@
 art: EnemySentinel
 artScale: '1.8'
 colliderRadius: '0.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - poisonWeakness
 - slowResist
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
diff --git config_180523_1200/Units/67D - Thief Dungeon/unit_thiefguard.txt config_180529_2118/Units/67D - Thief Dungeon/unit_thiefguard.txt
index 95fc62a..ba395c8 100644
--- config_180523_1200/Units/67D - Thief Dungeon/unit_thiefguard.txt	
+++ config_180529_2118/Units/67D - Thief Dungeon/unit_thiefguard.txt	
@@ -1,12 +1,10 @@
 art: EnemyThiefGuard
 artScale: '1'
 colliderRadius: '1'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - burnWeakness
 - poisonResist
 energyRegenRate: '0'
 gunMounts:
diff --git config_180523_1200/Units/67D - Thief Dungeon/unit_thiefguard2.txt config_180529_2118/Units/67D - Thief Dungeon/unit_thiefguard2.txt
index 1b9b9ab..ea38139 100644
--- config_180523_1200/Units/67D - Thief Dungeon/unit_thiefguard2.txt	
+++ config_180529_2118/Units/67D - Thief Dungeon/unit_thiefguard2.txt	
@@ -1,12 +1,10 @@
 art: EnemyThiefGuard
 artScale: '1'
 colliderRadius: '1'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - burnWeakness
 - poisonResist
 energyRegenRate: '0'
 gunMounts:
diff --git config_180523_1200/Units/68D - Eyeball Dungeon/BOS_octopus.txt config_180529_2118/Units/68D - Eyeball Dungeon/BOS_octopus.txt
index 62d6c2e..ae5d4f6 100644
--- config_180523_1200/Units/68D - Eyeball Dungeon/BOS_octopus.txt	
+++ config_180529_2118/Units/68D - Eyeball Dungeon/BOS_octopus.txt	
@@ -1,5 +1,257 @@
+additionalStates:
+  toggle_safety:
+  - events:
+    - code: VariableSet
+      name: healthtriggershield1
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield2
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield3
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield4
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield5
+      value: '0'
+    - code: StartEffect
+      name: Shielded
+      value: '1.0'
+    name: initial
+    transitions:
+    - code: Auto
+      toState: main
+      value: '0'
+  - events:
+    - code: Speech
+      speechOptions:
+      - nonLocalizedText: main
+        weight: '1'
+      value: '1'
+    - code: StopEffect
+      name: Shielded
+      value: '1.0'
+    name: main
+    transitions:
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.9'
+      - code: VariableBelow
+        name: healthtriggershield1
+        value: '1'
+      toState: healthtriggershield1
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.7'
+      - code: VariableBelow
+        name: healthtriggershield2
+        value: '1'
+      toState: healthtriggershield2
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.5'
+      - code: VariableBelow
+        name: healthtriggershield3
+        value: '1'
+      toState: healthtriggershield3
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.3'
+      - code: VariableBelow
+        name: healthtriggershield4
+        value: '1'
+      toState: healthtriggershield4
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.1'
+      - code: VariableBelow
+        name: healthtriggershield5
+        value: '1'
+      toState: healthtriggershield5
+  - name: healthtriggershield1
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield1
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield1_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield1_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield2
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield2
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield2_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield2_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield3
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield3
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield3_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield3_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield4
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield4
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield4_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield4_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield5
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield5
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield5_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield5_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
 art: EnemyEyeBossPrefab
 artScale: '1'
 cameraZoomMultiplier: '1.3'
 cameraZoomRadius: '24.00'
 colliderRadius: '1.68'
diff --git config_180523_1200/Units/68D - Eyeball Dungeon/BOS_octopuslaser2.txt config_180529_2118/Units/68D - Eyeball Dungeon/BOS_octopuslaser2.txt
index 3d9b8ef..e573e10 100644
--- config_180523_1200/Units/68D - Eyeball Dungeon/BOS_octopuslaser2.txt	
+++ config_180529_2118/Units/68D - Eyeball Dungeon/BOS_octopuslaser2.txt	
@@ -1,12 +1,10 @@
 art: EnemyWatcherMinion
 artScale: '1'
 colliderRadius: '1'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - lightningWeakness
 - waterResist
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
diff --git config_180523_1200/Units/68D - Eyeball Dungeon/BOS_octopuslaser3.txt config_180529_2118/Units/68D - Eyeball Dungeon/BOS_octopuslaser3.txt
index 44557bd..cbd8299 100644
--- config_180523_1200/Units/68D - Eyeball Dungeon/BOS_octopuslaser3.txt	
+++ config_180529_2118/Units/68D - Eyeball Dungeon/BOS_octopuslaser3.txt	
@@ -1,12 +1,10 @@
 art: EnemyWatcherMinion
 artScale: '1'
 colliderRadius: '1'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - lightningWeakness
 - waterResist
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
diff --git config_180523_1200/Units/68D - Eyeball Dungeon/unit_cyclopuslaser.txt config_180529_2118/Units/68D - Eyeball Dungeon/unit_cyclopuslaser.txt
index 3cc9bfd..343ba4d 100644
--- config_180523_1200/Units/68D - Eyeball Dungeon/unit_cyclopuslaser.txt	
+++ config_180529_2118/Units/68D - Eyeball Dungeon/unit_cyclopuslaser.txt	
@@ -1,12 +1,10 @@
 art: EnemyPsychopusMinion
 artScale: '1'
 colliderRadius: '1'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 elementSusceptibilityIds:
 - lightningWeakness
 - waterResist
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
diff --git config_180523_1200/Units/69D - Temple Dungeon/BOS1_smokeboss.txt config_180529_2118/Units/69D - Temple Dungeon/BOS1_smokeboss.txt
index 88106d3..0532433 100644
--- config_180523_1200/Units/69D - Temple Dungeon/BOS1_smokeboss.txt	
+++ config_180529_2118/Units/69D - Temple Dungeon/BOS1_smokeboss.txt	
@@ -1,5 +1,257 @@
+additionalStates:
+  toggle_safety:
+  - events:
+    - code: VariableSet
+      name: healthtriggershield1
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield2
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield3
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield4
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield5
+      value: '0'
+    - code: StartEffect
+      name: Shielded
+      value: '1.0'
+    name: initial
+    transitions:
+    - code: Auto
+      toState: main
+      value: '0'
+  - events:
+    - code: Speech
+      speechOptions:
+      - nonLocalizedText: main
+        weight: '1'
+      value: '1'
+    - code: StopEffect
+      name: Shielded
+      value: '1.0'
+    name: main
+    transitions:
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.9'
+      - code: VariableBelow
+        name: healthtriggershield1
+        value: '1'
+      toState: healthtriggershield1
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.7'
+      - code: VariableBelow
+        name: healthtriggershield2
+        value: '1'
+      toState: healthtriggershield2
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.5'
+      - code: VariableBelow
+        name: healthtriggershield3
+        value: '1'
+      toState: healthtriggershield3
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.3'
+      - code: VariableBelow
+        name: healthtriggershield4
+        value: '1'
+      toState: healthtriggershield4
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.1'
+      - code: VariableBelow
+        name: healthtriggershield5
+        value: '1'
+      toState: healthtriggershield5
+  - name: healthtriggershield1
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield1
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield1_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield1_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield2
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield2
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield2_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield2_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield3
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield3
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield3_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield3_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield4
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield4
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield4_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield4_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield5
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield5
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield5_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield5_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
 art: EnemyTempleBoss
 artScale: '1'
 bankSmoothing: '10000'
 cameraZoomMultiplier: '1.3'
 cameraZoomRadius: '24.00'
diff --git config_180523_1200/Units/70D - Sneezy Mini Dungeon/BOS_sneezy.txt config_180529_2118/Units/70D - Sneezy Mini Dungeon/BOS_sneezy.txt
index bfcf5c6..df259c0 100644
--- config_180523_1200/Units/70D - Sneezy Mini Dungeon/BOS_sneezy.txt	
+++ config_180529_2118/Units/70D - Sneezy Mini Dungeon/BOS_sneezy.txt	
@@ -1,5 +1,257 @@
+additionalStates:
+  toggle_safety:
+  - events:
+    - code: VariableSet
+      name: healthtriggershield1
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield2
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield3
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield4
+      value: '0'
+    - code: VariableSet
+      name: healthtriggershield5
+      value: '0'
+    - code: StartEffect
+      name: Shielded
+      value: '1.0'
+    name: initial
+    transitions:
+    - code: Auto
+      toState: main
+      value: '0'
+  - events:
+    - code: Speech
+      speechOptions:
+      - nonLocalizedText: main
+        weight: '1'
+      value: '1'
+    - code: StopEffect
+      name: Shielded
+      value: '1.0'
+    name: main
+    transitions:
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.9'
+      - code: VariableBelow
+        name: healthtriggershield1
+        value: '1'
+      toState: healthtriggershield1
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.7'
+      - code: VariableBelow
+        name: healthtriggershield2
+        value: '1'
+      toState: healthtriggershield2
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.5'
+      - code: VariableBelow
+        name: healthtriggershield3
+        value: '1'
+      toState: healthtriggershield3
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.3'
+      - code: VariableBelow
+        name: healthtriggershield4
+        value: '1'
+      toState: healthtriggershield4
+    - code: And
+      subconditions:
+      - code: HealthBelow
+        value: '0.1'
+      - code: VariableBelow
+        name: healthtriggershield5
+        value: '1'
+      toState: healthtriggershield5
+  - name: healthtriggershield1
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield1
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield1_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield1_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield2
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield2
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield2_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield2_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield3
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield3
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield3_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield3_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield4
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield4
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield4_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield4_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
+  - name: healthtriggershield5
+    substates:
+    - events:
+      - code: VariableSet
+        name: healthtriggershield5
+        value: '1'
+      - code: StartEffect
+        delay: '0.0'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.1'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.2'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.3'
+        name: Shielded
+        value: '1.0'
+      - code: StartEffect
+        delay: '0.4'
+        name: Shielded
+        value: '1.0'
+      name: healthtriggershield5_0
+      transitions:
+      - code: Time
+        toState: healthtriggershield5_0
+        value: '0.5'
+    transitions:
+    - code: Time
+      toState: main
+      value: '10'
 art: EnemySNZPrefab
 artScale: '1'
 cameraZoomMultiplier: '1.3'
 cameraZoomRadius: '45'
 colliderRadius: '2'
diff --git config_180523_1200/Units/72D - Arena Dungeon 1/BOS_swarmbossswarmspawner.txt config_180529_2118/Units/72D - Arena Dungeon 1/BOS_swarmbossswarmspawner.txt
index 5990faf..9c4d2c9 100644
--- config_180523_1200/Units/72D - Arena Dungeon 1/BOS_swarmbossswarmspawner.txt	
+++ config_180529_2118/Units/72D - Arena Dungeon 1/BOS_swarmbossswarmspawner.txt	
@@ -2,12 +2,10 @@ art: '!EnemyInvisible'
 artScale: '2'
 bankSmoothing: '10000'
 colliderRadius: '0'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: planeExplosionEmpty
 healthRegenRate: '0'
 isVisibleInRadar: 'false'
 maxEnergyPoints: '1'
diff --git config_180523_1200/Units/73D - Arena Dungeon 2/BOS_arenacubebiglaserwall.txt config_180529_2118/Units/73D - Arena Dungeon 2/BOS_arenacubebiglaserwall.txt
index e3b8676..1913085 100644
--- config_180523_1200/Units/73D - Arena Dungeon 2/BOS_arenacubebiglaserwall.txt	
+++ config_180529_2118/Units/73D - Arena Dungeon 2/BOS_arenacubebiglaserwall.txt	
@@ -1,12 +1,10 @@
 art: '!EnemyInvisible'
 artScale: '1'
 colliderRadius: '0'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: planeExplosionEmpty
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
diff --git config_180523_1200/Units/73D - Arena Dungeon 2/BOS_arenacubebiglaserwall2.txt config_180529_2118/Units/73D - Arena Dungeon 2/BOS_arenacubebiglaserwall2.txt
index 565d6d5..69aaa09 100644
--- config_180523_1200/Units/73D - Arena Dungeon 2/BOS_arenacubebiglaserwall2.txt	
+++ config_180529_2118/Units/73D - Arena Dungeon 2/BOS_arenacubebiglaserwall2.txt	
@@ -1,12 +1,10 @@
 art: '!EnemyInvisible'
 artScale: '1'
 colliderRadius: '0'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: planeExplosionEmpty
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
diff --git config_180523_1200/Units/73D - Arena Dungeon 2/BOS_arenacubelasercross.txt config_180529_2118/Units/73D - Arena Dungeon 2/BOS_arenacubelasercross.txt
index 5d41e92..6af4f5d 100644
--- config_180523_1200/Units/73D - Arena Dungeon 2/BOS_arenacubelasercross.txt	
+++ config_180529_2118/Units/73D - Arena Dungeon 2/BOS_arenacubelasercross.txt	
@@ -1,12 +1,10 @@
 art: EnemyLaserEye
 artScale: '1'
 colliderRadius: '1'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
diff --git config_180523_1200/Units/73D - Arena Dungeon 2/BOS_arenacubenode.txt config_180529_2118/Units/73D - Arena Dungeon 2/BOS_arenacubenode.txt
index 12bd1c5..e89f173 100644
--- config_180523_1200/Units/73D - Arena Dungeon 2/BOS_arenacubenode.txt	
+++ config_180529_2118/Units/73D - Arena Dungeon 2/BOS_arenacubenode.txt	
@@ -3,12 +3,10 @@ artScale: '0.5'
 cameraZoomMultiplier: '1.3'
 cameraZoomRadius: '90'
 colliderRadius: '2.5'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: Aimed
   firingArc: '360'
   flashOffset: '1'
diff --git config_180523_1200/Units/73D - Arena Dungeon 2/BOS_arenacubenodemaster.txt config_180529_2118/Units/73D - Arena Dungeon 2/BOS_arenacubenodemaster.txt
index 3fe9ecc..144fb0b 100644
--- config_180523_1200/Units/73D - Arena Dungeon 2/BOS_arenacubenodemaster.txt	
+++ config_180529_2118/Units/73D - Arena Dungeon 2/BOS_arenacubenodemaster.txt	
@@ -1,9 +1,9 @@
 art: '!EnemyInvisible'
 cameraZoomMultiplier: '1.3'
 cameraZoomRadius: '90'
-colliderRadius: '2.5'
+colliderRadius: '0'
 colliderX: '0'
 colliderY: '0'
 effectImmunities:
 - Confuse
 energyRegenRate: '0'
diff --git config_180523_1200/Units/73D - Arena Dungeon 2/BOS_arenacubesmalllaserwall.txt config_180529_2118/Units/73D - Arena Dungeon 2/BOS_arenacubesmalllaserwall.txt
index 817dce6..c7cc52f 100644
--- config_180523_1200/Units/73D - Arena Dungeon 2/BOS_arenacubesmalllaserwall.txt	
+++ config_180529_2118/Units/73D - Arena Dungeon 2/BOS_arenacubesmalllaserwall.txt	
@@ -1,12 +1,10 @@
 art: '!EnemyInvisible'
 artScale: '1'
 colliderRadius: '0'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: planeExplosionEmpty
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
diff --git config_180523_1200/Units/99D - Boss Dungeon/BOS1_meowza.txt config_180529_2118/Units/99D - Boss Dungeon/BOS1_meowza.txt
index 25e4a1d..74f4249 100644
--- config_180523_1200/Units/99D - Boss Dungeon/BOS1_meowza.txt	
+++ config_180529_2118/Units/99D - Boss Dungeon/BOS1_meowza.txt	
@@ -187,10 +187,17 @@ loot:
       weight: '1.0001'
     - items:
       - id: shotgun_combat
       weight: '1.0001'
     lootTableId: meowza
+  scrapdrop:
+    lootTable:
+    - items:
+      - instant:
+          currency_amount: '100'
+          currency_id: scrap
+      weight: '1.0001'
   upgrades:
     lootTableId: upgrade_superior_100
 maxEnergyPoints: '1'
 maxHitPoints: '1333'
 maxSpeed: '4'
diff --git config_180523_1200/Units/99D - Boss Dungeon/ph2_meowzaB1.txt config_180529_2118/Units/99D - Boss Dungeon/ph2_meowzaB1.txt
index 74e522d..7232111 100644
--- config_180523_1200/Units/99D - Boss Dungeon/ph2_meowzaB1.txt	
+++ config_180529_2118/Units/99D - Boss Dungeon/ph2_meowzaB1.txt	
@@ -1,12 +1,10 @@
 art: EnemyMeowzaTurret
 artScale: '1'
 colliderRadius: '0.6'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 healthRegenRate: '0'
 maxEnergyPoints: '1'
 maxHitPoints: '9999'
 maxSpeed: '20'
diff --git config_180523_1200/Units/99D - Boss Dungeon/ph2_meowzaB1m.txt config_180529_2118/Units/99D - Boss Dungeon/ph2_meowzaB1m.txt
index d94293a..5711e17 100644
--- config_180523_1200/Units/99D - Boss Dungeon/ph2_meowzaB1m.txt	
+++ config_180529_2118/Units/99D - Boss Dungeon/ph2_meowzaB1m.txt	
@@ -1,12 +1,10 @@
 art: EnemyMeowzaTurret
 artScale: '1'
 colliderRadius: '.6'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '0'
   flashOffset: '0'
diff --git config_180523_1200/Units/99D - Boss Dungeon/ph2_meowzaB2.txt config_180529_2118/Units/99D - Boss Dungeon/ph2_meowzaB2.txt
index 9aaa6f0..70735a6 100644
--- config_180523_1200/Units/99D - Boss Dungeon/ph2_meowzaB2.txt	
+++ config_180529_2118/Units/99D - Boss Dungeon/ph2_meowzaB2.txt	
@@ -1,12 +1,10 @@
 art: '!EnemyInvisible'
 artScale: '0.1'
 colliderRadius: '0.0'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: planeExplosionEmpty
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
diff --git config_180523_1200/Units/99D - Boss Dungeon/ph3_meowzaC1m1.txt config_180529_2118/Units/99D - Boss Dungeon/ph3_meowzaC1m1.txt
index 8ea4cb9..ed83125 100644
--- config_180523_1200/Units/99D - Boss Dungeon/ph3_meowzaC1m1.txt	
+++ config_180529_2118/Units/99D - Boss Dungeon/ph3_meowzaC1m1.txt	
@@ -1,12 +1,10 @@
 art: EnemyMeowzaTurret
 artScale: '1'
 colliderRadius: '0.6'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
diff --git config_180523_1200/Units/99D - Boss Dungeon/ph3_meowzaC1m2.txt config_180529_2118/Units/99D - Boss Dungeon/ph3_meowzaC1m2.txt
index 97a9235..7339784 100644
--- config_180523_1200/Units/99D - Boss Dungeon/ph3_meowzaC1m2.txt	
+++ config_180529_2118/Units/99D - Boss Dungeon/ph3_meowzaC1m2.txt	
@@ -1,12 +1,10 @@
 art: EnemyMeowzaTurret
 artScale: '1'
 colliderRadius: '0.6'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
diff --git config_180523_1200/Units/99D - Boss Dungeon/ph3_meowzaC2m.txt config_180529_2118/Units/99D - Boss Dungeon/ph3_meowzaC2m.txt
index e3affe0..ec6cbbe 100644
--- config_180523_1200/Units/99D - Boss Dungeon/ph3_meowzaC2m.txt	
+++ config_180529_2118/Units/99D - Boss Dungeon/ph3_meowzaC2m.txt	
@@ -1,12 +1,10 @@
 art: EnemyMeowzaTurret
 artScale: '1'
 colliderRadius: '0.6'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
diff --git config_180523_1200/Units/99D - Boss Dungeon/ph4_meowzaD2.txt config_180529_2118/Units/99D - Boss Dungeon/ph4_meowzaD2.txt
index 969fcb7..57a3bb6 100644
--- config_180523_1200/Units/99D - Boss Dungeon/ph4_meowzaD2.txt	
+++ config_180529_2118/Units/99D - Boss Dungeon/ph4_meowzaD2.txt	
@@ -1,12 +1,10 @@
 art: '!EnemyInvisible'
 artScale: '0.1'
 colliderRadius: '0.0'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: planeExplosionEmpty
 gunTypes:
 - burst: '50'
   cooldown: '0'
diff --git config_180523_1200/Units/99D - Boss Dungeon/ph4_meowzaD2m.txt config_180529_2118/Units/99D - Boss Dungeon/ph4_meowzaD2m.txt
index f8a65d4..82d6161 100644
--- config_180523_1200/Units/99D - Boss Dungeon/ph4_meowzaD2m.txt	
+++ config_180529_2118/Units/99D - Boss Dungeon/ph4_meowzaD2m.txt	
@@ -1,12 +1,10 @@
 art: EnemyMeowzaTurret
 artScale: '1'
 colliderRadius: '0.6'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
 gunMounts:
 - fireMode: JustShootDammit
   firingArc: '360'
diff --git config_180523_1200/Units/99D - Boss Dungeon/phx_meowzalaserA.txt config_180529_2118/Units/99D - Boss Dungeon/phx_meowzalaserA.txt
index 440be3d..3d81cd5 100644
--- config_180523_1200/Units/99D - Boss Dungeon/phx_meowzalaserA.txt	
+++ config_180529_2118/Units/99D - Boss Dungeon/phx_meowzalaserA.txt	
@@ -1,12 +1,10 @@
 art: EnemyMeowzaLaser
 artScale: '1.0'
 colliderRadius: '0.6'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
 gunMounts:
 - fireMode: Sprinkler
   firingArc: '360'
diff --git config_180523_1200/Units/99D - Boss Dungeon/phx_meowzalaserB.txt config_180529_2118/Units/99D - Boss Dungeon/phx_meowzalaserB.txt
index 64f7805..6f91c5f 100644
--- config_180523_1200/Units/99D - Boss Dungeon/phx_meowzalaserB.txt	
+++ config_180529_2118/Units/99D - Boss Dungeon/phx_meowzalaserB.txt	
@@ -1,12 +1,10 @@
 art: EnemyMeowzaLaser
 artScale: '1.0'
 colliderRadius: '0.6'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: ExplosionSmall
 gunMounts:
 - fireMode: Sprinkler
   firingArc: '360'
diff --git config_180523_1200/Units/99D - Boss Dungeon/unit_meowzahurtsnakespawner.txt config_180529_2118/Units/99D - Boss Dungeon/unit_meowzahurtsnakespawner.txt
index af5ef58..b364b40 100644
--- config_180523_1200/Units/99D - Boss Dungeon/unit_meowzahurtsnakespawner.txt	
+++ config_180529_2118/Units/99D - Boss Dungeon/unit_meowzahurtsnakespawner.txt	
@@ -1,12 +1,10 @@
 art: '!EnemyInvisible'
 artScale: '1'
 colliderRadius: '0'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: planeExplosionEmpty
 hashOverride: '6006'
 healthRegenRate: '0'
 maxEnergyPoints: '1'
diff --git config_180523_1200/Units/99D - Boss Dungeon/unit_meowzastardogspawner1.txt config_180529_2118/Units/99D - Boss Dungeon/unit_meowzastardogspawner1.txt
index a2c3f46..d181690 100644
--- config_180523_1200/Units/99D - Boss Dungeon/unit_meowzastardogspawner1.txt	
+++ config_180529_2118/Units/99D - Boss Dungeon/unit_meowzastardogspawner1.txt	
@@ -1,12 +1,10 @@
 art: '!EnemyInvisible'
 artScale: '1'
 colliderRadius: '0'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: planeExplosionEmpty
 healthRegenRate: '0'
 maxEnergyPoints: '1'
 maxHitPoints: '10000000'
diff --git config_180523_1200/Units/99D - Boss Dungeon/unit_meowzastardogspawner2.txt config_180529_2118/Units/99D - Boss Dungeon/unit_meowzastardogspawner2.txt
index e7daf37..fb7e80c 100644
--- config_180523_1200/Units/99D - Boss Dungeon/unit_meowzastardogspawner2.txt	
+++ config_180529_2118/Units/99D - Boss Dungeon/unit_meowzastardogspawner2.txt	
@@ -1,12 +1,10 @@
 art: '!EnemyInvisible'
 artScale: '1'
 colliderRadius: '0'
 colliderX: '0'
 colliderY: '0'
-effectImmunities:
-- Confuse
 energyRegenRate: '0'
 explosionPrefab: planeExplosionEmpty
 healthRegenRate: '0'
 maxEnergyPoints: '1'
 maxHitPoints: '10000000'
diff --git config_180523_1200/events.txt config_180529_2118/events.txt
index 8974b16..4a3879e 100644
--- config_180523_1200/events.txt
+++ config_180529_2118/events.txt
@@ -8,11 +8,12 @@ playtest_event:
       dayOfWeek: '3'
       hour: '17'
       minute: '0'
       month: '5'
 test_event:
-  Effects: []
+  Effects:
+  - xpMultiplier: '1'
   Time:
-    RunsFor: '1:15'
+    RunsFor: '23:00'
     StartsAt:
-      hour: '01'
-      minute: '45'
+      hour: '10'
+      minute: '00'
diff --git config_180523_1200/global.txt config_180529_2118/global.txt
index 3a2083a..a4a0f14 100644
--- config_180523_1200/global.txt
+++ config_180529_2118/global.txt
@@ -112,10 +112,13 @@ perfNoClouds: 'false'
 perfNoItems: 'false'
 perfNoLights: 'false'
 perfNoPlaneArt: 'false'
 perfNoRadar: 'false'
 perfNoShadows: 'false'
+pilotXpCurrencyAwardThreshold: '10'
+pilotXpCurrencyId: scrap
+pilotXpPer1Currency: '10'
 pilotXpTargets:
 - level: '1'
   xp: '0'
 - level: '2'
   xp: '1'
diff --git config_180523_1200/playerclasses.txt config_180529_2118/playerclasses.txt
index e8b2f1b..88e5afc 100644
--- config_180523_1200/playerclasses.txt
+++ config_180529_2118/playerclasses.txt
@@ -573,11 +573,11 @@ paladin:
   - id: default
     prefab: PlayerPaladin
   - hideIfLocked: 'true'
     id: VariantA
     prefab: PlayerPaladinVariantA
-    unlockItemId: playerclass_paladin_variantb
+    unlockItemId: playerclass_paladin_varianta
   - hideIfLocked: 'true'
     id: VariantB
     prefab: PlayerPaladinVariantB
     unlockItemId: playerclass_paladin_variantb
 pirate:
diff --git config_180523_1200/questGivers.txt config_180529_2118/questGivers.txt
index bfd2d58..eac3ab6 100644
--- config_180523_1200/questGivers.txt
+++ config_180529_2118/questGivers.txt
@@ -8,12 +8,14 @@
   questTables:
     basics:
       genCount: '3'
       maxDuration: 0:20
       quests:
-      - id: collect_ambergris
-      - id: collect_basic
+      - id: test_collect
+      - id: test_basic
+      - id: test_inherit
+      - id: test_inherit_t2
       schedule:
         minute: '*/5'
 - adminsOnly: 'true'
   completeGuidanceTargets:
   - tavern
diff --git config_180523_1200/store.txt config_180529_2118/store.txt
index 2aae5ab..4e16921 100644
--- config_180523_1200/store.txt
+++ config_180529_2118/store.txt
@@ -1,9 +1,9 @@
 currencies:
 - icon: gold-icon
   id: gold
-- hidden: 'true'
+- hidden: 'false'
   icon: scrap-icon
   id: scrap
 - hidden: 'true'
   icon: keys-icon
   id: keys
@@ -66,138 +66,10 @@ currency_packages:
   currency_val: '160000'
   extra_text: Best Value
   id: dummy_5
   money: '100'
   payment: dummy
-fillers:
-- id: sale_daily_dye_1
-  is_filling_up_overtime: 'true'
-  is_random_filler: 'true'
-  priority: '1'
-  product_selection:
-    with_tags_any:
-    - item_dye
-  product_settings:
-    amount: '10'
-    discount: '20'
-    has_limited_amount: 'true'
-  scheduled_time:
-    RunsFor: '4:00'
-    StartsAt:
-      hour: '00'
-      minute: '00'
-  tags:
-  - sale
-- id: sale_daily_key_1
-  is_filling_up_overtime: 'true'
-  is_random_filler: 'true'
-  priority: '1'
-  product_selection:
-    with_tags_any:
-    - item_key
-  product_settings:
-    amount: '10'
-    discount: '20'
-    has_limited_amount: 'true'
-  scheduled_time:
-    RunsFor: '4:00'
-    StartsAt:
-      hour: '4'
-      minute: '00'
-  tags:
-  - sale
-- id: sale_daily_variant_1
-  is_filling_up_overtime: 'true'
-  is_random_filler: 'true'
-  priority: '1'
-  product_selection:
-    with_tags_any:
-    - item_variant
-  product_settings:
-    amount: '10'
-    discount: '20'
-    has_limited_amount: 'true'
-  scheduled_time:
-    RunsFor: '4:00'
-    StartsAt:
-      hour: '8'
-      minute: '00'
-  tags:
-  - sale
-- id: sale_daily_consumable_1
-  is_filling_up_overtime: 'true'
-  is_random_filler: 'true'
-  priority: '1'
-  product_selection:
-    with_tags_any:
-    - item_consumable
-  product_settings:
-    amount: '10'
-    discount: '20'
-    has_limited_amount: 'true'
-  scheduled_time:
-    RunsFor: '4:00'
-    StartsAt:
-      hour: '12'
-      minute: '00'
-  tags:
-  - sale
-- id: sale_daily_dye_2
-  is_filling_up_overtime: 'true'
-  is_random_filler: 'true'
-  priority: '1'
-  product_selection:
-    with_tags_any:
-    - item_dye
-  product_settings:
-    amount: '10'
-    discount: '20'
-    has_limited_amount: 'true'
-  scheduled_time:
-    RunsFor: '4:00'
-    StartsAt:
-      hour: '16'
-      minute: '00'
-  tags:
-  - sale
-- id: sale_daily_key_2
-  is_filling_up_overtime: 'true'
-  is_random_filler: 'true'
-  priority: '1'
-  product_selection:
-    with_tags_any:
-    - item_key
-  product_settings:
-    amount: '10'
-    discount: '20'
-    has_limited_amount: 'true'
-  scheduled_time:
-    RunsFor: '4:00'
-    StartsAt:
-      hour: '20'
-      minute: '00'
-  tags:
-  - sale
-- id: sale_weekly_variant
-  is_filling_up_overtime: 'true'
-  is_random_filler: 'true'
-  priority: '2'
-  product_selection:
-    with_tags_any:
-    - item_unlock
-  product_settings:
-    amount: '10'
-    discount: '40'
-    has_limited_amount: 'true'
-  scheduled_time:
-    RunsFor: 1.00:00
-    StartsAt:
-      dayOfWeek: '5'
-      hour: '0'
-      minute: '00'
-  tags:
-  - sale
 products:
 - account_items:
   - storage_slot
   - storage_slot
   - storage_slot
@@ -208,11 +80,11 @@ products:
   - store_bundle_starter
   banner: store-banner-starter
   icon: ItemCrate
   id: store_bundle_starter
   max_per_account: '1'
-  max_per_account_count_account_items: 'true'
+  max_per_account_limiting_account_item: store_bundle_starter
   no_automatic_tags: 'true'
   normal_price:
     amount: '10000'
     currency: gold
   tags:
@@ -357,901 +229,1215 @@ products:
   tags:
   - item_key
 - additional_price_tags:
   - id: normal
     price:
-      amount: '1000'
+      amount: '500'
       currency: gold
+  - id: scrap
+    price:
+      amount: '1500'
+      currency: scrap
   icon: ItemDyeProduct
-  id: dye_white_body
+  id: dye_gray_body
   items:
-  - dye_white_body
+  - dye_gray_body
   tags:
-  - item_dye
+  - item_dye_body_common
 - additional_price_tags:
   - id: normal
     price:
       amount: '500'
       currency: gold
+  - id: scrap
+    price:
+      amount: '1500'
+      currency: scrap
   icon: ItemDyeProduct
-  id: dye_gray_body
+  id: dye_darkgray_body
   items:
-  - dye_gray_body
+  - dye_darkgray_body
   tags:
-  - item_dye
+  - item_dye_body_common
 - additional_price_tags:
   - id: normal
     price:
-      amount: '1000'
+      amount: '500'
       currency: gold
+  - id: scrap
+    price:
+      amount: '1500'
+      currency: scrap
   icon: ItemDyeProduct
-  id: dye_darkgray_body
+  id: dye_green_body
   items:
-  - dye_darkgray_body
+  - dye_green_body
   tags:
-  - item_dye
+  - item_dye_body_common
 - additional_price_tags:
   - id: normal
     price:
-      amount: '1000'
+      amount: '500'
       currency: gold
+  - id: scrap
+    price:
+      amount: '1500'
+      currency: scrap
   icon: ItemDyeProduct
-  id: dye_black_body
+  id: dye_darkyelloworange_body
   items:
-  - dye_black_body
+  - dye_darkyelloworange_body
   tags:
-  - item_dye
+  - item_dye_body_common
 - additional_price_tags:
   - id: normal
     price:
-      amount: '1000'
+      amount: '500'
       currency: gold
+  - id: scrap
+    price:
+      amount: '1500'
+      currency: scrap
+  icon: ItemDyeDetailProduct
+  id: dye_darkblue_body
+  items:
+  - dye_darkblue_body
+  tags:
+  - item_dye_body_common
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '500'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '1500'
+      currency: scrap
   icon: ItemDyeProduct
-  id: dye_red_body
+  id: dye_verydarkblue_body
   items:
-  - dye_red_body
+  - dye_verydarkblue_body
+  tags:
+  - item_dye_body_common
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '500'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '1500'
+      currency: scrap
+  icon: ItemDyeProduct
+  id: dye_verydarkpurple_body
+  items:
+  - dye_verydarkpurple_body
   tags:
-  - item_dye
+  - item_dye_body_common
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_orangered_body
   items:
   - dye_orangered_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_orange_body
   items:
   - dye_orange_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_yelloworange_body
   items:
   - dye_yelloworange_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_yellow_body
   items:
   - dye_yellow_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_greenyellow_body
   items:
   - dye_greenyellow_body
   tags:
-  - item_dye
-- additional_price_tags:
-  - id: normal
-    price:
-      amount: '500'
-      currency: gold
-  icon: ItemDyeProduct
-  id: dye_green_body
-  items:
-  - dye_green_body
-  tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_teal_body
   items:
   - dye_teal_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_blue_body
   items:
   - dye_blue_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_violet_body
   items:
   - dye_violet_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_purple_body
   items:
   - dye_purple_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_magenta_body
   items:
   - dye_magenta_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_darkred_body
   items:
   - dye_darkred_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_darkorangered_body
   items:
   - dye_darkorangered_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_darkorange_body
   items:
   - dye_darkorange_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
-  icon: ItemDyeProduct
-  id: dye_darkyelloworange_body
-  items:
-  - dye_darkyelloworange_body
-  tags:
-  - item_dye
-- additional_price_tags:
-  - id: normal
+  - id: scrap
     price:
-      amount: '1000'
-      currency: gold
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_darkyellow_body
   items:
   - dye_darkyellow_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_darkgreenyellow_body
   items:
   - dye_darkgreenyellow_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_darkgreen_body
   items:
   - dye_darkgreen_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_darkteal_body
   items:
   - dye_darkteal_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
-  icon: ItemDyeProduct
-  id: dye_darkblue_body
-  items:
-  - dye_darkblue_body
-  tags:
-  - item_dye
-- additional_price_tags:
-  - id: normal
+  - id: scrap
     price:
-      amount: '1000'
-      currency: gold
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_darkviolet_body
   items:
   - dye_darkviolet_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_darkpurple_body
   items:
   - dye_darkpurple_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_darkmagenta_body
   items:
   - dye_darkmagenta_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_verydarkred_body
   items:
   - dye_verydarkred_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_verydarkorangered_body
   items:
   - dye_verydarkorangered_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_verydarkorange_body
   items:
   - dye_verydarkorange_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_verydarkyelloworange_body
   items:
   - dye_verydarkyelloworange_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_verydarkgreenyellow_body
   items:
   - dye_verydarkgreenyellow_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_verydarkgreen_body
   items:
   - dye_verydarkgreen_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
   id: dye_verydarkteal_body
   items:
   - dye_verydarkteal_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
-  id: dye_verydarkblue_body
+  id: dye_verydarkviolet_body
   items:
-  - dye_verydarkblue_body
+  - dye_verydarkviolet_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeProduct
-  id: dye_verydarkviolet_body
+  id: dye_verydarkmagenta_body
   items:
-  - dye_verydarkviolet_body
+  - dye_verydarkmagenta_body
   tags:
-  - item_dye
+  - item_dye_body_rare
 - additional_price_tags:
   - id: normal
     price:
-      amount: '1000'
+      amount: '2000'
       currency: gold
   icon: ItemDyeProduct
-  id: dye_verydarkpurple_body
+  id: dye_white_body
   items:
-  - dye_verydarkpurple_body
+  - dye_white_body
   tags:
-  - item_dye
+  - item_dye_body_epic
 - additional_price_tags:
   - id: normal
     price:
-      amount: '1000'
+      amount: '2000'
       currency: gold
   icon: ItemDyeProduct
-  id: dye_verydarkmagenta_body
+  id: dye_black_body
   items:
-  - dye_verydarkmagenta_body
+  - dye_black_body
   tags:
-  - item_dye
+  - item_dye_body_epic
 - additional_price_tags:
   - id: normal
     price:
-      amount: '1000'
+      amount: '2000'
       currency: gold
-  icon: ItemDyeDetailProduct
-  id: dye_white_detail
+  icon: ItemDyeProduct
+  id: dye_red_body
   items:
-  - dye_white_detail
+  - dye_red_body
   tags:
-  - item_dye
+  - item_dye_body_epic
 - additional_price_tags:
   - id: normal
     price:
-      amount: '1000'
+      amount: '500'
       currency: gold
+  - id: scrap
+    price:
+      amount: '1500'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_gray_detail
   items:
   - dye_gray_detail
   tags:
-  - item_dye
+  - item_dye_detail_common
 - additional_price_tags:
   - id: normal
     price:
-      amount: '1000'
+      amount: '500'
       currency: gold
+  - id: scrap
+    price:
+      amount: '1500'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_darkgray_detail
   items:
   - dye_darkgray_detail
   tags:
-  - item_dye
+  - item_dye_detail_common
 - additional_price_tags:
   - id: normal
     price:
-      amount: '1000'
+      amount: '500'
       currency: gold
+  - id: scrap
+    price:
+      amount: '1500'
+      currency: scrap
   icon: ItemDyeDetailProduct
-  id: dye_black_detail
+  id: dye_green_detail
   items:
-  - dye_black_detail
+  - dye_green_detail
   tags:
-  - item_dye
+  - item_dye_detail_common
 - additional_price_tags:
   - id: normal
     price:
-      amount: '1000'
+      amount: '500'
       currency: gold
+  - id: scrap
+    price:
+      amount: '1500'
+      currency: scrap
   icon: ItemDyeDetailProduct
-  id: dye_red_detail
+  id: dye_darkyelloworange_detail
   items:
-  - dye_red_detail
+  - dye_darkyelloworange_detail
   tags:
-  - item_dye
+  - item_dye_detail_common
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '500'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '1500'
+      currency: scrap
+  icon: ItemDyeDetailProduct
+  id: dye_darkblue_detail
+  items:
+  - dye_darkblue_detail
+  tags:
+  - item_dye_detail_common
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '500'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '1500'
+      currency: scrap
+  icon: ItemDyeDetailProduct
+  id: dye_verydarkblue_detail
+  items:
+  - dye_verydarkblue_detail
+  tags:
+  - item_dye_detail_common
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '500'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '1500'
+      currency: scrap
+  icon: ItemDyeDetailProduct
+  id: dye_verydarkpurple_detail
+  items:
+  - dye_verydarkpurple_detail
+  tags:
+  - item_dye_detail_common
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_orangered_detail
   items:
   - dye_orangered_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_orange_detail
   items:
   - dye_orange_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_yelloworange_detail
   items:
   - dye_yelloworange_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_yellow_detail
   items:
   - dye_yellow_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_greenyellow_detail
   items:
   - dye_greenyellow_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
-  icon: ItemDyeDetailProduct
-  id: dye_green_detail
-  items:
-  - dye_green_detail
-  tags:
-  - item_dye
-- additional_price_tags:
-  - id: normal
+  - id: scrap
     price:
-      amount: '1000'
-      currency: gold
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_teal_detail
   items:
   - dye_teal_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_blue_detail
   items:
   - dye_blue_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_violet_detail
   items:
   - dye_violet_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_purple_detail
   items:
   - dye_purple_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_magenta_detail
   items:
   - dye_magenta_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_darkred_detail
   items:
   - dye_darkred_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_darkorangered_detail
   items:
   - dye_darkorangered_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_darkorange_detail
   items:
   - dye_darkorange_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
-  icon: ItemDyeDetailProduct
-  id: dye_darkyelloworange_detail
-  items:
-  - dye_darkyelloworange_detail
-  tags:
-  - item_dye
-- additional_price_tags:
-  - id: normal
+  - id: scrap
     price:
-      amount: '1000'
-      currency: gold
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_darkyellow_detail
   items:
   - dye_darkyellow_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_darkgreenyellow_detail
   items:
   - dye_darkgreenyellow_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_darkgreen_detail
   items:
   - dye_darkgreen_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
-      amount: '500'
+      amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_darkteal_detail
   items:
   - dye_darkteal_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
-      amount: '500'
+      amount: '1000'
       currency: gold
-  icon: ItemDyeDetailProduct
-  id: dye_darkblue_detail
-  items:
-  - dye_darkblue_detail
-  tags:
-  - item_dye
-- additional_price_tags:
-  - id: normal
+  - id: scrap
     price:
-      amount: '500'
-      currency: gold
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_darkviolet_detail
   items:
   - dye_darkviolet_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_darkpurple_detail
   items:
   - dye_darkpurple_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_darkmagenta_detail
   items:
   - dye_darkmagenta_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_verydarkred_detail
   items:
   - dye_verydarkred_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_verydarkorangered_detail
   items:
   - dye_verydarkorangered_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_verydarkorange_detail
   items:
   - dye_verydarkorange_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_verydarkyelloworange_detail
   items:
   - dye_verydarkyelloworange_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_verydarkyellow_detail
   items:
   - dye_verydarkyellow_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_verydarkgreenyellow_detail
   items:
   - dye_verydarkgreenyellow_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_verydarkgreen_detail
   items:
   - dye_verydarkgreen_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
   id: dye_verydarkteal_detail
   items:
   - dye_verydarkteal_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
-  id: dye_verydarkblue_detail
+  id: dye_verydarkviolet_detail
   items:
-  - dye_verydarkblue_detail
+  - dye_verydarkviolet_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
       amount: '1000'
       currency: gold
+  - id: scrap
+    price:
+      amount: '3000'
+      currency: scrap
   icon: ItemDyeDetailProduct
-  id: dye_verydarkviolet_detail
+  id: dye_verydarkmagenta_detail
   items:
-  - dye_verydarkviolet_detail
+  - dye_verydarkmagenta_detail
   tags:
-  - item_dye
+  - item_dye_detail_rare
 - additional_price_tags:
   - id: normal
     price:
-      amount: '1000'
+      amount: '2000'
       currency: gold
   icon: ItemDyeDetailProduct
-  id: dye_verydarkpurple_detail
+  id: dye_white_detail
   items:
-  - dye_verydarkpurple_detail
+  - dye_white_detail
   tags:
-  - item_dye
+  - item_dye_detail_epic
 - additional_price_tags:
   - id: normal
     price:
-      amount: '1000'
+      amount: '2000'
       currency: gold
   icon: ItemDyeDetailProduct
-  id: dye_verydarkmagenta_detail
+  id: dye_black_detail
   items:
-  - dye_verydarkmagenta_detail
+  - dye_black_detail
   tags:
-  - item_dye
-- account_items:
-  - consumable_xpboost
-  disabled: 'true'
-  id: store_consumable_xpboost
-  normal_price:
-    amount: '2000'
-    currency: gold
+  - item_dye_detail_epic
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '2000'
+      currency: gold
+  icon: ItemDyeDetailProduct
+  id: dye_red_detail
+  items:
+  - dye_red_detail
   tags:
-  - item_consumable
-- disabled: 'true'
+  - item_dye_detail_epic
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '250'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '750'
+      currency: scrap
+  disabled: 'false'
   id: store_consumable_health
   items:
   - health_boost
-  normal_price:
-    amount: '250'
-    currency: gold
   tags:
   - item_consumable
 - account_items:
   - consumable_steam
-  disabled: 'true'
+  additional_price_tags:
+  - id: normal
+    price:
+      amount: '750'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '2250'
+      currency: scrap
+  disabled: 'false'
   id: store_consumable_steam
-  normal_price:
-    amount: '750'
-    currency: gold
+  tags:
+  - item_consumable
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '2000'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '6000'
+      currency: scrap
+  disabled: 'false'
+  id: store_consumable_xpboost
+  items:
+  - consumable_xpboost
   tags:
   - item_consumable
 - account_items:
   - hangar_slot
   icon: ItemCrate
@@ -1284,91 +1470,150 @@ products:
     - '2000'
     - '1000'
     currency: gold
   tags:
   - storage_slot
-- id: store_unlock_playerclass_assault_flames
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '5000'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '15000'
+      currency: scrap
+  id: store_unlock_playerclass_assault_flames
   items:
   - unlock_playerclass_assault_flames
-  normal_price:
-    amount: '5000'
-    currency: gold
   tags:
-  - item_unlock
   - item_variant_common
-- id: store_unlock_playerclass_assault_spikes
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '5000'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '15000'
+      currency: scrap
+  id: store_unlock_playerclass_assault_spikes
   items:
   - unlock_playerclass_assault_spikes
-  normal_price:
-    amount: '5000'
-    currency: gold
   tags:
-  - item_unlock
-- id: store_unlock_playerclass_assault_camo
+  - item_variant_common
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '5000'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '15000'
+      currency: scrap
+  id: store_unlock_playerclass_assault_camo
   items:
   - unlock_playerclass_assault_camo
-  normal_price:
-    amount: '5000'
-    currency: gold
   tags:
-  - item_unlock
-- id: store_unlock_playerclass_assault_camo
+  - item_variant_common
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '5000'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '15000'
+      currency: scrap
+  id: store_unlock_playerclass_assault_camo
   items:
   - unlock_playerclass_assault_camo
-  normal_price:
-    amount: '5000'
-    currency: gold
   tags:
-  - item_unlock
-- id: store_unlock_playerclass_medic_flames
+  - item_variant_common
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '5000'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '15000'
+      currency: scrap
+  id: store_unlock_playerclass_medic_flames
   items:
   - unlock_playerclass_medic_flames
-  normal_price:
-    amount: '5000'
-    currency: gold
   tags:
-  - item_unlock
-- id: store_unlock_playerclass_medic_spikes
+  - item_variant_common
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '5000'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '15000'
+      currency: scrap
+  id: store_unlock_playerclass_medic_spikes
   items:
   - unlock_playerclass_medic_spikes
-  normal_price:
-    amount: '5000'
-    currency: gold
   tags:
-  - item_unlock
-- id: store_unlock_playerclass_medic_camo
+  - item_variant_common
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '5000'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '15000'
+      currency: scrap
+  id: store_unlock_playerclass_medic_camo
   items:
   - unlock_playerclass_medic_camo
-  normal_price:
-    amount: '5000'
-    currency: gold
   tags:
-  - item_unlock
-- id: store_unlock_playerclass_oldfaithful_flames
+  - item_variant_common
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '5000'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '15000'
+      currency: scrap
+  id: store_unlock_playerclass_oldfaithful_flames
   items:
   - unlock_playerclass_oldfaithful_flames
-  normal_price:
-    amount: '5000'
-    currency: gold
   tags:
-  - item_unlock
-- id: store_unlock_playerclass_oldfaithful_spikes
+  - item_variant_common
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '5000'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '15000'
+      currency: scrap
+  id: store_unlock_playerclass_oldfaithful_spikes
   items:
   - unlock_playerclass_oldfaithful_spikes
-  normal_price:
-    amount: '5000'
-    currency: gold
   tags:
-  - item_unlock
-- id: store_unlock_playerclass_oldfaithful_camo
+  - item_variant_common
+- additional_price_tags:
+  - id: normal
+    price:
+      amount: '5000'
+      currency: gold
+  - id: scrap
+    price:
+      amount: '15000'
+      currency: scrap
+  id: store_unlock_playerclass_oldfaithful_camo
   items:
   - unlock_playerclass_oldfaithful_camo
-  normal_price:
-    amount: '5000'
-    currency: gold
   tags:
-  - item_unlock
+  - item_variant_common
 - id: store_unlock_playerclass_assault_varianta
   items:
   - unlock_playerclass_assault_varianta
   normal_price:
     amount: '7000'
@@ -1593,22 +1838,49 @@ stores:
   - icon: ItemBoost
     id: general_account
     max_product_count: '4'
     product_selection:
       with_tags_any:
-      - consumable
+      - item_consumable
     type: NORMAL
   - icon: ItemDyeProduct
     iconHexColor: '000000'
     id: general_dye
-    max_product_count: '40'
+    max_product_count: '12'
+    product_selection:
+      with_tags_any:
+      - item_dye_body_common
+      - item_dye_detail_common
+    type: NORMAL
+  - icon: ItemDyeProduct
+    id: general_dye_rare
+    max_product_count: '20'
+    product_selection:
+      with_tags_any:
+      - item_dye_body_rare
+      - item_dye_detail_rare
+    show_within_other_section_in_ui: general_dye
+    type: NORMAL
+  - icon: ItemDyeProduct
+    id: general_dye_epic
+    max_product_count: '4'
     product_selection:
       with_tags_any:
-      - item_dye
+      - item_dye_body_epic
+      - item_dye_detail_epic
+    show_within_other_section_in_ui: general_dye
     type: NORMAL
   - icon: ItemVariantProduct
     id: general_variant
-    max_product_count: '12'
+    max_product_count: '8'
+    product_selection:
+      with_tags_any:
+      - item_variant_common
+    type: NORMAL
+  - icon: ItemVariantProduct
+    id: general_variant_rare
+    max_product_count: '4'
     product_selection:
       with_tags_any:
-      - item_variant
+      - item_variant_rare
+    show_within_other_section_in_ui: general_variant
     type: NORMAL