|
|
|
|
@@ -14,16 +14,11 @@
|
|
|
|
|
shock_resist = -0.2
|
|
|
|
|
deflect_chance = 0
|
|
|
|
|
movement_cooldown = 10
|
|
|
|
|
status_flags = null
|
|
|
|
|
var/specialattackprojectile = /obj/item/projectile/energy/phase/bolt
|
|
|
|
|
var/attackcycle = 1
|
|
|
|
|
var/artidrop = /obj/effect/artillery_attack
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/handle_special()
|
|
|
|
|
if(stat != DEAD)
|
|
|
|
|
src.SetStunned(0)
|
|
|
|
|
src.SetWeakened(0)
|
|
|
|
|
src.SetParalysis(0)
|
|
|
|
|
..()
|
|
|
|
|
var/rng_cycle = 0
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/do_special_attack(atom/A)
|
|
|
|
|
bullet_heck(A, 3, 3)
|
|
|
|
|
@@ -61,7 +56,6 @@
|
|
|
|
|
wreckage = /obj/structure/loot_pile/mecha/odd_gygax
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/antipersonal_unit/do_special_attack(atom/A)
|
|
|
|
|
var/rng_cycle
|
|
|
|
|
switch(a_intent)
|
|
|
|
|
if(I_DISARM) //phase3
|
|
|
|
|
if(attackcycle == 1)
|
|
|
|
|
@@ -306,7 +300,6 @@
|
|
|
|
|
visible_message(span_cult("[P] has been adapted too!."))
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/darkmatter_assualt/armored/do_special_attack(atom/A)
|
|
|
|
|
var/rng_cycle
|
|
|
|
|
switch(a_intent)
|
|
|
|
|
if(I_DISARM) //phase3
|
|
|
|
|
if(attackcycle == 1)
|
|
|
|
|
@@ -383,7 +376,6 @@
|
|
|
|
|
icon_state = "eclipse_janus"
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/darkmatter_assualt/phasetwo/do_special_attack(atom/A)
|
|
|
|
|
var/rng_cycle
|
|
|
|
|
if(attackcycle == 1)
|
|
|
|
|
attackcycle = rand(4,6)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(random_firing), A, 14, attackcycle, 5), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
@@ -618,7 +610,7 @@
|
|
|
|
|
B.escapechance = 25
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chambera //poison boss
|
|
|
|
|
name = "expirement 20"
|
|
|
|
|
name = "experiment 20"
|
|
|
|
|
specialattackprojectile = /obj/item/projectile/energy/eclipse/poisonwind
|
|
|
|
|
icon_state = "poison_boss"
|
|
|
|
|
icon_living = "poison_boss"
|
|
|
|
|
@@ -650,7 +642,7 @@
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chamberb //knock back boss
|
|
|
|
|
name = "expirement 3"
|
|
|
|
|
name = "experiment 3"
|
|
|
|
|
specialattackprojectile = /obj/item/projectile/knockback/slow
|
|
|
|
|
icon_state = "sonic_boss"
|
|
|
|
|
icon_living = "sonic_boss"
|
|
|
|
|
@@ -660,7 +652,7 @@
|
|
|
|
|
speed = 10
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chamberb/do_special_attack(atom/A)
|
|
|
|
|
var/rng_cycle = rand(1,6)
|
|
|
|
|
rng_cycle = rand(1,6)
|
|
|
|
|
if(attackcycle == 1)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(quad_random_firing), A, 20, rng_cycle, 10), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
@@ -681,7 +673,7 @@
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chamberc //wierd shields
|
|
|
|
|
name = "expirement 7"
|
|
|
|
|
name = "experiment 7"
|
|
|
|
|
specialattackprojectile = /obj/item/projectile/energy/eclipse/tyrjavelin
|
|
|
|
|
health = 400
|
|
|
|
|
maxHealth = 400 //shield mechanic
|
|
|
|
|
@@ -691,7 +683,7 @@
|
|
|
|
|
var/fullshield = 300
|
|
|
|
|
var/shieldrage = 3
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chamberc/bullet_act(obj/item/projectile/P) //Projectiles will be absorbed by the shield. Note to self do funky sprite. 4 hits to remove
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chamberc/bullet_act(obj/item/projectile/P)
|
|
|
|
|
if(fullshield > 0)
|
|
|
|
|
fullshield -= P.damage
|
|
|
|
|
if(P == /obj/item/projectile/ion)
|
|
|
|
|
@@ -713,7 +705,7 @@
|
|
|
|
|
icon_state = "UPshield_boss"
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chamberc/do_special_attack(atom/A)
|
|
|
|
|
var/rng_cycle = rand(1,5)
|
|
|
|
|
rng_cycle = rand(1,5)
|
|
|
|
|
if(attackcycle == 1)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(quad_random_firing), A, 20, rng_cycle, 20), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
@@ -731,33 +723,200 @@
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(gattlingfire), A, rng_cycle, 8, 7), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chamberd //the wall
|
|
|
|
|
name = "expirement 12"
|
|
|
|
|
name = "security master control"
|
|
|
|
|
health = 600 //summoner boss so reduced health
|
|
|
|
|
maxHealth = 600 //summoner boss so reduced health
|
|
|
|
|
specialattackprojectile = /obj/item/projectile/arc/explosive_rocket/big
|
|
|
|
|
artidrop = /mob/living/simple_mob/mechanical/hivebot/tyr
|
|
|
|
|
specialattackprojectile = /obj/item/projectile/spawnball
|
|
|
|
|
icon_state = "spawn_boss"
|
|
|
|
|
icon_living = "spawn_boss"
|
|
|
|
|
|
|
|
|
|
/obj/item/projectile/spawnball
|
|
|
|
|
name = "nano sphere"
|
|
|
|
|
icon_state = "bolter"
|
|
|
|
|
speed = 10
|
|
|
|
|
damage = 10
|
|
|
|
|
embed_chance = 0
|
|
|
|
|
damage_type = BRUTE
|
|
|
|
|
muzzle_type = null
|
|
|
|
|
combustion = FALSE
|
|
|
|
|
|
|
|
|
|
/obj/item/projectile/metalball/on_hit(var/atom/target, var/blocked = 0)
|
|
|
|
|
if(isturf(target.loc))
|
|
|
|
|
visible_message(span_danger("\The [src] creates a hivebot!"))
|
|
|
|
|
new /mob/living/simple_mob/mechanical/hivebot/tyr(target.loc)
|
|
|
|
|
..()
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chamberd/do_special_attack(atom/A)
|
|
|
|
|
var/rng_cycle = rand(1,5)
|
|
|
|
|
rng_cycle = rand(1,4)
|
|
|
|
|
if(attackcycle == 1)
|
|
|
|
|
specialattackprojectile = /obj/item/projectile/arc/explosive_rocket/big
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(singleproj), A, rng_cycle), 1 SECOND, TIMER_DELETE_ME)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(quad_random_firing), A, 20, rng_cycle, 10), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 2)
|
|
|
|
|
specialattackprojectile = /obj/item/projectile/arc/explosive_rocket/big
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(cross_spin), A, rng_cycle, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(dual_spin), A, rng_cycle, 5), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 3)
|
|
|
|
|
artidrop = /mob/living/simple_mob/mechanical/hivebot/tyr
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(bomb_chaos), A, rng_cycle), 1.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(bomb_chaos), A, rng_cycle), 2.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 4)
|
|
|
|
|
artidrop = /obj/item/material/barbedwire/plastic/active
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(bomb_chaos), A, rng_cycle), 1.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(bomb_lines), A, rng_cycle), 2.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chambere
|
|
|
|
|
name = "defense automaton"
|
|
|
|
|
desc = "A large, very important looking ai. Plating appears similiar to albative plating."
|
|
|
|
|
icon = 'modular_chomp/icons/mob/hivebot.dmi'
|
|
|
|
|
icon_state = "cyan"
|
|
|
|
|
icon_living = "cyan"
|
|
|
|
|
size_multiplier = 3
|
|
|
|
|
projectiletype = /obj/item/projectile/arc/explosive_rocket
|
|
|
|
|
loot_list = list(/obj/item/projectile/energy/wp_shotgun = 30,
|
|
|
|
|
/obj/item/gun/energy/energyballchain = 30,
|
|
|
|
|
/obj/item/tool/wirecutters/hybrid/alien = 30,
|
|
|
|
|
/obj/item/tool/wrench/hybrid/alien = 30,
|
|
|
|
|
/obj/item/tool/crowbar/hybrid/alien = 30,
|
|
|
|
|
/obj/item/tool/screwdriver/hybrid/alien = 30,
|
|
|
|
|
/obj/item/pickaxe/diamonddrill/alien = 30,
|
|
|
|
|
/obj/item/melee/energy/sword/dualsaber = 30,
|
|
|
|
|
/obj/item/shield_projector/rectangle/automatic/tyrvault = 0.01,
|
|
|
|
|
/obj/item/stock_parts/scanning_module/omni = 80,
|
|
|
|
|
/obj/item/stock_parts/micro_laser/omni = 80,
|
|
|
|
|
/obj/item/stock_parts/capacitor/omni = 80,
|
|
|
|
|
/obj/item/stock_parts/manipulator/omni = 80,
|
|
|
|
|
/obj/item/stock_parts/matter_bin/omni = 80,
|
|
|
|
|
/obj/item/stock_parts/scanning_module/hyper = 80,
|
|
|
|
|
/obj/item/stock_parts/micro_laser/hyper = 80,
|
|
|
|
|
/obj/item/stock_parts/capacitor/hyper = 80,
|
|
|
|
|
/obj/item/stock_parts/manipulator/hyper = 80,
|
|
|
|
|
/obj/item/stock_parts/matter_bin/hyper = 80,
|
|
|
|
|
/obj/item/cell/slime/jellyfish = 100
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chambere/do_special_attack(atom/A)
|
|
|
|
|
rng_cycle = rand(1,6)
|
|
|
|
|
if(attackcycle == 1)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(quad_random_firing), A, 20, rng_cycle, 20), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 2)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(dual_spin), A, rng_cycle, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 3)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(hole_in_wall), A, rng_cycle, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 4)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(rising_star), A, rng_cycle, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 4)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(gattlingfire), A, rng_cycle, 8, 7), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
else if(attackcycle == 5)
|
|
|
|
|
specialattackprojectile = /obj/item/projectile/energy/eclipse/tyrjavelin
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(quad_random_firing), A, 20, rng_cycle, 25), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(cutoff), A, rng_cycle, 5, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
else if(attackcycle == 6)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(cutoff_ulti), A, rng_cycle, 5, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chamberf
|
|
|
|
|
name = "engineering automaton"
|
|
|
|
|
desc = "A large, very important looking ai. Plating appears similiar to albative plating."
|
|
|
|
|
icon = 'modular_chomp/icons/mob/hivebot.dmi'
|
|
|
|
|
icon_state = "yellow"
|
|
|
|
|
icon_living = "yellow"
|
|
|
|
|
size_multiplier = 3
|
|
|
|
|
specialattackprojectile = /obj/item/projectile/energy/lightingspark/nanoweave
|
|
|
|
|
projectiletype = /obj/item/projectile/energy/lightingspark/nanoweave
|
|
|
|
|
loot_list = list(/obj/item/projectile/energy/wp_shotgun = 30,
|
|
|
|
|
/obj/item/gun/energy/energyballchain = 30,
|
|
|
|
|
/obj/item/tool/wirecutters/hybrid/alien = 30,
|
|
|
|
|
/obj/item/tool/wrench/hybrid/alien = 30,
|
|
|
|
|
/obj/item/tool/crowbar/hybrid/alien = 30,
|
|
|
|
|
/obj/item/tool/screwdriver/hybrid/alien = 30,
|
|
|
|
|
/obj/item/pickaxe/diamonddrill/alien = 30,
|
|
|
|
|
/obj/item/melee/energy/sword/dualsaber = 30,
|
|
|
|
|
/obj/item/shield_projector/rectangle/automatic/tyrvault = 0.01,
|
|
|
|
|
/obj/item/stock_parts/scanning_module/omni = 80,
|
|
|
|
|
/obj/item/stock_parts/micro_laser/omni = 80,
|
|
|
|
|
/obj/item/stock_parts/capacitor/omni = 80,
|
|
|
|
|
/obj/item/stock_parts/manipulator/omni = 80,
|
|
|
|
|
/obj/item/stock_parts/matter_bin/omni = 80,
|
|
|
|
|
/obj/item/stock_parts/scanning_module/hyper = 80,
|
|
|
|
|
/obj/item/stock_parts/micro_laser/hyper = 80,
|
|
|
|
|
/obj/item/stock_parts/capacitor/hyper = 80,
|
|
|
|
|
/obj/item/stock_parts/manipulator/hyper = 80,
|
|
|
|
|
/obj/item/stock_parts/matter_bin/hyper = 80,
|
|
|
|
|
/obj/item/melee/midnightblade = 100
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chamberf/do_special_attack(atom/A)
|
|
|
|
|
rng_cycle = rand(1,6)
|
|
|
|
|
if(attackcycle == 1)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(quad_random_firing), A, 20, rng_cycle, 20), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 2)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(dual_spin), A, rng_cycle, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 3)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(hole_in_wall), A, rng_cycle, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 4)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(rising_star), A, rng_cycle, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 4)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(gattlingfire), A, rng_cycle, 8, 7), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
else if(attackcycle == 5)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(cutoff), A, rng_cycle, 5, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
else if(attackcycle == 6)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(cutoff_ulti), A, rng_cycle, 5, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chamberg //wierd shields
|
|
|
|
|
name = "expirement 28"
|
|
|
|
|
specialattackprojectile = /obj/item/projectile/energy/eclipse/tyrjavelin
|
|
|
|
|
resistance = 15
|
|
|
|
|
health = 1000
|
|
|
|
|
maxHealth = 1000
|
|
|
|
|
icon_state = "UPshield_boss"
|
|
|
|
|
icon_living = "UPshield_boss"
|
|
|
|
|
color = "#FF0000"
|
|
|
|
|
projectiletype = /obj/item/projectile/energy/eclipse/tyrjavelin
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chamberg/do_special_attack(atom/A)
|
|
|
|
|
rng_cycle = rand(1,6)
|
|
|
|
|
if(attackcycle == 1)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(quad_random_firing), A, 20, rng_cycle, 20), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 2)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(dual_spin), A, rng_cycle, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 3)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(hole_in_wall), A, rng_cycle, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 4)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(rising_star), A, rng_cycle, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 4)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(gattlingfire), A, rng_cycle, 8, 7), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
else if(attackcycle == 5)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(cutoff), A, rng_cycle, 5, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
else if(attackcycle == 6)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(cutoff_ulti), A, rng_cycle, 5, 15), 0.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
else if(attackcycle == 7)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(bomb_chaos), A, rng_cycle), 2.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
else if(attackcycle == 8)
|
|
|
|
|
addtimer(CALLBACK(src, PROC_REF(bomb_lines), A, rng_cycle), 2.5 SECONDS, TIMER_DELETE_ME)
|
|
|
|
|
attackcycle = 0
|
|
|
|
|
|
|
|
|
|
/mob/living/simple_mob/mechanical/mecha/eclipse/tankyboss/chamberg/bullet_act(obj/item/projectile/P)
|
|
|
|
|
if((P == /obj/item/projectile/ion) && (resistance > 0))
|
|
|
|
|
resistance = 0
|
|
|
|
|
say("Shields destroyed, rerouting power")
|
|
|
|
|
specialattackprojectile = /obj/item/projectile/energy/eclipse/tyrjavelin/speed
|
|
|
|
|
projectiletype = /obj/item/projectile/energy/eclipse/tyrjavelin/speed
|
|
|
|
|
icon_state = "shield_boss"
|
|
|
|
|
icon_living = "shield_boss"
|
|
|
|
|
|