[MIRROR] Removes virtual-specific subtypes of drinking glass + adds a new fishing map [MDB IGNORE] (#24759)

* 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!
/🆑

* Removes virtual-specific subtypes of drinking glass + adds a new fishing map

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
This commit is contained in:
SkyratBot
2023-11-03 00:09:40 -04:00
committed by GitHub
co-authored by Jeremiah
parent fc8eb0567a
commit d0ff76bed9
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