mirror of
https://github.com/KabKebab/GS13.git
synced 2026-06-03 13:15:43 +01:00
whoops, I missed some
This commit is contained in:
@@ -259,7 +259,7 @@ SUBSYSTEM_DEF(timer)
|
||||
if (!length(alltimers))
|
||||
return
|
||||
|
||||
sortTim(alltimers, .proc/cmp_timer)
|
||||
sortTim(alltimers, PROC_REF(cmp_timer))
|
||||
|
||||
var/datum/timedevent/head = alltimers[1]
|
||||
|
||||
|
||||
@@ -178,8 +178,8 @@
|
||||
to_chat(owner, "<span notice='warning'>[pick("You have a coughing fit!", "You can't stop coughing!")]</span>")
|
||||
owner.Stun(20)
|
||||
owner.emote("cough")
|
||||
addtimer(CALLBACK(owner, /mob/.proc/emote, "cough"), 6)
|
||||
addtimer(CALLBACK(owner, /mob/.proc/emote, "cough"), 12)
|
||||
addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob/, emote), "cough"), 6)
|
||||
addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob/, emote), "cough"), 12)
|
||||
owner.emote("cough")
|
||||
..()
|
||||
|
||||
@@ -263,4 +263,4 @@
|
||||
popleft(speak_dejavu) //Remove the oldest
|
||||
speak_dejavu += speech_args[SPEECH_MESSAGE]
|
||||
else
|
||||
speak_dejavu += speech_args[SPEECH_MESSAGE]
|
||||
speak_dejavu += speech_args[SPEECH_MESSAGE]
|
||||
|
||||
@@ -191,7 +191,7 @@
|
||||
to_chat(owner, "<span class='warning'>You feel sick...</span>")
|
||||
else
|
||||
to_chat(owner, "<span class='warning'>You feel really sick at the thought of being alone!</span>")
|
||||
addtimer(CALLBACK(owner, /mob/living/carbon.proc/vomit, high_stress), 50) //blood vomit if high stress
|
||||
addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob/living/carbon, vomit), high_stress), 50) //blood vomit if high stress
|
||||
if(2)
|
||||
if(!high_stress)
|
||||
to_chat(owner, "<span class='warning'>You can't stop shaking...</span>")
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
var/message = hearing_args[HEARING_RAW_MESSAGE]
|
||||
if(findtext(message, codeword))
|
||||
hearing_args[HEARING_RAW_MESSAGE] = replacetext(message, codeword, "<span class='warning'>[codeword]</span>")
|
||||
addtimer(CALLBACK(src, /datum/brain_trauma/severe/split_personality.proc/switch_personalities), 10)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/datum/brain_trauma/severe/split_personality, switch_personalities)), 10)
|
||||
|
||||
/datum/brain_trauma/severe/split_personality/brainwashing/handle_speech(datum/source, list/speech_args)
|
||||
if(findtext(speech_args[SPEECH_MESSAGE], codeword))
|
||||
|
||||
@@ -52,13 +52,13 @@
|
||||
var/atom/master = thing || parent
|
||||
master.add_overlay(pic, TRUE)
|
||||
if(isitem(master))
|
||||
addtimer(CALLBACK(master, /obj/item/.proc/update_slot_icon), 0, TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(master, TYPE_PROC_REF(/obj/item/, update_slot_icon)), 0, TIMER_UNIQUE)
|
||||
|
||||
/datum/component/decal/proc/remove(atom/thing)
|
||||
var/atom/master = thing || parent
|
||||
master.cut_overlay(pic, TRUE)
|
||||
if(isitem(master))
|
||||
addtimer(CALLBACK(master, /obj/item/.proc/update_slot_icon), 0, TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(master, TYPE_PROC_REF(/obj/item/, update_slot_icon)), 0, TIMER_UNIQUE)
|
||||
|
||||
/datum/component/decal/proc/rotate_react(datum/source, old_dir, new_dir)
|
||||
if(old_dir == new_dir)
|
||||
@@ -72,4 +72,4 @@
|
||||
qdel(src)
|
||||
|
||||
/datum/component/decal/proc/examine(datum/source, mob/user, list/examine_list)
|
||||
examine_list += description
|
||||
examine_list += description
|
||||
|
||||
@@ -181,7 +181,7 @@
|
||||
to_chat(user, "<span class='notice'>You'll need the keys in one of your hands to [drive_verb] [AM].</span>")
|
||||
|
||||
/datum/component/riding/proc/Unbuckle(atom/movable/M)
|
||||
addtimer(CALLBACK(parent, /atom/movable/.proc/unbuckle_mob, M), 0, TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(parent, TYPE_PROC_REF(/atom/movable/, unbuckle_mob), M), 0, TIMER_UNIQUE)
|
||||
|
||||
/datum/component/riding/proc/Process_Spacemove(direction)
|
||||
var/atom/movable/AM = parent
|
||||
@@ -362,4 +362,4 @@
|
||||
if(selfdeleting)
|
||||
if(rider in AM.buckled_mobs)
|
||||
AM.unbuckle_mob(rider)
|
||||
. = ..()
|
||||
. = ..()
|
||||
|
||||
@@ -68,9 +68,9 @@ BONUS
|
||||
to_chat(M, "<span notice='userdanger'>[pick("You have a coughing fit!", "You can't stop coughing!")]</span>")
|
||||
M.Stun(20)
|
||||
M.emote("cough")
|
||||
addtimer(CALLBACK(M, /mob/.proc/emote, "cough"), 6)
|
||||
addtimer(CALLBACK(M, /mob/.proc/emote, "cough"), 12)
|
||||
addtimer(CALLBACK(M, /mob/.proc/emote, "cough"), 18)
|
||||
addtimer(CALLBACK(M, TYPE_PROC_REF(/mob/, emote), "cough"), 6)
|
||||
addtimer(CALLBACK(M, TYPE_PROC_REF(/mob/, emote), "cough"), 12)
|
||||
addtimer(CALLBACK(M, TYPE_PROC_REF(/mob/, emote), "cough"), 18)
|
||||
if(infective && M.CanSpreadAirborneDisease())
|
||||
A.spread(1)
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
var/mob/living/carbon/human/H = owner
|
||||
if(iscatperson(H))
|
||||
H.dna.species.start_wagging_tail(H)
|
||||
addtimer(CALLBACK(H.dna.species, /datum/species.proc/stop_wagging_tail, H), 30)
|
||||
addtimer(CALLBACK(H.dna.species, TYPE_PROC_REF(/datum/species, stop_wagging_tail), H), 30)
|
||||
description = "<span class='nicegreen'>They want to play on the table!</span>\n"
|
||||
mood_change = 2
|
||||
|
||||
|
||||
@@ -708,8 +708,8 @@ datum/status_effect/pacify
|
||||
return
|
||||
var/mob/living/carbon/C = owner
|
||||
C.cure_trauma_type(/datum/brain_trauma/hypnosis, TRAUMA_RESILIENCE_SURGERY) //clear previous hypnosis
|
||||
addtimer(CALLBACK(C, /mob/living/carbon.proc/gain_trauma, /datum/brain_trauma/hypnosis, TRAUMA_RESILIENCE_SURGERY, hearing_args[HEARING_RAW_MESSAGE]), 10)
|
||||
addtimer(CALLBACK(C, /mob/living.proc/Stun, 60, TRUE, TRUE), 15) //Take some time to think about it
|
||||
addtimer(CALLBACK(C, TYPE_PROC_REF(/mob/living/carbon, gain_trauma), /datum/brain_trauma/hypnosis, TRAUMA_RESILIENCE_SURGERY, hearing_args[HEARING_RAW_MESSAGE]), 10)
|
||||
addtimer(CALLBACK(C, TYPE_PROC_REF(/mob/living, Stun), 60, TRUE, TRUE), 15) //Take some time to think about it
|
||||
qdel(src)
|
||||
|
||||
/datum/status_effect/dna_melt
|
||||
@@ -789,4 +789,4 @@ datum/status_effect/pacify
|
||||
if(LAZYLEN(targets) && I)
|
||||
to_chat(owner, "<span class='warning'>Your arm spasms!</span>")
|
||||
owner.log_message("threw [I] due to a Muscle Spasm", LOG_ATTACK)
|
||||
owner.throw_item(pick(targets))
|
||||
owner.throw_item(pick(targets))
|
||||
|
||||
@@ -31,13 +31,13 @@
|
||||
if(!A.shorted)
|
||||
A.shorted = TRUE
|
||||
A.update_icon()
|
||||
addtimer(CALLBACK(A, /obj/machinery/airalarm.proc/reset, wire), 1200)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/airalarm, reset), wire), 1200)
|
||||
if(WIRE_IDSCAN) // Toggle lock.
|
||||
A.locked = !A.locked
|
||||
if(WIRE_AI) // Disable AI control for a while.
|
||||
if(!A.aidisabled)
|
||||
A.aidisabled = TRUE
|
||||
addtimer(CALLBACK(A, /obj/machinery/airalarm.proc/reset, wire), 100)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/airalarm, reset), wire), 100)
|
||||
if(WIRE_PANIC) // Toggle panic siphon.
|
||||
if(!A.shorted)
|
||||
if(A.mode == 1) // AALARM_MODE_SCRUB
|
||||
@@ -71,4 +71,4 @@
|
||||
var/area/AA = get_area(A)
|
||||
if(AA.atmosalert(2, holder))
|
||||
A.post_alert(2)
|
||||
A.update_icon()
|
||||
A.update_icon()
|
||||
|
||||
@@ -29,14 +29,14 @@
|
||||
if(WIRE_POWER1, WIRE_POWER2) // Short for a long while.
|
||||
if(!A.shorted)
|
||||
A.shorted = TRUE
|
||||
addtimer(CALLBACK(A, /obj/machinery/power/apc.proc/reset, wire), 1200)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc, reset), wire), 1200)
|
||||
if(WIRE_IDSCAN) // Unlock for a little while.
|
||||
A.locked = FALSE
|
||||
addtimer(CALLBACK(A, /obj/machinery/power/apc.proc/reset, wire), 300)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc, reset), wire), 300)
|
||||
if(WIRE_AI) // Disable AI control for a very short time.
|
||||
if(!A.aidisabled)
|
||||
A.aidisabled = TRUE
|
||||
addtimer(CALLBACK(A, /obj/machinery/power/apc.proc/reset, wire), 10)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/power/apc, reset), wire), 10)
|
||||
|
||||
/datum/wires/apc/on_cut(index, mend)
|
||||
var/obj/machinery/power/apc/A = holder
|
||||
@@ -52,4 +52,4 @@
|
||||
if(mend)
|
||||
A.aidisabled = FALSE
|
||||
else
|
||||
A.aidisabled = TRUE
|
||||
A.aidisabled = TRUE
|
||||
|
||||
@@ -27,14 +27,14 @@
|
||||
switch(wire)
|
||||
if(WIRE_HACK)
|
||||
A.adjust_hacked(!A.hacked)
|
||||
addtimer(CALLBACK(A, /obj/machinery/autolathe.proc/reset, wire), 60)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/autolathe, reset), wire), 60)
|
||||
if(WIRE_SHOCK)
|
||||
A.shocked = !A.shocked
|
||||
A.shock(usr, 50)
|
||||
addtimer(CALLBACK(A, /obj/machinery/autolathe.proc/reset, wire), 60)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/autolathe, reset), wire), 60)
|
||||
if(WIRE_DISABLE)
|
||||
A.disabled = !A.disabled
|
||||
addtimer(CALLBACK(A, /obj/machinery/autolathe.proc/reset, wire), 60)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/autolathe, reset), wire), 60)
|
||||
|
||||
/datum/wires/autolathe/on_cut(wire, mend)
|
||||
var/obj/machinery/autolathe/A = holder
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
if(device)
|
||||
device.pulsed()
|
||||
|
||||
addtimer(CALLBACK(src, /atom/.proc/update_icon), 15)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/, update_icon)), 15)
|
||||
|
||||
/obj/machinery/button/power_change()
|
||||
..()
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
if(program)
|
||||
program.receive_user_command(href_list["command"])
|
||||
addtimer(CALLBACK(program, /datum/computer/file/embedded_program.proc/process), 5)
|
||||
addtimer(CALLBACK(program, TYPE_PROC_REF(/datum/computer/file/embedded_program, process)), 5)
|
||||
|
||||
usr.set_machine(src)
|
||||
addtimer(CALLBACK(src,PROC_REF(updateDialog)), 5)
|
||||
|
||||
@@ -350,7 +350,7 @@
|
||||
var/turf/T = get_turf(src)
|
||||
message_admins("[ADMIN_LOOKUPFLW(chassis.occupant)] fired a [src] in [ADMIN_VERBOSEJMP(T)]")
|
||||
log_game("[key_name(chassis.occupant)] fired a [src] in [AREACOORD(T)]")
|
||||
addtimer(CALLBACK(F, /obj/item/grenade/flashbang.proc/prime), det_time)
|
||||
addtimer(CALLBACK(F, TYPE_PROC_REF(/obj/item/grenade/flashbang, prime)), det_time)
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/clusterbang //Because I am a heartless bastard -Sieve //Heartless? for making the poor man's honkblast? - Kaze
|
||||
name = "\improper SOB-3 grenade launcher"
|
||||
|
||||
@@ -464,7 +464,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
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
to_chat(user, "<span class='notice'>The water feels warm and soothing as you touch it. The fountain immediately dries up shortly afterwards.</span>")
|
||||
user.reagents.add_reagent(/datum/reagent/medicine/omnizine/godblood,20)
|
||||
update_icon()
|
||||
addtimer(CALLBACK(src, /atom/.proc/update_icon), time_between_uses)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/, update_icon)), time_between_uses)
|
||||
|
||||
|
||||
/obj/structure/healingfountain/update_icon()
|
||||
|
||||
@@ -42,5 +42,5 @@
|
||||
var/mob/living/buckled_mob = m
|
||||
buckled_mob.electrocute_act(85, src, 1)
|
||||
to_chat(buckled_mob, "<span class='userdanger'>You feel a deep shock course through your body!</span>")
|
||||
addtimer(CALLBACK(buckled_mob, /mob/living.proc/electrocute_act, 85, src, 1), 1)
|
||||
addtimer(CALLBACK(buckled_mob, TYPE_PROC_REF(/mob/living, electrocute_act), 85, src, 1), 1)
|
||||
visible_message("<span class='danger'>The electric chair went off!</span>", "<span class='italics'>You hear a deep sharp shock!</span>")
|
||||
|
||||
@@ -423,7 +423,7 @@
|
||||
id.update_label()
|
||||
else
|
||||
to_chat(L, "<span class='userdanger'>Your owner is already dead! You will soon perish.</span>")
|
||||
addtimer(CALLBACK(L, /mob.proc/dust, 150)) //Give em a few seconds as a mercy.
|
||||
addtimer(CALLBACK(L, TYPE_PROC_REF(/mob, dust), 150)) //Give em a few seconds as a mercy.
|
||||
|
||||
/datum/outfit/demonic_friend
|
||||
name = "Demonic Friend"
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
for(var/mob/M in viewers(src, 7))
|
||||
var/mob/living/carbon/human/C = M
|
||||
if (ishuman(M))
|
||||
addtimer(CALLBACK(C, /mob/.proc/emote, "clap"), delay_offset * 0.3)
|
||||
addtimer(CALLBACK(C, TYPE_PROC_REF(/mob/, emote), "clap"), delay_offset * 0.3)
|
||||
delay_offset++
|
||||
else
|
||||
H.apply_damage(15 * blade_sharpness, BRUTE, head)
|
||||
@@ -256,4 +256,4 @@
|
||||
#undef GUILLOTINE_ACTIVATE_DELAY
|
||||
#undef GUILLOTINE_WRENCH_DELAY
|
||||
#undef GUILLOTINE_ACTION_INUSE
|
||||
#undef GUILLOTINE_ACTION_WRENCH
|
||||
#undef GUILLOTINE_ACTION_WRENCH
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
/obj/machinery/manned_turret/proc/volley(mob/user)
|
||||
target_turf = get_turf(target)
|
||||
for(var/i in 1 to number_of_shots)
|
||||
addtimer(CALLBACK(src, /obj/machinery/manned_turret/.proc/fire_helper, user), i*rate_of_fire)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/machinery/manned_turret/, fire_helper), user), i*rate_of_fire)
|
||||
|
||||
/obj/machinery/manned_turret/proc/fire_helper(mob/user)
|
||||
if(user.incapacitated() || !(user in buckled_mobs))
|
||||
|
||||
@@ -343,7 +343,7 @@
|
||||
lube |= SLIDE_ICE
|
||||
|
||||
if(lube&SLIDE)
|
||||
new /datum/forced_movement(C, get_ranged_target_turf(C, olddir, 4), 1, FALSE, CALLBACK(C, /mob/living/carbon/.proc/spin, 1, 1))
|
||||
new /datum/forced_movement(C, get_ranged_target_turf(C, olddir, 4), 1, FALSE, CALLBACK(C, TYPE_PROC_REF(/mob/living/carbon/, spin), 1, 1))
|
||||
else if(lube&SLIDE_ICE)
|
||||
new /datum/forced_movement(C, get_ranged_target_turf(C, olddir, 1), 1, FALSE) //spinning would be bad for ice, fucks up the next dir
|
||||
return 1
|
||||
|
||||
@@ -365,7 +365,7 @@
|
||||
|
||||
var/list/things = src_object.contents()
|
||||
var/datum/progressbar/progress = new(user, things.len, src)
|
||||
while (do_after(usr, 10, TRUE, src, FALSE, CALLBACK(src_object, /datum/component/storage.proc/mass_remove_from_storage, src, things, progress)))
|
||||
while (do_after(usr, 10, TRUE, src, FALSE, CALLBACK(src_object, TYPE_PROC_REF(/datum/component/storage, mass_remove_from_storage), src, things, progress)))
|
||||
stoplag(1)
|
||||
qdel(progress)
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ GLOBAL_VAR_INIT(highlander, FALSE)
|
||||
|
||||
message_admins("<span class='adminnotice'>[key_name_admin(usr)] used THERE CAN BE ONLY ONE!</span>")
|
||||
log_admin("[key_name(usr)] used THERE CAN BE ONLY ONE.")
|
||||
addtimer(CALLBACK(SSshuttle.emergency, /obj/docking_port/mobile/emergency.proc/request, null, 1), 50)
|
||||
addtimer(CALLBACK(SSshuttle.emergency, TYPE_PROC_REF(/obj/docking_port/mobile/emergency, request), null, 1), 50)
|
||||
|
||||
/client/proc/only_one_delayed()
|
||||
send_to_playing_players("<span class='userdanger'>Bagpipes begin to blare. You feel Scottish pride coming over you.</span>")
|
||||
@@ -28,4 +28,4 @@ GLOBAL_VAR_INIT(highlander, FALSE)
|
||||
addtimer(CALLBACK(src,PROC_REF(only_one)), 420)
|
||||
|
||||
/mob/living/carbon/human/proc/make_scottish()
|
||||
mind.add_antag_datum(/datum/antagonist/highlander)
|
||||
mind.add_antag_datum(/datum/antagonist/highlander)
|
||||
|
||||
@@ -1350,9 +1350,9 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
|
||||
var/obj/item/bodypart/limb = _limb
|
||||
if (limb.body_part == HEAD || limb.body_part == CHEST)
|
||||
continue
|
||||
addtimer(CALLBACK(limb, /obj/item/bodypart/.proc/dismember), timer)
|
||||
addtimer(CALLBACK(limb, TYPE_PROC_REF(/obj/item/bodypart/, dismember)), timer)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(playsound), carbon_target, 'sound/effects/cartoon_pop.ogg', 70), timer)
|
||||
addtimer(CALLBACK(carbon_target, /mob/living/.proc/spin, 4, 1), timer - 0.4 SECONDS)
|
||||
addtimer(CALLBACK(carbon_target, TYPE_PROC_REF(/mob/living/, spin), 4, 1), timer - 0.4 SECONDS)
|
||||
timer += 2 SECONDS
|
||||
if(ADMIN_PUNISHMENT_BREADIFY)
|
||||
#define BREADIFY_TIME (5 SECONDS)
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
if(reinf)
|
||||
fabrication_cost -= POWER_ROD
|
||||
for(var/obj/structure/grille/G in get_turf(src))
|
||||
INVOKE_ASYNC(fabricator, /obj/item/clockwork/replica_fabricator.proc/fabricate, G, user)
|
||||
INVOKE_ASYNC(fabricator, TYPE_PROC_REF(/obj/item/clockwork/replica_fabricator, fabricate), G, user)
|
||||
return list("operation_time" = fabrication_time, "new_obj_type" = windowtype, "power_cost" = fabrication_cost, "spawn_dir" = dir, "dir_in_new" = new_dir)
|
||||
|
||||
/obj/structure/window/reinforced/clockwork/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent)
|
||||
@@ -237,7 +237,7 @@
|
||||
fabricator.repairing = src
|
||||
while(fabricator && user && src)
|
||||
if(!do_after(user, repair_values["healing_for_cycle"] * fabricator.speed_multiplier, target = src, \
|
||||
extra_checks = CALLBACK(fabricator, /obj/item/clockwork/replica_fabricator.proc/fabricator_repair_checks, repair_values, src, user, TRUE)))
|
||||
extra_checks = CALLBACK(fabricator, TYPE_PROC_REF(/obj/item/clockwork/replica_fabricator, fabricator_repair_checks), repair_values, src, user, TRUE)))
|
||||
break
|
||||
obj_integrity = CLAMP(obj_integrity + repair_values["healing_for_cycle"], 0, max_integrity)
|
||||
adjust_clockwork_power(-repair_values["power_required"])
|
||||
@@ -259,7 +259,7 @@
|
||||
fabricator.repairing = src
|
||||
while(fabricator && user && src)
|
||||
if(!do_after(user, repair_values["healing_for_cycle"] * fabricator.speed_multiplier, target = src, \
|
||||
extra_checks = CALLBACK(fabricator, /obj/item/clockwork/replica_fabricator.proc/fabricator_repair_checks, repair_values, src, user, TRUE)))
|
||||
extra_checks = CALLBACK(fabricator, TYPE_PROC_REF(/obj/item/clockwork/replica_fabricator, fabricator_repair_checks), repair_values, src, user, TRUE)))
|
||||
break
|
||||
fabricator_heal_tick(repair_values["healing_for_cycle"])
|
||||
adjust_clockwork_power(-repair_values["power_required"])
|
||||
@@ -323,7 +323,7 @@
|
||||
for(var/obj/item/clockwork/alloy_shards/S in get_turf(src)) //convert all other shards in the turf if we can
|
||||
if(S == src)
|
||||
continue //we want the shards to be fabricated after the main shard, thus this delay
|
||||
addtimer(CALLBACK(fabricator, /obj/item/clockwork/replica_fabricator.proc/fabricate, S, user, TRUE), 0)
|
||||
addtimer(CALLBACK(fabricator, TYPE_PROC_REF(/obj/item/clockwork/replica_fabricator, fabricate), S, user, TRUE), 0)
|
||||
return list("operation_time" = 0, "new_obj_type" = null, "power_cost" = power_amount, "spawn_dir" = SOUTH)
|
||||
|
||||
/obj/item/clockwork/alloy_shards/medium/gear_bit/large/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent, power_amount)
|
||||
|
||||
@@ -44,6 +44,6 @@
|
||||
|
||||
/datum/action/innate/call_weapon/proc/weapon_reset(cooldown_time)
|
||||
cooldown = world.time + cooldown_time
|
||||
addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), cooldown_time)
|
||||
addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), cooldown_time)
|
||||
owner.update_action_buttons_icon()
|
||||
QDEL_NULL(weapon)
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
user.emote("scream")
|
||||
user.apply_damage(30, BRUTE, BODY_ZONE_HEAD)
|
||||
user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 30)
|
||||
addtimer(CALLBACK(user, /mob/living.proc/dropItemToGround, src, TRUE), 1) //equipped happens before putting stuff on(but not before picking items up), 1). thus, we need to wait for it to be on before forcing it off.
|
||||
addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living, dropItemToGround), src, TRUE), 1) //equipped happens before putting stuff on(but not before picking items up), 1). thus, we need to wait for it to be on before forcing it off.
|
||||
|
||||
/obj/item/clothing/head/helmet/clockwork/mob_can_equip(mob/M, mob/equipper, slot, disable_warning = 0)
|
||||
if(equipper && !is_servant_of_ratvar(equipper))
|
||||
@@ -118,7 +118,7 @@
|
||||
user.apply_damage(15, BURN, BODY_ZONE_CHEST)
|
||||
user.adjust_fire_stacks(2)
|
||||
user.IgniteMob()
|
||||
addtimer(CALLBACK(user, /mob/living.proc/dropItemToGround, src, TRUE), 1)
|
||||
addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living, dropItemToGround), src, TRUE), 1)
|
||||
|
||||
/obj/item/clothing/gloves/clockwork
|
||||
name = "clockwork gauntlets"
|
||||
@@ -178,7 +178,7 @@
|
||||
user.emote("scream")
|
||||
user.apply_damage(7, BRUTE, BODY_ZONE_L_ARM)
|
||||
user.apply_damage(7, BRUTE, BODY_ZONE_R_ARM)
|
||||
addtimer(CALLBACK(user, /mob/living.proc/dropItemToGround, src, TRUE), 1)
|
||||
addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living, dropItemToGround), src, TRUE), 1)
|
||||
|
||||
/obj/item/clothing/shoes/clockwork
|
||||
name = "clockwork treads"
|
||||
@@ -228,4 +228,4 @@
|
||||
user.emote("scream")
|
||||
user.apply_damage(7, BURN, BODY_ZONE_L_LEG)
|
||||
user.apply_damage(7, BURN, BODY_ZONE_R_LEG)
|
||||
addtimer(CALLBACK(user, /mob/living.proc/dropItemToGround, src, TRUE), 1)
|
||||
addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living, dropItemToGround), src, TRUE), 1)
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
continue
|
||||
V.recharging = TRUE //To prevent exploiting multiple visors to bypass the cooldown
|
||||
V.update_status()
|
||||
addtimer(CALLBACK(V, /obj/item/clothing/glasses/judicial_visor.proc/recharge_visor, ranged_ability_user), (GLOB.ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown) * 2)
|
||||
addtimer(CALLBACK(V, TYPE_PROC_REF(/obj/item/clothing/glasses/judicial_visor, recharge_visor), ranged_ability_user), (GLOB.ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown) * 2)
|
||||
clockwork_say(ranged_ability_user, text2ratvar("Kneel, heathens!"))
|
||||
ranged_ability_user.visible_message("<span class='warning'>[ranged_ability_user]'s judicial visor fires a stream of energy at [target], creating a strange mark!</span>", "<span class='heavy_brass'>You direct [visor]'s power to [target]. You must wait for some time before doing this again.</span>")
|
||||
var/turf/targetturf = get_turf(target)
|
||||
@@ -139,7 +139,7 @@
|
||||
log_combat(ranged_ability_user, targetturf, "created a judicial marker")
|
||||
ranged_ability_user.update_action_buttons_icon()
|
||||
ranged_ability_user.update_inv_glasses()
|
||||
addtimer(CALLBACK(visor, /obj/item/clothing/glasses/judicial_visor.proc/recharge_visor, ranged_ability_user), GLOB.ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown)//Cooldown is reduced by 10x if Ratvar is up
|
||||
addtimer(CALLBACK(visor, TYPE_PROC_REF(/obj/item/clothing/glasses/judicial_visor, recharge_visor), ranged_ability_user), GLOB.ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown)//Cooldown is reduced by 10x if Ratvar is up
|
||||
remove_ranged_ability()
|
||||
|
||||
return TRUE
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
playsound(owner, 'sound/magic/clockwork/fellowship_armory.ogg', 15 * do_message, TRUE) //get sound loudness based on how much we equipped
|
||||
cooldown = CLOCKWORK_ARMOR_COOLDOWN + world.time
|
||||
owner.update_action_buttons_icon()
|
||||
addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), CLOCKWORK_ARMOR_COOLDOWN)
|
||||
addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), CLOCKWORK_ARMOR_COOLDOWN)
|
||||
return TRUE
|
||||
|
||||
/datum/action/innate/clockwork_armaments/proc/remove_item_if_better(obj/item/I, mob/user)
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@
|
||||
sound_to_playing_players('sound/effects/ratvar_reveal.ogg')
|
||||
var/mutable_appearance/alert_overlay = mutable_appearance('icons/effects/clockwork_effects.dmi', "ratvar_alert")
|
||||
notify_ghosts("The Justiciar's light calls to you! Reach out to Ratvar in [get_area_name(src)] to be granted a shell to spread his glory!", null, source = src, alert_overlay = alert_overlay)
|
||||
INVOKE_ASYNC(SSshuttle.emergency, /obj/docking_port/mobile/emergency.proc/request, null, 10, null, FALSE, 0)
|
||||
INVOKE_ASYNC(SSshuttle.emergency, TYPE_PROC_REF(/obj/docking_port/mobile/emergency, request), null, 10, null, FALSE, 0)
|
||||
|
||||
/obj/structure/destructible/clockwork/massive/ratvar/Destroy()
|
||||
GLOB.ratvar_awakens--
|
||||
|
||||
@@ -264,7 +264,7 @@
|
||||
SEND_SOUND(ranged_ability_user, sound('sound/effects/ghost.ogg',0,1,50))
|
||||
var/image/C = image('icons/effects/cult_effects.dmi',H,"bloodsparkles", ABOVE_MOB_LAYER)
|
||||
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/cult, "cult_apoc", C, FALSE)
|
||||
addtimer(CALLBACK(H,/atom/.proc/remove_alt_appearance,"cult_apoc",TRUE), 2400, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(H, TYPE_PROC_REF(/atom/, remove_alt_appearance),"cult_apoc",TRUE), 2400, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
to_chat(ranged_ability_user,"<span class='cult'><b>[H] has been cursed with living nightmares!</b></span>")
|
||||
attached_action.charges--
|
||||
attached_action.desc = attached_action.base_desc
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
S.release_shades(owner)
|
||||
B.current.setDir(SOUTH)
|
||||
new /obj/effect/temp_visual/cult/blood(final)
|
||||
addtimer(CALLBACK(B.current, /mob/.proc/reckon, final), 10)
|
||||
addtimer(CALLBACK(B.current, TYPE_PROC_REF(/mob/, reckon), final), 10)
|
||||
else
|
||||
return
|
||||
antag.cult_team.reckoning_complete = TRUE
|
||||
@@ -278,7 +278,7 @@
|
||||
C.cult_team.blood_target = target
|
||||
var/area/A = get_area(target)
|
||||
attached_action.cooldown = world.time + attached_action.base_cooldown
|
||||
addtimer(CALLBACK(attached_action.owner, /mob.proc/update_action_buttons_icon), attached_action.base_cooldown)
|
||||
addtimer(CALLBACK(attached_action.owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), attached_action.base_cooldown)
|
||||
C.cult_team.blood_target_image = image('icons/effects/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER)
|
||||
C.cult_team.blood_target_image.appearance_flags = RESET_COLOR
|
||||
C.cult_team.blood_target_image.pixel_x = -target.pixel_x
|
||||
@@ -360,7 +360,7 @@
|
||||
C.cult_team.blood_target = target
|
||||
var/area/A = get_area(target)
|
||||
cooldown = world.time + base_cooldown
|
||||
addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), base_cooldown)
|
||||
addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), base_cooldown)
|
||||
C.cult_team.blood_target_image = image('icons/effects/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER)
|
||||
C.cult_team.blood_target_image.appearance_flags = RESET_COLOR
|
||||
C.cult_team.blood_target_image.pixel_x = -target.pixel_x
|
||||
@@ -468,4 +468,4 @@
|
||||
attached_action.cooldown = world.time + attached_action.base_cooldown
|
||||
remove_ranged_ability("<span class='cult'>A pulse of blood magic surges through you as you shift [attached_action.throwee] through time and space.</span>")
|
||||
caller.update_action_buttons_icon()
|
||||
addtimer(CALLBACK(caller, /mob.proc/update_action_buttons_icon), attached_action.base_cooldown)
|
||||
addtimer(CALLBACK(caller, TYPE_PROC_REF(/mob, update_action_buttons_icon)), attached_action.base_cooldown)
|
||||
|
||||
@@ -925,7 +925,7 @@
|
||||
playsound(L, 'sound/hallucinations/wail.ogg', 50, 1)
|
||||
L.emote("scream")
|
||||
var/datum/beam/current_beam = new(user,temp_target,time=7,beam_icon_state="blood_beam",btype=/obj/effect/ebeam/blood)
|
||||
INVOKE_ASYNC(current_beam, /datum/beam.proc/Start)
|
||||
INVOKE_ASYNC(current_beam, TYPE_PROC_REF(/datum/beam, Start))
|
||||
|
||||
|
||||
/obj/effect/ebeam/blood
|
||||
@@ -966,7 +966,7 @@
|
||||
playsound(src, 'sound/weapons/parry.ogg', 100, 1)
|
||||
if(illusions > 0)
|
||||
illusions--
|
||||
addtimer(CALLBACK(src, /obj/item/shield/mirror.proc/readd), 450)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/shield/mirror, readd)), 450)
|
||||
if(prob(60))
|
||||
var/mob/living/simple_animal/hostile/illusion/M = new(owner.loc)
|
||||
M.faction = list("cult")
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
cooldown = base_cooldown + world.time
|
||||
owner.update_action_buttons_icon()
|
||||
addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), base_cooldown)
|
||||
addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), base_cooldown)
|
||||
var/list/health
|
||||
if(damage_interrupt && isliving(owner))
|
||||
var/mob/living/L = owner
|
||||
@@ -66,7 +66,7 @@
|
||||
if(istype(T, /turf/open/floor/engine/cult))
|
||||
scribe_mod *= 0.5
|
||||
playsound(T, 'sound/magic/enter_blood.ogg', 100, FALSE)
|
||||
if(do_after(owner, scribe_mod, target = owner, extra_checks = CALLBACK(owner, /mob.proc/break_do_after_checks, health, action_interrupt)))
|
||||
if(do_after(owner, scribe_mod, target = owner, extra_checks = CALLBACK(owner, TYPE_PROC_REF(/mob, break_do_after_checks), health, action_interrupt)))
|
||||
var/obj/effect/rune/new_rune = new rune_type(owner.loc)
|
||||
new_rune.keyword = chosen_keyword
|
||||
else
|
||||
@@ -115,4 +115,4 @@
|
||||
rune_word_type = /obj/effect/temp_visual/cult/rune_spawn/rune1
|
||||
rune_innerring_type = /obj/effect/temp_visual/cult/rune_spawn/rune1/inner
|
||||
rune_center_type = /obj/effect/temp_visual/cult/rune_spawn/rune1/center
|
||||
rune_color = RUNE_COLOR_MEDIUMRED
|
||||
rune_color = RUNE_COLOR_MEDIUMRED
|
||||
|
||||
@@ -995,7 +995,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
var/image/A = image('icons/mob/mob.dmi',M,"cultist", ABOVE_MOB_LAYER)
|
||||
A.override = 1
|
||||
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/noncult, "human_apoc", A, FALSE)
|
||||
addtimer(CALLBACK(M,/atom/.proc/remove_alt_appearance,"human_apoc",TRUE), duration)
|
||||
addtimer(CALLBACK(M, TYPE_PROC_REF(/atom/, remove_alt_appearance),"human_apoc",TRUE), duration)
|
||||
images += A
|
||||
SEND_SOUND(M, pick(sound('sound/ambience/antag/bloodcult.ogg'),sound('sound/spookoween/ghost_whisper.ogg'),sound('sound/spookoween/ghosty_wind.ogg')))
|
||||
else
|
||||
@@ -1003,13 +1003,13 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
var/image/B = image('icons/mob/mob.dmi',M,construct, ABOVE_MOB_LAYER)
|
||||
B.override = 1
|
||||
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/noncult, "mob_apoc", B, FALSE)
|
||||
addtimer(CALLBACK(M,/atom/.proc/remove_alt_appearance,"mob_apoc",TRUE), duration)
|
||||
addtimer(CALLBACK(M, TYPE_PROC_REF(/atom/, remove_alt_appearance),"mob_apoc",TRUE), duration)
|
||||
images += B
|
||||
if(!iscultist(M))
|
||||
if(M.client)
|
||||
var/image/C = image('icons/effects/cult_effects.dmi',M,"bloodsparkles", ABOVE_MOB_LAYER)
|
||||
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/cult, "cult_apoc", C, FALSE)
|
||||
addtimer(CALLBACK(M,/atom/.proc/remove_alt_appearance,"cult_apoc",TRUE), duration)
|
||||
addtimer(CALLBACK(M, TYPE_PROC_REF(/atom/, remove_alt_appearance),"cult_apoc",TRUE), duration)
|
||||
images += C
|
||||
else
|
||||
to_chat(M, "<span class='cultlarge'>An Apocalypse Rune was invoked in the [place.name], it is no longer available as a summoning site!</span>")
|
||||
|
||||
@@ -426,8 +426,8 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
|
||||
for(var/obj/machinery/door/D in GLOB.airlocks)
|
||||
if(!is_station_level(D.z))
|
||||
continue
|
||||
INVOKE_ASYNC(D, /obj/machinery/door.proc/hostile_lockdown, owner)
|
||||
addtimer(CALLBACK(D, /obj/machinery/door.proc/disable_lockdown), 900)
|
||||
INVOKE_ASYNC(D, TYPE_PROC_REF(/obj/machinery/door, hostile_lockdown), owner)
|
||||
addtimer(CALLBACK(D, TYPE_PROC_REF(/obj/machinery/door, disable_lockdown)), 900)
|
||||
|
||||
var/obj/machinery/computer/communications/C = locate() in GLOB.machines
|
||||
if(C)
|
||||
@@ -584,7 +584,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
|
||||
ranged_ability_user.playsound_local(ranged_ability_user, "sparks", 50, 0)
|
||||
attached_action.adjust_uses(-1)
|
||||
target.audible_message("<span class='userdanger'>You hear a loud electrical buzzing sound coming from [target]!</span>")
|
||||
addtimer(CALLBACK(attached_action, /datum/action/innate/ai/ranged/overload_machine.proc/detonate_machine, target), 50) //kaboom!
|
||||
addtimer(CALLBACK(attached_action, TYPE_PROC_REF(/datum/action/innate/ai/ranged/overload_machine, detonate_machine), target), 50) //kaboom!
|
||||
remove_ranged_ability("<span class='danger'>Overcharging machine...</span>")
|
||||
return TRUE
|
||||
|
||||
@@ -631,7 +631,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
|
||||
ranged_ability_user.playsound_local(ranged_ability_user, 'sound/misc/interference.ogg', 50, 0)
|
||||
attached_action.adjust_uses(-1)
|
||||
target.audible_message("<span class='userdanger'>You hear a loud electrical buzzing sound coming from [target]!</span>")
|
||||
addtimer(CALLBACK(attached_action, /datum/action/innate/ai/ranged/override_machine.proc/animate_machine, target), 50) //kabeep!
|
||||
addtimer(CALLBACK(attached_action, TYPE_PROC_REF(/datum/action/innate/ai/ranged/override_machine, animate_machine), target), 50) //kabeep!
|
||||
remove_ranged_ability("<span class='danger'>Sending override signal...</span>")
|
||||
return TRUE
|
||||
|
||||
@@ -759,7 +759,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
|
||||
for(var/obj/machinery/light/L in GLOB.machines)
|
||||
if(is_station_level(L.z))
|
||||
L.no_emergency = TRUE
|
||||
INVOKE_ASYNC(L, /obj/machinery/light/.proc/update, FALSE)
|
||||
INVOKE_ASYNC(L, TYPE_PROC_REF(/obj/machinery/light/, update), FALSE)
|
||||
CHECK_TICK
|
||||
to_chat(owner, "<span class='notice'>Emergency light connections severed.</span>")
|
||||
owner.playsound_local(owner, 'sound/effects/light_flicker.ogg', 50, FALSE)
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
insaneinthemembrane.sanity = 0
|
||||
for(var/lore in typesof(/datum/brain_trauma/severe))
|
||||
C.gain_trauma(lore)
|
||||
addtimer(CALLBACK(src, /obj/singularity/wizard.proc/deranged, C), 100)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/singularity/wizard, deranged), C), 100)
|
||||
|
||||
/obj/singularity/wizard/proc/deranged(mob/living/carbon/C)
|
||||
if(!C || C.stat == DEAD)
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
if(flash)
|
||||
add_overlay(flashing_overlay)
|
||||
attached_overlays += flashing_overlay
|
||||
addtimer(CALLBACK(src, /atom/.proc/update_icon), 5)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/, update_icon)), 5)
|
||||
if(holder)
|
||||
holder.update_icon()
|
||||
|
||||
@@ -306,7 +306,7 @@
|
||||
else if(flash)
|
||||
icon_state = "flashshield_flash"
|
||||
item_state = "flashshield_flash"
|
||||
addtimer(CALLBACK(src, /atom/.proc/update_icon), 5)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/, update_icon)), 5)
|
||||
|
||||
if(holder)
|
||||
holder.update_icon()
|
||||
|
||||
@@ -337,10 +337,10 @@ GLOBAL_LIST_INIT(hallucination_list, list(
|
||||
for(var/i in 1 to rand(5, 10))
|
||||
target.playsound_local(source, 'sound/weapons/laser.ogg', 25, 1)
|
||||
if(prob(50))
|
||||
addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, 'sound/weapons/sear.ogg', 25, 1), rand(5,10))
|
||||
addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/, playsound_local), source, 'sound/weapons/sear.ogg', 25, 1), rand(5,10))
|
||||
hits++
|
||||
else
|
||||
addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, 'sound/weapons/effects/searwall.ogg', 25, 1), rand(5,10))
|
||||
addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/, playsound_local), source, 'sound/weapons/effects/searwall.ogg', 25, 1), rand(5,10))
|
||||
sleep(rand(CLICK_CD_RANGE, CLICK_CD_RANGE + 6))
|
||||
if(hits >= 4 && prob(70))
|
||||
target.playsound_local(source, get_sfx("bodyfall"), 25, 1)
|
||||
@@ -350,10 +350,10 @@ GLOBAL_LIST_INIT(hallucination_list, list(
|
||||
for(var/i in 1 to rand(5, 10))
|
||||
target.playsound_local(source, 'sound/weapons/taser2.ogg', 25, 1)
|
||||
if(prob(50))
|
||||
addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, 'sound/weapons/tap.ogg', 25, 1), rand(5,10))
|
||||
addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/, playsound_local), source, 'sound/weapons/tap.ogg', 25, 1), rand(5,10))
|
||||
hits++
|
||||
else
|
||||
addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, 'sound/weapons/effects/searwall.ogg', 25, 1), rand(5,10))
|
||||
addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/, playsound_local), source, 'sound/weapons/effects/searwall.ogg', 25, 1), rand(5,10))
|
||||
sleep(rand(CLICK_CD_RANGE, CLICK_CD_RANGE + 6))
|
||||
if(hits >= 3 && prob(70))
|
||||
target.playsound_local(source, get_sfx("bodyfall"), 25, 1)
|
||||
@@ -371,10 +371,10 @@ GLOBAL_LIST_INIT(hallucination_list, list(
|
||||
for(var/i in 1 to rand(3, 6))
|
||||
target.playsound_local(source, get_sfx("gunshot"), 25)
|
||||
if(prob(60))
|
||||
addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, 'sound/weapons/pierce.ogg', 25, 1), rand(5,10))
|
||||
addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/, playsound_local), source, 'sound/weapons/pierce.ogg', 25, 1), rand(5,10))
|
||||
hits++
|
||||
else
|
||||
addtimer(CALLBACK(target, /mob/.proc/playsound_local, source, "ricochet", 25, 1), rand(5,10))
|
||||
addtimer(CALLBACK(target, TYPE_PROC_REF(/mob/, playsound_local), source, "ricochet", 25, 1), rand(5,10))
|
||||
sleep(rand(CLICK_CD_RANGE, CLICK_CD_RANGE + 6))
|
||||
if(hits >= 2 && prob(80))
|
||||
target.playsound_local(source, get_sfx("bodyfall"), 25, 1)
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
if(iscyborg(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
|
||||
var/mob/living/silicon/robot/bro = user
|
||||
bro.cell.use(30)
|
||||
addtimer(CALLBACK(reagents, /datum/reagents.proc/add_reagent, refill, trans), 600)
|
||||
addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents, add_reagent), refill, trans), 600)
|
||||
|
||||
else if(target.is_drainable()) //A dispenser. Transfer FROM it TO us.
|
||||
if (!is_refillable())
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
|
||||
/turf/open/floor/holofloor/carpet/Initialize()
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, /atom/.proc/update_icon), 1)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/, update_icon)), 1)
|
||||
|
||||
/turf/open/floor/holofloor/carpet/update_icon()
|
||||
. = ..()
|
||||
|
||||
@@ -491,7 +491,7 @@
|
||||
to_chat(user, "<span class='notice'>You swallow a gulp of [src].</span>")
|
||||
var/fraction = min(5/reagents.total_volume, 1)
|
||||
reagents.reaction(M, INGEST, fraction)
|
||||
addtimer(CALLBACK(reagents, /datum/reagents.proc/trans_to, M, 5), 5)
|
||||
addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents, trans_to), M, 5), 5)
|
||||
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/coconut/afterattack(obj/target, mob/user, proximity)
|
||||
|
||||
@@ -191,7 +191,7 @@
|
||||
dt = CLAMP(detonation_time.data, 1, 12)*10
|
||||
else
|
||||
dt = 15
|
||||
addtimer(CALLBACK(attached_grenade, /obj/item/grenade.proc/prime), dt)
|
||||
addtimer(CALLBACK(attached_grenade, TYPE_PROC_REF(/obj/item/grenade, prime)), dt)
|
||||
var/atom/holder = loc
|
||||
message_admins("activated a grenade assembly. Last touches: Assembly: [holder.fingerprintslast] Circuit: [fingerprintslast] Grenade: [attached_grenade.fingerprintslast]")
|
||||
|
||||
|
||||
@@ -96,4 +96,4 @@
|
||||
L.Knockdown(60)
|
||||
if(ishuman(L))
|
||||
shake_camera(L, 20, 1)
|
||||
addtimer(CALLBACK(L, /mob/living/carbon.proc/vomit), 20)
|
||||
addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living/carbon, vomit)), 20)
|
||||
|
||||
@@ -1014,7 +1014,7 @@
|
||||
/obj/item/mayhem/attack_self(mob/user)
|
||||
for(var/mob/living/carbon/human/H in range(7,user))
|
||||
var/obj/effect/mine/pickup/bloodbath/B = new(H)
|
||||
INVOKE_ASYNC(B, /obj/effect/mine/pickup/bloodbath/.proc/mineEffect, H)
|
||||
INVOKE_ASYNC(B, TYPE_PROC_REF(/obj/effect/mine/pickup/bloodbath/, mineEffect), H)
|
||||
to_chat(user, "<span class='notice'>You shatter the bottle!</span>")
|
||||
playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, 1)
|
||||
message_admins("<span class='adminnotice'>[ADMIN_LOOKUPFLW(user)] has activated a bottle of mayhem!</span>")
|
||||
@@ -1066,7 +1066,7 @@
|
||||
to_chat(L, "<span class='userdanger'>You've been marked for death! Don't let the demons get you! KILL THEM ALL!</span>")
|
||||
L.add_atom_colour("#FF0000", ADMIN_COLOUR_PRIORITY)
|
||||
var/obj/effect/mine/pickup/bloodbath/B = new(L)
|
||||
INVOKE_ASYNC(B, /obj/effect/mine/pickup/bloodbath/.proc/mineEffect, L)
|
||||
INVOKE_ASYNC(B, TYPE_PROC_REF(/obj/effect/mine/pickup/bloodbath/, mineEffect), L)
|
||||
|
||||
for(var/mob/living/carbon/human/H in GLOB.player_list)
|
||||
if(H == L)
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
if(SSticker.HasRoundStarted())
|
||||
SSblackbox.ReportDeath(src)
|
||||
if(is_devil(src))
|
||||
INVOKE_ASYNC(is_devil(src), /datum/antagonist/devil.proc/beginResurrectionCheck, src)
|
||||
INVOKE_ASYNC(is_devil(src), TYPE_PROC_REF(/datum/antagonist/devil, beginResurrectionCheck), src)
|
||||
|
||||
//watching someone die is traumatic
|
||||
for(var/mob/living/carbon/human/C in oview(5, src))
|
||||
|
||||
@@ -1010,7 +1010,7 @@
|
||||
badtime.appearance_flags = RESET_COLOR
|
||||
H.overlays_standing[FIRE_LAYER+0.5] = badtime
|
||||
H.apply_overlay(FIRE_LAYER+0.5)
|
||||
addtimer(CALLBACK(H, /mob/living/carbon/.proc/remove_overlay, FIRE_LAYER+0.5), 25)
|
||||
addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon/, remove_overlay), FIRE_LAYER+0.5), 25)
|
||||
else
|
||||
playsound(get_turf(owner),'sound/magic/RATTLEMEBONES.ogg', 100)
|
||||
for(var/mob/living/L in orange(7, get_turf(owner)))
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
weapon.attack(C, src)
|
||||
playsound(src, 'sound/weapons/blade1.ogg', 50, TRUE, -1)
|
||||
if(C.stat == DEAD)
|
||||
addtimer(CALLBACK(src, /atom/.proc/update_icon), 2)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/, update_icon)), 2)
|
||||
back_to_idle()
|
||||
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
/mob/living/simple_animal/bot/honkbot/proc/sensor_blink()
|
||||
icon_state = "honkbot-c"
|
||||
addtimer(CALLBACK(src, /atom/.proc/update_icon), 5, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/, update_icon)), 5, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
|
||||
//honkbots react with sounds.
|
||||
/mob/living/simple_animal/bot/honkbot/proc/react_ping()
|
||||
@@ -177,7 +177,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
|
||||
playsound(src, "honkbot_e", 50, 0)
|
||||
spam_flag = TRUE // prevent spam
|
||||
icon_state = "honkbot-e"
|
||||
addtimer(CALLBACK(src, /atom/.proc/update_icon), 30, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/, update_icon)), 30, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src,PROC_REF(spam_flag_false)), cooldowntimehorn)
|
||||
|
||||
/mob/living/simple_animal/bot/honkbot/proc/honk_attack(mob/living/carbon/C) // horn attack
|
||||
@@ -367,4 +367,4 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
|
||||
..()
|
||||
|
||||
/obj/machinery/bot_core/honkbot
|
||||
req_one_access = list(ACCESS_THEATRE, ACCESS_ROBOTICS)
|
||||
req_one_access = list(ACCESS_THEATRE, ACCESS_ROBOTICS)
|
||||
|
||||
@@ -252,7 +252,7 @@ Auto Patrol: []"},
|
||||
var/judgement_criteria = judgement_criteria()
|
||||
playsound(src, 'sound/weapons/egloves.ogg', 50, TRUE, -1)
|
||||
icon_state = "secbot-c"
|
||||
addtimer(CALLBACK(src, /atom/.proc/update_icon), 2)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom/, update_icon)), 2)
|
||||
var/threat = 5
|
||||
if(ishuman(C))
|
||||
C.stuttering = 5
|
||||
|
||||
@@ -188,7 +188,7 @@ GLOBAL_VAR_INIT(floor_cluwnes, 0)
|
||||
if(manifested)
|
||||
update_canmove()
|
||||
cluwnehole = new(src.loc)
|
||||
addtimer(CALLBACK(src, /mob/living/simple_animal/hostile/floor_cluwne/.proc/Appear), MANIFEST_DELAY)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/hostile/floor_cluwne/, Appear)), MANIFEST_DELAY)
|
||||
else
|
||||
layer = GAME_PLANE
|
||||
invisibility = INVISIBILITY_OBSERVER
|
||||
@@ -257,7 +257,7 @@ GLOBAL_VAR_INIT(floor_cluwnes, 0)
|
||||
to_chat(H, "<i>yalp ot tnaw I</i>")
|
||||
Appear()
|
||||
manifested = FALSE
|
||||
addtimer(CALLBACK(src, /mob/living/simple_animal/hostile/floor_cluwne/.proc/Manifest), 1)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/hostile/floor_cluwne/, Manifest)), 1)
|
||||
if(current_victim.hud_used)//yay skewium
|
||||
var/list/screens = list(current_victim.hud_used.plane_masters["[GAME_PLANE]"], current_victim.hud_used.plane_masters["[LIGHTING_PLANE]"])
|
||||
var/matrix/skew = matrix()
|
||||
@@ -269,7 +269,7 @@ GLOBAL_VAR_INIT(floor_cluwnes, 0)
|
||||
animate(whole_screen, transform = newmatrix, time = 5, easing = QUAD_EASING, loop = -1)
|
||||
animate(transform = -newmatrix, time = 5, easing = QUAD_EASING)
|
||||
|
||||
addtimer(CALLBACK(src, /mob/living/simple_animal/hostile/floor_cluwne/.proc/Reset_View, screens), 10)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/hostile/floor_cluwne/, Reset_View), screens), 10)
|
||||
|
||||
if(STAGE_TORMENT)
|
||||
if(prob(5))
|
||||
@@ -321,7 +321,7 @@ GLOBAL_VAR_INIT(floor_cluwnes, 0)
|
||||
H.reagents.add_reagent(/datum/reagent/mercury, 3)
|
||||
Appear()
|
||||
manifested = FALSE
|
||||
addtimer(CALLBACK(src, /mob/living/simple_animal/hostile/floor_cluwne/.proc/Manifest), 2)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/hostile/floor_cluwne/, Manifest)), 2)
|
||||
for(var/obj/machinery/light/L in range(H, 8))
|
||||
L.flicker()
|
||||
|
||||
@@ -344,9 +344,9 @@ GLOBAL_VAR_INIT(floor_cluwnes, 0)
|
||||
if(!eating)
|
||||
empulse(src, 6, 6)
|
||||
if(!smite)
|
||||
addtimer(CALLBACK(src, /mob/living/simple_animal/hostile/floor_cluwne/.proc/Grab, H), 50, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/hostile/floor_cluwne/, Grab), H), 50, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
else
|
||||
addtimer(CALLBACK(src, /mob/living/simple_animal/hostile/floor_cluwne/.proc/Grab, H), smiteactiondelay, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/hostile/floor_cluwne/, Grab), H), smiteactiondelay, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
for(var/turf/open/O in range(src, 6))
|
||||
O.MakeSlippery(TURF_WET_LUBE, 30)
|
||||
playsound(src, 'sound/effects/meteorimpact.ogg', 30, 1)
|
||||
@@ -376,7 +376,7 @@ GLOBAL_VAR_INIT(floor_cluwnes, 0)
|
||||
H.invisibility = INVISIBILITY_OBSERVER
|
||||
H.density = FALSE
|
||||
H.anchored = TRUE
|
||||
addtimer(CALLBACK(src, /mob/living/simple_animal/hostile/floor_cluwne/.proc/Kill, H), 100, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living/simple_animal/hostile/floor_cluwne/, Kill), H), 100, TIMER_OVERRIDE|TIMER_UNIQUE)
|
||||
visible_message("<span class='danger'>[src] pulls [H] under!</span>")
|
||||
to_chat(H, "<span class='userdanger'>[src] drags you underneath the floor!</span>")
|
||||
else
|
||||
|
||||
@@ -232,13 +232,13 @@
|
||||
if(mecha.defense_action && mecha.defense_action.owner && !mecha.defence_mode)
|
||||
mecha.leg_overload_mode = 0
|
||||
mecha.defense_action.Activate(TRUE)
|
||||
addtimer(CALLBACK(mecha.defense_action, /datum/action/innate/mecha/mech_defence_mode.proc/Activate, FALSE), 100) //10 seconds of defence, then toggle off
|
||||
addtimer(CALLBACK(mecha.defense_action, TYPE_PROC_REF(/datum/action/innate/mecha/mech_defence_mode, Activate), FALSE), 100) //10 seconds of defence, then toggle off
|
||||
|
||||
else if(prob(retreat_chance))
|
||||
//Speed boost if possible
|
||||
if(mecha.overload_action && mecha.overload_action.owner && !mecha.leg_overload_mode)
|
||||
mecha.overload_action.Activate(TRUE)
|
||||
addtimer(CALLBACK(mecha.overload_action, /datum/action/innate/mecha/mech_defence_mode.proc/Activate, FALSE), 100) //10 seconds of speeeeed, then toggle off
|
||||
addtimer(CALLBACK(mecha.overload_action, TYPE_PROC_REF(/datum/action/innate/mecha/mech_defence_mode, Activate), FALSE), 100) //10 seconds of speeeeed, then toggle off
|
||||
|
||||
retreat_distance = 50
|
||||
spawn(100)
|
||||
@@ -292,4 +292,4 @@
|
||||
if(mecha)
|
||||
walk_to(mecha, target, minimum_distance, mecha.step_in)
|
||||
else
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -240,7 +240,7 @@
|
||||
user.visible_message("<span class='notice'>With a sudden blaze, [H] stands back up.</span>")
|
||||
H.fakefire()
|
||||
fulfillContract(H, 1)//Revival contracts are always signed in blood
|
||||
addtimer(CALLBACK(H, /mob/living/carbon/human.proc/fakefireextinguish), 5, TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon/human, fakefireextinguish)), 5, TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src, "resetcooldown"), 300, TIMER_UNIQUE)
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
P.temperature_unlocked = FALSE
|
||||
if(WIRE_SHOCK)
|
||||
P.shocked = !P.shocked
|
||||
addtimer(CALLBACK(P, /obj/machinery/autolathe.proc/reset, wire), 60)
|
||||
addtimer(CALLBACK(P, TYPE_PROC_REF(/obj/machinery/autolathe, reset), wire), 60)
|
||||
|
||||
/datum/wires/poolcontroller/on_cut(wire, mend)
|
||||
var/obj/machinery/pool/controller/P = holder
|
||||
@@ -56,4 +56,4 @@
|
||||
if(mend)
|
||||
P.stat &= ~NOPOWER
|
||||
else
|
||||
P.stat |= NOPOWER
|
||||
P.stat |= NOPOWER
|
||||
|
||||
@@ -258,7 +258,7 @@
|
||||
if(AMS.processing)
|
||||
AMS.shutdown_core()
|
||||
AMS.control_unit = null
|
||||
addtimer(CALLBACK(AMS, /obj/machinery/am_shielding.proc/controllerscan), 10)
|
||||
addtimer(CALLBACK(AMS, TYPE_PROC_REF(/obj/machinery/am_shielding, controllerscan)), 10)
|
||||
linked_shielding = list()
|
||||
else
|
||||
for(var/obj/machinery/am_shielding/AMS in linked_shielding)
|
||||
|
||||
@@ -1023,7 +1023,7 @@
|
||||
for(var/obj/machinery/light/L in area)
|
||||
if(!initial(L.no_emergency)) //If there was an override set on creation, keep that override
|
||||
L.no_emergency = emergency_lights
|
||||
INVOKE_ASYNC(L, /obj/machinery/light/.proc/update, FALSE)
|
||||
INVOKE_ASYNC(L, TYPE_PROC_REF(/obj/machinery/light/, update), FALSE)
|
||||
CHECK_TICK
|
||||
return 1
|
||||
|
||||
@@ -1044,7 +1044,7 @@
|
||||
return
|
||||
to_chat(malf, "Beginning override of APC systems. This takes some time, and you cannot perform other actions during the process.")
|
||||
malf.malfhack = src
|
||||
malf.malfhacking = addtimer(CALLBACK(malf, /mob/living/silicon/ai/.proc/malfhacked, src), 600, TIMER_STOPPABLE)
|
||||
malf.malfhacking = addtimer(CALLBACK(malf, TYPE_PROC_REF(/mob/living/silicon/ai/, malfhacked), src), 600, TIMER_STOPPABLE)
|
||||
|
||||
var/obj/screen/alert/hackingapc/A
|
||||
A = malf.throw_alert("hackingapc", /obj/screen/alert/hackingapc)
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
if(!modules || !modules.len)
|
||||
return
|
||||
for(var/datum/mapGeneratorModule/mod in modules)
|
||||
INVOKE_ASYNC(mod, /datum/mapGeneratorModule.proc/generate)
|
||||
INVOKE_ASYNC(mod, TYPE_PROC_REF(/datum/mapGeneratorModule, generate))
|
||||
|
||||
|
||||
//Requests the mapGeneratorModule(s) to (re)generate this one turf
|
||||
@@ -119,7 +119,7 @@
|
||||
if(!modules || !modules.len)
|
||||
return
|
||||
for(var/datum/mapGeneratorModule/mod in modules)
|
||||
INVOKE_ASYNC(mod, /datum/mapGeneratorModule.proc/place, T)
|
||||
INVOKE_ASYNC(mod, TYPE_PROC_REF(/datum/mapGeneratorModule, place), T)
|
||||
|
||||
|
||||
//Replaces all paths in the module list with actual module datums
|
||||
|
||||
@@ -193,7 +193,7 @@
|
||||
else if(G.can_trigger_gun(user))
|
||||
bonus_spread += 24 * G.weapon_weight
|
||||
loop_counter++
|
||||
addtimer(CALLBACK(G, /obj/item/gun.proc/process_fire, target, user, TRUE, params, null, bonus_spread), loop_counter)
|
||||
addtimer(CALLBACK(G, TYPE_PROC_REF(/obj/item/gun, process_fire), target, user, TRUE, params, null, bonus_spread), loop_counter)
|
||||
|
||||
process_fire(target, user, TRUE, params, null, bonus_spread)
|
||||
|
||||
|
||||
@@ -43,4 +43,4 @@
|
||||
F.active = 1
|
||||
F.icon_state = initial(F.icon_state) + "_active"
|
||||
playsound(user.loc, 'sound/weapons/armbomb.ogg', 75, 1, -3)
|
||||
addtimer(CALLBACK(F, /obj/item/grenade.proc/prime), 15)
|
||||
addtimer(CALLBACK(F, TYPE_PROC_REF(/obj/item/grenade, prime)), 15)
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
if(C.dna && C.dna.check_mutation(HULK))
|
||||
C.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
|
||||
else if((C.status_flags & CANKNOCKDOWN) && !HAS_TRAIT(C, TRAIT_STUNIMMUNE))
|
||||
addtimer(CALLBACK(C, /mob/living/carbon.proc/do_jitter_animation, jitter), 5)
|
||||
addtimer(CALLBACK(C, TYPE_PROC_REF(/mob/living/carbon, do_jitter_animation), jitter), 5)
|
||||
|
||||
/obj/item/projectile/energy/electrode/on_range() //to ensure the bolt sparks when it reaches the end of its range if it didn't hit a target yet
|
||||
do_sparks(1, TRUE, src)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
C.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk")
|
||||
else if((C.status_flags & CANKNOCKDOWN) && !HAS_TRAIT(C, TRAIT_STUNIMMUNE))
|
||||
C.apply_status_effect(STATUS_EFFECT_TASED, tase_duration)
|
||||
addtimer(CALLBACK(C, /mob/living/carbon.proc/do_jitter_animation, jitter), 5)
|
||||
addtimer(CALLBACK(C, TYPE_PROC_REF(/mob/living/carbon, do_jitter_animation), jitter), 5)
|
||||
|
||||
/obj/item/projectile/energy/electrode/on_range() //to ensure the bolt sparks when it reaches the end of its range if it didn't hit a target yet
|
||||
do_sparks(1, TRUE, src)
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
if(hal_target.dna && hal_target.dna.check_mutation(HULK))
|
||||
hal_target.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ), forced = "hulk")
|
||||
else if((hal_target.status_flags & CANKNOCKDOWN) && !HAS_TRAIT(hal_target, TRAIT_STUNIMMUNE))
|
||||
addtimer(CALLBACK(hal_target, /mob/living/carbon.proc/do_jitter_animation, 20), 5)
|
||||
addtimer(CALLBACK(hal_target, TYPE_PROC_REF(/mob/living/carbon, do_jitter_animation), 20), 5)
|
||||
|
||||
/obj/item/projectile/hallucination/disabler
|
||||
name = "disabler beam"
|
||||
|
||||
@@ -632,7 +632,7 @@
|
||||
S.visible_message("<span class='danger'>Infused with plasma, the core begins to expand uncontrollably!</span>")
|
||||
S.icon_state = "[S.base_state]_active"
|
||||
S.active = TRUE
|
||||
addtimer(CALLBACK(S, /obj/item/grenade.proc/prime), rand(15,60))
|
||||
addtimer(CALLBACK(S, TYPE_PROC_REF(/obj/item/grenade, prime)), rand(15,60))
|
||||
qdel(holder.my_atom) //deleto
|
||||
else
|
||||
var/mob/living/simple_animal/slime/random/S = new (get_turf(holder.my_atom))
|
||||
@@ -651,7 +651,7 @@
|
||||
S.visible_message("<span class='danger'>Infused with slime jelly, the core begins to expand uncontrollably!</span>")
|
||||
S.icon_state = "[S.base_state]_active"
|
||||
S.active = TRUE
|
||||
addtimer(CALLBACK(S, /obj/item/grenade.proc/prime), rand(15,60))
|
||||
addtimer(CALLBACK(S, TYPE_PROC_REF(/obj/item/grenade, prime)), rand(15,60))
|
||||
qdel(holder.my_atom) //deleto
|
||||
..()
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
log_combat(user, M, "fed", reagents.log_list())
|
||||
var/fraction = min(5/reagents.total_volume, 1)
|
||||
reagents.reaction(M, INGEST, fraction)
|
||||
addtimer(CALLBACK(reagents, /datum/reagents.proc/copy_to, M, 10), 5)
|
||||
addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents, copy_to), M, 10), 5)
|
||||
|
||||
if(user.a_intent == INTENT_GRAB && user.zone_selected == BODY_ZONE_PRECISE_MOUTH)
|
||||
if(M != user)
|
||||
@@ -52,7 +52,7 @@
|
||||
log_combat(user, M, "fed", reagents.log_list())
|
||||
var/fraction = min(5/reagents.total_volume, 1)
|
||||
reagents.reaction(M, INGEST, fraction)
|
||||
addtimer(CALLBACK(reagents, /datum/reagents.proc/copy_to, M, 5), 5)
|
||||
addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents, copy_to), M, 5), 5)
|
||||
|
||||
if(user.a_intent == INTENT_DISARM && user.zone_selected == BODY_ZONE_PRECISE_MOUTH)
|
||||
if(M != user)
|
||||
@@ -70,7 +70,7 @@
|
||||
log_combat(user, M, "fed", reagents.log_list())
|
||||
var/fraction = min(5/reagents.total_volume, 1)
|
||||
reagents.reaction(M, TOUCH, fraction)
|
||||
addtimer(CALLBACK(reagents, /datum/reagents.proc/copy_to, M, 1), 5)
|
||||
addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents, copy_to), M, 1), 5)
|
||||
|
||||
if(user.a_intent == INTENT_HELP)
|
||||
if(M != user && user.zone_selected == BODY_ZONE_PRECISE_MOUTH)
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
to_chat(user, "<span class='notice'>You swallow a gulp of [src].</span>")
|
||||
var/fraction = min(5/reagents.total_volume, 1)
|
||||
reagents.reaction(M, INGEST, fraction)
|
||||
addtimer(CALLBACK(reagents, /datum/reagents.proc/trans_to, M, 5), 5)
|
||||
addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents, trans_to), M, 5), 5)
|
||||
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
|
||||
|
||||
/obj/item/reagent_containers/glass/afterattack(obj/target, mob/user, proximity)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
/datum/nanite_program/sleepy/on_trigger(comm_message)
|
||||
to_chat(host_mob, "<span class='warning'>You start to feel very sleepy...</span>")
|
||||
host_mob.drowsyness += 20
|
||||
addtimer(CALLBACK(host_mob, /mob/living.proc/Sleeping, 200), rand(60,200))
|
||||
addtimer(CALLBACK(host_mob, TYPE_PROC_REF(/mob/living, Sleeping), 200), rand(60,200))
|
||||
|
||||
/datum/nanite_program/paralyzing
|
||||
name = "Paralysis"
|
||||
|
||||
@@ -252,7 +252,7 @@
|
||||
to_chat(user, "<span class='warning'>Your glow is already enhanced!</span>")
|
||||
return
|
||||
species.update_glow(user, 5)
|
||||
addtimer(CALLBACK(species, /datum/species/jelly/luminescent.proc/update_glow, user, LUMINESCENT_DEFAULT_GLOW), 600)
|
||||
addtimer(CALLBACK(species, TYPE_PROC_REF(/datum/species/jelly/luminescent, update_glow), user, LUMINESCENT_DEFAULT_GLOW), 600)
|
||||
to_chat(user, "<span class='notice'>You start glowing brighter.</span>")
|
||||
|
||||
if(SLIME_ACTIVATE_MAJOR)
|
||||
|
||||
@@ -258,7 +258,7 @@
|
||||
to_chat(user, "<span class='notice'>You swallow a gulp of [src].</span>")
|
||||
var/fraction = min(5/reagents.total_volume, 1)
|
||||
reagents.reaction(M, INGEST, fraction)
|
||||
addtimer(CALLBACK(reagents, /datum/reagents.proc/trans_to, M, 5), 5)
|
||||
addtimer(CALLBACK(reagents, TYPE_PROC_REF(/datum/reagents, trans_to), M, 5), 5)
|
||||
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
|
||||
|
||||
/obj/structure/lewdfountain
|
||||
|
||||
@@ -179,7 +179,7 @@ All ShuttleMove procs go here
|
||||
for(var/obj/machinery/door/airlock/A in range(1, src)) // includes src
|
||||
A.shuttledocked = FALSE
|
||||
A.air_tight = TRUE
|
||||
addtimer(CALLBACK(A, /obj/machinery/door/.proc/close), 0)
|
||||
addtimer(CALLBACK(A, TYPE_PROC_REF(/obj/machinery/door/, close)), 0)
|
||||
|
||||
/obj/machinery/door/airlock/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation)
|
||||
. = ..()
|
||||
|
||||
@@ -522,7 +522,7 @@
|
||||
cooldown = COOLDOWN_MEME
|
||||
for(var/V in listeners)
|
||||
var/mob/living/L = V
|
||||
addtimer(CALLBACK(L, /mob/living/.proc/emote, "dance"), 5 * i)
|
||||
addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living/, emote), "dance"), 5 * i)
|
||||
i++
|
||||
|
||||
//JUMP
|
||||
@@ -532,7 +532,7 @@
|
||||
var/mob/living/L = V
|
||||
if(prob(25))
|
||||
addtimer(CALLBACK(L, /atom/movable/proc/say, "HOW HIGH?!!"), 5 * i)
|
||||
addtimer(CALLBACK(L, /mob/living/.proc/emote, "jump"), 5 * i)
|
||||
addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living/, emote), "jump"), 5 * i)
|
||||
i++
|
||||
|
||||
//SALUTE
|
||||
@@ -540,7 +540,7 @@
|
||||
cooldown = COOLDOWN_MEME
|
||||
for(var/V in listeners)
|
||||
var/mob/living/L = V
|
||||
addtimer(CALLBACK(L, /mob/living/.proc/emote, "salute"), 5 * i)
|
||||
addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living/, emote), "salute"), 5 * i)
|
||||
i++
|
||||
|
||||
//PLAY DEAD
|
||||
@@ -548,7 +548,7 @@
|
||||
cooldown = COOLDOWN_MEME
|
||||
for(var/V in listeners)
|
||||
var/mob/living/L = V
|
||||
addtimer(CALLBACK(L, /mob/living/.proc/emote, "deathgasp"), 5 * i)
|
||||
addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living/, emote), "deathgasp"), 5 * i)
|
||||
i++
|
||||
|
||||
//PLEASE CLAP
|
||||
@@ -556,7 +556,7 @@
|
||||
cooldown = COOLDOWN_MEME
|
||||
for(var/V in listeners)
|
||||
var/mob/living/L = V
|
||||
addtimer(CALLBACK(L, /mob/living/.proc/emote, "clap"), 5 * i)
|
||||
addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living/, emote), "clap"), 5 * i)
|
||||
i++
|
||||
|
||||
//HONK
|
||||
|
||||
Reference in New Issue
Block a user