Fixing three fishing issues in one PR. (#86042)

## About The Pull Request
This will fix #83730, fix #85985 and fix #86033.

## Why It's Good For The Game
See above.

## Changelog

🆑
fix: You can no longer pickup closets and crates wrapped in a package
with a fishing rod.
fix: Fixed a few harddel issues with mob spawns that caused charred
corpses fished from lavaland to create an invisible blockade.
fix: Fixed being able to fish up mobs that have fallen in totally
different z-levels with a rescue hook (i.e. from bitrunning domains to
lavaland).
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
This commit is contained in:
Ghom
2024-08-25 00:45:27 +02:00
committed by GitHub
parent ceef65921d
commit 2e0ff48bbb
4 changed files with 52 additions and 7 deletions
+8 -1
View File
@@ -38,6 +38,12 @@
if(faction)
faction = string_list(faction)
/obj/effect/mob_spawn/Destroy()
spawned_mob_ref = null
if(istype(outfit))
QDEL_NULL(outfit)
return ..()
/// Creates whatever mob the spawner makes. Return FALSE if we want to exit from here without doing that, returning NULL will be logged to admins.
/obj/effect/mob_spawn/proc/create(mob/mob_possessor, newname)
var/mob/living/spawned_mob = new mob_type(get_turf(src)) //living mobs only
@@ -137,7 +143,7 @@
SSpoints_of_interest.make_point_of_interest(src)
LAZYADD(GLOB.mob_spawners[name], src)
/obj/effect/mob_spawn/Destroy()
/obj/effect/mob_spawn/ghost_role/Destroy()
var/list/spawners = GLOB.mob_spawners[name]
LAZYREMOVE(spawners, src)
if(!LAZYLEN(spawners))
@@ -261,6 +267,7 @@
///these mob spawn subtypes trigger immediately (New or Initialize) and are not player controlled... since they're dead, you know?
/obj/effect/mob_spawn/corpse
density = FALSE //these are pretty much abstract objects that leave a corpse in their place.
///when this mob spawn should auto trigger.
var/spawn_when = CORPSE_INSTANT