mirror of
https://github.com/KabKebab/GS13.git
synced 2026-02-09 23:27:37 +00:00
whoops, I missed some
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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