mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-20 23:31:04 +00:00
effect/blob to structure/blob
This commit is contained in:
@@ -37,7 +37,7 @@
|
||||
attacktext = "hits"
|
||||
attack_sound = 'sound/weapons/genhit1.ogg'
|
||||
speak_emote = list("pulses")
|
||||
var/obj/effect/blob/factory/factory = null
|
||||
var/obj/structure/blob/factory/factory = null
|
||||
var/list/human_overlays = list()
|
||||
var/is_zombie = 0
|
||||
gold_core_spawnable = CHEM_MOB_SPAWN_HOSTILE
|
||||
@@ -48,11 +48,11 @@
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/blob/blobspore/CanPass(atom/movable/mover, turf/target, height=0)
|
||||
if(istype(mover, /obj/effect/blob))
|
||||
if(istype(mover, /obj/structure/blob))
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/blob/blobspore/New(loc, var/obj/effect/blob/factory/linked_node)
|
||||
/mob/living/simple_animal/hostile/blob/blobspore/New(loc, var/obj/structure/blob/factory/linked_node)
|
||||
if(istype(linked_node))
|
||||
factory = linked_node
|
||||
factory.spores += src
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/effect/blob/core
|
||||
/obj/structure/blob/core
|
||||
name = "blob core"
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon_state = "blank_blob"
|
||||
@@ -11,7 +11,7 @@
|
||||
var/is_offspring = null
|
||||
var/selecting = 0
|
||||
|
||||
/obj/effect/blob/core/New(loc, var/h = 200, var/client/new_overmind = null, var/new_rate = 2, offspring)
|
||||
/obj/structure/blob/core/New(loc, var/h = 200, var/client/new_overmind = null, var/new_rate = 2, offspring)
|
||||
blob_cores += src
|
||||
processing_objects.Add(src)
|
||||
poi_list |= src
|
||||
@@ -26,7 +26,7 @@
|
||||
..(loc, h)
|
||||
|
||||
|
||||
/obj/effect/blob/core/adjustcolors(var/a_color)
|
||||
/obj/structure/blob/core/adjustcolors(var/a_color)
|
||||
overlays.Cut()
|
||||
color = null
|
||||
var/image/I = new('icons/mob/blob.dmi', "blob")
|
||||
@@ -36,7 +36,7 @@
|
||||
overlays += C
|
||||
|
||||
|
||||
/obj/effect/blob/core/Destroy()
|
||||
/obj/structure/blob/core/Destroy()
|
||||
blob_cores -= src
|
||||
if(overmind)
|
||||
overmind.blob_core = null
|
||||
@@ -45,10 +45,10 @@
|
||||
poi_list.Remove(src)
|
||||
return ..()
|
||||
|
||||
/obj/effect/blob/core/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
/obj/structure/blob/core/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
return
|
||||
|
||||
/obj/effect/blob/core/update_icon()
|
||||
/obj/structure/blob/core/update_icon()
|
||||
if(health <= 0)
|
||||
qdel(src)
|
||||
return
|
||||
@@ -57,10 +57,10 @@
|
||||
overmind.update_health()
|
||||
return
|
||||
|
||||
/obj/effect/blob/core/RegenHealth()
|
||||
/obj/structure/blob/core/RegenHealth()
|
||||
return // Don't regen, we handle it in Life()
|
||||
|
||||
/obj/effect/blob/core/Life()
|
||||
/obj/structure/blob/core/Life()
|
||||
if(!overmind)
|
||||
create_overmind()
|
||||
else
|
||||
@@ -79,9 +79,9 @@
|
||||
for(var/b_dir in alldirs)
|
||||
if(!prob(5))
|
||||
continue
|
||||
var/obj/effect/blob/normal/B = locate() in get_step(src, b_dir)
|
||||
var/obj/structure/blob/normal/B = locate() in get_step(src, b_dir)
|
||||
if(B)
|
||||
B.change_to(/obj/effect/blob/shield)
|
||||
B.change_to(/obj/structure/blob/shield)
|
||||
if(B && overmind)
|
||||
B.color = overmind.blob_reagent_datum.color
|
||||
else
|
||||
@@ -90,7 +90,7 @@
|
||||
..()
|
||||
|
||||
|
||||
/obj/effect/blob/core/proc/create_overmind(var/client/new_overmind, var/override_delay)
|
||||
/obj/structure/blob/core/proc/create_overmind(var/client/new_overmind, var/override_delay)
|
||||
if(overmind_get_delay > world.time && !override_delay)
|
||||
return
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/effect/blob/factory
|
||||
/obj/structure/blob/factory
|
||||
name = "factory blob"
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon_state = "blob_factory"
|
||||
@@ -9,18 +9,18 @@
|
||||
var/spore_delay = 0
|
||||
var/mob/camera/blob/overmind
|
||||
|
||||
/obj/effect/blob/factory/update_icon()
|
||||
/obj/structure/blob/factory/update_icon()
|
||||
if(health <= 0)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/blob/factory/Destroy()
|
||||
/obj/structure/blob/factory/Destroy()
|
||||
for(var/mob/living/simple_animal/hostile/blob/blobspore/spore in spores)
|
||||
if(spore.factory == src)
|
||||
spore.factory = null
|
||||
spores = null
|
||||
return ..()
|
||||
|
||||
/obj/effect/blob/factory/run_action()
|
||||
/obj/structure/blob/factory/run_action()
|
||||
if(spores.len >= max_spores)
|
||||
return 0
|
||||
if(spore_delay > world.time)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/effect/blob/node
|
||||
/obj/structure/blob/node
|
||||
name = "blob node"
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon_state = "blank_blob"
|
||||
@@ -6,12 +6,12 @@
|
||||
fire_resist = 2
|
||||
var/mob/camera/blob/overmind
|
||||
|
||||
/obj/effect/blob/node/New(loc, var/h = 100)
|
||||
/obj/structure/blob/node/New(loc, var/h = 100)
|
||||
blob_nodes += src
|
||||
processing_objects.Add(src)
|
||||
..(loc, h)
|
||||
|
||||
/obj/effect/blob/node/adjustcolors(var/a_color)
|
||||
/obj/structure/blob/node/adjustcolors(var/a_color)
|
||||
overlays.Cut()
|
||||
color = null
|
||||
var/image/I = new('icons/mob/blob.dmi', "blob")
|
||||
@@ -20,15 +20,15 @@
|
||||
var/image/C = new('icons/mob/blob.dmi', "blob_node_overlay")
|
||||
src.overlays += C
|
||||
|
||||
/obj/effect/blob/node/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
/obj/structure/blob/node/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
return
|
||||
|
||||
/obj/effect/blob/node/Destroy()
|
||||
/obj/structure/blob/node/Destroy()
|
||||
blob_nodes -= src
|
||||
processing_objects.Remove(src)
|
||||
return ..()
|
||||
|
||||
/obj/effect/blob/node/Life()
|
||||
/obj/structure/blob/node/Life()
|
||||
if(overmind)
|
||||
for(var/i = 1; i < 8; i += i)
|
||||
Pulse(5, i, overmind.blob_reagent_datum.color)
|
||||
@@ -38,7 +38,7 @@
|
||||
health = min(initial(health), health + 1)
|
||||
color = null
|
||||
|
||||
/obj/effect/blob/node/update_icon()
|
||||
/obj/structure/blob/node/update_icon()
|
||||
if(health <= 0)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/effect/blob/resource
|
||||
/obj/structure/blob/resource
|
||||
name = "resource blob"
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon_state = "blob_resource"
|
||||
@@ -7,11 +7,11 @@
|
||||
var/mob/camera/blob/overmind = null
|
||||
var/resource_delay = 0
|
||||
|
||||
/obj/effect/blob/resource/update_icon()
|
||||
/obj/structure/blob/resource/update_icon()
|
||||
if(health <= 0)
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/blob/resource/run_action()
|
||||
/obj/structure/blob/resource/run_action()
|
||||
|
||||
if(resource_delay > world.time)
|
||||
return 0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/effect/blob/shield
|
||||
/obj/structure/blob/shield
|
||||
name = "strong blob"
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon_state = "blob_idle"
|
||||
@@ -7,15 +7,15 @@
|
||||
fire_resist = 2
|
||||
|
||||
|
||||
/obj/effect/blob/shield/update_icon()
|
||||
/obj/structure/blob/shield/update_icon()
|
||||
if(health <= 0)
|
||||
qdel(src)
|
||||
return
|
||||
return
|
||||
|
||||
/obj/effect/blob/shield/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
/obj/structure/blob/shield/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
return
|
||||
|
||||
/obj/effect/blob/shield/CanPass(atom/movable/mover, turf/target, height=0)
|
||||
/obj/structure/blob/shield/CanPass(atom/movable/mover, turf/target, height=0)
|
||||
if(istype(mover) && mover.checkpass(PASSBLOB)) return 1
|
||||
return 0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/effect/blob/storage
|
||||
/obj/structure/blob/storage
|
||||
name = "storage blob"
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
icon_state = "blob_resource"
|
||||
@@ -6,11 +6,11 @@
|
||||
fire_resist = 2
|
||||
var/mob/camera/blob/overmind = null
|
||||
|
||||
/obj/effect/blob/storage/update_icon()
|
||||
/obj/structure/blob/storage/update_icon()
|
||||
if(health <= 0)
|
||||
overmind.max_blob_points -= 50
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/blob/storage/proc/update_max_blob_points(var/new_point_increase)
|
||||
/obj/structure/blob/storage/proc/update_max_blob_points(var/new_point_increase)
|
||||
if(overmind)
|
||||
overmind.max_blob_points += new_point_increase
|
||||
Reference in New Issue
Block a user