mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-29 15:08:34 +01:00
More 515 Compatibility
This commit is contained in:
@@ -23,9 +23,9 @@
|
||||
metal = ismetal
|
||||
playsound(src, 'sound/effects/bubbles2.ogg', 80, 1, -3)
|
||||
if(dries) //VOREStation Add
|
||||
addtimer(CALLBACK(src, .proc/post_spread), 3 + metal * 3)
|
||||
addtimer(CALLBACK(src, .proc/pre_harden), 12 SECONDS)
|
||||
addtimer(CALLBACK(src, .proc/harden), 15 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(post_spread)), 3 + metal * 3)
|
||||
addtimer(CALLBACK(src, PROC_REF(pre_harden)), 12 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(harden)), 15 SECONDS)
|
||||
|
||||
/obj/effect/effect/foam/proc/post_spread()
|
||||
process()
|
||||
|
||||
@@ -49,7 +49,7 @@ var/global/list/image/splatter_cache=list()
|
||||
if (B.blood_DNA)
|
||||
blood_DNA |= B.blood_DNA.Copy()
|
||||
qdel(B)
|
||||
addtimer(CALLBACK(src, .proc/dry), DRYING_TIME * (amount+1))
|
||||
addtimer(CALLBACK(src, PROC_REF(dry)), DRYING_TIME * (amount+1))
|
||||
|
||||
/obj/effect/decal/cleanable/blood/update_icon()
|
||||
if(basecolor == "rainbow") basecolor = get_random_colour(1)
|
||||
|
||||
@@ -36,7 +36,7 @@ GLOBAL_LIST_EMPTY(all_beam_points)
|
||||
if(make_beams_on_init)
|
||||
create_beams()
|
||||
if(use_timer)
|
||||
addtimer(CALLBACK(src, .proc/handle_beam_timer), initial_delay)
|
||||
addtimer(CALLBACK(src, PROC_REF(handle_beam_timer)), initial_delay)
|
||||
return ..()
|
||||
|
||||
/obj/effect/map_effect/beam_point/Destroy()
|
||||
|
||||
@@ -728,7 +728,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
|
||||
H.toggle_zoom_hud() // If the user has already limited their HUD this avoids them having a HUD when they zoom in
|
||||
H.set_viewsize(viewsize)
|
||||
zoom = 1
|
||||
GLOB.moved_event.register(H, src, .proc/zoom)
|
||||
GLOB.moved_event.register(H, src, PROC_REF(zoom))
|
||||
|
||||
var/tilesize = 32
|
||||
var/viewoffset = tilesize * tileoffset
|
||||
@@ -757,7 +757,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
|
||||
if(!H.hud_used.hud_shown)
|
||||
H.toggle_zoom_hud()
|
||||
zoom = 0
|
||||
GLOB.moved_event.unregister(H, src, .proc/zoom)
|
||||
GLOB.moved_event.unregister(H, src, PROC_REF(zoom))
|
||||
|
||||
H.client.pixel_x = 0
|
||||
H.client.pixel_y = 0
|
||||
@@ -938,7 +938,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
|
||||
. = ..()
|
||||
if(usr.is_preference_enabled(/datum/client_preference/inv_tooltips) && ((src in usr) || isstorage(loc))) // If in inventory or in storage we're looking at
|
||||
var/user = usr
|
||||
tip_timer = addtimer(CALLBACK(src, .proc/openTip, location, control, params, user), 5, TIMER_STOPPABLE)
|
||||
tip_timer = addtimer(CALLBACK(src, PROC_REF(openTip), location, control, params, user), 5, TIMER_STOPPABLE)
|
||||
|
||||
/obj/item/MouseExited()
|
||||
. = ..()
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
if("wipe")
|
||||
msg_admin_attack("[key_name_admin(user)] wiped [key_name_admin(AI)] with \the [src].")
|
||||
add_attack_logs(user,carded_ai,"Purged from AI Card")
|
||||
INVOKE_ASYNC(src, .proc/wipe_ai)
|
||||
INVOKE_ASYNC(src, PROC_REF(wipe_ai))
|
||||
if("radio")
|
||||
carded_ai.aiRadio.disabledAi = !carded_ai.aiRadio.disabledAi
|
||||
to_chat(carded_ai, "<span class='warning'>Your Subspace Transceiver has been [carded_ai.aiRadio.disabledAi ? "disabled" : "enabled"]!</span>")
|
||||
@@ -83,7 +83,7 @@
|
||||
if(carded_ai.control_disabled && carded_ai.deployed_shell)
|
||||
carded_ai.disconnect_shell("Disconnecting from remote shell due to [src] wireless access interface being disabled.")
|
||||
update_icon()
|
||||
|
||||
|
||||
return TRUE
|
||||
|
||||
/obj/item/device/aicard/update_icon()
|
||||
@@ -182,4 +182,4 @@
|
||||
AI.adjustOxyLoss(2)
|
||||
AI.updatehealth()
|
||||
sleep(10)
|
||||
flush = FALSE
|
||||
flush = FALSE
|
||||
|
||||
@@ -106,7 +106,7 @@ var/global/list/obj/item/device/communicator/all_communicators = list()
|
||||
setup_tgui_camera()
|
||||
|
||||
//This is a pretty terrible way of doing this.
|
||||
addtimer(CALLBACK(src, .proc/register_to_holder), 5 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(register_to_holder)), 5 SECONDS)
|
||||
|
||||
// Proc: register_to_holder()
|
||||
// Parameters: None
|
||||
@@ -376,4 +376,3 @@ var/global/list/obj/item/device/communicator/all_communicators = list()
|
||||
return
|
||||
|
||||
icon_state = initial(icon_state)
|
||||
|
||||
|
||||
@@ -349,14 +349,14 @@
|
||||
video_source = comm.camera
|
||||
comm.visible_message("<span class='danger'>\icon[src][bicon(src)] New video connection from [comm].</span>")
|
||||
update_active_camera_screen()
|
||||
GLOB.moved_event.register(video_source, src, .proc/update_active_camera_screen)
|
||||
GLOB.moved_event.register(video_source, src, PROC_REF(update_active_camera_screen))
|
||||
update_icon()
|
||||
|
||||
// Proc: end_video()
|
||||
// Parameters: reason - the text reason to print for why it ended
|
||||
// Description: Ends the video call by clearing video_source
|
||||
/obj/item/device/communicator/proc/end_video(var/reason)
|
||||
GLOB.moved_event.unregister(video_source, src, .proc/update_active_camera_screen)
|
||||
GLOB.moved_event.unregister(video_source, src, PROC_REF(update_active_camera_screen))
|
||||
show_static()
|
||||
video_source = null
|
||||
|
||||
@@ -364,4 +364,3 @@
|
||||
|
||||
visible_message(.)
|
||||
update_icon()
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
if(!evaluate_ghost_join(user))
|
||||
return ..()
|
||||
|
||||
tgui_alert_async(usr, "Would you like to become [src]? It is bound to [revivedby].", "Become Mob", list("Yes","No"), CALLBACK(src, .proc/reply_ghost_join), 20 SECONDS)
|
||||
tgui_alert_async(usr, "Would you like to become [src]? It is bound to [revivedby].", "Become Mob", list("Yes","No"), CALLBACK(src, PROC_REF(reply_ghost_join)), 20 SECONDS)
|
||||
|
||||
/// A reply to an async alert request was received
|
||||
/mob/living/simple_mob/proc/reply_ghost_join(response)
|
||||
@@ -64,7 +64,7 @@
|
||||
/mob/living/simple_mob/proc/ghost_join(mob/observer/dead/D)
|
||||
log_and_message_admins("[key_name_admin(D)] joined [src] as a ghost [ADMIN_FLW(src)]")
|
||||
active_ghost_pods -= src
|
||||
|
||||
|
||||
// Move the ghost in
|
||||
if(D.mind)
|
||||
D.mind.active = TRUE
|
||||
@@ -72,7 +72,7 @@
|
||||
else
|
||||
src.ckey = D.ckey
|
||||
qdel(D)
|
||||
|
||||
|
||||
// Clean up the simplemob
|
||||
ghostjoin = FALSE
|
||||
ghostjoin_icon()
|
||||
@@ -91,14 +91,14 @@
|
||||
return FALSE
|
||||
|
||||
// At this point we can at least send them messages as to why they can't join, since they are a mob with a client
|
||||
if(!ghostjoin)
|
||||
if(!ghostjoin)
|
||||
to_chat(D, "<span class='notice'>Sorry, [src] is no longer ghost-joinable.</span>")
|
||||
return FALSE
|
||||
|
||||
if(ckey)
|
||||
to_chat(D, "<span class='notice'>Sorry, someone else has already inhabited [src].</span>")
|
||||
return FALSE
|
||||
|
||||
|
||||
if(capture_caught && !D.client.prefs.capture_crystal)
|
||||
to_chat(D, "<span class='notice'>Sorry, [src] is participating in capture mechanics, and your preferences do not allow for that.</span>")
|
||||
return FALSE
|
||||
@@ -128,7 +128,7 @@
|
||||
else
|
||||
. += "<span class='notice'>The screen indicates that this device can be used again in [cooldowntime] seconds, and that it has enough energy for [charges] uses.</span>"
|
||||
|
||||
/obj/item/device/denecrotizer/proc/check_target(mob/living/simple_mob/target, mob/living/user)
|
||||
/obj/item/device/denecrotizer/proc/check_target(mob/living/simple_mob/target, mob/living/user)
|
||||
if(!target.Adjacent(user))
|
||||
return FALSE
|
||||
if(user.a_intent != I_HELP) //be gentle
|
||||
@@ -150,10 +150,10 @@
|
||||
if(!advanced)
|
||||
to_chat(user, "<span class='notice'>[src] doesn't seem to work on that.</span>")
|
||||
return FALSE
|
||||
if(target.ai_holder.retaliate || target.ai_holder.hostile) // You can be friends with still living mobs if they are passive I GUESS
|
||||
if(target.ai_holder.retaliate || target.ai_holder.hostile) // You can be friends with still living mobs if they are passive I GUESS
|
||||
to_chat(user, "<span class='notice'>[src] doesn't seem to work on that.</span>")
|
||||
return FALSE
|
||||
if(!target.mind)
|
||||
if(!target.mind)
|
||||
user.visible_message("[user] gently presses [src] to [target]...", runemessage = "presses [src] to [target]")
|
||||
if(do_after(user, revive_time, exclusive = TASK_USER_EXCLUSIVE, target = target))
|
||||
target.faction = user.faction
|
||||
@@ -197,7 +197,7 @@
|
||||
icon_state = "[initial(icon_state)]-o"
|
||||
update_icon()
|
||||
return
|
||||
|
||||
|
||||
/obj/item/device/denecrotizer/proc/basic_rez(mob/living/simple_mob/target, mob/living/user) //so medical can have a way to bring back people's pets or whatever, does not change any settings about the mob or offer it to ghosts.
|
||||
user.visible_message("[user] presses [src] to [target]...", runemessage = "presses [src] to [target]")
|
||||
if(do_after(user, revive_time, exclusive = TASK_ALL_EXCLUSIVE, target = target))
|
||||
@@ -235,9 +235,9 @@
|
||||
I.invisibility = INVISIBILITY_OBSERVER
|
||||
I.plane = PLANE_GHOSTS
|
||||
I.appearance_flags = KEEP_APART|RESET_TRANSFORM
|
||||
|
||||
|
||||
cut_overlay(I)
|
||||
|
||||
|
||||
if(ghostjoin)
|
||||
add_overlay(I)
|
||||
|
||||
@@ -247,4 +247,4 @@
|
||||
icon_state = "m-denecrotizer"
|
||||
advanced = 0 //This one isn't as fancy
|
||||
cooldown = 5 MINUTES //not as long
|
||||
charges = 20 //in case spiders merc Ian
|
||||
charges = 20 //in case spiders merc Ian
|
||||
|
||||
@@ -45,8 +45,8 @@ var/list/GPS_list = list()
|
||||
|
||||
if(istype(loc, /mob))
|
||||
holder = loc
|
||||
GLOB.moved_event.register(holder, src, .proc/update_compass)
|
||||
GLOB.dir_set_event.register(holder, src, .proc/update_compass)
|
||||
GLOB.moved_event.register(holder, src, PROC_REF(update_compass))
|
||||
GLOB.dir_set_event.register(holder, src, PROC_REF(update_compass))
|
||||
|
||||
if(holder && tracking)
|
||||
if(!is_in_processing_list)
|
||||
|
||||
@@ -125,7 +125,7 @@ This device can be easily used to break ERP preferences due to the nature of tel
|
||||
Make sure you carefully examine someone's OOC prefs before teleporting them if you are going to use this device for ERP purposes.
|
||||
This device records all warnings given and teleport events for admin review in case of pref-breaking, so just don't do it.
|
||||
"},"OOC Warning")
|
||||
var/choice = show_radial_menu(user, radial_menu_anchor, radial_images, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE)
|
||||
var/choice = show_radial_menu(user, radial_menu_anchor, radial_images, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE)
|
||||
|
||||
if(!choice)
|
||||
return
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
/obj/item/device/uplink/Initialize(var/mapload)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/next_offer), offer_time) //It seems like only the /hidden type actually makes use of this...
|
||||
addtimer(CALLBACK(src, PROC_REF(next_offer)), offer_time) //It seems like only the /hidden type actually makes use of this...
|
||||
|
||||
/obj/item/device/uplink/get_item_cost(var/item_type, var/item_cost)
|
||||
return (discount_item && (item_type == discount_item)) ? max(1, round(item_cost*discount_amount)) : item_cost
|
||||
@@ -63,7 +63,7 @@
|
||||
discount_amount = pick(90;0.9, 80;0.8, 70;0.7, 60;0.6, 50;0.5, 40;0.4, 30;0.3, 20;0.2, 10;0.1)
|
||||
next_offer_time = world.time + offer_time
|
||||
SStgui.update_uis(src)
|
||||
addtimer(CALLBACK(src, .proc/next_offer), offer_time)
|
||||
addtimer(CALLBACK(src, PROC_REF(next_offer)), offer_time)
|
||||
|
||||
// Toggles the uplink on and off. Normally this will bypass the item's normal functions and go to the uplink menu, if activated.
|
||||
/obj/item/device/uplink/hidden/proc/toggle()
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
to_chat(user, "<span class='notice'>You offer battle to [target.name]!</span>")
|
||||
to_chat(target, "<span class='notice'><b>[user.name] wants to battle with [T.His] [name]!</b> <i>Attack them with a toy mech to initiate combat.</i></span>")
|
||||
wants_to_battle = TRUE
|
||||
addtimer(CALLBACK(src, .proc/withdraw_offer, user), 6 SECONDS)
|
||||
addtimer(CALLBACK(src, PROC_REF(withdraw_offer), user), 6 SECONDS)
|
||||
return
|
||||
|
||||
..()
|
||||
@@ -602,4 +602,4 @@
|
||||
#undef SPECIAL_ATTACK_DAMAGE
|
||||
#undef SPECIAL_ATTACK_UTILITY
|
||||
#undef SPECIAL_ATTACK_OTHER
|
||||
#undef MAX_BATTLE_LENGTH
|
||||
#undef MAX_BATTLE_LENGTH
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
playsound(user, 'sound/voice/shriek1.ogg', 10, 0)
|
||||
src.visible_message("<span class='danger'>Skreee!</span>")
|
||||
cooldown = 1
|
||||
addtimer(CALLBACK(src, .proc/cooldownreset), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
|
||||
return ..()
|
||||
|
||||
/obj/item/toy/plushie/vox/proc/cooldownreset()
|
||||
@@ -224,7 +224,7 @@
|
||||
playsound(user, 'sound/machines/ping.ogg', 10, 0)
|
||||
src.visible_message("<span class='danger'>Ping!</span>")
|
||||
cooldown = 1
|
||||
addtimer(CALLBACK(src, .proc/cooldownreset), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
|
||||
return ..()
|
||||
|
||||
/obj/item/toy/plushie/ipc/proc/cooldownreset()
|
||||
@@ -241,7 +241,7 @@
|
||||
playsound(user, 'sound/machines/ding.ogg', 10, 0)
|
||||
src.visible_message("<span class='danger'>Ding!</span>")
|
||||
cooldown = 1
|
||||
addtimer(CALLBACK(src, .proc/cooldownreset), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
|
||||
return ..()
|
||||
|
||||
/obj/item/toy/plushie/snakeplushie
|
||||
@@ -274,14 +274,14 @@
|
||||
atom_say(pick(responses))
|
||||
playsound(user, 'sound/effects/whistle.ogg', 10, 0)
|
||||
cooldown = 1
|
||||
addtimer(CALLBACK(src, .proc/cooldownreset), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
|
||||
return ..()
|
||||
|
||||
/obj/item/toy/plushie/marketable_pip/attack_self(mob/user as mob)
|
||||
if(!cooldown)
|
||||
playsound(user, 'sound/effects/whistle.ogg', 10, 0)
|
||||
cooldown = 1
|
||||
addtimer(CALLBACK(src, .proc/cooldownreset), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
|
||||
return ..()
|
||||
|
||||
/obj/item/toy/plushie/marketable_pip/proc/cooldownreset()
|
||||
@@ -299,7 +299,7 @@
|
||||
playsound(user, 'sound/voice/moth/scream_moth.ogg', 10, 0)
|
||||
src.visible_message("<span class='danger'>Aaaaaaa.</span>")
|
||||
cooldown = 1
|
||||
addtimer(CALLBACK(src, .proc/cooldownreset), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
|
||||
return ..()
|
||||
|
||||
/obj/item/toy/plushie/moth/proc/cooldownreset()
|
||||
@@ -344,7 +344,7 @@
|
||||
playsound(user, 'sound/weapons/slice.ogg', 10, 0)
|
||||
src.visible_message("<span class='danger'>Stab!</span>")
|
||||
cooldown = 1
|
||||
addtimer(CALLBACK(src, .proc/cooldownreset), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
|
||||
return ..()
|
||||
|
||||
/obj/item/toy/plushie/susblue
|
||||
@@ -470,7 +470,7 @@
|
||||
flick("[initial(icon_state)]2", src)
|
||||
user.visible_message("<span class='disarm'>[user] doesn't blind [M] with the toy flash!</span>")
|
||||
cooldown = 1
|
||||
addtimer(CALLBACK(src, .proc/cooldownreset), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
|
||||
return ..()
|
||||
|
||||
/obj/item/toy/flash/proc/cooldownreset()
|
||||
@@ -539,7 +539,7 @@
|
||||
user.visible_message("<span class='notice'>[user] asks the AI core to state laws.</span>")
|
||||
user.visible_message("<span class='notice'>[src] says \"[answer]\"</span>")
|
||||
cooldown = 1
|
||||
addtimer(CALLBACK(src, .proc/cooldownreset), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
|
||||
return ..()
|
||||
|
||||
/obj/item/toy/AI/proc/cooldownreset()
|
||||
@@ -819,7 +819,7 @@
|
||||
if(!cooldown)
|
||||
playsound(user, 'sound/weapons/chainsaw_startup.ogg', 10, 0)
|
||||
cooldown = 1
|
||||
addtimer(CALLBACK(src, .proc/cooldownreset), 50)
|
||||
addtimer(CALLBACK(src, PROC_REF(cooldownreset)), 50)
|
||||
return ..()
|
||||
|
||||
/obj/item/toy/chainsaw/proc/cooldownreset()
|
||||
|
||||
@@ -36,20 +36,20 @@
|
||||
|
||||
/obj/item/weapon/rcd/update_icon()
|
||||
var/nearest_ten = round((stored_matter/max_stored_matter)*10, 1)
|
||||
|
||||
|
||||
//Just to prevent updates every use
|
||||
if(ammostate == nearest_ten)
|
||||
return //No change
|
||||
ammostate = nearest_ten
|
||||
|
||||
|
||||
cut_overlays()
|
||||
|
||||
|
||||
//Main sprite update
|
||||
if(!nearest_ten)
|
||||
icon_state = "[initial(icon_state)]_empty"
|
||||
else
|
||||
icon_state = "[initial(icon_state)]"
|
||||
|
||||
|
||||
add_overlay("[initial(icon_state)]_charge[nearest_ten]")
|
||||
|
||||
/obj/item/weapon/rcd/proc/perform_effect(var/atom/A, var/time_taken)
|
||||
@@ -98,12 +98,12 @@
|
||||
if(user.incapacitated())
|
||||
world.log << "Two"
|
||||
return FALSE
|
||||
|
||||
|
||||
var/obj/item/rig_module/device/D = loc
|
||||
if(!istype(D) || !D?.holder?.wearer == user)
|
||||
world.log << "Three"
|
||||
return FALSE
|
||||
|
||||
|
||||
return TRUE
|
||||
|
||||
/obj/item/weapon/rcd/attack_self(mob/living/user)
|
||||
@@ -134,7 +134,7 @@
|
||||
"Change Window Type" = image(icon = 'icons/mob/radial.dmi', icon_state = "windowtype")
|
||||
)
|
||||
*/
|
||||
var/choice = show_radial_menu(user, user, choices, custom_check = CALLBACK(src, .proc/check_menu, user), tooltips = TRUE)
|
||||
var/choice = show_radial_menu(user, user, choices, custom_check = CALLBACK(src, PROC_REF(check_menu), user), tooltips = TRUE)
|
||||
if(!check_menu(user))
|
||||
return
|
||||
switch(choice)
|
||||
@@ -206,7 +206,7 @@
|
||||
status = rcd_status
|
||||
delay = rcd_delay
|
||||
if (status == RCD_DECONSTRUCT)
|
||||
addtimer(CALLBACK(src, /atom/.proc/update_icon), 11)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 11)
|
||||
delay -= 11
|
||||
icon_state = "rcd_end_reverse"
|
||||
else
|
||||
@@ -228,7 +228,7 @@
|
||||
qdel(src)
|
||||
else
|
||||
icon_state = "rcd_end"
|
||||
addtimer(CALLBACK(src, .proc/end), 15)
|
||||
addtimer(CALLBACK(src, PROC_REF(end)), 15)
|
||||
|
||||
/obj/effect/constructing_effect/proc/end()
|
||||
qdel(src)
|
||||
|
||||
@@ -219,7 +219,7 @@
|
||||
"Random" = radial_image_random
|
||||
)
|
||||
|
||||
var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE)
|
||||
var/choice = show_radial_menu(user, src, choices, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE)
|
||||
if(!check_menu(user))
|
||||
return
|
||||
switch(choice)
|
||||
|
||||
@@ -249,8 +249,8 @@
|
||||
|
||||
//Make it so the crystal knows if its mob references get deleted to make sure things get cleaned up
|
||||
/obj/item/capture_crystal/proc/knowyoursignals(mob/living/M, mob/living/U)
|
||||
RegisterSignal(M, COMSIG_PARENT_QDELETING, .proc/mob_was_deleted, TRUE)
|
||||
RegisterSignal(U, COMSIG_PARENT_QDELETING, .proc/owner_was_deleted, TRUE)
|
||||
RegisterSignal(M, COMSIG_PARENT_QDELETING, PROC_REF(mob_was_deleted), TRUE)
|
||||
RegisterSignal(U, COMSIG_PARENT_QDELETING, PROC_REF(owner_was_deleted), TRUE)
|
||||
|
||||
//The basic capture command does most of the registration work.
|
||||
/obj/item/capture_crystal/proc/capture(mob/living/M, mob/living/U)
|
||||
@@ -856,4 +856,4 @@
|
||||
|
||||
/mob/living
|
||||
var/capture_crystal = TRUE //If TRUE, the mob is capturable. Otherwise it isn't.
|
||||
var/capture_caught = FALSE //If TRUE, the mob has already been caught, and so cannot be caught again.
|
||||
var/capture_caught = FALSE //If TRUE, the mob has already been caught, and so cannot be caught again.
|
||||
|
||||
@@ -50,7 +50,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list(
|
||||
var/image/bible_image = image(icon = 'icons/obj/storage.dmi', icon_state = GLOB.biblestates[i])
|
||||
skins += list("[GLOB.biblenames[i]]" = bible_image)
|
||||
|
||||
var/choice = show_radial_menu(user, src, skins, custom_check = CALLBACK(src, .proc/check_menu, user), radius = 40, require_near = TRUE)
|
||||
var/choice = show_radial_menu(user, src, skins, custom_check = CALLBACK(src, PROC_REF(check_menu), user), radius = 40, require_near = TRUE)
|
||||
if(!choice)
|
||||
return FALSE
|
||||
var/bible_index = GLOB.biblenames.Find(choice)
|
||||
@@ -112,4 +112,4 @@ GLOBAL_LIST_INIT(bibleitemstates, list(
|
||||
/obj/item/weapon/storage/bible/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if (src.use_sound)
|
||||
playsound(src, src.use_sound, 50, 1, -5)
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -526,7 +526,7 @@
|
||||
animate(door_obj, transform = M, icon_state = door_state, layer = door_layer, time = world.tick_lag, flags = ANIMATION_END_NOW)
|
||||
else
|
||||
animate(transform = M, icon_state = door_state, layer = door_layer, time = world.tick_lag)
|
||||
addtimer(CALLBACK(src, .proc/end_door_animation,closing), closet_appearance.door_anim_time, TIMER_UNIQUE|TIMER_OVERRIDE)
|
||||
addtimer(CALLBACK(src, PROC_REF(end_door_animation), closing), closet_appearance.door_anim_time, TIMER_UNIQUE|TIMER_OVERRIDE)
|
||||
|
||||
/obj/structure/closet/proc/end_door_animation(closing = FALSE)
|
||||
is_animating_door = FALSE
|
||||
|
||||
@@ -73,13 +73,13 @@
|
||||
|
||||
/obj/structure/ghost_pod/automatic/Initialize()
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/trigger), delay_to_self_open)
|
||||
addtimer(CALLBACK(src, PROC_REF(trigger)), delay_to_self_open)
|
||||
|
||||
/obj/structure/ghost_pod/automatic/trigger()
|
||||
. = ..()
|
||||
if(. == FALSE) // If we failed to get a volunteer, try again later if allowed to.
|
||||
if(delay_to_try_again)
|
||||
addtimer(CALLBACK(src, .proc/trigger), delay_to_try_again)
|
||||
addtimer(CALLBACK(src, PROC_REF(trigger)), delay_to_try_again)
|
||||
|
||||
// This type is triggered by a ghost clicking on it, as opposed to a living player. A ghost query type isn't needed.
|
||||
/obj/structure/ghost_pod/ghost_activated
|
||||
|
||||
Reference in New Issue
Block a user