"} + dat += {"
"}
dat += "New Record
"
//search bar
dat += {"
diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm
index 9839f53d41a..6c94e98063a 100644
--- a/code/game/machinery/dance_machine.dm
+++ b/code/game/machinery/dance_machine.dm
@@ -397,7 +397,7 @@
M.setDir(pick(GLOB.cardinals))
for(var/mob/living/carbon/NS in rangers)
NS.set_resting(!NS.resting, TRUE, TRUE)
- time--
+ time--
/obj/machinery/jukebox/disco/proc/dance5(mob/living/M)
animate(M, transform = matrix(180, MATRIX_ROTATE), time = 1, loop = 0)
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 8b082c88d26..c88f653f985 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -1019,13 +1019,13 @@
return !operating && density
/**
- * Used when attempting to remove a seal from an airlock
- *
- * Called when attacking an airlock with an empty hand, returns TRUE (there was a seal and we removed it, or failed to remove it)
- * or FALSE (there was no seal)
- * Arguments:
- * * user - Whoever is attempting to remove the seal
- */
+ * Used when attempting to remove a seal from an airlock
+ *
+ * Called when attacking an airlock with an empty hand, returns TRUE (there was a seal and we removed it, or failed to remove it)
+ * or FALSE (there was no seal)
+ * Arguments:
+ * * user - Whoever is attempting to remove the seal
+ */
/obj/machinery/door/airlock/try_remove_seal(mob/living/user)
if(!seal)
return FALSE
@@ -1053,7 +1053,7 @@
var/beingcrowbarred = (I.tool_behaviour == TOOL_CROWBAR)
if(!security_level && (beingcrowbarred && panel_open && ((obj_flags & EMAGGED) || (density && welded && !operating && !hasPower() && !locked))))
user.visible_message("[user] removes the electronics from the airlock assembly.", \
- "You start to remove electronics from the airlock assembly...")
+ "You start to remove electronics from the airlock assembly...")
if(I.use_tool(src, user, 40, volume=100))
deconstruct(TRUE, user)
return
@@ -1560,11 +1560,11 @@
open()
/**
- * Generates the airlock's wire layout based on the current area the airlock resides in.
- *
- * Returns a new /datum/wires/ with the appropriate wire layout based on the airlock_wires
- * of the area the airlock is in.
- */
+ * Generates the airlock's wire layout based on the current area the airlock resides in.
+ *
+ * Returns a new /datum/wires/ with the appropriate wire layout based on the airlock_wires
+ * of the area the airlock is in.
+ */
/obj/machinery/door/airlock/proc/set_wires()
var/area/source_area = get_area(src)
return source_area?.airlock_wires ? new source_area.airlock_wires(src) : new /datum/wires/airlock(src)
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index 046e4f18726..6e6c2274b00 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -99,13 +99,13 @@
return FALSE
/**
- * Called when attempting to remove the seal from an airlock
- *
- * Here because we need to call it and return if there was a seal so we don't try to open the door
- * or try its safety lock while it's sealed
- * Arguments:
- * * user - the mob attempting to remove the seal
- */
+ * Called when attempting to remove the seal from an airlock
+ *
+ * Here because we need to call it and return if there was a seal so we don't try to open the door
+ * or try its safety lock while it's sealed
+ * Arguments:
+ * * user - the mob attempting to remove the seal
+ */
/obj/machinery/door/proc/try_remove_seal(mob/user)
return
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 1150848fd98..f590a7be092 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -85,7 +85,7 @@
user.changeNext_move(CLICK_CD_MELEE)
user.visible_message("[user] bangs on \the [src].", \
- "You bang on \the [src].")
+ "You bang on \the [src].")
playsound(loc, 'sound/effects/glassknock.ogg', 10, FALSE, frequency = 32000)
/obj/machinery/door/firedoor/attackby(obj/item/C, mob/user, params)
@@ -99,17 +99,17 @@
return
C.play_tool_sound(src)
user.visible_message("[user] starts undoing [src]'s bolts...", \
- "You start unfastening [src]'s floor bolts...")
+ "You start unfastening [src]'s floor bolts...")
if(!C.use_tool(src, user, DEFAULT_STEP_TIME))
return
playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE)
user.visible_message("[user] unfastens [src]'s bolts.", \
- "You undo [src]'s floor bolts.")
+ "You undo [src]'s floor bolts.")
deconstruct(TRUE)
return
if(C.tool_behaviour == TOOL_SCREWDRIVER)
user.visible_message("[user] [boltslocked ? "unlocks" : "locks"] [src]'s bolts.", \
- "You [boltslocked ? "unlock" : "lock"] [src]'s floor bolts.")
+ "You [boltslocked ? "unlock" : "lock"] [src]'s floor bolts.")
C.play_tool_sound(src)
boltslocked = !boltslocked
return
@@ -290,14 +290,14 @@
if(C.tool_behaviour == TOOL_CROWBAR)
C.play_tool_sound(src)
user.visible_message("[user] begins removing the circuit board from [src]...", \
- "You begin prying out the circuit board from [src]...")
+ "You begin prying out the circuit board from [src]...")
if(!C.use_tool(src, user, DEFAULT_STEP_TIME))
return
if(constructionStep != CONSTRUCTION_PANEL_OPEN)
return
playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE)
user.visible_message("[user] removes [src]'s circuit board.", \
- "You remove the circuit board from [src].")
+ "You remove the circuit board from [src].")
new /obj/item/electronics/firelock(drop_location())
constructionStep = CONSTRUCTION_NO_CIRCUIT
update_icon()
@@ -308,13 +308,13 @@
return
C.play_tool_sound(src)
user.visible_message("[user] starts bolting down [src]...", \
- "You begin bolting [src]...")
+ "You begin bolting [src]...")
if(!C.use_tool(src, user, DEFAULT_STEP_TIME))
return
if(locate(/obj/machinery/door/firedoor) in get_turf(src))
return
user.visible_message("[user] finishes the firelock.", \
- "You finish the firelock.")
+ "You finish the firelock.")
playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE)
if(reinforced)
new /obj/machinery/door/firedoor/heavy(get_turf(src))
@@ -331,13 +331,13 @@
to_chat(user, "You need more plasteel to reinforce [src].")
return
user.visible_message("[user] begins reinforcing [src]...", \
- "You begin reinforcing [src]...")
+ "You begin reinforcing [src]...")
playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE)
if(do_after(user, DEFAULT_STEP_TIME, target = src))
if(constructionStep != CONSTRUCTION_PANEL_OPEN || reinforced || P.get_amount() < 2 || !P)
return
user.visible_message("[user] reinforces [src].", \
- "You reinforce [src].")
+ "You reinforce [src].")
playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE)
P.use(2)
reinforced = 1
@@ -345,7 +345,7 @@
if(CONSTRUCTION_NO_CIRCUIT)
if(istype(C, /obj/item/electronics/firelock))
user.visible_message("[user] starts adding [C] to [src]...", \
- "You begin adding a circuit board to [src]...")
+ "You begin adding a circuit board to [src]...")
playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE)
if(!do_after(user, DEFAULT_STEP_TIME, target = src))
return
@@ -353,7 +353,7 @@
return
qdel(C)
user.visible_message("[user] adds a circuit to [src].", \
- "You insert and secure [C].")
+ "You insert and secure [C].")
playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, TRUE)
constructionStep = CONSTRUCTION_PANEL_OPEN
return
@@ -361,13 +361,13 @@
if(!C.tool_start_check(user, amount=1))
return
user.visible_message("[user] begins cutting apart [src]'s frame...", \
- "You begin slicing [src] apart...")
+ "You begin slicing [src] apart...")
if(C.use_tool(src, user, DEFAULT_STEP_TIME, volume=50, amount=1))
if(constructionStep != CONSTRUCTION_NO_CIRCUIT)
return
user.visible_message("[user] cuts apart [src]!", \
- "You cut [src] into metal.")
+ "You cut [src] into metal.")
var/turf/T = get_turf(src)
new /obj/item/stack/sheet/metal(T, 3)
if(reinforced)
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 8d389a554bf..7ee8f70eca7 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -235,7 +235,7 @@
if(I.tool_behaviour == TOOL_CROWBAR)
if(panel_open && !density && !operating)
user.visible_message("[user] removes the electronics from the [name].", \
- "You start to remove electronics from the [name]...")
+ "You start to remove electronics from the [name]...")
if(I.use_tool(src, user, 40, volume=50))
if(panel_open && !density && !operating && loc)
var/obj/structure/windoor_assembly/WA = new /obj/structure/windoor_assembly(loc)
diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm
index 76fa1e5bdbd..fc3f7ba0c77 100644
--- a/code/game/machinery/doppler_array.dm
+++ b/code/game/machinery/doppler_array.dm
@@ -161,8 +161,9 @@
R.factual_radius["shockwave_radius"] = light_impact_range
var/list/messages = list("Explosive disturbance detected.",
- "Epicenter at: grid ([epicenter.x], [epicenter.y]). Temporal displacement of tachyons: [took] seconds.",
- "Factual: Epicenter radius: [devastation_range]. Outer radius: [heavy_impact_range]. Shockwave radius: [light_impact_range].")
+ "Epicenter at: grid ([epicenter.x], [epicenter.y]). Temporal displacement of tachyons: [took] seconds.",
+ "Factual: Epicenter radius: [devastation_range]. Outer radius: [heavy_impact_range]. Shockwave radius: [light_impact_range].",
+ )
// If the bomb was capped, say its theoretical size.
if(devastation_range < orig_dev_range || heavy_impact_range < orig_heavy_range || light_impact_range < orig_light_range)
diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm
index 3cd7d35517d..f44046dd174 100644
--- a/code/game/machinery/firealarm.dm
+++ b/code/game/machinery/firealarm.dm
@@ -252,7 +252,7 @@
else if(W.tool_behaviour == TOOL_WRENCH)
user.visible_message("[user] removes the fire alarm assembly from the wall.", \
- "You remove the fire alarm assembly from the wall.")
+ "You remove the fire alarm assembly from the wall.")
var/obj/item/wallframe/firealarm/frame = new /obj/item/wallframe/firealarm()
frame.forceMove(user.drop_location())
W.play_tool_sound(src)
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index 1a344b04175..1efcbb02cbc 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -326,8 +326,8 @@ Possible to do for anyone motivated enough:
return TRUE
/**
- * hangup_all_calls: Disconnects all current holocalls from the holopad
- */
+ * hangup_all_calls: Disconnects all current holocalls from the holopad
+ */
/obj/machinery/holopad/proc/hangup_all_calls()
for(var/I in holo_calls)
var/datum/holocall/HC = I
diff --git a/code/game/machinery/launch_pad.dm b/code/game/machinery/launch_pad.dm
index 870d419de2e..bdcd25c7f0f 100644
--- a/code/game/machinery/launch_pad.dm
+++ b/code/game/machinery/launch_pad.dm
@@ -224,12 +224,12 @@
var/closed = TRUE
var/obj/item/storage/briefcase/launchpad/briefcase
-/obj/machinery/launchpad/briefcase/Initialize(mapload, briefcase)
- . = ..()
- if(!briefcase)
- log_game("[src] has been spawned without a briefcase.")
- return INITIALIZE_HINT_QDEL
- src.briefcase = briefcase
+/obj/machinery/launchpad/briefcase/Initialize(mapload, _briefcase)
+ . = ..()
+ if(!briefcase)
+ log_game("[src] has been spawned without a briefcase.")
+ return INITIALIZE_HINT_QDEL
+ briefcase = _briefcase
/obj/machinery/launchpad/briefcase/Destroy()
QDEL_NULL(briefcase)
diff --git a/code/game/machinery/mechlaunchpad.dm b/code/game/machinery/mechlaunchpad.dm
index f031f8c6a06..63b405fc3c8 100644
--- a/code/game/machinery/mechlaunchpad.dm
+++ b/code/game/machinery/mechlaunchpad.dm
@@ -47,10 +47,10 @@
return TRUE
/**
- * Spawns a special supply pod whitelisted to only accept mechs and have its drop off location be another mechpad
- * Arguments:
- * * where - where the supply pod will land after grabbing the mech
- */
+ * Spawns a special supply pod whitelisted to only accept mechs and have its drop off location be another mechpad
+ * Arguments:
+ * * where - where the supply pod will land after grabbing the mech
+ */
/obj/machinery/mechpad/proc/launch(obj/machinery/mechpad/where)
var/obj/structure/closet/supplypod/mechpod/pod = new()
var/turf/target_turf = get_turf(where)
diff --git a/code/game/machinery/medical_kiosk.dm b/code/game/machinery/medical_kiosk.dm
index 4726a4e797b..5f1c2af708b 100644
--- a/code/game/machinery/medical_kiosk.dm
+++ b/code/game/machinery/medical_kiosk.dm
@@ -91,7 +91,7 @@
return
user.visible_message("[user] snaps [O] onto [src]!", \
"You press [O] into the side of [src], clicking into place.")
- //This will be the scanner returning scanner_wand's selected_target variable and assigning it to the altPatient var
+ //This will be the scanner returning scanner_wand's selected_target variable and assigning it to the altPatient var
if(W.selected_target)
if(!(altPatient == W.return_patient()))
clearScans()
diff --git a/code/game/machinery/medipen_refiller.dm b/code/game/machinery/medipen_refiller.dm
index 4b11076e04a..4c488938ff5 100644
--- a/code/game/machinery/medipen_refiller.dm
+++ b/code/game/machinery/medipen_refiller.dm
@@ -83,9 +83,9 @@
return TRUE
/obj/machinery/medipen_refiller/screwdriver_act(mob/living/user, obj/item/I)
- . = ..()
- if(!.)
- return default_deconstruction_screwdriver(user, "medipen_refiller_open", "medipen_refiller", I)
+ . = ..()
+ if(!.)
+ return default_deconstruction_screwdriver(user, "medipen_refiller_open", "medipen_refiller", I)
/// refills the medipen
/obj/machinery/medipen_refiller/proc/refill(obj/item/reagent_containers/hypospray/medipen/P, mob/user)
diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm
index af9954376d0..7c83daebbf0 100644
--- a/code/game/machinery/porta_turret/portable_turret.dm
+++ b/code/game/machinery/porta_turret/portable_turret.dm
@@ -849,9 +849,9 @@ DEFINE_BITFIELD(turret_flags, list(
var/lethal = FALSE
/// Variable dictating if the panel is locked, preventing changes to turret settings
var/locked = TRUE
- /// An area in which linked turrets are located, it can be an area name, path or nothing
+ /// An area in which linked turrets are located, it can be an area name, path or nothing
var/control_area = null
- /// AI is unable to use this machine if set to TRUE
+ /// AI is unable to use this machine if set to TRUE
var/ailock = FALSE
/// Variable dictating if linked turrets will shoot cyborgs
var/shoot_cyborgs = FALSE
diff --git a/code/game/machinery/scan_gate.dm b/code/game/machinery/scan_gate.dm
index 68043f40c6e..7ec04995dad 100644
--- a/code/game/machinery/scan_gate.dm
+++ b/code/game/machinery/scan_gate.dm
@@ -229,7 +229,7 @@
var/new_nutrition = params["new_nutrition"]
var/nutrition_list = list(
"Starving",
- "Obese"
+ "Obese"
)
if(new_nutrition && (new_nutrition in nutrition_list))
switch(new_nutrition)
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 88e023eb028..fbb846ad995 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -339,12 +339,12 @@
add_fingerprint(user)
/**
- * UV decontamination sequence.
- * Duration is determined by the uv_cycles var.
- * Effects determined by the uv_super var.
- * * If FALSE, all atoms (and their contents) contained are cleared of radiation. If a mob is inside, they are burned every cycle.
- * * If TRUE, all items contained are destroyed, and burn damage applied to the mob is increased. All wires will be cut at the end.
- * All atoms still inside at the end of all cycles are ejected from the unit.
+ * UV decontamination sequence.
+ * Duration is determined by the uv_cycles var.
+ * Effects determined by the uv_super var.
+ * * If FALSE, all atoms (and their contents) contained are cleared of radiation. If a mob is inside, they are burned every cycle.
+ * * If TRUE, all items contained are destroyed, and burn damage applied to the mob is increased. All wires will be cut at the end.
+ * All atoms still inside at the end of all cycles are ejected from the unit.
*/
/obj/machinery/suit_storage_unit/proc/cook()
var/mob/living/mob_occupant = occupant
diff --git a/code/game/machinery/teambuilder.dm b/code/game/machinery/teambuilder.dm
index 49634dd35bc..621d8a33509 100644
--- a/code/game/machinery/teambuilder.dm
+++ b/code/game/machinery/teambuilder.dm
@@ -1,6 +1,6 @@
/**
- * Simple admin tool that enables players to be assigned to a VERY SHITTY, very visually distinct team, quickly and affordably.
- */
+ * Simple admin tool that enables players to be assigned to a VERY SHITTY, very visually distinct team, quickly and affordably.
+ */
/obj/machinery/teambuilder
name = "Teambuilding Machine"
desc = "A machine that, when passed, colors you based on the color of your team. Lead free!"
diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm
index 0d306693df8..4b22b6b31e0 100644
--- a/code/game/machinery/transformer.dm
+++ b/code/game/machinery/transformer.dm
@@ -94,7 +94,7 @@
var/mob/living/silicon/robot/R = H.Robotize()
R.cell = new /obj/item/stock_parts/cell/upgraded/plus(R, robot_cell_charge)
- // So he can't jump out the gate right away.
+ // So he can't jump out the gate right away.
R.SetLockdown()
if(masterAI)
R.set_connected_ai(masterAI)
diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm
index 3ebf1161499..5187ca21789 100644
--- a/code/game/objects/buckling.dm
+++ b/code/game/objects/buckling.dm
@@ -55,19 +55,19 @@
return mouse_buckle_handling(M, user)
/**
- * Does some typechecks and then calls user_buckle_mob
- *
- * Arguments:
- * M - The mob being buckled to src
- * user - The mob buckling M to src
- */
+ * Does some typechecks and then calls user_buckle_mob
+ *
+ * Arguments:
+ * M - The mob being buckled to src
+ * user - The mob buckling M to src
+ */
/atom/movable/proc/mouse_buckle_handling(mob/living/M, mob/living/user)
if(can_buckle && istype(M) && istype(user))
return user_buckle_mob(M, user)
/**
- * Returns TRUE if there are mobs buckled to this atom and FALSE otherwise
- */
+ * Returns TRUE if there are mobs buckled to this atom and FALSE otherwise
+ */
/atom/movable/proc/has_buckled_mobs()
if(!buckled_mobs)
return FALSE
@@ -75,14 +75,14 @@
return TRUE
/**
- * Set a mob as buckled to src
- *
- * If you want to have a mob buckling another mob to something, or you want a chat message sent, use user_buckle_mob instead.
- * Arguments:
- * M - The mob to be buckled to src
- * force - Set to TRUE to ignore src's can_buckle and M's can_buckle_to
- * check_loc - Set to FALSE to allow buckling from adjacent turfs, or TRUE if buckling is only allowed with src and M on the same turf.
- */
+ * Set a mob as buckled to src
+ *
+ * If you want to have a mob buckling another mob to something, or you want a chat message sent, use user_buckle_mob instead.
+ * Arguments:
+ * M - The mob to be buckled to src
+ * force - Set to TRUE to ignore src's can_buckle and M's can_buckle_to
+ * check_loc - Set to FALSE to allow buckling from adjacent turfs, or TRUE if buckling is only allowed with src and M on the same turf.
+ */
/atom/movable/proc/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE)
if(!buckled_mobs)
buckled_mobs = list()
@@ -118,13 +118,13 @@
M.IgniteMob()
/**
- * Set a mob as unbuckled from src
- *
- * The mob must actually be buckled to src or else bad things will happen.
- * Arguments:
- * buckled_mob - The mob to be unbuckled
- * force - TRUE if we should ignore buckled_mob.can_buckle_to
- */
+ * Set a mob as unbuckled from src
+ *
+ * The mob must actually be buckled to src or else bad things will happen.
+ * Arguments:
+ * buckled_mob - The mob to be unbuckled
+ * force - TRUE if we should ignore buckled_mob.can_buckle_to
+ */
/atom/movable/proc/unbuckle_mob(mob/living/buckled_mob, force = FALSE)
if(!isliving(buckled_mob))
CRASH("Non-living [buckled_mob] thing called unbuckle_mob() for source.")
@@ -143,8 +143,8 @@
post_unbuckle_mob(.)
/**
- * Call [/atom/movable/proc/unbuckle_mob] for all buckled mobs
- */
+ * Call [/atom/movable/proc/unbuckle_mob] for all buckled mobs
+ */
/atom/movable/proc/unbuckle_all_mobs(force=FALSE)
if(!has_buckled_mobs())
return
@@ -159,15 +159,15 @@
/atom/movable/proc/post_unbuckle_mob(mob/living/M)
/**
- * Simple helper proc that runs a suite of checks to test whether it is possible or not to buckle the target mob to src.
- *
- * Returns FALSE if any conditions that should prevent buckling are satisfied. Returns TRUE otherwise.
- * Called from [/atom/movable/proc/buckle_mob] and [/atom/movable/proc/is_user_buckle_possible].
- * Arguments:
- * * target - Target mob to check against buckling to src.
- * * force - Whether or not the buckle should be forced. If TRUE, ignores src's can_buckle var and target's can_buckle_to
- * * check_loc - TRUE if target and src have to be on the same tile, FALSE if they are allowed to just be adjacent
- */
+ * Simple helper proc that runs a suite of checks to test whether it is possible or not to buckle the target mob to src.
+ *
+ * Returns FALSE if any conditions that should prevent buckling are satisfied. Returns TRUE otherwise.
+ * Called from [/atom/movable/proc/buckle_mob] and [/atom/movable/proc/is_user_buckle_possible].
+ * Arguments:
+ * * target - Target mob to check against buckling to src.
+ * * force - Whether or not the buckle should be forced. If TRUE, ignores src's can_buckle var and target's can_buckle_to
+ * * check_loc - TRUE if target and src have to be on the same tile, FALSE if they are allowed to just be adjacent
+ */
/atom/movable/proc/is_buckle_possible(mob/living/target, force = FALSE, check_loc = TRUE)
// Make sure target is mob/living
if(!istype(target))
@@ -204,15 +204,15 @@
return TRUE
/**
- * Simple helper proc that runs a suite of checks to test whether it is possible or not for user to buckle target mob to src.
- *
- * Returns FALSE if any conditions that should prevent buckling are satisfied. Returns TRUE otherwise.
- * Called from [/atom/movable/proc/user_buckle_mob].
- * Arguments:
- * * target - Target mob to check against buckling to src.
- * * user - The mob who is attempting to buckle the target to src.
- * * check_loc - TRUE if target and src have to be on the same tile, FALSE if buckling is allowed from adjacent tiles
- */
+ * Simple helper proc that runs a suite of checks to test whether it is possible or not for user to buckle target mob to src.
+ *
+ * Returns FALSE if any conditions that should prevent buckling are satisfied. Returns TRUE otherwise.
+ * Called from [/atom/movable/proc/user_buckle_mob].
+ * Arguments:
+ * * target - Target mob to check against buckling to src.
+ * * user - The mob who is attempting to buckle the target to src.
+ * * check_loc - TRUE if target and src have to be on the same tile, FALSE if buckling is allowed from adjacent tiles
+ */
/atom/movable/proc/is_user_buckle_possible(mob/living/target, mob/user, check_loc = TRUE)
// Standard adjacency and other checks.
if(!Adjacent(user) || !Adjacent(target) || !isturf(user.loc) || user.incapacitated() || target.anchored)
@@ -225,17 +225,17 @@
return TRUE
/**
- * Handles a mob buckling another mob to src and sends a visible_message
- *
- * Basically exists to do some checks on the user and then call buckle_mob where the real buckling happens.
- * First, checks if the buckle is valid and cancels if it isn't.
- * Second, checks if src is on a different turf from the target; if it is, does a do_after and another check for sanity
- * Finally, calls [/atom/movable/proc/buckle_mob] to buckle the target to src then gives chat feedback
- * Arguments:
- * * M - The target mob/living being buckled to src
- * * user - The other mob that's buckling M to src
- * * check_loc - TRUE if src and M have to be on the same turf, false otherwise
- */
+ * Handles a mob buckling another mob to src and sends a visible_message
+ *
+ * Basically exists to do some checks on the user and then call buckle_mob where the real buckling happens.
+ * First, checks if the buckle is valid and cancels if it isn't.
+ * Second, checks if src is on a different turf from the target; if it is, does a do_after and another check for sanity
+ * Finally, calls [/atom/movable/proc/buckle_mob] to buckle the target to src then gives chat feedback
+ * Arguments:
+ * * M - The target mob/living being buckled to src
+ * * user - The other mob that's buckling M to src
+ * * check_loc - TRUE if src and M have to be on the same turf, false otherwise
+ */
/atom/movable/proc/user_buckle_mob(mob/living/M, mob/user, check_loc = TRUE)
// Is buckling even possible? Do a full suite of checks.
if(!is_user_buckle_possible(M, user, check_loc))
@@ -268,14 +268,14 @@
"[user] buckles you to [src]!",\
"You hear metal clanking.")
/**
- * Handles a user unbuckling a mob from src and sends a visible_message
- *
- * Basically just calls unbuckle_mob, sets fingerprint, and sends a visible_message
- * about the user unbuckling the mob
- * Arguments:
- * buckled_mob - The mob/living to unbuckle
- * user - The mob unbuckling buckled_mob
- */
+ * Handles a user unbuckling a mob from src and sends a visible_message
+ *
+ * Basically just calls unbuckle_mob, sets fingerprint, and sends a visible_message
+ * about the user unbuckling the mob
+ * Arguments:
+ * buckled_mob - The mob/living to unbuckle
+ * user - The mob unbuckling buckled_mob
+ */
/atom/movable/proc/user_unbuckle_mob(mob/living/buckled_mob, mob/user)
var/mob/living/M = unbuckle_mob(buckled_mob)
if(M)
diff --git a/code/game/objects/effects/effect_system/effects_water.dm b/code/game/objects/effects/effect_system/effects_water.dm
index 6d71fe9c2c7..3169613c90d 100644
--- a/code/game/objects/effects/effect_system/effects_water.dm
+++ b/code/game/objects/effects/effect_system/effects_water.dm
@@ -34,10 +34,10 @@
// will always spawn at the items location, even if it's moved.
/* Example:
- var/datum/effect_system/steam_spread/steam = new /datum/effect_system/steam_spread() -- creates new system
-steam.set_up(5, 0, mob.loc) -- sets up variables
-OPTIONAL: steam.attach(mob)
-steam.start() -- spawns the effect
+ *var/datum/effect_system/steam_spread/steam = new /datum/effect_system/steam_spread() -- creates new system
+ *steam.set_up(5, 0, mob.loc) -- sets up variables
+ *OPTIONAL: steam.attach(mob)
+ *steam.start() -- spawns the effect
*/
/////////////////////////////////////////////
/obj/effect/particle_effect/steam
diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm
index 784aa6d932e..72db7badaab 100644
--- a/code/game/objects/effects/glowshroom.dm
+++ b/code/game/objects/effects/glowshroom.dm
@@ -49,13 +49,13 @@
. += "This is a [generation]\th generation [name]!"
/**
- * Creates a new glowshroom structure.
- *
- * Arguments:
- * * newseed - Seed of the shroom
- * * mutate_stats - If the plant needs to mutate their stats
- * * spread - If the plant is a result of spreading, reduce its stats
- */
+ * Creates a new glowshroom structure.
+ *
+ * Arguments:
+ * * newseed - Seed of the shroom
+ * * mutate_stats - If the plant needs to mutate their stats
+ * * spread - If the plant is a result of spreading, reduce its stats
+ */
/obj/structure/glowshroom/Initialize(mapload, obj/item/seeds/newseed, mutate_stats, spread)
. = ..()
@@ -100,8 +100,8 @@
addtimer(CALLBACK(src, .proc/Decay), delay_decay, TIMER_UNIQUE|TIMER_NO_HASH_WAIT)
/**
- * Causes glowshroom spreading across the floor/walls.
- */
+ * Causes glowshroom spreading across the floor/walls.
+ */
/obj/structure/glowshroom/proc/Spread()
@@ -134,7 +134,7 @@
var/chance_stats = ((myseed.potency + myseed.endurance * 2) * 0.2) // Chance of generating a new mushroom based on stats
var/chance_generation = (100 / (generation * generation)) // This formula gives you diminishing returns based on generation. 100% with 1st gen, decreasing to 25%, 11%, 6, 4, 2...
- // Whatever is the higher chance we use it (this is really stupid as the diminishing returns are effectively pointless???)
+ // Whatever is the higher chance we use it (this is really stupid as the diminishing returns are effectively pointless???)
if(prob(max(chance_stats, chance_generation)))
var/spreadsIntoAdjacent = prob(spreadIntoAdjacentChance)
var/turf/newLoc = null
@@ -213,12 +213,12 @@
return 1
/**
- * Causes the glowshroom to decay by decreasing its endurance.
- *
- * Arguments:
- * * spread - Boolean to indicate if the decay is due to spreading or natural decay.
- * * amount - Amount of endurance to be reduced due to spread decay.
- */
+ * Causes the glowshroom to decay by decreasing its endurance.
+ *
+ * Arguments:
+ * * spread - Boolean to indicate if the decay is due to spreading or natural decay.
+ * * amount - Amount of endurance to be reduced due to spread decay.
+ */
/obj/structure/glowshroom/proc/Decay(spread, amount)
if (spread) // Decay due to spread
myseed.endurance -= amount
diff --git a/code/game/objects/effects/spawners/vending.dm b/code/game/objects/effects/spawners/vending.dm
new file mode 100644
index 00000000000..399c2166fac
--- /dev/null
+++ b/code/game/objects/effects/spawners/vending.dm
@@ -0,0 +1,34 @@
+/obj/effect/spawner/randomsnackvend
+ icon = 'icons/obj/vending.dmi'
+ icon_state = "random_snack"
+ name = "spawn random snack vending machine"
+ desc = "Automagically transforms into a random snack vendor. If you see this while in a shift, please create a bug report."
+ ///whether it hacks the vendor on spawn currently used only by stinky mapedits
+ var/hacked = FALSE
+
+/obj/effect/spawner/randomsnackvend/Initialize(mapload)
+ ..()
+
+ var/random_vendor = pick(subtypesof(/obj/machinery/vending/snack))
+ var/obj/machinery/vending/snack/vend = new random_vendor(loc)
+ vend.extended_inventory = TRUE
+
+ return INITIALIZE_HINT_QDEL
+
+
+/obj/effect/spawner/randomcolavend
+ icon = 'icons/obj/vending.dmi'
+ icon_state = "random_cola"
+ name = "spawn random cola vending machine"
+ desc = "Automagically transforms into a random cola vendor. If you see this while in a shift, please create a bug report."
+ ///whether it hacks the vendor on spawn currently used only by stinky mapedits
+ var/hacked = FALSE
+
+/obj/effect/spawner/randomcolavend/Initialize(mapload)
+ ..()
+
+ var/random_vendor = pick(subtypesof(/obj/machinery/vending/cola))
+ var/obj/machinery/vending/cola/vend = new random_vendor(loc)
+ vend.extended_inventory = TRUE
+
+ return INITIALIZE_HINT_QDEL
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index 932215a51d4..7ba1fa0ef72 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -109,12 +109,12 @@
make_spider(user)
/**
- * Makes a ghost into a spider based on the type of egg cluster.
- *
- * Allows a ghost to get a prompt to use the egg cluster to become a spider.
- * Arguments:
- * * user - The ghost attempting to become a spider.
- */
+ * Makes a ghost into a spider based on the type of egg cluster.
+ *
+ * Allows a ghost to get a prompt to use the egg cluster to become a spider.
+ * Arguments:
+ * * user - The ghost attempting to become a spider.
+ */
/obj/structure/spider/eggcluster/proc/make_spider(mob/user)
var/list/spider_list = list()
var/list/display_spiders = list()
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index c8573687674..9dd99b4df7b 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -252,11 +252,11 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
AddComponent(/datum/component/butchering, 80 * toolspeed)
/**Makes cool stuff happen when you suicide with an item
- *
- *Outputs a creative message and then return the damagetype done
- * Arguments:
- * * user: The mob that is suiciding
- */
+ *
+ *Outputs a creative message and then return the damagetype done
+ * Arguments:
+ * * user: The mob that is suiciding
+ */
/obj/item/proc/suicide_act(mob/user)
return
@@ -510,15 +510,15 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
return TRUE
/**
- *the mob M is attempting to equip this item into the slot passed through as 'slot'. Return 1 if it can do this and 0 if it can't.
- *if this is being done by a mob other than M, it will include the mob equipper, who is trying to equip the item to mob M. equipper will be null otherwise.
- *If you are making custom procs but would like to retain partial or complete functionality of this one, include a 'return ..()' to where you want this to happen.
- * Arguments:
- * * disable_warning to TRUE if you wish it to not give you text outputs.
- * * slot is the slot we are trying to equip to
- * * equipper is the mob trying to equip the item
- * * bypass_equip_delay_self for whether we want to bypass the equip delay
- */
+ *the mob M is attempting to equip this item into the slot passed through as 'slot'. Return 1 if it can do this and 0 if it can't.
+ *if this is being done by a mob other than M, it will include the mob equipper, who is trying to equip the item to mob M. equipper will be null otherwise.
+ *If you are making custom procs but would like to retain partial or complete functionality of this one, include a 'return ..()' to where you want this to happen.
+ * Arguments:
+ * * disable_warning to TRUE if you wish it to not give you text outputs.
+ * * slot is the slot we are trying to equip to
+ * * equipper is the mob trying to equip the item
+ * * bypass_equip_delay_self for whether we want to bypass the equip delay
+ */
/obj/item/proc/mob_can_equip(mob/living/M, mob/living/equipper, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE)
if(!M)
return FALSE
@@ -542,10 +542,10 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
usr.UnarmedAttack(src)
/**
- *This proc is executed when someone clicks the on-screen UI button.
- *The default action is attack_self().
- *Checks before we get to here are: mob is alive, mob is not restrained, stunned, asleep, resting, laying, item is on the mob.
- */
+ *This proc is executed when someone clicks the on-screen UI button.
+ *The default action is attack_self().
+ *Checks before we get to here are: mob is alive, mob is not restrained, stunned, asleep, resting, laying, item is on the mob.
+ */
/obj/item/proc/ui_action_click(mob/user, actiontype)
attack_self(user)
@@ -963,16 +963,16 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
return src
/**
- * tryEmbed() is for when you want to try embedding something without dealing with the damage + hit messages of calling hitby() on the item while targetting the target.
- *
- * Really, this is used mostly with projectiles with shrapnel payloads, from [/datum/element/embed/proc/checkEmbedProjectile], and called on said shrapnel. Mostly acts as an intermediate between different embed elements.
- *
- * Returns TRUE if it embedded successfully, nothing otherwise
- *
- * Arguments:
- * * target- Either a body part or a carbon. What are we hitting?
- * * forced- Do we want this to go through 100%?
- */
+ * tryEmbed() is for when you want to try embedding something without dealing with the damage + hit messages of calling hitby() on the item while targetting the target.
+ *
+ * Really, this is used mostly with projectiles with shrapnel payloads, from [/datum/element/embed/proc/checkEmbedProjectile], and called on said shrapnel. Mostly acts as an intermediate between different embed elements.
+ *
+ * Returns TRUE if it embedded successfully, nothing otherwise
+ *
+ * Arguments:
+ * * target- Either a body part or a carbon. What are we hitting?
+ * * forced- Do we want this to go through 100%?
+ */
/obj/item/proc/tryEmbed(atom/target, forced=FALSE, silent=FALSE)
if(!isbodypart(target) && !iscarbon(target))
return NONE
diff --git a/code/game/objects/items/RPD.dm b/code/game/objects/items/RPD.dm
index 318f8827487..7b40b96292c 100644
--- a/code/game/objects/items/RPD.dm
+++ b/code/game/objects/items/RPD.dm
@@ -263,13 +263,13 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
return ..()
/**
- * Installs an upgrade into the RPD
- *
- * Installs an upgrade into the RPD checking if it is already installed
- * Arguments:
- * * rpd_up - RPD upgrade
- * * user - mob that use upgrade on RPD
- */
+ * Installs an upgrade into the RPD
+ *
+ * Installs an upgrade into the RPD checking if it is already installed
+ * Arguments:
+ * * rpd_up - RPD upgrade
+ * * user - mob that use upgrade on RPD
+ */
/obj/item/pipe_dispenser/proc/install_upgrade(obj/item/rpd_upgrade/rpd_up, mob/user)
if(rpd_up.upgrade_flags& upgrade_flags)
to_chat(user, "[src] has already installed this upgrade!")
diff --git a/code/game/objects/items/broom.dm b/code/game/objects/items/broom.dm
index 2260cf8a611..ccc6271c537 100644
--- a/code/game/objects/items/broom.dm
+++ b/code/game/objects/items/broom.dm
@@ -30,12 +30,12 @@
icon_state = "broom0"
/**
- * Handles registering the sweep proc when the broom is wielded
- *
- * Arguments:
- * * source - The source of the on_wield proc call
- * * user - The user which is wielding the broom
- */
+ * Handles registering the sweep proc when the broom is wielded
+ *
+ * Arguments:
+ * * source - The source of the on_wield proc call
+ * * user - The user which is wielding the broom
+ */
/obj/item/pushbroom/proc/on_wield(obj/item/source, mob/user)
SIGNAL_HANDLER
@@ -43,12 +43,12 @@
RegisterSignal(user, COMSIG_MOVABLE_MOVED, .proc/sweep)
/**
- * Handles unregistering the sweep proc when the broom is unwielded
- *
- * Arguments:
- * * source - The source of the on_unwield proc call
- * * user - The user which is unwielding the broom
- */
+ * Handles unregistering the sweep proc when the broom is unwielded
+ *
+ * Arguments:
+ * * source - The source of the on_unwield proc call
+ * * user - The user which is unwielding the broom
+ */
/obj/item/pushbroom/proc/on_unwield(obj/item/source, mob/user)
SIGNAL_HANDLER
@@ -61,13 +61,13 @@
sweep(user, A, FALSE)
/**
- * Attempts to push up to BROOM_PUSH_LIMIT atoms from a given location the user's faced direction
- *
- * Arguments:
- * * user - The user of the pushbroom
- * * A - The atom which is located at the location to push atoms from
- * * moving - Boolean argument declaring if the sweep is from generated from movement or not
- */
+ * Attempts to push up to BROOM_PUSH_LIMIT atoms from a given location the user's faced direction
+ *
+ * Arguments:
+ * * user - The user of the pushbroom
+ * * A - The atom which is located at the location to push atoms from
+ * * moving - Boolean argument declaring if the sweep is from generated from movement or not
+ */
/obj/item/pushbroom/proc/sweep(mob/user, atom/A, moving = TRUE)
SIGNAL_HANDLER
@@ -95,12 +95,12 @@
playsound(loc, 'sound/weapons/thudswoosh.ogg', 30, TRUE, -1)
/**
- * Attempts to insert the push broom into a janicart
- *
- * Arguments:
- * * user - The user of the push broom
- * * J - The janicart to insert into
- */
+ * Attempts to insert the push broom into a janicart
+ *
+ * Arguments:
+ * * user - The user of the push broom
+ * * J - The janicart to insert into
+ */
/obj/item/pushbroom/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) //bless you whoever fixes this copypasta
J.put_in_cart(src, user)
J.mybroom=src
diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm
index 966d8c0c6a4..65e6f6be761 100644
--- a/code/game/objects/items/cardboard_cutouts.dm
+++ b/code/game/objects/items/cardboard_cutouts.dm
@@ -94,12 +94,12 @@
return BULLET_ACT_HIT
/**
- * change_appearance: Changes a skin of the cardboard cutout based on a user's choice
- *
- * Arguments:
- * * crayon The crayon used to change and recolor the cardboard cutout
- * * user The mob choosing a skin of the cardboard cutout
- */
+ * change_appearance: Changes a skin of the cardboard cutout based on a user's choice
+ *
+ * Arguments:
+ * * crayon The crayon used to change and recolor the cardboard cutout
+ * * user The mob choosing a skin of the cardboard cutout
+ */
/obj/item/cardboard_cutout/proc/change_appearance(obj/item/toy/crayon/crayon, mob/living/user)
var/new_appearance = show_radial_menu(user, src, possible_appearances, custom_check = CALLBACK(src, .proc/check_menu, user, crayon), radius = 36, require_near = TRUE)
if(!new_appearance)
@@ -201,12 +201,12 @@
return TRUE
/**
- * check_menu: Checks if we are allowed to interact with a radial menu
- *
- * Arguments:
- * * user The mob interacting with a menu
- * * crayon The crayon used to interact with a menu
- */
+ * check_menu: Checks if we are allowed to interact with a radial menu
+ *
+ * Arguments:
+ * * user The mob interacting with a menu
+ * * crayon The crayon used to interact with a menu
+ */
/obj/item/cardboard_cutout/proc/check_menu(mob/living/user, obj/item/toy/crayon/crayon)
if(!istype(user))
return FALSE
diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm
index 91d34386486..2bc8e485d47 100644
--- a/code/game/objects/items/cigs_lighters.dm
+++ b/code/game/objects/items/cigs_lighters.dm
@@ -336,10 +336,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM
desc = "A Carp Classic brand cigarette. A small label on its side indicates that it does NOT contain carpotoxin."
/obj/item/clothing/mask/cigarette/carp/Initialize()
- . = ..()
- if(!prob(5))
- return
- reagents?.add_reagent(/datum/reagent/toxin/carpotoxin , 3) // They lied
+ . = ..()
+ if(!prob(5))
+ return
+ reagents?.add_reagent(/datum/reagent/toxin/carpotoxin , 3) // They lied
/obj/item/clothing/mask/cigarette/syndicate
desc = "An unknown brand cigarette."
diff --git a/code/game/objects/items/circuitboards/circuitboard.dm b/code/game/objects/items/circuitboards/circuitboard.dm
index d065a16391d..84f5aef3d82 100644
--- a/code/game/objects/items/circuitboards/circuitboard.dm
+++ b/code/game/objects/items/circuitboards/circuitboard.dm
@@ -41,11 +41,11 @@
return
/**
- * Used to allow the circuitboard to configure a machine in some way, shape or form.
- *
- * Arguments:
- * * machine - The machine to attempt to configure.
- */
+ * Used to allow the circuitboard to configure a machine in some way, shape or form.
+ *
+ * Arguments:
+ * * machine - The machine to attempt to configure.
+ */
/obj/item/circuitboard/proc/configure_machine(obj/machinery/machine)
return
diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm
index 1c9e3e360f5..a87e12a14d2 100644
--- a/code/game/objects/items/circuitboards/machine_circuitboards.dm
+++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm
@@ -358,7 +358,7 @@
/obj/item/circuitboard/machine/HFR_core
name = "HFR core (Machine Board)"
icon_state = "engineering"
- build_path = /obj/machinery/atmospherics/components/binary/hypertorus/core
+ build_path = /obj/machinery/atmospherics/components/unary/hypertorus/core
req_components = list(
/obj/item/stack/cable_coil = 10,
/obj/item/stack/sheet/glass = 10,
diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm
index 3196d470ef4..ba7bc8e384f 100644
--- a/code/game/objects/items/clown_items.dm
+++ b/code/game/objects/items/clown_items.dm
@@ -98,12 +98,12 @@
return (TOXLOSS)
/**
- * Decrease the number of uses the bar of soap has.
- *
- * The higher the cleaning skill, the less likely the soap will lose a use.
- * Arguments
- * * user - The mob that is using the soap to clean.
- */
+ * Decrease the number of uses the bar of soap has.
+ *
+ * The higher the cleaning skill, the less likely the soap will lose a use.
+ * Arguments
+ * * user - The mob that is using the soap to clean.
+ */
/obj/item/soap/proc/decreaseUses(mob/user)
var/skillcheck = 1
if(user?.mind)
diff --git a/code/game/objects/items/cosmetics.dm b/code/game/objects/items/cosmetics.dm
index da9b2cad9ea..1ce3e4e492f 100644
--- a/code/game/objects/items/cosmetics.dm
+++ b/code/game/objects/items/cosmetics.dm
@@ -60,16 +60,16 @@
return
if(H == user)
user.visible_message("[user] does [user.p_their()] lips with \the [src].", \
- "You take a moment to apply \the [src]. Perfect!")
+ "You take a moment to apply \the [src]. Perfect!")
H.lip_style = "lipstick"
H.lip_color = colour
H.update_body()
else
user.visible_message("[user] begins to do [H]'s lips with \the [src].", \
- "You begin to apply \the [src] on [H]'s lips...")
+ "You begin to apply \the [src] on [H]'s lips...")
if(do_after(user, 20, target = H))
user.visible_message("[user] does [H]'s lips with \the [src].", \
- "You apply \the [src] on [H]'s lips.")
+ "You apply \the [src] on [H]'s lips.")
H.lip_style = "lipstick"
H.lip_color = colour
H.update_body()
@@ -90,10 +90,10 @@
H.update_body()
else
user.visible_message("[user] begins to wipe [H]'s lipstick off with \the [src].", \
- "You begin to wipe off [H]'s lipstick...")
+ "You begin to wipe off [H]'s lipstick...")
if(do_after(user, 10, target = H))
user.visible_message("[user] wipes [H]'s lipstick off with \the [src].", \
- "You wipe off [H]'s lipstick.")
+ "You wipe off [H]'s lipstick.")
H.lip_style = null
H.update_body()
else
@@ -164,17 +164,17 @@
if(H == user) //shaving yourself
user.visible_message("[user] starts to shave [user.p_their()] facial hair with [src].", \
- "You take a moment to shave your facial hair with [src]...")
+ "You take a moment to shave your facial hair with [src]...")
if(do_after(user, 50, target = H))
user.visible_message("[user] shaves [user.p_their()] facial hair clean with [src].", \
- "You finish shaving with [src]. Fast and clean!")
+ "You finish shaving with [src]. Fast and clean!")
shave(H, location)
else
user.visible_message("[user] tries to shave [H]'s facial hair with [src].", \
- "You start shaving [H]'s facial hair...")
+ "You start shaving [H]'s facial hair...")
if(do_after(user, 50, target = H))
user.visible_message("[user] shaves off [H]'s facial hair with [src].", \
- "You shave [H]'s facial hair clean off.")
+ "You shave [H]'s facial hair clean off.")
shave(H, location)
else if(location == BODY_ZONE_HEAD)
@@ -211,19 +211,19 @@
if(H == user) //shaving yourself
user.visible_message("[user] starts to shave [user.p_their()] head with [src].", \
- "You start to shave your head with [src]...")
+ "You start to shave your head with [src]...")
if(do_after(user, 5, target = H))
user.visible_message("[user] shaves [user.p_their()] head with [src].", \
- "You finish shaving with [src].")
+ "You finish shaving with [src].")
shave(H, location)
else
var/turf/H_loc = H.loc
user.visible_message("[user] tries to shave [H]'s head with [src]!", \
- "You start shaving [H]'s head...")
+ "You start shaving [H]'s head...")
if(do_after(user, 50, target = H))
if(H_loc == H.loc)
user.visible_message("[user] shaves [H]'s head bald with [src]!", \
- "You shave [H]'s head bald.")
+ "You shave [H]'s head bald.")
shave(H, location)
else
..()
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index fb545776507..efde7ae3482 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -89,7 +89,7 @@
M.visible_message("[M] directs [src] to [M.p_their()] eyes.", "You wave the light in front of your eyes.")
else
user.visible_message("[user] directs [src] to [M]'s eyes.", \
- "You direct [src] to [M]'s eyes.")
+ "You direct [src] to [M]'s eyes.")
if(M.stat == DEAD || (M.is_blind()) || !M.flash_act(visual = 1)) //mob is dead or fully blind
to_chat(user, "[M]'s pupils don't react to the light!")
else if(M.dna && M.dna.check_mutation(XRAY)) //mob has X-ray vision
@@ -154,7 +154,7 @@
else
user.visible_message("[user] directs [src] to [M]'s mouth.",\
- "You direct [src] to [M]'s mouth.")
+ "You direct [src] to [M]'s mouth.")
if(organ_count)
to_chat(user, "Inside [their] mouth [organ_count > 1 ? "are" : "is"] [organ_list].")
else
diff --git a/code/game/objects/items/devices/ocd.dm b/code/game/objects/items/devices/ocd.dm
index 50032810abd..784bffc465c 100644
--- a/code/game/objects/items/devices/ocd.dm
+++ b/code/game/objects/items/devices/ocd.dm
@@ -5,7 +5,7 @@
icon_state = "gangtool-white"
/obj/item/devices/ocd_device/attack_self(mob/user)
- var/datum/round_event/bureaucratic_error/event = new()
- event.start()
- deadchat_broadcast(" An OCD has been activated! ")
- qdel(src)
+ var/datum/round_event/bureaucratic_error/event = new()
+ event.start()
+ deadchat_broadcast(" An OCD has been activated! ")
+ qdel(src)
diff --git a/code/game/objects/items/devices/portable_chem_mixer.dm b/code/game/objects/items/devices/portable_chem_mixer.dm
index 9a950af14cf..712bc201e3d 100644
--- a/code/game/objects/items/devices/portable_chem_mixer.dm
+++ b/code/game/objects/items/devices/portable_chem_mixer.dm
@@ -58,10 +58,10 @@
return ..()
/**
- * Updates the contents of the portable chemical mixer
- *
- * A list of dispensable reagents is created by iterating through each source beaker in the portable chemical beaker and reading its contents
- */
+ * Updates the contents of the portable chemical mixer
+ *
+ * A list of dispensable reagents is created by iterating through each source beaker in the portable chemical beaker and reading its contents
+ */
/obj/item/storage/portable_chem_mixer/proc/update_contents()
dispensable_reagents.Cut()
@@ -94,13 +94,13 @@
update_icon()
/**
- * Replaces the beaker of the portable chemical mixer with another beaker, or simply adds the new beaker if none is in currently
- *
- * Checks if a valid user and a valid new beaker exist and attempts to replace the current beaker in the portable chemical mixer with the one in hand. Simply places the new beaker in if no beaker is currently loaded
- * Arguments:
- * * mob/living/user - The user who is trying to exchange beakers
- * * obj/item/reagent_containers/new_beaker - The new beaker that the user wants to put into the device
- */
+ * Replaces the beaker of the portable chemical mixer with another beaker, or simply adds the new beaker if none is in currently
+ *
+ * Checks if a valid user and a valid new beaker exist and attempts to replace the current beaker in the portable chemical mixer with the one in hand. Simply places the new beaker in if no beaker is currently loaded
+ * Arguments:
+ * * mob/living/user - The user who is trying to exchange beakers
+ * * obj/item/reagent_containers/new_beaker - The new beaker that the user wants to put into the device
+ */
/obj/item/storage/portable_chem_mixer/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker)
if(!user)
return FALSE
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index 56df3adcd6f..df719f1d2a7 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -56,10 +56,10 @@
return ..()
/**
- * Override attack_tk_grab instead of attack_tk because we actually want attack_tk's
- * functionality. What we DON'T want is attack_tk_grab attempting to pick up the
- * intercom as if it was an ordinary item.
- */
+ * Override attack_tk_grab instead of attack_tk because we actually want attack_tk's
+ * functionality. What we DON'T want is attack_tk_grab attempting to pick up the
+ * intercom as if it was an ordinary item.
+ */
/obj/item/radio/intercom/attack_tk_grab(mob/user)
interact(user)
return COMPONENT_CANCEL_ATTACK_CHAIN
diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 2274fea61a6..96fe5883c05 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -121,9 +121,9 @@ GENE SCANNER
user.visible_message("[user] analyzes the floor's vitals!", \
"You stupidly try to analyze the floor's vitals!")
to_chat(user, "Analyzing results for The floor:\n\tOverall status: Healthy\
- \nKey: Suffocation/Toxin/Burn/Brute\
- \n\tDamage specifics: 0-0-0-0\
- \nBody temperature: ???")
+ \nKey: Suffocation/Toxin/Burn/Brute\
+ \n\tDamage specifics: 0-0-0-0\
+ \nBody temperature: ???")
return
if(ispodperson(M)&& !advanced)
@@ -586,7 +586,7 @@ GENE SCANNER
var/total_moles = environment.total_moles()
render_list += "Results:\
- \nPressure: [round(pressure, 0.01)] kPa\n"
+ \nPressure: [round(pressure, 0.01)] kPa\n"
if(total_moles)
var/list/env_gases = environment.gases
@@ -698,8 +698,8 @@ GENE SCANNER
if(total_moles > 0)
render_list += "Moles: [round(total_moles, 0.01)] mol\
- \nVolume: [volume] L\
- \nPressure: [round(pressure,0.01)] kPa"
+ \nVolume: [volume] L\
+ \nPressure: [round(pressure,0.01)] kPa"
var/list/cached_gases = air_contents.gases
for(var/id in cached_gases)
@@ -711,7 +711,7 @@ GENE SCANNER
if(cached_scan_results && cached_scan_results["fusion"]) //notify the user if a fusion reaction was detected
render_list += "Large amounts of free neutrons detected in the air indicate that a fusion reaction took place.\
- \nInstability of the last fusion reaction: [round(cached_scan_results["fusion"], 0.01)]."
+ \nInstability of the last fusion reaction: [round(cached_scan_results["fusion"], 0.01)]."
to_chat(user, jointext(render_list, "\n")) // we let the join apply newlines so we do need handholding
return TRUE
diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm
index 92a92b08479..3f80d8ce224 100644
--- a/code/game/objects/items/devices/traitordevices.dm
+++ b/code/game/objects/items/devices/traitordevices.dm
@@ -276,12 +276,12 @@ effective or pretty fucking useless.
new /obj/item/wirecutters(src)
/obj/item/storage/toolbox/emergency/turret/attackby(obj/item/I, mob/living/user, params)
- if(I.tool_behaviour == TOOL_WRENCH && user.a_intent == INTENT_HARM)
- user.visible_message("[user] bashes [src] with [I]!", \
- "You bash [src] with [I]!", null, COMBAT_MESSAGE_RANGE)
- playsound(src, "sound/items/drill_use.ogg", 80, TRUE, -1)
- var/obj/machinery/porta_turret/syndicate/pod/toolbox/turret = new(get_turf(loc))
- turret.faction = list("[REF(user)]")
- qdel(src)
+ if(I.tool_behaviour == TOOL_WRENCH && user.a_intent == INTENT_HARM)
+ user.visible_message("[user] bashes [src] with [I]!", \
+ "You bash [src] with [I]!", null, COMBAT_MESSAGE_RANGE)
+ playsound(src, "sound/items/drill_use.ogg", 80, TRUE, -1)
+ var/obj/machinery/porta_turret/syndicate/pod/toolbox/turret = new(get_turf(loc))
+ turret.faction = list("[REF(user)]")
+ qdel(src)
- ..()
+ ..()
diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm
index a5664c1ef8e..f3846c2e4b5 100644
--- a/code/game/objects/items/devices/transfer_valve.dm
+++ b/code/game/objects/items/devices/transfer_valve.dm
@@ -248,7 +248,7 @@
update_icon()
/**
- * Returns if this is ready to be detonated. Checks if both tanks are in place.
- */
+ * Returns if this is ready to be detonated. Checks if both tanks are in place.
+ */
/obj/item/transfer_valve/proc/ready()
return tank_one && tank_two
diff --git a/code/game/objects/items/dice.dm b/code/game/objects/items/dice.dm
index 4b599292f09..3bb2835cab6 100644
--- a/code/game/objects/items/dice.dm
+++ b/code/game/objects/items/dice.dm
@@ -209,8 +209,8 @@
result = special_faces[result]
if(user != null) //Dice was rolled in someone's hand
user.visible_message("[user] throws [src]. It lands on [result]. [comment]", \
- "You throw [src]. It lands on [result]. [comment]", \
- "You hear [src] rolling, it sounds like a [fake_result].")
+ "You throw [src]. It lands on [result]. [comment]", \
+ "You hear [src] rolling, it sounds like a [fake_result].")
else if(!src.throwing) //Dice was thrown and is coming to rest
visible_message("[src] rolls to a stop, landing on [result]. [comment]")
diff --git a/code/game/objects/items/food/_food.dm b/code/game/objects/items/food/_food.dm
index c16361eb7ac..7cbea93fe34 100644
--- a/code/game/objects/items/food/_food.dm
+++ b/code/game/objects/items/food/_food.dm
@@ -3,7 +3,7 @@
name = "food"
desc = "you eat this"
resistance_flags = FLAMMABLE
- w_class = WEIGHT_CLASS_NORMAL
+ w_class = WEIGHT_CLASS_SMALL
icon = 'icons/obj/food/food.dmi'
icon_state = null
lefthand_file = 'icons/mob/inhands/misc/food_lefthand.dmi'
diff --git a/code/game/objects/items/food/meat.dm b/code/game/objects/items/food/meat.dm
index fe1d66892d4..4625903b40b 100644
--- a/code/game/objects/items/food/meat.dm
+++ b/code/game/objects/items/food/meat.dm
@@ -728,7 +728,7 @@
name = "[source_item.name] steak"
/obj/item/food/meat/steak/plain
- foodtypes = MEAT
+ foodtypes = MEAT
/obj/item/food/meat/steak/plain/human
tastes = list("tender meat" = 1)
@@ -830,7 +830,7 @@
meat_type = original_atom.name
/obj/item/food/meat/rawcutlet/plain
- foodtypes = MEAT
+ foodtypes = MEAT
/obj/item/food/meat/rawcutlet/plain
diff --git a/code/game/objects/items/grenades/grenade.dm b/code/game/objects/items/grenades/grenade.dm
index 9fd7072bc7c..6d3417697d8 100644
--- a/code/game/objects/items/grenades/grenade.dm
+++ b/code/game/objects/items/grenades/grenade.dm
@@ -90,9 +90,9 @@
log_bomber(user, "has primed a", src, "for detonation")
/**
- * arm_grenade (formerly preprime) refers to when a grenade with a standard time fuze is activated, making it go beepbeepbeep and then detonate a few seconds later.
- * Grenades with other triggers like remote igniters probably skip this step and go straight to [/obj/item/grenade/proc/detonate]
- */
+ * arm_grenade (formerly preprime) refers to when a grenade with a standard time fuze is activated, making it go beepbeepbeep and then detonate a few seconds later.
+ * Grenades with other triggers like remote igniters probably skip this step and go straight to [/obj/item/grenade/proc/detonate]
+ */
/obj/item/grenade/proc/arm_grenade(mob/user, delayoverride, msg = TRUE, volume = 60)
var/turf/T = get_turf(src)
log_grenade(user, T) //Inbuilt admin procs already handle null users
@@ -110,11 +110,11 @@
addtimer(CALLBACK(src, .proc/detonate), isnull(delayoverride)? det_time : delayoverride)
/**
- * detonate (formerly prime) refers to when the grenade actually delivers its payload (whether or not a boom/bang/detonation is involved)
- *
- * Arguments:
- * * lanced_by- If this grenade was detonated by an elance, we need to pass that along with the COMSIG_GRENADE_DETONATE signal for pellet clouds
- */
+ * detonate (formerly prime) refers to when the grenade actually delivers its payload (whether or not a boom/bang/detonation is involved)
+ *
+ * Arguments:
+ * * lanced_by- If this grenade was detonated by an elance, we need to pass that along with the COMSIG_GRENADE_DETONATE signal for pellet clouds
+ */
/obj/item/grenade/proc/detonate(mob/living/lanced_by)
if(shrapnel_type && shrapnel_radius && !shrapnel_initialized) // add a second check for adding the component in case whatever triggered the grenade went straight to prime (badminnery for example)
shrapnel_initialized = TRUE
diff --git a/code/game/objects/items/grenades/smokebomb.dm b/code/game/objects/items/grenades/smokebomb.dm
index 492d20f0261..503dbcb90f2 100644
--- a/code/game/objects/items/grenades/smokebomb.dm
+++ b/code/game/objects/items/grenades/smokebomb.dm
@@ -1,8 +1,8 @@
/**
- *This is smoke bomb, mezum koman. It is a grenade subtype. All craftmanship is of the highest quality.
- *It menaces with spikes of iron. On it is a depiction of an assistant.
- *The assistant is bleeding. The assistant has a painful expression. The assistant is dead.
- */
+ *This is smoke bomb, mezum koman. It is a grenade subtype. All craftmanship is of the highest quality.
+ *It menaces with spikes of iron. On it is a depiction of an assistant.
+ *The assistant is bleeding. The assistant has a painful expression. The assistant is dead.
+ */
/obj/item/grenade/smokebomb
name = "smoke grenade"
desc = "Real bruh moment if you ever see this. Probably tell a c*der or something."
diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm
index 9c60df79fb0..92b79b805fb 100644
--- a/code/game/objects/items/handcuffs.dm
+++ b/code/game/objects/items/handcuffs.dm
@@ -337,11 +337,11 @@
ensnare(hit_atom)
/**
- * Attempts to legcuff someone with the bola
- *
- * Arguments:
- * * C - the carbon that we will try to ensnare
- */
+ * Attempts to legcuff someone with the bola
+ *
+ * Arguments:
+ * * C - the carbon that we will try to ensnare
+ */
/obj/item/restraints/legcuffs/bola/proc/ensnare(mob/living/carbon/C)
if(!C.legcuffed && C.num_legs >= 2)
visible_message("\The [src] ensnares [C]!")
diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm
index 240caff8182..6a8bb50256e 100644
--- a/code/game/objects/items/holy_weapons.dm
+++ b/code/game/objects/items/holy_weapons.dm
@@ -219,11 +219,11 @@
reskin_holy_weapon(user)
/**
- * reskin_holy_weapon: Shows a user a list of all available nullrod reskins and based on his choice replaces the nullrod with the reskinned version
- *
- * Arguments:
- * * M The mob choosing a nullrod reskin
- */
+ * reskin_holy_weapon: Shows a user a list of all available nullrod reskins and based on his choice replaces the nullrod with the reskinned version
+ *
+ * Arguments:
+ * * M The mob choosing a nullrod reskin
+ */
/obj/item/nullrod/proc/reskin_holy_weapon(mob/M)
if(GLOB.holy_weapon_type)
return
@@ -252,11 +252,11 @@
M.put_in_hands(holy_weapon)
/**
- * check_menu: Checks if we are allowed to interact with a radial menu
- *
- * Arguments:
- * * user The mob interacting with a menu
- */
+ * check_menu: Checks if we are allowed to interact with a radial menu
+ *
+ * Arguments:
+ * * user The mob interacting with a menu
+ */
/obj/item/nullrod/proc/check_menu(mob/user)
if(!istype(user))
return FALSE
diff --git a/code/game/objects/items/manuals.dm b/code/game/objects/items/manuals.dm
index a0aa7e0bd98..a2ef95a7dd9 100644
--- a/code/game/objects/items/manuals.dm
+++ b/code/game/objects/items/manuals.dm
@@ -264,7 +264,7 @@
function pageloaded(myframe) {
document.getElementById("loading").style.display = "none";
myframe.style.display = "inline";
- }
+ }
You start skimming through the manual...
diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index c880a1ce856..89dd43a97e4 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -15,16 +15,19 @@ cost = 250 source = /datum/robot_energy_storage/medical merge_type = /obj/item/stack/medical - var/self_delay = 50 + /// How long it takes to apply it to yourself + var/self_delay = 5 SECONDS + /// How long it takes to apply it to someone else var/other_delay = 0 + /// If we've still got more and the patient is still hurt, should we keep going automatically? var/repeating = FALSE - /// How much brute we heal per application + /// How much brute we heal per application. This is the only number that matters for simplemobs var/heal_brute /// How much burn we heal per application var/heal_burn /// How much we reduce bleeding per application on cut wounds var/stop_bleeding - /// How much sanitization to apply to burns on application + /// How much sanitization to apply to burn wounds on application var/sanitization /// How much we add to flesh_healing for burn wounds on application var/flesh_regeneration @@ -33,49 +36,66 @@ . = ..() try_heal(M, user) - -/obj/item/stack/medical/proc/try_heal(mob/living/M, mob/user, silent = FALSE) - if(!M.can_inject(user, TRUE)) +/// In which we print the message that we're starting to heal someone, then we try healing them. Does the do_after whether or not it can actually succeed on a targeted mob +/obj/item/stack/medical/proc/try_heal(mob/living/patient, mob/user, silent = FALSE) + if(!patient.can_inject(user, TRUE)) return - if(M == user) + if(patient == user) if(!silent) - user.visible_message("[user] starts to apply \the [src] on [user.p_them()]self...", "You begin applying \the [src] on yourself...") - if(!do_mob(user, M, self_delay, extra_checks=CALLBACK(M, /mob/living/proc/can_inject, user, TRUE))) + user.visible_message("[user] starts to apply [src] on [user.p_them()]self...", "You begin applying [src] on yourself...") + if(!do_mob(user, patient, self_delay, extra_checks=CALLBACK(patient, /mob/living/proc/can_inject, user, TRUE))) return else if(other_delay) if(!silent) - user.visible_message("[user] starts to apply \the [src] on [M].", "You begin applying \the [src] on [M]...") - if(!do_mob(user, M, other_delay, extra_checks=CALLBACK(M, /mob/living/proc/can_inject, user, TRUE))) + user.visible_message("[user] starts to apply [src] on [patient].", "You begin applying [src] on [patient]...") + if(!do_mob(user, patient, other_delay, extra_checks=CALLBACK(patient, /mob/living/proc/can_inject, user, TRUE))) return - if(heal(M, user)) - log_combat(user, M, "healed", src.name) + if(heal(patient, user)) + log_combat(user, patient, "healed", src.name) use(1) if(repeating && amount > 0) - try_heal(M, user, TRUE) + try_heal(patient, user, TRUE) -/obj/item/stack/medical/proc/heal(mob/living/M, mob/user) - return +/// Apply the actual effects of the healing if it's a simple animal, goes to [/obj/item/stack/medical/proc/heal_carbon] if it's a carbon, returns TRUE if it works, FALSE if it doesn't +/obj/item/stack/medical/proc/heal(mob/living/patient, mob/user) + if(patient.stat == DEAD) + to_chat(user, "[patient] is dead! You can not help [patient.p_them()].") + return + if(isanimal(patient) && heal_brute) // only brute can heal + var/mob/living/simple_animal/critter = patient + if (!critter.healable) + to_chat(user, "You cannot use [src] on [patient]!") + return FALSE + else if (critter.health == critter.maxHealth) + to_chat(user, "[patient] is at full health.") + return FALSE + user.visible_message("[user] applies [src] on [patient].", "You apply [src] on [patient].") + patient.heal_bodypart_damage((heal_brute * 0.5)) + return TRUE + if(iscarbon(patient)) + return heal_carbon(patient, user, heal_brute, heal_burn) + to_chat(user, "You can't heal [patient] with [src]!") +/// The healing effects on a carbon patient. Since we have extra details for dealing with bodyparts, we get our own fancy proc. Still returns TRUE on success and FALSE on fail /obj/item/stack/medical/proc/heal_carbon(mob/living/carbon/C, mob/user, brute, burn) var/obj/item/bodypart/affecting = C.get_bodypart(check_zone(user.zone_selected)) if(!affecting) //Missing limb? to_chat(user, "[C] doesn't have \a [parse_zone(user.zone_selected)]!") return FALSE if(affecting.status != BODYPART_ORGANIC) //Limb must be organic to be healed - RR - to_chat(user, "\The [src] won't work on a robotic limb!") + to_chat(user, "[src] won't work on a robotic limb!") return FALSE if(affecting.brute_dam && brute || affecting.burn_dam && burn) - user.visible_message("[user] applies \the [src] on [C]'s [affecting.name].", "You apply \the [src] on [C]'s [affecting.name].") + user.visible_message("[user] applies [src] on [C]'s [affecting.name].", "You apply [src] on [C]'s [affecting.name].") var/previous_damage = affecting.get_damage() if(affecting.heal_damage(brute, burn)) C.update_damage_overlays() post_heal_effects(max(previous_damage - affecting.get_damage(), 0), C, user) return TRUE - to_chat(user, "[C]'s [affecting.name] can not be healed with \the [src]!") + to_chat(user, "[C]'s [affecting.name] can not be healed with [src]!") return FALSE - ///Override this proc for special post heal effects. /obj/item/stack/medical/proc/post_heal_effects(amount_healed, mob/living/carbon/healed_mob, mob/user) return @@ -88,30 +108,11 @@ lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' heal_brute = 40 - self_delay = 40 - other_delay = 20 + self_delay = 4 SECONDS + other_delay = 2 SECONDS grind_results = list(/datum/reagent/medicine/c2/libital = 10) merge_type = /obj/item/stack/medical/bruise_pack -/obj/item/stack/medical/bruise_pack/heal(mob/living/M, mob/user) - if(M.stat == DEAD) - to_chat(user, "[M] is dead! You can not help [M.p_them()].") - return - if(isanimal(M)) - var/mob/living/simple_animal/critter = M - if (!(critter.healable)) - to_chat(user, "You cannot use \the [src] on [M]!") - return FALSE - else if (critter.health == critter.maxHealth) - to_chat(user, "[M] is at full health.") - return FALSE - user.visible_message("[user] applies \the [src] on [M].", "You apply \the [src] on [M].") - M.heal_bodypart_damage((heal_brute/2)) - return TRUE - if(iscarbon(M)) - return heal_carbon(M, user, heal_brute, heal_burn) - to_chat(user, "You can't heal [M] with \the [src]!") - /obj/item/stack/medical/bruise_pack/suicide_act(mob/user) user.visible_message("[user] is bludgeoning [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!") return (BRUTELOSS) @@ -122,8 +123,8 @@ gender = PLURAL singular_name = "medical gauze" icon_state = "gauze" - self_delay = 50 - other_delay = 20 + self_delay = 5 SECONDS + other_delay = 2 SECONDS max_amount = 12 amount = 6 grind_results = list(/datum/reagent/cellulose = 2) @@ -158,7 +159,6 @@ return user.visible_message("[user] begins wrapping the wounds on [M]'s [limb.name] with [src]...", "You begin wrapping the wounds on [user == M ? "your" : "[M]'s"] [limb.name] with [src]...") - if(!do_after(user, (user == M ? self_delay : other_delay), target=M)) return @@ -175,34 +175,42 @@ return new /obj/item/stack/sheet/cloth(user.drop_location()) user.visible_message("[user] cuts [src] into pieces of cloth with [I].", \ - "You cut [src] into pieces of cloth with [I].", \ - "You hear cutting.") + "You cut [src] into pieces of cloth with [I].", \ + "You hear cutting.") use(2) else return ..() /obj/item/stack/medical/gauze/suicide_act(mob/living/user) - user.visible_message("[user] begins tightening \the [src] around [user.p_their()] neck! It looks like [user.p_they()] forgot how to use medical supplies!") + user.visible_message("[user] begins tightening [src] around [user.p_their()] neck! It looks like [user.p_they()] forgot how to use medical supplies!") return OXYLOSS /obj/item/stack/medical/gauze/improvised name = "improvised gauze" singular_name = "improvised gauze" desc = "A roll of cloth roughly cut from something that does a decent job of stabilizing wounds, but less efficiently so than real medical gauze." - self_delay = 60 - other_delay = 30 + self_delay = 6 SECONDS + other_delay = 3 SECONDS absorption_rate = 0.15 absorption_capacity = 4 merge_type = /obj/item/stack/medical/gauze/improvised + /* + The idea is for the following medical devices to work like a hybrid of the old brute packs and tend wounds, + they heal a little at a time, have reduced healing density and does not allow for rapid healing while in combat. + However they provice graunular control of where the healing is directed, this makes them better for curing work-related cuts and scrapes. + + The interesting limb targeting mechanic is retained and i still believe they will be a viable choice, especially when healing others in the field. + */ + /obj/item/stack/medical/suture name = "suture" desc = "Basic sterile sutures used to seal up cuts and lacerations and stop bleeding." gender = PLURAL singular_name = "suture" icon_state = "suture" - self_delay = 30 - other_delay = 10 + self_delay = 3 SECONDS + other_delay = 1 SECONDS amount = 10 max_amount = 10 repeating = TRUE @@ -228,27 +236,6 @@ grind_results = list(/datum/reagent/medicine/polypyr = 1) merge_type = /obj/item/stack/medical/suture/medicated -/obj/item/stack/medical/suture/heal(mob/living/M, mob/user) - . = ..() - if(M.stat == DEAD) - to_chat(user, "[M] is dead! You can not help [M.p_them()].") - return - if(iscarbon(M)) - return heal_carbon(M, user, heal_brute, heal_burn) - if(isanimal(M)) - var/mob/living/simple_animal/critter = M - if (!(critter.healable)) - to_chat(user, "You cannot use \the [src] on [M]!") - return FALSE - else if (critter.health == critter.maxHealth) - to_chat(user, "[M] is at full health.") - return FALSE - user.visible_message("[user] applies \the [src] on [M].", "You apply \the [src] on [M].") - M.heal_bodypart_damage(heal_brute) - return TRUE - - to_chat(user, "You can't heal [M] with \the [src]!") - /obj/item/stack/medical/ointment name = "ointment" desc = "Basic burn ointment, rated effective for second degree burns with proper bandaging, though it's still an effective stabilizer for worse burns. Not terribly good at outright healing burns though." @@ -259,8 +246,8 @@ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' amount = 8 max_amount = 8 - self_delay = 40 - other_delay = 20 + self_delay = 4 SECONDS + other_delay = 2 SECONDS heal_burn = 5 flesh_regeneration = 2.5 @@ -268,16 +255,8 @@ grind_results = list(/datum/reagent/medicine/c2/lenturi = 10) merge_type = /obj/item/stack/medical/ointment -/obj/item/stack/medical/ointment/heal(mob/living/M, mob/user) - if(M.stat == DEAD) - to_chat(user, "[M] is dead! You can not help [M.p_them()].") - return - if(iscarbon(M)) - return heal_carbon(M, user, heal_brute, heal_burn) - to_chat(user, "You can't heal [M] with \the [src]!") - /obj/item/stack/medical/ointment/suicide_act(mob/living/user) - user.visible_message("[user] is squeezing \the [src] into [user.p_their()] mouth! [user.p_do(TRUE)]n't [user.p_they()] know that stuff is toxic?") + user.visible_message("[user] is squeezing [src] into [user.p_their()] mouth! [user.p_do(TRUE)]n't [user.p_they()] know that stuff is toxic?") return TOXLOSS /obj/item/stack/medical/mesh @@ -286,8 +265,8 @@ gender = PLURAL singular_name = "mesh piece" icon_state = "regen_mesh" - self_delay = 30 - other_delay = 10 + self_delay = 3 SECONDS + other_delay = 1 SECONDS amount = 15 heal_burn = 10 max_amount = 15 @@ -311,33 +290,23 @@ else return ..() -/obj/item/stack/medical/mesh/heal(mob/living/M, mob/user) - . = ..() - if(M.stat == DEAD) - to_chat(user, "[M] is dead! You can not help [M.p_them()].") - return - if(iscarbon(M)) - return heal_carbon(M, user, heal_brute, heal_burn) - to_chat(user, "You can't heal [M] with \the [src]!") - - /obj/item/stack/medical/mesh/try_heal(mob/living/M, mob/user, silent = FALSE) if(!is_open) to_chat(user, "You need to open [src] first.") return - . = ..() + return ..() /obj/item/stack/medical/mesh/AltClick(mob/living/user) if(!is_open) to_chat(user, "You need to open [src] first.") return - . = ..() + return ..() /obj/item/stack/medical/mesh/attack_hand(mob/user) if(!is_open && user.get_inactive_held_item() == src) to_chat(user, "You need to open [src] first.") return - . = ..() + return ..() /obj/item/stack/medical/mesh/attack_self(mob/user) if(!is_open) @@ -346,7 +315,7 @@ update_icon() playsound(src, 'sound/items/poster_ripped.ogg', 20, TRUE) return - . = ..() + return ..() /obj/item/stack/medical/mesh/advanced name = "advanced regenerative mesh" @@ -368,50 +337,22 @@ /obj/item/stack/medical/aloe name = "aloe cream" - desc = "A healing paste you can apply on wounds." + desc = "A healing paste for minor cuts and burns." gender = PLURAL singular_name = "aloe cream" icon_state = "aloe_paste" - self_delay = 20 - other_delay = 10 + self_delay = 2 SECONDS + other_delay = 1 SECONDS novariants = TRUE amount = 20 max_amount = 20 repeating = TRUE - var/heal = 3 + heal_brute = 3 + heal_burn = 3 grind_results = list(/datum/reagent/consumable/aloejuice = 1) merge_type = /obj/item/stack/medical/aloe -/obj/item/stack/medical/aloe/heal(mob/living/M, mob/user) - . = ..() - if(M.stat == DEAD) - to_chat(user, "[M] is dead! You can not help [M.p_them()].") - return FALSE - if(iscarbon(M)) - return heal_carbon(M, user, heal, heal) - if(isanimal(M)) - var/mob/living/simple_animal/critter = M - if (!(critter.healable)) - to_chat(user, "You cannot use \the [src] on [M]!") - return FALSE - else if (critter.health == critter.maxHealth) - to_chat(user, "[M] is at full health.") - return FALSE - user.visible_message("[user] applies \the [src] on [M].", "You apply \the [src] on [M].") - M.heal_bodypart_damage(heal, heal) - return TRUE - - to_chat(user, "You can't heal [M] with the \the [src]!") - - /* - The idea is for these medical devices to work like a hybrid of the old brute packs and tend wounds, - they heal a little at a time, have reduced healing density and does not allow for rapid healing while in combat. - However they provice graunular control of where the healing is directed, this makes them better for curing work-related cuts and scrapes. - - The interesting limb targeting mechanic is retained and i still believe they will be a viable choice, especially when healing others in the field. - */ - /obj/item/stack/medical/bone_gel name = "bone gel" singular_name = "bone gel" @@ -433,26 +374,27 @@ return /obj/item/stack/medical/bone_gel/suicide_act(mob/user) - if(iscarbon(user)) - var/mob/living/carbon/C = user - C.visible_message("[C] is squirting all of \the [src] into [C.p_their()] mouth! That's not proper procedure! It looks like [C.p_theyre()] trying to commit suicide!") - if(do_after(C, 2 SECONDS)) - C.emote("scream") - for(var/i in C.bodyparts) - var/obj/item/bodypart/bone = i - var/datum/wound/blunt/severe/oof_ouch = new - oof_ouch.apply_wound(bone) - var/datum/wound/blunt/critical/oof_OUCH = new - oof_OUCH.apply_wound(bone) + if(!iscarbon(user)) + return + var/mob/living/carbon/C = user + C.visible_message("[C] is squirting all of [src] into [C.p_their()] mouth! That's not proper procedure! It looks like [C.p_theyre()] trying to commit suicide!") + if(!do_after(C, 2 SECONDS)) + C.visible_message("[C] screws up like an idiot and still dies anyway!") + return (BRUTELOSS) - for(var/i in C.bodyparts) - var/obj/item/bodypart/bone = i - bone.receive_damage(brute=60) - use(1) - return (BRUTELOSS) - else - C.visible_message("[C] screws up like an idiot and still dies anyway!") - return (BRUTELOSS) + C.emote("scream") + for(var/i in C.bodyparts) + var/obj/item/bodypart/bone = i + var/datum/wound/blunt/severe/oof_ouch = new + oof_ouch.apply_wound(bone) + var/datum/wound/blunt/critical/oof_OUCH = new + oof_OUCH.apply_wound(bone) + + for(var/i in C.bodyparts) + var/obj/item/bodypart/bone = i + bone.receive_damage(brute=60) + use(1) + return (BRUTELOSS) /obj/item/stack/medical/poultice name = "mourning poultices" @@ -472,10 +414,10 @@ merge_type = /obj/item/stack/medical/poultice /obj/item/stack/medical/poultice/heal(mob/living/M, mob/user) - . = .. () if(iscarbon(M)) playsound(src, 'sound/misc/soggy.ogg', 30, TRUE) return heal_carbon(M, user, heal_brute, heal_burn) + return ..() /obj/item/stack/medical/poultice/post_heal_effects(amount_healed, mob/living/carbon/healed_mob, mob/user) . = ..() diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index d01ab1e56c1..e57cae20fad 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -60,8 +60,8 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ if(W.use_tool(src, user, 0, volume=40)) var/obj/item/stack/sheet/metal/new_item = new(usr.loc) user.visible_message("[user.name] shaped [src] into metal with [W].", \ - "You shape [src] into metal with [W].", \ - "You hear welding.") + "You shape [src] into metal with [W].", \ + "You hear welding.") var/obj/item/stack/rods/R = src src = null var/replace = (user.get_inactive_held_item()==R) diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 23cc41191ca..ab5d3098d24 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -210,9 +210,8 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( \ . = ..() . += GLOB.sinew_recipes -/* - * Plates - */ + +/*Plates*/ /obj/item/stack/sheet/animalhide/goliath_hide name = "goliath hide plates" desc = "Pieces of a goliath's rocky hide, these might be able to make your suit a bit more durable to attack from the local fauna." diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index aeeaecefb18..de9ed660059 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -75,17 +75,17 @@ update_icon() /** Sets the amount of materials per unit for this stack. - * - * Arguments: - * - [mats][/list]: The value to set the mats per unit to. - * - multiplier: The amount to multiply the mats per unit by. Defaults to 1. - */ + * + * Arguments: + * - [mats][/list]: The value to set the mats per unit to. + * - multiplier: The amount to multiply the mats per unit by. Defaults to 1. + */ /obj/item/stack/proc/set_mats_per_unit(list/mats, multiplier=1) mats_per_unit = SSmaterials.FindOrCreateMaterialCombo(mats, multiplier) update_custom_materials() /** Updates the custom materials list of this stack. - */ + */ /obj/item/stack/proc/update_custom_materials() set_custom_materials(mats_per_unit, amount) @@ -147,11 +147,11 @@ . = (amount) /** - * Builds all recipes in a given recipe list and returns an association list containing them - * - * Arguments: - * * recipe_to_iterate - The list of recipes we are using to build recipes - */ + * Builds all recipes in a given recipe list and returns an association list containing them + * + * Arguments: + * * recipe_to_iterate - The list of recipes we are using to build recipes + */ /obj/item/stack/proc/recursively_build_recipes(list/recipe_to_iterate) var/list/L = list() for(var/recipe in recipe_to_iterate) @@ -164,11 +164,11 @@ return L /** - * Returns a list of properties of a given recipe - * - * Arguments: - * * R - The stack recipe we are using to get a list of properties - */ + * Returns a list of properties of a given recipe + * + * Arguments: + * * R - The stack recipe we are using to get a list of properties + */ /obj/item/stack/proc/build_recipe(datum/stack_recipe/R) return list( "res_amount" = R.res_amount, @@ -178,12 +178,12 @@ ) /** - * Checks if the recipe is valid to be used - * - * Arguments: - * * R - The stack recipe we are checking if it is valid - * * recipe_list - The list of recipes we are using to check the given recipe - */ + * Checks if the recipe is valid to be used + * + * Arguments: + * * R - The stack recipe we are checking if it is valid + * * recipe_list - The list of recipes we are using to check the given recipe + */ /obj/item/stack/proc/is_valid_recipe(datum/stack_recipe/R, list/recipe_list) for(var/S in recipe_list) if(S == R) @@ -381,10 +381,10 @@ return FALSE /** Adds some number of units to this stack. - * - * Arguments: - * - _amount: The number of units to add to this stack. - */ + * + * Arguments: + * - _amount: The number of units to add to this stack. + */ /obj/item/stack/proc/add(_amount) if (is_cyborg) source.add_charge(_amount * cost) @@ -396,10 +396,10 @@ update_weight() /** Checks whether this stack can merge itself into another stack. - * - * Arguments: - * - [check][/obj/item/stack]: The stack to check for mergeability. - */ + * + * Arguments: + * - [check][/obj/item/stack]: The stack to check for mergeability. + */ /obj/item/stack/proc/can_merge(obj/item/stack/check) if(!istype(check, merge_type)) return FALSE @@ -458,11 +458,11 @@ to_chat(user, "You take [stackmaterial] sheets out of the stack.") /** Splits the stack into two stacks. - * - * Arguments: - * - [user][/mob]: The mob splitting the stack. - * - amount: The number of units to split from this stack. - */ + * + * Arguments: + * - [user][/mob]: The mob splitting the stack. + * - amount: The number of units to split from this stack. + */ /obj/item/stack/proc/split_stack(mob/user, amount) if(!use(amount, TRUE, FALSE)) return null diff --git a/code/game/objects/items/stacks/tiles/tile_reskinning.dm b/code/game/objects/items/stacks/tiles/tile_reskinning.dm index bc9331612c6..47270a2a637 100644 --- a/code/game/objects/items/stacks/tiles/tile_reskinning.dm +++ b/code/game/objects/items/stacks/tiles/tile_reskinning.dm @@ -11,8 +11,8 @@ GLOBAL_LIST_EMPTY(tile_reskin_lists) /** - * Caches associative lists with type path index keys and images of said type's initial icon state (typepath -> image). - */ + * Caches associative lists with type path index keys and images of said type's initial icon state (typepath -> image). + */ /obj/item/stack/tile/proc/tile_reskin_list(list/values) var/string_id = values.Join("-") . = GLOB.tile_reskin_lists[string_id] diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index d96140090d8..2a0497d4315 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -70,8 +70,8 @@ if (mineralType == "metal") var/obj/item/stack/sheet/metal/new_item = new(user.loc) user.visible_message("[user.name] shaped [src] into metal with the welding tool.", \ - "You shaped [src] into metal with the welding tool.", \ - "You hear welding.") + "You shaped [src] into metal with the welding tool.", \ + "You hear welding.") var/obj/item/stack/rods/R = src src = null var/replace = (user.get_inactive_held_item()==R) @@ -83,8 +83,8 @@ var/sheet_type = text2path("/obj/item/stack/sheet/mineral/[mineralType]") var/obj/item/stack/sheet/mineral/new_item = new sheet_type(user.loc) user.visible_message("[user.name] shaped [src] into a sheet with the welding tool.", \ - "You shaped [src] into a sheet with the welding tool.", \ - "You hear welding.") + "You shaped [src] into a sheet with the welding tool.", \ + "You hear welding.") var/obj/item/stack/rods/R = src src = null var/replace = (user.get_inactive_held_item()==R) diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index 27fa8d21699..a021146bf14 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -89,11 +89,11 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", SSblackbox.record_feedback("text", "religion_book", 1, "[choice]") /** - * Checks if we are allowed to interact with a radial menu - * - * Arguments: - * * user The mob interacting with the menu - */ + * Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with the menu + */ /obj/item/storage/book/bible/proc/check_menu(mob/living/carbon/human/user) if(GLOB.bible_icon_state) return FALSE diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 4536b04b7a4..f12973883a5 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -442,8 +442,8 @@ var/donktype = /obj/item/food/donkpocket /obj/item/storage/box/donkpockets/PopulateContents() - for(var/i in 1 to 6) - new donktype(src) + for(var/i in 1 to 6) + new donktype(src) /obj/item/storage/box/donkpockets/ComponentInitialize() . = ..() @@ -937,12 +937,12 @@ return ..() /** - * check_menu: Checks if we are allowed to interact with a radial menu - * - * Arguments: - * * user The mob interacting with a menu - * * P The pen used to interact with a menu - */ + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + * * P The pen used to interact with a menu + */ /obj/item/storage/box/papersack/proc/check_menu(mob/user, obj/item/pen/P) if(!istype(user)) return FALSE diff --git a/code/game/objects/items/tanks/tanks.dm b/code/game/objects/items/tanks/tanks.dm index 3aba2a129bf..f92ea1722fb 100644 --- a/code/game/objects/items/tanks/tanks.dm +++ b/code/game/objects/items/tanks/tanks.dm @@ -159,24 +159,26 @@ ui = new(user, src, "Tank", name) ui.open() +/obj/item/tank/ui_static_data(mob/user) + . = list ( + "defaultReleasePressure" = round(TANK_DEFAULT_RELEASE_PRESSURE), + "minReleasePressure" = round(TANK_MIN_RELEASE_PRESSURE), + "maxReleasePressure" = round(TANK_MAX_RELEASE_PRESSURE), + "leakPressure" = round(TANK_LEAK_PRESSURE), + "fragmentPressure" = round(TANK_FRAGMENT_PRESSURE) + ) + /obj/item/tank/ui_data(mob/user) - var/list/data = list() - data["tankPressure"] = round(air_contents.return_pressure() ? air_contents.return_pressure() : 0) - data["releasePressure"] = round(distribute_pressure ? distribute_pressure : 0) - data["defaultReleasePressure"] = round(TANK_DEFAULT_RELEASE_PRESSURE) - data["minReleasePressure"] = round(TANK_MIN_RELEASE_PRESSURE) - data["maxReleasePressure"] = round(TANK_MAX_RELEASE_PRESSURE) + . = list( + "tankPressure" = round(air_contents.return_pressure()), + "releasePressure" = round(distribute_pressure) + ) var/mob/living/carbon/C = user if(!istype(C)) C = loc.loc - if(!istype(C)) - return data - - if(C.internal == src) - data["connected"] = TRUE - - return data + if(istype(C) && C.internal == src) + .["connected"] = TRUE /obj/item/tank/ui_act(action, params) . = ..() diff --git a/code/game/objects/items/tcg/tcg.dm b/code/game/objects/items/tcg/tcg.dm index f4821eae056..0fb782ddd40 100644 --- a/code/game/objects/items/tcg/tcg.dm +++ b/code/game/objects/items/tcg/tcg.dm @@ -15,9 +15,9 @@ GLOBAL_LIST_EMPTY(cached_cards) icon = DEFAULT_TCG_DMI_ICON icon_state = "runtime" w_class = WEIGHT_CLASS_TINY - //Unique ID, for use in lookups and storage, used to index the global datum list where the rest of the card's info is stored + ///Unique ID, for use in lookups and storage, used to index the global datum list where the rest of the card's info is stored var/id = "code" - //Used along with the id for lookup + ///Used along with the id for lookup var/series = "coderbus" ///Is the card flipped? var/flipped = FALSE @@ -137,14 +137,14 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) animate(src, transform = ntransform, time = 2, easing = (EASE_IN|EASE_OUT)) /** - * Transforms the card's sprite to look like a small, paper card. Use when outside of inventory - */ + * Transforms the card's sprite to look like a small, paper card. Use when outside of inventory + */ /obj/item/tcgcard/proc/zoom_in() transform = matrix() /** - * Transforms the card's sprite to look like a large, detailed, illustrated paper card. Use when inside of inventory/storage. - */ + * Transforms the card's sprite to look like a large, detailed, illustrated paper card. Use when inside of inventory/storage. + */ /obj/item/tcgcard/proc/zoom_out() transform = matrix(0.3,0,0,0,0.3,0) @@ -161,9 +161,9 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) icon_state = template.icon_state flipped = !flipped /** - * A stack item that's not actually a stack because ORDER MATTERS with a deck of cards! - * The "top" card of the deck will always be the bottom card in the stack for our purposes. - */ + * A stack item that's not actually a stack because ORDER MATTERS with a deck of cards! + * The "top" card of the deck will always be the bottom card in the stack for our purposes. + */ /obj/item/tcgcard_deck name = "Trading Card Pile" desc = "A stack of TCG cards." @@ -249,8 +249,8 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) return ..() /** - * The user draws a single card. The deck is then handled based on how many cards are left. - */ + * The user draws a single card. The deck is then handled based on how many cards are left. + */ /obj/item/tcgcard_deck/proc/draw_card(mob/user) if(!contents.len) CRASH("A TCG deck was created with no cards inside of it.") @@ -267,10 +267,10 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) qdel(src) /** - * The user shuffles the order of the deck, then closes any visability into the deck's storage to prevent cheesing. - * *User: The person doing the shuffling, used in visable message and closing UI. - * *Visible: Will anyone need to hear the visable message about the shuffling? - */ + * The user shuffles the order of the deck, then closes any visability into the deck's storage to prevent cheesing. + * *User: The person doing the shuffling, used in visable message and closing UI. + * *Visible: Will anyone need to hear the visable message about the shuffling? + */ /obj/item/tcgcard_deck/proc/shuffle_deck(mob/user, visable = TRUE) if(!contents) return @@ -282,8 +282,8 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) "You shuffle \the [src]!") /** - * The user flips the deck, turning it into a face up/down pile, and reverses the order of the cards from top to bottom. - */ + * The user flips the deck, turning it into a face up/down pile, and reverses the order of the cards from top to bottom. + */ /obj/item/tcgcard_deck/proc/flip_deck() flipped = !flipped var/list/temp_deck = contents.Copy() diff --git a/code/game/objects/items/toy_mechs.dm b/code/game/objects/items/toy_mechs.dm index 78c47279423..bf28081ba07 100644 --- a/code/game/objects/items/toy_mechs.dm +++ b/code/game/objects/items/toy_mechs.dm @@ -1,6 +1,6 @@ /** - * Mech prizes + MECHA COMBAT!! - */ + * Mech prizes + MECHA COMBAT!! + */ /// Mech battle special attack types. #define SPECIAL_ATTACK_HEAL 1 @@ -67,19 +67,19 @@ special_attack_type_message = "a mystery move, even I don't know." /** - * this proc combines "sleep" while also checking for if the battle should continue - * - * this goes through some of the checks - the toys need to be next to each other to fight! - * if it's player vs themself: They need to be able to "control" both mechs (either must be adjacent or using TK) - * if it's player vs player: Both players need to be able to "control" their mechs (either must be adjacent or using TK) - * if it's player vs mech (suicide): the mech needs to be in range of the player - * if all the checks are TRUE, it does the sleeps, and returns TRUE. Otherwise, it returns FALSE. - * Arguments: - * * delay - the amount of time the sleep at the end of the check will sleep for - * * attacker - the attacking toy in the battle. - * * attacker_controller - the controller of the attacking toy. there should ALWAYS be an attacker_controller - * * opponent - (optional) the defender controller in the battle, for PvP - */ + * this proc combines "sleep" while also checking for if the battle should continue + * + * this goes through some of the checks - the toys need to be next to each other to fight! + * if it's player vs themself: They need to be able to "control" both mechs (either must be adjacent or using TK) + * if it's player vs player: Both players need to be able to "control" their mechs (either must be adjacent or using TK) + * if it's player vs mech (suicide): the mech needs to be in range of the player + * if all the checks are TRUE, it does the sleeps, and returns TRUE. Otherwise, it returns FALSE. + * Arguments: + * * delay - the amount of time the sleep at the end of the check will sleep for + * * attacker - the attacking toy in the battle. + * * attacker_controller - the controller of the attacking toy. there should ALWAYS be an attacker_controller + * * opponent - (optional) the defender controller in the battle, for PvP + */ /obj/item/toy/prize/proc/combat_sleep(delay, obj/item/toy/prize/attacker, mob/living/carbon/attacker_controller, mob/living/carbon/opponent) if(!attacker_controller) return FALSE @@ -140,8 +140,8 @@ attack_self(user) /** - * If you attack a mech with a mech, initiate combat between them - */ + * If you attack a mech with a mech, initiate combat between them + */ /obj/item/toy/prize/attackby(obj/item/user_toy, mob/living/user) if(istype(user_toy, /obj/item/toy/prize)) var/obj/item/toy/prize/P = user_toy @@ -150,8 +150,8 @@ ..() /** - * Attack is called from the user's toy, aimed at target(another human), checking for target's toy. - */ + * Attack is called from the user's toy, aimed at target(another human), checking for target's toy. + */ /obj/item/toy/prize/attack(mob/living/carbon/human/target, mob/living/carbon/human/user) if(target == user) to_chat(user, "Target another toy mech if you want to start a battle with yourself.") @@ -185,8 +185,8 @@ ..() /** - * Overrides attack_tk - Sorry, you have to be face to face to initiate a battle, it's good sportsmanship - */ + * Overrides attack_tk - Sorry, you have to be face to face to initiate a battle, it's good sportsmanship + */ /obj/item/toy/prize/attack_tk(mob/user) if(timer < world.time) to_chat(user, "You telekinetically play with [src].") @@ -197,19 +197,19 @@ /** - * Resets the request for battle. - * - * For use in a timer, this proc resets the wants_to_battle variable after a short period. - * Arguments: - * * user - the user wanting to do battle - */ + * Resets the request for battle. + * + * For use in a timer, this proc resets the wants_to_battle variable after a short period. + * Arguments: + * * user - the user wanting to do battle + */ /obj/item/toy/prize/proc/withdraw_offer(mob/living/carbon/user) if(wants_to_battle) wants_to_battle = FALSE to_chat(user, "You get the feeling they don't want to battle.") /** - * Starts a battle, toy mech vs player. Player... doesn't win. - */ + * Starts a battle, toy mech vs player. Player... doesn't win. + */ /obj/item/toy/prize/suicide_act(mob/living/carbon/user) if(in_combat) to_chat(user, "[src] is in battle, let it finish first.") @@ -264,25 +264,25 @@ . += "This toy has [wins] wins, and [losses] losses." /** - * Override the say proc if they're mute - */ + * Override the say proc if they're mute + */ /obj/item/toy/prize/say() if(!quiet) . = ..() /** - * The 'master' proc of the mech battle. Processes the entire battle's events and makes sure it start and finishes correctly. - * - * src is the defending toy, and the battle proc is called on it to begin the battle. - * After going through a few checks at the beginning to ensure the battle can start properly, the battle begins a loop that lasts - * until either toy has no more health. During this loop, it also ensures the mechs stay in combat range of each other. - * It will then randomly decide attacks for each toy, occasionally making one or the other use their special attack. - * When either mech has no more health, the loop ends, and it displays the victor and the loser while updating their stats and resetting them. - * Arguments: - * * attacker - the attacking toy, the toy in the attacker_controller's hands - * * attacker_controller - the user, the one who is holding the toys / controlling the fight - * * opponent - optional arg used in Mech PvP battles: the other person who is taking part in the fight (controls src) - */ + * The 'master' proc of the mech battle. Processes the entire battle's events and makes sure it start and finishes correctly. + * + * src is the defending toy, and the battle proc is called on it to begin the battle. + * After going through a few checks at the beginning to ensure the battle can start properly, the battle begins a loop that lasts + * until either toy has no more health. During this loop, it also ensures the mechs stay in combat range of each other. + * It will then randomly decide attacks for each toy, occasionally making one or the other use their special attack. + * When either mech has no more health, the loop ends, and it displays the victor and the loser while updating their stats and resetting them. + * Arguments: + * * attacker - the attacking toy, the toy in the attacker_controller's hands + * * attacker_controller - the user, the one who is holding the toys / controlling the fight + * * opponent - optional arg used in Mech PvP battles: the other person who is taking part in the fight (controls src) + */ /obj/item/toy/prize/proc/mecha_brawl(obj/item/toy/prize/attacker, mob/living/carbon/attacker_controller, mob/living/carbon/opponent) //A GOOD DAY FOR A SWELL BATTLE! attacker_controller.visible_message(" [attacker_controller.name] collides [attacker] with [src]! Looks like they're preparing for a brawl! ", \ @@ -433,16 +433,16 @@ return /** - * This proc checks if a battle can be initiated between src and attacker. - * - * Both SRC and attacker (if attacker is included) timers are checked if they're on cooldown, and - * both SRC and attacker (if attacker is included) are checked if they are in combat already. - * If any of the above are true, the proc returns FALSE and sends a message to user (and target, if included) otherwise, it returns TRUE - * Arguments: - * * user: the user who is initiating the battle - * * attacker: optional arg for checking two mechs at once - * * target: optional arg used in Mech PvP battles (if used, attacker is target's toy) - */ + * This proc checks if a battle can be initiated between src and attacker. + * + * Both SRC and attacker (if attacker is included) timers are checked if they're on cooldown, and + * both SRC and attacker (if attacker is included) are checked if they are in combat already. + * If any of the above are true, the proc returns FALSE and sends a message to user (and target, if included) otherwise, it returns TRUE + * Arguments: + * * user: the user who is initiating the battle + * * attacker: optional arg for checking two mechs at once + * * target: optional arg used in Mech PvP battles (if used, attacker is target's toy) + */ /obj/item/toy/prize/proc/check_battle_start(mob/living/carbon/user, obj/item/toy/prize/attacker, mob/living/carbon/target) if(attacker?.in_combat) to_chat(user, "[target?target.p_their() : "Your" ] [attacker.name] is in combat.") @@ -464,12 +464,12 @@ return TRUE /** - * Processes any special attack moves that happen in the battle (called in the mechaBattle proc). - * - * Makes the toy shout their special attack cry and updates its cooldown. Then, does the special attack. - * Arguments: - * * victim - the toy being hit by the special move - */ + * Processes any special attack moves that happen in the battle (called in the mechaBattle proc). + * + * Makes the toy shout their special attack cry and updates its cooldown. Then, does the special attack. + * Arguments: + * * victim - the toy being hit by the special move + */ /obj/item/toy/prize/proc/special_attack_move(obj/item/toy/prize/victim) say(special_attack_cry + "!!") @@ -493,12 +493,12 @@ say("I FORGOT MY SPECIAL ATTACK...") /** - * Base proc for 'other' special attack moves. - * - * This one is only for inheritance, each mech with an 'other' type move has their procs below. - * Arguments: - * * victim - the toy being hit by the super special move (doesn't necessarily need to be used) - */ + * Base proc for 'other' special attack moves. + * + * This one is only for inheritance, each mech with an 'other' type move has their procs below. + * Arguments: + * * victim - the toy being hit by the super special move (doesn't necessarily need to be used) + */ /obj/item/toy/prize/proc/super_special_attack(obj/item/toy/prize/victim) visible_message(" [src] does a cool flip.") diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 07af7c377b9..290de857cf4 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -198,14 +198,14 @@ return MANUAL_SUICIDE /** - * Internal function used in the toy singularity suicide - * - * Cavity implants the toy singularity into the body of the user (arg1), and kills the user. - * Makes the user vomit and receive 120 suffocation damage if there already is a cavity implant in the user. - * Throwing the singularity away will cause the user to start choking themself to death. - * Arguments: - * * user - Whoever is doing the suiciding - */ + * Internal function used in the toy singularity suicide + * + * Cavity implants the toy singularity into the body of the user (arg1), and kills the user. + * Makes the user vomit and receive 120 suffocation damage if there already is a cavity implant in the user. + * Throwing the singularity away will cause the user to start choking themself to death. + * Arguments: + * * user - Whoever is doing the suiciding + */ /obj/item/toy/spinningtoy/proc/manual_suicide(mob/living/carbon/human/user) if(!user) return @@ -292,8 +292,8 @@ playsound(user, 'sound/weapons/gun/revolver/shot.ogg', 100, TRUE) src.bullets-- user.visible_message("[user] fires [src] at [target]!", \ - "You fire [src] at [target]!", \ - "You hear a gunshot!") + "You fire [src] at [target]!", \ + "You hear a gunshot!") /obj/item/toy/ammo/gun name = "capgun ammo" @@ -862,11 +862,11 @@ newobj.resistance_flags = sourceobj.resistance_flags /** - * check_menu: Checks if we are allowed to interact with a radial menu - * - * Arguments: - * * user The mob interacting with a menu - */ + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + */ /obj/item/toy/cards/cardhand/proc/check_menu(mob/living/user) if(!istype(user)) return FALSE @@ -875,8 +875,8 @@ return TRUE /** - * This proc updates the sprite for when you create a hand of cards - */ + * This proc updates the sprite for when you create a hand of cards + */ /obj/item/toy/cards/cardhand/proc/update_sprite() cut_overlays() var/overlay_cards = currenthand.len diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 9fac03bbff2..e3fda7d65d9 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -292,11 +292,11 @@ reskin_obj(user) /** - * Reskins object based on a user's choice - * - * Arguments: - * * M The mob choosing a reskin option - */ + * Reskins object based on a user's choice + * + * Arguments: + * * M The mob choosing a reskin option + */ /obj/proc/reskin_obj(mob/M) if(!LAZYLEN(unique_reskin)) return @@ -317,11 +317,11 @@ to_chat(M, "[src] is now skinned as '[pick].'") /** - * Checks if we are allowed to interact with a radial menu for reskins - * - * Arguments: - * * user The mob interacting with the menu - */ + * Checks if we are allowed to interact with a radial menu for reskins + * + * Arguments: + * * user The mob interacting with the menu + */ /obj/proc/check_reskin_menu(mob/user) if(QDELETED(src)) return FALSE diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm index 3219e4834af..3fa9c292fc5 100644 --- a/code/game/objects/structures/ai_core.dm +++ b/code/game/objects/structures/ai_core.dm @@ -309,7 +309,7 @@ That prevents a few funky behaviors. /obj/structure/ai_core/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card) if(state != AI_READY_CORE || !..()) return - //Transferring a carded AI to a core. + //Transferring a carded AI to a core. if(interaction == AI_TRANS_FROM_CARD) AI.control_disabled = FALSE AI.radio_enabled = TRUE diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index cc60ba42624..fcbb7a135a5 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -328,13 +328,13 @@ var/list/targets = list(O, src) add_fingerprint(user) user.visible_message("[user] [actuallyismob ? "tries to ":""]stuff [O] into [src].", \ - "You [actuallyismob ? "try to ":""]stuff [O] into [src].", \ - "You hear clanging.") + "You [actuallyismob ? "try to ":""]stuff [O] into [src].", \ + "You hear clanging.") if(actuallyismob) if(do_after_mob(user, targets, 40)) user.visible_message("[user] stuffs [O] into [src].", \ - "You stuff [O] into [src].", \ - "You hear a loud metal bang.") + "You stuff [O] into [src].", \ + "You hear a loud metal bang.") var/mob/living/L = O if(!issilicon(L)) L.Paralyze(40) diff --git a/code/game/objects/structures/crates_lockers/crates/large.dm b/code/game/objects/structures/crates_lockers/crates/large.dm index bd21cc5f0bb..4861cc3c5bb 100644 --- a/code/game/objects/structures/crates_lockers/crates/large.dm +++ b/code/game/objects/structures/crates_lockers/crates/large.dm @@ -25,8 +25,8 @@ tear_manifest(user) user.visible_message("[user] pries \the [src] open.", \ - "You pry open \the [src].", \ - "You hear splitting wood.") + "You pry open \the [src].", \ + "You hear splitting wood.") playsound(src.loc, 'sound/weapons/slashmiss.ogg', 75, TRUE) var/turf/T = get_turf(src) diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 66f6dd9f3a4..17d2c49b384 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -98,8 +98,8 @@ if(door_check) user.visible_message("[user] secures the airlock assembly to the floor.", \ - "You start to secure the airlock assembly to the floor...", \ - "You hear wrenching.") + "You start to secure the airlock assembly to the floor...", \ + "You hear wrenching.") if(W.use_tool(src, user, 40, volume=100)) if(anchored) @@ -112,8 +112,8 @@ else user.visible_message("[user] unsecures the airlock assembly from the floor.", \ - "You start to unsecure the airlock assembly from the floor...", \ - "You hear wrenching.") + "You start to unsecure the airlock assembly from the floor...", \ + "You hear wrenching.") if(W.use_tool(src, user, 40, volume=100)) if(!anchored) return @@ -208,7 +208,7 @@ if(G.get_amount() >= 2) playsound(src, 'sound/items/crowbar.ogg', 100, TRUE) user.visible_message("[user] adds [G.name] to the airlock assembly.", \ - "You start to install [G.name] into the airlock assembly...") + "You start to install [G.name] into the airlock assembly...") if(do_after(user, 40, target = src)) if(G.get_amount() < 2 || mineral) return @@ -237,7 +237,7 @@ else if((W.tool_behaviour == TOOL_SCREWDRIVER) && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER ) user.visible_message("[user] finishes the airlock.", \ - "You start finishing the airlock...") + "You start finishing the airlock...") if(W.use_tool(src, user, 40, volume=100)) if(loc && state == AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index ef878ed4c4b..96b4f9d8a5b 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -227,8 +227,8 @@ . = FALSE if(state == GIRDER_DISPLACED) user.visible_message("[user] disassembles the girder.", - "You start to disassemble the girder...", - "You hear clanking and banging noises.") + "You start to disassemble the girder...", + "You hear clanking and banging noises.") if(tool.use_tool(src, user, 40, volume=100)) if(state != GIRDER_DISPLACED) return diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index fc5b4818163..71fa3c987ea 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -141,13 +141,13 @@ W.play_tool_sound(src, 100) set_anchored(!anchored) user.visible_message("[user] [anchored ? "fastens" : "unfastens"] [src].", \ - "You [anchored ? "fasten [src] to" : "unfasten [src] from"] the floor.") + "You [anchored ? "fasten [src] to" : "unfasten [src] from"] the floor.") return else if(istype(W, /obj/item/stack/rods) && broken) var/obj/item/stack/rods/R = W if(!shock(user, 90)) user.visible_message("[user] rebuilds the broken grille.", \ - "You rebuild the broken grille.") + "You rebuild the broken grille.") new grille_type(src.loc) R.use(1) qdel(src) diff --git a/code/game/objects/structures/guncase.dm b/code/game/objects/structures/guncase.dm index c3bc03e478b..32bead1b45f 100644 --- a/code/game/objects/structures/guncase.dm +++ b/code/game/objects/structures/guncase.dm @@ -66,11 +66,11 @@ update_icon() /** - * show_menu: Shows a radial menu to a user consisting of an available weaponry for taking - * - * Arguments: - * * user The mob to which we are showing the radial menu - */ + * show_menu: Shows a radial menu to a user consisting of an available weaponry for taking + * + * Arguments: + * * user The mob to which we are showing the radial menu + */ /obj/structure/guncase/proc/show_menu(mob/user) if(!LAZYLEN(contents)) return @@ -98,11 +98,11 @@ update_icon() /** - * check_menu: Checks if we are allowed to interact with a radial menu - * - * Arguments: - * * user The mob interacting with a menu - */ + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + */ /obj/structure/guncase/proc/check_menu(mob/living/carbon/human/user) if(!open) return FALSE diff --git a/code/game/objects/structures/icemoon/cave_entrance.dm b/code/game/objects/structures/icemoon/cave_entrance.dm index 0b84a93402b..9e1f5f7e105 100644 --- a/code/game/objects/structures/icemoon/cave_entrance.dm +++ b/code/game/objects/structures/icemoon/cave_entrance.dm @@ -1,11 +1,13 @@ -GLOBAL_LIST_INIT(ore_probability, list(/obj/item/stack/ore/uranium = 50, - /obj/item/stack/ore/iron = 100, - /obj/item/stack/ore/plasma = 75, - /obj/item/stack/ore/silver = 50, - /obj/item/stack/ore/gold = 50, - /obj/item/stack/ore/diamond = 25, - /obj/item/stack/ore/bananium = 5, - /obj/item/stack/ore/titanium = 75)) +GLOBAL_LIST_INIT(ore_probability, list( + /obj/item/stack/ore/uranium = 50, + /obj/item/stack/ore/iron = 100, + /obj/item/stack/ore/plasma = 75, + /obj/item/stack/ore/silver = 50, + /obj/item/stack/ore/gold = 50, + /obj/item/stack/ore/diamond = 25, + /obj/item/stack/ore/bananium = 5, + /obj/item/stack/ore/titanium = 75, + )) /obj/structure/spawner/ice_moon name = "cave entrance" @@ -24,9 +26,9 @@ GLOBAL_LIST_INIT(ore_probability, list(/obj/item/stack/ore/uranium = 50, clear_rock() /** - * Clears rocks around the spawner when it is created - * - */ + * Clears rocks around the spawner when it is created + * + */ /obj/structure/spawner/ice_moon/proc/clear_rock() for(var/turf/F in RANGE_TURFS(2, src)) if(abs(src.x - F.x) + abs(src.y - F.y) > 3) @@ -41,17 +43,17 @@ GLOBAL_LIST_INIT(ore_probability, list(/obj/item/stack/ore/uranium = 50, return ..() /** - * Effects and messages created when the spawner is destroyed - * - */ + * Effects and messages created when the spawner is destroyed + * + */ /obj/structure/spawner/ice_moon/proc/destroy_effect() playsound(loc,'sound/effects/explosionfar.ogg', 200, TRUE) visible_message("[src] collapses, sealing everything inside!\nOres fall out of the cave as it is destroyed!") /** - * Drops items after the spawner is destroyed - * - */ + * Drops items after the spawner is destroyed + * + */ /obj/structure/spawner/ice_moon/proc/drop_loot() for(var/type in GLOB.ore_probability) var/chance = GLOB.ore_probability[type] @@ -115,17 +117,17 @@ GLOBAL_LIST_INIT(ore_probability, list(/obj/item/stack/ore/uranium = 50, addtimer(CALLBACK(src, .proc/collapse), 5 SECONDS) /** - * Handles portal deletion - * - */ + * Handles portal deletion + * + */ /obj/effect/collapsing_demonic_portal/proc/collapse() drop_loot() qdel(src) /** - * Drops loot from the portal - * - */ + * Drops loot from the portal + * + */ /obj/effect/collapsing_demonic_portal/proc/drop_loot() visible_message("Something slips out of [src]!") var/loot = rand(1, 28) diff --git a/code/game/objects/structures/industrial_lift.dm b/code/game/objects/structures/industrial_lift.dm index f3cc64bab26..bba92d5cbb4 100644 --- a/code/game/objects/structures/industrial_lift.dm +++ b/code/game/objects/structures/industrial_lift.dm @@ -49,13 +49,13 @@ possible_expansions -= borderline /** - * Moves the lift UP or DOWN, this is what users invoke with their hand. - * This is a SAFE proc, ensuring every part of the lift moves SANELY. - * It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming. - * Arguments: - * going - UP or DOWN directions, where the lift should go. Keep in mind by this point checks of whether it should go up or down have already been done. - * user - Whomever made the lift movement. - */ + * Moves the lift UP or DOWN, this is what users invoke with their hand. + * This is a SAFE proc, ensuring every part of the lift moves SANELY. + * It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming. + * Arguments: + * going - UP or DOWN directions, where the lift should go. Keep in mind by this point checks of whether it should go up or down have already been done. + * user - Whomever made the lift movement. + */ /datum/lift_master/proc/MoveLift(going, mob/user) set_controls(LOCKED) for(var/p in lift_platforms) @@ -64,10 +64,10 @@ set_controls(UNLOCKED) /** - * Moves the lift, this is what users invoke with their hand. - * This is a SAFE proc, ensuring every part of the lift moves SANELY. - * It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming. - */ + * Moves the lift, this is what users invoke with their hand. + * This is a SAFE proc, ensuring every part of the lift moves SANELY. + * It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming. + */ /datum/lift_master/proc/MoveLiftHorizontal(going, z) var/max_x = 1 var/max_y = 1 @@ -123,8 +123,8 @@ return TRUE /** - * Sets all lift parts's controls_locked variable. Used to prevent moving mid movement, or cooldowns. - */ + * Sets all lift parts's controls_locked variable. Used to prevent moving mid movement, or cooldowns. + */ /datum/lift_master/proc/set_controls(state) for(var/l in lift_platforms) var/obj/structure/industrial_lift/lift_platform = l diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 9d3aa9c6f4d..eeca76c7048 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -162,11 +162,11 @@ update_icon() /** - * check_menu: Checks if we are allowed to interact with a radial menu - * - * Arguments: - * * user The mob interacting with a menu - */ + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + */ /obj/structure/janitorialcart/proc/check_menu(mob/living/user) if(!istype(user)) return FALSE diff --git a/code/game/objects/structures/plaques/_plaques.dm b/code/game/objects/structures/plaques/_plaques.dm index 9f083c1d0af..272b729ae85 100644 --- a/code/game/objects/structures/plaques/_plaques.dm +++ b/code/game/objects/structures/plaques/_plaques.dm @@ -40,13 +40,13 @@ /obj/structure/plaque/wrench_act(mob/living/user, obj/item/wrench/I) . = ..() user.visible_message("[user] starts removing [src]...", \ - "You start unfastening [src].") + "You start unfastening [src].") I.play_tool_sound(src) if(!I.use_tool(src, user, 4 SECONDS)) return TRUE playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) user.visible_message("[user] unfastens [src].", \ - "You unfasten [src].") + "You unfasten [src].") var/obj/item/plaque/unwrenched_plaque = new (get_turf(user)) if(engraved) //If it's still just a basic unengraved plaque, we can (and should) skip some of the below variable transfers. unwrenched_plaque.name = name //Copy over the plaque structure variables to the plaque item we're creating when we unwrench it. @@ -68,11 +68,11 @@ if(!I.tool_start_check(user, amount=0)) return TRUE user.visible_message("[user] starts repairing [src]...", \ - "You start repairing [src].") + "You start repairing [src].") if(!I.use_tool(src, user, 4 SECONDS, volume = 50)) return TRUE user.visible_message("[user] finishes repairing [src].", \ - "You finish repairing [src].") + "You finish repairing [src].") obj_integrity = max_integrity return TRUE @@ -86,11 +86,11 @@ if(!I.tool_start_check(user, amount=0)) return TRUE user.visible_message("[user] starts repairing [src]...", \ - "You start repairing [src].") + "You start repairing [src].") if(!I.use_tool(src, user, 4 SECONDS, volume = 50)) return TRUE user.visible_message("[user] finishes repairing [src].", \ - "You finish repairing [src].") + "You finish repairing [src].") obj_integrity = max_integrity return TRUE @@ -109,14 +109,14 @@ to_chat(user, "You need to stand next to the plaque to engrave it!") return user.visible_message("[user] begins engraving [src].", \ - "You begin engraving [src].") + "You begin engraving [src].") if(!do_after(user, 4 SECONDS, target = src)) //This spits out a visible message that somebody is engraving a plaque, then has a delay. return name = "\improper [namechoice]" //We want improper here so examine doesn't get weird if somebody capitalizes the plaque title. desc = "The plaque reads: '[descriptionchoice]'" engraved = TRUE //The plaque now has a name, description, and can't be altered again. user.visible_message("[user] engraves [src].", \ - "You engrave [src].") + "You engrave [src].") return if(istype(I, /obj/item/pen)) if(engraved) @@ -141,14 +141,14 @@ to_chat(user, "You need to stand next to the plaque to engrave it!") return user.visible_message("[user] begins engraving [src].", \ - "You begin engraving [src].") + "You begin engraving [src].") if(!do_after(user, 40, target = src)) //This spits out a visible message that somebody is engraving a plaque, then has a delay. return name = "\improper [namechoice]" //We want improper here so examine doesn't get weird if somebody capitalizes the plaque title. desc = "The plaque reads: '[descriptionchoice]'" engraved = TRUE //The plaque now has a name, description, and can't be altered again. user.visible_message("[user] engraves [src].", \ - "You engrave [src].") + "You engrave [src].") return if(istype(I, /obj/item/pen)) if(engraved) @@ -176,7 +176,7 @@ else if(dir & WEST) placed_plaque.pixel_x = -32 user.visible_message("[user] fastens [src] to [target_turf].", \ - "You attach [src] to [target_turf].") + "You attach [src] to [target_turf].") playsound(target_turf, 'sound/items/deconstruct.ogg', 50, TRUE) if(engraved) placed_plaque.name = name diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 946e96dbca1..d02a802350b 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -205,14 +205,14 @@ FLOOR SAFES return TRUE /** - * Checks if safe is considered in a broken state for force-opening the safe - */ + * Checks if safe is considered in a broken state for force-opening the safe + */ /obj/structure/safe/proc/check_broken() - return broken || explosion_count >= BROKEN_THRESHOLD + return broken || explosion_count >= BROKEN_THRESHOLD /** - * Called every dial turn to determine whether the safe should unlock or not. - */ + * Called every dial turn to determine whether the safe should unlock or not. + */ /obj/structure/safe/proc/check_unlocked() if(check_broken()) return TRUE @@ -224,8 +224,8 @@ FLOOR SAFES return FALSE /** - * Called every dial turn to provide feedback if possible. - */ + * Called every dial turn to provide feedback if possible. + */ /obj/structure/safe/proc/notify_user(user, canhear, sounds, total_ticks, current_tick) if(!canhear) return diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm index 6b1d06b6893..8b2cd278641 100644 --- a/code/game/objects/structures/signs/_signs.dm +++ b/code/game/objects/structures/signs/_signs.dm @@ -54,10 +54,10 @@ user.examinate(src) /** - * This proc populates GLOBAL_LIST_EMPTY(editable_sign_types) - * - * The first time a pen is used on any sign, this populates GLOBAL_LIST_EMPTY(editable_sign_types), creating a global list of all the signs that you can set a sign backing to with a pen. - */ + * This proc populates GLOBAL_LIST_EMPTY(editable_sign_types) + * + * The first time a pen is used on any sign, this populates GLOBAL_LIST_EMPTY(editable_sign_types), creating a global list of all the signs that you can set a sign backing to with a pen. + */ /proc/populate_editable_sign_types() for(var/s in subtypesof(/obj/structure/sign)) var/obj/structure/sign/potential_sign = s @@ -71,13 +71,13 @@ if(!buildable_sign) return TRUE user.visible_message("[user] starts removing [src]...", \ - "You start unfastening [src].") + "You start unfastening [src].") I.play_tool_sound(src) if(!I.use_tool(src, user, 4 SECONDS)) return TRUE playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) user.visible_message("[user] unfastens [src].", \ - "You unfasten [src].") + "You unfasten [src].") var/obj/item/sign/unwrenched_sign = new (get_turf(user)) if(type != /obj/structure/sign/blank) //If it's still just a basic sign backing, we can (and should) skip some of the below variable transfers. unwrenched_sign.name = name //Copy over the sign structure variables to the sign item we're creating when we unwrench a sign. @@ -101,11 +101,11 @@ if(!I.tool_start_check(user, amount=0)) return TRUE user.visible_message("[user] starts repairing [src]...", \ - "You start repairing [src].") + "You start repairing [src].") if(!I.use_tool(src, user, 4 SECONDS, volume =50 )) return TRUE user.visible_message("[user] finishes repairing [src].", \ - "You finish repairing [src].") + "You finish repairing [src].") obj_integrity = max_integrity return TRUE @@ -119,11 +119,11 @@ if(!I.tool_start_check(user, amount=0)) return TRUE user.visible_message("[user] starts repairing [src]...", \ - "You start repairing [src].") + "You start repairing [src].") if(!I.use_tool(src, user, 4 SECONDS, volume =50 )) return TRUE user.visible_message("[user] finishes repairing [src].", \ - "You finish repairing [src].") + "You finish repairing [src].") obj_integrity = max_integrity return TRUE @@ -140,7 +140,7 @@ to_chat(user, "You need to stand next to the sign to change it!") return user.visible_message("[user] begins changing [src].", \ - "You begin changing [src].") + "You begin changing [src].") if(!do_after(user, 4 SECONDS, target = src)) //Small delay for changing signs instead of it being instant, so somebody could be shoved or stunned to prevent them from doing so. return var/sign_type = GLOB.editable_sign_types[choice] @@ -153,7 +153,7 @@ changedsign.obj_integrity = obj_integrity qdel(src) user.visible_message("[user] finishes changing the sign.", \ - "You finish changing the sign.") + "You finish changing the sign.") return return ..() @@ -204,7 +204,7 @@ else if(dir & WEST) placed_sign.pixel_x = -32 user.visible_message("[user] fastens [src] to [target_turf].", \ - "You attach the sign to [target_turf].") + "You attach the sign to [target_turf].") playsound(target_turf, 'sound/items/deconstruct.ogg', 50, TRUE) placed_sign.obj_integrity = obj_integrity placed_sign.setDir(dir) diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index cbe7e9fdf73..3131192153e 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -257,9 +257,9 @@ icon_state = "snowman" /obj/structure/statue/snow/snowlegion - name = "snowlegion" - desc = "Looks like that weird kid with the tiger plushie has been round here again." - icon_state = "snowlegion" + name = "snowlegion" + desc = "Looks like that weird kid with the tiger plushie has been round here again." + icon_state = "snowlegion" ///////////////////////////////bronze/////////////////////////////////// @@ -322,10 +322,10 @@ return ..() /* - Hit the block to start - Point with the chisel at the target to choose what to sculpt or hit block to choose from preset statue types. - Hit block again to start sculpting. - Moving interrupts +Hit the block to start +Point with the chisel at the target to choose what to sculpt or hit block to choose from preset statue types. +Hit block again to start sculpting. +Moving interrupts */ /obj/item/chisel/pre_attack(atom/A, mob/living/user, params) . = ..() diff --git a/code/game/objects/structures/training_machine.dm b/code/game/objects/structures/training_machine.dm index b7f3e204c42..ac8a2921df1 100644 --- a/code/game/objects/structures/training_machine.dm +++ b/code/game/objects/structures/training_machine.dm @@ -7,11 +7,11 @@ #define MAX_ATTACK_DELAY 15 /** - * Machine that runs around wildly so people can practice clickin on things - * - * Can have a mob buckled on or a obj/item/target attached. Movement controlled by SSFastProcess, - * movespeed controlled by cooldown macros. Can attach obj/item/target, obj/item/training_toolbox, and can buckle mobs to this. - */ + * Machine that runs around wildly so people can practice clickin on things + * + * Can have a mob buckled on or a obj/item/target attached. Movement controlled by SSFastProcess, + * movespeed controlled by cooldown macros. Can attach obj/item/target, obj/item/training_toolbox, and can buckle mobs to this. + */ /obj/structure/training_machine name = "AURUMILL-Brand MkII. Personnel Training Machine" desc = "Used for combat training simulations. Accepts standard training targets. A pair of buckling straps are attached." @@ -335,10 +335,10 @@ . += "Click to open control interface." /** - * Device that simply counts the number of times you've hit a mob or target with. Looks like a toolbox but isn't. - * - * Also has a 'Lap' function for keeping track of hits made at a certain point. Also, looks kinda like his grace for laughs and pranks. - */ + * Device that simply counts the number of times you've hit a mob or target with. Looks like a toolbox but isn't. + * + * Also has a 'Lap' function for keeping track of hits made at a certain point. Also, looks kinda like his grace for laughs and pranks. + */ /obj/item/training_toolbox name = "Training Toolbox" desc = "AURUMILL-Brand Baby's First Training Toolbox. A digital display on the back keeps track of hits made by the user. Second toolbox sold seperately!" diff --git a/code/game/say.dm b/code/game/say.dm index 663ae7f0062..baf4b7da51a 100644 --- a/code/game/say.dm +++ b/code/game/say.dm @@ -1,7 +1,7 @@ /* - Miauw's big Say() rewrite. - This file has the basic atom/movable level speech procs. - And the base of the send_speech() proc, which is the core of saycode. +Miauw's big Say() rewrite. +This file has the basic atom/movable level speech procs. +And the base of the send_speech() proc, which is the core of saycode. */ GLOBAL_LIST_INIT(freqtospan, list( "[FREQ_SCIENCE]" = "sciradio", diff --git a/code/game/sound.dm b/code/game/sound.dm index 5e29c951d8b..97f22fc78e2 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -28,7 +28,7 @@ falloff_distance - Distance at which falloff begins. Sound is at peak volume (in //allocate a channel if necessary now so its the same for everyone channel = channel || SSsounds.random_available_channel() - // Looping through the player list has the added bonus of working for mobs inside containers + // Looping through the player list has the added bonus of working for mobs inside containers var/sound/S = sound(get_sfx(soundin)) var/maxdistance = SOUND_RANGE + extrarange var/source_z = turf_source.z diff --git a/code/game/turfs/closed/walls.dm b/code/game/turfs/closed/walls.dm index 847b60358ac..93cf8043ed7 100644 --- a/code/game/turfs/closed/walls.dm +++ b/code/game/turfs/closed/walls.dm @@ -150,15 +150,15 @@ return TRUE /** - *Deals damage back to the hulk's arm. - * - *When a hulk manages to break a wall using their hulk smash, this deals back damage to the arm used. - *This is in its own proc just to be easily overridden by other wall types. Default allows for three - *smashed walls per arm. Also, we use CANT_WOUND here because wounds are random. Wounds are applied - *by hulk code based on arm damage and checked when we call break_an_arm(). - *Arguments: - **arg1 is the arm to deal damage to. - **arg2 is the hulk + *Deals damage back to the hulk's arm. + * + *When a hulk manages to break a wall using their hulk smash, this deals back damage to the arm used. + *This is in its own proc just to be easily overridden by other wall types. Default allows for three + *smashed walls per arm. Also, we use CANT_WOUND here because wounds are random. Wounds are applied + *by hulk code based on arm damage and checked when we call break_an_arm(). + *Arguments: + **arg1 is the arm to deal damage to. + **arg2 is the hulk */ /turf/closed/wall/proc/hulk_recoil(obj/item/bodypart/arm, mob/living/carbon/human/hulkman, damage = 20) arm.receive_damage(brute = damage, blocked = 0, wound_bonus = CANT_WOUND) diff --git a/code/game/turfs/open/floor/light_floor.dm b/code/game/turfs/open/floor/light_floor.dm index 2199c1e9466..07e5872b8d3 100644 --- a/code/game/turfs/open/floor/light_floor.dm +++ b/code/game/turfs/open/floor/light_floor.dm @@ -156,12 +156,12 @@ can_modify_colour = FALSE /** - * check_menu: Checks if we are allowed to interact with a radial menu - * - * Arguments: - * * user The mob interacting with a menu - * * multitool The multitool used to interact with a menu - */ + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + * * multitool The multitool used to interact with a menu + */ /turf/open/floor/light/proc/check_menu(mob/living/user, obj/item/multitool) if(!istype(user)) return FALSE diff --git a/code/game/turfs/open/floor/plating/asteroid.dm b/code/game/turfs/open/floor/plating/asteroid.dm index 459045bf49f..0f14efed70b 100644 --- a/code/game/turfs/open/floor/plating/asteroid.dm +++ b/code/game/turfs/open/floor/plating/asteroid.dm @@ -275,13 +275,13 @@ GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/me SpawnFloor(src) /** - * Makes the tunnel and spawns things inside of it - * - * Picks a tunnel width for the tunnel and then starts spawning turfs in the direction it moves in - * Can randomly change directions of the tunnel, stops if it hits the edge of the map, or a no tunnel area - * Can randomly make new tunnels out of itself - * - */ + * Makes the tunnel and spawns things inside of it + * + * Picks a tunnel width for the tunnel and then starts spawning turfs in the direction it moves in + * Can randomly change directions of the tunnel, stops if it hits the edge of the map, or a no tunnel area + * Can randomly make new tunnels out of itself + * + */ /turf/open/floor/plating/asteroid/airless/cave/proc/make_tunnel(dir) var/turf/closed/mineral/tunnel = src var/next_angle = pick(45, -45) diff --git a/code/game/turfs/open/space/space.dm b/code/game/turfs/open/space/space.dm index ebb0691aefd..6d75e006b23 100644 --- a/code/game/turfs/open/space/space.dm +++ b/code/game/turfs/open/space/space.dm @@ -26,10 +26,10 @@ return /** - * Space Initialize - * - * Doesn't call parent, see [/atom/proc/Initialize] - */ + * Space Initialize + * + * Doesn't call parent, see [/atom/proc/Initialize] + */ /turf/open/space/Initialize() SHOULD_CALL_PARENT(FALSE) icon_state = SPACE_ICON_STATE diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 0e47df5de58..6fa6678c03c 100755 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -66,10 +66,10 @@ GLOBAL_LIST_EMPTY(station_turfs) . = ..() /** - * Turf Initialize - * - * Doesn't call parent, see [/atom/proc/Initialize] - */ + * Turf Initialize + * + * Doesn't call parent, see [/atom/proc/Initialize] + */ /turf/Initialize(mapload) SHOULD_CALL_PARENT(FALSE) if(flags_1 & INITIALIZED_1) @@ -600,8 +600,8 @@ GLOBAL_LIST_EMPTY(station_turfs) . |= R.expose_turf(src, reagents[R]) /** - * Called when this turf is being washed. Washing a turf will also wash any mopable floor decals - */ + * Called when this turf is being washed. Washing a turf will also wash any mopable floor decals + */ /turf/wash(clean_types) . = ..() diff --git a/code/game/world.dm b/code/game/world.dm index 25d0cac8dd1..0a4f914caa4 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -3,31 +3,31 @@ GLOBAL_VAR(restart_counter) /** - * World creation - * - * Here is where a round itself is actually begun and setup. - * * db connection setup - * * config loaded from files - * * loads admins - * * Sets up the dynamic menu system - * * and most importantly, calls initialize on the master subsystem, starting the game loop that causes the rest of the game to begin processing and setting up - * - * - * Nothing happens until something moves. ~Albert Einstein - * - * For clarity, this proc gets triggered later in the initialization pipeline, it is not the first thing to happen, as it might seem. - * - * Initialization Pipeline: - * Global vars are new()'ed, (including config, glob, and the master controller will also new and preinit all subsystems when it gets new()ed) - * Compiled in maps are loaded (mainly centcom). all areas/turfs/objs/mobs(ATOMs) in these maps will be new()ed - * world/New() (You are here) - * Once world/New() returns, client's can connect. - * 1 second sleep - * Master Controller initialization. - * Subsystem initialization. - * Non-compiled-in maps are maploaded, all atoms are new()ed - * All atoms in both compiled and uncompiled maps are initialized() - */ + * World creation + * + * Here is where a round itself is actually begun and setup. + * * db connection setup + * * config loaded from files + * * loads admins + * * Sets up the dynamic menu system + * * and most importantly, calls initialize on the master subsystem, starting the game loop that causes the rest of the game to begin processing and setting up + * + * + * Nothing happens until something moves. ~Albert Einstein + * + * For clarity, this proc gets triggered later in the initialization pipeline, it is not the first thing to happen, as it might seem. + * + * Initialization Pipeline: + * Global vars are new()'ed, (including config, glob, and the master controller will also new and preinit all subsystems when it gets new()ed) + * Compiled in maps are loaded (mainly centcom). all areas/turfs/objs/mobs(ATOMs) in these maps will be new()ed + * world/New() (You are here) + * Once world/New() returns, client's can connect. + * 1 second sleep + * Master Controller initialization. + * Subsystem initialization. + * Non-compiled-in maps are maploaded, all atoms are new()ed + * All atoms in both compiled and uncompiled maps are initialized() + */ /world/New() var/extools = world.GetConfig("env", "EXTOOLS_DLL") || (world.system_type == MS_WINDOWS ? "./byond-extools.dll" : "./libbyond-extools.so") if (fexists(extools)) diff --git a/code/modules/admin/poll_management.dm b/code/modules/admin/poll_management.dm index c14727813cb..abb0431dd28 100644 --- a/code/modules/admin/poll_management.dm +++ b/code/modules/admin/poll_management.dm @@ -1,9 +1,9 @@ /** - * Datum which holds details of a running poll loaded from the database and supplementary info. - * - * Used to minimize the need for querying this data every time it's needed. - * - */ + * Datum which holds details of a running poll loaded from the database and supplementary info. + * + * Used to minimize the need for querying this data every time it's needed. + * + */ /datum/poll_question ///Reference list of the options for this poll, not used by text response polls. var/list/options = list() @@ -41,11 +41,11 @@ var/future_poll /** - * Datum which holds details of a poll option loaded from the database. - * - * Used to minimize the need for querying this data every time it's needed. - * - */ + * Datum which holds details of a poll option loaded from the database. + * + * Used to minimize the need for querying this data every time it's needed. + * + */ /datum/poll_option ///Reference to the poll this option belongs to var/datum/poll_question/parent_poll @@ -67,9 +67,9 @@ var/default_percentage_calc /** - * Shows a list of all current and future polls and buttons to edit or delete them or create a new poll. - * - */ + * Shows a list of all current and future polls and buttons to edit or delete them or create a new poll. + * + */ /datum/admins/proc/poll_list_panel() var/list/output = list("Current and future polls