missed proc refs
This commit is contained in:
@@ -49,7 +49,7 @@
|
||||
else //Maybe uses plasma in the future, although that wouldn't make any sense...
|
||||
leaping = 1
|
||||
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
|
||||
|
||||
@@ -51,7 +51,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)
|
||||
|
||||
@@ -266,7 +266,7 @@
|
||||
MarkResistTime()
|
||||
visible_message("<span class='warning'>[src] attempts to unbuckle [p_them()]self!</span>", \
|
||||
"<span class='notice'>You attempt to unbuckle yourself... (This will take around [round(buckle_cd/600,1)] minute\s, and you need to stay still.)</span>")
|
||||
if(do_after(src, buckle_cd, src, timed_action_flags = IGNORE_HELD_ITEM | IGNORE_INCAPACITATED, extra_checks = CALLBACK(src, .proc/cuff_resist_check)))
|
||||
if(do_after(src, buckle_cd, src, timed_action_flags = IGNORE_HELD_ITEM | IGNORE_INCAPACITATED, extra_checks = CALLBACK(src, PROC_REF(cuff_resist_check))))
|
||||
if(!buckled)
|
||||
return
|
||||
buckled.user_unbuckle_mob(src, src)
|
||||
|
||||
@@ -50,7 +50,7 @@ GLOBAL_LIST_EMPTY(dead_players_during_shift)
|
||||
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)
|
||||
|
||||
/mob/living/carbon/human/proc/makeSkeleton()
|
||||
ADD_TRAIT(src, TRAIT_DISFIGURED, TRAIT_GENERIC)
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
//rock paper scissors emote handling
|
||||
/mob/living/carbon/human/proc/beginRockPaperScissors(var/chosen_move)
|
||||
GLOB.rockpaperscissors_players[src] = list(chosen_move, ROCKPAPERSCISSORS_NOT_DECIDED)
|
||||
do_after(src, ROCKPAPERSCISSORS_TIME_LIMIT, src, extra_checks = CALLBACK(src, .proc/rockpaperscissors_tick))
|
||||
do_after(src, ROCKPAPERSCISSORS_TIME_LIMIT, src, extra_checks = CALLBACK(src, PROC_REF(rockpaperscissors_tick)))
|
||||
var/new_entry = GLOB.rockpaperscissors_players[src]
|
||||
if(new_entry[2] == ROCKPAPERSCISSORS_NOT_DECIDED)
|
||||
to_chat(src, "You put your hand back down.")
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
if(CONFIG_GET(flag/disable_stambuffer))
|
||||
enable_intentional_sprint_mode()
|
||||
|
||||
RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, /atom.proc/clean_blood)
|
||||
RegisterSignal(src, COMSIG_COMPONENT_CLEAN_ACT, TYPE_PROC_REF(/atom, clean_blood))
|
||||
GLOB.human_list += src
|
||||
|
||||
/mob/living/carbon/human/proc/setup_human_dna()
|
||||
@@ -47,7 +47,7 @@
|
||||
AddElement(/datum/element/flavor_text/carbon, _name = "Flavor Text", _save_key = "flavor_text")
|
||||
AddElement(/datum/element/flavor_text/carbon/temporary, "", "Set Pose (Temporary Flavor Text)", "This should be used only for things pertaining to the current round!", _save_key = null)
|
||||
AddElement(/datum/element/flavor_text, _name = "OOC Notes", _addendum = "Put information on ERP/vore/lewd-related preferences here. THIS SHOULD NOT CONTAIN REGULAR FLAVORTEXT!!", _always_show = TRUE, _save_key = "ooc_notes", _examine_no_preview = TRUE)
|
||||
AddElement(/datum/element/strippable, GLOB.strippable_human_items, /mob/living/carbon/human/.proc/should_strip)
|
||||
AddElement(/datum/element/strippable, GLOB.strippable_human_items, TYPE_PROC_REF(/mob/living/carbon/human/, should_strip))
|
||||
|
||||
/mob/living/carbon/human/Destroy()
|
||||
QDEL_NULL(physiology)
|
||||
|
||||
@@ -50,7 +50,7 @@ There are several things that need to be remembered:
|
||||
|
||||
/mob/living/carbon/human/ComponentInitialize()
|
||||
. = ..()
|
||||
RegisterSignal(src, SIGNAL_TRAIT(TRAIT_HUMAN_NO_RENDER), /mob.proc/regenerate_icons)
|
||||
RegisterSignal(src, SIGNAL_TRAIT(TRAIT_HUMAN_NO_RENDER), TYPE_PROC_REF(/mob, regenerate_icons))
|
||||
|
||||
//HAIR OVERLAY
|
||||
/mob/living/carbon/human/update_hair()
|
||||
|
||||
@@ -482,7 +482,7 @@
|
||||
last_teleport = world.time
|
||||
UpdateButtons() //action icon looks unavailable
|
||||
//action icon looks available again
|
||||
addtimer(CALLBACK(src, .proc/UpdateButtons), cooldown + 5)
|
||||
addtimer(CALLBACK(src, PROC_REF(UpdateButtons)), cooldown + 5)
|
||||
|
||||
|
||||
//honk
|
||||
|
||||
@@ -117,7 +117,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
|
||||
@@ -131,7 +131,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)
|
||||
@@ -167,7 +167,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))
|
||||
@@ -252,7 +252,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
|
||||
@@ -265,7 +265,7 @@
|
||||
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
|
||||
|
||||
@@ -185,4 +185,4 @@ GLOBAL_LIST_INIT(strippable_monkey_items, create_strippable_list(list(
|
||||
if(prob(10))
|
||||
var/obj/item/clothing/head/helmet/justice/escape/helmet = new(src)
|
||||
equip_to_slot_or_del(helmet,ITEM_SLOT_HEAD)
|
||||
INVOKE_ASYNC(helmet, /obj/item.proc/attack_self, src) // todo encapsulate toggle
|
||||
INVOKE_ASYNC(helmet, TYPE_PROC_REF(/obj/item, attack_self), src) // todo encapsulate toggle
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
H.CloseWings()
|
||||
else
|
||||
H.OpenWings()
|
||||
addtimer(CALLBACK(H, open ? /mob/living/carbon/human.proc/OpenWings : /mob/living/carbon/human.proc/CloseWings), wing_time)
|
||||
addtimer(CALLBACK(H, open ? TYPE_PROC_REF(/mob/living/carbon/human, OpenWings) : TYPE_PROC_REF(/mob/living/carbon/human, CloseWings)), wing_time)
|
||||
|
||||
/datum/emote/living/flap/aflap
|
||||
key = "aflap"
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
break
|
||||
var/msg = "[key_name_admin(src)] [ADMIN_JMP(src)] was found to have no .loc with an attached client, if the cause is unknown it would be wise to ask how this was accomplished."
|
||||
message_admins(msg)
|
||||
INVOKE_ASYNC(GLOBAL_PROC, .proc/send2tgs_adminless_only, "Mob", msg, R_ADMIN)
|
||||
INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(send2tgs_adminless_only), "Mob", msg, R_ADMIN)
|
||||
log_game("[key_name(src)] was found to have no .loc with an attached client.")
|
||||
|
||||
// This is a temporary error tracker to make sure we've caught everything
|
||||
@@ -83,7 +83,7 @@
|
||||
handle_diginvis() //AI becomes unable to see mob
|
||||
|
||||
if((movement_type & FLYING) && !(movement_type & FLOATING)) //TODO: Better floating
|
||||
INVOKE_ASYNC(src, /atom/movable.proc/float, TRUE)
|
||||
INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable, float), TRUE)
|
||||
|
||||
if(!loc)
|
||||
return FALSE
|
||||
@@ -201,7 +201,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)
|
||||
|
||||
@@ -909,7 +909,7 @@
|
||||
else
|
||||
throw_alert("gravity", /atom/movable/screen/alert/weightless)
|
||||
if(!override && !is_flying())
|
||||
INVOKE_ASYNC(src, /atom/movable.proc/float, !has_gravity)
|
||||
INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable, float), !has_gravity)
|
||||
|
||||
/mob/living/float(on)
|
||||
if(throwing)
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
var/delay = data.block_start_delay
|
||||
combat_flags |= COMBAT_FLAG_ACTIVE_BLOCK_STARTING
|
||||
animate(src, pixel_x = get_standard_pixel_x_offset(), pixel_y = get_standard_pixel_y_offset(), time = delay, FALSE, SINE_EASING | EASE_IN)
|
||||
if(!do_after(src, delay, src, (IGNORE_USER_LOC_CHANGE|IGNORE_TARGET_LOC_CHANGE), extra_checks = CALLBACK(src, .proc/continue_starting_active_block)))
|
||||
if(!do_after(src, delay, src, (IGNORE_USER_LOC_CHANGE|IGNORE_TARGET_LOC_CHANGE), extra_checks = CALLBACK(src, PROC_REF(continue_starting_active_block))))
|
||||
to_chat(src, "<span class='warning'>You fail to raise [I].</span>")
|
||||
combat_flags &= ~(COMBAT_FLAG_ACTIVE_BLOCK_STARTING)
|
||||
animate(src, pixel_x = get_standard_pixel_x_offset(), pixel_y = get_standard_pixel_y_offset(), time = 2.5, FALSE, SINE_EASING | EASE_IN, ANIMATION_END_NOW)
|
||||
|
||||
@@ -486,7 +486,7 @@
|
||||
if(owner)
|
||||
attach_to(owner)
|
||||
if(autorun)
|
||||
INVOKE_ASYNC(src, .proc/run_animation, windup, active, spindown)
|
||||
INVOKE_ASYNC(src, PROC_REF(run_animation), windup, active, spindown)
|
||||
|
||||
/obj/effect/abstract/parry/main/Destroy()
|
||||
detach_from(owner)
|
||||
|
||||
@@ -308,7 +308,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
|
||||
speech_bubble_recipients.Add(M.client)
|
||||
var/image/I = image('icons/mob/talk.dmi', src, "[bubble_type][say_test(message)]", FLY_LAYER)
|
||||
I.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA
|
||||
INVOKE_ASYNC(GLOBAL_PROC, /.proc/flick_overlay, I, speech_bubble_recipients, 30)
|
||||
INVOKE_ASYNC(GLOBAL_PROC, PROC_REF(flick_overlay), I, speech_bubble_recipients, 30)
|
||||
|
||||
//Listening gets trimmed here if a vocal bark's present. If anyone ever makes this proc return listening, make sure to instead initialize a copy of listening in here to avoid wonkiness
|
||||
if(SEND_SIGNAL(src, COMSIG_MOVABLE_QUEUE_BARK, listening, args) || vocal_bark || vocal_bark_id)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
if(!gibbed)
|
||||
// Will update all AI status displays with a blue screen of death
|
||||
INVOKE_ASYNC(src, .proc/emote, "bsod")
|
||||
INVOKE_ASYNC(src, PROC_REF(emote), "bsod")
|
||||
|
||||
. = ..()
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
mmi.brainmob.container = mmi
|
||||
mmi.update_appearance()
|
||||
|
||||
INVOKE_ASYNC(src, .proc/updatename)
|
||||
INVOKE_ASYNC(src, PROC_REF(updatename))
|
||||
|
||||
aicamera = new/obj/item/camera/siliconcam/robot_camera(src)
|
||||
toner = tonermax
|
||||
@@ -1006,7 +1006,7 @@
|
||||
hat_offset = module.hat_offset
|
||||
|
||||
magpulse = module.magpulsing
|
||||
INVOKE_ASYNC(src, .proc/updatename)
|
||||
INVOKE_ASYNC(src, PROC_REF(updatename))
|
||||
|
||||
|
||||
/mob/living/silicon/robot/proc/place_on_head(obj/item/new_hat)
|
||||
|
||||
@@ -215,7 +215,7 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
|
||||
ResetModule()
|
||||
return TRUE
|
||||
|
||||
INVOKE_ASYNC(src, .proc/beep_boop_rogue_bot, user)
|
||||
INVOKE_ASYNC(src, PROC_REF(beep_boop_rogue_bot), user)
|
||||
return TRUE
|
||||
|
||||
/mob/living/silicon/robot/proc/beep_boop_rogue_bot(mob/user)
|
||||
|
||||
@@ -198,7 +198,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))
|
||||
if(RM.dogborg || R.dogborg)
|
||||
RM.dogborg_equip()
|
||||
R.typing_indicator_state = /obj/effect/overlay/typing_indicator/machine/dogborg
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
/mob/living/simple_animal/bot/secbot/grievous/Initialize(mapload)
|
||||
. = ..()
|
||||
weapon = new baton_type(src)
|
||||
INVOKE_ASYNC(weapon, /obj/item.proc/attack_self, src)
|
||||
INVOKE_ASYNC(weapon, TYPE_PROC_REF(/obj/item, attack_self), src)
|
||||
|
||||
/mob/living/simple_animal/bot/secbot/grievous/Destroy()
|
||||
QDEL_NULL(weapon)
|
||||
@@ -107,7 +107,7 @@
|
||||
if((C.name == oldtarget_name) && (world.time < last_found + 100))
|
||||
continue
|
||||
|
||||
threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons))
|
||||
threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons)))
|
||||
|
||||
if(!threatlevel)
|
||||
continue
|
||||
@@ -122,7 +122,7 @@
|
||||
icon_state = "grievous-c"
|
||||
visible_message("<b>[src]</b> points at [C.name]!")
|
||||
mode = BOT_HUNT
|
||||
INVOKE_ASYNC(src, .proc/handle_automated_action)
|
||||
INVOKE_ASYNC(src, PROC_REF(handle_automated_action))
|
||||
break
|
||||
else
|
||||
continue
|
||||
|
||||
@@ -561,7 +561,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>")
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
|
||||
/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
|
||||
@@ -204,7 +204,7 @@
|
||||
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
|
||||
@@ -217,7 +217,7 @@
|
||||
if(targets.len>0)
|
||||
var/mob/living/carbon/t = pick(targets)
|
||||
if((t.stat!=2) && (t.lying != 1) && (!t.handcuffed)) //we don't shoot people who are dead, cuffed or lying down.
|
||||
INVOKE_ASYNC(src, .proc/shootAt, t)
|
||||
INVOKE_ASYNC(src, PROC_REF(shootAt), t)
|
||||
switch(mode)
|
||||
|
||||
if(BOT_IDLE) // idle
|
||||
@@ -235,7 +235,7 @@
|
||||
|
||||
if(target) // make sure target exists
|
||||
if(Adjacent(target) && isturf(target.loc)) // if right next to perp
|
||||
INVOKE_ASYNC(src, .proc/stun_attack, target)
|
||||
INVOKE_ASYNC(src, PROC_REF(stun_attack), target)
|
||||
|
||||
mode = BOT_PREP_ARREST
|
||||
anchored = TRUE
|
||||
@@ -306,13 +306,13 @@
|
||||
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
|
||||
|
||||
@@ -329,7 +329,7 @@
|
||||
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
|
||||
@@ -527,7 +527,7 @@
|
||||
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)
|
||||
|
||||
@@ -263,13 +263,13 @@
|
||||
target = null
|
||||
last_found = world.time
|
||||
frustration = 0
|
||||
INVOKE_ASYNC(src, .proc/handle_automated_action) //responds quickly
|
||||
INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) //responds quickly
|
||||
|
||||
/mob/living/simple_animal/bot/honkbot/proc/back_to_hunt()
|
||||
anchored = FALSE
|
||||
frustration = 0
|
||||
mode = BOT_HUNT
|
||||
INVOKE_ASYNC(src, .proc/handle_automated_action) // responds quickly
|
||||
INVOKE_ASYNC(src, PROC_REF(handle_automated_action)) // responds quickly
|
||||
|
||||
/mob/living/simple_animal/bot/honkbot/proc/look_for_perp()
|
||||
anchored = FALSE
|
||||
@@ -299,7 +299,7 @@
|
||||
speak("Honk!")
|
||||
visible_message("<b>[src]</b> starts chasing [C.name]!")
|
||||
mode = BOT_HUNT
|
||||
INVOKE_ASYNC(src, .proc/handle_automated_action)
|
||||
INVOKE_ASYNC(src, PROC_REF(handle_automated_action))
|
||||
break
|
||||
else
|
||||
continue
|
||||
|
||||
@@ -506,7 +506,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)
|
||||
@@ -555,7 +555,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()
|
||||
|
||||
@@ -240,7 +240,7 @@
|
||||
|
||||
/mob/living/simple_animal/bot/secbot/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
|
||||
@@ -393,12 +393,12 @@
|
||||
C.stuttering = 5
|
||||
C.DefaultCombatKnockdown(100)
|
||||
var/mob/living/carbon/human/H = C
|
||||
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)))
|
||||
else
|
||||
playsound(src, 'sound/weapons/egloves.ogg', 50, TRUE, -1)
|
||||
C.DefaultCombatKnockdown(100)
|
||||
C.stuttering = 5
|
||||
threat = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons))
|
||||
threat = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons)))
|
||||
|
||||
log_combat(src,C,"stunned")
|
||||
if(declare_arrests)
|
||||
@@ -500,13 +500,13 @@
|
||||
target = null
|
||||
last_found = world.time
|
||||
frustration = 0
|
||||
INVOKE_ASYNC(src, .proc/handle_automated_action)
|
||||
INVOKE_ASYNC(src, PROC_REF(handle_automated_action))
|
||||
|
||||
/mob/living/simple_animal/bot/secbot/proc/back_to_hunt()
|
||||
anchored = FALSE
|
||||
frustration = 0
|
||||
mode = BOT_HUNT
|
||||
INVOKE_ASYNC(src, .proc/handle_automated_action)
|
||||
INVOKE_ASYNC(src, PROC_REF(handle_automated_action))
|
||||
// look for a criminal in view of the bot
|
||||
|
||||
/mob/living/simple_animal/bot/secbot/proc/look_for_perp()
|
||||
@@ -519,7 +519,7 @@
|
||||
if((C.name == oldtarget_name) && (world.time < last_found + 100))
|
||||
continue
|
||||
|
||||
threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, .proc/check_for_weapons))
|
||||
threatlevel = C.assess_threat(judgement_criteria, weaponcheck=CALLBACK(src, PROC_REF(check_for_weapons)))
|
||||
|
||||
if(!threatlevel)
|
||||
continue
|
||||
@@ -531,7 +531,7 @@
|
||||
playsound(loc, pick('sound/voice/beepsky/criminal.ogg', 'sound/voice/beepsky/justice.ogg', 'sound/voice/beepsky/freeze.ogg'), 50, FALSE)
|
||||
visible_message(process_emote("TAUNT", target, threatlevel))
|
||||
mode = BOT_HUNT
|
||||
INVOKE_ASYNC(src, .proc/handle_automated_action)
|
||||
INVOKE_ASYNC(src, PROC_REF(handle_automated_action))
|
||||
break
|
||||
else
|
||||
continue
|
||||
|
||||
@@ -494,7 +494,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list(
|
||||
/mob/living/simple_animal/pet/dog/corgi/Ian/BiologicalLife()
|
||||
if(!(. = ..()))
|
||||
return
|
||||
INVOKE_ASYNC(src, .proc/corgi_ai_behavior)
|
||||
INVOKE_ASYNC(src, PROC_REF(corgi_ai_behavior))
|
||||
|
||||
/mob/living/simple_animal/pet/dog/corgi/Ian/proc/corgi_ai_behavior()
|
||||
//Feeding, chasing food, FOOOOODDDD
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
. = ..()
|
||||
if(can_be_held)
|
||||
//icon/item state is defined in mob_holder/drone_worn_icon()
|
||||
AddElement(/datum/element/mob_holder, null, 'icons/mob/clothing/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/clothing/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]
|
||||
|
||||
@@ -34,7 +34,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
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
return
|
||||
if(isobj(A) && Adjacent(A))
|
||||
if(bomb_cooldown <= world.time && !stat)
|
||||
var/datum/component/killerqueen/K = A.AddComponent(/datum/component/killerqueen, EXPLODE_HEAVY, CALLBACK(src, PROC_REF(on_explode)), CALLBACK(src, .proc/on_failure), \
|
||||
var/datum/component/killerqueen/K = A.AddComponent(/datum/component/killerqueen, EXPLODE_HEAVY, CALLBACK(src, PROC_REF(on_explode)), CALLBACK(src, PROC_REF(on_failure)), \
|
||||
examine_message = "<span class='holoparasite'>It glows with a strange <font color=\"[guardiancolor]\">light</font>!</span>")
|
||||
QDEL_IN(K, 1 MINUTES)
|
||||
to_chat(src, "<span class='danger'><B>Success! Bomb armed!</span></B>")
|
||||
|
||||
@@ -94,7 +94,7 @@ GLOBAL_VAR_INIT(floor_cluwnes, 0)
|
||||
Acquire_Victim()
|
||||
|
||||
if(stage && !manifested)
|
||||
INVOKE_ASYNC(src, .proc/On_Stage)
|
||||
INVOKE_ASYNC(src, PROC_REF(On_Stage))
|
||||
|
||||
if(stage == STAGE_ATTACK)
|
||||
playsound(src, 'sound/misc/cluwne_breathing.ogg', 75, 1)
|
||||
@@ -335,7 +335,7 @@ GLOBAL_VAR_INIT(floor_cluwnes, 0)
|
||||
forceMove(H.loc)
|
||||
to_chat(H, "<span class='userdanger'>You feel the floor closing in on your feet!</span>")
|
||||
H.Paralyze(300)
|
||||
INVOKE_ASYNC(H, /mob.proc/emote, "scream")
|
||||
INVOKE_ASYNC(H, TYPE_PROC_REF(/mob, emote), "scream")
|
||||
H.adjustBruteLoss(10)
|
||||
manifested = TRUE
|
||||
Manifest()
|
||||
|
||||
@@ -434,7 +434,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
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
/mob/living/simple_animal/hostile/handle_automated_movement()
|
||||
. = ..()
|
||||
if(dodging && target && in_melee && isturf(loc) && isturf(target.loc))
|
||||
var/datum/cb = CALLBACK(src,.proc/sidestep)
|
||||
var/datum/cb = CALLBACK(src,PROC_REF(sidestep))
|
||||
if(sidestep_per_cycle > 1) //For more than one just spread them equally - this could changed to some sensible distribution later
|
||||
var/sidestep_delay = SSnpcpool.wait / sidestep_per_cycle
|
||||
for(var/i in 1 to sidestep_per_cycle)
|
||||
@@ -278,7 +278,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)
|
||||
@@ -632,7 +632,7 @@
|
||||
*/
|
||||
/mob/living/simple_animal/hostile/proc/handle_charge_target(var/atom/target)
|
||||
charge_state = TRUE
|
||||
throw_at(target, charge_distance, 1, src, FALSE, TRUE, callback = CALLBACK(src, .proc/charge_end))
|
||||
throw_at(target, charge_distance, 1, src, FALSE, TRUE, callback = CALLBACK(src, PROC_REF(charge_end)))
|
||||
COOLDOWN_START(src, charge_cooldown, charge_frequency)
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
|
||||
/obj/structure/leaper_bubble/Initialize(mapload)
|
||||
. = ..()
|
||||
INVOKE_ASYNC(src, /atom/movable.proc/float, TRUE)
|
||||
INVOKE_ASYNC(src, TYPE_PROC_REF(/atom/movable, float), TRUE)
|
||||
QDEL_IN(src, 100)
|
||||
|
||||
/obj/structure/leaper_bubble/Destroy()
|
||||
@@ -205,7 +205,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
|
||||
@@ -226,7 +226,7 @@
|
||||
|
||||
/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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
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_REF(AttackRecovery)), 14)
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
if(spawn_mecha_type)
|
||||
var/obj/vehicle/sealed/mecha/M = new spawn_mecha_type (get_turf(src))
|
||||
if(istype(M))
|
||||
INVOKE_ASYNC(src, .proc/enter_mecha, M)
|
||||
INVOKE_ASYNC(src, PROC_REF(enter_mecha), M)
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/syndicate/mecha_pilot/proc/enter_mecha(obj/vehicle/sealed/mecha/M)
|
||||
@@ -233,7 +233,7 @@
|
||||
if(LAZYACCESSASSOC(mecha.occupant_actions, src, /datum/action/vehicle/sealed/mecha/mech_defense_mode) && !mecha.defense_mode)
|
||||
var/datum/action/action = mecha.occupant_actions[src][/datum/action/vehicle/sealed/mecha/mech_defense_mode]
|
||||
action.Trigger(TRUE)
|
||||
addtimer(CALLBACK(action, /datum/action/vehicle/sealed/mecha/mech_defense_mode.proc/Trigger, FALSE), 100) //10 seconds of defense, then toggle off
|
||||
addtimer(CALLBACK(action, TYPE_PROC_REF(/datum/action/vehicle/sealed/mecha/mech_defense_mode, Trigger), FALSE), 100) //10 seconds of defense, then toggle off
|
||||
|
||||
else if(prob(retreat_chance))
|
||||
//Speed boost if possible
|
||||
@@ -241,7 +241,7 @@
|
||||
var/datum/action/action = mecha.occupant_actions[src][/datum/action/vehicle/sealed/mecha/mech_overload_mode]
|
||||
mecha.leg_overload_mode = FALSE
|
||||
action.Trigger(TRUE)
|
||||
addtimer(CALLBACK(action, /datum/action/vehicle/sealed/mecha/mech_overload_mode.proc/Trigger, FALSE), 100) //10 seconds of speeeeed, then toggle off
|
||||
addtimer(CALLBACK(action, TYPE_PROC_REF(/datum/action/vehicle/sealed/mecha/mech_overload_mode, Trigger), FALSE), 100) //10 seconds of speeeeed, then toggle off
|
||||
|
||||
retreat_distance = 50
|
||||
addtimer(VARSET_CALLBACK(src, retreat_distance, 0), 10 SECONDS)
|
||||
|
||||
@@ -177,7 +177,7 @@ Difficulty: Medium
|
||||
wander = TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/proc/dash_attack()
|
||||
INVOKE_ASYNC(src, .proc/dash, target)
|
||||
INVOKE_ASYNC(src, PROC_REF(dash), target)
|
||||
shoot_ka()
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/proc/shoot_ka()
|
||||
@@ -259,7 +259,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
|
||||
@@ -286,7 +286,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))
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/doom
|
||||
name = "hostile-environment miner"
|
||||
|
||||
@@ -117,7 +117,7 @@ Difficulty: Hard
|
||||
SetRecoveryTime(15)
|
||||
else
|
||||
for(var/i = 1 to 5)
|
||||
INVOKE_ASYNC(src, .proc/hallucination_charge_around, 2, 10, 2, 0)
|
||||
INVOKE_ASYNC(src, PROC_REF(hallucination_charge_around), 2, 10, 2, 0)
|
||||
sleep(5)
|
||||
SetRecoveryTime(10)
|
||||
|
||||
@@ -254,7 +254,7 @@ Difficulty: Hard
|
||||
/mob/living/simple_animal/hostile/megafauna/bubblegum/proc/try_bloodattack()
|
||||
var/list/targets = get_mobs_on_blood()
|
||||
if(targets.len)
|
||||
INVOKE_ASYNC(src, .proc/bloodattack, targets, prob(50))
|
||||
INVOKE_ASYNC(src, PROC_REF(bloodattack), targets, prob(50))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
@@ -394,7 +394,7 @@ Difficulty: Hard
|
||||
change_move_delay(3.75)
|
||||
var/newcolor = rgb(149, 10, 10)
|
||||
add_atom_colour(newcolor, TEMPORARY_COLOUR_PRIORITY)
|
||||
var/datum/callback/cb = CALLBACK(src, .proc/blood_enrage_end)
|
||||
var/datum/callback/cb = CALLBACK(src, PROC_REF(blood_enrage_end))
|
||||
addtimer(cb, boost_time)
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/bubblegum/proc/blood_enrage_end(var/newcolor = rgb(149, 10, 10))
|
||||
@@ -441,7 +441,7 @@ Difficulty: Hard
|
||||
continue
|
||||
var/mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination/B = new /mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination(src.loc)
|
||||
B.forceMove(place)
|
||||
INVOKE_ASYNC(B, .proc/charge, chargeat, delay, chargepast)
|
||||
INVOKE_ASYNC(B, PROC_REF(charge), chargeat, delay, chargepast)
|
||||
if(useoriginal)
|
||||
charge(chargeat, delay, chargepast)
|
||||
|
||||
|
||||
@@ -82,7 +82,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
|
||||
@@ -93,7 +93,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(mapload)
|
||||
@@ -147,8 +147,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))
|
||||
|
||||
@@ -104,7 +104,7 @@ Difficulty: Extremely Hard
|
||||
if(easy_attack)
|
||||
snowball_machine_gun()
|
||||
else
|
||||
INVOKE_ASYNC(src, .proc/ice_shotgun, 5, list(list(-180, -140, -100, -60, -20, 20, 60, 100, 140), list(-160, -120, -80, -40, 0, 40, 80, 120, 160)))
|
||||
INVOKE_ASYNC(src, PROC_REF(ice_shotgun), 5, list(list(-180, -140, -100, -60, -20, 20, 60, 100, 140), list(-160, -120, -80, -40, 0, 40, 80, 120, 160)))
|
||||
snowball_machine_gun(5 * 8, 5)
|
||||
if(3)
|
||||
if(easy_attack)
|
||||
|
||||
@@ -131,7 +131,7 @@ Difficulty: Medium
|
||||
fire_cone()
|
||||
else
|
||||
if(prob(50) && !client)
|
||||
INVOKE_ASYNC(src, .proc/lava_pools, 10, 2)
|
||||
INVOKE_ASYNC(src, PROC_REF(lava_pools), 10, 2)
|
||||
fire_cone()
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/dragon/proc/lava_pools(var/amount, var/delay = 0.8)
|
||||
@@ -147,7 +147,7 @@ Difficulty: Medium
|
||||
sleep(delay)
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/dragon/proc/lava_swoop(var/amount = 30)
|
||||
INVOKE_ASYNC(src, .proc/lava_pools, amount)
|
||||
INVOKE_ASYNC(src, PROC_REF(lava_pools), amount)
|
||||
swoop_attack(FALSE, target, 1000) // longer cooldown until it gets reset below
|
||||
fire_cone()
|
||||
if(health < maxHealth*0.5)
|
||||
@@ -164,7 +164,7 @@ Difficulty: Medium
|
||||
var/increment = 360 / spiral_count
|
||||
for(var/j = 1 to spiral_count)
|
||||
var/list/turfs = line_target(j * increment + i * increment / 2, range, src)
|
||||
INVOKE_ASYNC(src, .proc/fire_line, turfs)
|
||||
INVOKE_ASYNC(src, PROC_REF(fire_line), turfs)
|
||||
sleep(25)
|
||||
SetRecoveryTime(30)
|
||||
|
||||
@@ -233,11 +233,11 @@ Difficulty: Medium
|
||||
var/range = 15
|
||||
var/list/turfs = list()
|
||||
turfs = line_target(-40, range, at)
|
||||
INVOKE_ASYNC(src, .proc/fire_line, turfs)
|
||||
INVOKE_ASYNC(src, PROC_REF(fire_line), turfs)
|
||||
turfs = line_target(0, range, at)
|
||||
INVOKE_ASYNC(src, .proc/fire_line, turfs)
|
||||
INVOKE_ASYNC(src, PROC_REF(fire_line), turfs)
|
||||
turfs = line_target(40, range, at)
|
||||
INVOKE_ASYNC(src, .proc/fire_line, turfs)
|
||||
INVOKE_ASYNC(src, PROC_REF(fire_line), turfs)
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/dragon/proc/line_target(var/offset, var/range, var/atom/at = target)
|
||||
if(!at)
|
||||
@@ -394,7 +394,7 @@ Difficulty: Medium
|
||||
|
||||
/obj/effect/temp_visual/lava_warning/Initialize(mapload, var/reset_time = 10)
|
||||
. = ..()
|
||||
INVOKE_ASYNC(src, .proc/fall, reset_time)
|
||||
INVOKE_ASYNC(src, PROC_REF(fall), reset_time)
|
||||
src.alpha = 63.75
|
||||
animate(src, alpha = 255, time = duration)
|
||||
|
||||
@@ -462,7 +462,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)
|
||||
|
||||
@@ -160,10 +160,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
|
||||
@@ -262,9 +262,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, TYPE_PROC_REF(/atom, update_atom_colour)), 8)
|
||||
@@ -310,13 +310,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)
|
||||
@@ -327,7 +327,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)
|
||||
@@ -338,7 +338,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)
|
||||
@@ -349,7 +349,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
|
||||
@@ -368,13 +368,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
|
||||
@@ -615,7 +615,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)
|
||||
@@ -689,7 +689,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)
|
||||
@@ -699,7 +699,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
|
||||
|
||||
@@ -114,7 +114,7 @@ Difficulty: Hard
|
||||
. = ..()
|
||||
stored_move_dirs &= ~direct
|
||||
if(!stored_move_dirs)
|
||||
INVOKE_ASYNC(src, .proc/ground_slam, stomp_range, 1)
|
||||
INVOKE_ASYNC(src, PROC_REF(ground_slam), stomp_range, 1)
|
||||
|
||||
/// Slams the ground around the wendigo throwing back enemies caught nearby
|
||||
/mob/living/simple_animal/hostile/megafauna/wendigo/proc/ground_slam(range, delay)
|
||||
|
||||
@@ -189,7 +189,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
|
||||
mychild.playsound_local(get_turf(mychild), 'sound/effects/magic.ogg', 40, 0)
|
||||
to_chat(mychild, "<b>Someone has activated your tumor. You will be returned to fight shortly, get ready!</b>")
|
||||
addtimer(CALLBACK(src, PROC_REF(return_elite)), 30)
|
||||
INVOKE_ASYNC(src, .proc/arena_checks)
|
||||
INVOKE_ASYNC(src, PROC_REF(arena_checks))
|
||||
if(TUMOR_INACTIVE)
|
||||
activity = TUMOR_ACTIVE
|
||||
var/mob/elitemind = null
|
||||
@@ -227,7 +227,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
|
||||
mychild.key = elitemind.key
|
||||
mychild.sentience_act()
|
||||
icon_state = "tumor_popped"
|
||||
INVOKE_ASYNC(src, .proc/arena_checks)
|
||||
INVOKE_ASYNC(src, PROC_REF(arena_checks))
|
||||
|
||||
/obj/structure/elite_tumor/proc/return_elite()
|
||||
mychild.forceMove(loc)
|
||||
@@ -274,9 +274,9 @@ While using this makes the system rely on OnFire, it still gives options for tim
|
||||
/obj/structure/elite_tumor/proc/arena_checks()
|
||||
if(activity != TUMOR_ACTIVE || QDELETED(src))
|
||||
return
|
||||
INVOKE_ASYNC(src, .proc/fighters_check) //Checks to see if our fighters died.
|
||||
INVOKE_ASYNC(src, .proc/arena_trap) //Gets another arena trap queued up for when this one runs out.
|
||||
INVOKE_ASYNC(src, .proc/border_check) //Checks to see if our fighters got out of the arena somehow.
|
||||
INVOKE_ASYNC(src, PROC_REF(fighters_check)) //Checks to see if our fighters died.
|
||||
INVOKE_ASYNC(src, PROC_REF(arena_trap)) //Gets another arena trap queued up for when this one runs out.
|
||||
INVOKE_ASYNC(src, PROC_REF(border_check)) //Checks to see if our fighters got out of the arena somehow.
|
||||
if(!QDELETED(src))
|
||||
addtimer(CALLBACK(src, PROC_REF(arena_checks)), 50)
|
||||
|
||||
|
||||
+1
-1
@@ -220,7 +220,7 @@
|
||||
|
||||
/obj/effect/temp_visual/goliath_tentacle/broodmother/patch/Initialize(mapload, new_spawner)
|
||||
. = ..()
|
||||
INVOKE_ASYNC(src, .proc/createpatch)
|
||||
INVOKE_ASYNC(src, PROC_REF(createpatch))
|
||||
|
||||
/obj/effect/temp_visual/goliath_tentacle/broodmother/patch/proc/createpatch()
|
||||
var/tentacle_locs = spiral_range_turfs(1, get_turf(src))
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
riot = new /datum/action/cooldown/riot
|
||||
riot.Grant(src)
|
||||
AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS)
|
||||
INVOKE_ASYNC(src, .proc/poll_for_player)
|
||||
INVOKE_ASYNC(src, PROC_REF(poll_for_player))
|
||||
|
||||
/mob/living/simple_animal/hostile/regalrat/proc/poll_for_player()
|
||||
var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as the Royal Rat, cheesey be his crown?", ROLE_SENTIENCE, null, FALSE, 100, POLL_IGNORE_SENTIENCE_POTION)
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
|
||||
/mob/living/simple_animal/hostile/wizard/handle_automated_action()
|
||||
. = ..()
|
||||
INVOKE_ASYNC(src, .proc/AutomatedCast)
|
||||
INVOKE_ASYNC(src, PROC_REF(AutomatedCast))
|
||||
|
||||
/mob/living/simple_animal/hostile/wizard/proc/AutomatedCast()
|
||||
if(target && next_cast < world.time)
|
||||
|
||||
@@ -455,7 +455,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
|
||||
newspeak.Add(possible_phrase)
|
||||
speak = newspeak
|
||||
|
||||
INVOKE_ASYNC(src, .proc/attempt_item_theft)
|
||||
INVOKE_ASYNC(src, PROC_REF(attempt_item_theft))
|
||||
return
|
||||
|
||||
//-----WANDERING - This is basically a 'I dont know what to do yet' state
|
||||
|
||||
@@ -391,7 +391,7 @@
|
||||
else if(CHECK_MOBILITY(src, MOBILITY_MOVE) && 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()
|
||||
|
||||
Reference in New Issue
Block a user