Removes virtual-specific subtypes of drinking glass + adds a new fishing map (#79423)

## About The Pull Request
Changed how loot signals work with bitrunning entirely, which allows map
creators to attach functionality to objects without creating subtypes of
the item

As a bonus I added a fishing minigame map which uses it
## Why It's Good For The Game
It's a messy solution to need to create subtypes just for the one-off
map that needs them
## Changelog
🆑
add: Added a new fishing map to bitrunning.
add: You are no longer limited to pina coladas on the beach bar domain.
Cheers!
/🆑
This commit is contained in:
Jeremiah
2023-11-03 02:19:26 +00:00
committed by GitHub
parent 68e9cc0bf3
commit a6b194c51c
9 changed files with 932 additions and 64 deletions
@@ -91,7 +91,7 @@
var/turf/goal_turfs = list()
var/turf/crate_turfs = list()
for(var/thing in GLOB.landmarks_list)
for(var/obj/effect/landmark/bitrunning/thing in GLOB.landmarks_list)
if(istype(thing, /obj/effect/landmark/bitrunning/hololadder_spawn))
exit_turfs += get_turf(thing)
qdel(thing) // i'm worried about multiple servers getting confused so lets clean em up
@@ -110,6 +110,11 @@
qdel(thing)
continue
if(istype(thing, /obj/effect/landmark/bitrunning/loot_signal))
var/turf/signaler_turf = get_turf(thing)
signaler_turf.AddComponent(/datum/component/bitrunning_points, generated_domain)
qdel(thing)
if(!length(exit_turfs))
CRASH("Failed to find exit turfs on generated domain.")
if(!length(goal_turfs))
@@ -87,6 +87,9 @@
UnregisterSignal(source, COMSIG_LAZY_TEMPLATE_LOADED)
/// Just in case there's any special handling for the domain
generated_domain.setup_domain(created_atoms)
/// Handles when cybercops are summoned into the area or ghosts click a ghost role spawner
/obj/machinery/quantum_server/proc/on_threat_created(datum/source, mob/living/threat)
SIGNAL_HANDLER