* not code stuff * other things * global vars, defines, helpers * onclick hud stuff, orphans, world.dm * controllers and datums * game folder * everything not client/mobs in modules * client folder * stage 1 mob stuff * simple animal things * silicons * carbon things * ayylmaos and monkeys * hyoomahn * icons n shit * sprite fixes * compile fixes * some fixes I cherrypicked. * qdel fixes * forgot brain refractors
48 lines
1.5 KiB
Plaintext
48 lines
1.5 KiB
Plaintext
/obj/structure/blob/factory
|
|
name = "factory blob"
|
|
icon = 'icons/mob/blob.dmi'
|
|
icon_state = "blob_factory"
|
|
desc = "A thick spire of tendrils."
|
|
obj_integrity = 200
|
|
max_integrity = 200
|
|
health_regen = 1
|
|
point_return = 25
|
|
var/list/spores = list()
|
|
var/mob/living/simple_animal/hostile/blob/blobbernaut/naut = null
|
|
var/max_spores = 3
|
|
var/spore_delay = 0
|
|
var/spore_cooldown = 80 //8 seconds between spores and after spore death
|
|
|
|
|
|
/obj/structure/blob/factory/scannerreport()
|
|
if(naut)
|
|
return "It is currently sustaining a blobbernaut, making it fragile and unable to produce blob spores."
|
|
return "Will produce a blob spore every few seconds."
|
|
|
|
/obj/structure/blob/factory/Destroy()
|
|
for(var/mob/living/simple_animal/hostile/blob/blobspore/spore in spores)
|
|
if(spore.factory == src)
|
|
spore.factory = null
|
|
if(naut)
|
|
naut.factory = null
|
|
to_chat(naut, "<span class='userdanger'>Your factory was destroyed! You feel yourself dying!</span>")
|
|
naut.throw_alert("nofactory", /obj/screen/alert/nofactory)
|
|
spores = null
|
|
return ..()
|
|
|
|
/obj/structure/blob/factory/Be_Pulsed()
|
|
. = ..()
|
|
if(naut)
|
|
return
|
|
if(spores.len >= max_spores)
|
|
return
|
|
if(spore_delay > world.time)
|
|
return
|
|
flick("blob_factory_glow", src)
|
|
spore_delay = world.time + spore_cooldown
|
|
var/mob/living/simple_animal/hostile/blob/blobspore/BS = new/mob/living/simple_animal/hostile/blob/blobspore(src.loc, src)
|
|
if(overmind) //if we don't have an overmind, we don't need to do anything but make a spore
|
|
BS.overmind = overmind
|
|
BS.update_icons()
|
|
overmind.blob_mobs.Add(BS)
|