mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
[MIRROR] Integrates spider eggs into the mob spawners (#6502)
* Integrates spider eggs into the mob spawners * Update corpse.dm Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com> Co-authored-by: Gandalf <jzo123@hotmail.com>
This commit is contained in:
co-authored by
Arkatos1
Gandalf
parent
221bc79f7c
commit
73fdf1fa20
@@ -10,7 +10,6 @@
|
||||
owner = null
|
||||
return ..()
|
||||
|
||||
|
||||
/datum/spawners_menu/ui_state(mob/user)
|
||||
return GLOB.observer_state
|
||||
|
||||
@@ -29,24 +28,27 @@
|
||||
this["short_desc"] = ""
|
||||
this["flavor_text"] = ""
|
||||
this["important_warning"] = ""
|
||||
this["amount_left"] = 0
|
||||
this["refs"] = list()
|
||||
for(var/spawner_obj in GLOB.mob_spawners[spawner])
|
||||
this["refs"] += "[REF(spawner_obj)]"
|
||||
if(!this["desc"])
|
||||
if(istype(spawner_obj, /obj/effect/mob_spawn))
|
||||
var/obj/effect/mob_spawn/MS = spawner_obj
|
||||
this["short_desc"] = MS.short_desc
|
||||
this["flavor_text"] = MS.flavour_text
|
||||
this["important_info"] = MS.important_info
|
||||
var/obj/effect/mob_spawn/mob_spawner = spawner_obj
|
||||
if(!mob_spawner.ready)
|
||||
continue
|
||||
this["short_desc"] = mob_spawner.short_desc
|
||||
this["flavor_text"] = mob_spawner.flavour_text
|
||||
this["important_info"] = mob_spawner.important_info
|
||||
else
|
||||
var/obj/O = spawner_obj
|
||||
this["desc"] = O.desc
|
||||
this["amount_left"] = LAZYLEN(GLOB.mob_spawners[spawner])
|
||||
data["spawners"] += list(this)
|
||||
|
||||
var/obj/object = spawner_obj
|
||||
this["desc"] = object.desc
|
||||
this["refs"] += "[REF(spawner_obj)]"
|
||||
this["amount_left"] += 1
|
||||
if(this["amount_left"] > 0)
|
||||
data["spawners"] += list(this)
|
||||
return data
|
||||
|
||||
/datum/spawners_menu/ui_act(action, params)
|
||||
/datum/spawners_menu/ui_act(action, params, datum/tgui/ui)
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
@@ -55,17 +57,24 @@
|
||||
if(!group_name || !(group_name in GLOB.mob_spawners))
|
||||
return
|
||||
var/list/spawnerlist = GLOB.mob_spawners[group_name]
|
||||
for(var/obj/effect/mob_spawn/current_spawner as anything in spawnerlist)
|
||||
if(!current_spawner.ready)
|
||||
spawnerlist -= current_spawner
|
||||
if(!spawnerlist.len)
|
||||
return
|
||||
var/obj/effect/mob_spawn/MS = pick(spawnerlist)
|
||||
if(!istype(MS) || !(MS in GLOB.poi_list))
|
||||
var/obj/effect/mob_spawn/mob_spawner = pick(spawnerlist)
|
||||
if(!istype(mob_spawner) || !(mob_spawner in GLOB.poi_list))
|
||||
return
|
||||
|
||||
switch(action)
|
||||
if("jump")
|
||||
if(MS)
|
||||
owner.forceMove(get_turf(MS))
|
||||
. = TRUE
|
||||
if(mob_spawner)
|
||||
owner.forceMove(get_turf(mob_spawner))
|
||||
return TRUE
|
||||
if("spawn")
|
||||
if(MS)
|
||||
MS.attack_ghost(owner)
|
||||
. = TRUE
|
||||
if(mob_spawner)
|
||||
if(mob_spawner.radial_based)
|
||||
owner.ManualFollow(mob_spawner)
|
||||
ui.close()
|
||||
mob_spawner.attack_ghost(owner)
|
||||
return TRUE
|
||||
|
||||
Reference in New Issue
Block a user