diff --git a/ModularTegustation/Teguicons/48x48.dmi b/ModularTegustation/Teguicons/48x48.dmi index 166cf777f1c9..740fad6802a1 100644 Binary files a/ModularTegustation/Teguicons/48x48.dmi and b/ModularTegustation/Teguicons/48x48.dmi differ diff --git a/ModularTegustation/Teguicons/48x96.dmi b/ModularTegustation/Teguicons/48x96.dmi index d82fd19680c4..c186b2359cf9 100644 Binary files a/ModularTegustation/Teguicons/48x96.dmi and b/ModularTegustation/Teguicons/48x96.dmi differ diff --git a/code/modules/mob/living/simple_animal/abnormality/teth/lady_facing_the_wall.dm b/code/modules/mob/living/simple_animal/abnormality/teth/lady_facing_the_wall.dm index 03a43bc7f925..8476045094f9 100644 --- a/code/modules/mob/living/simple_animal/abnormality/teth/lady_facing_the_wall.dm +++ b/code/modules/mob/living/simple_animal/abnormality/teth/lady_facing_the_wall.dm @@ -57,9 +57,7 @@ datum_reference.qliphoth_change(-1) if((get_attribute_level(user, TEMPERANCE_ATTRIBUTE) < 40) && !(GODMODE in user.status_flags)) - icon_state = "ladyfacingthewall_active" + flick("ladyfacingthewall_active", src) user.adjustSanityLoss(user.maxSanity) user.apply_status_effect(/datum/status_effect/panicked_lvl_4) - sleep(10) - icon_state = "ladyfacingthewall" return diff --git a/code/modules/mob/living/simple_animal/abnormality/waw/generalb.dm b/code/modules/mob/living/simple_animal/abnormality/waw/generalb.dm index a72785699deb..4616d967ce45 100644 --- a/code/modules/mob/living/simple_animal/abnormality/waw/generalb.dm +++ b/code/modules/mob/living/simple_animal/abnormality/waw/generalb.dm @@ -1,7 +1,7 @@ /mob/living/simple_animal/hostile/abnormality/general_b name = "General Bee" desc = "A bee humanoid creature." - icon = 'ModularTegustation/Teguicons/48x96.dmi' + icon = 'ModularTegustation/Teguicons/48x48.dmi' icon_state = "generalbee" icon_living = "generalbee" speak_emote = list("buzzes") @@ -38,6 +38,8 @@ var/fire_cooldown var/fireball_range = 30 var/volley_count + //If the general has her post breach icon. + var/static/true_breached = FALSE /mob/living/simple_animal/hostile/abnormality/general_b/NeutralEffect(mob/living/carbon/human/user, work_type, pe) if(prob(40)) @@ -60,6 +62,30 @@ datum_reference.qliphoth_change(1) return +//Egor requested i make this an override of general bee rather than a alteration of the root. -IP +/mob/living/simple_animal/hostile/abnormality/general_b/BreachEffect(mob/living/carbon/human/user, breach_type = BREACH_NORMAL) + ..() + //Run icon change proc. + update_icon() + +/mob/living/simple_animal/hostile/abnormality/general_b/update_icon_state() + icon = initial(icon) + if(status_flags & GODMODE) + // Not breaching + //Normal bee or one eyed bee. + if(true_breached) + icon_living = "punished_bee" + else + icon_living = "generalbee" + + else if(stat == DEAD) + icon_state = icon_dead + return + else + icon = 'ModularTegustation/Teguicons/48x96.dmi' + icon_living = "general_breach" + icon_state = icon_living + /mob/living/simple_animal/hostile/abnormality/general_b/Life() . = ..() if(!.) // Dead @@ -67,6 +93,16 @@ if((fire_cooldown < world.time)) fireshell() +//Prevents special armor drop if not breached. +/mob/living/simple_animal/hostile/abnormality/general_b/drop_loot() + if(status_flags & GODMODE) + return + ..() + +/mob/living/simple_animal/hostile/abnormality/general_b/PostSpawn() + ..() + update_icon() + /mob/living/simple_animal/hostile/abnormality/general_b/proc/fireshell() fire_cooldown = world.time + fire_cooldown_time var/list/targets = list() @@ -87,13 +123,14 @@ fire_cooldown = world.time + fire_cooldown_time*3 //Triple cooldown every 4 shells /mob/living/simple_animal/hostile/abnormality/general_b/BreachEffect() - icon_state = "generalbee_breach" addtimer(CALLBACK(GLOBAL_PROC, .proc/show_global_blurb, 5 SECONDS, "My queen? I hear your cries...", 25)) + icon = 'ModularTegustation/Teguicons/48x96.dmi' + flick("generalbee_", src) SLEEP_CHECK_DEATH(80) var/turf/T = pick(GLOB.department_centers) forceMove(T) - icon_living = "general_breach" - icon_state = icon_living + update_icon() + true_breached = TRUE var/turf/orgin = get_turf(src) var/list/all_turfs = RANGE_TURFS(2, orgin) for(var/turf/Y in all_turfs)