mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-09 07:02:15 +01:00
more changes
This commit is contained in:
@@ -25,7 +25,7 @@ GLOBAL_VAR_INIT(highlander, FALSE)
|
||||
send_to_playing_players("<span class='userdanger'>Bagpipes begin to blare. You feel Scottish pride coming over you.</span>")
|
||||
message_admins("<span class='adminnotice'>[key_name_admin(usr)] used (delayed) THERE CAN BE ONLY ONE!</span>")
|
||||
log_admin("[key_name(usr)] used delayed THERE CAN BE ONLY ONE.")
|
||||
addtimer(CALLBACK(src, .proc/only_one), 420)
|
||||
addtimer(CALLBACK(src,PROC_REF(only_one)), 420)
|
||||
|
||||
/mob/living/carbon/human/proc/make_scottish()
|
||||
mind.add_antag_datum(/datum/antagonist/highlander)
|
||||
@@ -1351,7 +1351,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
|
||||
if (limb.body_part == HEAD || limb.body_part == CHEST)
|
||||
continue
|
||||
addtimer(CALLBACK(limb, /obj/item/bodypart/.proc/dismember), timer)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, carbon_target, 'sound/effects/cartoon_pop.ogg', 70), 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)
|
||||
timer += 2 SECONDS
|
||||
if(ADMIN_PUNISHMENT_BREADIFY)
|
||||
@@ -1359,14 +1359,14 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
|
||||
var/mutable_appearance/bread_appearance = mutable_appearance('icons/obj/food/burgerbread.dmi', "bread")
|
||||
var/mutable_appearance/transform_scanline = mutable_appearance('icons/effects/effects.dmi', "transform_effect")
|
||||
target.transformation_animation(bread_appearance, time = BREADIFY_TIME, transform_overlay=transform_scanline, reset_after=TRUE)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/breadify, target), BREADIFY_TIME)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(breadify), target), BREADIFY_TIME)
|
||||
#undef BREADIFY_TIME
|
||||
if(ADMIN_PUNISHMENT_BOOKIFY)
|
||||
#define BOOKIFY_TIME (2 SECONDS)
|
||||
var/mutable_appearance/book_appearance = mutable_appearance('icons/obj/library.dmi', "book")
|
||||
var/mutable_appearance/transform_scanline = mutable_appearance('icons/effects/effects.dmi', "transform_effect")
|
||||
target.transformation_animation(book_appearance, time = BOOKIFY_TIME, transform_overlay=transform_scanline, reset_after=TRUE)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/bookify, target), BOOKIFY_TIME)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(bookify), target), BOOKIFY_TIME)
|
||||
playsound(target, 'hyperstation/sound/misc/bookify.ogg', 60, 1)
|
||||
#undef BOOKIFY_TIME
|
||||
if(ADMIN_PUNISHMENT_BONK)
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
/obj/item/clothing/glasses/judicial_visor/dropped(mob/user)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/check_on_mob, user), 1) //dropped is called before the item is out of the slot, so we need to check slightly later
|
||||
addtimer(CALLBACK(src,PROC_REF(check_on_mob), user), 1) //dropped is called before the item is out of the slot, so we need to check slightly later
|
||||
|
||||
/obj/item/clothing/glasses/judicial_visor/proc/check_on_mob(mob/user)
|
||||
if(user && src != user.get_item_by_slot(SLOT_GLASSES)) //if we happen to check and we AREN'T in the slot, we need to remove our shit from whoever we got dropped from
|
||||
@@ -161,7 +161,7 @@
|
||||
. = ..()
|
||||
set_light(1.4, 2, "#FE9C11")
|
||||
user = caster
|
||||
INVOKE_ASYNC(src, .proc/judicialblast)
|
||||
INVOKE_ASYNC(src,PROC_REF(judicialblast))
|
||||
|
||||
/obj/effect/clockwork/judicial_marker/singularity_act()
|
||||
return
|
||||
|
||||
@@ -290,7 +290,7 @@
|
||||
B.current.client.images += C.cult_team.blood_target_image
|
||||
attached_action.owner.update_action_buttons_icon()
|
||||
remove_ranged_ability("<span class='cult'>The marking rite is complete! It will last for 90 seconds.</span>")
|
||||
C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, .proc/reset_blood_target,C.cult_team), 900, TIMER_STOPPABLE)
|
||||
C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(reset_blood_target),C.cult_team), 900, TIMER_STOPPABLE)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
@@ -377,8 +377,8 @@
|
||||
desc = "Remove the Blood Mark you previously set."
|
||||
button_icon_state = "emp"
|
||||
owner.update_action_buttons_icon()
|
||||
C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, .proc/reset_blood_target,C.cult_team), base_cooldown, TIMER_STOPPABLE)
|
||||
addtimer(CALLBACK(src, .proc/reset_button), base_cooldown)
|
||||
C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(reset_blood_target),C.cult_team), base_cooldown, TIMER_STOPPABLE)
|
||||
addtimer(CALLBACK(src, PROC_REF(reset_button)), base_cooldown)
|
||||
|
||||
|
||||
//////// ELDRITCH PULSE /////////
|
||||
|
||||
@@ -258,7 +258,7 @@
|
||||
sword.spinning = TRUE
|
||||
sword.block_chance = 100
|
||||
sword.slowdown += 1.5
|
||||
addtimer(CALLBACK(src, .proc/stop_spinning), 50)
|
||||
addtimer(CALLBACK(src,PROC_REF(stop_spinning)), 50)
|
||||
holder.update_action_buttons_icon()
|
||||
|
||||
/datum/action/innate/cult/spin2win/proc/stop_spinning()
|
||||
@@ -849,10 +849,10 @@
|
||||
qdel(src)
|
||||
return
|
||||
charging = TRUE
|
||||
INVOKE_ASYNC(src, .proc/charge, user)
|
||||
INVOKE_ASYNC(src,PROC_REF(charge), user)
|
||||
if(do_after(user, 90, target = user))
|
||||
firing = TRUE
|
||||
INVOKE_ASYNC(src, .proc/pewpew, user, params)
|
||||
INVOKE_ASYNC(src,PROC_REF(pewpew), user, params)
|
||||
var/obj/structure/emergency_shield/invoker/N = new(user.loc)
|
||||
if(do_after(user, 90, target = user))
|
||||
user.Knockdown(40)
|
||||
|
||||
@@ -437,7 +437,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
outer_portal = new(T, 600, color)
|
||||
light_range = 4
|
||||
update_light()
|
||||
addtimer(CALLBACK(src, .proc/close_portal), 600, TIMER_UNIQUE)
|
||||
addtimer(CALLBACK(src,PROC_REF(close_portal)), 600, TIMER_UNIQUE)
|
||||
|
||||
/obj/effect/rune/teleport/proc/close_portal()
|
||||
qdel(inner_portal)
|
||||
@@ -663,7 +663,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
W.density = TRUE
|
||||
W.update_state()
|
||||
W.spread_density()
|
||||
density_timer = addtimer(CALLBACK(src, .proc/lose_density), 3000, TIMER_STOPPABLE)
|
||||
density_timer = addtimer(CALLBACK(src,PROC_REF(lose_density)), 3000, TIMER_STOPPABLE)
|
||||
|
||||
/obj/effect/rune/wall/proc/lose_density()
|
||||
if(density)
|
||||
@@ -673,7 +673,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
var/oldcolor = color
|
||||
add_atom_colour("#696969", FIXED_COLOUR_PRIORITY)
|
||||
animate(src, color = oldcolor, time = 50, easing = EASE_IN)
|
||||
addtimer(CALLBACK(src, .proc/recharge), 50)
|
||||
addtimer(CALLBACK(src,PROC_REF(recharge)), 50)
|
||||
|
||||
/obj/effect/rune/wall/proc/recharge()
|
||||
recharging = FALSE
|
||||
@@ -991,7 +991,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
if(ishuman(M))
|
||||
if(!iscultist(M))
|
||||
AH.remove_hud_from(M)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/hudFix, M), duration)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(hudFix), M), duration)
|
||||
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)
|
||||
|
||||
@@ -435,7 +435,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
|
||||
|
||||
minor_announce("Hostile runtime detected in door controllers. Isolation lockdown protocols are now in effect. Please remain calm.","Network Alert:", TRUE)
|
||||
to_chat(owner, "<span class='danger'>Lockdown initiated. Network reset in 90 seconds.</span>")
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/minor_announce,
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(minor_announce),
|
||||
"Automatic system reboot complete. Have a secure day.",
|
||||
"Network reset:"), 900)
|
||||
|
||||
@@ -706,7 +706,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
|
||||
I.loc = T
|
||||
client.images += I
|
||||
I.icon_state = "[success ? "green" : "red"]Overlay" //greenOverlay and redOverlay for success and failure respectively
|
||||
addtimer(CALLBACK(src, .proc/remove_transformer_image, client, I, T), 30)
|
||||
addtimer(CALLBACK(src,PROC_REF(remove_transformer_image), client, I, T), 30)
|
||||
if(!success)
|
||||
to_chat(src, "<span class='warning'>[alert_msg]</span>")
|
||||
return success
|
||||
|
||||
@@ -234,7 +234,7 @@
|
||||
to_chat(I.owner, "<span class='warning'>Your photon projector implant overheats and deactivates!</span>")
|
||||
I.Retract()
|
||||
overheat = TRUE
|
||||
addtimer(CALLBACK(src, .proc/cooldown), flashcd * 2)
|
||||
addtimer(CALLBACK(src,PROC_REF(cooldown)), flashcd * 2)
|
||||
|
||||
/obj/item/assembly/flash/armimplant/try_use_flash(mob/user = null)
|
||||
if(overheat)
|
||||
@@ -242,7 +242,7 @@
|
||||
to_chat(I.owner, "<span class='warning'>Your photon projector is running too hot to be used again so quickly!</span>")
|
||||
return FALSE
|
||||
overheat = TRUE
|
||||
addtimer(CALLBACK(src, .proc/cooldown), flashcd)
|
||||
addtimer(CALLBACK(src,PROC_REF(cooldown)), flashcd)
|
||||
playsound(src, 'sound/weapons/flash.ogg', 100, TRUE)
|
||||
update_icon(1)
|
||||
return TRUE
|
||||
|
||||
@@ -293,7 +293,7 @@ GLOBAL_LIST_INIT(hallucination_list, list(
|
||||
target.client.images |= fakerune
|
||||
target.playsound_local(wall,'sound/effects/meteorimpact.ogg', 150, 1)
|
||||
bubblegum = new(wall, target)
|
||||
addtimer(CALLBACK(src, .proc/bubble_attack, landing), 10)
|
||||
addtimer(CALLBACK(src,PROC_REF(bubble_attack), landing), 10)
|
||||
|
||||
/datum/hallucination/oh_yeah/proc/bubble_attack(turf/landing)
|
||||
var/charged = FALSE //only get hit once
|
||||
@@ -1099,7 +1099,7 @@ GLOBAL_LIST_INIT(hallucination_list, list(
|
||||
return
|
||||
to_chat(target, "<span class='userdanger'>You fall into the chasm!</span>")
|
||||
target.Knockdown(40)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, target, "<span class='notice'>It's surprisingly shallow.</span>"), 15)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), target, "<span class='notice'>It's surprisingly shallow.</span>"), 15)
|
||||
QDEL_IN(src, 30)
|
||||
|
||||
/obj/effect/hallucination/danger/anomaly
|
||||
@@ -1222,13 +1222,13 @@ GLOBAL_LIST_INIT(hallucination_list, list(
|
||||
if(target.client)
|
||||
target.client.images |= shock_image
|
||||
target.client.images |= electrocution_skeleton_anim
|
||||
addtimer(CALLBACK(src, .proc/reset_shock_animation), 40)
|
||||
addtimer(CALLBACK(src,PROC_REF(reset_shock_animation)), 40)
|
||||
target.playsound_local(get_turf(src), "sparks", 100, 1)
|
||||
target.staminaloss += 50
|
||||
target.Stun(40)
|
||||
target.jitteriness += 1000
|
||||
target.do_jitter_animation(target.jitteriness)
|
||||
addtimer(CALLBACK(src, .proc/shock_drop), 20)
|
||||
addtimer(CALLBACK(src,PROC_REF(shock_drop)), 20)
|
||||
|
||||
/datum/hallucination/shock/proc/reset_shock_animation()
|
||||
if(target.client)
|
||||
|
||||
@@ -376,7 +376,7 @@
|
||||
playsound(src, 'sound/effects/fuse.ogg', 100, 0)
|
||||
message_admins("[ADMIN_LOOKUPFLW(user)] ignited a coconut bomb for detonation at [ADMIN_VERBOSEJMP(user)] [pretty_string_from_reagent_list(reagents.reagent_list)]")
|
||||
log_game("[key_name(user)] primed a coconut grenade for detonation at [AREACOORD(user)].")
|
||||
addtimer(CALLBACK(src, .proc/prime), 5 SECONDS)
|
||||
addtimer(CALLBACK(src,PROC_REF(prime)), 5 SECONDS)
|
||||
icon_state = "coconut_grenade_active"
|
||||
desc = "RUN!"
|
||||
if(!seed.get_gene(/datum/plant_gene/trait/glow))
|
||||
|
||||
@@ -343,7 +343,7 @@
|
||||
/obj/effect/wisp/orbit(atom/thing, radius, clockwise, rotation_speed, rotation_segments, pre_rotation, lockinorbit)
|
||||
. = ..()
|
||||
if(ismob(thing))
|
||||
RegisterSignal(thing, COMSIG_MOB_UPDATE_SIGHT, .proc/update_user_sight)
|
||||
RegisterSignal(thing, COMSIG_MOB_UPDATE_SIGHT,PROC_REF(update_user_sight))
|
||||
var/mob/being = thing
|
||||
being.update_sight()
|
||||
to_chat(thing, "<span class='notice'>The wisp enhances your vision.</span>")
|
||||
@@ -527,7 +527,7 @@
|
||||
|
||||
can_destroy = FALSE
|
||||
|
||||
addtimer(CALLBACK(src, .proc/unvanish, user), 10 SECONDS)
|
||||
addtimer(CALLBACK(src,PROC_REF(unvanish), user), 10 SECONDS)
|
||||
|
||||
/obj/effect/immortality_talisman/proc/unvanish(mob/user)
|
||||
user.status_flags &= ~GODMODE
|
||||
@@ -1148,11 +1148,11 @@
|
||||
calculate_anger_mod(user)
|
||||
timer = world.time + CLICK_CD_MELEE //by default, melee attacks only cause melee blasts, and have an accordingly short cooldown
|
||||
if(proximity_flag)
|
||||
INVOKE_ASYNC(src, .proc/aoe_burst, T, user)
|
||||
INVOKE_ASYNC(src,PROC_REF(aoe_burst), T, user)
|
||||
log_combat(user, target, "fired 3x3 blast at", src)
|
||||
else
|
||||
if(ismineralturf(target) && get_dist(user, target) < 6) //target is minerals, we can hit it(even if we can't see it)
|
||||
INVOKE_ASYNC(src, .proc/cardinal_blasts, T, user)
|
||||
INVOKE_ASYNC(src,PROC_REF(cardinal_blasts), T, user)
|
||||
timer = world.time + cooldown_time
|
||||
else if(target in view(5, get_turf(user))) //if the target is in view, hit it
|
||||
timer = world.time + cooldown_time
|
||||
@@ -1163,12 +1163,12 @@
|
||||
C.monster_damage_boost = FALSE
|
||||
log_combat(user, target, "fired a chaser at", src)
|
||||
else
|
||||
INVOKE_ASYNC(src, .proc/cardinal_blasts, T, user) //otherwise, just do cardinal blast
|
||||
INVOKE_ASYNC(src,PROC_REF(cardinal_blasts), T, user) //otherwise, just do cardinal blast
|
||||
log_combat(user, target, "fired cardinal blast at", src)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>That target is out of range!</span>" )
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src,PROC_REF(prepare_icon_update))
|
||||
|
||||
/obj/item/hierophant_club/proc/calculate_anger_mod(mob/user) //we get stronger as the user loses health
|
||||
chaser_cooldown = initial(chaser_cooldown)
|
||||
@@ -1211,7 +1211,7 @@
|
||||
user.visible_message("<span class='hierophant_warning'>[user] starts fiddling with [src]'s pommel...</span>", \
|
||||
"<span class='notice'>You start detaching the hierophant beacon...</span>")
|
||||
timer = world.time + 51
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src,PROC_REF(prepare_icon_update))
|
||||
if(do_after(user, 50, target = user) && !beacon)
|
||||
var/turf/T = get_turf(user)
|
||||
playsound(T,'sound/magic/blind.ogg', 200, 1, -4)
|
||||
@@ -1223,7 +1223,7 @@
|
||||
<span class='notice'>You can remove the beacon to place it again by striking it with the club.</span>")
|
||||
else
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src,PROC_REF(prepare_icon_update))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need to be on solid ground to detach the beacon!</span>")
|
||||
return
|
||||
@@ -1240,7 +1240,7 @@
|
||||
user.update_action_buttons_icon()
|
||||
user.visible_message("<span class='hierophant_warning'>[user] starts to glow faintly...</span>")
|
||||
timer = world.time + 50
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src,PROC_REF(prepare_icon_update))
|
||||
beacon.icon_state = "hierophant_tele_on"
|
||||
var/obj/effect/temp_visual/hierophant/telegraph/edge/TE1 = new /obj/effect/temp_visual/hierophant/telegraph/edge(user.loc)
|
||||
var/obj/effect/temp_visual/hierophant/telegraph/edge/TE2 = new /obj/effect/temp_visual/hierophant/telegraph/edge(beacon.loc)
|
||||
@@ -1252,7 +1252,7 @@
|
||||
to_chat(user, "<span class='warning'>The beacon is blocked by something, preventing teleportation!</span>")
|
||||
user.update_action_buttons_icon()
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src,PROC_REF(prepare_icon_update))
|
||||
beacon.icon_state = "hierophant_tele_off"
|
||||
return
|
||||
new /obj/effect/temp_visual/hierophant/telegraph(T, user)
|
||||
@@ -1264,7 +1264,7 @@
|
||||
if(user)
|
||||
user.update_action_buttons_icon()
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src,PROC_REF(prepare_icon_update))
|
||||
if(beacon)
|
||||
beacon.icon_state = "hierophant_tele_off"
|
||||
return
|
||||
@@ -1273,7 +1273,7 @@
|
||||
to_chat(user, "<span class='warning'>The beacon is blocked by something, preventing teleportation!</span>")
|
||||
user.update_action_buttons_icon()
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src,PROC_REF(prepare_icon_update))
|
||||
beacon.icon_state = "hierophant_tele_off"
|
||||
return
|
||||
user.log_message("teleported self from [AREACOORD(source)] to [beacon]")
|
||||
@@ -1286,7 +1286,7 @@
|
||||
var/obj/effect/temp_visual/hierophant/blast/B = new /obj/effect/temp_visual/hierophant/blast(t, user, TRUE) //but absolutely will hurt enemies
|
||||
B.damage = 30
|
||||
for(var/mob/living/L in range(1, source))
|
||||
INVOKE_ASYNC(src, .proc/teleport_mob, source, L, T, user) //regardless, take all mobs near us along
|
||||
INVOKE_ASYNC(src,PROC_REF(teleport_mob), source, L, T, user) //regardless, take all mobs near us along
|
||||
sleep(6) //at this point the blasts detonate
|
||||
if(beacon)
|
||||
beacon.icon_state = "hierophant_tele_off"
|
||||
@@ -1294,7 +1294,7 @@
|
||||
qdel(TE1)
|
||||
qdel(TE2)
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, .proc/prepare_icon_update)
|
||||
INVOKE_ASYNC(src,PROC_REF(prepare_icon_update))
|
||||
if(beacon)
|
||||
beacon.icon_state = "hierophant_tele_off"
|
||||
teleporting = FALSE
|
||||
@@ -1333,7 +1333,7 @@
|
||||
sleep(2)
|
||||
new /obj/effect/temp_visual/hierophant/blast(T, user, friendly_fire_check)
|
||||
for(var/d in GLOB.cardinals)
|
||||
INVOKE_ASYNC(src, .proc/blast_wall, T, d, user)
|
||||
INVOKE_ASYNC(src,PROC_REF(blast_wall), T, d, user)
|
||||
|
||||
/obj/item/hierophant_club/proc/blast_wall(turf/T, dir, mob/living/user) //make a wall of blasts blast_range tiles long
|
||||
if(!T)
|
||||
@@ -1480,8 +1480,8 @@
|
||||
. = ..()
|
||||
if(slot == ITEM_SLOT_GLOVES)
|
||||
tool_behaviour = TOOL_MINING
|
||||
RegisterSignal(user, COMSIG_HUMAN_EARLY_UNARMED_ATTACK, .proc/rocksmash)
|
||||
RegisterSignal(user, COMSIG_MOVABLE_BUMP, .proc/rocksmash)
|
||||
RegisterSignal(user, COMSIG_HUMAN_EARLY_UNARMED_ATTACK,PROC_REF(rocksmash))
|
||||
RegisterSignal(user, COMSIG_MOVABLE_BUMP,PROC_REF(rocksmash))
|
||||
else
|
||||
stopmining(user)
|
||||
|
||||
|
||||
@@ -476,7 +476,7 @@
|
||||
var/mob/living/carbon/human/H = owner
|
||||
H.visible_message("<span class='warning'>[H] starts vibrating!</span>", "<span class='danger'>You start charging your bluespace core...</span>")
|
||||
playsound(get_turf(H), 'sound/weapons/flash.ogg', 25, 1)
|
||||
addtimer(CALLBACK(src, .proc/teleport, H), 15)
|
||||
addtimer(CALLBACK(src,PROC_REF(teleport), H), 15)
|
||||
|
||||
/datum/action/innate/unstable_teleport/proc/teleport(mob/living/carbon/human/H)
|
||||
H.visible_message("<span class='warning'>[H] disappears in a shower of sparks!</span>", "<span class='danger'>You teleport!</span>")
|
||||
@@ -517,7 +517,7 @@
|
||||
..()
|
||||
last_banana = world.time
|
||||
last_honk = world.time
|
||||
RegisterSignal(C, COMSIG_MOB_SAY, .proc/handle_speech)
|
||||
RegisterSignal(C, COMSIG_MOB_SAY,PROC_REF(handle_speech))
|
||||
|
||||
/datum/species/golem/bananium/on_species_loss(mob/living/carbon/C)
|
||||
. = ..()
|
||||
@@ -648,7 +648,7 @@
|
||||
/datum/species/golem/clockwork/on_species_gain(mob/living/carbon/human/H)
|
||||
. = ..()
|
||||
H.faction |= "ratvar"
|
||||
RegisterSignal(H, COMSIG_MOB_SAY, .proc/handle_speech)
|
||||
RegisterSignal(H, COMSIG_MOB_SAY,PROC_REF(handle_speech))
|
||||
|
||||
/datum/species/golem/clockwork/on_species_loss(mob/living/carbon/human/H)
|
||||
if(!is_servant_of_ratvar(H))
|
||||
@@ -756,7 +756,7 @@
|
||||
H.forceMove(src)
|
||||
cloth_golem = H
|
||||
to_chat(cloth_golem, "<span class='notice'>You start gathering your life energy, preparing to rise again...</span>")
|
||||
addtimer(CALLBACK(src, .proc/revive), revive_time)
|
||||
addtimer(CALLBACK(src,PROC_REF(revive)), revive_time)
|
||||
else
|
||||
return INITIALIZE_HINT_QDEL
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
playsound(src, 'sound/machines/ping.ogg', 50, TRUE, -1) //the first sound upon creation!
|
||||
spam_flag = TRUE
|
||||
sensor_blink()
|
||||
addtimer(CALLBACK(src, .proc/spam_flag_false), 18) // calibrates before starting the honk
|
||||
addtimer(CALLBACK(src,PROC_REF(spam_flag_false)), 18) // calibrates before starting the honk
|
||||
|
||||
/mob/living/simple_animal/bot/honkbot/proc/react_buzz()
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE, -1)
|
||||
@@ -114,7 +114,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
|
||||
/mob/living/simple_animal/bot/honkbot/attack_hand(mob/living/carbon/human/H)
|
||||
if(H.a_intent == INTENT_HARM)
|
||||
retaliate(H)
|
||||
addtimer(CALLBACK(src, .proc/react_buzz), 5)
|
||||
addtimer(CALLBACK(src,PROC_REF(react_buzz)), 5)
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
|
||||
return
|
||||
if(!istype(W, /obj/item/screwdriver) && (W.force) && (!target) && (W.damtype != STAMINA) ) // Check for welding tool to fix #2432.
|
||||
retaliate(user)
|
||||
addtimer(CALLBACK(src, .proc/react_buzz), 5)
|
||||
addtimer(CALLBACK(src,PROC_REF(react_buzz)), 5)
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/bot/honkbot/emag_act(mob/user)
|
||||
@@ -171,21 +171,21 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
|
||||
playsound(src, honksound, 50, TRUE, -1)
|
||||
spam_flag = TRUE //prevent spam
|
||||
sensor_blink()
|
||||
addtimer(CALLBACK(src, .proc/spam_flag_false), cooldowntimehorn)
|
||||
addtimer(CALLBACK(src,PROC_REF(spam_flag_false)), cooldowntimehorn)
|
||||
else if (emagged == 2) //emagged honkbots will spam short and memorable sounds.
|
||||
if (!spam_flag)
|
||||
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, .proc/spam_flag_false), cooldowntimehorn)
|
||||
addtimer(CALLBACK(src,PROC_REF(spam_flag_false)), cooldowntimehorn)
|
||||
|
||||
/mob/living/simple_animal/bot/honkbot/proc/honk_attack(mob/living/carbon/C) // horn attack
|
||||
if(!spam_flag)
|
||||
playsound(loc, honksound, 50, TRUE, -1)
|
||||
spam_flag = TRUE // prevent spam
|
||||
sensor_blink()
|
||||
addtimer(CALLBACK(src, .proc/spam_flag_false), cooldowntimehorn)
|
||||
addtimer(CALLBACK(src,PROC_REF(spam_flag_false)), cooldowntimehorn)
|
||||
|
||||
/mob/living/simple_animal/bot/honkbot/proc/stun_attack(mob/living/carbon/C) // airhorn stun
|
||||
if(!spam_flag)
|
||||
@@ -207,7 +207,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
|
||||
target = oldtarget_name
|
||||
else // you really don't want to hit an emagged honkbot
|
||||
threatlevel = 6 // will never let you go
|
||||
addtimer(CALLBACK(src, .proc/spam_flag_false), cooldowntime)
|
||||
addtimer(CALLBACK(src,PROC_REF(spam_flag_false)), cooldowntime)
|
||||
|
||||
log_combat(src,C,"honked")
|
||||
|
||||
@@ -216,7 +216,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
|
||||
else
|
||||
C.stuttering = 20
|
||||
C.Knockdown(80)
|
||||
addtimer(CALLBACK(src, .proc/spam_flag_false), cooldowntime)
|
||||
addtimer(CALLBACK(src,PROC_REF(spam_flag_false)), cooldowntime)
|
||||
|
||||
|
||||
/mob/living/simple_animal/bot/honkbot/handle_automated_action()
|
||||
@@ -280,13 +280,13 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
|
||||
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
|
||||
@@ -316,7 +316,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
|
||||
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
|
||||
|
||||
@@ -154,7 +154,7 @@ Auto Patrol: []"},
|
||||
|
||||
/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
|
||||
@@ -237,7 +237,7 @@ Auto Patrol: []"},
|
||||
playsound(src, 'sound/weapons/cablecuff.ogg', 30, TRUE, -2)
|
||||
C.visible_message("<span class='danger'>[src] is trying to put zipties on [C]!</span>",\
|
||||
"<span class='userdanger'>[src] is trying to put zipties on you!</span>")
|
||||
addtimer(CALLBACK(src, .proc/attempt_handcuff, C), 60)
|
||||
addtimer(CALLBACK(src,PROC_REF(attempt_handcuff), C), 60)
|
||||
|
||||
/mob/living/simple_animal/bot/secbot/proc/attempt_handcuff(mob/living/carbon/C)
|
||||
if( !on || !Adjacent(C) || !isturf(C.loc) ) //if he's in a closet or not adjacent, we cancel cuffing.
|
||||
@@ -258,11 +258,11 @@ Auto Patrol: []"},
|
||||
C.stuttering = 5
|
||||
C.Knockdown(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
|
||||
C.Knockdown(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)
|
||||
@@ -365,13 +365,13 @@ Auto Patrol: []"},
|
||||
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()
|
||||
@@ -384,7 +384,7 @@ Auto Patrol: []"},
|
||||
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
|
||||
@@ -396,7 +396,7 @@ Auto Patrol: []"},
|
||||
playsound(loc, pick('sound/voice/beepsky/criminal.ogg', 'sound/voice/beepsky/justice.ogg', 'sound/voice/beepsky/freeze.ogg'), 50, FALSE)
|
||||
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
|
||||
|
||||
@@ -263,7 +263,7 @@
|
||||
else
|
||||
for(var/obj/machinery/am_shielding/AMS in linked_shielding)
|
||||
AMS.update_icon()
|
||||
addtimer(CALLBACK(src, .proc/reset_shield_icon_delay), 20)
|
||||
addtimer(CALLBACK(src,PROC_REF(reset_shield_icon_delay)), 20)
|
||||
|
||||
/obj/machinery/power/am_control_unit/proc/reset_shield_icon_delay()
|
||||
shield_icon_delay = 0
|
||||
@@ -276,7 +276,7 @@
|
||||
for(var/obj/machinery/am_shielding/AMS in linked_cores)
|
||||
stored_core_stability += AMS.stability
|
||||
stored_core_stability/=linked_cores.len
|
||||
addtimer(CALLBACK(src, .proc/reset_stored_core_stability_delay), 40)
|
||||
addtimer(CALLBACK(src,PROC_REF(reset_stored_core_stability_delay)), 40)
|
||||
|
||||
/obj/machinery/power/am_control_unit/proc/reset_stored_core_stability_delay()
|
||||
stored_core_stability_delay = 0
|
||||
|
||||
@@ -182,7 +182,7 @@
|
||||
name = "[area.name] APC"
|
||||
stat |= MAINT
|
||||
src.update_icon()
|
||||
addtimer(CALLBACK(src, .proc/update), 5)
|
||||
addtimer(CALLBACK(src,PROC_REF(update)), 5)
|
||||
|
||||
/obj/machinery/power/apc/Destroy()
|
||||
GLOB.apcs_list -= src
|
||||
@@ -240,7 +240,7 @@
|
||||
|
||||
make_terminal()
|
||||
|
||||
addtimer(CALLBACK(src, .proc/update), 5)
|
||||
addtimer(CALLBACK(src,PROC_REF(update)), 5)
|
||||
|
||||
/obj/machinery/power/apc/examine(mob/user)
|
||||
. = ..()
|
||||
@@ -1362,7 +1362,7 @@
|
||||
environ = 0
|
||||
update_icon()
|
||||
update()
|
||||
addtimer(CALLBACK(src, .proc/reset, APC_RESET_EMP), 600)
|
||||
addtimer(CALLBACK(src,PROC_REF(reset), APC_RESET_EMP), 600)
|
||||
|
||||
/obj/machinery/power/apc/blob_act(obj/structure/blob/B)
|
||||
set_broken()
|
||||
@@ -1389,7 +1389,7 @@
|
||||
return
|
||||
if( cell && cell.charge>=20)
|
||||
cell.use(20)
|
||||
INVOKE_ASYNC(src, .proc/break_lights)
|
||||
INVOKE_ASYNC(src,PROC_REF(break_lights))
|
||||
|
||||
/obj/machinery/power/apc/proc/break_lights()
|
||||
for(var/obj/machinery/light/L in area)
|
||||
|
||||
@@ -273,7 +273,7 @@
|
||||
if(burst_size > 1)
|
||||
firing_burst = TRUE
|
||||
for(var/i = 1 to burst_size)
|
||||
addtimer(CALLBACK(src, .proc/process_burst, user, target, message, params, zone_override, sprd, randomized_gun_spread, randomized_bonus_spread, rand_spr, i), fire_delay * (i - 1))
|
||||
addtimer(CALLBACK(src,PROC_REF(process_burst), user, target, message, params, zone_override, sprd, randomized_gun_spread, randomized_bonus_spread, rand_spr, i), fire_delay * (i - 1))
|
||||
else
|
||||
if(chambered)
|
||||
if(HAS_TRAIT(user, TRAIT_PACIFISM)) // If the user has the pacifist trait, then they won't be able to fire [src] if the round chambered inside of [src] is lethal.
|
||||
@@ -296,7 +296,7 @@
|
||||
process_chamber(user)
|
||||
update_icon()
|
||||
semicd = TRUE
|
||||
addtimer(CALLBACK(src, .proc/reset_semicd), fire_delay)
|
||||
addtimer(CALLBACK(src,PROC_REF(reset_semicd)), fire_delay)
|
||||
|
||||
if(user)
|
||||
user.update_inv_hands()
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
if(com.power_station && com.power_station.teleporter_hub && com.power_station.engaged)
|
||||
teletarget = com.target
|
||||
|
||||
addtimer(CALLBACK(src, .proc/pop, teletarget), 30)
|
||||
addtimer(CALLBACK(src,PROC_REF(pop), teletarget), 30)
|
||||
|
||||
/obj/effect/nettingportal/proc/pop(teletarget)
|
||||
if(teletarget)
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
layer = ABOVE_MOB_LAYER
|
||||
hal_target.client.images += blood
|
||||
animate(blood, pixel_x = target_pixel_x, pixel_y = target_pixel_y, alpha = 0, time = 5)
|
||||
addtimer(CALLBACK(src, .proc/cleanup_blood), 5)
|
||||
addtimer(CALLBACK(src,PROC_REF(cleanup_blood)), 5)
|
||||
|
||||
/obj/item/projectile/hallucination/proc/cleanup_blood(image/blood)
|
||||
hal_target.client.images -= blood
|
||||
|
||||
@@ -112,11 +112,11 @@
|
||||
var/obj/item/slime_extract/M = holder.my_atom
|
||||
deltimer(M.qdel_timer)
|
||||
..()
|
||||
M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE)
|
||||
M.qdel_timer = addtimer(CALLBACK(src,PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE)
|
||||
|
||||
/datum/chemical_reaction/slime/slimemobspawn/proc/summon_mobs(datum/reagents/holder, turf/T)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate violently!</span>")
|
||||
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 5, "Gold Slime", HOSTILE_SPAWN), 50)
|
||||
addtimer(CALLBACK(src,PROC_REF(chemical_mob_spawn), holder, 5, "Gold Slime", HOSTILE_SPAWN), 50)
|
||||
|
||||
/datum/chemical_reaction/slime/slimemobspawn/lesser
|
||||
name = "Slime Crit Lesser"
|
||||
@@ -125,7 +125,7 @@
|
||||
|
||||
/datum/chemical_reaction/slime/slimemobspawn/lesser/summon_mobs(datum/reagents/holder, turf/T)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate violently!</span>")
|
||||
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 3, "Lesser Gold Slime", HOSTILE_SPAWN, "neutral"), 50)
|
||||
addtimer(CALLBACK(src,PROC_REF(chemical_mob_spawn), holder, 3, "Lesser Gold Slime", HOSTILE_SPAWN, "neutral"), 50)
|
||||
|
||||
/datum/chemical_reaction/slime/slimemobspawn/friendly
|
||||
name = "Slime Crit Friendly"
|
||||
@@ -134,7 +134,7 @@
|
||||
|
||||
/datum/chemical_reaction/slime/slimemobspawn/friendly/summon_mobs(datum/reagents/holder, turf/T)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate adorably!</span>")
|
||||
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 1, "Friendly Gold Slime", FRIENDLY_SPAWN, "neutral"), 50)
|
||||
addtimer(CALLBACK(src,PROC_REF(chemical_mob_spawn), holder, 1, "Friendly Gold Slime", FRIENDLY_SPAWN, "neutral"), 50)
|
||||
|
||||
//Silver
|
||||
/datum/chemical_reaction/slime/slimebork
|
||||
@@ -217,11 +217,11 @@
|
||||
/datum/chemical_reaction/slime/slimefreeze/on_reaction(datum/reagents/holder)
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
T.visible_message("<span class='danger'>The slime extract starts to feel extremely cold!</span>")
|
||||
addtimer(CALLBACK(src, .proc/freeze, holder), 50)
|
||||
addtimer(CALLBACK(src,PROC_REF(freeze), holder), 50)
|
||||
var/obj/item/slime_extract/M = holder.my_atom
|
||||
deltimer(M.qdel_timer)
|
||||
..()
|
||||
M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE)
|
||||
M.qdel_timer = addtimer(CALLBACK(src,PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE)
|
||||
|
||||
/datum/chemical_reaction/slime/slimefreeze/proc/freeze(datum/reagents/holder)
|
||||
if(holder && holder.my_atom)
|
||||
@@ -261,11 +261,11 @@
|
||||
/datum/chemical_reaction/slime/slimefire/on_reaction(datum/reagents/holder)
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate adorably!</span>")
|
||||
addtimer(CALLBACK(src, .proc/slime_burn, holder), 50)
|
||||
addtimer(CALLBACK(src,PROC_REF(slime_burn), holder), 50)
|
||||
var/obj/item/slime_extract/M = holder.my_atom
|
||||
deltimer(M.qdel_timer)
|
||||
..()
|
||||
M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE)
|
||||
M.qdel_timer = addtimer(CALLBACK(src,PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE)
|
||||
|
||||
/datum/chemical_reaction/slime/slimefire/proc/slime_burn(datum/reagents/holder)
|
||||
if(holder && holder.my_atom)
|
||||
@@ -442,11 +442,11 @@
|
||||
message_admins("Slime Explosion reaction started at [ADMIN_VERBOSEJMP(T)]. Last Fingerprint: [touch_msg]")
|
||||
log_game("Slime Explosion reaction started at [AREACOORD(T)]. Last Fingerprint: [lastkey ? lastkey : "N/A"].")
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate violently !</span>")
|
||||
addtimer(CALLBACK(src, .proc/boom, holder), 50)
|
||||
addtimer(CALLBACK(src,PROC_REF(boom), holder), 50)
|
||||
var/obj/item/slime_extract/M = holder.my_atom
|
||||
deltimer(M.qdel_timer)
|
||||
..()
|
||||
M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE)
|
||||
M.qdel_timer = addtimer(CALLBACK(src,PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE)
|
||||
|
||||
/datum/chemical_reaction/slime/slimeexplosion/proc/boom(datum/reagents/holder)
|
||||
if(holder && holder.my_atom)
|
||||
|
||||
@@ -463,7 +463,7 @@
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You feel your skin harden and become more resistant.</span>")
|
||||
species.armor += 25
|
||||
addtimer(CALLBACK(src, .proc/reset_armor, species), 1200)
|
||||
addtimer(CALLBACK(src,PROC_REF(reset_armor), species), 1200)
|
||||
return 450
|
||||
|
||||
if(SLIME_ACTIVATE_MAJOR)
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
know it'll be worth it.</span>")
|
||||
icon_state = "slots2"
|
||||
playsound(src, 'sound/lavaland/cursed_slot_machine.ogg', 50, 0)
|
||||
addtimer(CALLBACK(src, .proc/determine_victor, user), 50)
|
||||
addtimer(CALLBACK(src,PROC_REF(determine_victor), user), 50)
|
||||
|
||||
/obj/structure/cursed_slot_machine/proc/determine_victor(mob/living/user)
|
||||
icon_state = "slots1"
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
/obj/structure/cursed_money/Initialize()
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/collapse), 600)
|
||||
addtimer(CALLBACK(src,PROC_REF(collapse)), 600)
|
||||
|
||||
/obj/structure/cursed_money/proc/collapse()
|
||||
visible_message("<span class='warning'>[src] falls in on itself, \
|
||||
|
||||
@@ -418,7 +418,7 @@
|
||||
for(var/iter in 1 to 5 * power_multiplier)
|
||||
for(var/V in listeners)
|
||||
var/mob/living/L = V
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/_step, L, direction? direction : pick(GLOB.cardinals)), 10 * (iter - 1))
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(_step), L, direction? direction : pick(GLOB.cardinals)), 10 * (iter - 1))
|
||||
|
||||
//WALK
|
||||
else if((findtext(message, walk_words)))
|
||||
@@ -562,7 +562,7 @@
|
||||
//HONK
|
||||
else if((findtext(message, honk_words)))
|
||||
cooldown = COOLDOWN_MEME
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, get_turf(user), 'sound/items/bikehorn.ogg', 300, 1), 25)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(playsound), get_turf(user), 'sound/items/bikehorn.ogg', 300, 1), 25)
|
||||
if(user.mind && user.mind.assigned_role == "Clown")
|
||||
for(var/mob/living/carbon/C in listeners)
|
||||
C.slip(140 * power_multiplier)
|
||||
@@ -609,7 +609,7 @@
|
||||
//BWOINK
|
||||
else if((findtext(message, bwoink_words)))
|
||||
cooldown = COOLDOWN_MEME
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/playsound, get_turf(user), 'sound/effects/adminhelp.ogg', 300, 1), 25)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(playsound), get_turf(user), 'sound/effects/adminhelp.ogg', 300, 1), 25)
|
||||
//END CITADEL CHANGES
|
||||
|
||||
|
||||
@@ -834,7 +834,7 @@
|
||||
E.enthrallTally += power_multiplier*1.25 //thinking about it, I don't know how this can proc
|
||||
if(L.canbearoused)
|
||||
if(L.client?.prefs.lewdchem)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='nicegreen'><i><b>[E.enthrallGender] is so nice to listen to.</b></i></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='nicegreen'><i><b>[E.enthrallGender] is so nice to listen to.</b></i></span>"), 5)
|
||||
E.cooldown += 1
|
||||
|
||||
//REWARD mixable works
|
||||
@@ -846,11 +846,11 @@
|
||||
if(L == user)
|
||||
continue
|
||||
if (L.client?.prefs.lewdchem)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='love'>[E.enthrallGender] has praised me!!</span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='love'>[E.enthrallGender] has praised me!!</span>"), 5)
|
||||
if(HAS_TRAIT(L, TRAIT_NYMPHO))
|
||||
L.adjustArousalLoss(2*power_multiplier)
|
||||
else
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='nicegreen'><b><i>I've been praised for doing a good job!</b></i></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='nicegreen'><b><i>I've been praised for doing a good job!</b></i></span>"), 5)
|
||||
E.resistanceTally -= power_multiplier
|
||||
E.enthrallTally += power_multiplier
|
||||
var/descmessage = "<span class='love'><i>[(L.client?.prefs.lewdchem?"I feel so happy! I'm a good pet who [E.enthrallGender] loves!":"I did a good job!")]</i></span>"
|
||||
@@ -866,9 +866,9 @@
|
||||
if(L == user)
|
||||
continue
|
||||
if (L.client?.prefs.lewdchem)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='love'>I've let [E.enthrallGender] down...!</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='love'>I've let [E.enthrallGender] down...!</b></span>"), 5)
|
||||
else
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='warning'>I've let [E.enthrallGender] down...</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='warning'>I've let [E.enthrallGender] down...</b></span>"), 5)
|
||||
E.resistanceTally += power_multiplier
|
||||
E.enthrallTally += power_multiplier
|
||||
E.cooldown += 1
|
||||
@@ -902,9 +902,9 @@
|
||||
E.status = null
|
||||
user.emote("snap")
|
||||
if(L.client?.prefs.lewdchem)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='big warning'>The snapping of your [E.enthrallGender]'s fingers brings you back to your enthralled state, obedient and ready to serve.</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='big warning'>The snapping of your [E.enthrallGender]'s fingers brings you back to your enthralled state, obedient and ready to serve.</b></span>"), 5)
|
||||
else
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='big warning'>The snapping of [E.master]'s fingers brings you back to being under their influence.</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='big warning'>The snapping of [E.master]'s fingers brings you back to being under their influence.</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You wake up [L]!</i></span>")
|
||||
|
||||
//tier 1
|
||||
@@ -1047,7 +1047,7 @@
|
||||
ADD_TRAIT(C, TRAIT_MUTE, "enthrall")
|
||||
else
|
||||
C.silent += ((10 * power_multiplier) * E.phase)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "<span class='notice'>You are unable to speak!</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), C, "<span class='notice'>You are unable to speak!</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You silence [C].</i></span>")
|
||||
E.cooldown += 3
|
||||
|
||||
@@ -1067,7 +1067,7 @@
|
||||
var/mob/living/L = V
|
||||
var/datum/status_effect/chem/enthrall/E = L.has_status_effect(/datum/status_effect/chem/enthrall)
|
||||
E.status = "Antiresist"
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='big warning'>Your mind clouds over, as you find yourself unable to resist!</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='big warning'>Your mind clouds over, as you find yourself unable to resist!</b></span>"), 5)
|
||||
E.statusStrength = (1 * power_multiplier * E.phase)
|
||||
E.cooldown += 15//Too short? yes, made 15
|
||||
to_chat(user, "<span class='notice'><i>You frustrate [L]'s attempts at resisting.</i></span>")
|
||||
@@ -1080,7 +1080,7 @@
|
||||
E.deltaResist += (power_multiplier)
|
||||
E.owner_resist()
|
||||
E.cooldown += 2
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "<span class='notice'>You are spurred into resisting from [user]'s words!'</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), C, "<span class='notice'>You are spurred into resisting from [user]'s words!'</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You spark resistance in [C].</i></span>")
|
||||
|
||||
//FORGET (A way to cancel the process)
|
||||
@@ -1088,9 +1088,9 @@
|
||||
for(var/mob/living/carbon/C in listeners)
|
||||
var/datum/status_effect/chem/enthrall/E = C.has_status_effect(/datum/status_effect/chem/enthrall)
|
||||
if(E.phase == 4)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "<span class='warning'>You're unable to forget about [(C.client?.prefs.lewdchem?"the dominating presence of [E.enthrallGender]":"[E.master]")]!</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), C, "<span class='warning'>You're unable to forget about [(C.client?.prefs.lewdchem?"the dominating presence of [E.enthrallGender]":"[E.master]")]!</b></span>"), 5)
|
||||
continue
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "<span class='warning'>You wake up, forgetting everything that just happened. You must've dozed off..? How embarassing!</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), C, "<span class='warning'>You wake up, forgetting everything that just happened. You must've dozed off..? How embarassing!</b></span>"), 5)
|
||||
C.Sleeping(50)
|
||||
switch(E.phase)
|
||||
if(1 to 2)
|
||||
@@ -1101,9 +1101,9 @@
|
||||
E.phase = 0
|
||||
E.cooldown = 0
|
||||
if(C.client?.prefs.lewdchem)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "<span class='big warning'>You revert to yourself before being enthralled by your [E.enthrallGender], with no memory of what happened.</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), C, "<span class='big warning'>You revert to yourself before being enthralled by your [E.enthrallGender], with no memory of what happened.</b></span>"), 5)
|
||||
else
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "<span class='big warning'>You revert to who you were before, with no memory of what happened with [E.master].</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), C, "<span class='big warning'>You revert to who you were before, with no memory of what happened with [E.master].</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You put [C] into a sleeper state, ready to turn them back at the snap of your fingers.</i></span>")
|
||||
|
||||
//ATTRACT
|
||||
@@ -1113,7 +1113,7 @@
|
||||
var/datum/status_effect/chem/enthrall/E = L.has_status_effect(/datum/status_effect/chem/enthrall)
|
||||
L.throw_at(get_step_towards(user,L), 3 * power_multiplier, 1 * power_multiplier)
|
||||
E.cooldown += 3
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='notice'>You are drawn towards [user]!</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='notice'>You are drawn towards [user]!</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You draw [L] towards you!</i></span>")
|
||||
|
||||
|
||||
@@ -1128,7 +1128,7 @@
|
||||
var/datum/status_effect/chem/enthrall/E = H.has_status_effect(/datum/status_effect/chem/enthrall)
|
||||
if(E.phase > 1)
|
||||
if(HAS_TRAIT(H, TRAIT_NYMPHO) && H.canbearoused && H.client?.prefs.lewdchem) // probably a redundant check but for good measure
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, H, "<span class='love'>Your [E.enthrallGender] pushes you over the limit, overwhelming your body with pleasure.</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), H, "<span class='love'>Your [E.enthrallGender] pushes you over the limit, overwhelming your body with pleasure.</b></span>"), 5)
|
||||
H.mob_climax(forced_climax=TRUE)
|
||||
H.SetStun(20)
|
||||
H.setArousalLoss(H.min_arousal)
|
||||
@@ -1169,7 +1169,7 @@
|
||||
if(2 to INFINITY)
|
||||
C.Sleeping(45 * power_multiplier)
|
||||
E.cooldown += 10
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "<span class='notice'>Drowsiness suddenly overwhelms you as you fall asleep!</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), C, "<span class='notice'>Drowsiness suddenly overwhelms you as you fall asleep!</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You send [C] to sleep.</i></span>")
|
||||
|
||||
//STRIP
|
||||
@@ -1183,7 +1183,7 @@
|
||||
for(var/obj/item/W in items)
|
||||
if(W == H.wear_suit)
|
||||
H.dropItemToGround(W, TRUE)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, H, "<span class='[(H.client?.prefs.lewdchem?"love":"warning")]'>Before you can even think about it, you quickly remove your clothes in response to [(H.client?.prefs.lewdchem?"your [E.enthrallGender]'s command'":"[E.master]'s directive'")].</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), H, "<span class='[(H.client?.prefs.lewdchem?"love":"warning")]'>Before you can even think about it, you quickly remove your clothes in response to [(H.client?.prefs.lewdchem?"your [E.enthrallGender]'s command'":"[E.master]'s directive'")].</b></span>"), 5)
|
||||
E.cooldown += 10
|
||||
|
||||
//WALK
|
||||
@@ -1196,7 +1196,7 @@
|
||||
if(L.m_intent != MOVE_INTENT_WALK)
|
||||
L.toggle_move_intent()
|
||||
E.cooldown += 1
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='notice'>You slow down to a walk.</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='notice'>You slow down to a walk.</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You encourage [L] to slow down.</i></span>")
|
||||
|
||||
//RUN
|
||||
@@ -1209,7 +1209,7 @@
|
||||
if(L.m_intent != MOVE_INTENT_RUN)
|
||||
L.toggle_move_intent()
|
||||
E.cooldown += 1
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='notice'>You speed up into a jog!</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='notice'>You speed up into a jog!</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You encourage [L] to pick up the pace!</i></span>")
|
||||
|
||||
//LIE DOWN
|
||||
@@ -1221,7 +1221,7 @@
|
||||
if(2 to INFINITY)
|
||||
L.lay_down()
|
||||
E.cooldown += 10
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "[(L.client?.prefs.lewdchem?"<span class='love'>You eagerly lie down!":"<span class='notice'>You suddenly lie down!")]</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "[(L.client?.prefs.lewdchem?"<span class='love'>You eagerly lie down!":"<span class='notice'>You suddenly lie down!")]</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You encourage [L] to lie down.</i></span>")
|
||||
|
||||
//KNOCKDOWN
|
||||
@@ -1233,7 +1233,7 @@
|
||||
if(2 to INFINITY)
|
||||
L.Knockdown(30 * power_multiplier * E.phase)
|
||||
E.cooldown += 8
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='notice'>You suddenly drop to the ground!</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='notice'>You suddenly drop to the ground!</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You encourage [L] to drop down to the ground.</i></span>")
|
||||
|
||||
//tier3
|
||||
@@ -1252,7 +1252,7 @@
|
||||
for (var/trigger in E.customTriggers)
|
||||
speaktrigger += "[trigger], "
|
||||
to_chat(user, "<b>[C]</b> whispers, \"<i>[speaktrigger] are my triggers.</i>\"")//So they don't trigger themselves!
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, C, "<span class='notice'>You whisper your triggers to [(C.client?.prefs.lewdchem?"Your [E.enthrallGender]":"[E.master]")].</span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), C, "<span class='notice'>You whisper your triggers to [(C.client?.prefs.lewdchem?"Your [E.enthrallGender]":"[E.master]")].</span>"), 5)
|
||||
|
||||
|
||||
//CUSTOM TRIGGERS
|
||||
@@ -1287,7 +1287,7 @@
|
||||
E.customTriggers[trigger] = trigger2
|
||||
log_game("FERMICHEM: [H] has been implanted by [user] with [trigger], triggering [trigger2].")
|
||||
E.mental_capacity -= 5
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, H, "<span class='notice'>[(H.client?.prefs.lewdchem?"your [E.enthrallGender]":"[E.master]")] whispers you a new trigger.</span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), H, "<span class='notice'>[(H.client?.prefs.lewdchem?"your [E.enthrallGender]":"[E.master]")] whispers you a new trigger.</span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You sucessfully set the trigger word [trigger] in [H]</i></span>")
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Your pet looks at you confused, it seems they don't understand that effect!</b></span>")
|
||||
@@ -1349,7 +1349,7 @@
|
||||
objective = replacetext(lowertext(objective), "suicide", "self-love")
|
||||
message_admins("[H] has been implanted by [user] with the objective [objective].")
|
||||
log_game("FERMICHEM: [H] has been implanted by [user] with the objective [objective] via MKUltra.")
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, H, "<span class='notice'>[(H.client?.prefs.lewdchem?"Your [E.enthrallGender]":"[E.master]")] whispers you a new objective.</span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), H, "<span class='notice'>[(H.client?.prefs.lewdchem?"Your [E.enthrallGender]":"[E.master]")] whispers you a new objective.</span>"), 5)
|
||||
brainwash(H, objective)
|
||||
E.mental_capacity -= 200
|
||||
to_chat(user, "<span class='notice'><i>You sucessfully give an objective to [H]</i></span>")
|
||||
@@ -1378,7 +1378,7 @@
|
||||
if(E.phase > 1)
|
||||
if(user.ckey == E.enthrallID && user.real_name == E.master.real_name)
|
||||
E.master = user
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, H, "<span class='nicegreen'>[(H.client?.prefs.lewdchem?"You hear the words of your [E.enthrallGender] again!! They're back!!":"You recognise the voice of [E.master].")]</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), H, "<span class='nicegreen'>[(H.client?.prefs.lewdchem?"You hear the words of your [E.enthrallGender] again!! They're back!!":"You recognise the voice of [E.master].")]</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>[H] looks at you with sparkling eyes, recognising you!</i></span>")
|
||||
|
||||
//I dunno how to do state objectives without them revealing they're an antag
|
||||
@@ -1393,7 +1393,7 @@
|
||||
E.status = "heal"
|
||||
E.statusStrength = (5 * power_multiplier)
|
||||
E.cooldown += 5
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='notice'>You begin to lick your wounds.</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='notice'>You begin to lick your wounds.</b></span>"), 5)
|
||||
L.Stun(15 * power_multiplier)
|
||||
to_chat(user, "<span class='notice'><i>[L] begins to lick their wounds.</i></span>")
|
||||
|
||||
@@ -1406,7 +1406,7 @@
|
||||
if(3 to INFINITY)
|
||||
L.Stun(40 * power_multiplier)
|
||||
E.cooldown += 8
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='notice'>Your muscles freeze up!</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='notice'>Your muscles freeze up!</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You cause [L] to freeze up!</i></span>")
|
||||
|
||||
//HALLUCINATE
|
||||
@@ -1427,7 +1427,7 @@
|
||||
switch(E.phase)
|
||||
if(3 to INFINITY)
|
||||
L.adjust_bodytemperature(50 * power_multiplier)//This seems nuts, reduced it, but then it didn't do anything, so I reverted it.
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='notice'>You feel your metabolism speed up!</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='notice'>You feel your metabolism speed up!</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You speed [L]'s metabolism up!</i></span>")
|
||||
|
||||
//COLD
|
||||
@@ -1438,7 +1438,7 @@
|
||||
switch(E.phase)
|
||||
if(3 to INFINITY)
|
||||
L.adjust_bodytemperature(-50 * power_multiplier)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='notice'>You feel your metabolism slow down!</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='notice'>You feel your metabolism slow down!</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You slow [L]'s metabolism down!</i></span>")
|
||||
|
||||
//GET UP
|
||||
@@ -1454,7 +1454,7 @@
|
||||
L.SetKnockdown(0)
|
||||
L.SetUnconscious(0) //i said get up i don't care if you're being tased
|
||||
E.cooldown += 10 //This could be really strong
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='notice'>You jump to your feet from sheer willpower!</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='notice'>You jump to your feet from sheer willpower!</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You spur [L] to their feet!</i></span>")
|
||||
|
||||
//PACIFY
|
||||
@@ -1466,7 +1466,7 @@
|
||||
if(3)//Tier 3 only
|
||||
E.status = "pacify"
|
||||
E.cooldown += 10
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, L, "<span class='notice'>You feel like never hurting anyone ever again.</b></span>"), 5)
|
||||
addtimer(CALLBACK(GLOBAL_PROC,PROC_REF(to_chat), L, "<span class='notice'>You feel like never hurting anyone ever again.</b></span>"), 5)
|
||||
to_chat(user, "<span class='notice'><i>You remove any intent to harm from [L]'s mind.</i></span>")
|
||||
|
||||
//CHARGE
|
||||
|
||||
Reference in New Issue
Block a user