mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 14:39:58 +01:00
Fixes chasm jaunters not working while you're buckled to a mob or an object (#92693)
## About The Pull Request Now all mobs are unbuckled from falling objects and dropped individually, similarly to how lava functions. Also updated jaunters to be comsig-based rather than chasms snowflake checking for jaunters in belt slots. Closes #92663
This commit is contained in:
@@ -50,7 +50,7 @@
|
||||
to_chat(user, span_notice("\The [src] found no beacons in the world to anchor a wormhole to."))
|
||||
else
|
||||
visible_message(span_notice("\The [src] found no beacons in the world to anchor a wormhole to!"))
|
||||
return TRUE // used for chasm code
|
||||
return FALSE
|
||||
|
||||
var/list/destinations = get_destinations()
|
||||
var/chosen_beacon = pick(destinations)
|
||||
@@ -62,7 +62,7 @@
|
||||
try_move_adjacent(tunnel)
|
||||
|
||||
qdel(src)
|
||||
return FALSE // used for chasm code
|
||||
return TRUE
|
||||
|
||||
/obj/item/wormhole_jaunter/emp_act(power)
|
||||
. = ..()
|
||||
@@ -77,20 +77,32 @@
|
||||
|
||||
var/mob/M = loc
|
||||
if(istype(M) && triggered)
|
||||
M.visible_message(span_warning("Your [src.name] overloads and activates!"))
|
||||
M.visible_message(span_userdanger("Your [src.name] overloads and activates!"))
|
||||
SSblackbox.record_feedback("tally", "jaunter", 1, "EMP") // EMP accidental activation
|
||||
activate(M, FALSE, TRUE)
|
||||
else if(triggered)
|
||||
visible_message(span_warning("\The [src] overloads and activates!"))
|
||||
activate()
|
||||
|
||||
/obj/item/wormhole_jaunter/proc/chasm_react(mob/user)
|
||||
var/fall_into_chasm = activate(user, FALSE, TRUE)
|
||||
/obj/item/wormhole_jaunter/equipped(mob/user, slot, initial)
|
||||
. = ..()
|
||||
if (slot & ITEM_SLOT_BELT)
|
||||
RegisterSignal(user, COMSIG_MOVABLE_CHASM_DROPPED, PROC_REF(chasm_react))
|
||||
|
||||
if(!fall_into_chasm)
|
||||
to_chat(user, span_notice("Your [src.name] activates, saving you from the chasm!"))
|
||||
SSblackbox.record_feedback("tally", "jaunter", 1, "Chasm") // chasm automatic activation
|
||||
return fall_into_chasm
|
||||
/obj/item/wormhole_jaunter/dropped(mob/user, silent)
|
||||
. = ..()
|
||||
UnregisterSignal(user, COMSIG_MOVABLE_CHASM_DROPPED)
|
||||
|
||||
/obj/item/wormhole_jaunter/proc/chasm_react(mob/living/user, turf/chasm)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(!activate(user, FALSE, TRUE))
|
||||
return
|
||||
|
||||
to_chat(user, span_userdanger("Your [src] activates, saving you from \the [chasm]!"))
|
||||
chasm.visible_message(span_boldwarning("[user] falls into \the [chasm]!")) // To freak out any bystanders
|
||||
SSblackbox.record_feedback("tally", "jaunter", 1, "Chasm") // Chasm automatic activation
|
||||
return COMPONENT_NO_CHASM_DROP
|
||||
|
||||
//jaunter tunnel
|
||||
/obj/effect/portal/jaunt_tunnel
|
||||
|
||||
Reference in New Issue
Block a user