Merge branch 'Mining-suit-fix' of https://github.com/MysteryMan21333/S.P.L.U.R.T-Station-13 into Mining-suit-fix

This commit is contained in:
MysteryMan21333
2024-04-30 21:04:01 -05:00
1863 changed files with 109133 additions and 238072 deletions
+2 -1
View File
@@ -15,6 +15,7 @@
name = "auxillary base management console"
icon = 'icons/obj/terminals.dmi'
icon_state = "dorm_available"
icon_keyboard = null
var/shuttleId = "colony_drop"
desc = "Allows a deployable expedition base to be dropped from the station to a designated mining location. It can also \
interface with the mining shuttle at the landing site if a mobile beacon is also deployed."
@@ -283,7 +284,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
return
anti_spam_cd = 1
addtimer(CALLBACK(src, .proc/clear_cooldown), 50)
addtimer(CALLBACK(src, PROC_REF(clear_cooldown)), 50)
var/turf/landing_spot = get_turf(src)
@@ -38,7 +38,7 @@
/obj/item/clothing/suit/hooded/explorer/standard/Initialize(mapload)
. = ..()
AddComponent(/datum/component/armor_plate)
RegisterSignal(src, COMSIG_ARMOR_PLATED, .proc/upgrade_icon)
RegisterSignal(src, COMSIG_ARMOR_PLATED, PROC_REF(upgrade_icon))
/obj/item/clothing/suit/hooded/explorer/standard/proc/upgrade_icon(datum/source, amount, maxamount)
SIGNAL_HANDLER
@@ -57,7 +57,7 @@
/obj/item/clothing/head/hooded/explorer/standard/Initialize(mapload)
. = ..()
AddComponent(/datum/component/armor_plate)
RegisterSignal(src, COMSIG_ARMOR_PLATED, .proc/upgrade_icon)
RegisterSignal(src, COMSIG_ARMOR_PLATED, PROC_REF(upgrade_icon))
/obj/item/clothing/head/hooded/explorer/standard/proc/upgrade_icon(datum/source, amount, maxamount)
SIGNAL_HANDLER
@@ -39,8 +39,8 @@
/obj/item/kinetic_crusher/Initialize(mapload)
. = ..()
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield)
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield)
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield))
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield))
/obj/item/kinetic_crusher/ComponentInitialize()
. = ..()
@@ -119,7 +119,7 @@
D.fire()
charged = FALSE
update_icon()
addtimer(CALLBACK(src, .proc/Recharge), charge_time)
addtimer(CALLBACK(src, PROC_REF(Recharge)), charge_time)
return
if(proximity_flag && isliving(target))
var/mob/living/L = target
@@ -513,7 +513,7 @@
continue
playsound(L, 'sound/magic/fireball.ogg', 20, 1)
new /obj/effect/temp_visual/fire(L.loc)
addtimer(CALLBACK(src, .proc/pushback, L, user), 1) //no free backstabs, we push AFTER module stuff is done
addtimer(CALLBACK(src, PROC_REF(pushback), L, user), 1) //no free backstabs, we push AFTER module stuff is done
L.adjustFireLoss(bonus_value, forced = TRUE)
/obj/item/crusher_trophy/tail_spike/proc/pushback(mob/living/target, mob/living/user)
@@ -577,7 +577,7 @@
/obj/item/crusher_trophy/blaster_tubes/on_mark_detonation(mob/living/target, mob/living/user)
deadly_shot = TRUE
addtimer(CALLBACK(src, .proc/reset_deadly_shot), 300, TIMER_UNIQUE|TIMER_OVERRIDE)
addtimer(CALLBACK(src, PROC_REF(reset_deadly_shot)), 300, TIMER_UNIQUE|TIMER_OVERRIDE)
/obj/item/crusher_trophy/blaster_tubes/proc/reset_deadly_shot()
deadly_shot = FALSE
@@ -104,6 +104,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list(
. += "<span class='notice'>Alt-click to select a color. Current color is [picked_color].</span>"
/obj/structure/marker_beacon/update_icon()
. = ..()
while(!picked_color || !GLOB.marker_beacon_colors[picked_color])
picked_color = pick(GLOB.marker_beacon_colors)
icon_state = "[initial(icon_state)][lowertext(picked_color)]-on"
@@ -31,7 +31,7 @@
/obj/item/organ/regenerative_core/Initialize(mapload)
. = ..()
addtimer(CALLBACK(src, .proc/inert_check), 2400)
addtimer(CALLBACK(src, PROC_REF(inert_check)), 2400)
/obj/item/organ/regenerative_core/proc/inert_check()
if(!preserved)
+1 -1
View File
@@ -71,7 +71,7 @@
transform = matrix()*0.75
animate(src, transform = matrix()*1.5, time = duration)
deltimer(timerid)
timerid = addtimer(CALLBACK(src, .proc/burst), duration, TIMER_STOPPABLE)
timerid = addtimer(CALLBACK(src, PROC_REF(burst)), duration, TIMER_STOPPABLE)
/obj/effect/temp_visual/resonance/Destroy()
if(res)
@@ -186,9 +186,6 @@
/obj/machinery/stasis/survival_pod/play_power_sound()
return
/obj/machinery/stasis/survival_pod/update_icon()
return
//NanoMed
/obj/machinery/vending/wallmed/survival_pod
name = "survival pod medical supply"
@@ -21,7 +21,7 @@
/obj/item/wormhole_jaunter/equipped(mob/user, slot)
. = ..()
if(slot == ITEM_SLOT_BELT)
RegisterSignal(user, COMSIG_MOVABLE_CHASM_DROP, .proc/chasm_react)
RegisterSignal(user, COMSIG_MOVABLE_CHASM_DROP, PROC_REF(chasm_react))
/obj/item/wormhole_jaunter/dropped(mob/user)
. = ..()
@@ -103,4 +103,4 @@
L.DefaultCombatKnockdown(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)
+3 -3
View File
@@ -179,13 +179,13 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons)
if(isliving(A))
var/mob/living/L = A
if(L.stat != DEAD)
return 1
return TRUE
for(var/thing in A.GetAllContents())
if(isliving(A))
var/mob/living/L = A
if(L.stat != DEAD)
return 1
return 0
return TRUE
return FALSE
/obj/effect/extraction_holder/singularity_pull()
return
@@ -28,7 +28,7 @@ GLOBAL_LIST(labor_sheet_values)
if(!initial(sheet.point_value) || (initial(sheet.merge_type) && initial(sheet.merge_type) != sheet_type)) //ignore no-value sheets and x/fifty subtypes
continue
sheet_list += list(list("ore" = initial(sheet.name), "value" = initial(sheet.point_value)))
GLOB.labor_sheet_values = sort_list(sheet_list, /proc/cmp_sheet_list)
GLOB.labor_sheet_values = sort_list(sheet_list, GLOBAL_PROC_REF(cmp_sheet_list))
/proc/cmp_sheet_list(list/a, list/b)
return a["value"] - b["value"]
+3 -3
View File
@@ -27,7 +27,7 @@
/obj/structure/flora/ash/proc/harvest(user)
if(harvested)
return 0
return FALSE
var/rand_harvested = rand(harvest_amount_low, harvest_amount_high)
if(rand_harvested)
@@ -45,8 +45,8 @@
name = harvested_name
desc = harvested_desc
harvested = TRUE
addtimer(CALLBACK(src, .proc/regrow), rand(regrowth_time_low, regrowth_time_high))
return 1
addtimer(CALLBACK(src, PROC_REF(regrow)), rand(regrowth_time_low, regrowth_time_high))
return TRUE
/obj/structure/flora/ash/proc/regrow()
icon_state = base_icon
+1 -1
View File
@@ -73,7 +73,7 @@
container_used = W
//So we dont lose are bowl when cutting it down + needed for the harvest sap proc
user.transferItemToLoc(W, src)
addtimer(CALLBACK(src, .proc/harvest_sap), harvest_sap_time SECONDS)
addtimer(CALLBACK(src, PROC_REF(harvest_sap)), harvest_sap_time SECONDS)
else
to_chat(user, "<span class='notice'>There is no sap to collect.</span>")
@@ -408,7 +408,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>")
@@ -605,7 +605,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
@@ -879,7 +879,7 @@
/datum/status_effect/dodgeroll_iframes/on_apply()
. = ..()
RegisterSignal(owner, COMSIG_LIVING_RUN_BLOCK, .proc/trolled)
RegisterSignal(owner, COMSIG_LIVING_RUN_BLOCK, PROC_REF(trolled))
/datum/status_effect/dodgeroll_iframes/on_remove()
UnregisterSignal(owner, list(
@@ -1105,7 +1105,7 @@
/obj/item/lava_staff/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
. = ..()
INVOKE_ASYNC(src, .proc/attempt_lava, target, user, proximity_flag, click_parameters)
INVOKE_ASYNC(src, PROC_REF(attempt_lava), target, user, proximity_flag, click_parameters)
/obj/item/lava_staff/proc/attempt_lava(atom/target, mob/user, proximity_flag, click_parameters)
if(timer > world.time)
@@ -1177,7 +1177,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>")
@@ -1324,11 +1324,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
@@ -1339,12 +1339,12 @@
C.monster_damage_boost = TRUE
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)
@@ -1382,7 +1382,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)
@@ -1394,7 +1394,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
@@ -1411,7 +1411,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)
@@ -1423,7 +1423,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)
@@ -1435,7 +1435,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
@@ -1444,7 +1444,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]")
@@ -1457,7 +1457,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 = 25
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"
@@ -1465,7 +1465,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
@@ -1504,7 +1504,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)
+1 -1
View File
@@ -23,7 +23,7 @@
/obj/machinery/mineral/proc/register_input_turf()
input_turf = get_step(src, input_dir)
if(input_turf) // make sure there is actually a turf
RegisterSignal(input_turf, list(COMSIG_ATOM_CREATED, COMSIG_ATOM_ENTERED), .proc/pickup_item)
RegisterSignal(input_turf, list(COMSIG_ATOM_CREATED, COMSIG_ATOM_ENTERED), PROC_REF(pickup_item))
/// Unregisters signals that are registered the machine's input turf, if it has one.
/obj/machinery/mineral/proc/unregister_input_turf()
+1
View File
@@ -62,6 +62,7 @@
/mob/living/simple_animal/hostile/mining_drone/Destroy()
for (var/datum/action/innate/minedrone/action in actions)
qdel(action)
QDEL_NULL(stored_gun)
return ..()
/mob/living/simple_animal/hostile/mining_drone/sentience_act()
+2 -2
View File
@@ -338,7 +338,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
else
user.visible_message("<span class='warning'>[user] strikes \the [src], causing a chain reaction!</span>", "<span class='danger'>You strike \the [src], causing a chain reaction.</span>")
log_game("[key_name(user)] has primed a [name] for detonation at [AREACOORD(bombturf)]")
det_timer = addtimer(CALLBACK(src, .proc/detonate, notify_admins), det_time, TIMER_STOPPABLE)
det_timer = addtimer(CALLBACK(src, PROC_REF(detonate), notify_admins), det_time, TIMER_STOPPABLE)
/obj/item/gibtonite/proc/detonate(notify_admins)
if(primed)
@@ -406,7 +406,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
if (!attack_self(user))
user.visible_message("<span class='suicide'>[user] couldn't flip \the [src]!</span>")
return SHAME
addtimer(CALLBACK(src, .proc/manual_suicide, user), 10)//10 = time takes for flip animation
addtimer(CALLBACK(src, PROC_REF(manual_suicide), user), 10)//10 = time takes for flip animation
return MANUAL_SUICIDE
/obj/item/coin/proc/manual_suicide(mob/living/user)