it compiles, that's better than it not compiling, right?

This commit is contained in:
Pinta
2024-03-24 06:36:59 -04:00
parent d46cf2d981
commit 63009681fa
452 changed files with 1046 additions and 987 deletions

View File

@@ -10,7 +10,7 @@
return
else
bleedsuppress = TRUE
addtimer(CALLBACK(src, .proc/resume_bleeding), amount)
addtimer(CALLBACK(src,PROC_REF(resume_bleeding)), amount)
/mob/living/carbon/human/proc/resume_bleeding()
bleedsuppress = 0

View File

@@ -55,7 +55,7 @@ GLOBAL_VAR(posibrain_notify_cooldown)
next_ask = world.time + askDelay
searching = TRUE
update_icon()
addtimer(CALLBACK(src, .proc/check_success), askDelay)
addtimer(CALLBACK(src,PROC_REF(check_success)), askDelay)
/obj/item/mmi/posibrain/proc/check_success()
searching = FALSE

View File

@@ -47,7 +47,7 @@
leaping = 1
weather_immunities += "lava"
update_icons()
throw_at(A, MAX_ALIEN_LEAP_DIST, 1, src, FALSE, TRUE, callback = CALLBACK(src, .proc/leap_end))
throw_at(A, MAX_ALIEN_LEAP_DIST, 1, src, FALSE, TRUE, callback = CALLBACK(src,PROC_REF(leap_end)))
/mob/living/carbon/alien/humanoid/hunter/proc/leap_end()
leaping = 0

View File

@@ -146,7 +146,7 @@
recent_queen_death = 1
owner.throw_alert("alien_noqueen", /obj/screen/alert/alien_vulnerable)
addtimer(CALLBACK(src, .proc/clear_queen_death), QUEEN_DEATH_DEBUFF_DURATION)
addtimer(CALLBACK(src,PROC_REF(clear_queen_death)), QUEEN_DEATH_DEBUFF_DURATION)
/obj/item/organ/alien/hivenode/proc/clear_queen_death()

View File

@@ -53,7 +53,7 @@
/obj/item/organ/body_egg/alien_embryo/egg_process()
if(stage < 5 && prob(3))
stage++
INVOKE_ASYNC(src, .proc/RefreshInfectionImage)
INVOKE_ASYNC(src,PROC_REF(RefreshInfectionImage))
if(stage == 5 && prob(50))
for(var/datum/surgery/S in owner.surgeries)

View File

@@ -109,7 +109,7 @@
return
if(stat == CONSCIOUS)
icon_state = "[initial(icon_state)]_thrown"
addtimer(CALLBACK(src, .proc/clear_throw_icon_state), 15)
addtimer(CALLBACK(src,PROC_REF(clear_throw_icon_state)), 15)
/obj/item/clothing/mask/facehugger/proc/clear_throw_icon_state()
if(icon_state == "[initial(icon_state)]_thrown")
@@ -181,7 +181,7 @@
// early returns and validity checks done: attach.
attached++
//ensure we detach once we no longer need to be attached
addtimer(CALLBACK(src, .proc/detach), MAX_IMPREGNATION_TIME)
addtimer(CALLBACK(src,PROC_REF(detach)), MAX_IMPREGNATION_TIME)
if(!sterile)
@@ -190,7 +190,7 @@
GoIdle() //so it doesn't jump the people that tear it off
addtimer(CALLBACK(src, .proc/Impregnate, M), rand(MIN_IMPREGNATION_TIME, MAX_IMPREGNATION_TIME))
addtimer(CALLBACK(src,PROC_REF(Impregnate), M), rand(MIN_IMPREGNATION_TIME, MAX_IMPREGNATION_TIME))
/obj/item/clothing/mask/facehugger/proc/detach()
attached = 0
@@ -233,7 +233,7 @@
stat = UNCONSCIOUS
icon_state = "[initial(icon_state)]_inactive"
addtimer(CALLBACK(src, .proc/GoActive), rand(MIN_ACTIVE_TIME, MAX_ACTIVE_TIME))
addtimer(CALLBACK(src,PROC_REF(GoActive)), rand(MIN_ACTIVE_TIME, MAX_ACTIVE_TIME))
/obj/item/clothing/mask/facehugger/proc/Die()
if(stat == DEAD)

View File

@@ -720,7 +720,7 @@
electrocution_skeleton_anim = mutable_appearance(icon, "electrocuted_base")
electrocution_skeleton_anim.appearance_flags |= RESET_COLOR|KEEP_APART
add_overlay(electrocution_skeleton_anim)
addtimer(CALLBACK(src, .proc/end_electrocution_animation, electrocution_skeleton_anim), anim_duration)
addtimer(CALLBACK(src,PROC_REF(end_electrocution_animation), electrocution_skeleton_anim), anim_duration)
else //or just do a generic animation
flick_overlay_view(image(icon,src,"electrocuted_generic",ABOVE_MOB_LAYER), src, anim_duration)

View File

@@ -1569,7 +1569,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(radiation > RAD_MOB_HAIRLOSS)
if(prob(15) && !(H.hair_style == "Bald") && (HAIR in species_traits))
to_chat(H, "<span class='danger'>Your hair starts to fall out in clumps...</span>")
addtimer(CALLBACK(src, .proc/go_bald, H), 50)
addtimer(CALLBACK(src,PROC_REF(go_bald), H), 50)
/datum/species/proc/go_bald(mob/living/carbon/human/H)
if(QDELETED(H)) //may be called from a timer

View File

@@ -132,10 +132,10 @@
return INITIALIZE_HINT_QDEL
owner = new_owner
START_PROCESSING(SSobj, src)
RegisterSignal(owner, COMSIG_CLICK_SHIFT, .proc/examinate_check)
RegisterSignal(src, COMSIG_ATOM_HEARER_IN_VIEW, .proc/include_owner)
RegisterSignal(owner, COMSIG_LIVING_REGENERATE_LIMBS, .proc/unlist_head)
RegisterSignal(owner, COMSIG_LIVING_FULLY_HEAL, .proc/retrieve_head)
RegisterSignal(owner, COMSIG_CLICK_SHIFT,PROC_REF(examinate_check))
RegisterSignal(src, COMSIG_ATOM_HEARER_IN_VIEW,PROC_REF(include_owner))
RegisterSignal(owner, COMSIG_LIVING_REGENERATE_LIMBS,PROC_REF(unlist_head))
RegisterSignal(owner, COMSIG_LIVING_FULLY_HEAL,PROC_REF(retrieve_head))
/obj/item/dullahan_relay/proc/examinate_check(atom/source, mob/user)
if(user.client.eye == src)

View File

@@ -29,7 +29,7 @@
/datum/species/synth/on_species_gain(mob/living/carbon/human/H, datum/species/old_species)
..()
assume_disguise(old_species, H)
RegisterSignal(H, COMSIG_MOB_SAY, .proc/handle_speech)
RegisterSignal(H, COMSIG_MOB_SAY,PROC_REF(handle_speech))
H.grant_language(/datum/language/machine)
/datum/species/synth/on_species_loss(mob/living/carbon/human/H)

View File

@@ -80,7 +80,7 @@
if(I.force >= best_force)
best_force = I.force
else
addtimer(CALLBACK(src, .proc/pickup_and_wear, I), 5)
addtimer(CALLBACK(src,PROC_REF(pickup_and_wear), I), 5)
return TRUE
@@ -124,7 +124,7 @@
pickupTarget = null
pickupTimer = 0
else
INVOKE_ASYNC(src, .proc/walk2derpless, pickupTarget.loc)
INVOKE_ASYNC(src,PROC_REF(walk2derpless), pickupTarget.loc)
if(Adjacent(pickupTarget) || Adjacent(pickupTarget.loc)) // next to target
drop_all_held_items() // who cares about these items, i want that one!
if(isturf(pickupTarget.loc)) // on floor
@@ -138,7 +138,7 @@
if(!pickpocketing)
pickpocketing = TRUE
M.visible_message("[src] starts trying to take [pickupTarget] from [M]", "[src] tries to take [pickupTarget]!")
INVOKE_ASYNC(src, .proc/pickpocket, M)
INVOKE_ASYNC(src,PROC_REF(pickpocket), M)
return TRUE
switch(mode)
@@ -174,7 +174,7 @@
return TRUE
if(target != null)
INVOKE_ASYNC(src, .proc/walk2derpless, target)
INVOKE_ASYNC(src,PROC_REF(walk2derpless), target)
// pickup any nearby weapon
if(!pickupTarget && prob(MONKEY_WEAPON_PROB))
@@ -259,7 +259,7 @@
if(target.pulledby != src && !istype(target.pulledby, /mob/living/carbon/monkey/))
INVOKE_ASYNC(src, .proc/walk2derpless, target.loc)
INVOKE_ASYNC(src,PROC_REF(walk2derpless), target.loc)
if(Adjacent(target) && isturf(target.loc))
a_intent = INTENT_GRAB
@@ -272,11 +272,11 @@
frustration = 0
else if(!disposing_body)
INVOKE_ASYNC(src, .proc/walk2derpless, bodyDisposal.loc)
INVOKE_ASYNC(src,PROC_REF(walk2derpless), bodyDisposal.loc)
if(Adjacent(bodyDisposal))
disposing_body = TRUE
addtimer(CALLBACK(src, .proc/stuff_mob_in), 5)
addtimer(CALLBACK(src,PROC_REF(stuff_mob_in)), 5)
else
var/turf/olddist = get_dist(src, bodyDisposal)

View File

@@ -86,7 +86,7 @@
med_hud_set_status()
clear_typing_indicator()
if(!gibbed && !QDELETED(src))
addtimer(CALLBACK(src, .proc/med_hud_set_status), (DEFIB_TIME_LIMIT * 10) + 1)
addtimer(CALLBACK(src,PROC_REF(med_hud_set_status)), (DEFIB_TIME_LIMIT * 10) + 1)
stop_pulling()
SEND_SIGNAL(src, COMSIG_MOB_DEATH, gibbed)

View File

@@ -157,7 +157,7 @@
/mob/living/proc/gravity_animate()
if(!get_filter("gravity"))
add_filter("gravity",1, GRAVITY_MOTION_BLUR)
INVOKE_ASYNC(src, .proc/gravity_pulse_animation)
INVOKE_ASYNC(src,PROC_REF(gravity_pulse_animation))
/mob/living/proc/gravity_pulse_animation()
animate(get_filter("gravity"), y = 1, time = 10)

View File

@@ -1106,7 +1106,7 @@
client.move_delay = world.time + movement_delay()
lying_prev = lying
if(canmove && !intentionalresting && iscarbon(src) && client && client.prefs && client?.prefs?.autostand)//CIT CHANGE - adds autostanding as a preference
addtimer(CALLBACK(src, .proc/resist_a_rest, TRUE), 0) //CIT CHANGE - ditto
addtimer(CALLBACK(src,PROC_REF(resist_a_rest), TRUE), 0) //CIT CHANGE - ditto
return canmove
/mob/living/proc/AddAbility(obj/effect/proc_holder/A)

View File

@@ -453,8 +453,8 @@
if((GLOB.cult_narsie.souls == GLOB.cult_narsie.soul_goal) && (GLOB.cult_narsie.resolved == FALSE))
GLOB.cult_narsie.resolved = TRUE
sound_to_playing_players('sound/machines/alarm.ogg')
addtimer(CALLBACK(GLOBAL_PROC, .proc/cult_ending_helper, 1), 120)
addtimer(CALLBACK(GLOBAL_PROC, .proc/ending_helper), 270)
addtimer(CALLBACK(GLOBAL_PROC_REF(cult_ending_helper), 1), 120)
addtimer(CALLBACK(GLOBAL_PROC_REF(ending_helper)), 270)
if(client)
makeNewConstruct(/mob/living/simple_animal/hostile/construct/harvester, src, cultoverride = TRUE)
else
@@ -484,7 +484,7 @@
/mob/living/proc/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /obj/screen/fullscreen/flash)
if(get_eye_protection() < intensity && (override_blindness_check || !(HAS_TRAIT(src, TRAIT_BLIND))))
overlay_fullscreen("flash", type)
addtimer(CALLBACK(src, .proc/clear_fullscreen, "flash", 25), 25)
addtimer(CALLBACK(src,PROC_REF(clear_fullscreen), "flash", 25), 25)
return TRUE
return FALSE

View File

@@ -50,7 +50,7 @@
/datum/camerachunk/proc/hasChanged(update_now = 0)
if(seenby.len || update_now)
addtimer(CALLBACK(src, .proc/update), UPDATE_BUFFER, TIMER_UNIQUE)
addtimer(CALLBACK(src,PROC_REF(update)), UPDATE_BUFFER, TIMER_UNIQUE)
else
changed = 1

View File

@@ -173,7 +173,7 @@
blind_eyes(1)
update_sight()
to_chat(src, "You've lost power!")
addtimer(CALLBACK(src, .proc/start_RestorePowerRoutine), 20)
addtimer(CALLBACK(src,PROC_REF(start_RestorePowerRoutine)), 20)
#undef POWER_RESTORATION_OFF
#undef POWER_RESTORATION_START

View File

@@ -10,7 +10,7 @@
if(announce && last_lawchange_announce != world.time)
to_chat(src, "<span class='big bold'><font color = red>Your laws have been changed.</font color></span>")
SEND_SOUND(src, 'hyperstation/sound/misc/ai_laws_update.ogg')
addtimer(CALLBACK(src, .proc/show_laws), 0)
addtimer(CALLBACK(src,PROC_REF(show_laws)), 0)
last_lawchange_announce = world.time
/mob/living/silicon/proc/set_law_sixsixsix(law, announce = TRUE)

View File

@@ -133,7 +133,7 @@
AL.Grant(src)
ALM.Grant(src)
emittersemicd = TRUE
addtimer(CALLBACK(src, .proc/emittercool), 600)
addtimer(CALLBACK(src,PROC_REF(emittercool)), 600)
/mob/living/silicon/pai/Life()
if(hacking)

View File

@@ -17,7 +17,7 @@
return FALSE
emittersemicd = TRUE
addtimer(CALLBACK(src, .proc/emittercool), emittercd)
addtimer(CALLBACK(src,PROC_REF(emittercool)), emittercd)
canmove = TRUE
density = TRUE
if(istype(card.loc, /obj/item/pda))
@@ -52,9 +52,9 @@
/mob/living/silicon/pai/proc/fold_in(force = FALSE)
emittersemicd = TRUE
if(!force)
addtimer(CALLBACK(src, .proc/emittercool), emittercd)
addtimer(CALLBACK(src,PROC_REF(emittercool)), emittercd)
else
addtimer(CALLBACK(src, .proc/emittercool), emitteroverloadcd)
addtimer(CALLBACK(src,PROC_REF(emittercool)), emitteroverloadcd)
icon_state = "[chassis]"
if(!holoform)
. = fold_out(force)

View File

@@ -889,7 +889,7 @@
cell = new /obj/item/stock_parts/cell/hyper(src, 25000)
radio = new /obj/item/radio/borg/syndicate(src)
laws = new /datum/ai_laws/syndicate_override()
addtimer(CALLBACK(src, .proc/show_playstyle), 5)
addtimer(CALLBACK(src,PROC_REF(show_playstyle)), 5)
/mob/living/silicon/robot/modules/syndicate/proc/show_playstyle()
if(playstyle_string)

View File

@@ -197,7 +197,7 @@
R.module = RM
R.update_module_innate()
RM.rebuild_modules()
INVOKE_ASYNC(RM, .proc/do_transform_animation)
INVOKE_ASYNC(RM,PROC_REF(do_transform_animation))
SEND_SIGNAL(R, COMSIG_CYBORG_MODULE_CHANGE) //hyperstation edit
qdel(src)
return RM

View File

@@ -18,5 +18,5 @@
oldLoc = get_turf(oldLoc)
if(!QDELETED(builtInCamera) && !updating && oldLoc != get_turf(src))
updating = TRUE
addtimer(CALLBACK(src, .proc/do_camera_update, oldLoc), SILICON_CAMERA_BUFFER)
addtimer(CALLBACK(src,PROC_REF(do_camera_update), oldLoc), SILICON_CAMERA_BUFFER)
#undef SILICON_CAMERA_BUFFER

View File

@@ -538,7 +538,7 @@ Pass a positive integer as an argument to override a bot's default speed.
turn_on() //Saves the AI the hassle of having to activate a bot manually.
access_card = all_access //Give the bot all-access while under the AI's command.
if(client)
reset_access_timer_id = addtimer(CALLBACK (src, .proc/bot_reset), 600, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) //if the bot is player controlled, they get the extra access for a limited time
reset_access_timer_id = addtimer(CALLBACK (src,PROC_REF(bot_reset)), 600, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) //if the bot is player controlled, they get the extra access for a limited time
to_chat(src, "<span class='notice'><span class='big'>Priority waypoint set by [icon2html(calling_ai, src)] <b>[caller]</b>. Proceed to <b>[end_area]</b>.</span><br>[path.len-1] meters to destination. You have been granted additional door access for 60 seconds.</span>")
if(message)
to_chat(calling_ai, "<span class='notice'>[icon2html(src, calling_ai)] [name] called to [end_area]. [path.len-1] meters to destination.</span>")

View File

@@ -173,7 +173,7 @@ Auto Patrol[]"},
/mob/living/simple_animal/bot/ed209/proc/retaliate(mob/living/carbon/human/H)
var/judgement_criteria = judgement_criteria()
threatlevel = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons))
threatlevel = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src,PROC_REF(check_for_weapons)))
threatlevel += 6
if(threatlevel >= 4)
target = H
@@ -225,7 +225,7 @@ Auto Patrol[]"},
var/threatlevel = 0
if((C.stat) || (C.lying))
continue
threatlevel = C.assess_threat(judgement_criteria, lasercolor, weaponcheck=CALLBACK(src, .proc/check_for_weapons))
threatlevel = C.assess_threat(judgement_criteria, lasercolor, weaponcheck=CALLBACK(src,PROC_REF(check_for_weapons)))
//speak(C.real_name + text(": threat: []", threatlevel))
if(threatlevel < 4 )
continue
@@ -327,13 +327,13 @@ Auto Patrol[]"},
target = null
last_found = world.time
frustration = 0
INVOKE_ASYNC(src, .proc/handle_automated_action) //ensure bot quickly responds
INVOKE_ASYNC(src,PROC_REF(handle_automated_action)) //ensure bot quickly responds
/mob/living/simple_animal/bot/ed209/proc/back_to_hunt()
anchored = FALSE
frustration = 0
mode = BOT_HUNT
INVOKE_ASYNC(src, .proc/handle_automated_action) //ensure bot quickly responds
INVOKE_ASYNC(src,PROC_REF(handle_automated_action)) //ensure bot quickly responds
// look for a criminal in view of the bot
@@ -350,7 +350,7 @@ Auto Patrol[]"},
if((C.name == oldtarget_name) && (world.time < last_found + 100))
continue
threatlevel = C.assess_threat(judgement_criteria, lasercolor, weaponcheck=CALLBACK(src, .proc/check_for_weapons))
threatlevel = C.assess_threat(judgement_criteria, lasercolor, weaponcheck=CALLBACK(src,PROC_REF(check_for_weapons)))
if(!threatlevel)
continue
@@ -550,7 +550,7 @@ Auto Patrol[]"},
if(ishuman(C))
var/mob/living/carbon/human/H = C
var/judgement_criteria = judgement_criteria()
threat = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons))
threat = H.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src,PROC_REF(check_for_weapons)))
log_combat(src,C,"stunned")
if(declare_arrests)
var/area/location = get_area(src)

View File

@@ -468,8 +468,8 @@
process_bot()
num_steps--
if(mode != BOT_IDLE)
var/process_timer = addtimer(CALLBACK(src, .proc/process_bot), 2, TIMER_LOOP|TIMER_STOPPABLE)
addtimer(CALLBACK(GLOBAL_PROC, /proc/deltimer, process_timer), (num_steps*2) + 1)
var/process_timer = addtimer(CALLBACK(src,PROC_REF(process_bot)), 2, TIMER_LOOP|TIMER_STOPPABLE)
addtimer(CALLBACK(GLOBAL_PROC_REF(deltimer), process_timer), (num_steps*2) + 1)
/mob/living/simple_animal/bot/mulebot/proc/process_bot()
if(!on || client)
@@ -534,7 +534,7 @@
buzz(SIGH)
mode = BOT_WAIT_FOR_NAV
blockcount = 0
addtimer(CALLBACK(src, .proc/process_blocked, next), 2 SECONDS)
addtimer(CALLBACK(src,PROC_REF(process_blocked), next), 2 SECONDS)
return
return
else
@@ -547,7 +547,7 @@
if(BOT_NAV) // calculate new path
mode = BOT_WAIT_FOR_NAV
INVOKE_ASYNC(src, .proc/process_nav)
INVOKE_ASYNC(src,PROC_REF(process_nav))
/mob/living/simple_animal/bot/mulebot/proc/process_blocked(turf/next)
calc_path(avoid=next)
@@ -596,7 +596,7 @@
/mob/living/simple_animal/bot/mulebot/proc/start_home()
if(!on)
return
INVOKE_ASYNC(src, .proc/do_start_home)
INVOKE_ASYNC(src,PROC_REF(do_start_home))
update_icon()
/mob/living/simple_animal/bot/mulebot/proc/do_start_home()

View File

@@ -105,7 +105,7 @@
. = ..()
if(can_be_held)
//icon/item state is defined in mob_holder/drone_worn_icon()
AddElement(/datum/element/mob_holder, null, 'icons/mob/head.dmi', 'icons/mob/inhands/clothing_righthand.dmi', 'icons/mob/inhands/clothing_lefthand.dmi', ITEM_SLOT_HEAD, /datum/element/mob_holder.proc/drone_worn_icon)
AddElement(/datum/element/mob_holder, null, 'icons/mob/head.dmi', 'icons/mob/inhands/clothing_righthand.dmi', 'icons/mob/inhands/clothing_lefthand.dmi', ITEM_SLOT_HEAD, TYPE_PROC_REF(/datum/element/mob_holder,drone_worn_icon))
/mob/living/simple_animal/drone/med_hud_set_health()
var/image/holder = hud_list[DIAG_HUD]

View File

@@ -30,7 +30,7 @@
/mob/living/simple_animal/hostile/guardian/charger/Shoot(atom/targeted_atom)
charging = 1
throw_at(targeted_atom, range, 1, src, FALSE, TRUE, callback = CALLBACK(src, .proc/charging_end))
throw_at(targeted_atom, range, 1, src, FALSE, TRUE, callback = CALLBACK(src,PROC_REF(charging_end)))
/mob/living/simple_animal/hostile/guardian/charger/proc/charging_end()
charging = 0

View File

@@ -57,7 +57,7 @@
anchored = A.anchored
density = A.density
appearance = A.appearance
addtimer(CALLBACK(src, .proc/disable), 600)
addtimer(CALLBACK(src,PROC_REF(disable)), 600)
/obj/guardian_bomb/proc/disable()
stored_obj.forceMove(get_turf(src))

View File

@@ -300,4 +300,4 @@
/mob/living/simple_animal/hostile/poison/bees/short/Initialize()
. = ..()
addtimer(CALLBACK(src, .proc/death), 50 SECONDS)
addtimer(CALLBACK(src,PROC_REF(death)), 50 SECONDS)

View File

@@ -426,7 +426,7 @@
if(target_atom.anchored)
return
user.cocoon_target = target_atom
INVOKE_ASYNC(user, /mob/living/simple_animal/hostile/poison/giant_spider/nurse/.proc/cocoon)
INVOKE_ASYNC(user, TYPE_PROC_REF(/mob/living/simple_animal/hostile/poison/giant_spider/nurse/,cocoon))
remove_ranged_ability()
return TRUE

View File

@@ -116,13 +116,13 @@
/mob/living/simple_animal/hostile/retaliate/goose/vomit/proc/vomit_prestart(duration)
flick("vomit_start",src)
addtimer(CALLBACK(src, .proc/vomit_start, duration), 13) //13 is the length of the vomit_start animation in gooseloose.dmi
addtimer(CALLBACK(src,PROC_REF(vomit_start), duration), 13) //13 is the length of the vomit_start animation in gooseloose.dmi
/mob/living/simple_animal/hostile/retaliate/goose/vomit/proc/vomit_start(duration)
vomiting = TRUE
icon_state = "vomit"
vomit()
addtimer(CALLBACK(src, .proc/vomit_preend), duration)
addtimer(CALLBACK(src,PROC_REF(vomit_preend)), duration)
/mob/living/simple_animal/hostile/retaliate/goose/vomit/proc/vomit_preend()
for (var/obj/item/consumed in contents) //Get rid of any food left in the poor thing

View File

@@ -48,7 +48,7 @@
return
Infect(target)
to_chat(src, "<span class='userdanger'>With our egg laid, our death approaches rapidly...</span>")
addtimer(CALLBACK(src, .proc/death), 100)
addtimer(CALLBACK(src,PROC_REF(death)), 100)
/obj/item/organ/body_egg/changeling_egg
name = "changeling egg"

View File

@@ -266,7 +266,7 @@
//What we do after closing in
/mob/living/simple_animal/hostile/proc/MeleeAction(patience = TRUE)
if(rapid_melee > 1)
var/datum/callback/cb = CALLBACK(src, .proc/CheckAndAttack)
var/datum/callback/cb = CALLBACK(src,PROC_REF(CheckAndAttack))
var/delay = SSnpcpool.wait / rapid_melee
for(var/i in 1 to rapid_melee)
addtimer(cb, (i - 1)*delay)
@@ -414,7 +414,7 @@
if(rapid > 1)
var/datum/callback/cb = CALLBACK(src, .proc/Shoot, A)
var/datum/callback/cb = CALLBACK(src,PROC_REF(Shoot), A)
for(var/i in 1 to rapid)
addtimer(cb, (i - 1)*rapid_fire_delay)
else
@@ -543,7 +543,7 @@ mob/living/simple_animal/hostile/proc/DestroySurroundings() // for use with mega
/mob/living/simple_animal/hostile/proc/GainPatience()
if(lose_patience_timeout)
LosePatience()
lose_patience_timer_id = addtimer(CALLBACK(src, .proc/LoseTarget), lose_patience_timeout, TIMER_STOPPABLE)
lose_patience_timer_id = addtimer(CALLBACK(src,PROC_REF(LoseTarget)), lose_patience_timeout, TIMER_STOPPABLE)
/mob/living/simple_animal/hostile/proc/LosePatience()
@@ -554,7 +554,7 @@ mob/living/simple_animal/hostile/proc/DestroySurroundings() // for use with mega
/mob/living/simple_animal/hostile/proc/LoseSearchObjects()
search_objects = 0
deltimer(search_objects_timer_id)
search_objects_timer_id = addtimer(CALLBACK(src, .proc/RegainSearchObjects), search_objects_regain_time, TIMER_STOPPABLE)
search_objects_timer_id = addtimer(CALLBACK(src,PROC_REF(RegainSearchObjects)), search_objects_regain_time, TIMER_STOPPABLE)
/mob/living/simple_animal/hostile/proc/RegainSearchObjects(value)

View File

@@ -204,7 +204,7 @@
if(AIStatus == AI_ON && ranged_cooldown <= world.time)
projectile_ready = TRUE
update_icons()
throw_at(new_turf, max(3,get_dist(src,new_turf)), 1, src, FALSE, callback = CALLBACK(src, .proc/FinishHop))
throw_at(new_turf, max(3,get_dist(src,new_turf)), 1, src, FALSE, callback = CALLBACK(src,PROC_REF(FinishHop)))
/mob/living/simple_animal/hostile/jungle/leaper/proc/FinishHop()
density = TRUE
@@ -214,18 +214,18 @@
playsound(src.loc, 'sound/effects/meteorimpact.ogg', 100, 1)
if(target && AIStatus == AI_ON && projectile_ready && !ckey)
face_atom(target)
addtimer(CALLBACK(src, .proc/OpenFire, target), 5)
addtimer(CALLBACK(src,PROC_REF(OpenFire), target), 5)
/mob/living/simple_animal/hostile/jungle/leaper/proc/BellyFlop()
var/turf/new_turf = get_turf(target)
hopping = TRUE
notransform = TRUE
new /obj/effect/temp_visual/leaper_crush(new_turf)
addtimer(CALLBACK(src, .proc/BellyFlopHop, new_turf), 30)
addtimer(CALLBACK(src,PROC_REF(BellyFlopHop), new_turf), 30)
/mob/living/simple_animal/hostile/jungle/leaper/proc/BellyFlopHop(turf/T)
density = FALSE
throw_at(T, get_dist(src,T),1,src, FALSE, callback = CALLBACK(src, .proc/Crush))
throw_at(T, get_dist(src,T),1,src, FALSE, callback = CALLBACK(src,PROC_REF(Crush)))
/mob/living/simple_animal/hostile/jungle/leaper/proc/Crush()
hopping = FALSE

View File

@@ -71,9 +71,9 @@
walk(src,0)
update_icons()
if(prob(50) && get_dist(src,target) <= 3 || forced_slash_combo)
addtimer(CALLBACK(src, .proc/SlashCombo), ATTACK_INTERMISSION_TIME)
addtimer(CALLBACK(src,PROC_REF(SlashCombo)), ATTACK_INTERMISSION_TIME)
return
addtimer(CALLBACK(src, .proc/LeapAttack), ATTACK_INTERMISSION_TIME + rand(0,3))
addtimer(CALLBACK(src,PROC_REF(LeapAttack)), ATTACK_INTERMISSION_TIME + rand(0,3))
return
attack_state = MOOK_ATTACK_RECOVERY
ResetNeutral()
@@ -83,9 +83,9 @@
attack_state = MOOK_ATTACK_ACTIVE
update_icons()
SlashAttack()
addtimer(CALLBACK(src, .proc/SlashAttack), 3)
addtimer(CALLBACK(src, .proc/SlashAttack), 6)
addtimer(CALLBACK(src, .proc/AttackRecovery), 9)
addtimer(CALLBACK(src,PROC_REF(SlashAttack)), 3)
addtimer(CALLBACK(src,PROC_REF(SlashAttack)), 6)
addtimer(CALLBACK(src,PROC_REF(AttackRecovery)), 9)
/mob/living/simple_animal/hostile/jungle/mook/proc/SlashAttack()
if(target && !stat && attack_state == MOOK_ATTACK_ACTIVE)
@@ -113,7 +113,7 @@
playsound(src, 'sound/weapons/thudswoosh.ogg', 25, 1)
playsound(src, 'sound/voice/mook_leap_yell.ogg', 100, 1)
var/target_turf = get_turf(target)
throw_at(target_turf, 7, 1, src, FALSE, callback = CALLBACK(src, .proc/AttackRecovery))
throw_at(target_turf, 7, 1, src, FALSE, callback = CALLBACK(src,PROC_REF(AttackRecovery)))
return
attack_state = MOOK_ATTACK_RECOVERY
ResetNeutral()
@@ -132,11 +132,11 @@
if(isliving(target))
var/mob/living/L = target
if(L.incapacitated() && L.stat != DEAD)
addtimer(CALLBACK(src, .proc/WarmupAttack, TRUE), ATTACK_INTERMISSION_TIME)
addtimer(CALLBACK(src,PROC_REF(WarmupAttack), TRUE), ATTACK_INTERMISSION_TIME)
return
addtimer(CALLBACK(src, .proc/WarmupAttack), ATTACK_INTERMISSION_TIME)
addtimer(CALLBACK(src,PROC_REF(WarmupAttack)), ATTACK_INTERMISSION_TIME)
return
addtimer(CALLBACK(src, .proc/ResetNeutral), ATTACK_INTERMISSION_TIME)
addtimer(CALLBACK(src,PROC_REF(ResetNeutral)), ATTACK_INTERMISSION_TIME)
/mob/living/simple_animal/hostile/jungle/mook/proc/ResetNeutral()
if(attack_state == MOOK_ATTACK_RECOVERY)

View File

@@ -132,7 +132,7 @@
if(get_dist(src,target) >= 4 && prob(40))
SolarBeamStartup(target)
return
addtimer(CALLBACK(src, .proc/Volley), 5)
addtimer(CALLBACK(src,PROC_REF(Volley)), 5)
/mob/living/simple_animal/hostile/jungle/seedling/proc/SolarBeamStartup(mob/living/living_target)//It's more like requiem than final spark
if(combatant_state == SEEDLING_STATE_WARMUP && target)
@@ -143,7 +143,7 @@
if(get_dist(src,living_target) > 7)
playsound(living_target,'sound/effects/seedling_chargeup.ogg', 100, 0)
solar_beam_identifier = world.time
addtimer(CALLBACK(src, .proc/Beamu, living_target, solar_beam_identifier), 35)
addtimer(CALLBACK(src,PROC_REF(Beamu), living_target, solar_beam_identifier), 35)
/mob/living/simple_animal/hostile/jungle/seedling/proc/Beamu(mob/living/living_target, beam_id = 0)
if(combatant_state == SEEDLING_STATE_ACTIVE && living_target && beam_id == solar_beam_identifier)
@@ -163,7 +163,7 @@
living_target.adjust_fire_stacks(0.2)//Just here for the showmanship
living_target.IgniteMob()
playsound(living_target,'sound/weapons/sear.ogg', 50, 1)
addtimer(CALLBACK(src, .proc/AttackRecovery), 5)
addtimer(CALLBACK(src,PROC_REF(AttackRecovery)), 5)
return
AttackRecovery()
@@ -171,10 +171,10 @@
if(combatant_state == SEEDLING_STATE_WARMUP && target)
combatant_state = SEEDLING_STATE_ACTIVE
update_icons()
var/datum/callback/cb = CALLBACK(src, .proc/InaccurateShot)
var/datum/callback/cb = CALLBACK(src,PROC_REF(InaccurateShot))
for(var/i in 1 to 13)
addtimer(cb, i)
addtimer(CALLBACK(src, .proc/AttackRecovery), 14)
addtimer(CALLBACK(src,PROC_REF(AttackRecovery)), 14)
/mob/living/simple_animal/hostile/jungle/seedling/proc/InaccurateShot()
if(!QDELETED(target) && combatant_state == SEEDLING_STATE_ACTIVE && !stat)
@@ -194,7 +194,7 @@
ranged_cooldown = world.time + ranged_cooldown_time
if(target)
face_atom(target)
addtimer(CALLBACK(src, .proc/ResetNeutral), 10)
addtimer(CALLBACK(src,PROC_REF(ResetNeutral)), 10)
/mob/living/simple_animal/hostile/jungle/seedling/proc/ResetNeutral()
combatant_state = SEEDLING_STATE_NEUTRAL

View File

@@ -61,7 +61,7 @@ Difficulty: Medium
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/hunter/AttackingTarget()
. = ..()
if(. && prob(12))
INVOKE_ASYNC(src, .proc/dash)
INVOKE_ASYNC(src,PROC_REF(dash))
/obj/item/melee/transforming/cleaving_saw/miner //nerfed saw because it is very murdery
force = 6
@@ -109,7 +109,7 @@ Difficulty: Medium
if(QDELETED(target))
return
if(next_move > world.time || !Adjacent(target)) //some cheating
INVOKE_ASYNC(src, .proc/quick_attack_loop)
INVOKE_ASYNC(src,PROC_REF(quick_attack_loop))
return
face_atom(target)
if(isliving(target))
@@ -129,7 +129,7 @@ Difficulty: Medium
if(guidance)
adjustHealth(-2)
transform_weapon()
INVOKE_ASYNC(src, .proc/quick_attack_loop)
INVOKE_ASYNC(src,PROC_REF(quick_attack_loop))
return TRUE
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect)
@@ -143,14 +143,14 @@ Difficulty: Medium
if(. && target && !targets_the_same)
wander = TRUE
transform_weapon()
INVOKE_ASYNC(src, .proc/quick_attack_loop)
INVOKE_ASYNC(src,PROC_REF(quick_attack_loop))
if(HAS_TRAIT(target, TRAIT_CURSED_BLOOD))
say(pick("Hunter, you must accept your death, be freed from the night.","The night, and the dream, were long...","Beasts all over the shop... You'll be one of them, sooner or later...","The night blocks all sight..."))
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/OpenFire()
Goto(target, move_to_delay, minimum_distance)
if(get_dist(src, target) > MINER_DASH_RANGE && dash_cooldown <= world.time)
INVOKE_ASYNC(src, .proc/dash, target)
INVOKE_ASYNC(src,PROC_REF(dash), target)
else
shoot_ka()
transform_weapon()
@@ -175,7 +175,7 @@ Difficulty: Medium
if(dashing || next_move > world.time || !Adjacent(target))
if(dashing && next_move <= world.time)
next_move = world.time + 1
INVOKE_ASYNC(src, .proc/quick_attack_loop) //lets try that again.
INVOKE_ASYNC(src,PROC_REF(quick_attack_loop)) //lets try that again.
return
AttackingTarget()
@@ -245,7 +245,7 @@ Difficulty: Medium
/obj/effect/temp_visual/dir_setting/miner_death/Initialize(mapload, set_dir)
. = ..()
INVOKE_ASYNC(src, .proc/fade_out)
INVOKE_ASYNC(src,PROC_REF(fade_out))
/obj/effect/temp_visual/dir_setting/miner_death/proc/fade_out()
var/matrix/M = new

View File

@@ -75,15 +75,15 @@ Difficulty: Hard
blood_warp()
if(prob(25))
INVOKE_ASYNC(src, .proc/blood_spray)
INVOKE_ASYNC(src,PROC_REF(blood_spray))
else if(prob(5+anger_modifier/2))
slaughterlings()
else
if(health > maxHealth/2 && !client)
INVOKE_ASYNC(src, .proc/charge)
INVOKE_ASYNC(src,PROC_REF(charge))
else
INVOKE_ASYNC(src, .proc/triple_charge)
INVOKE_ASYNC(src,PROC_REF(triple_charge))
/mob/living/simple_animal/hostile/megafauna/bubblegum/Initialize()

View File

@@ -76,7 +76,7 @@ Difficulty: Very Hard
double_spiral()
else
visible_message("<span class='colossus'>\"<b>Judgement.</b>\"</span>")
INVOKE_ASYNC(src, .proc/spiral_shoot, pick(TRUE, FALSE))
INVOKE_ASYNC(src,PROC_REF(spiral_shoot), pick(TRUE, FALSE))
else if(prob(20))
ranged_cooldown = world.time + 2
@@ -87,7 +87,7 @@ Difficulty: Very Hard
blast()
else
ranged_cooldown = world.time + 20
INVOKE_ASYNC(src, .proc/alternating_dir_shots)
INVOKE_ASYNC(src,PROC_REF(alternating_dir_shots))
/mob/living/simple_animal/hostile/megafauna/colossus/Initialize()
@@ -141,8 +141,8 @@ Difficulty: Very Hard
visible_message("<span class='colossus'>\"<b>Die.</b>\"</span>")
sleep(10)
INVOKE_ASYNC(src, .proc/spiral_shoot)
INVOKE_ASYNC(src, .proc/spiral_shoot, TRUE)
INVOKE_ASYNC(src,PROC_REF(spiral_shoot))
INVOKE_ASYNC(src,PROC_REF(spiral_shoot), TRUE)
/mob/living/simple_animal/hostile/megafauna/colossus/proc/spiral_shoot(negative = FALSE, counter_start = 8)
var/turf/start_turf = get_step(src, pick(GLOB.alldirs))

View File

@@ -109,15 +109,15 @@ Difficulty: Medium
if(prob(15 + anger_modifier) && !client)
if(health < maxHealth/2)
INVOKE_ASYNC(src, .proc/swoop_attack, TRUE, null, 50)
INVOKE_ASYNC(src,PROC_REF(swoop_attack), TRUE, null, 50)
else
fire_rain()
else if(prob(10+anger_modifier) && !client)
if(health > maxHealth/2)
INVOKE_ASYNC(src, .proc/swoop_attack)
INVOKE_ASYNC(src,PROC_REF(swoop_attack))
else
INVOKE_ASYNC(src, .proc/triple_swoop)
INVOKE_ASYNC(src,PROC_REF(triple_swoop))
else
fire_walls()
@@ -133,7 +133,7 @@ Difficulty: Medium
playsound(get_turf(src),'sound/magic/fireball.ogg', 200, 1)
for(var/d in GLOB.cardinals)
INVOKE_ASYNC(src, .proc/fire_wall, d)
INVOKE_ASYNC(src,PROC_REF(fire_wall), d)
/mob/living/simple_animal/hostile/megafauna/dragon/proc/fire_wall(dir)
var/list/hit_things = list(src)
@@ -307,7 +307,7 @@ Difficulty: Medium
/obj/effect/temp_visual/target/Initialize(mapload, list/flame_hit)
. = ..()
INVOKE_ASYNC(src, .proc/fall, flame_hit)
INVOKE_ASYNC(src,PROC_REF(fall), flame_hit)
/obj/effect/temp_visual/target/proc/fall(list/flame_hit)
var/turf/T = get_turf(src)
@@ -351,7 +351,7 @@ Difficulty: Medium
/obj/effect/temp_visual/dragon_flight/Initialize(mapload, negative)
. = ..()
INVOKE_ASYNC(src, .proc/flight, negative)
INVOKE_ASYNC(src,PROC_REF(flight), negative)
/obj/effect/temp_visual/dragon_flight/proc/flight(negative)
if(negative)

View File

@@ -155,10 +155,10 @@ Difficulty: Normal
if(ranged_cooldown <= world.time)
calculate_rage()
ranged_cooldown = world.time + max(5, ranged_cooldown_time - anger_modifier * 0.75)
INVOKE_ASYNC(src, .proc/burst, get_turf(src))
INVOKE_ASYNC(src,PROC_REF(burst), get_turf(src))
else
burst_range = 3
INVOKE_ASYNC(src, .proc/burst, get_turf(src), 0.25) //melee attacks on living mobs cause it to release a fast burst if on cooldown
INVOKE_ASYNC(src,PROC_REF(burst), get_turf(src), 0.25) //melee attacks on living mobs cause it to release a fast burst if on cooldown
if(L.stat == CONSCIOUS && L.health >= 30)
OpenFire()
else
@@ -257,9 +257,9 @@ Difficulty: Normal
while(health && !QDELETED(target) && cross_counter)
cross_counter--
if(prob(60))
INVOKE_ASYNC(src, .proc/cardinal_blasts, target)
INVOKE_ASYNC(src,PROC_REF(cardinal_blasts), target)
else
INVOKE_ASYNC(src, .proc/diagonal_blasts, target)
INVOKE_ASYNC(src,PROC_REF(diagonal_blasts), target)
sleep(6 + target_slowness)
animate(src, color = oldcolor, time = 8)
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8)
@@ -305,13 +305,13 @@ Difficulty: Normal
else if(prob(70 - anger_modifier)) //a cross blast of some type
if(prob(anger_modifier * (2 / target_slowness)) && health < maxHealth * 0.5) //we're super angry do it at all dirs
INVOKE_ASYNC(src, .proc/alldir_blasts, target)
INVOKE_ASYNC(src,PROC_REF(alldir_blasts), target)
else if(prob(60))
INVOKE_ASYNC(src, .proc/cardinal_blasts, target)
INVOKE_ASYNC(src,PROC_REF(cardinal_blasts), target)
else
INVOKE_ASYNC(src, .proc/diagonal_blasts, target)
INVOKE_ASYNC(src,PROC_REF(diagonal_blasts), target)
else //just release a burst of power
INVOKE_ASYNC(src, .proc/burst, get_turf(src))
INVOKE_ASYNC(src,PROC_REF(burst), get_turf(src))
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/diagonal_blasts(mob/victim) //fire diagonal cross blasts with a delay
var/turf/T = get_turf(victim)
@@ -322,7 +322,7 @@ Difficulty: Normal
sleep(2)
new /obj/effect/temp_visual/hierophant/blast(T, src, FALSE)
for(var/d in GLOB.diagonals)
INVOKE_ASYNC(src, .proc/blast_wall, T, d)
INVOKE_ASYNC(src,PROC_REF(blast_wall), T, d)
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/cardinal_blasts(mob/victim) //fire cardinal cross blasts with a delay
var/turf/T = get_turf(victim)
@@ -333,7 +333,7 @@ Difficulty: Normal
sleep(2)
new /obj/effect/temp_visual/hierophant/blast(T, src, FALSE)
for(var/d in GLOB.cardinals)
INVOKE_ASYNC(src, .proc/blast_wall, T, d)
INVOKE_ASYNC(src,PROC_REF(blast_wall), T, d)
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/alldir_blasts(mob/victim) //fire alldir cross blasts with a delay
var/turf/T = get_turf(victim)
@@ -344,7 +344,7 @@ Difficulty: Normal
sleep(2)
new /obj/effect/temp_visual/hierophant/blast(T, src, FALSE)
for(var/d in GLOB.alldirs)
INVOKE_ASYNC(src, .proc/blast_wall, T, d)
INVOKE_ASYNC(src,PROC_REF(blast_wall), T, d)
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/blast_wall(turf/T, set_dir) //make a wall of blasts beam_range tiles long
var/range = beam_range
@@ -363,13 +363,13 @@ Difficulty: Normal
return
arena_cooldown = world.time + initial(arena_cooldown)
for(var/d in GLOB.cardinals)
INVOKE_ASYNC(src, .proc/arena_squares, T, d)
INVOKE_ASYNC(src,PROC_REF(arena_squares), T, d)
for(var/t in RANGE_TURFS(11, T))
if(t && get_dist(t, T) == 11)
new /obj/effect/temp_visual/hierophant/wall(t, src)
new /obj/effect/temp_visual/hierophant/blast(t, src, FALSE)
if(get_dist(src, T) >= 11) //hey you're out of range I need to get closer to you!
INVOKE_ASYNC(src, .proc/blink, T)
INVOKE_ASYNC(src,PROC_REF(blink), T)
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/arena_squares(turf/T, set_dir) //make a fancy effect extending from the arena target
var/turf/previousturf = T
@@ -520,7 +520,7 @@ Difficulty: Normal
friendly_fire_check = is_friendly_fire
if(new_speed)
speed = new_speed
addtimer(CALLBACK(src, .proc/seek_target), 1)
addtimer(CALLBACK(src,PROC_REF(seek_target)), 1)
/obj/effect/temp_visual/hierophant/chaser/proc/get_target_dir()
. = get_cardinal_dir(src, targetturf)
@@ -605,7 +605,7 @@ Difficulty: Normal
if(ismineralturf(loc)) //drill mineral turfs
var/turf/closed/mineral/M = loc
M.gets_drilled(caster)
INVOKE_ASYNC(src, .proc/blast)
INVOKE_ASYNC(src,PROC_REF(blast))
/obj/effect/temp_visual/hierophant/blast/proc/blast()
var/turf/T = get_turf(src)
@@ -677,7 +677,7 @@ Difficulty: Normal
if(H.beacon == src)
to_chat(user, "<span class='notice'>You start removing your hierophant beacon...</span>")
H.timer = world.time + 51
INVOKE_ASYNC(H, /obj/item/hierophant_club.proc/prepare_icon_update)
INVOKE_ASYNC(H, TYPE_PROC_REF(/obj/item/hierophant_club,prepare_icon_update))
if(do_after(user, 50, target = src))
playsound(src,'sound/magic/blind.ogg', 200, 1, -4)
new /obj/effect/temp_visual/hierophant/telegraph/teleport(get_turf(src), user)
@@ -687,7 +687,7 @@ Difficulty: Normal
qdel(src)
else
H.timer = world.time
INVOKE_ASYNC(H, /obj/item/hierophant_club.proc/prepare_icon_update)
INVOKE_ASYNC(H, TYPE_PROC_REF(/obj/item/hierophant_club,prepare_icon_update))
else
to_chat(user, "<span class='hierophant_warning'>You touch the beacon with the club, but nothing happens.</span>")
else

View File

@@ -90,7 +90,7 @@ Difficulty: Medium
speed = 0
move_to_delay = 2
charging = 1
addtimer(CALLBACK(src, .proc/reset_charge), 50)
addtimer(CALLBACK(src,PROC_REF(reset_charge)), 50)
/mob/living/simple_animal/hostile/megafauna/legion/proc/reset_charge()
ranged = 1

View File

@@ -152,7 +152,7 @@ GLOBAL_LIST_INIT(AISwarmerCapsByType, list(/mob/living/simple_animal/hostile/swa
/mob/living/simple_animal/hostile/swarmer/ai/proc/StartAction(deci = 0)
stop_automated_movement = TRUE
AIStatus = AI_OFF
addtimer(CALLBACK(src, .proc/EndAction), deci)
addtimer(CALLBACK(src,PROC_REF(EndAction)), deci)
/mob/living/simple_animal/hostile/swarmer/ai/proc/EndAction()

View File

@@ -51,7 +51,7 @@
retreat_distance = 10
minimum_distance = 10
if(will_burrow)
addtimer(CALLBACK(src, .proc/Burrow), chase_time)
addtimer(CALLBACK(src,PROC_REF(Burrow)), chase_time)
/mob/living/simple_animal/hostile/asteroid/goldgrub/AttackingTarget()
if(istype(target, /obj/item/stack/ore))

View File

@@ -166,7 +166,7 @@
var/turf/closed/mineral/M = loc
M.gets_drilled()
deltimer(timerid)
timerid = addtimer(CALLBACK(src, .proc/tripanim), 7, TIMER_STOPPABLE)
timerid = addtimer(CALLBACK(src,PROC_REF(tripanim)), 7, TIMER_STOPPABLE)
/obj/effect/temp_visual/goliath_tentacle/original/Initialize(mapload, new_spawner)
. = ..()
@@ -180,7 +180,7 @@
/obj/effect/temp_visual/goliath_tentacle/proc/tripanim()
icon_state = "Goliath_tentacle_wiggle"
deltimer(timerid)
timerid = addtimer(CALLBACK(src, .proc/trip), 3, TIMER_STOPPABLE)
timerid = addtimer(CALLBACK(src,PROC_REF(trip)), 3, TIMER_STOPPABLE)
/obj/effect/temp_visual/goliath_tentacle/proc/trip()
var/latched = FALSE
@@ -202,7 +202,7 @@
retract()
else
deltimer(timerid)
timerid = addtimer(CALLBACK(src, .proc/retract), 10, TIMER_STOPPABLE)
timerid = addtimer(CALLBACK(src,PROC_REF(retract)), 10, TIMER_STOPPABLE)
/obj/effect/temp_visual/goliath_tentacle/proc/retract()
icon_state = "Goliath_tentacle_retract"

View File

@@ -86,7 +86,7 @@
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/Initialize()
. = ..()
addtimer(CALLBACK(src, .proc/death), 100)
addtimer(CALLBACK(src,PROC_REF(death)), 100)
//Legion
/mob/living/simple_animal/hostile/asteroid/hivelord/legion

View File

@@ -84,7 +84,7 @@
/mob/living/simple_animal/hostile/mushroom/adjustHealth(amount, updating_health = TRUE, forced = FALSE) //Possibility to flee from a fight just to make it more visually interesting
if(!retreat_distance && prob(33))
retreat_distance = 5
addtimer(CALLBACK(src, .proc/stop_retreat), 30)
addtimer(CALLBACK(src,PROC_REF(stop_retreat)), 30)
. = ..()
/mob/living/simple_animal/hostile/mushroom/proc/stop_retreat()
@@ -133,7 +133,7 @@
revive(full_heal = 1)
UpdateMushroomCap()
recovery_cooldown = 1
addtimer(CALLBACK(src, .proc/recovery_recharge), 300)
addtimer(CALLBACK(src,PROC_REF(recovery_recharge)), 300)
/mob/living/simple_animal/hostile/mushroom/proc/recovery_recharge()
recovery_cooldown = 0

View File

@@ -23,7 +23,7 @@
for(var/turf/T in anchors)
var/datum/beam/B = Beam(T, "vine", time=INFINITY, maxdistance=5, beam_type=/obj/effect/ebeam/vine)
B.sleep_time = 10 //these shouldn't move, so let's slow down updates to 1 second (any slower and the deletion of the vines would be too slow)
addtimer(CALLBACK(src, .proc/bear_fruit), growth_time)
addtimer(CALLBACK(src,PROC_REF(bear_fruit)), growth_time)
/obj/structure/alien/resin/flower_bud_enemy/proc/bear_fruit()
visible_message("<span class='danger'>the plant has borne fruit!</span>")

View File

@@ -400,7 +400,7 @@
else if(canmove && isturf(loc) && prob(33))
step(src, pick(GLOB.cardinals))
else if(!AIproc)
INVOKE_ASYNC(src, .proc/AIprocess)
INVOKE_ASYNC(src,PROC_REF(AIprocess))
/mob/living/simple_animal/slime/handle_automated_movement()
return //slime random movement is currently handled in handle_targets()

View File

@@ -36,7 +36,7 @@ GLOBAL_LIST_EMPTY(typing_indicator_overlays)
return
typing_indicator_current = state_override
add_overlay(state_override)
typing_indicator_timerid = addtimer(CALLBACK(src, .proc/clear_typing_indicator), timeout_override, TIMER_STOPPABLE)
typing_indicator_timerid = addtimer(CALLBACK(src,PROC_REF(clear_typing_indicator)), timeout_override, TIMER_STOPPABLE)
/**
* Removes typing indicator.
*/