From 843f3167dd7aa93ef345d538fcdf826a4deec4c8 Mon Sep 17 00:00:00 2001 From: Volodymir Ohorodnytskyi <102746941+Legendaxe@users.noreply.github.com> Date: Fri, 17 May 2024 01:44:40 -0700 Subject: [PATCH 01/31] typo fix (#25503) --- tools/tgs_scripts/PreCompile.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tgs_scripts/PreCompile.sh b/tools/tgs_scripts/PreCompile.sh index a44feceda4df..349093b515f5 100755 --- a/tools/tgs_scripts/PreCompile.sh +++ b/tools/tgs_scripts/PreCompile.sh @@ -39,7 +39,7 @@ fi echo "Deploying rust-g..." git reset --hard "$RUSTG_VERSION" -./apply-patches.sh +./apply_patches.sh cd paradise-rust-g env PKG_CONFIG_ALLOW_CROSS=1 ~/.cargo/bin/cargo build --release --features all --target=i686-unknown-linux-gnu mv target/i686-unknown-linux-gnu/release/librust_g.so "$1/librust_g.so" From bec2043efe2c5bc13a1783e4de315263a2fd8bba Mon Sep 17 00:00:00 2001 From: S34N <12197162+S34NW@users.noreply.github.com> Date: Fri, 17 May 2024 11:48:09 +0200 Subject: [PATCH 02/31] speed up OD lint CI significantly (#25505) --- tools/ci/run_od.sh | 2 +- tools/ci/setup_od.sh | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/tools/ci/run_od.sh b/tools/ci/run_od.sh index 61a27badde33..58842761a98f 100755 --- a/tools/ci/run_od.sh +++ b/tools/ci/run_od.sh @@ -1,3 +1,3 @@ #!/bin/bash set -eo pipefail -dotnet OpenDream/bin/DMCompiler/DMCompiler.dll --suppress-unimplemented paradise.dme +dotnet DMCompiler_linux-x64/DMCompiler.dll --suppress-unimplemented paradise.dme diff --git a/tools/ci/setup_od.sh b/tools/ci/setup_od.sh index aad45f2bc971..affc0833e2e0 100755 --- a/tools/ci/setup_od.sh +++ b/tools/ci/setup_od.sh @@ -1,8 +1,5 @@ #!/bin/bash set -eo pipefail -git clone https://github.com/OpenDreamProject/OpenDream.git OpenDream -cd OpenDream -git submodule update --init --recursive -dotnet restore -dotnet build -c Release +wget https://github.com/OpenDreamProject/OpenDream/releases/download/latest/DMCompiler_linux-x64.tar.gz +tar -xf DMCompiler_linux-x64.tar.gz From 66e3528b7c08a4d2d78c060d8651f9097d6ce520 Mon Sep 17 00:00:00 2001 From: CRUNCH <143041327+Fordoxia@users.noreply.github.com> Date: Fri, 17 May 2024 12:22:14 +0100 Subject: [PATCH 03/31] Adds Abductor Janitorial Tools! (#25057) * Fixing some minor typos for cyborg upgrade flavour text Throws in some missing apostrophes, capitalisation, and the letter "s." * Briefcase Full of Cash buff Increases the amount of cash in the Syndicate Briefcase Full of Cash from 600 Cr to 1000 Cr * Reverts double-feature PR * Reverts a broken revert * Reverting again because Ebba told me to * And reverting yet again * Out of this world cleaning! * missing empty space * Locker belt * fix merge conflict and upgrade belt * Update code/modules/research/designs/mechfabricator_designs.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/modules/research/designs/medical_designs.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update medical_designs.dm * Update code/game/objects/items/robot/robot_upgrades.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> * Update code/game/gamemodes/miniantags/abduction/abduction_gear.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> * Fixed missing item state * Begone, bucket! * Update code/game/objects/structures/mop_bucket.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> --------- Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> --- _maps/map_files/generic/centcomm.dmm | 13 +- .../miniantags/abduction/abduction_gear.dm | 637 +++++++++++------- .../miniantags/abduction/abduction_outfits.dm | 1 - .../objects/items/robot/robot_upgrades.dm | 21 + code/game/objects/items/tools/crowbar.dm | 10 - code/game/objects/items/tools/multitool.dm | 13 - code/game/objects/items/tools/screwdriver.dm | 9 - code/game/objects/items/tools/welder.dm | 13 - code/game/objects/items/tools/wirecutters.dm | 13 - code/game/objects/items/tools/wrench.dm | 9 - .../objects/items/weapons/storage/belt.dm | 16 - code/game/objects/structures/janicart.dm | 2 +- code/game/objects/structures/mop_bucket.dm | 3 + .../mob/living/silicon/robot/robot_modules.dm | 3 +- .../research/designs/janitorial_designs.dm | 30 + .../designs/mechfabricator_designs.dm | 10 + .../research/designs/medical_designs.dm | 13 +- code/modules/surgery/organs/augments_arms.dm | 11 + .../inhands/equipment/custodial_lefthand.dmi | Bin 2501 -> 5539 bytes .../inhands/equipment/custodial_righthand.dmi | Bin 2417 -> 6392 bytes icons/mob/inhands/weapons_lefthand.dmi | Bin 78153 -> 79086 bytes icons/mob/inhands/weapons_righthand.dmi | Bin 76384 -> 76925 bytes icons/obj/abductor.dmi | Bin 56577 -> 59981 bytes 23 files changed, 511 insertions(+), 316 deletions(-) diff --git a/_maps/map_files/generic/centcomm.dmm b/_maps/map_files/generic/centcomm.dmm index 21d26a44f026..6949d75e90f5 100644 --- a/_maps/map_files/generic/centcomm.dmm +++ b/_maps/map_files/generic/centcomm.dmm @@ -490,6 +490,11 @@ icon_state = "green" }, /area/holodeck/source_emptycourt) +"cb" = ( +/obj/structure/closet/abductor, +/obj/item/storage/belt/janitor/abductor/full, +/turf/simulated/floor/plating/abductor, +/area/abductor_ship) "cc" = ( /obj/structure/window/reinforced{ dir = 1 @@ -46742,7 +46747,7 @@ aN aN lz lz -nr +cb bK nr lz @@ -46756,7 +46761,7 @@ aN aN lz lz -nr +cb bK nr lz @@ -50340,7 +50345,7 @@ aN aN lz lz -nr +cb bK nr lz @@ -50354,7 +50359,7 @@ aN aN lz lz -nr +cb bK nr lz diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index 9d85e02c7383..6e7eefce904f 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -3,7 +3,62 @@ #define MIND_DEVICE_MESSAGE 1 #define MIND_DEVICE_CONTROL 2 -//AGENT VEST +#define BATON_STUN 0 +#define BATON_SLEEP 1 +#define BATON_CUFF 2 +#define BATON_PROBE 3 +#define BATON_MODES 4 + +/* +CONTENTS: +1. AGENT GEAR +2. SCIENTIST GEAR +3. ENGINEERING TOOLS +4. MEDICAL TOOLS +5. JANITORIAL TOOLS +6. STRUCTURES +*/ + +// Setting up abductor exclusivity. +/obj/item/abductor + name = "generic abductor item" + icon = 'icons/obj/abductor.dmi' + desc = "You are not supposed to be able to see this. If you can see this, please make an issue report on GitHub." + +/obj/item/abductor/proc/AbductorCheck(user) + if(isabductor(user)) + return TRUE + to_chat(user, "You can't figure how this works!") + return FALSE + +/obj/item/abductor/proc/ScientistCheck(user) + if(!AbductorCheck(user)) + return FALSE + + var/mob/living/carbon/human/H = user + var/datum/species/abductor/S = H.dna.species + if(S.scientist) + return TRUE + to_chat(user, "You're not trained to use this!") + return FALSE + +///////////////////////////////////////// +/////////////// AGENT GEAR ////////////// +///////////////////////////////////////// +/obj/item/clothing/head/helmet/abductor + name = "agent headgear" + desc = "Abduct with style - spiky style. Prevents digital tracking." + icon_state = "alienhelmet" + item_state = "alienhelmet" + blockTracking = 1 + origin_tech = "materials=7;magnets=4;abductor=3" + flags = BLOCKHAIR + flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE + + sprite_sheets = list( + "Vox" = 'icons/mob/clothing/species/vox/head.dmi' + ) + /obj/item/clothing/suit/armor/abductor/vest name = "agent vest" desc = "A vest outfitted with advanced stealth technology. It has two modes - combat and stealth." @@ -129,113 +184,6 @@ break return ..() -/obj/item/abductor - icon = 'icons/obj/abductor.dmi' - -/obj/item/abductor/proc/AbductorCheck(user) - if(isabductor(user)) - return TRUE - to_chat(user, "You can't figure how this works!") - return FALSE - -/obj/item/abductor/proc/ScientistCheck(user) - if(!AbductorCheck(user)) - return FALSE - - var/mob/living/carbon/human/H = user - var/datum/species/abductor/S = H.dna.species - if(S.scientist) - return TRUE - to_chat(user, "You're not trained to use this!") - return FALSE - -/obj/item/abductor/gizmo - name = "science tool" - desc = "A dual-mode tool for retrieving specimens and scanning appearances. Scanning can be done through cameras." - icon_state = "gizmo_scan" - item_state = "gizmo" - origin_tech = "engineering=7;magnets=4;bluespace=4;abductor=3" - var/mode = GIZMO_SCAN - var/mob/living/marked = null - var/obj/machinery/abductor/console/console - -/obj/item/abductor/gizmo/attack_self(mob/user) - if(!ScientistCheck(user)) - return - if(!console) - to_chat(user, "The device is not linked to a console!") - return - - if(mode == GIZMO_SCAN) - mode = GIZMO_MARK - icon_state = "gizmo_mark" - else - mode = GIZMO_SCAN - icon_state = "gizmo_scan" - to_chat(user, "You switch the device to [mode==GIZMO_SCAN? "SCAN": "MARK"] MODE") - -/obj/item/abductor/gizmo/attack(mob/living/M, mob/user) - if(!ScientistCheck(user)) - return - if(!console) - to_chat(user, "The device is not linked to console!") - return - - switch(mode) - if(GIZMO_SCAN) - scan(M, user) - if(GIZMO_MARK) - mark(M, user) - - -/obj/item/abductor/gizmo/afterattack(atom/target, mob/living/user, flag, params) - if(flag) - return - if(!ScientistCheck(user)) - return - if(!console) - to_chat(user, "The device is not linked to console!") - return - - switch(mode) - if(GIZMO_SCAN) - scan(target, user) - if(GIZMO_MARK) - mark(target, user) - -/obj/item/abductor/gizmo/proc/scan(atom/target, mob/living/user) - if(ishuman(target)) - console.AddSnapshot(target) - to_chat(user, "You scan [target] and add [target.p_them()] to the database.") - -/obj/item/abductor/gizmo/proc/mark(atom/target, mob/living/user) - if(marked == target) - to_chat(user, "This specimen is already marked!") - return - if(ishuman(target)) - if(isabductor(target)) - marked = target - to_chat(user, "You mark [target] for future retrieval.") - else - prepare(target,user) - else - prepare(target,user) - -/obj/item/abductor/gizmo/proc/prepare(atom/target, mob/living/user) - if(get_dist(target,user)>1) - to_chat(user, "You need to be next to the specimen to prepare it for transport!") - return - to_chat(user, "You begin preparing [target] for transport...") - if(do_after(user, 100, target = target)) - marked = target - to_chat(user, "You finish preparing [target] for transport.") - -/obj/item/abductor/gizmo/Destroy() - if(console) - console.gizmo = null - return ..() - - /obj/item/abductor/silencer name = "abductor silencer" desc = "A compact device used to shut down communications equipment." @@ -277,75 +225,6 @@ R.listening = FALSE // Prevents the radio from buzzing due to the EMP, preserving possible stealthiness. R.emp_act(1) -/obj/item/abductor/mind_device - name = "mental interface device" - desc = "A dual-mode tool for directly communicating with sentient brains. It can be used to send a direct message to a target, or to send a command to a test subject with a charged gland." - icon_state = "mind_device_message" - item_state = "silencer" - var/mode = MIND_DEVICE_MESSAGE - -/obj/item/abductor/mind_device/attack_self(mob/user) - if(!ScientistCheck(user)) - return - - if(mode == MIND_DEVICE_MESSAGE) - mode = MIND_DEVICE_CONTROL - icon_state = "mind_device_control" - else - mode = MIND_DEVICE_MESSAGE - icon_state = "mind_device_message" - to_chat(user, "You switch the device to [mode == MIND_DEVICE_MESSAGE ? "TRANSMISSION" : "COMMAND"] MODE") - -/obj/item/abductor/mind_device/afterattack(atom/target, mob/living/user, flag, params) - if(!ScientistCheck(user)) - return - - switch(mode) - if(MIND_DEVICE_CONTROL) - mind_control(target, user) - if(MIND_DEVICE_MESSAGE) - mind_message(target, user) - -/obj/item/abductor/mind_device/proc/mind_control(atom/target, mob/living/user) - if(iscarbon(target)) - var/mob/living/carbon/C = target - var/obj/item/organ/internal/heart/gland/G = C.get_organ_slot("heart") - if(!istype(G)) - to_chat(user, "Your target does not have an experimental gland!") - return - if(!G.mind_control_uses) - to_chat(user, "Your target's gland is spent!") - return - if(G.active_mind_control) - to_chat(user, "Your target is already under a mind-controlling influence!") - return - - var/command = tgui_input_text(user, "Enter the command for your target to follow. Uses Left: [G.mind_control_uses], Duration: [DisplayTimeText(G.mind_control_duration)]", "Enter command") - if(!command) - return - if(QDELETED(user) || user.get_active_hand() != src || loc != user) - return - if(QDELETED(G)) - return - G.mind_control(command, user) - to_chat(user, "You send the command to your target.") - -/obj/item/abductor/mind_device/proc/mind_message(atom/target, mob/living/user) - if(isliving(target)) - var/mob/living/L = target - if(L.stat == DEAD) - to_chat(user, "Your target is dead!") - return - var/message = tgui_input_text(user, "Write a message to send to your target's brain.", "Enter message") - if(!message) - return - if(QDELETED(L) || L.stat == DEAD) - return - - to_chat(L, "You hear a voice in your head saying: [message]") - to_chat(user, "You send the message to your target.") - log_say("[key_name(user)] sent an abductor mind message to [key_name(L)]: '[message]'", user) - /obj/item/gun/energy/alien name = "alien pistol" desc = "A complicated gun that fires bursts of high-intensity radiation." @@ -357,41 +236,6 @@ trigger_guard = TRIGGER_GUARD_ALLOW_ALL can_holster = TRUE -/obj/item/paper/abductor - name = "Dissection Guide" - icon_state = "alienpaper_words" - info = {"Dissection for Dummies
-
- 1.Acquire fresh specimen.
- 2.Put the specimen on operating table.
- 3.Apply scalpel to the chest, preparing for experimental dissection.
- 4.Apply scalpel to specimen's torso.
- 5.Clamp bleeders on specimen's torso with a hemostat.
- 6.Retract skin of specimen's torso with a retractor.
- 7.Saw through the specimen's torso with a saw.
- 8.Apply retractor again to specimen's torso.
- 9.Search through the specimen's torso with your hands to remove any superfluous organs.
- 10.Insert replacement gland (Retrieve one from gland storage).
- 11.Cauterize the patient's torso with a cautery.
- 12.Consider dressing the specimen back to not disturb the habitat.
- 13.Put the specimen in the experiment machinery.
- 14.Choose one of the machine options. The target will be analyzed and teleported to the selected drop-off point.
- 15.You will receive one supply credit, and the subject will be counted towards your quota.
-
-Congratulations! You are now trained for invasive xenobiology research!"} - -/obj/item/paper/abductor/update_icon_state() - return - -/obj/item/paper/abductor/AltClick() - return - -#define BATON_STUN 0 -#define BATON_SLEEP 1 -#define BATON_CUFF 2 -#define BATON_PROBE 3 -#define BATON_MODES 4 - /obj/item/abductor_baton name = "advanced baton" desc = "A quad-mode baton used for incapacitation and restraining of specimens." @@ -590,6 +434,281 @@ Congratulations! You are now trained for invasive xenobiology research!"} /obj/item/radio/headset/abductor/screwdriver_act() return// Stops humans from disassembling abductor headsets. +///////////////////////////////////////// +///////////// SCIENTIST GEAR //////////// +///////////////////////////////////////// +/obj/item/abductor/gizmo + name = "science tool" + desc = "A dual-mode tool for retrieving specimens and scanning appearances. Scanning can be done through cameras." + icon_state = "gizmo_scan" + item_state = "gizmo" + origin_tech = "engineering=7;magnets=4;bluespace=4;abductor=3" + var/mode = GIZMO_SCAN + var/mob/living/marked = null + var/obj/machinery/abductor/console/console + +/obj/item/abductor/gizmo/attack_self(mob/user) + if(!ScientistCheck(user)) + return + if(!console) + to_chat(user, "The device is not linked to a console!") + return + + if(mode == GIZMO_SCAN) + mode = GIZMO_MARK + icon_state = "gizmo_mark" + else + mode = GIZMO_SCAN + icon_state = "gizmo_scan" + to_chat(user, "You switch the device to [mode==GIZMO_SCAN? "SCAN": "MARK"] MODE") + +/obj/item/abductor/gizmo/attack(mob/living/M, mob/user) + if(!ScientistCheck(user)) + return + if(!console) + to_chat(user, "The device is not linked to console!") + return + + switch(mode) + if(GIZMO_SCAN) + scan(M, user) + if(GIZMO_MARK) + mark(M, user) + +/obj/item/abductor/gizmo/afterattack(atom/target, mob/living/user, flag, params) + if(flag) + return + if(!ScientistCheck(user)) + return + if(!console) + to_chat(user, "The device is not linked to console!") + return + + switch(mode) + if(GIZMO_SCAN) + scan(target, user) + if(GIZMO_MARK) + mark(target, user) + +/obj/item/abductor/gizmo/proc/scan(atom/target, mob/living/user) + if(ishuman(target)) + console.AddSnapshot(target) + to_chat(user, "You scan [target] and add [target.p_them()] to the database.") + +/obj/item/abductor/gizmo/proc/mark(atom/target, mob/living/user) + if(marked == target) + to_chat(user, "This specimen is already marked!") + return + if(ishuman(target)) + if(isabductor(target)) + marked = target + to_chat(user, "You mark [target] for future retrieval.") + else + prepare(target,user) + else + prepare(target,user) + +/obj/item/abductor/gizmo/proc/prepare(atom/target, mob/living/user) + if(get_dist(target,user)>1) + to_chat(user, "You need to be next to the specimen to prepare it for transport!") + return + to_chat(user, "You begin preparing [target] for transport...") + if(do_after(user, 100, target = target)) + marked = target + to_chat(user, "You finish preparing [target] for transport.") + +/obj/item/abductor/gizmo/Destroy() + if(console) + console.gizmo = null + return ..() + +/obj/item/abductor/mind_device + name = "mental interface device" + desc = "A dual-mode tool for directly communicating with sentient brains. It can be used to send a direct message to a target, or to send a command to a test subject with a charged gland." + icon_state = "mind_device_message" + item_state = "silencer" + var/mode = MIND_DEVICE_MESSAGE + +/obj/item/abductor/mind_device/attack_self(mob/user) + if(!ScientistCheck(user)) + return + + if(mode == MIND_DEVICE_MESSAGE) + mode = MIND_DEVICE_CONTROL + icon_state = "mind_device_control" + else + mode = MIND_DEVICE_MESSAGE + icon_state = "mind_device_message" + to_chat(user, "You switch the device to [mode == MIND_DEVICE_MESSAGE ? "TRANSMISSION" : "COMMAND"] MODE") + +/obj/item/abductor/mind_device/afterattack(atom/target, mob/living/user, flag, params) + if(!ScientistCheck(user)) + return + + switch(mode) + if(MIND_DEVICE_CONTROL) + mind_control(target, user) + if(MIND_DEVICE_MESSAGE) + mind_message(target, user) + +/obj/item/abductor/mind_device/proc/mind_control(atom/target, mob/living/user) + if(iscarbon(target)) + var/mob/living/carbon/C = target + var/obj/item/organ/internal/heart/gland/G = C.get_organ_slot("heart") + if(!istype(G)) + to_chat(user, "Your target does not have an experimental gland!") + return + if(!G.mind_control_uses) + to_chat(user, "Your target's gland is spent!") + return + if(G.active_mind_control) + to_chat(user, "Your target is already under a mind-controlling influence!") + return + + var/command = tgui_input_text(user, "Enter the command for your target to follow. Uses Left: [G.mind_control_uses], Duration: [DisplayTimeText(G.mind_control_duration)]", "Enter command") + if(!command) + return + if(QDELETED(user) || user.get_active_hand() != src || loc != user) + return + if(QDELETED(G)) + return + G.mind_control(command, user) + to_chat(user, "You send the command to your target.") + +/obj/item/abductor/mind_device/proc/mind_message(atom/target, mob/living/user) + if(isliving(target)) + var/mob/living/L = target + if(L.stat == DEAD) + to_chat(user, "Your target is dead!") + return + var/message = tgui_input_text(user, "Write a message to send to your target's brain.", "Enter message") + if(!message) + return + if(QDELETED(L) || L.stat == DEAD) + return + + to_chat(L, "You hear a voice in your head saying: [message]") + to_chat(user, "You send the message to your target.") + log_say("[key_name(user)] sent an abductor mind message to [key_name(L)]: '[message]'", user) + +/obj/item/paper/abductor + name = "Dissection Guide" + icon_state = "alienpaper_words" + info = {"Dissection for Dummies
+
+ 1.Acquire fresh specimen.
+ 2.Put the specimen on operating table.
+ 3.Apply scalpel to the chest, preparing for experimental dissection.
+ 4.Apply scalpel to specimen's torso.
+ 5.Clamp bleeders on specimen's torso with a hemostat.
+ 6.Retract skin of specimen's torso with a retractor.
+ 7.Saw through the specimen's torso with a saw.
+ 8.Apply retractor again to specimen's torso.
+ 9.Search through the specimen's torso with your hands to remove any superfluous organs.
+ 10.Insert replacement gland (Retrieve one from gland storage).
+ 11.Cauterize the patient's torso with a cautery.
+ 12.Consider dressing the specimen back to not disturb the habitat.
+ 13.Put the specimen in the experiment machinery.
+ 14.Choose one of the machine options. The target will be analyzed and teleported to the selected drop-off point.
+ 15.You will receive one supply credit, and the subject will be counted towards your quota.
+
+Congratulations! You are now trained for invasive xenobiology research!"} + +/obj/item/paper/abductor/update_icon_state() + return + +/obj/item/paper/abductor/AltClick() + return + +///////////////////////////////////////// +/////////// ENGINEERING TOOLS /////////// +///////////////////////////////////////// +/obj/item/screwdriver/abductor + name = "alien screwdriver" + desc = "An ultrasonic screwdriver." + icon = 'icons/obj/abductor.dmi' + icon_state = "screwdriver" + usesound = 'sound/items/pshoom.ogg' + toolspeed = 0.1 + random_color = FALSE + +/obj/item/wrench/abductor + name = "alien wrench" + desc = "A polarized wrench. It causes anything placed between the jaws to turn." + icon = 'icons/obj/abductor.dmi' + icon_state = "wrench" + usesound = 'sound/effects/empulse.ogg' + toolspeed = 0.1 + origin_tech = "materials=5;engineering=5;abductor=3" + +/obj/item/weldingtool/abductor + name = "alien welding tool" + desc = "An alien welding tool. Whatever fuel it uses, it never runs out." + icon = 'icons/obj/abductor.dmi' + icon_state = "welder" + toolspeed = 0.1 + w_class = WEIGHT_CLASS_SMALL + light_intensity = 0 + origin_tech = "plasmatech=5;engineering=5;abductor=3" + requires_fuel = FALSE + refills_over_time = TRUE + low_fuel_changes_icon = FALSE + +/obj/item/crowbar/abductor + name = "alien crowbar" + desc = "A hard-light crowbar. It appears to pry by itself, without any effort required." + icon = 'icons/obj/abductor.dmi' + icon_state = "crowbar" + usesound = 'sound/weapons/sonic_jackhammer.ogg' + toolspeed = 0.1 + w_class = WEIGHT_CLASS_SMALL + origin_tech = "combat=4;engineering=4;abductor=3" + +/obj/item/wirecutters/abductor + name = "alien wirecutters" + desc = "Extremely sharp wirecutters, made out of a silvery-green metal." + icon = 'icons/obj/abductor.dmi' + icon_state = "cutters" + toolspeed = 0.1 + origin_tech = "materials=5;engineering=4;abductor=3" + random_color = FALSE + +/obj/item/wirecutters/abductor/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_SHOW_WIRE_INFO, ROUNDSTART_TRAIT) + +/obj/item/multitool/abductor + name = "alien multitool" + desc = "An omni-technological interface." + icon = 'icons/obj/abductor.dmi' + icon_state = "multitool" + toolspeed = 0.1 + w_class = WEIGHT_CLASS_SMALL + origin_tech = "magnets=5;engineering=5;abductor=3" + +/obj/item/multitool/abductor/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_SHOW_WIRE_INFO, ROUNDSTART_TRAIT) + +/obj/item/storage/belt/military/abductor + name = "agent belt" + desc = "A belt used by abductor agents." + icon = 'icons/obj/abductor.dmi' + icon_state = "belt" + item_state = "security" + +/obj/item/storage/belt/military/abductor/full/populate_contents() + new /obj/item/screwdriver/abductor(src) + new /obj/item/wrench/abductor(src) + new /obj/item/weldingtool/abductor(src) + new /obj/item/crowbar/abductor(src) + new /obj/item/wirecutters/abductor(src) + new /obj/item/multitool/abductor(src) + new /obj/item/stack/cable_coil(src, 30, COLOR_WHITE) + +///////////////////////////////////////// +/////////// MEDICAL TOOLS /////////////// +///////////////////////////////////////// /obj/item/scalpel/alien name = "alien scalpel" desc = "It's a gleaming sharp knife made out of silvery-green metal." @@ -641,7 +760,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} /obj/item/FixOVein/alien name = "alien FixOVein" - desc = "Bloodless aliens would totally know how to stop internal bleeding...right?" + desc = "Bloodless aliens would totally know how to stop internal bleeding... Right?" icon = 'icons/obj/abductor.dmi' origin_tech = "materials=2;biotech=2;abductor=2" toolspeed = 0.25 @@ -653,21 +772,89 @@ Congratulations! You are now trained for invasive xenobiology research!"} origin_tech = "materials=2;biotech=2;abductor=2" toolspeed = 0.25 -/obj/item/clothing/head/helmet/abductor - name = "agent headgear" - desc = "Abduct with style - spiky style. Prevents digital tracking." - icon_state = "alienhelmet" - item_state = "alienhelmet" - blockTracking = 1 - origin_tech = "materials=7;magnets=4;abductor=3" - flags = BLOCKHAIR - flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE +///////////////////////////////////////// +//////////// JANITORIAL TOOLS /////////// +///////////////////////////////////////// +/obj/item/mop/advanced/abductor + name = "alien mop" + desc = "A collapsible mop clearly used by aliens to clean up any evidence of a close encounter. The head produces a constant supply of water when run over a surface, seemingly out of nowhere." + icon = 'icons/obj/abductor.dmi' + icon_state = "mop_abductor" + mopcap = 100 + origin_tech = "materials=3;engineering=3;abductor=3" + refill_rate = 50 + refill_reagent = "water" + mopspeed = 10 + +/obj/item/soap/syndie/abductor + name = "alien soap" + desc = "Even bloodless aliens need to wash the grime off. Smells like gunpowder." + icon = 'icons/obj/abductor.dmi' + icon_state = "soap_abductor" - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/head.dmi' +/obj/item/lightreplacer/bluespace/abductor + name = "alien light replacer" + desc = "It's important to keep all the mysterious lights on a UFO functional when flying over backwater country." + icon = 'icons/obj/abductor.dmi' + icon_state = "lightreplacer_abductor" + origin_tech = "magnets=3;engineering=4;abductor=3" + max_uses = 40 + uses = 20 + +/obj/item/melee/flyswatter/abductor + name = "alien flyswatter" + desc = "For killing alien insects, obviously." + icon = 'icons/obj/abductor.dmi' + icon_state = "flyswatter_abductor" + item_state = "flyswatter_abductor" + origin_tech = "abductor=1" + force = 2 // Twice as powerful thanks to alien technology! + throwforce = 2 + +/obj/item/reagent_containers/spray/cleaner/safety/abductor // Essentially an Advanced Space Cleaner, but abductor-themed. For the implant. + name = "alien space cleaner" + desc = "An alien spray bottle contaning alien-brand non-foaming space cleaner! It only accepts space cleaner." + icon = 'icons/obj/abductor.dmi' + icon_state = "cleaner_abductor" + item_state = "cleaner_abductor" + volume = 500 + spray_maxrange = 3 + spray_currentrange = 3 + list_reagents = list("cleaner" = 500) + +/obj/item/storage/belt/janitor/abductor + name = "alien janibelt" + desc = "A belt used to hold out-of-this-world cleaning supplies! Used by abductors to keep their ships clean." + icon = 'icons/obj/abductor.dmi' + icon_state = "janibelt_abductor" + item_state = "security" + storage_slots = 7 + can_hold = list( + /obj/item/grenade/chem_grenade/cleaner, + /obj/item/lightreplacer, + /obj/item/flashlight, + /obj/item/reagent_containers/spray, + /obj/item/soap, + /obj/item/holosign_creator/janitor, + /obj/item/melee/flyswatter, + /obj/item/storage/bag/trash, + /obj/item/push_broom, + /obj/item/door_remote/janikeyring, + /obj/item/mop/advanced/abductor ) -// Operating Table / Beds / Lockers +/obj/item/storage/belt/janitor/abductor/full/populate_contents() + new /obj/item/mop/advanced/abductor(src) + new /obj/item/soap/syndie/abductor(src) + new /obj/item/lightreplacer/bluespace/abductor(src) + new /obj/item/storage/bag/trash/bluespace(src) + new /obj/item/melee/flyswatter/abductor(src) + new /obj/item/reagent_containers/spray/cleaner/safety/abductor(src) + new /obj/item/holosign_creator/janitor(src) + +///////////////////////////////////////// +/////////////// STRUCTURES ////////////// +///////////////////////////////////////// /obj/structure/bed/abductor name = "resting contraption" desc = "This looks similar to contraptions from earth. Could aliens be stealing our technology?" diff --git a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm b/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm index 15cf5eeacde8..82a903afa37c 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm @@ -50,7 +50,6 @@ /datum/outfit/abductor/scientist name = "Abductor Scientist" - backpack_contents = list( /obj/item/abductor/gizmo = 1 ) diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 28cad65e92f1..245656352e44 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -486,3 +486,24 @@ return for(var/obj/item/reagent_containers/borghypo/F in R.module.modules) F.emag_act() + +/obj/item/borg/upgrade/abductor_jani + name = "janitorial cyborg abductor upgrade" + desc = "An experimental upgrade that replaces a janitorial cyborg's tools with the abductor versions." + icon_state = "abductor_mod" + origin_tech = "biotech=6;materials=6;abductor=3" + require_module = TRUE + module_type = /obj/item/robot_module/janitor + items_to_replace = list( + /obj/item/mop/advanced/cyborg = /obj/item/mop/advanced/abductor, + /obj/item/soap = /obj/item/soap/syndie/abductor, + /obj/item/lightreplacer/cyborg = /obj/item/lightreplacer/bluespace/abductor, + /obj/item/melee/flyswatter = /obj/item/melee/flyswatter/abductor + ) + items_to_add = list( + /obj/item/reagent_containers/spray/cleaner/safety/abductor + ) + special_rechargables = list( + /obj/item/reagent_containers/spray/cleaner/safety/abductor, + /obj/item/lightreplacer/bluespace/abductor + ) diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 4d58d09d2119..c53a55e217a1 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -35,16 +35,6 @@ toolspeed = 0.5 resistance_flags = FIRE_PROOF | ACID_PROOF -/obj/item/crowbar/abductor - name = "alien crowbar" - desc = "A hard-light crowbar. It appears to pry by itself, without any effort required." - icon = 'icons/obj/abductor.dmi' - usesound = 'sound/weapons/sonic_jackhammer.ogg' - icon_state = "crowbar" - toolspeed = 0.1 - w_class = WEIGHT_CLASS_SMALL - origin_tech = "combat=4;engineering=4;abductor=3" - /obj/item/crowbar/small name = "miniature titanium crowbar" desc = "A tiny, lightweight titanium crowbar. It fits handily in your pocket." diff --git a/code/game/objects/items/tools/multitool.dm b/code/game/objects/items/tools/multitool.dm index a44742ade66f..080d58d57dc9 100644 --- a/code/game/objects/items/tools/multitool.dm +++ b/code/game/objects/items/tools/multitool.dm @@ -171,19 +171,6 @@ . = ..() ADD_TRAIT(src, TRAIT_SHOW_WIRE_INFO, ROUNDSTART_TRAIT) // Drones are linked to the station -/obj/item/multitool/abductor - name = "alien multitool" - desc = "An omni-technological interface." - icon = 'icons/obj/abductor.dmi' - icon_state = "multitool" - toolspeed = 0.1 - w_class = WEIGHT_CLASS_SMALL - origin_tech = "magnets=5;engineering=5;abductor=3" - -/obj/item/multitool/abductor/Initialize(mapload) - . = ..() - ADD_TRAIT(src, TRAIT_SHOW_WIRE_INFO, ROUNDSTART_TRAIT) - #undef PROXIMITY_NONE #undef PROXIMITY_ON_SCREEN #undef PROXIMITY_NEAR diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index 6f0587188fa2..b9a79fbcfdda 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -90,15 +90,6 @@ return BRUTELOSS -/obj/item/screwdriver/abductor - name = "alien screwdriver" - desc = "An ultrasonic screwdriver." - icon = 'icons/obj/abductor.dmi' - icon_state = "screwdriver" - usesound = 'sound/items/pshoom.ogg' - toolspeed = 0.1 - random_color = FALSE - /obj/item/screwdriver/power name = "hand drill" desc = "A simple hand drill with a screwdriver bit attached." diff --git a/code/game/objects/items/tools/welder.dm b/code/game/objects/items/tools/welder.dm index f4a03f9a6326..239d13fd9a7c 100644 --- a/code/game/objects/items/tools/welder.dm +++ b/code/game/objects/items/tools/welder.dm @@ -275,19 +275,6 @@ materials = list(MAT_METAL = 200, MAT_GLASS = 50) low_fuel_changes_icon = FALSE -/obj/item/weldingtool/abductor - name = "alien welding tool" - desc = "An alien welding tool. Whatever fuel it uses, it never runs out." - icon = 'icons/obj/abductor.dmi' - icon_state = "welder" - toolspeed = 0.1 - w_class = WEIGHT_CLASS_SMALL - light_intensity = 0 - origin_tech = "plasmatech=5;engineering=5;abductor=3" - requires_fuel = FALSE - refills_over_time = TRUE - low_fuel_changes_icon = FALSE - /obj/item/weldingtool/hugetank name = "upgraded welding tool" desc = "An upgraded welder based off the industrial welder." diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index f0b6f20aacca..7a2d0f8db308 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -98,19 +98,6 @@ random_color = FALSE resistance_flags = FIRE_PROOF | ACID_PROOF -/obj/item/wirecutters/abductor - name = "alien wirecutters" - desc = "Extremely sharp wirecutters, made out of a silvery-green metal." - icon = 'icons/obj/abductor.dmi' - icon_state = "cutters" - toolspeed = 0.1 - origin_tech = "materials=5;engineering=4;abductor=3" - random_color = FALSE - -/obj/item/wirecutters/abductor/Initialize(mapload) - . = ..() - ADD_TRAIT(src, TRAIT_SHOW_WIRE_INFO, ROUNDSTART_TRAIT) - /obj/item/wirecutters/cyborg name = "wirecutters" desc = "This cuts wires." diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index 06188fd22444..64e9b3fe5992 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -54,15 +54,6 @@ toolspeed = 0.5 resistance_flags = FIRE_PROOF | ACID_PROOF -/obj/item/wrench/abductor - name = "alien wrench" - desc = "A polarized wrench. It causes anything placed between the jaws to turn." - icon = 'icons/obj/abductor.dmi' - icon_state = "wrench" - usesound = 'sound/effects/empulse.ogg' - toolspeed = 0.1 - origin_tech = "materials=5;engineering=5;abductor=3" - /obj/item/wrench/power name = "hand drill" desc = "A simple powered drill with a bolt bit." diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 9d11690e376f..0750631f1ba2 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -457,22 +457,6 @@ new /obj/item/grenade/empgrenade(src) // Two of each new /obj/item/grenade/syndieminibomb(src) // One minibomb -/obj/item/storage/belt/military/abductor - name = "agent belt" - desc = "A belt used by abductor agents." - icon = 'icons/obj/abductor.dmi' - icon_state = "belt" - item_state = "security" - -/obj/item/storage/belt/military/abductor/full/populate_contents() - new /obj/item/screwdriver/abductor(src) - new /obj/item/wrench/abductor(src) - new /obj/item/weldingtool/abductor(src) - new /obj/item/crowbar/abductor(src) - new /obj/item/wirecutters/abductor(src) - new /obj/item/multitool/abductor(src) - new /obj/item/stack/cable_coil(src, 30, COLOR_WHITE) - /obj/item/storage/belt/military/assault name = "assault belt" desc = "A tactical assault belt." diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index dc855f327fcc..d094f279d636 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -90,7 +90,7 @@ else if(mybag) mybag.attackby(I, user, params) else - to_chat(usr, "You cannot interface your modules [src]!") + to_chat(usr, "You cannot interface your modules with [src]!") /obj/structure/janitorialcart/crowbar_act(mob/living/user, obj/item/I) . = TRUE diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index 5317afba5e9d..1a5d501f77af 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -24,6 +24,9 @@ return ..() /obj/structure/mopbucket/attackby(obj/item/W as obj, mob/user as mob, params) + if(W.is_robot_module()) + to_chat(user, "You cannot interface your modules with [src]!") + return if(istype(W, /obj/item/mop)) var/obj/item/mop/M = W if(M.reagents.total_volume < M.reagents.maximum_volume) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 58345615762d..e1aa7437c8b1 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -513,7 +513,8 @@ /obj/item/mop/advanced/cyborg, /obj/item/lightreplacer/cyborg, /obj/item/holosign_creator/janitor, - /obj/item/extinguisher/mini + /obj/item/extinguisher/mini, + /obj/item/melee/flyswatter ) emag_override_modules = list(/obj/item/reagent_containers/spray/cyborg_lube) emag_modules = list(/obj/item/reagent_containers/spray/cyborg_facid, /obj/item/malfbroom) diff --git a/code/modules/research/designs/janitorial_designs.dm b/code/modules/research/designs/janitorial_designs.dm index 4743fb63a17f..f744f2d02b34 100644 --- a/code/modules/research/designs/janitorial_designs.dm +++ b/code/modules/research/designs/janitorial_designs.dm @@ -50,3 +50,33 @@ materials = list(MAT_METAL = 1500, MAT_SILVER = 150, MAT_GLASS = 6000, MAT_BLUESPACE = 300) build_path = /obj/item/lightreplacer/bluespace category = list("Janitorial") + +/datum/design/abductor_mop + name = "Alien Mop" + desc = "An advanced mop obtained through Abductor technology." + id = "alien_mop" + req_tech = list("materials" = 5, "engineering" = 5, "abductor" = 3) + build_type = PROTOLATHE + materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500, MAT_DIAMOND = 1000) + build_path = /obj/item/mop/advanced/abductor + category = list("Janitorial") + +/datum/design/abductor_light_replacer + name = "Alien Light Replacer" + desc = "An advanced light replacer obtained through Abductor technology." + id = "alien_light_replacer" + req_tech = list("bluespace" = 7, "materials" = 5, "engineering" = 5, "abductor" = 3) + build_type = PROTOLATHE + materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500, MAT_DIAMOND = 1000) + build_path = /obj/item/lightreplacer/bluespace/abductor + category = list("Janitorial") + +/datum/design/abductor_flyswatter + name = "Alien Flyswatter" + desc = "An advanced flyswatter obtained through Abductor technology." + id = "alien_flyswatter" + req_tech = list("combat" = 5, "abductor" = 1) + build_type = PROTOLATHE + materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500, MAT_DIAMOND = 1000) + build_path = /obj/item/melee/flyswatter/abductor + category = list("Janitorial") diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 1de90e4c64d8..e99af4558810 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -1080,6 +1080,16 @@ construction_time = 12 SECONDS category = list("Cyborg Upgrade Modules") +/datum/design/borg_upgrade_abductor_jani + name = "Cyborg Upgrade (Abductor Janitorial Equipment)" + id = "borg_upgade_abductor_jani" + build_type = MECHFAB + build_path = /obj/item/borg/upgrade/abductor_jani + req_tech = list("biotech" = 7, "materials" = 7, "abductor" = 3) + materials = list(MAT_METAL = 10000, MAT_SILVER = 7500, MAT_PLASMA = 2500, MAT_TITANIUM = 7500, MAT_DIAMOND = 5000) //Base abductor jani tools *5 + construction_time = 12 SECONDS + category = list("Cyborg Upgrade Modules") + /datum/design/borg_upgrade_lavaproof name = "Cyborg Upgrade (Lavaproof Chassis)" id = "borg_upgrade_lavaproof" diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index ff3c7b741b4f..b929547aa27e 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -416,7 +416,7 @@ /datum/design/cyberimp_toolset_abductor name = "Abductor Toolset Implant" - desc = "An alien toolset, designed to be installed on subject's arm." + desc = "An alien toolset, designed to be installed on the subject's arm." id = "ci-hacking" req_tech = list("materials" = 6, "engineering" = 6, "plasmatech" = 6, "abductor" = 4) build_type = PROTOLATHE | MECHFAB @@ -425,6 +425,17 @@ build_path = /obj/item/organ/internal/cyberimp/arm/toolset_abductor category = list("Medical") +/datum/design/cyberimp_janitorial_abductor + name = "Abductor Janitorial Toolset Implant" + desc = "An alien janitorial toolset, designed to be installed on the subject's arm." + id = "ci-jani-abductor" + req_tech = list("materials" = 6, "engineering" = 6, "biotech" = 6, "abductor" = 3) + build_type = PROTOLATHE | MECHFAB + materials = list(MAT_METAL = 20000, MAT_SILVER = 10000, MAT_PLASMA = 9000, MAT_TITANIUM = 8000, MAT_DIAMOND = 8000) + construction_time = 20 SECONDS + build_path = /obj/item/organ/internal/cyberimp/arm/janitorial_abductor + category = list("Medical") + /datum/design/cyberimp_jani_hud name = "Janitor HUD Implant" desc = "These cybernetic eye implants will display a filth HUD over everything you see. Wiggle eyes to control." diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 2c7806b9dcea..f28c4636559f 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -250,6 +250,17 @@ /obj/item/organ/internal/cyberimp/arm/toolset_abductor/l parent_organ = "l_arm" +/obj/item/organ/internal/cyberimp/arm/janitorial_abductor + name = "alien janitorial toolset implant" + desc = "A set of alien janitorial tools, designed to be installed on subject's arm." + origin_tech = "materials=5;engineering=5;biotech=5;powerstorage=4;abductor=3" + contents = newlist(/obj/item/mop/advanced/abductor, /obj/item/soap/syndie/abductor, /obj/item/lightreplacer/bluespace/abductor, /obj/item/holosign_creator/janitor, /obj/item/melee/flyswatter/abductor, /obj/item/reagent_containers/spray/cleaner/safety/abductor) + action_icon = list(/datum/action/item_action/organ_action/toggle = 'icons/obj/abductor.dmi') + action_icon_state = list(/datum/action/item_action/organ_action/toggle = "janibelt_abductor") + +/obj/item/organ/internal/cyberimp/arm/janitorial_abductor/l + parent_organ = "l_arm" + /obj/item/organ/internal/cyberimp/arm/esword name = "arm-mounted energy blade" desc = "An illegal, and highly dangerous cybernetic implant that can project a deadly blade of concentrated enregy." diff --git a/icons/mob/inhands/equipment/custodial_lefthand.dmi b/icons/mob/inhands/equipment/custodial_lefthand.dmi index 884b23465cb9e1830fe4dfc527b121080fc20d97..c4f2e189a210f199f11e0c5243c924f713641e4e 100644 GIT binary patch literal 5539 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ΜccRHD4C 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 literal 2417 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 diff --git a/icons/mob/inhands/weapons_lefthand.dmi b/icons/mob/inhands/weapons_lefthand.dmi index a5c22c4cef8067428a861a1b64cc7392ed682dbc..6815485c27bc7cb7383936a9b4f32c3aef117b34 100644 GIT binary patch delta 33363 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 BJ+J@( delta 32423 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 bCHr%&06k;C@DV(X9`;ZPcxD9hW^exwA35vq diff --git a/icons/mob/inhands/weapons_righthand.dmi b/icons/mob/inhands/weapons_righthand.dmi index afcbe22ddcc38b7b6d3521336d88fa88535ecfdc..612365aed42c2e0d595bb86e3f314111f788d002 100644 GIT binary patch delta 30735 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 diff --git a/icons/obj/abductor.dmi b/icons/obj/abductor.dmi index ba5ee59349d1169add9ef0759f33bb0a64e5402b..48de9bc1858106b464ad6b6fcec3c6abe43cef3f 100644 GIT binary patch literal 59981 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 G=>G#VVxedN literal 56577 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 GJo+Dj$x9*t From 1d97474ee559b484710b7ff7cef1ab9911c7de29 Mon Sep 17 00:00:00 2001 From: Migratingcocofruit <69551563+Migratingcocofruit@users.noreply.github.com> Date: Fri, 17 May 2024 14:32:48 +0300 Subject: [PATCH 04/31] Adjusts grinder behaviour and towercap log contents (#25249) * Adjusts grinder behaviour and towercap log contents wood logs now contain 20 carbon, and the plank carbon amount is reduced accordingly, steel logs now contain 50 iron, non-edible plants are ground the same way as edible plants. * Rearranged checking for grinding behavior to if else from nested if and removed the old non-edible plant grinding code. --- code/modules/hydroponics/grown/towercap.dm | 2 + .../chemistry/machinery/reagentgrinder.dm | 92 ++++++++++--------- 2 files changed, 53 insertions(+), 41 deletions(-) diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index 6364f1629b01..98f22590080c 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -16,6 +16,7 @@ icon_dead = "towercap-dead" genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism) mutatelist = list(/obj/item/seeds/tower/steel) + reagents_add = list("carbon" = 0.2) /obj/item/seeds/tower/steel name = "pack of steel-cap mycelium" @@ -25,6 +26,7 @@ plantname = "Steel Caps" product = /obj/item/grown/log/steel mutatelist = list() + reagents_add = list("iron" = 0.5) rarity = 20 diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index 09ed6ed24ef4..645ed9f05243 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -21,7 +21,7 @@ /obj/item/stack/sheet/metal = list("iron" = 20), /obj/item/stack/rods = list("iron" = 10), /obj/item/stack/sheet/plasteel = list("iron" = 20, "plasma_dust" = 20), - /obj/item/stack/sheet/wood = list("carbon" = 20), + /obj/item/stack/sheet/wood = list("carbon" = 4), /obj/item/stack/sheet/glass = list("silicon" = 20), /obj/item/stack/sheet/rglass = list("silicon" = 20, "iron" = 20), /obj/item/stack/sheet/mineral/uranium = list("uranium" = 20), @@ -30,10 +30,6 @@ /obj/item/stack/sheet/mineral/silver = list("silver" = 20), /obj/item/stack/sheet/mineral/gold = list("gold" = 20), - /obj/item/grown/nettle/basic = list("wasabi" = 0), - /obj/item/grown/nettle/death = list("facid" = 0, "sacid" = 0), - /obj/item/grown/novaflower = list("capsaicin" = 0, "condensedcapsaicin" = 0), - // Blender Stuff /obj/item/food/snacks/grown/tomato = list("ketchup" = 0), /obj/item/food/snacks/grown/wheat = list("flour" = -5), @@ -56,7 +52,8 @@ /obj/item/food = list(), /obj/item/reagent_containers/pill = list(), /obj/item/reagent_containers/patch = list(), - /obj/item/clothing/mask/cigarette = list() + /obj/item/clothing/mask/cigarette = list(), + /obj/item/grown = list() ) var/list/juice_items = list ( @@ -439,21 +436,54 @@ var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume var/amount = special_blend[r_id] - if(amount <= 0) - if(amount == 0) - if(O.reagents.has_reagent("nutriment")) - beaker.reagents.add_reagent(r_id, min(O.reagents.get_reagent_amount("nutriment") * efficiency, space)) - O.reagents.remove_reagent("nutriment", min(O.reagents.get_reagent_amount("nutriment"), space)) - if(O.reagents.has_reagent("plantmatter")) - beaker.reagents.add_reagent(r_id, min(O.reagents.get_reagent_amount("plantmatter") * efficiency, space)) - O.reagents.remove_reagent("plantmatter", min(O.reagents.get_reagent_amount("plantmatter"), space)) - else - if(O.reagents.has_reagent("nutriment")) - beaker.reagents.add_reagent(r_id, min(round(O.reagents.get_reagent_amount("nutriment") * abs(amount) * efficiency), space)) - O.reagents.remove_reagent("nutriment", min(O.reagents.get_reagent_amount("nutriment"), space)) - if(O.reagents.has_reagent("plantmatter")) - beaker.reagents.add_reagent(r_id, min(round(O.reagents.get_reagent_amount("plantmatter") * abs(amount) * efficiency), space)) - O.reagents.remove_reagent("plantmatter", min(O.reagents.get_reagent_amount("plantmatter"), space)) + + if(amount == 0) + if(O.reagents.has_reagent("nutriment")) + beaker.reagents.add_reagent(r_id, min(O.reagents.get_reagent_amount("nutriment") * efficiency, space)) + O.reagents.remove_reagent("nutriment", min(O.reagents.get_reagent_amount("nutriment"), space)) + if(O.reagents.has_reagent("plantmatter")) + beaker.reagents.add_reagent(r_id, min(O.reagents.get_reagent_amount("plantmatter") * efficiency, space)) + O.reagents.remove_reagent("plantmatter", min(O.reagents.get_reagent_amount("plantmatter"), space)) + else if(amount < 0) + if(O.reagents.has_reagent("nutriment")) + beaker.reagents.add_reagent(r_id, min(round(O.reagents.get_reagent_amount("nutriment") * abs(amount) * efficiency), space)) + O.reagents.remove_reagent("nutriment", min(O.reagents.get_reagent_amount("nutriment"), space)) + if(O.reagents.has_reagent("plantmatter")) + beaker.reagents.add_reagent(r_id, min(round(O.reagents.get_reagent_amount("plantmatter") * abs(amount) * efficiency), space)) + O.reagents.remove_reagent("plantmatter", min(O.reagents.get_reagent_amount("plantmatter"), space)) + else + O.reagents.trans_id_to(beaker, r_id, min(amount, space)) + + if(beaker.reagents.holder_full()) + break + + O.reagents.trans_to(beaker, O.reagents.total_volume) + + if(!O.reagents.total_volume) + remove_object(O) + if(beaker.reagents.holder_full()) + return + // Inedible Plants + for(var/obj/item/grown/O in holdingitems) + var/list/special_blend = get_special_blend(O) + for(var/r_id in special_blend) + var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume + var/amount = special_blend[r_id] + + if(amount == 0) + if(O.reagents.has_reagent("nutriment")) + beaker.reagents.add_reagent(r_id, min(O.reagents.get_reagent_amount("nutriment") * efficiency, space)) + O.reagents.remove_reagent("nutriment", min(O.reagents.get_reagent_amount("nutriment"), space)) + if(O.reagents.has_reagent("plantmatter")) + beaker.reagents.add_reagent(r_id, min(O.reagents.get_reagent_amount("plantmatter") * efficiency, space)) + O.reagents.remove_reagent("plantmatter", min(O.reagents.get_reagent_amount("plantmatter"), space)) + else if(amount < 0) + if(O.reagents.has_reagent("nutriment")) + beaker.reagents.add_reagent(r_id, min(round(O.reagents.get_reagent_amount("nutriment") * abs(amount) * efficiency), space)) + O.reagents.remove_reagent("nutriment", min(O.reagents.get_reagent_amount("nutriment"), space)) + if(O.reagents.has_reagent("plantmatter")) + beaker.reagents.add_reagent(r_id, min(round(O.reagents.get_reagent_amount("plantmatter") * abs(amount) * efficiency), space)) + O.reagents.remove_reagent("plantmatter", min(O.reagents.get_reagent_amount("plantmatter"), space)) else O.reagents.trans_id_to(beaker, r_id, min(amount, space)) @@ -488,26 +518,6 @@ if(beaker.reagents.holder_full()) return - // Plants - for(var/obj/item/grown/O in holdingitems) - var/list/special_blend = get_special_blend(O) - for(var/r_id in special_blend) - var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume - var/amount = special_blend[r_id] - - if(amount == 0) - if(O.reagents.has_reagent(r_id)) - beaker.reagents.add_reagent(r_id, min(O.reagents.get_reagent_amount(r_id) * efficiency, space)) - else - beaker.reagents.add_reagent(r_id, min(amount * efficiency, space)) - - if(beaker.reagents.holder_full()) - break - - remove_object(O) - if(beaker.reagents.holder_full()) - return - // Slime Extracts for(var/obj/item/slime_extract/O in holdingitems) var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume From 131e631cc4133d4004d373d13b441eec36f4dc19 Mon Sep 17 00:00:00 2001 From: Luc <89928798+lewcc@users.noreply.github.com> Date: Fri, 17 May 2024 07:37:16 -0400 Subject: [PATCH 05/31] Adds a rod smite (#25424) * better * no more ripping --- code/modules/admin/topic.dm | 9 ++++- code/modules/events/immovable_rod.dm | 49 +++++++++++++++++++++------- 2 files changed, 46 insertions(+), 12 deletions(-) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index b945dca68e41..cdbce0a63d8c 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -2062,6 +2062,7 @@ ptypes += "Shamebrero" ptypes += "Nugget" ptypes += "Bread" + ptypes += "Rod" var/punishment = input(owner, "How would you like to smite [M]?", "Its good to be baaaad...", "") as null|anything in ptypes if(!(punishment in ptypes)) return @@ -2185,7 +2186,6 @@ to_chat(H, "You feel as if your limbs are being ripped from your body!") addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon/human, make_nugget)), 6 SECONDS) logmsg = "nugget" - if("Bread") var/mob/living/simple_animal/shade/sword/bread/breadshade = new(H.loc) var/bready = pick(/obj/item/food/snacks/customizable/cook/bread, /obj/item/food/snacks/sliceable/meatbread, /obj/item/food/snacks/sliceable/xenomeatbread, /obj/item/food/snacks/sliceable/spidermeatbread, /obj/item/food/snacks/sliceable/bananabread, /obj/item/food/snacks/sliceable/tofubread, /obj/item/food/snacks/sliceable/bread, /obj/item/food/snacks/sliceable/creamcheesebread, /obj/item/food/snacks/sliceable/banarnarbread, /obj/item/food/snacks/flatbread, /obj/item/food/snacks/baguette) @@ -2196,6 +2196,13 @@ qdel(H) logmsg = "baked" to_chat(breadshade, "Get bready for combat, you've been baked into a piece of bread! Before you break down and rye thinking that your life is over, people are after you waiting for a snack! If you'd rather not be toast, lunge away from any hungry crew else you bite the crust. At the yeast you may survive a little longer...") + if("Rod") + + var/starting_turf_x = M.x + rand(10, 15) * pick(1, -1) + var/starting_turf_y = M.y + rand(10, 15) * pick(1, -1) + var/turf/start = locate(starting_turf_x, starting_turf_y, M.z) + + new /obj/effect/immovablerod/smite(start, M) if(logmsg) log_admin("[key_name(owner)] smited [key_name(M)] with: [logmsg]") message_admins("[key_name_admin(owner)] smited [key_name_admin(M)] with: [logmsg]") diff --git a/code/modules/events/immovable_rod.dm b/code/modules/events/immovable_rod.dm index 62b4840f32b8..490290d28db1 100644 --- a/code/modules/events/immovable_rod.dm +++ b/code/modules/events/immovable_rod.dm @@ -20,7 +20,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 new /obj/effect/immovablerod/event(startT, endT) /obj/effect/immovablerod - name = "Immovable Rod" + name = "\improper Immovable Rod" desc = "What the fuck is that?" icon = 'icons/obj/objects.dmi' icon_state = "immrod" @@ -28,23 +28,28 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 density = TRUE anchored = TRUE var/z_original = 0 - var/destination var/notify = TRUE var/move_delay = 1 + var/atom/start + var/atom/end -/obj/effect/immovablerod/New(atom/start, atom/end, delay) +/obj/effect/immovablerod/New(atom/_start, atom/_end, delay) . = ..() + start = _start + end = _end loc = start z_original = z - destination = end move_delay = delay if(notify) notify_ghosts("\A [src] is inbound!", enter_link="(Click to follow)", source = src, action = NOTIFY_FOLLOW) GLOB.poi_list |= src + head_towards_dest() + +/obj/effect/immovablerod/proc/head_towards_dest() if(end?.z == z_original) - walk_towards(src, destination, move_delay) + walk_towards(src, end, move_delay) /obj/effect/immovablerod/Topic(href, href_list) if(href_list["follow"]) @@ -76,13 +81,13 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 if(isturf(clong) || isobj(clong)) if(clong.density) - clong.ex_act(2) + clong.ex_act(EXPLODE_HEAVY) else if(ismob(clong)) if(ishuman(clong)) var/mob/living/carbon/human/H = clong - H.visible_message("[H.name] is penetrated by an immovable rod!" , - "The rod penetrates you!" , + H.visible_message("[H.name] is penetrated by an immovable rod!", + "The rod penetrates you!", "You hear a CLANG!") H.adjustBruteLoss(160) if(clong.density || prob(10)) @@ -100,12 +105,34 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 var/turf/simulated/floor/T = get_turf(oldloc) if(istype(T)) T.ex_act(EXPLODE_HEAVY) - if(loc == destination) + if(loc == end) qdel(src) /obj/effect/immovablerod/deadchat_plays(mode = DEADCHAT_DEMOCRACY_MODE, cooldown = 6 SECONDS) return AddComponent(/datum/component/deadchat_control/immovable_rod, mode, list(), cooldown) +/obj/effect/immovablerod/smite + /// The target that we're gonna aim for between start and end + var/obj/effect/portal/exit + +/obj/effect/immovablerod/smite/New(atom/_start, atom/_end) + new /obj/effect/portal(start, lifespan = 2 SECONDS) + return ..() + +/obj/effect/immovablerod/smite/Move() + var/atom/oldloc = loc + . = ..() + if(get_turf(src) == get_turf(end)) + // our exit condition: get outta there kowalski + var/target_turf = get_ranged_target_turf(src, dir, rand(1, 10)) + start = loc + walk(src, 0) + exit = new /obj/effect/portal(target_turf, lifespan = 2 SECONDS) + walk_towards(src, exit, move_delay) + else if(locate(exit) in get_turf(src)) + QDEL_NULL(exit) + qdel(src) + /** * Rod will walk towards edge turf in the specified direction. * @@ -113,5 +140,5 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 * * direction - The direction to walk the rod towards: NORTH, SOUTH, EAST, WEST. */ /obj/effect/immovablerod/proc/walk_in_direction(direction) - destination = get_edge_target_turf(src, direction) - walk_towards(src, destination) + end = get_edge_target_turf(src, direction) + walk_towards(src, end, move_delay) From 74ad8c1463d2dcc61d37299c46dd358fbfcaef64 Mon Sep 17 00:00:00 2001 From: Daylight <18598676+Daylight2@users.noreply.github.com> Date: Fri, 17 May 2024 14:44:17 +0300 Subject: [PATCH 06/31] Gives singularity engines a slight nudge towards the station (#25420) * Makes the singolo target * Spelling * Update code/modules/power/engines/singularity/singularity.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Daylight <18598676+Daylight2@users.noreply.github.com> * Fancy comments --------- Signed-off-by: Daylight <18598676+Daylight2@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> --- .../power/engines/singularity/singularity.dm | 23 +++++++++++++++---- .../power/engines/tesla/energy_ball.dm | 2 -- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/code/modules/power/engines/singularity/singularity.dm b/code/modules/power/engines/singularity/singularity.dm index b00a030a16ea..de8de552f88e 100644 --- a/code/modules/power/engines/singularity/singularity.dm +++ b/code/modules/power/engines/singularity/singularity.dm @@ -21,15 +21,20 @@ move_resist = INFINITY //no, you don't get to push the singulo. Not even you OP wizard gateway statues var/consume_range = 0 //How many tiles out do we eat var/event_chance = 15 //Prob for event each tick - var/target = null //its target. moves towards the target if it has one var/last_failed_movement = 0//Will not move in the same dir if it couldnt before, will help with the getting stuck on fields thing var/last_warning var/consumedSupermatter = FALSE //If the singularity has eaten a supermatter shard and can go to stage six var/warps_projectiles = TRUE var/obj/effect/warp_effect/supermatter/warp resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF + /// The target of the singularity. It will wander slowly towards this, and pick another target once it reaches it. + var/target = null + /// If there is a syndicate beacon, the singularity will move quickly towards it. + var/beacon_target = null /// Whether or not we've pinged ghosts var/isnt_shutting_down = FALSE + /// Init list that has all the areas that we can possibly move to, to reduce processing impact + var/list/all_possible_areas = list() /obj/singularity/Initialize(mapload, starting_energy = 50) . = ..() @@ -45,8 +50,9 @@ GLOB.singularities += src for(var/obj/machinery/power/singularity_beacon/singubeacon in GLOB.machines) if(singubeacon.active) - target = singubeacon + beacon_target = singubeacon break + all_possible_areas = findUnrestrictedEventArea() /obj/singularity/Destroy() STOP_PROCESSING(SSobj, src) @@ -323,6 +329,10 @@ return +/obj/singularity/proc/assign_target() + var/area/where_to_move = pick(all_possible_areas) // Grabs a random area that isn't restricted + var/turf/target_area_turfs = get_area_turfs(where_to_move) // Grabs the turfs from said area + target = pick(target_area_turfs) // Grabs a single turf from the entire list /obj/singularity/proc/move(force_move = 0) if(!move_self) @@ -330,11 +340,14 @@ var/movement_dir = pick(GLOB.alldirs - last_failed_movement) + if(get_turf(src) == target || !target) + assign_target() if(force_move) movement_dir = force_move - - if(target && prob(60)) - movement_dir = get_dir(src,target) //moves to a singulo beacon, if there is one + if(target && prob(20)) + movement_dir = get_dir(src, target) //moves to a random spot on the map + if(beacon_target && prob(60)) + movement_dir = get_dir(src, target) //moves to a singulo beacon, if there is one step(src, movement_dir) diff --git a/code/modules/power/engines/tesla/energy_ball.dm b/code/modules/power/engines/tesla/energy_ball.dm index 79274c669159..7e526501faf6 100644 --- a/code/modules/power/engines/tesla/energy_ball.dm +++ b/code/modules/power/engines/tesla/energy_ball.dm @@ -39,8 +39,6 @@ var/movement_dir /// Variable that defines whether it has a field generator close enough var/has_close_field = FALSE - /// Init list that has all the areas that we can possibly move to, to reduce processing impact - var/list/all_possible_areas = list() /// How many tiles do we move per movement step? var/steps_per_move = 8 From 94b7057989f5d422b47fb9786d03df8b97c7c4bd Mon Sep 17 00:00:00 2001 From: warriorstar-orion Date: Fri, 17 May 2024 07:58:36 -0400 Subject: [PATCH 07/31] tube stations can be skipped by holding direction key (#25350) * tube stations can be skipped by holding direction key * Update code/game/objects/structures/transit_tubes/station.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: warriorstar-orion * invert/guard clause * add examine text for hints --------- Signed-off-by: warriorstar-orion Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> --- _maps/map_files/stations/boxstation.dmm | 17 ++++--------- _maps/map_files/stations/deltastation.dmm | 7 +----- _maps/map_files/stations/metastation.dmm | 7 +++--- .../structures/transit_tubes/station.dm | 25 ++++++++++++++++++- .../structures/transit_tubes/transit_tube.dm | 17 +------------ 5 files changed, 34 insertions(+), 39 deletions(-) diff --git a/_maps/map_files/stations/boxstation.dmm b/_maps/map_files/stations/boxstation.dmm index 473def6e1647..01ace0aec760 100644 --- a/_maps/map_files/stations/boxstation.dmm +++ b/_maps/map_files/stations/boxstation.dmm @@ -52327,12 +52327,6 @@ icon_state = "vault" }, /area/station/engineering/gravitygenerator) -"dCJ" = ( -/obj/structure/transit_tube/cap{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/station/turret_protected/aisat/interior) "dCM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -57689,10 +57683,12 @@ layer = 4; pixel_y = 32 }, -/obj/structure/transit_tube/station, /obj/structure/transit_tube_pod{ dir = 4 }, +/obj/structure/transit_tube/station/reverse/flipped{ + dir = 1 + }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -64056,9 +64052,6 @@ name = "north bump"; pixel_y = 24 }, -/obj/structure/transit_tube/cap{ - dir = 4 - }, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -72430,11 +72423,11 @@ /turf/simulated/floor/plasteel, /area/station/supply/storage) "nrh" = ( -/obj/structure/transit_tube/station, /obj/structure/transit_tube_pod{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/visible/yellow, +/obj/structure/transit_tube/station/reverse, /turf/simulated/floor/plating, /area/station/turret_protected/aisat/interior) "nrD" = ( @@ -131948,7 +131941,7 @@ aab aaa cQp wza -dCJ +dnW dnv dnW diz diff --git a/_maps/map_files/stations/deltastation.dmm b/_maps/map_files/stations/deltastation.dmm index 2c1a42832b33..0d416241c107 100644 --- a/_maps/map_files/stations/deltastation.dmm +++ b/_maps/map_files/stations/deltastation.dmm @@ -87549,9 +87549,6 @@ /area/station/maintenance/starboard) "rjL" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/transit_tube/cap{ - dir = 8 - }, /obj/item/radio/intercom{ name = "south bump"; pixel_y = -28 @@ -97341,9 +97338,7 @@ /obj/machinery/ai_status_display{ pixel_y = -32 }, -/obj/structure/transit_tube/station{ - dir = 1 - }, +/obj/structure/transit_tube/station/reverse/flipped, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "vault" diff --git a/_maps/map_files/stations/metastation.dmm b/_maps/map_files/stations/metastation.dmm index 44f5f507aeab..7380ac464208 100644 --- a/_maps/map_files/stations/metastation.dmm +++ b/_maps/map_files/stations/metastation.dmm @@ -19446,10 +19446,12 @@ /turf/simulated/floor/wood, /area/station/command/office/captain/bedroom) "bsI" = ( -/obj/structure/transit_tube/station, /obj/structure/sign/securearea{ pixel_y = 32 }, +/obj/structure/transit_tube/station/reverse/flipped{ + dir = 1 + }, /turf/simulated/floor/plasteel{ dir = 4; icon_state = "darkbluecorners" @@ -53883,9 +53885,6 @@ }, /area/station/medical/virology) "hkm" = ( -/obj/structure/transit_tube/cap{ - dir = 4 - }, /obj/machinery/status_display{ layer = 4; pixel_y = 32 diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm index 5cff309495b8..ddfc3b8fb645 100644 --- a/code/game/objects/structures/transit_tubes/station.dm +++ b/code/game/objects/structures/transit_tubes/station.dm @@ -33,6 +33,11 @@ STOP_PROCESSING(SSobj, src) return ..() +/obj/structure/transit_tube/station/examine(mob/user) + . = ..() + . += "While in transit, hold the directional key matching the pod's direction to skip a station." + . += "While at a station, press a directional key to quickly leave the station in that direction." + /obj/structure/transit_tube/station/init_tube_dirs() // Tube station directions are simply 90 to either side of // the exit. @@ -47,7 +52,19 @@ tube_dirs = list(NORTH, SOUTH) boarding_dir = reverse_direction(dir) -/obj/structure/transit_tube/station/should_stop_pod(pod, from_dir) +/obj/structure/transit_tube/station/should_stop_pod(obj/structure/transit_tube_pod/pod, from_dir) + for(var/atom/atom in pod.contents) + var/client/client = CLIENT_FROM_VAR(atom) + if(!client) + return + + for(var/held_key in client.input_data.keys_held) + if(held_key in client.movement_kb_dirs) + var/held_dir = client.movement_kb_dirs[held_key] + // if they're holding a different direction down, + // stop to let them get out/change direction + return held_dir != from_dir + return TRUE /obj/structure/transit_tube/station/Bumped(mob/living/L) @@ -187,6 +204,9 @@ reverse_launch = TRUE uninstalled_type = /obj/structure/transit_tube_construction/terminus +/obj/structure/transit_tube/station/reverse/should_stop_pod(obj/structure/transit_tube_pod/pod, from_dir) + return TRUE + /obj/structure/transit_tube/station/reverse/init_tube_dirs() tube_dirs = list(turn(dir, -90)) boarding_dir = reverse_direction(dir) @@ -260,6 +280,9 @@ base_icon_state = "terminusdispenser0" uninstalled_type = /obj/structure/transit_tube_construction/terminus/dispenser +/obj/structure/transit_tube/station/dispenser/reverse/should_stop_pod(obj/structure/transit_tube_pod/pod, from_dir) + return TRUE + /obj/structure/transit_tube/station/dispenser/reverse/init_tube_dirs() tube_dirs = list(turn(dir, -90)) boarding_dir = reverse_direction(dir) diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm index aad4e1038186..ad0fbabd901e 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube.dm @@ -58,7 +58,7 @@ return // Called to check if a pod should stop upon entering this tube. -/obj/structure/transit_tube/proc/should_stop_pod(pod, from_dir) +/obj/structure/transit_tube/proc/should_stop_pod(obj/structure/transit_tube_pod/pod, from_dir) return FALSE // Called when a pod stops in this tube section. @@ -274,18 +274,3 @@ tube_dirs = list(EAST, NORTHWEST, SOUTHWEST) if(WEST) tube_dirs = list(WEST, SOUTHEAST, NORTHEAST) - - -// cosmetic "cap" for tubes. Note that tubes can't enter this. -/obj/structure/transit_tube/cap - icon_state = "cap" - -/obj/structure/transit_tube/cap/init_tube_dirs() - tube_dirs = list(turn(dir, 180)) // back the way we came - -/obj/structure/transit_tube/cap/has_entrance(from_dir) - return FALSE - -/obj/structure/transit_tube/cap/create_tube_overlay() - // cap sprites already have overlays - return From 95b2fcf09525cf25a4abdd82e9248064e39d418e Mon Sep 17 00:00:00 2001 From: HMBGERDO <61080616+HMBGERDO@users.noreply.github.com> Date: Fri, 17 May 2024 13:59:40 +0200 Subject: [PATCH 08/31] challenge check fix (#25372) --- code/game/gamemodes/nuclear/nuclear_challenge.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/nuclear/nuclear_challenge.dm b/code/game/gamemodes/nuclear/nuclear_challenge.dm index 01694f122ce9..9ce27a93ab31 100644 --- a/code/game/gamemodes/nuclear/nuclear_challenge.dm +++ b/code/game/gamemodes/nuclear/nuclear_challenge.dm @@ -84,7 +84,7 @@ if(declaring_war) to_chat(user, "You are already in the process of declaring war! Make your mind up.") return FALSE - if(length(GLOB.player_list) < CHALLENGE_MIN_PLAYERS) + if(length(get_living_players(exclude_nonhuman = FALSE, exclude_offstation = TRUE)) < CHALLENGE_MIN_PLAYERS) to_chat(user, "The enemy crew is too small to be worth declaring war on.") return FALSE if(!is_admin_level(user.z)) From 85a9b97e80f48552170605ddab459fb871a4fa7f Mon Sep 17 00:00:00 2001 From: Contrabang <91113370+Contrabang@users.noreply.github.com> Date: Fri, 17 May 2024 08:00:06 -0400 Subject: [PATCH 09/31] Refactors outfits to work with mind initialization (#25395) * wow * fix runtime and ci * i spell good * Fix * Update code/datums/outfits/outfit_admin.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Matt <116982774+Burzah@users.noreply.github.com> --------- Signed-off-by: Matt <116982774+Burzah@users.noreply.github.com> Co-authored-by: Matt <116982774+Burzah@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> --- code/__DEFINES/dcs/signals.dm | 2 + code/datums/mind.dm | 2 + code/datums/outfits/outfit.dm | 15 +++++- code/datums/outfits/outfit_admin.dm | 48 +++++++++---------- code/game/dna/mutations/monkey_mutation.dm | 14 +++--- code/game/jobs/job/central.dm | 11 ++--- code/game/jobs/job/job.dm | 14 ++++++ code/game/jobs/job/support.dm | 23 +++++---- code/game/jobs/job/support_chaplain.dm | 7 +-- code/game/jobs/job/syndicate_jobs.dm | 5 +- .../mob/living/carbon/human/human_mob.dm | 4 -- code/modules/ruins/syndicate_space_base.dm | 1 + 12 files changed, 88 insertions(+), 58 deletions(-) diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index ea134741bec4..3dd763ba3dab 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -342,6 +342,8 @@ #define COMSIG_MIND_TRANSER_TO "mind_transfer_to" ///called on the mob instead of the mind #define COMSIG_BODY_TRANSFER_TO "body_transfer_to" +///called when the mind is initialized (called every time the mob logins) +#define COMSIG_MIND_INITIALIZE "mind_initialize" // /mob signals diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 5bde82802390..26d4ba5fa50c 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -1786,6 +1786,7 @@ //Initialisation procs /mob/proc/mind_initialize() + SHOULD_CALL_PARENT(TRUE) if(mind) mind.key = key else @@ -1797,6 +1798,7 @@ if(!mind.name) mind.name = real_name mind.current = src + SEND_SIGNAL(src, COMSIG_MIND_INITIALIZE) //HUMAN /mob/living/carbon/human/mind_initialize() diff --git a/code/datums/outfits/outfit.dm b/code/datums/outfits/outfit.dm index 230aef4f95f3..6b481b09daaf 100644 --- a/code/datums/outfits/outfit.dm +++ b/code/datums/outfits/outfit.dm @@ -50,7 +50,20 @@ /datum/outfit/proc/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) //to be overriden for toggling internals, id binding, access etc - return + SHOULD_CALL_PARENT(TRUE) + if(visualsOnly) + return + + if(H.mind) + on_mind_initialize(H) + return + RegisterSignal(H, COMSIG_MIND_INITIALIZE, PROC_REF(on_mind_initialize)) + +// Guaranteed access to mind, will never be called if visualsOnly = TRUE +/datum/outfit/proc/on_mind_initialize(mob/living/carbon/human/H) + SIGNAL_HANDLER // COMSIG_MIND_INITIALIZE + SHOULD_CALL_PARENT(TRUE) + UnregisterSignal(H, COMSIG_MIND_INITIALIZE) // prevent this call from being called multiple times on a human /datum/outfit/proc/equip(mob/living/carbon/human/H, visualsOnly = FALSE) pre_equip(H, visualsOnly) diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm index 0c8bb8c0d82d..217b9658c0ad 100644 --- a/code/datums/outfits/outfit_admin.dm +++ b/code/datums/outfits/outfit_admin.dm @@ -3,21 +3,15 @@ /datum/outfit/admin/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE) . = ..() - if(!visualsOnly && H.mind) - H.mind.assigned_role = name - H.job = name - -/datum/outfit/admin/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - . = ..() - if(visualsOnly) return - if(H.mind) - H.mind.offstation_role = TRUE - else - H.RegisterSignal(H, COMSIG_HUMAN_LOGIN, TYPE_PROC_REF(/mob/living/carbon/human, apply_offstation_roles)) + H.job = name +/datum/outfit/admin/on_mind_initialize(mob/living/carbon/human/H) + . = ..() + H.mind.assigned_role = name + H.mind.offstation_role = TRUE /proc/apply_to_card(obj/item/card/id/I, mob/living/carbon/human/H, list/access = list(), rank, special_icon) if(!istype(I) || !istype(H)) @@ -1250,17 +1244,17 @@ if(istype(I)) apply_to_card(I, H, get_all_accesses(), "Ancient One", "data") - if(H.mind) - if(!H.mind.has_antag_datum(/datum/antagonist/vampire)) - H.mind.make_vampire(TRUE) - var/datum/antagonist/vampire/V = H.mind.has_antag_datum(/datum/antagonist/vampire) - V.bloodusable = 9999 - V.bloodtotal = 9999 - V.add_subclass(SUBCLASS_ANCIENT, FALSE) - H.dna.SetSEState(GLOB.jumpblock, TRUE) - singlemutcheck(H, GLOB.jumpblock, MUTCHK_FORCED) - H.update_mutations() - H.gene_stability = 100 +/datum/outfit/admin/ancient_vampire/on_mind_initialize(mob/living/carbon/human/H) + . = ..() + H.mind.make_vampire() + var/datum/antagonist/vampire/V = H.mind.has_antag_datum(/datum/antagonist/vampire) + V.bloodusable = 9999 + V.bloodtotal = 9999 + V.add_subclass(SUBCLASS_ANCIENT, FALSE) + H.dna.SetSEState(GLOB.jumpblock, TRUE) + singlemutcheck(H, GLOB.jumpblock, MUTCHK_FORCED) + H.update_mutations() + H.gene_stability = 100 /datum/outfit/admin/wizard name = "Blue Wizard" @@ -1490,10 +1484,6 @@ H.real_name = "Unknown" //Enforcers sacrifice their name to Oblivion for their power - for(var/spell_path in spell_paths) - var/S = new spell_path - H.mind.AddSpell(S) - var/obj/item/clothing/suit/hooded/oblivion/robes = H.wear_suit if(istype(robes)) robes.ToggleHood() @@ -1502,6 +1492,12 @@ if(istype(I)) apply_to_card(I, H, get_all_accesses(), "Oblivion Enforcer") +/datum/outfit/admin/enforcer/on_mind_initialize(mob/living/carbon/human/H) + . = ..() + for(var/spell_path in spell_paths) + var/S = new spell_path + H.mind.AddSpell(S) + /datum/outfit/admin/viper name = "Solar Federation Viper Infiltrator" diff --git a/code/game/dna/mutations/monkey_mutation.dm b/code/game/dna/mutations/monkey_mutation.dm index 18334b1bd917..d1c4d7f960b9 100644 --- a/code/game/dna/mutations/monkey_mutation.dm +++ b/code/game/dna/mutations/monkey_mutation.dm @@ -29,18 +29,17 @@ H.set_species(has_primitive_form, keep_missing_bodyparts = TRUE) new /obj/effect/temp_visual/monkeyify(H.loc) - sleep(22) + addtimer(CALLBACK(src, PROC_REF(finish_monkeyize), H, !has_primitive_form), 2.2 SECONDS) +/datum/mutation/monkey/proc/finish_monkeyize(mob/living/carbon/human/H, should_gib) H.invisibility = initial(H.invisibility) - if(!has_primitive_form) //If the pre-change mob in question has no primitive set, this is going to be messy. + if(should_gib) //If the pre-change mob in question has no primitive set, this is going to be messy. H.gib() return REMOVE_TRAITS_IN(H, TRANSFORMING_TRAIT) to_chat(H, "You are now a [H.dna.species.name].") - return H - /datum/mutation/monkey/deactivate(mob/living/carbon/human/H) ..() if(!istype(H)) @@ -63,11 +62,13 @@ H.set_species(has_greater_form, keep_missing_bodyparts = TRUE) new /obj/effect/temp_visual/monkeyify/humanify(H.loc) - sleep(22) + addtimer(CALLBACK(src, PROC_REF(finish_unmonkeyize), H, !has_greater_form), 2.2 SECONDS) + +/datum/mutation/monkey/proc/finish_unmonkeyize(mob/living/carbon/human/H, should_gib) REMOVE_TRAITS_IN(H, TRANSFORMING_TRAIT) H.invisibility = initial(H.invisibility) - if(!has_greater_form) //If the pre-change mob in question has no primitive set, this is going to be messy. + if(should_gib) //If the pre-change mob in question has no primitive set, this is going to be messy. H.gib() return @@ -76,4 +77,3 @@ to_chat(H, "You are now a [H.dna.species.name].") - return H diff --git a/code/game/jobs/job/central.dm b/code/game/jobs/job/central.dm index 7800f4b68a79..0f49925b52f6 100644 --- a/code/game/jobs/job/central.dm +++ b/code/game/jobs/job/central.dm @@ -41,10 +41,8 @@ /obj/item/organ/internal/cyberimp/arm/combat/centcom ) -/datum/outfit/job/ntnavyofficer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) +/datum/outfit/job/ntnavyofficer/on_mind_initialize(mob/living/carbon/human/H) . = ..() - if(visualsOnly) - return H.mind.offstation_role = TRUE // CC Officials who lead ERTs, Death Squads, etc. @@ -97,10 +95,8 @@ /obj/item/organ/internal/cyberimp/arm/combat/centcom ) -/datum/outfit/job/ntspecops/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) +/datum/outfit/job/ntspecops/on_mind_initialize(mob/living/carbon/human/H) . = ..() - if(visualsOnly) - return H.mind.offstation_role = TRUE /datum/job/ntspecops/solgovspecops @@ -121,4 +117,7 @@ if(istype(I)) apply_to_card(I, H, get_centcom_access(name), name, "lifetimeid") H.sec_hud_set_ID() + +/datum/outfit/job/ntspecops/solgovspecops/on_mind_initialize(mob/living/carbon/human/H) + . = ..() H.mind.offstation_role = TRUE diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 925e8e6f4642..7ad8749098b6 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -216,6 +216,7 @@ gear_leftovers += G /datum/outfit/job/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) + . = ..() if(visualsOnly) return @@ -280,3 +281,16 @@ PDA.ownjob = C.assignment PDA.ownrank = C.rank PDA.name = "PDA-[H.real_name] ([PDA.ownjob])" + +/datum/outfit/job/on_mind_initialize(mob/living/carbon/human/H) + . = ..() + var/obj/item/card/id/id = H.wear_id + if(!id) + return + var/datum/job/J = SSjobs.GetJobType(jobtype) + if(!J) + J = SSjobs.GetJob(H.job) + id.assignment = H.mind.role_alt_title ? H.mind.role_alt_title : J.title + if(!H.mind.initial_account) + return + id.associated_account_number = H.mind.initial_account.account_number diff --git a/code/game/jobs/job/support.dm b/code/game/jobs/job/support.dm index 820b12c9a101..c8678be4e113 100644 --- a/code/game/jobs/job/support.dm +++ b/code/game/jobs/job/support.dm @@ -202,6 +202,9 @@ singlemutcheck(H, GLOB.soberblock, MUTCHK_FORCED) H.dna.default_blocks.Add(GLOB.soberblock) H.check_mutations = 1 + +/datum/outfit/job/bartender/on_mind_initialize(mob/living/carbon/human/H) + . = ..() ADD_TRAIT(H.mind, TRAIT_TABLE_LEAP, ROUNDSTART_TRAIT) ADD_TRAIT(H.mind, TRAIT_SLEIGHT_OF_HAND, ROUNDSTART_TRAIT) @@ -236,12 +239,10 @@ /obj/item/paper/chef=1,\ /obj/item/book/manual/wiki/chef_recipes=1) -/datum/outfit/job/chef/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - if(visualsOnly) - return +/datum/outfit/job/chef/on_mind_initialize(mob/living/carbon/human/H) + . = ..() var/datum/martial_art/cqc/under_siege/justacook = new - justacook.teach(H) + justacook.teach(H) // requires mind ADD_TRAIT(H.mind, TRAIT_TABLE_LEAP, ROUNDSTART_TRAIT) @@ -419,12 +420,14 @@ if(visualsOnly) return - if(H.mind) - H.mind.AddSpell(new /datum/spell/aoe/conjure/build/mime_wall(null)) - H.mind.AddSpell(new /datum/spell/mime/speak(null)) - H.mind.miming = 1 qdel(H.GetComponent(/datum/component/footstep)) +/datum/outfit/job/mime/on_mind_initialize(mob/living/carbon/human/H) + . = ..() + H.mind.AddSpell(new /datum/spell/aoe/conjure/build/mime_wall(null)) + H.mind.AddSpell(new /datum/spell/mime/speak(null)) + H.mind.miming = TRUE + /datum/job/janitor title = "Janitor" flag = JOB_JANITOR @@ -488,7 +491,7 @@ /datum/outfit/job/librarian/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() - if(!H.mind) + if(visualsOnly) return for(var/la in GLOB.all_languages) var/datum/language/new_language = GLOB.all_languages[la] diff --git a/code/game/jobs/job/support_chaplain.dm b/code/game/jobs/job/support_chaplain.dm index f97ccfb5422b..e0193a6c9be7 100644 --- a/code/game/jobs/job/support_chaplain.dm +++ b/code/game/jobs/job/support_chaplain.dm @@ -32,11 +32,12 @@ if(visualsOnly) return - if(istype(H.mind)) - ADD_TRAIT(H.mind, TRAIT_HOLY, ROUNDSTART_TRAIT) - INVOKE_ASYNC(src, PROC_REF(religion_pick), H) +/datum/outfit/job/chaplain/on_mind_initialize(mob/living/carbon/human/H) + . = ..() + ADD_TRAIT(H.mind, TRAIT_HOLY, ROUNDSTART_TRAIT) + /datum/outfit/job/chaplain/proc/religion_pick(mob/living/carbon/human/user) var/obj/item/storage/bible/B = new /obj/item/storage/bible(get_turf(user)) B.customisable = TRUE // Only the initial bible is customisable diff --git a/code/game/jobs/job/syndicate_jobs.dm b/code/game/jobs/job/syndicate_jobs.dm index 089a5b26e4bf..68a462ccc489 100644 --- a/code/game/jobs/job/syndicate_jobs.dm +++ b/code/game/jobs/job/syndicate_jobs.dm @@ -55,8 +55,11 @@ U.implant(H) U.hidden_uplink.uses = 2500 H.faction += "syndicate" + +/datum/outfit/job/syndicateofficer/on_mind_initialize(mob/living/carbon/human/H) + . = ..() var/datum/atom_hud/antag/opshud = GLOB.huds[ANTAG_HUD_OPS] opshud.join_hud(H.mind.current) H.mind.offstation_role = TRUE set_antag_hud(H.mind.current, "hudoperative") - H.regenerate_icons() + INVOKE_ASYNC(H, TYPE_PROC_REF(/mob/living/carbon/human, regenerate_icons)) diff --git a/code/modules/mob/living/carbon/human/human_mob.dm b/code/modules/mob/living/carbon/human/human_mob.dm index 2c3d81904c3c..eade62cabf0e 100644 --- a/code/modules/mob/living/carbon/human/human_mob.dm +++ b/code/modules/mob/living/carbon/human/human_mob.dm @@ -1967,7 +1967,3 @@ Eyes need to have significantly high darksight to shine unless the mob has the X set category = "IC" update_flavor_text() - -/mob/living/carbon/human/proc/apply_offstation_roles(source) - SIGNAL_HANDLER - mind.offstation_role = TRUE diff --git a/code/modules/ruins/syndicate_space_base.dm b/code/modules/ruins/syndicate_space_base.dm index 67d9fcc50dfb..3ec2451c0b60 100644 --- a/code/modules/ruins/syndicate_space_base.dm +++ b/code/modules/ruins/syndicate_space_base.dm @@ -61,6 +61,7 @@ ) /datum/outfit/spacebase_syndicate/post_equip(mob/living/carbon/human/H) + . = ..() H.faction |= "syndicate" var/random_name = random_name(pick(MALE,FEMALE), H.dna.species.name) H.rename_character(H.real_name, random_name) From ad48f54c60b4043c58cacac32145ca732b789001 Mon Sep 17 00:00:00 2001 From: BiancaWilkson <42818125+BiancaWilkson@users.noreply.github.com> Date: Fri, 17 May 2024 08:32:39 -0400 Subject: [PATCH 10/31] [S] Fixes an exploit (#25502) * you have no idea what it took to make this commit * Update code/game/objects/mail.dm Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> --------- Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> --- code/game/objects/mail.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/game/objects/mail.dm b/code/game/objects/mail.dm index 6e23945bb58b..2f2eec45cf94 100644 --- a/code/game/objects/mail.dm +++ b/code/game/objects/mail.dm @@ -242,6 +242,8 @@ origin_tech = "magnets=1" /// The reference to the envelope that is currently stored in the mail scanner. It will be cleared upon confirming a correct delivery var/obj/item/envelope/saved + /// How far away can the scanner scan mail or people + var/scanner_range = 7 /obj/item/mail_scanner/examine(mob/user) . = ..() @@ -251,6 +253,9 @@ return /obj/item/mail_scanner/afterattack(atom/A, mob/user) + if(get_dist(A, user) > scanner_range) + to_chat(user, "The scanner doesn't reach that far!") + return if(istype(A, /obj/item/envelope)) var/obj/item/envelope/envelope = A if(envelope.has_been_scanned) From 1933d2fab3e94a4baeb075b1ba665a79c3d21f66 Mon Sep 17 00:00:00 2001 From: CRUNCH <143041327+Fordoxia@users.noreply.github.com> Date: Fri, 17 May 2024 13:43:06 +0100 Subject: [PATCH 11/31] Refactors borg grippers, service now has a specialized gripper. (#24596) * Fixing some minor typos for cyborg upgrade flavour text Throws in some missing apostrophes, capitalisation, and the letter "s." * Briefcase Full of Cash buff Increases the amount of cash in the Syndicate Briefcase Full of Cash from 600 Cr to 1000 Cr * Reverts double-feature PR * Reverts a broken revert * Reverting again because Ebba told me to * And reverting yet again * Most of the stuff Most of the refactor. Needs to fix medical borg doing shrapnel extraction. * Forgot this * fixing space intent * Newline * Update code/game/objects/items/robot/cyborg_gripper.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/objects/items/robot/cyborg_gripper.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/objects/items/robot/cyborg_gripper.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/objects/items/robot/cyborg_gripper.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * More improvement * CI fixes * GO AWAY SPACE INDENTATION I DIDN'T PUT YOU THERE AAAAA * oops mb mb * Makes this work with ebba's PR * get dat fokkin disk * Update cyborg_gripper.dm * Removes all nuclear stuff * Update code/game/objects/items/robot/cyborg_gripper.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/game/objects/items/robot/cyborg_gripper.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update cyborg_gripper.dm * Update code/game/objects/items/robot/cyborg_gripper.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/objects/items/robot/cyborg_gripper.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update cyborg_gripper.dm * coin flipping * Update cyborg_gripper.dm * Update code/game/objects/items/robot/cyborg_gripper.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * EOL comments no longer EOL * autodoc * Update cyborg_gripper.dm * can hold all * Update code/game/objects/items/robot/cyborg_gripper.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> * Oh hi mark! * Update code/game/objects/items/robot/cyborg_gripper.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> * Line split * Some comments, examine(). Examining a gripper now tells you what's inside. --------- Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> --- .../objects/items/robot/cyborg_gripper.dm | 231 ++++++++++++++++++ code/game/turfs/simulated/walls.dm | 4 +- code/modules/mining/machine_redemption.dm | 2 +- .../living/silicon/robot/drone/drone_items.dm | 159 ------------ .../living/silicon/robot/robot_inventory.dm | 2 +- .../mob/living/silicon/robot/robot_mob.dm | 2 +- .../mob/living/silicon/robot/robot_modules.dm | 28 ++- code/modules/surgery/surgery.dm | 2 +- paradise.dme | 1 + 9 files changed, 257 insertions(+), 174 deletions(-) create mode 100644 code/game/objects/items/robot/cyborg_gripper.dm diff --git a/code/game/objects/items/robot/cyborg_gripper.dm b/code/game/objects/items/robot/cyborg_gripper.dm new file mode 100644 index 000000000000..59409c56fa32 --- /dev/null +++ b/code/game/objects/items/robot/cyborg_gripper.dm @@ -0,0 +1,231 @@ +/* CONTENTS: +0. generic define gripper +1. UNIVERSAL GRIPPER +2. MEDICAL GRIPPER +3. SERVICE GRIPPER +4. ENGINEERING GRIPPER +*/ + +// Generic gripper. This should never appear anywhere. +/obj/item/gripper + name = "generic gripper item" + desc = "If you can see this, make an issue report to Github. Something has gone wrong!" + icon = 'icons/obj/device.dmi' + icon_state = "gripper" + actions_types = list(/datum/action/item_action/drop_gripped_item) + /// Set to TRUE to allow interaction with light fixtures and cell-containing machinery. + var/engineering_machine_interaction = FALSE + /// Set to TRUE to allow the gripper to shake people awake/help them up. + var/can_help_up = FALSE + /// Defines what items the gripper can carry. + var/list/can_hold = list() + /// Set to TRUE to allow ANY item to be held, bypassing can_hold checks. + var/can_hold_all_items = FALSE + /// The item currently being held. + var/obj/item/gripped_item + +/obj/item/gripper/examine(mob/user) + . = ..() + if(!gripped_item) + . += "[src] is empty." + return + . += "[src] is currently holding [gripped_item]." + +/obj/item/gripper/examine_more(mob/user) + . = ..() + . += {"Cyborg grippers are well-developed, and despite some anatomical differences that manifest in some models, they can be used just as effectively as a regular hand with enough practice. + +Companies like Nanotrasen use software to limit the items that a cyborg can manipulate to a specific pre-defined list, \ +as part of their multi-layered protections to try and eliminate the chance of a hypothetical synthetic uprising, not wishing to see a repeat of the IPC uprising in 2525."} + + +/obj/item/gripper/Initialize(mapload) + . = ..() + can_hold = typecacheof(can_hold) + +/obj/item/gripper/ui_action_click(mob/user) + drop_gripped_item(user) + +/obj/item/gripper/proc/drop_gripped_item(mob/user, silent = FALSE) + if(!gripped_item) + to_chat(user, "[src] is empty.") + return + if(!silent) + to_chat(user, "You drop [gripped_item].") + gripped_item.forceMove(get_turf(src)) + gripped_item = null + +/obj/item/gripper/attack_self(mob/user) + if(!gripped_item) + to_chat(user, "[src] is empty.") + return + gripped_item.attack_self(user) + +/obj/item/gripper/attack(mob/living/carbon/M, mob/living/carbon/user) + return + +// This is required to ensure that the forceMove checks on some objects don't rip the gripper out of the borg's inventory and toss it on the floor. That would hurt, a lot! +/obj/item/gripper/forceMove(atom/destination) + return + +/obj/item/gripper/afterattack(atom/target, mob/living/user, proximity, params) + //Target is invalid or we are not adjacent. + if(!target || !proximity) + return FALSE + // Shake people awake, get them on their feet. + if(ishuman(target) && can_help_up) + var/mob/living/carbon/human/pickup_target = target + if(!IS_HORIZONTAL(pickup_target)) + return + pickup_target.AdjustSleeping(-10 SECONDS) + pickup_target.AdjustParalysis(-6 SECONDS) + pickup_target.AdjustStunned(-6 SECONDS) + pickup_target.AdjustWeakened(-6 SECONDS) + pickup_target.AdjustKnockDown(-6 SECONDS) + pickup_target.adjustStaminaLoss(-10) + pickup_target.resting = FALSE + pickup_target.stand_up() + playsound(user.loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) + user.visible_message( + "[user] shakes [pickup_target] trying to wake [pickup_target.p_them()] up!", + "You shake [pickup_target] trying to wake [pickup_target.p_them()] up!" + ) + return FALSE + //Already have an item. + if(gripped_item) + + //Pass the attack on to the target. This might delete/relocate gripped_item. + if(!target.attackby(gripped_item, user, params)) + // If the attackby didn't resolve or delete the target or gripped_item, afterattack + // (Certain things, such as mountable frames, rely on afterattack) + gripped_item?.afterattack(target, user, 1, params) + + //If gripped_item either didn't get deleted, or it failed to be transfered to its target + if(!gripped_item && length(contents)) + gripped_item = contents[1] + return FALSE + else if(gripped_item && !contents.len) + gripped_item = null + + //Check that we're not pocketing a mob. + else if(isitem(target)) + var/obj/item/I = target + // Make sure the item is something the gripper can hold + if(can_hold_all_items || is_type_in_typecache(I, can_hold)) + to_chat(user, "You collect [I].") + I.forceMove(src) + gripped_item = I + return TRUE + + to_chat(user, "You hold your gripper over [target], but no matter how hard you try, you cannot make yourself grab it.") + return FALSE + + // Everything past this point requires being able to engineer. + if(!engineering_machine_interaction) + return + // APC cells. + if(istype(target, /obj/machinery/power/apc)) + var/obj/machinery/power/apc/A = target + if(A.opened && A.cell) + gripped_item = A.cell + + A.cell.add_fingerprint(user) + A.cell.update_icon() + A.cell.forceMove(src) + A.cell = null + + A.charging = APC_NOT_CHARGING + A.update_icon() + + user.visible_message("[user] removes the power cell from [A]!", "You remove the power cell.") + // Cell Chargers + else if(istype(target, /obj/machinery/cell_charger)) + var/obj/machinery/cell_charger/cell_charger = target + if(cell_charger.charging) + gripped_item = cell_charger.charging + cell_charger.charging.add_fingerprint(user) + cell_charger.charging.forceMove(src) + cell_charger.removecell() + // Putting lights in fixtures. + else if(istype(target, /obj/machinery/light)) + var/obj/machinery/light/light = target + var/obj/item/light/L = light.drop_light_tube() + L.forceMove(src) + gripped_item = L + user.visible_message("[user] removes the light from the fixture.", "You dislodge the light from the fixture.") + + return TRUE + +//////////////////////////////// +// MARK: UNIVERSAL GRIPPER +//////////////////////////////// +/// Universal gripper. Not supplied to any cyborg by default. Could be varedited onto a borg for event stuff. Functions almost like a real hand! +/obj/item/gripper/universal + name = "cyborg gripper" + desc = "A grasping tool for cyborgs. This one is not restricted by any restraining software, allowing it to handle any object the user wishes." + // It's UNIVERSAL so it has all functions enabled. + engineering_machine_interaction = TRUE + can_help_up = TRUE + can_hold_all_items = TRUE + +//////////////////////////////// +// MARK: MEDICAL GRIPPER +//////////////////////////////// +// For medical borgs, for doing medical stuff! +// Not giving this anything to hold yet, but stuff may be added in the future. Organs/implants are currently viewed as too strong to hold. +/obj/item/gripper/medical + name = "medical gripper" + desc = "A grasping tool for cyborgs. This one is covered with hygenic medical-grade silicone rubber. \ + Use it to help patients up once surgery is complete, or to substitute for hands in surgical operations." + can_help_up = TRUE + // REMOVE actions_types from here if you add a can_hold list for this gripper! + actions_types = list() + +//////////////////////////////// +// MARK: SERVICE GRIPPER +//////////////////////////////// +// For service borgs. To make them slightly better at their job. +/obj/item/gripper/service + name = "service gripper" + desc = "A grasping tool for cyborgs. This version is made from hygenic easy-clean material. Maybe some day you'll be able to grab food with it..." + // For waking up drunkards. + can_help_up = TRUE + // Everything in this list is currently for either playing games or otherwise assisting the crew in mundane, non-impactful ways. + can_hold = list( + /obj/item/deck, + /obj/item/cardhand, + /obj/item/coin, + /obj/item/paper, + /obj/item/photo, + /obj/item/toy/plushie + ) + +//////////////////////////////// +// MARK: ENGINEERING GRIPPER +//////////////////////////////// +// For engineering and sabotage borgs, and drones. +/obj/item/gripper/engineering + name = "engineering gripper" + desc = "A grasping tool for cyborgs. This version can hold a wide variety of constructon components for use in engineering work." + engineering_machine_interaction = TRUE + can_hold = list( + /obj/item/firealarm_electronics, + /obj/item/airalarm_electronics, + /obj/item/airlock_electronics, + /obj/item/firelock_electronics, + /obj/item/intercom_electronics, + /obj/item/apc_electronics, + /obj/item/tracker_electronics, + /obj/item/stock_parts, + /obj/item/vending_refill, + /obj/item/mounted/frame, + /obj/item/assembly/prox_sensor, + /obj/item/assembly/igniter, + /obj/item/rack_parts, + /obj/item/camera_assembly, + /obj/item/tank, + /obj/item/circuitboard, + /obj/item/stack/ore/bluespace_crystal, + /obj/item/stack/tile/light, + /obj/item/light + ) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 680cd80c053d..bf5889937229 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -369,8 +369,8 @@ if(try_wallmount(I, user, params)) return - // The magnetic gripper does a separate attackby, so bail from this one - if(istype(I, /obj/item/gripper_engineering)) + // The cyborg gripper does a separate attackby, so bail from this one + if(istype(I, /obj/item/gripper)) return return ..() diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index 47f9ab77c8cc..e4ce7921dcaa 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -213,7 +213,7 @@ "You insert [I] into [src].") return - else if(istype(I, /obj/item/gripper_engineering)) + else if(istype(I, /obj/item/gripper)) if(!try_refill_storage(user)) to_chat(user, "You fail to retrieve any sheets from [src].") return diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm index 09e6f0a9abeb..af2367049209 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm @@ -1,162 +1,3 @@ -//Simple borg hand. -//Limited use. -/// This isn't a drone item, also in engineering cyborg kits -/obj/item/gripper_engineering - name = "magnetic gripper" - desc = "A simple grasping tool for synthetic assets." - icon = 'icons/obj/device.dmi' - icon_state = "gripper" - actions_types = list(/datum/action/item_action/drop_gripped_item) - - //Has a list of items that it can hold. - var/list/can_hold = list( - /obj/item/firealarm_electronics, - /obj/item/airalarm_electronics, - /obj/item/airlock_electronics, - /obj/item/firelock_electronics, - /obj/item/intercom_electronics, - /obj/item/apc_electronics, - /obj/item/tracker_electronics, - /obj/item/stock_parts, - /obj/item/vending_refill, - /obj/item/mounted/frame/light_fixture, - /obj/item/mounted/frame/apc_frame, - /obj/item/mounted/frame/alarm_frame, - /obj/item/mounted/frame/firealarm, - /obj/item/mounted/frame/display/newscaster_frame, - /obj/item/mounted/frame/intercom, - /obj/item/mounted/frame/extinguisher, - /obj/item/mounted/frame/light_switch, - /obj/item/assembly/prox_sensor, - /obj/item/rack_parts, - /obj/item/camera_assembly, - /obj/item/tank, - /obj/item/circuitboard, - /obj/item/stack/tile/light, - /obj/item/stack/ore/bluespace_crystal, - /obj/item/assembly/igniter, - /obj/item/light - ) - - //Item currently being held. - var/obj/item/gripped_item = null - -/obj/item/gripper_medical - name = "medical gripper" - desc = "A grasping tool used to help patients up once surgery is complete, or to substitute for hands in surgical operations." - icon = 'icons/obj/device.dmi' - icon_state = "gripper" - - -/obj/item/gripper_medical/afterattack(atom/target, mob/living/user, proximity, params) - if(!proximity || !target || !ishuman(target)) - return - var/mob/living/carbon/human/pickup_target = target - if(!IS_HORIZONTAL(pickup_target)) - return - pickup_target.AdjustSleeping(-10 SECONDS) - pickup_target.AdjustParalysis(-6 SECONDS) - pickup_target.AdjustStunned(-6 SECONDS) - pickup_target.AdjustWeakened(-6 SECONDS) - pickup_target.AdjustKnockDown(-6 SECONDS) - pickup_target.stand_up() - playsound(user.loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - user.visible_message( \ - "[user] shakes [pickup_target] trying to wake [pickup_target.p_them()] up!",\ - "You shake [pickup_target] trying to wake [pickup_target.p_them()] up!",\ - ) - -/obj/item/gripper_engineering/Initialize(mapload) - . = ..() - can_hold = typecacheof(can_hold) - -/obj/item/gripper_engineering/ui_action_click(mob/user) - drop_gripped_item() - -/obj/item/gripper_engineering/attack_self(mob/user) - if(!gripped_item) - to_chat(user, "[src] is empty.") - return - gripped_item.attack_self(user) - -/obj/item/gripper_engineering/proc/drop_gripped_item(silent = FALSE) - if(!gripped_item) - return - if(!silent) - to_chat(loc, "You drop [gripped_item].") - gripped_item.forceMove(get_turf(src)) - gripped_item = null - -/obj/item/gripper_engineering/attack(mob/living/carbon/M, mob/living/carbon/user) - return - -/// Grippers are snowflakey so this is needed to to prevent forceMoving grippers after `if(!user.drop_item())` checks done in certain attackby's. // What does this even MEAN - GDN -/obj/item/gripper_engineering/forceMove(atom/destination) - return - -/obj/item/gripper_engineering/afterattack(atom/target, mob/living/user, proximity, params) - if(!target || !proximity) //Target is invalid or we are not adjacent. - return FALSE - - if(gripped_item) //Already have an item. - - //Pass the attack on to the target. This might delete/relocate gripped_item. - if(!target.attackby(gripped_item, user, params)) - // If the attackby didn't resolve or delete the target or gripped_item, afterattack - // (Certain things, such as mountable frames, rely on afterattack) - gripped_item?.afterattack(target, user, 1, params) - - //If gripped_item either didn't get deleted, or it failed to be transfered to its target - if(!gripped_item && length(contents)) - gripped_item = contents[1] - return FALSE - else if(gripped_item && !length(contents)) - gripped_item = null - - else if(isitem(target)) //Check that we're not pocketing a mob. - var/obj/item/I = target - if(is_type_in_typecache(I, can_hold)) // Make sure the item is something the gripper can hold - to_chat(user, "You collect [I].") - I.forceMove(src) - gripped_item = I - else - to_chat(user, "Your gripper cannot hold [target].") - return FALSE - - else if(istype(target,/obj/machinery/power/apc)) - var/obj/machinery/power/apc/A = target - if(A.opened) - if(A.cell) - - gripped_item = A.cell - - A.cell.add_fingerprint(user) - A.cell.update_icon() - A.cell.forceMove(src) - A.cell = null - - A.charging = APC_NOT_CHARGING - A.update_icon() - - user.visible_message("[user] removes the power cell from [A]!", "You remove the power cell.") - - else if(istype(target, /obj/machinery/cell_charger)) - var/obj/machinery/cell_charger/cell_charger = target - if(cell_charger.charging) - gripped_item = cell_charger.charging - cell_charger.charging.add_fingerprint(user) - cell_charger.charging.forceMove(src) - cell_charger.removecell() - - else if(istype(target, /obj/machinery/light)) - var/obj/machinery/light/light = target - var/obj/item/light/L = light.drop_light_tube() - L.forceMove(src) - gripped_item = L - user.visible_message("[user] removes the light from the fixture.", "You dislodge the light from the fixture.") - - return TRUE - /obj/item/matter_decompiler name = "matter decompiler" desc = "Eating trash, bits of glass, or other debris will replenish your stores." diff --git a/code/modules/mob/living/silicon/robot/robot_inventory.dm b/code/modules/mob/living/silicon/robot/robot_inventory.dm index 3e89737f9628..29cbd551747f 100644 --- a/code/modules/mob/living/silicon/robot/robot_inventory.dm +++ b/code/modules/mob/living/silicon/robot/robot_inventory.dm @@ -116,7 +116,7 @@ return 0 /mob/living/silicon/robot/drop_item() - var/obj/item/gripper_engineering/G = get_active_hand() + var/obj/item/gripper/G = get_active_hand() if(istype(G)) G.drop_gripped_item(silent = TRUE) return TRUE // The gripper is special because it has a normal item inside that we can drop. diff --git a/code/modules/mob/living/silicon/robot/robot_mob.dm b/code/modules/mob/living/silicon/robot/robot_mob.dm index c3dd377d2f7a..d95d0d9d2947 100644 --- a/code/modules/mob/living/silicon/robot/robot_mob.dm +++ b/code/modules/mob/living/silicon/robot/robot_mob.dm @@ -1698,7 +1698,7 @@ GLOBAL_LIST_INIT(robot_verbs_default, list( /// Used in `robot.dm` when the user presses "Q" by default. /mob/living/silicon/robot/proc/on_drop_hotkey_press() - var/obj/item/gripper_engineering/G = get_active_hand() + var/obj/item/gripper/G = get_active_hand() if(istype(G) && G.gripped_item) G.drop_gripped_item() // if the active module is a gripper, try to drop its held item. else diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index e1aa7437c8b1..352c05b28087 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -354,7 +354,7 @@ /obj/item/stack/medical/ointment/advanced/cyborg, /obj/item/stack/medical/splint/cyborg, /obj/item/stack/nanopaste/cyborg, - /obj/item/gripper_medical + /obj/item/gripper/medical ) malf_modules = list(/obj/item/gun/syringemalf) special_rechargables = list( @@ -362,6 +362,11 @@ /obj/item/gun/syringemalf ) +/obj/item/robot_module/medical/handle_death(mob/living/silicon/robot/R, gibbed) + var/obj/item/gripper/medical/G = locate(/obj/item/gripper/medical) in modules + if(G) + G.drop_gripped_item(silent = TRUE) + // Disable safeties on the borg's defib. /obj/item/robot_module/medical/emag_act(mob/user) . = ..() @@ -451,7 +456,7 @@ /obj/item/analyzer, /obj/item/geiger_counter/cyborg, /obj/item/holosign_creator/engineering, - /obj/item/gripper_engineering, + /obj/item/gripper/engineering, /obj/item/matter_decompiler, /obj/item/painter, /obj/item/areaeditor/blueprints/cyborg, @@ -471,7 +476,7 @@ special_rechargables = list(/obj/item/extinguisher, /obj/item/weldingtool/largetank/cyborg, /obj/item/gun/energy/emitter/cyborg) /obj/item/robot_module/engineering/handle_death(mob/living/silicon/robot/R, gibbed) - var/obj/item/gripper_engineering/G = locate(/obj/item/gripper_engineering) in modules + var/obj/item/gripper/engineering/G = locate(/obj/item/gripper/engineering) in modules if(G) G.drop_gripped_item(silent = TRUE) @@ -604,7 +609,8 @@ /obj/item/reagent_containers/dropper/cyborg, /obj/item/lighter/zippo, /obj/item/storage/bag/tray/cyborg, - /obj/item/reagent_containers/drinks/shaker + /obj/item/reagent_containers/drinks/shaker, + /obj/item/gripper/service ) emag_override_modules = list(/obj/item/reagent_containers/drinks/cans/beer/sleepy_beer) emag_modules = list(/obj/item/restraints/handcuffs/cable/zipties/cyborg, /obj/item/instrument/guitar/cyborg) @@ -615,6 +621,10 @@ /obj/item/gun/projectile/shotgun/automatic/combat/cyborg ) +/obj/item/robot_module/butler/handle_death(mob/living/silicon/robot/R, gibbed) + var/obj/item/gripper/service/G = locate(/obj/item/gripper/service) in modules + if(G) + G.drop_gripped_item(silent = TRUE) // This is a special type of beer given when emagged, one sip and the target falls asleep. /obj/item/reagent_containers/drinks/cans/beer/sleepy_beer @@ -706,7 +716,7 @@ /obj/item/gun/projectile/revolver/grenadelauncher/multi/cyborg, /obj/item/card/emag, /obj/item/crowbar/cyborg/red, - /obj/item/pinpointer/operative + /obj/item/pinpointer/operative, ) // Sydicate medical cyborg module. @@ -739,7 +749,7 @@ /obj/item/stack/nanopaste/cyborg/syndicate, /obj/item/gun/medbeam, /obj/item/extinguisher/mini, - /obj/item/gripper_medical + /obj/item/gripper/medical, ) special_rechargables = list(/obj/item/extinguisher/mini) @@ -760,7 +770,7 @@ /obj/item/multitool/cyborg, /obj/item/t_scanner, /obj/item/analyzer, - /obj/item/gripper_engineering, + /obj/item/gripper/engineering, /obj/item/melee/energy/sword/cyborg, /obj/item/card/emag, /obj/item/borg_chameleon, @@ -846,7 +856,7 @@ /obj/item/wirecutters/cyborg/drone, /obj/item/multitool/cyborg/drone, /obj/item/lightreplacer/cyborg, - /obj/item/gripper_engineering, + /obj/item/gripper/engineering, /obj/item/matter_decompiler, /obj/item/reagent_containers/spray/cleaner/drone, /obj/item/soap, @@ -870,7 +880,7 @@ ) /obj/item/robot_module/drone/handle_death(mob/living/silicon/robot/R, gibbed) - var/obj/item/gripper_engineering/G = locate(/obj/item/gripper_engineering) in modules + var/obj/item/gripper/engineering/G = locate(/obj/item/gripper/engineering) in modules if(G) G.drop_gripped_item(silent = TRUE) diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index fbc2ef271303..6f22fb035011 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -216,7 +216,7 @@ if(accept_hand) if(!tool) success = TRUE - if(isrobot(user) && istype(tool, /obj/item/gripper_medical)) + if(isrobot(user) && istype(tool, /obj/item/gripper/medical)) success = TRUE if(accept_any_item) diff --git a/paradise.dme b/paradise.dme index 132c8970c96b..5b67be5b2667 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1073,6 +1073,7 @@ #include "code\game\objects\items\mountable_frames\mountables.dm" #include "code\game\objects\items\mountable_frames\newscaster_frame.dm" #include "code\game\objects\items\robot\ai_upgrades.dm" +#include "code\game\objects\items\robot\cyborg_gripper.dm" #include "code\game\objects\items\robot\robot_items.dm" #include "code\game\objects\items\robot\robot_parts.dm" #include "code\game\objects\items\robot\robot_upgrades.dm" From 9afec804301e9ddfd24e2ae41e85aba886098a99 Mon Sep 17 00:00:00 2001 From: Gatchapod <20936555+Gatchapod@users.noreply.github.com> Date: Fri, 17 May 2024 14:44:34 +0200 Subject: [PATCH 12/31] Less scuffed Tajaran veils (#24701) * Tajaran enveilening * Fix load name, swap to Initialize, more OOP * Addressing reviews, small redoing of desc * Suggested changes * changes suggested by lewcc --------- Co-authored-by: Gatchapod Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com> --- code/__DEFINES/misc_defines.dm | 4 + code/datums/wires/wires.dm | 3 +- .../preference/loadout/loadout_racial.dm | 38 +-- code/modules/clothing/clothing.dm | 2 + code/modules/clothing/glasses/glasses.dm | 48 ---- code/modules/clothing/glasses/hudglasses.dm | 35 --- code/modules/clothing/glasses/tajblind.dm | 193 ++++++++++++++ code/modules/crafting/tailoring.dm | 248 ++++++++++++++++++ paradise.dme | 1 + 9 files changed, 453 insertions(+), 119 deletions(-) create mode 100644 code/modules/clothing/glasses/tajblind.dm diff --git a/code/__DEFINES/misc_defines.dm b/code/__DEFINES/misc_defines.dm index 17beb518b372..6cfb6abf2505 100644 --- a/code/__DEFINES/misc_defines.dm +++ b/code/__DEFINES/misc_defines.dm @@ -250,6 +250,10 @@ 0.4,0.6,0.0,\ 0.2,0.2,0.6) +#define MATRIX_STANDARD list(1.0,0.0,0.0,\ + 0.0,1.0,0.0,\ + 0.0,0.0,1.0) + /* Used for wire name appearances. Replaces the color name on the left with the one on the right. The color on the left is the one used as the actual color of the wire, but it doesn't look good when written. diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm index 3584e4089787..662b9ed349a8 100644 --- a/code/datums/wires/wires.dm +++ b/code/datums/wires/wires.dm @@ -106,7 +106,8 @@ if(ishuman(user)) var/mob/living/carbon/human/H = user var/obj/item/organ/internal/eyes/eyes = H.get_int_organ(/obj/item/organ/internal/eyes) - if(eyes && HAS_TRAIT(H, TRAIT_COLORBLIND)) // Check if the human has colorblindness. + var/obj/item/clothing/glasses/glasses = H.get_item_by_slot(SLOT_HUD_GLASSES) + if(eyes && HAS_TRAIT(H, TRAIT_COLORBLIND) && (!glasses || !glasses.correct_wires)) // Check if the human has colorblindness. replace_colors = eyes.replace_colours // Get the colorblind replacement colors list. var/list/wires_list = list() diff --git a/code/modules/client/preference/loadout/loadout_racial.dm b/code/modules/client/preference/loadout/loadout_racial.dm index 128bfdd3c293..4b576e96daa0 100644 --- a/code/modules/client/preference/loadout/loadout_racial.dm +++ b/code/modules/client/preference/loadout/loadout_racial.dm @@ -17,43 +17,11 @@ cost = 1 /datum/gear/racial/taj - display_name = "Embroidered veil" - description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races." - path = /obj/item/clothing/glasses/tajblind + display_name = "Tajaran veil" + description = "A common traditional nano-fiber veil worn by many Tajaran. It is rare and offensive to see it on other races. Can be combined with various other eyewear." + path = /obj/item/clothing/glasses/hud/tajblind slot = SLOT_HUD_GLASSES -/datum/gear/racial/taj/sec - display_name = "Sleek veil" - description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races. This one has an in-built security HUD." - path = /obj/item/clothing/glasses/hud/security/tajblind - allowed_roles = list("Head of Security", "Warden", "Security Officer", "Internal Affairs Agent", "Magistrate", "Detective") - cost = 2 - -/datum/gear/racial/taj/med - display_name = "Lightweight veil" - description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races. This one has an in-built medical HUD." - path = /obj/item/clothing/glasses/hud/health/tajblind - allowed_roles = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Psychiatrist", "Paramedic", "Virologist", "Coroner") - cost = 2 - -/datum/gear/racial/taj/sci - display_name = "Hi-tech veil" - description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races." - path = /obj/item/clothing/glasses/tajblind/sci - cost = 2 - -/datum/gear/racial/taj/eng - display_name = "Industrial veil" - description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races." - path = /obj/item/clothing/glasses/tajblind/eng - cost = 2 - -/datum/gear/racial/taj/cargo - display_name = "Khaki veil" - description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races. It is light and comfy!" - path = /obj/item/clothing/glasses/tajblind/cargo - cost = 2 - /datum/gear/racial/footwraps display_name = "Cloth footwraps" path = /obj/item/clothing/shoes/footwraps diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index afbbd575e83b..c3193281b5b2 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -219,6 +219,8 @@ var/list/color_view = null//overrides client.color while worn var/prescription = FALSE var/prescription_upgradable = FALSE + /// Overrides colorblindness when interacting with wires + var/correct_wires = FALSE var/over_mask = FALSE //Whether or not the eyewear is rendered above the mask. Purely cosmetic. strip_delay = 20 // but seperated to allow items to protect but not impair vision, like space helmets put_on_delay = 25 diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 38667b158bb0..3f763b55d91a 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -530,51 +530,3 @@ icon_state = "cybereye-red" item_state = "eyepatch" flags = NODROP - -/obj/item/clothing/glasses/tajblind - name = "embroidered veil" - desc = "An Ahdominian made veil that allows the user to see while obscuring their eyes." - icon_state = "tajblind" - item_state = "tajblind" - flags_cover = GLASSESCOVERSEYES - actions_types = list(/datum/action/item_action/toggle) - up = FALSE - tint = FLASH_PROTECTION_NONE - prescription_upgradable = TRUE - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi' - ) - -/obj/item/clothing/glasses/tajblind/eng - name = "industrial veil" - icon_state = "tajblind_engi" - item_state = "tajblind_engi" - -/obj/item/clothing/glasses/tajblind/sci - name = "hi-tech veil" - icon_state = "tajblind_sci" - item_state = "tajblind_sci" - -/obj/item/clothing/glasses/tajblind/cargo - name = "khaki veil" - icon_state = "tajblind_cargo" - item_state = "tajblind_cargo" - -/obj/item/clothing/glasses/tajblind/attack_self() - toggle_veil() - -/obj/item/clothing/glasses/proc/toggle_veil() - if(HAS_TRAIT(usr, TRAIT_HANDS_BLOCKED) || usr.incapacitated()) - return - up = !up - if(up) - tint = 3 - else - tint = initial(tint) - to_chat(usr, up ? "You deactivate [src], obscuring your vision." : "You activate [src], allowing you to see.") - var/mob/living/carbon/user = usr - user.update_tint() - user.update_inv_glasses() diff --git a/code/modules/clothing/glasses/hudglasses.dm b/code/modules/clothing/glasses/hudglasses.dm index a87eedd9ea8e..b45c9d9c4479 100644 --- a/code/modules/clothing/glasses/hudglasses.dm +++ b/code/modules/clothing/glasses/hudglasses.dm @@ -172,41 +172,6 @@ see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE -/obj/item/clothing/glasses/hud/security/tajblind - name = "sleek veil" - desc = "An Ahdominian made veil that allows the user to see while obscuring their eyes. This one has an in-built security HUD." - icon_state = "tajblind_sec" - item_state = "tajblind_sec" - flash_protect = FLASH_PROTECTION_FLASH - flags_cover = GLASSESCOVERSEYES - actions_types = list(/datum/action/item_action/toggle) - up = FALSE - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi' - ) - -/obj/item/clothing/glasses/hud/security/tajblind/attack_self() - toggle_veil() - -/obj/item/clothing/glasses/hud/health/tajblind - name = "lightweight veil" - desc = "An Ahdominian made veil that allows the user to see while obscuring their eyes. This one has an installed medical HUD." - icon_state = "tajblind_med" - item_state = "tajblind_med" - flags_cover = GLASSESCOVERSEYES - actions_types = list(/datum/action/item_action/toggle) - up = FALSE - - sprite_sheets = list( - "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', - "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi', - "Drask" = 'icons/mob/clothing/species/drask/eyes.dmi' - ) - -/obj/item/clothing/glasses/hud/health/tajblind/attack_self() - toggle_veil() - /obj/item/clothing/glasses/hud/skills name = "skills HUD" desc = "A heads-up display capable of showing the employment history records of NT crew members." diff --git a/code/modules/clothing/glasses/tajblind.dm b/code/modules/clothing/glasses/tajblind.dm new file mode 100644 index 000000000000..306652a4a9f0 --- /dev/null +++ b/code/modules/clothing/glasses/tajblind.dm @@ -0,0 +1,193 @@ +#define MODE_OFF "veiled" +#define MODE_NATURAL "natural sight" +#define MODE_CORRECTION "correction" + +/obj/item/clothing/glasses/hud/tajblind + name = "\improper Tajaran veil" + desc = "A sleek, high-tech Tajaran veil, adapted from ancient designs and important to their culture and spirituality.
\ + Can switch between three modes: Sight-blocking veiled mode, transparent natural sight mode and colorblindness correction mode." + icon_state = "tajblind" + item_state = "tajblind" + actions_types = list(/datum/action/item_action/toggle) + color_view = MATRIX_STANDARD + correct_wires = TRUE + var/list/modes = list(MODE_OFF = MODE_NATURAL, MODE_NATURAL = MODE_CORRECTION, MODE_CORRECTION = MODE_OFF) + var/selected_mode = MODE_CORRECTION + + sprite_sheets = list( + "Vox" = 'icons/mob/clothing/species/vox/eyes.dmi', + "Grey" = 'icons/mob/clothing/species/grey/eyes.dmi' + ) + +/obj/item/clothing/glasses/hud/tajblind/attack_self(mob/user) + toggle_veil(user, TRUE) + +/obj/item/clothing/glasses/hud/tajblind/proc/toggle_veil(mob/user, voluntary) + var/mob/living/carbon/human/H = user + selected_mode = modes[selected_mode] + to_chat(user, "[voluntary ? "You turn the veil" : "The veil turns"] [selected_mode ? "to [selected_mode] mode" : "off"][voluntary ? "." : "!"]") + + switch(selected_mode) + if(MODE_OFF) + tint = TINT_BLIND + flash_protect = FLASH_PROTECTION_WELDER + color_view = null + correct_wires = FALSE + + if(MODE_NATURAL) + tint = initial(tint) + flash_protect = initial(flash_protect) + color_view = null + + if(MODE_CORRECTION) + tint = initial(tint) + flash_protect = initial(flash_protect) + color_view = MATRIX_STANDARD + correct_wires = TRUE + + if(ishuman(H) && H.glasses == src) + H.update_sight() + H.update_client_colour() + +/obj/item/clothing/glasses/hud/tajblind/examine_more(mob/user) + . = ..() + . += "Tajaran Veils have long been an important part of their spirituality and culture, suppressed by the Overseers and making a strong return after the civil war. Tajaran believe that to see one’s eyes is to see their soul, and thus the more spiritual Tajara wear veils to conceal their eyes from everyone but the ones closest to them.
\ + These current designs are adapted from recreations of the ancient veils, created by the Alchemists Guild. Technologically advanced and created to help Tajara adapt to life in the larger galactic community, they have systems built-in that allow them to have holographic huds, as well as corrective technology to help Tajaran overcome their genetic tritanopia colour blindness.
\ + Availability on the wider market is highly restricted as a result of their cultural importance, as well as the patent held by the Alchemists Guild, and the lenses are very hard to reverse engineer. Popular theories suggest this as a result of the unique materials available on Adhomai, or the inability to recreate the light conditions of the Tajara homeworld." + +/obj/item/clothing/glasses/hud/tajblind/meson + name = "\improper Tajaran engineering meson veil" + icon_state = "tajblind_engi" + item_state = "tajblind_engi" + +/obj/item/clothing/glasses/hud/tajblind/meson/Initialize() + ..() + desc += "
It has an optical meson scanner integrated into it." + +/obj/item/clothing/glasses/hud/tajblind/meson/equipped(mob/user, slot, initial) + . = ..() + if(slot == SLOT_HUD_GLASSES) + ADD_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]") + +/obj/item/clothing/glasses/hud/tajblind/meson/dropped(mob/user) + . = ..() + if(user) + REMOVE_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]") + +/obj/item/clothing/glasses/hud/tajblind/meson/cargo + name = "\improper Tajaran mining meson veil" + icon_state = "tajblind_cargo" + item_state = "tajblind_cargo" + +/obj/item/clothing/glasses/hud/tajblind/sci + name = "\improper Tajaran scientific veil" + icon_state = "tajblind_sci" + item_state = "tajblind_sci" + scan_reagents = 1 + actions_types = list(/datum/action/item_action/toggle, /datum/action/item_action/toggle_research_scanner) + +/obj/item/clothing/glasses/hud/tajblind/sci/Initialize() + ..() + desc += "
It has science goggles integrated into it." + +/obj/item/clothing/glasses/hud/tajblind/sci/item_action_slot_check(slot) + if(slot == SLOT_HUD_GLASSES) + return TRUE + +/obj/item/clothing/glasses/hud/tajblind/med + name = "\improper Tajaran medical veil" + icon_state = "tajblind_med" + item_state = "tajblind_med" + hud_types = DATA_HUD_MEDICAL_ADVANCED + examine_extensions = list(EXAMINE_HUD_MEDICAL_READ) + +/obj/item/clothing/glasses/hud/tajblind/med/Initialize() + ..() + desc += "
It has a health HUD integrated into it." + +/obj/item/clothing/glasses/hud/tajblind/sec + name = "\improper Tajaran security veil" + icon_state = "tajblind_sec" + item_state = "tajblind_sec" + hud_types = DATA_HUD_SECURITY_ADVANCED + examine_extensions = list(EXAMINE_HUD_SECURITY_READ) + +/obj/item/clothing/glasses/hud/tajblind/sec/Initialize() + ..() + desc += "
It has a security HUD integrated into it." + +/obj/item/clothing/glasses/hud/tajblind/shaded + name = "shaded Tajaran veil" + flash_protect = FLASH_PROTECTION_FLASH + tint = FLASH_PROTECTION_FLASH + +/obj/item/clothing/glasses/hud/tajblind/shaded/Initialize() + ..() + desc += "
It has an in-built flash protection." + +/obj/item/clothing/glasses/hud/tajblind/shaded/meson + name = "shaded Tajaran engineering meson veil" + icon_state = "tajblind_engi" + item_state = "tajblind_engi" + +/obj/item/clothing/glasses/hud/tajblind/shaded/meson/Initialize() + ..() + desc += "
It has an optical meson scanner integrated into it." + +/obj/item/clothing/glasses/hud/tajblind/shaded/meson/equipped(mob/user, slot, initial) + . = ..() + if(slot == SLOT_HUD_GLASSES) + ADD_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]") + +/obj/item/clothing/glasses/hud/tajblind/shaded/meson/dropped(mob/user) + . = ..() + if(user) + REMOVE_TRAIT(user, TRAIT_MESON_VISION, "meson_glasses[UID()]") + + +/obj/item/clothing/glasses/hud/tajblind/shaded/meson/cargo + name = "shaded Tajaran mining meson veil" + icon_state = "tajblind_cargo" + item_state = "tajblind_cargo" + +/obj/item/clothing/glasses/hud/tajblind/shaded/sci + name = "shaded Tajaran scientific veil" + icon_state = "tajblind_sci" + item_state = "tajblind_sci" + scan_reagents = 1 + actions_types = list(/datum/action/item_action/toggle, /datum/action/item_action/toggle_research_scanner) + +/obj/item/clothing/glasses/hud/tajblind/shaded/sci/Initialize() + ..() + desc += "
It has science goggles integrated into it." + +/obj/item/clothing/glasses/hud/tajblind/shaded/sci/item_action_slot_check(slot) + if(slot == SLOT_HUD_GLASSES) + return TRUE + +/obj/item/clothing/glasses/hud/tajblind/shaded/med + name = "shaded Tajaran medical veil" + icon_state = "tajblind_med" + item_state = "tajblind_med" + hud_types = DATA_HUD_MEDICAL_ADVANCED + examine_extensions = list(EXAMINE_HUD_MEDICAL_READ) + +/obj/item/clothing/glasses/hud/tajblind/shaded/med/Initialize() + ..() + desc += "
It has a health HUD integrated into it." + +/obj/item/clothing/glasses/hud/tajblind/shaded/sec + name = "shaded Tajaran security veil" + icon_state = "tajblind_sec" + item_state = "tajblind_sec" + see_in_dark = 1 + hud_types = DATA_HUD_SECURITY_ADVANCED + examine_extensions = list(EXAMINE_HUD_SECURITY_READ) + +/obj/item/clothing/glasses/hud/tajblind/shaded/sec/Initialize() + ..() + desc += "
It has a security HUD integrated into it." + +#undef MODE_OFF +#undef MODE_NATURAL +#undef MODE_CORRECTION diff --git a/code/modules/crafting/tailoring.dm b/code/modules/crafting/tailoring.dm index eca646a91e87..51e0a616a28b 100644 --- a/code/modules/crafting/tailoring.dm +++ b/code/modules/crafting/tailoring.dm @@ -305,6 +305,254 @@ reqs = list(/obj/item/clothing/glasses/sunglasses/reagent = 1) category = CAT_CLOTHING +/datum/crafting_recipe/shaded_tajblind + name = "Shaded Tajaran veil" + result = list(/obj/item/clothing/glasses/hud/tajblind/shaded) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/sunglasses = 1, + /obj/item/clothing/glasses/hud/tajblind = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/shaded_tajblind/New() + ..() + blacklist += subtypesof(/obj/item/clothing/glasses/sunglasses) + blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind) + +/datum/crafting_recipe/shaded_tajblind_removal + name = "Shaded Tajaran veil removal" + result = list(/obj/item/clothing/glasses/sunglasses, /obj/item/clothing/glasses/hud/tajblind) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/tajblind/shaded = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/shaded_tajblind_removal/New() + ..() + blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind/shaded) + +/datum/crafting_recipe/engi_tajblind + name = "Tajaran engineering meson veil" + result = list(/obj/item/clothing/glasses/hud/tajblind/meson) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/meson = 1, + /obj/item/clothing/glasses/hud/tajblind = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/engi_tajblind/New() + ..() + blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind) + blacklist += subtypesof(/obj/item/clothing/glasses/meson) + +/datum/crafting_recipe/engi_tajblind_removal + name = "Tajaran engineering meson removal" + result = list(/obj/item/clothing/glasses/meson, /obj/item/clothing/glasses/hud/tajblind) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/tajblind/meson = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/engi_tajblind_removal/New() + ..() + blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind/meson) + +/datum/crafting_recipe/shaded_engi_tajblind + name = "Shaded Tajaran engineering meson veil" + result = list(/obj/item/clothing/glasses/hud/tajblind/shaded/meson) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/meson/sunglasses = 1, + /obj/item/clothing/glasses/hud/tajblind = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/shaded_engi_tajblind/New() + ..() + blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind) + +/datum/crafting_recipe/shaded_engi_tajblind_removal + name = "Shaded Tajaran engineering meson veil removal" + result = list(/obj/item/clothing/glasses/meson/sunglasses, /obj/item/clothing/glasses/hud/tajblind) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/tajblind/shaded/meson = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/shaded_engi_tajblind_removal/New() + ..() + blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind/shaded/meson) + +/datum/crafting_recipe/cargo_tajblind + name = "Tajaran mining meson veil" + result = list(/obj/item/clothing/glasses/hud/tajblind/meson/cargo) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/meson = 1, + /obj/item/clothing/glasses/hud/tajblind = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/cargo_tajblind/New() + ..() + blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind) + blacklist += subtypesof(/obj/item/clothing/glasses/meson) + +/datum/crafting_recipe/cargo_tajblind_removal + name = "Tajaran mining meson veil removal" + result = list(/obj/item/clothing/glasses/meson, /obj/item/clothing/glasses/hud/tajblind) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/tajblind/meson/cargo = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/shaded_cargo_tajblind + name = "Shaded Tajaran mining meson veil" + result = list(/obj/item/clothing/glasses/hud/tajblind/shaded/meson/cargo) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/meson/sunglasses = 1, + /obj/item/clothing/glasses/hud/tajblind = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/shaded_cargo_tajblind/New() + ..() + blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind) + +/datum/crafting_recipe/shaded_cargo_tajblind_removal + name = "Shaded Tajaran mining meson veil removal" + result = list(/obj/item/clothing/glasses/meson/sunglasses, /obj/item/clothing/glasses/hud/tajblind) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/tajblind/shaded/meson/cargo = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/sci_tajblind + name = "Tajaran scientific veil" + result = list(/obj/item/clothing/glasses/hud/tajblind/sci) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/science = 1, + /obj/item/clothing/glasses/hud/tajblind = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/sci_tajblind/New() + ..() + blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind) + +/datum/crafting_recipe/sci_tajblind_removal + name = "Tajaran scientific veil removal" + result = list(/obj/item/clothing/glasses/science, /obj/item/clothing/glasses/hud/tajblind) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/tajblind/sci = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/shaded_sci_tajblind + name = "Shaded Tajaran scientific veil" + result = list(/obj/item/clothing/glasses/hud/tajblind/shaded/sci) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/sunglasses/reagent = 1, + /obj/item/clothing/glasses/hud/tajblind = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/shaded_sci_tajblind/New() + ..() + blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind) + +/datum/crafting_recipe/shaded_sci_tajblind_removal + name = "Shaded Tajaran scientific veil removal" + result = list(/obj/item/clothing/glasses/sunglasses/reagent, /obj/item/clothing/glasses/hud/tajblind) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/tajblind/shaded/sci = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/med_tajblind + name = "Tajaran medical veil" + result = list(/obj/item/clothing/glasses/hud/tajblind/med) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/health = 1, + /obj/item/clothing/glasses/hud/tajblind = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/med_tajblind/New() + ..() + blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind) + blacklist += subtypesof(/obj/item/clothing/glasses/hud/health) + +/datum/crafting_recipe/med_tajblind_removal + name = "Tajaran medical veil removal" + result = list(/obj/item/clothing/glasses/hud/health, /obj/item/clothing/glasses/hud/tajblind) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/tajblind/med = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/shaded_med_tajblind + name = "Shaded Tajaran medical veil" + result = list(/obj/item/clothing/glasses/hud/tajblind/shaded/med) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/health/sunglasses = 1, + /obj/item/clothing/glasses/hud/tajblind = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/shaded_med_tajblind/New() + ..() + blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind) + +/datum/crafting_recipe/shaded_med_tajblind_removal + name = "Shaded Tajaran medical veil removal" + result = list(/obj/item/clothing/glasses/hud/health/sunglasses, /obj/item/clothing/glasses/hud/tajblind) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/tajblind/shaded/med = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/sec_tajblind + name = "Tajaran security veil" + result = list(/obj/item/clothing/glasses/hud/tajblind/sec) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/security = 1, + /obj/item/clothing/glasses/hud/tajblind = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/sec_tajblind/New() + ..() + blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind) + blacklist += subtypesof(/obj/item/clothing/glasses/hud/security) + +/datum/crafting_recipe/sec_tajblind_removal + name = "Tajaran security veil removal" + result = list(/obj/item/clothing/glasses/hud/security, /obj/item/clothing/glasses/hud/tajblind) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/tajblind/sec = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/shaded_sec_tajblind + name = "Shaded Tajaran security veil" + result = list(/obj/item/clothing/glasses/hud/tajblind/shaded/sec) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/security/sunglasses = 1, + /obj/item/clothing/glasses/hud/tajblind = 1) + category = CAT_CLOTHING + +/datum/crafting_recipe/shaded_sec_tajblind/New() + ..() + blacklist += subtypesof(/obj/item/clothing/glasses/hud/tajblind) + +/datum/crafting_recipe/shaded_sec_tajblind_removal + name = "Shaded Tajaran security veil removal" + result = list(/obj/item/clothing/glasses/hud/security/sunglasses, /obj/item/clothing/glasses/hud/tajblind) + time = 2 SECONDS + tools = list(TOOL_SCREWDRIVER, TOOL_WIRECUTTER) + reqs = list(/obj/item/clothing/glasses/hud/tajblind/shaded/sec = 1) + category = CAT_CLOTHING + /datum/crafting_recipe/ghostsheet name = "Ghost Sheet" result = list(/obj/item/clothing/suit/ghost_sheet) diff --git a/paradise.dme b/paradise.dme index 5b67be5b2667..644cbdc20a63 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1657,6 +1657,7 @@ #include "code\modules\clothing\glasses\glasses.dm" #include "code\modules\clothing\glasses\hudglasses.dm" #include "code\modules\clothing\glasses\hudgoggles.dm" +#include "code\modules\clothing\glasses\tajblind.dm" #include "code\modules\clothing\gloves\boxing_gloves.dm" #include "code\modules\clothing\gloves\colored_gloves.dm" #include "code\modules\clothing\gloves\misc_gloves.dm" From b216289b417fe6ad107a14b97f2afabd00518e56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B8=D1=80=D0=BE=D1=82=D0=BA=D0=B0?= <114731039+ErdGinalD@users.noreply.github.com> Date: Fri, 17 May 2024 15:45:32 +0300 Subject: [PATCH 13/31] FEAT: Two new attachable armor for Ripley (#25231) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * FEAT: Two new attachable armor for Ripley * Delete mecha 32x48.dmi * Update code/game/objects/items/stacks/sheets/leather.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/game/mecha/working/ripley.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/game/mecha/working/ripley.dm Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> * Add defines into separate files, change descriptions a bit * fix * change (loc) to get_turf(src) * mecha * edit defines * Update leather.dm * Update code/game/mecha/working/ripley.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> * Update leather.dm * Update code/game/objects/items/stacks/sheets/leather.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> * Update mechfabricator_designs.dm * fix .dmi * Update code/game/mecha/working/ripley.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> * Update code/game/mecha/working/ripley.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> * Update code/game/mecha/working/ripley.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> * Update ripley.dm * Update code/game/objects/items/stacks/sheets/leather.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> * Update code/game/objects/items/stacks/sheets/leather.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> --------- Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> --- code/__DEFINES/mecha_hides.dm | 6 ++ code/game/data_huds.dm | 2 - code/game/mecha/working/ripley.dm | 76 ++++++++++++--- code/game/mecha/working/working.dm | 1 + .../objects/items/stacks/sheets/leather.dm | 88 +++++++++++++++--- .../designs/mechfabricator_designs.dm | 17 +++- icons/mecha/mecha.dmi | Bin 185405 -> 193257 bytes icons/mecha/mecha_equipment.dmi | Bin 31551 -> 32047 bytes paradise.dme | 1 + 9 files changed, 158 insertions(+), 33 deletions(-) create mode 100644 code/__DEFINES/mecha_hides.dm diff --git a/code/__DEFINES/mecha_hides.dm b/code/__DEFINES/mecha_hides.dm new file mode 100644 index 000000000000..3c1c1496a54a --- /dev/null +++ b/code/__DEFINES/mecha_hides.dm @@ -0,0 +1,6 @@ +#define HIDES_COVERED_FULL 3 +#define PLATES_COVERED_FULL 3 + +#define DRAKE_HIDES_COVERED_SLIGHT 1 +#define DRAKE_HIDES_COVERED_MODERATE 2 +#define DRAKE_HIDES_COVERED_FULL 3 diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index 29124ecc5031..0d48b4f514ee 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -339,8 +339,6 @@ ~~~~~~~~~~~~~~~~~~~~~*/ /obj/mecha/proc/diag_hud_set_mechhealth() var/image/holder = hud_list[DIAG_MECH_HUD] - var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size holder.icon_state = "huddiag[RoundDiagBar(obj_integrity/max_integrity)]" /obj/mecha/proc/diag_hud_set_mechcell() diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index 93332e05f690..c1d333e8c4a3 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -16,8 +16,16 @@ wreckage = /obj/structure/mecha_wreckage/ripley var/list/cargo = new var/cargo_capacity = 15 + + /// How many goliath hides does the Ripley have? Does not stack with other armor var/hides = 0 + /// How many drake hides does the Ripley have? Does not stack with other armor + var/drake_hides = 0 + + /// How many plates does the Ripley have? Does not stack with other armor + var/plates = 0 + /obj/mecha/working/ripley/Move() . = ..() if(.) @@ -33,10 +41,14 @@ ore.forceMove(ore_box) /obj/mecha/working/ripley/Destroy() - for(var/i=1, i <= hides, i++) - new /obj/item/stack/sheet/animalhide/goliath_hide(loc) //If a goliath-plated ripley gets killed, all the plates drop + for(var/i in 1 to hides) + new /obj/item/stack/sheet/animalhide/goliath_hide(get_turf(src)) //If a armor-plated ripley gets killed, all the armor drop + for(var/i in 1 to plates) + new /obj/item/stack/sheet/animalhide/armor_plate(get_turf(src)) + for(var/i in 1 to drake_hides) + new /obj/item/stack/sheet/animalhide/ashdrake(get_turf(src)) for(var/atom/movable/A in cargo) - A.forceMove(loc) + A.forceMove(get_turf(src)) step_rand(A) cargo.Cut() return ..() @@ -55,22 +67,58 @@ /obj/mecha/working/ripley/update_desc() . = ..() - if(!hides) // Just in case if hides are somehow removed + if(!hides && !plates && !drake_hides) // Just in case if armor is removed desc = initial(desc) return - if(hides == 3) - desc = "Autonomous Power Loader Unit. It's wearing a fearsome carapace entirely composed of goliath hide plates - its pilot must be an experienced monster hunter." - else - desc = "Autonomous Power Loader Unit. Its armour is enhanced with some goliath hide plates." + + // Goliath hides + if(hides) + if(hides == HIDES_COVERED_FULL) + desc = "Autonomous Power Loader Unit. It's wearing a fearsome carapace entirely composed of goliath hide plates - its pilot must be an experienced monster hunter." + else + desc = "Autonomous Power Loader Unit. Its armour is enhanced with some goliath hide plates." + return + + // Metal plates + if(plates) + if(plates == PLATES_COVERED_FULL) + desc = "Autonomous Power Loader Unit. Its armor is completely lined with metal plating." + else + desc = "Autonomous Power Loader Unit. Its armor is reinforced with some metal plating." + return + + // Drake hides + if(drake_hides) + if(drake_hides == DRAKE_HIDES_COVERED_FULL) + desc = "Autonomous Power Loader Unit. Its every corner is covered in ancient hide, creating a powerful shield. The pilot of this exosuit must be prepared for battles on the level of legend." + if(drake_hides == DRAKE_HIDES_COVERED_MODERATE) + desc = "Autonomous Power Loader Unit. Its armor is adorned with dragon hide plates, instilling fear in its enemies and guarding its pilot." + if(drake_hides == DRAKE_HIDES_COVERED_SLIGHT) + desc = "Autonomous Power Loader Unit. The armor of this exosuit only touches the mythical: a few plates of dragon hide adorn its plating like rare warrior trophies." + return /obj/mecha/working/ripley/update_overlays() . = ..() - if(!hides) - return - if(hides == 3) - . += occupant ? "ripley-g-full" : "ripley-g-full-open" - else - . += occupant ? "ripley-g" : "ripley-g-open" +// hides + if(hides) + if(hides == HIDES_COVERED_FULL) + . += occupant ? "ripley-g-full" : "ripley-g-full-open" + else + . += occupant ? "ripley-g" : "ripley-g-open" +//plates + if(plates) + if(plates == PLATES_COVERED_FULL) + . += occupant ? "ripley-m-full" : "ripley-m-full-open" + else + . += occupant ? "ripley-m" : "ripley-m-open" +//drake hides + if(drake_hides) + if(drake_hides == DRAKE_HIDES_COVERED_FULL) + . += occupant ? "ripley-d-full" : "ripley-d-full-open" + else if(drake_hides == DRAKE_HIDES_COVERED_MODERATE) + . += occupant ? "ripley-d-2" : "ripley-d-2-open" + else if(drake_hides == DRAKE_HIDES_COVERED_SLIGHT) + . += occupant ? "ripley-d" : "ripley-d-open" /obj/mecha/working/ripley/firefighter desc = "A standard APLU chassis that was refitted with additional thermal protection and a cistern." diff --git a/code/game/mecha/working/working.dm b/code/game/mecha/working/working.dm index 3e45148ef51e..c9e7d99ac08d 100644 --- a/code/game/mecha/working/working.dm +++ b/code/game/mecha/working/working.dm @@ -1,2 +1,3 @@ /obj/mecha/working internal_damage_threshold = 60 + diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index f91e4b8d75b9..266974088d24 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -178,7 +178,7 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( /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." + desc = "Pieces of a goliath's rocky hide, these might be able to make your miner equipment such as suits, plasmaman helmets, borgs and Ripley class exosuits a bit more durable to attack from the local fauna." icon = 'icons/obj/stacks/organic.dmi' icon_state = "goliath_hide" item_state = "goliath_hide" @@ -198,41 +198,80 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( if(is_type_in_typecache(target, goliath_platable_armor_typecache)) var/obj/item/clothing/C = target var/datum/armor/current_armor = C.armor - if(current_armor.getRating(MELEE) < 60) - C.armor = current_armor.setRating(melee_value = min(current_armor.getRating(MELEE) + 10, 60)) + if(current_armor.getRating(MELEE) < 75) + if(!use(1)) + to_chat(user, "You dont have enough [src] for this!") + return + C.armor = current_armor.setRating(melee_value = min(current_armor.getRating(MELEE) + 15, 75)) to_chat(user, "You strengthen [target], improving its resistance against melee attacks.") use(1) else to_chat(user, "You can't improve [C] any further!") else if(istype(target, /obj/mecha/working/ripley)) var/obj/mecha/working/ripley/D = target - if(D.hides < 3) + if(D.hides < HIDES_COVERED_FULL && !D.plates && !D.drake_hides) + if(!use(1)) + to_chat(user, "You dont have enough [src] for this!") + return D.hides++ - D.armor = D.armor.setRating(melee_value = min(D.armor.getRating(MELEE) + 10, 70)) - D.armor = D.armor.setRating(bullet_value = min(D.armor.getRating(BULLET) + 5, 50)) - D.armor = D.armor.setRating(laser_value = min(D.armor.getRating(LASER) + 5, 50)) - to_chat(user, "You strengthen [target], improving its resistance against melee attacks.") + D.armor = D.armor.setRating(melee_value = min(D.armor.getRating(MELEE) + 25, 115)) + D.armor = D.armor.setRating(bullet_value = min(D.armor.getRating(BULLET) + 7, 60)) + D.armor = D.armor.setRating(laser_value = min(D.armor.getRating(LASER) + 7, 60)) + to_chat(user, "You strengthen [target], improving its resistance against attacks.") D.update_appearance(UPDATE_DESC|UPDATE_OVERLAYS) - use(1) else to_chat(user, "You can't improve [D] any further!") else if(isrobot(target)) var/mob/living/silicon/robot/R = target if(istype(R.module, /obj/item/robot_module/miner)) var/datum/armor/current_armor = R.armor - if(current_armor.getRating(MELEE) < 60) - R.armor = current_armor.setRating(melee_value = min(current_armor.getRating(MELEE) + 10, 60)) + if(current_armor.getRating(MELEE) < 75) + if(!use(1)) + to_chat(user, "You dont have enough [src] for this!") + return + R.armor = current_armor.setRating(melee_value = min(current_armor.getRating(MELEE) + 15, 75)) to_chat(user, "You strengthen [target], improving its resistance against melee attacks.") - use(1) else to_chat(user, "You can't improve [R] any further!") else to_chat(user, "[R]'s armor can not be improved!") +/obj/item/stack/sheet/animalhide/armor_plate + name = "armor plate" + desc = "This piece of metal can be attached to the mech itself, enhancing its protective characteristics. Unfortunately, only working class exosuits have notches for such armor." + icon = 'icons/mecha/mecha_equipment.dmi' + icon_state = "armor_plate" + item_state = "armor_plate" + singular_name = "armor plate" + flags = NOBLUDGEON + w_class = WEIGHT_CLASS_NORMAL + layer = MOB_LAYER + +/obj/item/stack/sheet/animalhide/armor_plate/afterattack(atom/target, mob/user, proximity_flag) + if(!proximity_flag) + return + if(istype(target, /obj/mecha/working/ripley)) + var/obj/mecha/working/ripley/D = target + if(D.plates < PLATES_COVERED_FULL && !D.hides && !D.drake_hides) + if(!use(1)) + to_chat(user, "You dont have enough [src] for this!") + return + use(1) + D.plates++ + D.armor = D.armor.setRating(melee_value = min(D.armor.getRating(MELEE) + 10, 70)) + D.armor = D.armor.setRating(bullet_value = min(D.armor.getRating(BULLET) + 4, 50)) + D.armor = D.armor.setRating(laser_value = min(D.armor.getRating(LASER) + 4, 50)) + to_chat(user, "You strengthen [target], improving its resistance against attacks.") + D.update_appearance(UPDATE_DESC|UPDATE_OVERLAYS) + else + to_chat(user, "You can't improve [D] any further!") + +/obj/item/stack/sheet/animalhide/armor_plate/attackby(obj/item/W, mob/user, params) + return // no steel leather for ya /obj/item/stack/sheet/animalhide/ashdrake name = "ash drake hide" - desc = "The strong, scaled hide of an ash drake." + desc = "The strong, scaled hide of an ash drake. Can be attached to the mech itself, greatly enhancing its protective characteristics. Unfortunately, only working class exosuits have notches for such armor." icon = 'icons/obj/stacks/organic.dmi' icon_state = "dragon_hide" item_state = "dragon_hide" @@ -242,9 +281,30 @@ GLOBAL_LIST_INIT(sinew_recipes, list ( layer = MOB_LAYER dynamic_icon_state = TRUE +/obj/item/stack/sheet/animalhide/ashdrake/afterattack(atom/target, mob/user, proximity_flag) + if(!proximity_flag) + return + if(istype(target, /obj/mecha/working/ripley)) + var/obj/mecha/working/ripley/D = target + if(D.drake_hides < DRAKE_HIDES_COVERED_FULL && !D.hides && !D.plates) + if(!use(1)) + to_chat(user, "You dont have enough [src] for this!") + return + use(1) + D.drake_hides++ + D.max_integrity += 50 + D.obj_integrity += 50 + D.armor = D.armor.setRating(melee_value = min(D.armor.getRating(MELEE) + 45, 175)) // 77.7% melee armor maximum + D.armor = D.armor.setRating(bullet_value = min(D.armor.getRating(BULLET) + 7, 60)) + D.armor = D.armor.setRating(laser_value = min(D.armor.getRating(LASER) + 7, 60)) + to_chat(user, "You strengthen [target], improving its resistance against attacks.") + D.update_appearance(UPDATE_DESC|UPDATE_OVERLAYS) + else + to_chat(user, "You can't improve [D] any further!") + //Step one - dehairing. -/obj/item/stack/sheet/animalhide/attackby(obj/item/W as obj, mob/user as mob, params) +/obj/item/stack/sheet/animalhide/attackby(obj/item/W, mob/user, params) if(W.sharp) user.visible_message("[user] starts cutting hair off \the [src].", "You start cutting the hair off \the [src]...", "You hear the sound of a knife rubbing against flesh.") if(do_after(user, 50 * W.toolspeed, target = src)) diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index e99af4558810..19fc64619885 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -793,18 +793,18 @@ category = list("Exosuit Equipment") /datum/design/mech_ccw_armor - name = "Exosuit Module (Reactive Armor Booster Module)" + name = "Exosuit Module (Melee Armor Booster Module)" desc = "Exosuit-mounted armor booster." id = "mech_ccw_armor" build_type = MECHFAB - req_tech = list("materials" = 5, "combat" = 4) + req_tech = list("materials" = 5, "combat" = 5, "engineering"=3) build_path = /obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster materials = list(MAT_METAL=20000,MAT_SILVER=5000) construction_time = 10 SECONDS category = list("Exosuit Equipment") /datum/design/mech_proj_armor - name = "Exosuit Module (Reflective Armor Booster Module)" + name = "Exosuit Module (Ranged Armor Booster Module)" desc = "Exosuit-mounted armor booster." id = "mech_proj_armor" build_type = MECHFAB @@ -814,6 +814,17 @@ construction_time = 10 SECONDS category = list("Exosuit Equipment") +/datum/design/mech_armor_plate + name = "Exosuit Mining Armor Plate" + desc = "This piece of metal can be attached to the mech itself, enhancing its protective characteristics. Unfortunately, only working class exosuits have notches for such armor." + id = "mech_plate_armor" + build_type = MECHFAB + req_tech = list("materials" = 5, "combat" = 5, "engineering" = 3) + build_path = /obj/item/stack/sheet/animalhide/armor_plate + materials = list(MAT_METAL = 20000, MAT_TITANIUM = 5000) + construction_time = 10 SECONDS + category = list("Exosuit Equipment") + /datum/design/mech_repair_droid name = "Exosuit Module (Repair Droid Module)" desc = "Automated Repair Droid. BEEP BOOP" diff --git a/icons/mecha/mecha.dmi b/icons/mecha/mecha.dmi index 9d5db73c394c978defeba74eecaea11038a65e3e..6c058ef94167d93c0c843f960f7c856d4f6acc2a 100644 GIT binary patch literal 193257 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 QZyA8V)78&qol`;+037!Gv;Y7A literal 185405 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཈|>R=&yP1@ux0`V7h8Q~ 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

?F$IJNT*!sg9> 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

+<-)Il;c&=d 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
Zz$~FrpEe?b!l3<~ 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

1%UgA!v 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 z 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 diff --git a/icons/mecha/mecha_equipment.dmi b/icons/mecha/mecha_equipment.dmi index f8626a6d6bb11f6b3672bbbdc887a3bf8342d3d2..d0d67fc81ae3e9f8959c685139a65781cb3b2bed 100644 GIT binary patch delta 12987 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 delta 12488 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 diff --git a/paradise.dme b/paradise.dme index 644cbdc20a63..833281129d1b 100644 --- a/paradise.dme +++ b/paradise.dme @@ -84,6 +84,7 @@ #include "code\__DEFINES\martial_arts.dm" #include "code\__DEFINES\MC.dm" #include "code\__DEFINES\mecha_defines.dm" +#include "code\__DEFINES\mecha_hides.dm" #include "code\__DEFINES\medal.dm" #include "code\__DEFINES\misc_defines.dm" #include "code\__DEFINES\mob_defines.dm" From a57169eb2e9d308f1be3bd6d8f114f9403cf52ca Mon Sep 17 00:00:00 2001 From: DGamerL <108773801+DGamerL@users.noreply.github.com> Date: Fri, 17 May 2024 14:49:10 +0200 Subject: [PATCH 14/31] Adds a global spores limit (#25155) --- code/modules/events/blob/blob_mobs.dm | 2 ++ code/modules/events/blob/blob_structures/factory.dm | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/code/modules/events/blob/blob_mobs.dm b/code/modules/events/blob/blob_mobs.dm index 84061c550582..8a7bb881dfc9 100644 --- a/code/modules/events/blob/blob_mobs.dm +++ b/code/modules/events/blob/blob_mobs.dm @@ -84,6 +84,7 @@ if(istype(linked_node)) factory = linked_node factory.spores += src + GLOB.spores_active++ /mob/living/simple_animal/hostile/blob/blobspore/Life(seconds, times_fired) @@ -151,6 +152,7 @@ if(oldguy) oldguy.forceMove(get_turf(src)) oldguy = null + GLOB.spores_active-- return ..() diff --git a/code/modules/events/blob/blob_structures/factory.dm b/code/modules/events/blob/blob_structures/factory.dm index 6bbf5d34f59c..13d7e44a9ecc 100644 --- a/code/modules/events/blob/blob_structures/factory.dm +++ b/code/modules/events/blob/blob_structures/factory.dm @@ -1,3 +1,5 @@ +GLOBAL_VAR_INIT(spores_active, 0) +#define MAX_GLOBAL_SPORES 25 /obj/structure/blob/factory name = "factory blob" icon = 'icons/mob/blob.dmi' @@ -5,7 +7,7 @@ max_integrity = 200 point_return = 18 var/list/spores = list() - var/max_spores = 3 + var/max_spores = 5 var/spore_delay = 0 /obj/structure/blob/factory/Destroy() @@ -16,12 +18,14 @@ return ..() /obj/structure/blob/factory/run_action() - if(length(spores) >= max_spores) + if(length(spores) >= max_spores || GLOB.spores_active >= MAX_GLOBAL_SPORES) return if(spore_delay > world.time) return flick("blob_factory_glow", src) - spore_delay = world.time + 100 // 10 seconds + spore_delay = world.time + 10 SECONDS var/mob/living/simple_animal/hostile/blob/blobspore/BS = new/mob/living/simple_animal/hostile/blob/blobspore(src.loc, src) if(overmind) overmind.add_mob_to_overmind(BS) + +#undef MAX_GLOBAL_SPORES From da0843e96d69fd9beaf06862315907e5943ef57d Mon Sep 17 00:00:00 2001 From: Charlie Nolan Date: Fri, 17 May 2024 05:49:32 -0700 Subject: [PATCH 15/31] Add Variety of Food secondary goal, small tweaks. (#25173) * Add Variety of Food secondary goal, small tweaks. * oops * Apply suggestions from code review Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * No slasher movies, please. * No prions for CC, please. * Update code/modules/station_goals/secondary/botany/kudzu_goal.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: Charlie Nolan * Update code/modules/station_goals/secondary/kitchen/variety_food.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: Charlie Nolan * Update variety_food.dm --------- Signed-off-by: Charlie Nolan Co-authored-by: FunnyMan3595 (Charlie Nolan) Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> --- code/__DEFINES/food_defines.dm | 10 +- code/__DEFINES/reagents_defines.dm | 6 + code/controllers/subsystem/SSeconomy.dm | 1 + .../food_and_drinks/food/foods/baked_goods.dm | 12 ++ .../food_and_drinks/food/foods/bread.dm | 11 ++ .../food_and_drinks/food/foods/candy.dm | 4 + .../food_and_drinks/food/foods/frozen.dm | 2 + .../food_and_drinks/food/foods/meat.dm | 6 + .../food_and_drinks/food/foods/misc_food.dm | 1 + .../food_and_drinks/food/foods/pizza.dm | 13 ++ .../food_and_drinks/food/foods/sandwiches.dm | 10 ++ .../food_and_drinks/food/foods/seafood.dm | 10 ++ .../food_and_drinks/food/foods/soups.dm | 2 + code/modules/food_and_drinks/food_base.dm | 6 +- .../reagents/chemistry/reagents/alcohol.dm | 10 +- .../reagents/chemistry/reagents/drugs.dm | 2 +- code/modules/shuttle/supply.dm | 18 +++ .../secondary/botany/kudzu_goal.dm | 20 +-- .../secondary/kitchen/random_bulk_food.dm | 3 + .../secondary/kitchen/variety_food.dm | 117 ++++++++++++++++++ .../secondary/random_bulk_reagent.dm | 5 + .../secondary/science/random_ripley.dm | 6 +- .../secondary/secondary_goal_tracker.dm | 2 +- .../secondary/variety_reagent.dm | 10 +- paradise.dme | 1 + 25 files changed, 252 insertions(+), 36 deletions(-) create mode 100644 code/modules/station_goals/secondary/kitchen/variety_food.dm diff --git a/code/__DEFINES/food_defines.dm b/code/__DEFINES/food_defines.dm index 83d378400e11..35131425ad72 100644 --- a/code/__DEFINES/food_defines.dm +++ b/code/__DEFINES/food_defines.dm @@ -1,5 +1,13 @@ -// Used for secondary goals. +/// Used for secondary goals. +/// TOO easy, not accepted for variety goals. #define FOOD_GOAL_SKIP 0 +/// Easy food, ask for a lot for single goals. #define FOOD_GOAL_EASY 1 +/// Normal food, ask for a middling amount for single goals. #define FOOD_GOAL_NORMAL 2 +/// Hard reagent, ask for a little for single goals. #define FOOD_GOAL_HARD 3 +/// TOO hard, accepted for variety goals, but never used for single goals. +#define FOOD_GOAL_EXCESSIVE 4 +/// Same as FOOD_GOAL_EXCESSIVE, just different name to indicate that there's another version of this food that's used in variety goals. +#define FOOD_GOAL_DUPLICATE FOOD_GOAL_EXCESSIVE diff --git a/code/__DEFINES/reagents_defines.dm b/code/__DEFINES/reagents_defines.dm index 45bc2fafd1d2..25f1b1661a27 100644 --- a/code/__DEFINES/reagents_defines.dm +++ b/code/__DEFINES/reagents_defines.dm @@ -34,7 +34,13 @@ #define BLOOD_TYPE_FAKE_BLOOD "Vh Null" /// Used for secondary goals. +/// TOO easy, not accepted for variety goals. #define REAGENT_GOAL_SKIP 0 +/// Easy reagent, ask for a lot for single goals. #define REAGENT_GOAL_EASY 1 +/// Normal reagent, ask for a middling amount for single goals. #define REAGENT_GOAL_NORMAL 2 +/// Hard reagent, ask for a little for single goals. #define REAGENT_GOAL_HARD 3 +/// TOO hard, accepted for variety goals, but never used for single goals. +#define REAGENT_GOAL_EXCESSIVE 4 diff --git a/code/controllers/subsystem/SSeconomy.dm b/code/controllers/subsystem/SSeconomy.dm index c261d7f963a7..8e6e428e69b5 100644 --- a/code/controllers/subsystem/SSeconomy.dm +++ b/code/controllers/subsystem/SSeconomy.dm @@ -68,6 +68,7 @@ SUBSYSTEM_DEF(economy) var/credits_per_easy_food_goal = 300 var/credits_per_normal_food_goal = 450 var/credits_per_hard_food_goal = 600 + var/credits_per_variety_food_goal = 450 var/credits_per_ripley_goal = 600 var/credits_per_kudzu_goal = 600 /// credits lost for sending unsecured cargo diff --git a/code/modules/food_and_drinks/food/foods/baked_goods.dm b/code/modules/food_and_drinks/food/foods/baked_goods.dm index 903e25d32db8..dfcfbf50f4bb 100644 --- a/code/modules/food_and_drinks/food/foods/baked_goods.dm +++ b/code/modules/food_and_drinks/food/foods/baked_goods.dm @@ -16,6 +16,7 @@ filling_color = "#FFD675" list_reagents = list("nutriment" = 20, "oculine" = 10, "vitamin" = 5) tastes = list("cake" = 5, "sweetness" = 2, "carrot" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/carrotcakeslice name = "carrot cake slice" @@ -39,6 +40,7 @@ bitesize = 3 list_reagents = list("protein" = 10, "nutriment" = 10, "mannitol" = 10, "vitamin" = 5) tastes = list("cake" = 5, "sweetness" = 2, "brains" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/braincakeslice name = "brain cake slice" @@ -61,6 +63,7 @@ bitesize = 3 list_reagents = list("nutriment" = 20, "vitamin" = 5) tastes = list("cake" = 4, "cream cheese" = 3) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/cheesecakeslice name = "cheese cake slice" @@ -83,6 +86,7 @@ filling_color = "#F7EDD5" list_reagents = list("nutriment" = 20, "vitamin" = 5) tastes = list("cake" = 5, "vanilla" = 1, "sweetness" = 2) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/plaincakeslice name = "vanilla cake slice" @@ -105,6 +109,7 @@ filling_color = "#FADA8E" list_reagents = list("nutriment" = 20, "vitamin" = 5) tastes = list("cake" = 5, "sweetness" = 2, "oranges" = 2) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/orangecakeslice name = "orange cake slice" @@ -127,6 +132,7 @@ filling_color = "#FADA8E" list_reagents = list("nutriment" = 20, "vitamin" = 5) tastes = list("cake" = 5, "sweetness" = 2, "banana" = 2) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/bananacakeslice name = "banana cake slice" @@ -149,6 +155,7 @@ filling_color = "#CBFA8E" list_reagents = list("nutriment" = 20, "vitamin" = 5) tastes = list("cake" = 5, "sweetness" = 2, "unbearable sourness" = 2) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/limecakeslice name = "lime cake slice" @@ -171,6 +178,7 @@ filling_color = "#FAFA8E" list_reagents = list("nutriment" = 20, "vitamin" = 5) tastes = list("cake" = 5, "sweetness" = 2, "sourness" = 2) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/lemoncakeslice name = "lemon cake slice" @@ -193,6 +201,7 @@ filling_color = "#805930" list_reagents = list("nutriment" = 20, "vitamin" = 5) tastes = list("cake" = 5, "sweetness" = 1, "chocolate" = 4) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/chocolatecakeslice name = "chocolate cake slice" @@ -215,6 +224,7 @@ bitesize = 3 list_reagents = list("nutriment" = 20, "sprinkles" = 10, "vitamin" = 5) tastes = list("cake" = 5, "sweetness" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/birthdaycakeslice name = "birthday cake slice" @@ -237,6 +247,7 @@ filling_color = "#EBF5B8" list_reagents = list("nutriment" = 20, "vitamin" = 5) tastes = list("cake" = 5, "sweetness" = 1, "apple" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/applecakeslice name = "apple cake slice" @@ -369,6 +380,7 @@ filling_color = "#43DE18" list_reagents = list("nutriment" = 10, "vitamin" = 2) tastes = list("pie" = 1, "meat" = 1, "acid" = 1) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/applepie diff --git a/code/modules/food_and_drinks/food/foods/bread.dm b/code/modules/food_and_drinks/food/foods/bread.dm index e81ee938ff9c..89382e1e1b94 100644 --- a/code/modules/food_and_drinks/food/foods/bread.dm +++ b/code/modules/food_and_drinks/food/foods/bread.dm @@ -13,6 +13,7 @@ filling_color = "#FF7575" list_reagents = list("protein" = 20, "nutriment" = 10, "vitamin" = 5) tastes = list("bread" = 10, "meat" = 10) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/meatbreadslice name = "meatbread slice" @@ -32,6 +33,7 @@ filling_color = "#8AFF75" list_reagents = list("protein" = 20, "nutriment" = 10, "vitamin" = 5) tastes = list("bread" = 10, "acid" = 10) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/xenomeatbreadslice name = "xenomeatbread slice" @@ -39,6 +41,7 @@ icon = 'icons/obj/food/burgerbread.dmi' icon_state = "xenobreadslice" filling_color = "#8AFF75" + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/sliceable/spidermeatbread name = "spider meat loaf" @@ -49,6 +52,7 @@ slices_num = 5 list_reagents = list("protein" = 20, "nutriment" = 10, "toxin" = 15, "vitamin" = 5) tastes = list("bread" = 10, "cobwebs" = 5) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/spidermeatbreadslice name = "spider meat bread slice" @@ -57,6 +61,7 @@ icon_state = "spidermeatslice" tastes = list("bread" = 10, "cobwebs" = 5) list_reagents = list("toxin" = 2) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/sliceable/bananabread name = "banana-nut bread" @@ -68,6 +73,7 @@ filling_color = "#EDE5AD" list_reagents = list("banana" = 20, "nutriment" = 20) tastes = list("bread" = 10, "banana" = 5) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/bananabreadslice name = "banana-nut bread slice" @@ -88,6 +94,7 @@ filling_color = "#F7FFE0" list_reagents = list("nutriment" = 20, "vitamin" = 5) tastes = list("bread" = 10, "tofu" = 10) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/tofubreadslice name = "tofubread slice" @@ -107,6 +114,7 @@ filling_color = "#FFE396" list_reagents = list("nutriment" = 10) tastes = list("bread" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/breadslice name = "bread slice" @@ -128,6 +136,7 @@ filling_color = "#FFF896" list_reagents = list("nutriment" = 20, "vitamin" = 5) tastes = list("bread" = 10, "cheese" = 10) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/creamcheesebreadslice name = "cream cheese bread slice" @@ -149,6 +158,7 @@ filling_color = "#6F0000" list_reagents = list("nutriment" = 20, "vitamin" = 5) tastes = list("heresy" = 10, "banana" = 10) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/banarnarbreadslice name = "banarnarbread slice" @@ -225,6 +235,7 @@ bitesize = 3 list_reagents = list("nutriment" = 3) tastes = list("toast" = 1) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/jelliedtoast name = "jellied toast" diff --git a/code/modules/food_and_drinks/food/foods/candy.dm b/code/modules/food_and_drinks/food/foods/candy.dm index 80cbfc5ee20b..a6a65499b020 100644 --- a/code/modules/food_and_drinks/food/foods/candy.dm +++ b/code/modules/food_and_drinks/food/foods/candy.dm @@ -125,6 +125,7 @@ filling_color = "#FFFFFF" bitesize = 4 list_reagents = list("sugar" = 15) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/candy/candybar name = "candy" @@ -155,6 +156,7 @@ filling_color = "#FFFFFF" bitesize = 3 list_reagents = list("sugar" = 10) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/candy/gummyworm name = "gummy worm" @@ -163,6 +165,7 @@ filling_color = "#FFFFFF" bitesize = 3 list_reagents = list("sugar" = 10) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/candy/jellybean name = "jelly bean" @@ -171,6 +174,7 @@ filling_color = "#FFFFFF" bitesize = 3 list_reagents = list("sugar" = 10) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/candy/jawbreaker name = "jawbreaker" diff --git a/code/modules/food_and_drinks/food/foods/frozen.dm b/code/modules/food_and_drinks/food/foods/frozen.dm index dd117fbaecb1..89824dd503c3 100644 --- a/code/modules/food_and_drinks/food/foods/frozen.dm +++ b/code/modules/food_and_drinks/food/foods/frozen.dm @@ -21,6 +21,7 @@ bitesize = 3 list_reagents = list("nutriment" = 20, "sugar" = 5, "vitamin" = 5, "banana" = 15) tastes = list("cake" = 5, "sweetness" = 2, "banana" = 1, "sad clowns" = 1, "ice-cream" = 1) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/frozen/clowncakeslice name = "clown cake slice" @@ -155,6 +156,7 @@ trash = /obj/item/reagent_containers/drinks/sillycup list_reagents = list("water" = 10, "ice" = 5) tastes = list("cold water" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/frozen/snowcone/apple name = "apple snowcone" diff --git a/code/modules/food_and_drinks/food/foods/meat.dm b/code/modules/food_and_drinks/food/foods/meat.dm index e5a34bad7a31..a187fd7685b4 100644 --- a/code/modules/food_and_drinks/food/foods/meat.dm +++ b/code/modules/food_and_drinks/food/foods/meat.dm @@ -284,6 +284,7 @@ bitesize = 4 list_reagents = list("nutriment" = 6) tastes = list("cobwebs" = 1, "the colour green" = 1) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/boiledspiderleg name = "boiled spider leg" @@ -294,6 +295,7 @@ bitesize = 3 list_reagents = list("nutriment" = 3, "capsaicin" = 2) tastes = list("cobwebs" = 1, "hot peppers" = 1) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/wingfangchu name = "wing fang chu" @@ -304,6 +306,7 @@ filling_color = "#43DE18" list_reagents = list("nutriment" = 6, "soysauce" = 5, "vitamin" = 2) tastes = list("soy" = 1) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/goliath_steak name = "goliath steak" @@ -314,6 +317,7 @@ trash = null list_reagents = list("protein" = 6, "vitamin" = 2) tastes = list("meat" = 1) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/fried_vox name = "Kentucky Fried Vox" @@ -323,6 +327,7 @@ trash = /obj/item/trash/fried_vox list_reagents = list("nutriment" = 3, "protein" = 5) tastes = list("quills" = 1, "the shoal" = 1) + goal_difficulty = FOOD_GOAL_EXCESSIVE ////////////////////// // Cubes // @@ -553,6 +558,7 @@ slices_num = 6 list_reagents = list("protein" = 24, "nutriment" = 18, "vitamin" = 5) tastes = list("turkey" = 2, "stuffing" = 2) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/turkeyslice name = "turkey serving" diff --git a/code/modules/food_and_drinks/food/foods/misc_food.dm b/code/modules/food_and_drinks/food/foods/misc_food.dm index a65b1bcf3fa3..7d5b6bcf6b07 100644 --- a/code/modules/food_and_drinks/food/foods/misc_food.dm +++ b/code/modules/food_and_drinks/food/foods/misc_food.dm @@ -277,6 +277,7 @@ bitesize = 3 list_reagents = list("slimejelly" = 5) tastes = list("jelly" = 1) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/popcorn name = "popcorn" diff --git a/code/modules/food_and_drinks/food/foods/pizza.dm b/code/modules/food_and_drinks/food/foods/pizza.dm index 9cdc5cddb6f7..9cdfabe8f6ec 100644 --- a/code/modules/food_and_drinks/food/foods/pizza.dm +++ b/code/modules/food_and_drinks/food/foods/pizza.dm @@ -16,6 +16,7 @@ icon_state = "margheritapizza" slice_path = /obj/item/food/snacks/margheritapizzaslice list_reagents = list("nutriment" = 30, "tomatojuice" = 6, "vitamin" = 5) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/margheritapizzaslice name = "margherita slice" @@ -34,6 +35,7 @@ slice_path = /obj/item/food/snacks/meatpizzaslice list_reagents = list("protein" = 30, "tomatojuice" = 6, "vitamin" = 8) tastes = list("crust" = 1, "cheese" = 1, "meat" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/meatpizzaslice name = "meat pizza slice" @@ -52,6 +54,7 @@ slice_path = /obj/item/food/snacks/mushroompizzaslice list_reagents = list("plantmatter" = 30, "vitamin" = 5) tastes = list("crust" = 1, "cheese" = 1, "mushroom" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/mushroompizzaslice name = "mushroom pizza slice" @@ -70,6 +73,7 @@ slice_path = /obj/item/food/snacks/vegetablepizzaslice list_reagents = list("plantmatter" = 25, "tomatojuice" = 6, "oculine" = 12, "vitamin" = 5) tastes = list("crust" = 1, "tomato" = 1, "carrot" = 1, "vegetables" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/vegetablepizzaslice name = "vegetable pizza slice" @@ -88,6 +92,7 @@ slice_path = /obj/item/food/snacks/hawaiianpizzaslice list_reagents = list("protein" = 15, "tomatojuice" = 6, "plantmatter" = 20, "pineapplejuice" = 6, "vitamin" = 5) tastes = list("crust" = 1, "cheese" = 1, "pineapple" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/hawaiianpizzaslice name = "hawaiian pizza slice" @@ -107,6 +112,7 @@ list_reagents = list("nutriment" = 40, "vitamin" = 5) //More nutriment because carbs, but it's not any more vitaminicious filling_color = "#ffe45d" tastes = list("crust" = 1, "cheese" = 2, "pasta" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/macpizzaslice name = "mac 'n' cheese pizza slice" @@ -126,6 +132,7 @@ list_reagents = list("protein" = 30, "tomatojuice" = 6, "vitamin" = 8) filling_color = "#ffe45d" tastes = list("cheese" = 3, "pepperoni" = 3, "grease" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/pepperonipizzaslice name = "pepperoni pizza slice" @@ -143,6 +150,7 @@ icon_state = "cheesepizza" slice_path = /obj/item/food/snacks/cheesepizzaslice list_reagents = list("nutriment" = 40, "tomatojuice" = 6, "vitamin" = 5) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/cheesepizzaslice name = "cheese pizza slice" @@ -161,6 +169,7 @@ slice_path = /obj/item/food/snacks/donkpocketpizzaslice list_reagents = list("nutriment" = 35, "tomatojuice" = 6, "vitamin" = 2, "weak_omnizine" = 6) tastes = list("crust" = 1, "meat" = 1, "laziness" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/donkpocketpizzaslice name = "donk-pocket pizza slice" @@ -179,6 +188,7 @@ slice_path = /obj/item/food/snacks/dankpizzaslice list_reagents = list("nutriment" = 30, "tomatojuice" = 6, "vitamin" = 5, "cbd" = 6, "thc" = 6) tastes = list("crust" = 1, "cheese" = 1, "special herbs" = 2) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/dankpizzaslice name = "dank pizza slice" @@ -197,6 +207,7 @@ slice_path = /obj/item/food/snacks/firecrackerpizzaslice list_reagents = list("nutriment" = 30, "vitamin" = 5, "capsaicin" = 12) tastes = list("crust" = 1, "cheese" = 1, "HOTNESS" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/firecrackerpizzaslice name = "firecracker pizza slice" @@ -215,6 +226,7 @@ slice_path = /obj/item/food/snacks/pestopizzaslice list_reagents = list("nutriment" = 30, "tomatojuice" = 12, "vitamin" = 5, "wasabi" = 12) tastes = list("tomato" = 1, "cheese" = 1, "wasabi" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/pestopizzaslice name = "\"pesto\" pizza slice" @@ -233,6 +245,7 @@ slice_path = /obj/item/food/snacks/garlicpizzaslice list_reagents = list("plantmatter" = 30, "vitamin" = 5, "garlic" = 12) tastes = list("crust" = 1, "cheese" = 1, "garlic" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/garlicpizzaslice name = "garlic pizza slice" diff --git a/code/modules/food_and_drinks/food/foods/sandwiches.dm b/code/modules/food_and_drinks/food/foods/sandwiches.dm index 77f1a8092ec7..cefe18469afb 100644 --- a/code/modules/food_and_drinks/food/foods/sandwiches.dm +++ b/code/modules/food_and_drinks/food/foods/sandwiches.dm @@ -38,6 +38,7 @@ bitesize = 3 list_reagents = list("nutriment" = 6, "vitamin" = 1) tastes = list("bun" = 4, "ectoplasm" = 2) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/human var/hname = "" @@ -93,6 +94,7 @@ bitesize = 3 list_reagents = list("nutriment" = 6, "vitamin" = 1) tastes = list("bun" = 4, "acid" = 4) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/burger/clown name = "clown burger" @@ -102,6 +104,7 @@ bitesize = 3 list_reagents = list("nutriment" = 6, "vitamin" = 1) tastes = list("bun" = 4, "banana" = 1, "magic" = 2) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/burger/mime name = "mime burger" @@ -111,6 +114,7 @@ bitesize = 3 list_reagents = list("nutriment" = 6, "vitamin" = 1) tastes = list("bun" = 4, "silence" = 2) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/burger/baseball name = "home run baseball burger" @@ -120,6 +124,7 @@ bitesize = 3 list_reagents = list("nutriment" = 6, "vitamin" = 1) tastes = list("bun" = 4, "a homerun" = 3) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/burger/spell name = "spell burger" @@ -129,6 +134,7 @@ bitesize = 3 list_reagents = list("nutriment" = 6, "vitamin" = 1) tastes = list("bun" = 4, "magic" = 2) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/burger/bigbite name = "BigBite burger" @@ -148,6 +154,7 @@ bitesize = 7 list_reagents = list("nutriment" = 40, "vitamin" = 5) tastes = list("bun" = 4, "meat" = 2, "cheese" = 2, "type two diabetes" = 10) + goal_difficulty = FOOD_GOAL_HARD /obj/item/food/snacks/burger/crazy name = "crazy hamburger" @@ -157,6 +164,7 @@ bitesize = 3 list_reagents = list("nutriment" = 10, "vitamin" = 2, "capsaicin" = 3, "condensedcapsaicin" = 2) tastes = list("bun" = 2, "meat" = 4, "cheese" = 2, "beef soaked in chili" = 3, "a smoking flare" = 2) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/burger/ppatty/white name = "white pretty patty" @@ -285,6 +293,7 @@ bitesize = 3 list_reagents = list("nutriment" = 3, "protein" = 6, "vitamin" = 2) tastes = list("bun" = 1, "meat" = 1, "salmon" = 1) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/burger/fivealarm name = "five alarm burger" @@ -401,6 +410,7 @@ icon_state = "notasandwich" list_reagents = list("nutriment" = 6, "vitamin" = 6) tastes = list("nothing suspicious" = 1) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/wrap name = "egg wrap" diff --git a/code/modules/food_and_drinks/food/foods/seafood.dm b/code/modules/food_and_drinks/food/foods/seafood.dm index 69f88b307ecd..a4529b88ae06 100644 --- a/code/modules/food_and_drinks/food/foods/seafood.dm +++ b/code/modules/food_and_drinks/food/foods/seafood.dm @@ -149,6 +149,7 @@ bitesize = 3 list_reagents = list("nutriment" = 8) tastes = list("shrimp" = 1, "rice" = 1, "seaweed" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/sushi_Ebi name = "ebi sushi" @@ -170,6 +171,7 @@ bitesize = 3 list_reagents = list("nutriment" = 8, "protein" = 4) tastes = list("salmon roe" = 1, "rice" = 1, "seaweed" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/sushi_Ikura name = "ikura sushi" @@ -191,6 +193,7 @@ bitesize = 3 list_reagents = list("nutriment" = 8) tastes = list("raw salmon" = 1, "rice" = 1, "seaweed" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/sushi_Sake name = "sake sushi" @@ -212,6 +215,7 @@ bitesize = 3 list_reagents = list("nutriment" = 8) tastes = list("smoked salmon" = 1, "rice" = 1, "seaweed" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/sushi_SmokedSalmon name = "smoked salmon sushi" @@ -233,6 +237,7 @@ bitesize = 3 list_reagents = list("nutriment" = 8) tastes = list("egg" = 1, "rice" = 1, "seaweed" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/sushi_Tamago name = "tamago sushi" @@ -254,6 +259,7 @@ bitesize = 3 list_reagents = list("nutriment" = 8) tastes = list("fried tofu" = 1, "rice" = 1, "seaweed" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/sushi_Inari name = "inari sushi" @@ -275,6 +281,7 @@ bitesize = 3 list_reagents = list("nutriment" = 8, "protein" = 4) tastes = list("goldfish roe" = 1, "rice" = 1, "seaweed" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/sushi_Masago name = "masago sushi" @@ -296,6 +303,7 @@ bitesize = 3 list_reagents = list("nutriment" = 8, "protein" = 4) tastes = list("shark roe" = 1, "rice" = 1, "seaweed" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/sushi_Tobiko name = "tobiko sushi" @@ -317,6 +325,7 @@ bitesize = 3 list_reagents = list("nutriment" = 8, "protein" = 4) tastes = list("shark roe" = 1, "rice" = 1, "egg" = 1, "seaweed" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/sushi_TobikoEgg name = "tobiko and egg sushi" @@ -338,6 +347,7 @@ bitesize = 3 list_reagents = list("nutriment" = 8) tastes = list("catfish" = 1, "rice" = 1, "seaweed" = 1) + goal_difficulty = FOOD_GOAL_DUPLICATE /obj/item/food/snacks/sushi_Tai name = "tai sushi" diff --git a/code/modules/food_and_drinks/food/foods/soups.dm b/code/modules/food_and_drinks/food/foods/soups.dm index e2c4df37a92a..e7b4db67565e 100644 --- a/code/modules/food_and_drinks/food/foods/soups.dm +++ b/code/modules/food_and_drinks/food/foods/soups.dm @@ -47,6 +47,7 @@ filling_color = "#C4FBFF" list_reagents = list("nutriment" = 4, "banana" = 5, "water" = 5, "vitamin" = 8) tastes = list("a bad joke" = 1) + goal_difficulty = FOOD_GOAL_EXCESSIVE /obj/item/food/snacks/soup/vegetablesoup name = "vegetable soup" @@ -317,3 +318,4 @@ filling_color = "#FF3C00" list_reagents = list("nutriment" = 5, "tomatojuice" = 2, "protein" = 2) tastes = list("tomato" = 1, "chili" = 1, "meat" = 1, "sad clowns" = 4) + goal_difficulty = FOOD_GOAL_EXCESSIVE diff --git a/code/modules/food_and_drinks/food_base.dm b/code/modules/food_and_drinks/food_base.dm index d748c00e5bd8..21c53fbad007 100644 --- a/code/modules/food_and_drinks/food_base.dm +++ b/code/modules/food_and_drinks/food_base.dm @@ -29,9 +29,9 @@ var/temperature_min = 0 // To limit the temperature of a reagent container can attain when exposed to heat/cold var/temperature_max = 10000 - // How difficult is this food for the kitchen to make? - // Affects the quantity of food that is requested by CC. - var/goal_difficulty = REAGENT_GOAL_SKIP + /// How difficult is this food for the kitchen to make? + /// Affects the quantity of food that is requested by CC. + var/goal_difficulty = FOOD_GOAL_SKIP /obj/item/food/Initialize(mapload) . = ..() diff --git a/code/modules/reagents/chemistry/reagents/alcohol.dm b/code/modules/reagents/chemistry/reagents/alcohol.dm index f5fc09e778da..fa8761a520a7 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol.dm @@ -163,7 +163,7 @@ drink_name = "Glass of Mojito" drink_desc = "Fresh from Spesscuba." taste_description = "mojito" - goal_difficulty = REAGENT_GOAL_EASY + goal_difficulty = REAGENT_GOAL_NORMAL /datum/reagent/consumable/ethanol/vodka name = "Vodka" @@ -776,7 +776,7 @@ drink_name = "Demons Blood" drink_desc = "Just looking at this thing makes the hair at the back of your neck stand up." taste_description = "evil" - goal_difficulty = REAGENT_GOAL_EASY + goal_difficulty = REAGENT_GOAL_HARD /datum/reagent/consumable/ethanol/vodkatonic name = "Vodka and Tonic" @@ -1529,7 +1529,7 @@ drink_desc = "A sawed-off cola bottle filled with Fernet Cola. You can hear cuarteto music coming from the inside." taste_description = "low class heaven" remove_nutrition = 1 - goal_difficulty = REAGENT_GOAL_EASY + goal_difficulty = REAGENT_GOAL_EXCESSIVE /datum/reagent/consumable/ethanol/gimlet name = "Gimlet" @@ -1553,7 +1553,7 @@ drink_name = "Sidecar" drink_desc = "You can smell the citrus from here!" taste_description = "smooth cognac and tart citrus" - goal_difficulty = REAGENT_GOAL_HARD + goal_difficulty = REAGENT_GOAL_EASY /datum/reagent/consumable/ethanol/whiskey_sour name = "Whiskey Sour" @@ -1577,7 +1577,7 @@ drink_name = "Mint Julep" drink_desc = "A dainty glass of whiskey and mint on the rocks. Perfect for summer!" taste_description = "sweet and cooling mint" - goal_difficulty = REAGENT_GOAL_EASY + goal_difficulty = REAGENT_GOAL_NORMAL /datum/reagent/consumable/ethanol/pina_colada name = "Pina Colada" diff --git a/code/modules/reagents/chemistry/reagents/drugs.dm b/code/modules/reagents/chemistry/reagents/drugs.dm index ee4a091a22f5..cf4d29a17c31 100644 --- a/code/modules/reagents/chemistry/reagents/drugs.dm +++ b/code/modules/reagents/chemistry/reagents/drugs.dm @@ -453,7 +453,7 @@ taste_description = "WAAAAGH" var/bonus_damage = 2 goal_department = "Science" - goal_difficulty = REAGENT_GOAL_HARD + goal_difficulty = REAGENT_GOAL_EXCESSIVE /datum/reagent/bath_salts/on_mob_add(mob/living/L) if(ishuman(L)) diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index 6fdcf267a140..9853fc4e78bc 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -294,6 +294,7 @@ var/msg = "

---[station_time_timestamp()]---

" var/list/credit_changes = list() + var/list/department_messages = list() for(var/datum/economy/line_item/item in manifest.line_items) if(!credit_changes[item.account]) credit_changes[item.account] = 0 @@ -306,6 +307,13 @@ else msg += "[item.account.account_name] [item.credits]: [item.reason]
" + if(item.requests_console_department) + if(!department_messages[item.requests_console_department]) + department_messages[item.requests_console_department] = list() + if(!department_messages[item.requests_console_department][item.reason]) + department_messages[item.requests_console_department][item.reason] = 0 + department_messages[item.requests_console_department][item.reason]++ + for(var/datum/money_account/account in credit_changes) if(account.account_type == ACCOUNT_TYPE_DEPARTMENT) SSblackbox.record_feedback("tally", "cargo profits", credit_changes[account], "[account.account_name]") @@ -317,6 +325,15 @@ else GLOB.station_money_database.charge_account(account, -credit_changes[account], "Supply Shuttle Fine", "Central Command Supply Master", allow_overdraft = TRUE, supress_log = FALSE) + for(var/department in department_messages) + var/list/rc_message = list() + for(var/message_piece in department_messages[department]) + var/count = "" + if(department_messages[department][message_piece] > 1) + count = " (x[department_messages[department][message_piece]])" + rc_message += "[message_piece][count]" + send_requests_console_message(rc_message, "Central Command", department, "Stamped with the Central Command rubber stamp.", "Verified by the Central Command receiving department.", RQ_NORMALPRIORITY) + SSeconomy.centcom_message += "[msg]
" manifest = new @@ -802,6 +819,7 @@ /datum/economy/line_item var/datum/money_account/account + var/requests_console_department var/credits var/reason var/zero_is_good = FALSE diff --git a/code/modules/station_goals/secondary/botany/kudzu_goal.dm b/code/modules/station_goals/secondary/botany/kudzu_goal.dm index 68387c00754d..d77445775a1d 100644 --- a/code/modules/station_goals/secondary/botany/kudzu_goal.dm +++ b/code/modules/station_goals/secondary/botany/kudzu_goal.dm @@ -65,6 +65,7 @@ item.account = GLOB.station_money_database.get_account_by_department(DEPARTMENT_SERVICE) item.credits = 0 item.reason = "[AM] does not have the right traits." + item.requests_console_department = "Hydroponics" manifest.line_items += item return COMSIG_CARGO_SELL_WRONG @@ -79,27 +80,12 @@ update_item.credits = 0 update_item.zero_is_good = TRUE update_item.reason = "Received [sent_this_shipment] useful samples of kudzu seeds." + update_item.requests_console_department = "Hydroponics" manifest.line_items += update_item if(sent < needed) return - var/datum/economy/line_item/supply_item = new - supply_item.account = SSeconomy.cargo_account - supply_item.credits = SSeconomy.credits_per_kudzu_goal / 3 - supply_item.reason = "Secondary goal complete: [needed] samples of kudzu seeds." - manifest.line_items += supply_item - - var/datum/economy/line_item/department_item = new - department_item.account = GLOB.station_money_database.get_account_by_department(DEPARTMENT_SERVICE) - department_item.credits = SSeconomy.credits_per_kudzu_goal / 3 - department_item.reason = "Secondary goal complete: [needed] samples of kudzu seeds." - manifest.line_items += department_item - - var/datum/economy/line_item/personal_item = new - personal_item.account = personal_account || department_item.account - personal_item.credits = SSeconomy.credits_per_kudzu_goal / 3 - personal_item.reason = "Secondary goal complete: [needed] samples of kudzu seeds." - manifest.line_items += personal_item + three_way_reward(manifest, "Hydroponics", GLOB.station_money_database.get_account_by_department(DEPARTMENT_SERVICE), SSeconomy.credits_per_kudzu_goal, "Secondary goal complete: [needed] samples of kudzu seeds.") return TRUE diff --git a/code/modules/station_goals/secondary/kitchen/random_bulk_food.dm b/code/modules/station_goals/secondary/kitchen/random_bulk_food.dm index 7580945d7113..cc3296af2f17 100644 --- a/code/modules/station_goals/secondary/kitchen/random_bulk_food.dm +++ b/code/modules/station_goals/secondary/kitchen/random_bulk_food.dm @@ -13,6 +13,8 @@ var/obj/item/food/snacks/candidate = S if(initial(candidate.goal_difficulty) == FOOD_GOAL_SKIP) continue + if(initial(candidate.goal_difficulty) == FOOD_GOAL_EXCESSIVE) + continue valid_food += candidate if(!valid_food) @@ -83,6 +85,7 @@ update_item.credits = 0 update_item.zero_is_good = TRUE update_item.reason = "Received [sent_this_shipment] servings of [initial(food_type.name)]." + update_item.requests_console_department = "Kitchen" manifest.line_items += update_item if(sent < needed) diff --git a/code/modules/station_goals/secondary/kitchen/variety_food.dm b/code/modules/station_goals/secondary/kitchen/variety_food.dm new file mode 100644 index 000000000000..66144ba24779 --- /dev/null +++ b/code/modules/station_goals/secondary/kitchen/variety_food.dm @@ -0,0 +1,117 @@ +/datum/station_goal/secondary/variety_food + name = "Variety of Food" + progress_type = /datum/secondary_goal_progress/variety_food + department = "Kitchen" + abstract = FALSE + /// How many different types of food are needed. + var/different_types = 10 + /// How many of each food type are needed. + var/amount_per = 3 + var/department_account + var/generic_name_plural = "dishes" + var/reward + +/datum/station_goal/secondary/variety_food/randomize_params() + ..() + department_account = GLOB.station_money_database.get_account_by_department(DEPARTMENT_SERVICE) + report_message = "We're holding a fundraising banquet, and we need a suitable spread of food for it. Send us at least [amount_per] servings of [different_types] different dishes." + +/datum/station_goal/secondary/variety_food/Initialize(requester_account) + reward = SSeconomy.credits_per_variety_food_goal + ..() + admin_desc = "[amount_per] units of [different_types] [generic_name_plural]" + +/datum/secondary_goal_progress/variety_food + var/list/foods_sent = list() + var/department + var/needed + var/amount_per + var/department_account + var/reward + var/generic_name_plural + +/datum/secondary_goal_progress/variety_food/configure(datum/station_goal/secondary/variety_food/goal) + ..() + department = goal.department + needed = goal.different_types + amount_per = goal.amount_per + department_account = goal.department_account + reward = goal.reward + generic_name_plural = goal.generic_name_plural + +/datum/secondary_goal_progress/variety_food/Copy() + var/datum/secondary_goal_progress/variety_food/copy = ..() + copy.foods_sent = foods_sent.Copy() + copy.department = department + copy.needed = needed + copy.amount_per = amount_per + // These ones aren't really needed in the intended use case, they're + // just here in case someone uses this method somewhere else. + copy.department_account = department_account + copy.reward = reward + copy.generic_name_plural = generic_name_plural + return copy + +/datum/secondary_goal_progress/variety_food/update(obj/item/food/food, datum/economy/cargo_shuttle_manifest/manifest = null) + // Not in a matching personal crate? Ignore. + if(!check_personal_crate(food)) + return + + // Not food? Ignore. + if(!istype(food)) + return + + // No easy foods allowed. + if(food.goal_difficulty == FOOD_GOAL_SKIP) + if(!manifest) + return COMSIG_CARGO_SELL_WRONG + SSblackbox.record_feedback("nested tally", "secondary goals", 1, list(goal_name, "boring foods")) + var/datum/economy/line_item/item = new + item.account = department_account + item.credits = 0 + item.reason = "We don't need [food.name]. Send something better." + item.requests_console_department = "Kitchen" + manifest.line_items += item + return COMSIG_CARGO_SELL_WRONG + + if(foods_sent[food.type] >= amount_per) + if(!manifest) + return COMSIG_CARGO_SELL_WRONG + SSblackbox.record_feedback("nested tally", "secondary goals", 1, list(goal_name, "repeat foods")) + var/datum/economy/line_item/item = new + item.account = department_account + item.credits = 0 + item.reason = "You already sent us enough [food.name]." + item.requests_console_department = "Kitchen" + manifest.line_items += item + return COMSIG_CARGO_SELL_WRONG + + if(!foods_sent[food.type]) + foods_sent[food.type] = 0 + foods_sent[food.type]++ + + if(!manifest) + return COMSIG_CARGO_SELL_PRIORITY + SSblackbox.record_feedback("nested tally", "secondary goals", 1, list(goal_name, "valid foods")) + SSblackbox.record_feedback("nested tally", "secondary goals", 1, list(goal_name, "foods", initial(food.name))) + var/datum/economy/line_item/item = new() + item.account = department_account + item.credits = 0 + item.reason = "Received [initial(food.name)]." + item.zero_is_good = TRUE + item.requests_console_department = "Kitchen" + manifest.line_items += item + return COMSIG_CARGO_SELL_PRIORITY + +/datum/secondary_goal_progress/variety_food/check_complete(datum/economy/cargo_shuttle_manifest/manifest) + var/complete_foods = 0 + for(var/food_type in foods_sent) + if(foods_sent[food_type] >= amount_per) + complete_foods++ + SSblackbox.record_feedback("nested tally", "secondary goals", 1, list(goal_name, "complete foods")) + + if(complete_foods < needed) + return FALSE + + three_way_reward(manifest, department, department_account, reward, "Secondary goal complete: [needed] different [generic_name_plural].") + return TRUE diff --git a/code/modules/station_goals/secondary/random_bulk_reagent.dm b/code/modules/station_goals/secondary/random_bulk_reagent.dm index 8dc35f4fd58f..f1b6e9fc17a2 100644 --- a/code/modules/station_goals/secondary/random_bulk_reagent.dm +++ b/code/modules/station_goals/secondary/random_bulk_reagent.dm @@ -17,6 +17,10 @@ if(initial(candidate.goal_department) != department) continue if(initial(candidate.goal_difficulty) == REAGENT_GOAL_SKIP) + // Too easy, don't want. + continue + if(initial(candidate.goal_difficulty) == REAGENT_GOAL_EXCESSIVE) + // Too hard, don't ask for. continue valid_reagents += candidate @@ -84,6 +88,7 @@ item.account = department_account item.credits = 0 item.reason = "Received [amount] units of [initial(reagent_type.name)]." + item.requests_console_department = department item.zero_is_good = TRUE manifest.line_items += item diff --git a/code/modules/station_goals/secondary/science/random_ripley.dm b/code/modules/station_goals/secondary/science/random_ripley.dm index 113b5c4601b7..33d63b6cf32b 100644 --- a/code/modules/station_goals/secondary/science/random_ripley.dm +++ b/code/modules/station_goals/secondary/science/random_ripley.dm @@ -70,8 +70,8 @@ extra_item.account = SSeconomy.cargo_account extra_item.credits = SSeconomy.credits_per_mech extra_item.reason = "We already got the mech we needed, but we'll take this one at the usual price." + extra_item.requests_console_department = "Robotics" manifest.line_items += extra_item - send_requests_console_message(extra_item.reason, "Central Command", "Robotics", "Stamped with the Central Command rubber stamp.", null, RQ_NORMALPRIORITY) return COMSIG_CARGO_SELL_PRIORITY | COMSIG_CARGO_IS_SECURED var/remaining_needs = modules.Copy() @@ -89,9 +89,9 @@ var/datum/economy/line_item/wrong_item = new wrong_item.account = SSeconomy.cargo_account wrong_item.credits = SSeconomy.credits_per_mech - wrong_item.reason = "That's not the equipment we needed, but it's still a mech" + wrong_item.reason = "That's not the equipment we needed, but it's still a mech, so we'll take it at the usual price." + wrong_item.requests_console_department = "Robotics" manifest.line_items += wrong_item - send_requests_console_message(wrong_item.reason + ", so we sent the usual amount to your supply account.", "Central Command", "Robotics", "Stamped with the Central Command rubber stamp.", null, RQ_NORMALPRIORITY) return COMSIG_CARGO_SELL_PRIORITY | COMSIG_CARGO_IS_SECURED sent = TRUE diff --git a/code/modules/station_goals/secondary/secondary_goal_tracker.dm b/code/modules/station_goals/secondary/secondary_goal_tracker.dm index 498c42159205..edee8140029e 100644 --- a/code/modules/station_goals/secondary/secondary_goal_tracker.dm +++ b/code/modules/station_goals/secondary/secondary_goal_tracker.dm @@ -129,6 +129,6 @@ personal_item.account = personal_account || department_account personal_item.credits = reward / 3 personal_item.reason = message + personal_item.requests_console_department = department manifest.line_items += personal_item - send_requests_console_message(message, "Central Command", department, "Stamped with the Central Command rubber stamp.", null, RQ_NORMALPRIORITY) diff --git a/code/modules/station_goals/secondary/variety_reagent.dm b/code/modules/station_goals/secondary/variety_reagent.dm index 19cff7feb5b2..14665b20a8c6 100644 --- a/code/modules/station_goals/secondary/variety_reagent.dm +++ b/code/modules/station_goals/secondary/variety_reagent.dm @@ -68,8 +68,8 @@ item.account = department_account item.credits = 0 item.reason = "That [reagent.name] seems to be mixed with something else. Send it by itself, please." + item.requests_console_department = department manifest.line_items += item - send_requests_console_message(item.reason, "Central Command", department, "Stamped with the Central Command rubber stamp.", null, RQ_NORMALPRIORITY) return COMSIG_CARGO_SELL_WRONG // No easy reagents allowed. @@ -81,8 +81,8 @@ item.account = department_account item.credits = 0 item.reason = "We don't need [reagent.name]. Send something better." + item.requests_console_department = department manifest.line_items += item - send_requests_console_message(item.reason, "Central Command", department, "Stamped with the Central Command rubber stamp.", null, RQ_NORMALPRIORITY) return COMSIG_CARGO_SELL_WRONG // Make sure there's enough. @@ -94,8 +94,8 @@ item.account = department_account item.credits = 0 item.reason = "That batch of [reagent.name] was too small; send at least [amount_per] units." + item.requests_console_department = department manifest.line_items += item - send_requests_console_message(item.reason, "Central Command", department, "Stamped with the Central Command rubber stamp.", null, RQ_NORMALPRIORITY) return COMSIG_CARGO_SELL_WRONG if(reagents_sent[reagent.id]) @@ -106,8 +106,8 @@ item.account = department_account item.credits = 0 item.reason = "You already sent us [reagent.name]." + item.requests_console_department = department manifest.line_items += item - send_requests_console_message(item.reason, "Central Command", department, "Stamped with the Central Command rubber stamp.", null, RQ_NORMALPRIORITY) return COMSIG_CARGO_SELL_WRONG reagents_sent[reagent.id] = TRUE @@ -120,9 +120,9 @@ item.account = department_account item.credits = 0 item.reason = "Received [initial(reagent.name)]." + item.requests_console_department = department item.zero_is_good = TRUE manifest.line_items += item - send_requests_console_message(item.reason, "Central Command", department, "Stamped with the Central Command rubber stamp.", null, RQ_NORMALPRIORITY) return COMSIG_CARGO_SELL_PRIORITY /datum/secondary_goal_progress/variety_reagent/check_complete(datum/economy/cargo_shuttle_manifest/manifest) diff --git a/paradise.dme b/paradise.dme index 833281129d1b..6eda50e2c5cd 100644 --- a/paradise.dme +++ b/paradise.dme @@ -2746,6 +2746,7 @@ #include "code\modules\station_goals\secondary\botany\kudzu_goal.dm" #include "code\modules\station_goals\secondary\kitchen\random_bulk_condiment.dm" #include "code\modules\station_goals\secondary\kitchen\random_bulk_food.dm" +#include "code\modules\station_goals\secondary\kitchen\variety_food.dm" #include "code\modules\station_goals\secondary\medical\random_bulk_medicine.dm" #include "code\modules\station_goals\secondary\medical\variety_medicine.dm" #include "code\modules\station_goals\secondary\science\random_bulk_chemical.dm" From 621127de61b22933449f56a4c70fafbd57103deb Mon Sep 17 00:00:00 2001 From: Aylong <69762909+AyIong@users.noreply.github.com> Date: Fri, 17 May 2024 15:52:59 +0300 Subject: [PATCH 16/31] Make some guns REAL auto (#25267) * The Man Who Sold the World * UHHHH * Revert WT full-auto --- code/modules/projectiles/guns/energy/stun.dm | 6 ++++-- code/modules/projectiles/guns/projectile/automatic.dm | 7 ++++++- code/modules/projectiles/guns/projectile/saw.dm | 9 +++++++-- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 1b299dd77fc0..77f5b742d2cb 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -74,11 +74,13 @@ weapon_weight = WEAPON_HEAVY w_class = WEIGHT_CLASS_BULKY ammo_type = list(/obj/item/ammo_casing/energy/disabler/smg) - burst_size = 2 - fire_delay = 2.5 shaded_charge = TRUE can_holster = FALSE +/obj/item/gun/energy/disabler/smg/Initialize(mapload) + . = ..() + AddComponent(/datum/component/automatic_fire, 0.15 SECONDS, allow_akimbo = FALSE) + /obj/item/gun/energy/disabler/cyborg name = "cyborg disabler" desc = "An integrated disabler that draws from a cyborg's power cell. This weapon contains a limiter to prevent the cyborg's power cell from overheating." diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index d9879a9f46e9..c1d5716c5366 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -332,10 +332,15 @@ fire_sound = 'sound/weapons/gunshots/gunshot_lascarbine.ogg' magin_sound = 'sound/weapons/gun_interactions/batrifle_magin.ogg' magout_sound = 'sound/weapons/gun_interactions/batrifle_magout.ogg' + actions_types = list() can_suppress = FALSE - burst_size = 2 + burst_size = 1 execution_speed = 5 SECONDS +/obj/item/gun/projectile/automatic/lasercarbine/Initialize(mapload) + . = ..() + AddComponent(/datum/component/automatic_fire, 0.15 SECONDS, allow_akimbo = FALSE) + /obj/item/gun/projectile/automatic/lasercarbine/update_icon_state() icon_state = "lasercarbine[magazine ? "-[CEILING(get_ammo(0)/5, 1)*5]" : ""]" item_state = "lasercarbine[magazine ? "-[CEILING(get_ammo(0)/5, 1)*5]" : ""]" diff --git a/code/modules/projectiles/guns/projectile/saw.dm b/code/modules/projectiles/guns/projectile/saw.dm index 9c50158c7b01..587e65bf0837 100644 --- a/code/modules/projectiles/guns/projectile/saw.dm +++ b/code/modules/projectiles/guns/projectile/saw.dm @@ -12,9 +12,14 @@ magin_sound = 'sound/weapons/gun_interactions/lmg_magin.ogg' magout_sound = 'sound/weapons/gun_interactions/lmg_magout.ogg' var/cover_open = FALSE + actions_types = list() can_suppress = FALSE - burst_size = 3 - fire_delay = 1 + burst_size = 1 + spread = 7 + +/obj/item/gun/projectile/automatic/l6_saw/Initialize(mapload) + . = ..() + AddComponent(/datum/component/automatic_fire, 0.2 SECONDS) /obj/item/gun/projectile/automatic/l6_saw/attack_self(mob/user) cover_open = !cover_open From b557dabad1f913e8693e20b232c06b7cd95d231b Mon Sep 17 00:00:00 2001 From: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com> Date: Fri, 17 May 2024 08:53:08 -0400 Subject: [PATCH 17/31] C4 now takes 1.5 seconds to attach to an object. C4 is now directional. (#25361) * C4 * C4's are now directonally hidden behind walls / doors --- code/game/objects/items/weapons/explosives.dm | 42 +++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index 2306002dc48f..a41b32954488 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -13,14 +13,19 @@ var/obj/item/assembly/nadeassembly = null var/assemblyattacher var/notify_admins = TRUE + /// C4 overlay to put on target + var/mutable_appearance/plastic_overlay + /// Target of the overlay, not neccicarly the thing the C4 is attached to! + var/atom/plastic_overlay_target /obj/item/grenade/plastic/Initialize(mapload) . = ..() - image_overlay = image('icons/obj/grenade.dmi', "[item_state]2") + plastic_overlay = mutable_appearance(icon, "[item_state]2", HIGH_OBJ_LAYER) /obj/item/grenade/plastic/Destroy() QDEL_NULL(nadeassembly) target = null + plastic_overlay_target = null return ..() /obj/item/grenade/plastic/attackby(obj/item/I, mob/user, params) @@ -74,7 +79,7 @@ return to_chat(user, "You start planting [src].[isnull(nadeassembly) ? " The timer is set to [det_time]..." : ""]") - if(do_after(user, 5 SECONDS * toolspeed, target = AM)) + if(do_after(user, 1.5 SECONDS * toolspeed, target = AM)) if(!user.unEquip(src)) return target = AM @@ -84,7 +89,26 @@ message_admins("[ADMIN_LOOKUPFLW(user)] planted [name] on [target.name] at ([target.x],[target.y],[target.z] -
JMP) with [det_time] second fuse", 0, 1) log_game("[key_name(user)] planted [name] on [target.name] at ([target.x],[target.y],[target.z]) with [det_time] second fuse") - AddComponent(/datum/component/persistent_overlay, image_overlay, target) + plastic_overlay.layer = HIGH_OBJ_LAYER + if(isturf(target) || istype(target, /obj/machinery/door)) + plastic_overlay_target = new /obj/effect/plastic(get_turf(user)) + else + plastic_overlay_target = target + if(isliving(target)) + plastic_overlay.layer = ABOVE_ALL_MOB_LAYER + if(plastic_overlay_target != target) + switch(plastic_overlay_target.x - target.x) + if(-1) + plastic_overlay.pixel_x += 32 + if(1) + plastic_overlay.pixel_x -= 32 + switch(plastic_overlay_target.y - target.y) + if(-1) + plastic_overlay.pixel_y += 32 + if(1) + plastic_overlay.pixel_y -= 32 + plastic_overlay_target.add_overlay(plastic_overlay) + if(!nadeassembly) to_chat(user, "You plant the bomb. Timer counting down from [det_time].") addtimer(CALLBACK(src, PROC_REF(prime)), det_time SECONDS) @@ -146,6 +170,10 @@ /obj/item/grenade/plastic/c4/prime() var/turf/location + if(plastic_overlay_target && !QDELETED(plastic_overlay_target)) + plastic_overlay_target.cut_overlay(plastic_overlay, TRUE) + if(istype(plastic_overlay_target, /obj/effect/plastic)) + qdel(plastic_overlay_target) if(target) if(!QDELETED(target)) location = get_turf(target) @@ -211,6 +239,10 @@ /obj/item/grenade/plastic/c4/thermite/prime() var/turf/location + if(plastic_overlay_target && !QDELETED(plastic_overlay_target)) + plastic_overlay_target.cut_overlay(plastic_overlay, TRUE) + if(istype(plastic_overlay_target, /obj/effect/plastic)) + qdel(plastic_overlay_target) if(target) if(!QDELETED(target)) location = get_turf(target) @@ -235,3 +267,7 @@ M.adjust_fire_stacks(2) M.IgniteMob() qdel(src) + +//Used so the effect is visable for overlay purposes, but not show on right click with a broken sprite +/obj/effect/plastic + mouse_opacity = MOUSE_OPACITY_TRANSPARENT From ecabb8f7e64cfd65a546b55b6858159326b211d2 Mon Sep 17 00:00:00 2001 From: larentoun <31931237+larentoun@users.noreply.github.com> Date: Fri, 17 May 2024 15:57:45 +0300 Subject: [PATCH 18/31] Fix planetary_atmos working correctly only for lavaland + use defines for lavaland atmos (#25296) * planetary atmos is not only lavaland * use defines for lavaland temperature * use defines for lavaland air * temperature is initial --- code/__DEFINES/atmospherics_defines.dm | 3 + .../turfs/simulated/floor/asteroid_floors.dm | 18 ++-- code/game/turfs/simulated/floor/chasm.dm | 6 +- .../game/turfs/simulated/floor/fancy_floor.dm | 8 +- .../turfs/simulated/floor/indestructible.dm | 18 ++-- code/game/turfs/simulated/floor/lava.dm | 12 +-- .../turfs/simulated/floor/mineral_floors.dm | 6 +- code/game/turfs/simulated/floor/misc_floor.dm | 18 ++-- code/game/turfs/simulated/floor/plating.dm | 12 +-- code/game/turfs/simulated/minerals.dm | 90 +++++++++---------- .../environmental/LINDA_turf_tile.dm | 6 +- .../awaymissions/mission_code/beach.dm | 6 +- 12 files changed, 101 insertions(+), 102 deletions(-) diff --git a/code/__DEFINES/atmospherics_defines.dm b/code/__DEFINES/atmospherics_defines.dm index fa2355a729f4..a9e2c82b71ee 100644 --- a/code/__DEFINES/atmospherics_defines.dm +++ b/code/__DEFINES/atmospherics_defines.dm @@ -141,6 +141,9 @@ //LAVALAND #define LAVALAND_EQUIPMENT_EFFECT_PRESSURE 50 //what pressure you have to be under to increase the effect of equipment meant for lavaland +#define LAVALAND_TEMPERATURE 500 +#define LAVALAND_OXYGEN 8 +#define LAVALAND_NITROGEN 14 // Reactions #define N2O_DECOMPOSITION_MIN_ENERGY 1400 diff --git a/code/game/turfs/simulated/floor/asteroid_floors.dm b/code/game/turfs/simulated/floor/asteroid_floors.dm index 440f2643f923..aadfe6c447aa 100644 --- a/code/game/turfs/simulated/floor/asteroid_floors.dm +++ b/code/game/turfs/simulated/floor/asteroid_floors.dm @@ -146,16 +146,16 @@ ///////Surface. The surface is warm, but survivable without a suit. Internals are required. The floors break to chasms, which drop you into the underground. /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE planetary_atmos = TRUE baseturf = /turf/simulated/floor/lava/mapping_lava /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface_hard - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE planetary_atmos = TRUE color = COLOR_FLOOR_HARD_ROCK baseturf = /turf/simulated/floor/lava/lava_land_surface @@ -199,9 +199,9 @@ GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/me data_having_type = /turf/simulated/floor/plating/asteroid/airless/cave/volcanic/has_data turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE /// subtype for producing a tunnel with given data /turf/simulated/floor/plating/asteroid/airless/cave/volcanic/has_data diff --git a/code/game/turfs/simulated/floor/chasm.dm b/code/game/turfs/simulated/floor/chasm.dm index b157d90ce11c..ffacfcf3ea80 100644 --- a/code/game/turfs/simulated/floor/chasm.dm +++ b/code/game/turfs/simulated/floor/chasm.dm @@ -173,9 +173,9 @@ drop_z = z - 1 /turf/simulated/floor/chasm/straight_down/lava_land_surface - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE planetary_atmos = TRUE baseturf = /turf/simulated/floor/chasm/straight_down/lava_land_surface //Chasms should not turn into lava light_range = 2 diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm index d50da939c832..310b171bc0c9 100644 --- a/code/game/turfs/simulated/floor/fancy_floor.dm +++ b/code/game/turfs/simulated/floor/fancy_floor.dm @@ -17,7 +17,7 @@ if(!I.use_tool(src, user, 0, volume = I.tool_volume)) return remove_tile(user, FALSE, FALSE) - + /turf/simulated/floor/wood/get_broken_states() return list("wood-broken", "wood-broken2", "wood-broken3", "wood-broken4", "wood-broken5", "wood-broken6", "wood-broken7") @@ -53,9 +53,9 @@ temperature = 180 /turf/simulated/floor/wood/lavaland_air - nitrogen = 14 - oxygen = 8 - temperature = 500 + nitrogen = LAVALAND_NITROGEN + oxygen = LAVALAND_OXYGEN + temperature = LAVALAND_TEMPERATURE // Grass /turf/simulated/floor/grass diff --git a/code/game/turfs/simulated/floor/indestructible.dm b/code/game/turfs/simulated/floor/indestructible.dm index 6d43bd23a863..43b99723b428 100644 --- a/code/game/turfs/simulated/floor/indestructible.dm +++ b/code/game/turfs/simulated/floor/indestructible.dm @@ -44,9 +44,9 @@ icon = 'icons/turf/floors.dmi' icon_state = "necro1" baseturf = /turf/simulated/floor/indestructible/necropolis - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE planetary_atmos = TRUE footstep = FOOTSTEP_LAVA barefootstep = FOOTSTEP_LAVA @@ -69,9 +69,9 @@ icon = 'icons/turf/floors/boss_floors.dmi' icon_state = "boss" baseturf = /turf/simulated/floor/indestructible/boss - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE planetary_atmos = TRUE /turf/simulated/floor/indestructible/boss/air @@ -83,9 +83,9 @@ name = "floor" icon = 'icons/turf/floors/hierophant_floor.dmi' icon_state = "floor" - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE planetary_atmos = TRUE smoothing_flags = SMOOTH_CORNERS diff --git a/code/game/turfs/simulated/floor/lava.dm b/code/game/turfs/simulated/floor/lava.dm index 8d32d83a35e8..08ec20fb8f73 100644 --- a/code/game/turfs/simulated/floor/lava.dm +++ b/code/game/turfs/simulated/floor/lava.dm @@ -160,9 +160,9 @@ return /turf/simulated/floor/lava/lava_land_surface - temperature = 500 - oxygen = 8 - nitrogen = 14 + temperature = LAVALAND_TEMPERATURE + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN planetary_atmos = TRUE baseturf = /turf/simulated/floor/chasm/straight_down/lava_land_surface @@ -256,9 +256,9 @@ icon_state = "mappinglava" base_icon_state = "mappinglava" baseturf = /turf/simulated/floor/lava/mapping_lava - temperature = 500 - oxygen = 8 - nitrogen = 14 + temperature = LAVALAND_TEMPERATURE + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN planetary_atmos = TRUE diff --git a/code/game/turfs/simulated/floor/mineral_floors.dm b/code/game/turfs/simulated/floor/mineral_floors.dm index f1fb94e507f8..aa6ea18b283d 100644 --- a/code/game/turfs/simulated/floor/mineral_floors.dm +++ b/code/game/turfs/simulated/floor/mineral_floors.dm @@ -287,6 +287,6 @@ return //unburnable /turf/simulated/floor/plating/abductor/lavaland_air - temperature = 500 - oxygen = 8 - nitrogen = 14 + temperature = LAVALAND_TEMPERATURE + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN diff --git a/code/game/turfs/simulated/floor/misc_floor.dm b/code/game/turfs/simulated/floor/misc_floor.dm index 5bd564b6b785..01452e749908 100644 --- a/code/game/turfs/simulated/floor/misc_floor.dm +++ b/code/game/turfs/simulated/floor/misc_floor.dm @@ -4,9 +4,9 @@ smoothing_flags = NONE /turf/simulated/floor/vault/lavaland_air - temperature = 500 - oxygen = 8 - nitrogen = 14 + temperature = LAVALAND_TEMPERATURE + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN planetary_atmos = TRUE baseturf = /turf/simulated/floor/chasm/straight_down/lava_land_surface @@ -146,9 +146,9 @@ return /turf/simulated/floor/noslip/lavaland - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE planetary_atmos = TRUE /turf/simulated/floor/lubed @@ -234,9 +234,9 @@ uses_overlay = FALSE /turf/simulated/floor/clockwork/lavaland_air - nitrogen = 14 - oxygen = 8 - temperature = 500 + nitrogen = LAVALAND_NITROGEN + oxygen = LAVALAND_OXYGEN + temperature = LAVALAND_TEMPERATURE /turf/simulated/floor/catwalk name = "catwalk" diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index 6fd8d12ffede..61b11391ba6d 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -170,9 +170,9 @@ name = "plating" /turf/simulated/floor/plating/lavaland_air - temperature = 500 - oxygen = 8 - nitrogen = 14 + temperature = LAVALAND_TEMPERATURE + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN /turf/simulated/floor/engine name = "reinforced floor" @@ -253,9 +253,9 @@ return /turf/simulated/floor/engine/cult/lavaland_air - nitrogen = 14 - oxygen = 8 - temperature = 500 + nitrogen = LAVALAND_NITROGEN + oxygen = LAVALAND_OXYGEN + temperature = LAVALAND_TEMPERATURE //air filled floors; used in atmos pressure chambers diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index a090a32cbcf4..9ce9abd50509 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -280,9 +280,9 @@ environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface baseturf = /turf/simulated/floor/lava/mapping_lava - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE defer_change = 1 mineralSpawnChanceList = list( /turf/simulated/mineral/uranium/volcanic = 35, /turf/simulated/mineral/diamond/volcanic = 30, /turf/simulated/mineral/gold/volcanic = 45, /turf/simulated/mineral/titanium/volcanic = 45, @@ -300,9 +300,9 @@ environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface baseturf = /turf/simulated/floor/lava/mapping_lava - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE defer_change = 1 mineralChance = 10 @@ -329,9 +329,9 @@ environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface baseturf = /turf/simulated/floor/lava/mapping_lava - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE defer_change = 1 mineralSpawnChanceList = list( /turf/simulated/mineral/uranium/volcanic = 3, /turf/simulated/mineral/diamond/volcanic = 1, /turf/simulated/mineral/gold/volcanic = 8, /turf/simulated/mineral/titanium/volcanic = 8, @@ -349,9 +349,9 @@ environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface baseturf = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE defer_change = 1 /turf/simulated/mineral/uranium @@ -364,9 +364,9 @@ environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface baseturf = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE defer_change = 1 /turf/simulated/mineral/diamond @@ -379,9 +379,9 @@ environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface baseturf = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE defer_change = 1 /turf/simulated/mineral/gold @@ -394,9 +394,9 @@ environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface baseturf = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE defer_change = 1 /turf/simulated/mineral/silver @@ -409,9 +409,9 @@ environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface baseturf = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE defer_change = 1 /turf/simulated/mineral/titanium @@ -424,9 +424,9 @@ environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface baseturf = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE defer_change = 1 /turf/simulated/mineral/plasma @@ -439,9 +439,9 @@ environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface baseturf = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE defer_change = 1 /turf/simulated/mineral/clown @@ -455,9 +455,9 @@ environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface baseturf = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE defer_change = 1 /turf/simulated/mineral/mime @@ -470,9 +470,9 @@ environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface baseturf = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE defer_change = 1 /turf/simulated/mineral/bscrystal @@ -486,18 +486,18 @@ environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface baseturf = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE defer_change = 1 /turf/simulated/mineral/volcanic environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt baseturf = /turf/simulated/floor/plating/asteroid/basalt - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE /turf/simulated/mineral/volcanic/lava_land_surface environment_type = "basalt" @@ -610,9 +610,9 @@ environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface baseturf = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - oxygen = 8 - nitrogen = 14 - temperature = 500 + oxygen = LAVALAND_OXYGEN + nitrogen = LAVALAND_NITROGEN + temperature = LAVALAND_TEMPERATURE defer_change = 1 #undef GIBTONITE_UNSTRUCK diff --git a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm index c37060321006..82cd7383c158 100644 --- a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm +++ b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm @@ -198,8 +198,6 @@ if(our_excited_group) last_share_check() -#define LAVALAND_TEMPERATURE 500 - if(planetary_atmos) //share our air with the "atmosphere" "above" the turf var/datum/gas_mixture/G = new G.oxygen = oxygen @@ -208,7 +206,7 @@ G.toxins = toxins G.sleeping_agent = sleeping_agent G.agent_b = agent_b - G.temperature = LAVALAND_TEMPERATURE // Temperature is modified at runtime; we only care about the turf's initial temperature + G.temperature = initial(temperature) // Temperature is modified at runtime; we only care about the turf's initial temperature G.archive() if(!air.compare(G)) if(!our_excited_group) @@ -218,8 +216,6 @@ air.share(G, adjacent_turfs_length) last_share_check() -#undef LAVALAND_TEMPERATURE - air.react() update_visuals() diff --git a/code/modules/awaymissions/mission_code/beach.dm b/code/modules/awaymissions/mission_code/beach.dm index 0fc750def0b4..980dd94765c8 100644 --- a/code/modules/awaymissions/mission_code/beach.dm +++ b/code/modules/awaymissions/mission_code/beach.dm @@ -114,9 +114,9 @@ linkedcontroller.decalinpool += A /turf/simulated/floor/beach/away/water/lavaland_air - nitrogen = 14 - oxygen = 8 - temperature = 500 + nitrogen = LAVALAND_NITROGEN + oxygen = LAVALAND_OXYGEN + temperature = LAVALAND_TEMPERATURE planetary_atmos = TRUE /// for boundary "walls" From fefb4401c021c2a1a57a5e86d920e7424e05d05b Mon Sep 17 00:00:00 2001 From: Luc <89928798+lewcc@users.noreply.github.com> Date: Fri, 17 May 2024 08:58:30 -0400 Subject: [PATCH 19/31] Adds a new rock-paper-scissors emote (#25300) * adds rock paper scissors mechanics * better icon * Cleans up the last bit of the implementation * use barber scissors instead * minor cleanups * Apply suggestions from code review Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com> * Update code/datums/status_effects/neutral.dm Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com> --------- Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> --- code/__DEFINES/emotes_defines.dm | 11 ++ code/__DEFINES/status_effects.dm | 1 + code/_onclick/hud/radial.dm | 2 + code/datums/emote.dm | 30 +++-- code/datums/status_effects/neutral.dm | 116 ++++++++++++++++-- .../mob/living/carbon/human/human_emote.dm | 45 ++++++- 6 files changed, 186 insertions(+), 19 deletions(-) diff --git a/code/__DEFINES/emotes_defines.dm b/code/__DEFINES/emotes_defines.dm index 9940edab859d..f654bb678bbe 100644 --- a/code/__DEFINES/emotes_defines.dm +++ b/code/__DEFINES/emotes_defines.dm @@ -57,6 +57,8 @@ #define EMOTE_TARGET_BHVR_RAW 4 /// The emote target should be just a number. Anything else will be rejected. #define EMOTE_TARGET_BHVR_NUM 5 +/// The emote target is used elsewhere, and processing should be skipped. +#define EMOTE_TARGET_BHVR_IGNORE 6 // This set determines the type of target that we want to check for. @@ -75,3 +77,12 @@ /// List of emotes useable by ghosties #define USABLE_DEAD_EMOTES list("*flip", "*spin") + +// Strings used for the rock paper scissors emote and status effect +#define RPS_EMOTE_ROCK "rock" +#define RPS_EMOTE_PAPER "paper" +#define RPS_EMOTE_SCISSORS "scissors" + +#define RPS_EMOTE_THEY_WIN "aww" +#define RPS_EMOTE_WE_WIN "yay" +#define RPS_EMOTE_TIE "tie" diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index d34fb4868293..9f3b5bb88935 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -178,6 +178,7 @@ #define STATUS_EFFECT_HIGHFIVE /datum/status_effect/high_five #define STATUS_EFFECT_DAP /datum/status_effect/high_five/dap #define STATUS_EFFECT_HANDSHAKE /datum/status_effect/high_five/handshake +#define STATUS_EFFECT_RPS /datum/status_effect/high_five/rps #define STATUS_EFFECT_CHARGING /datum/status_effect/charging diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm index 36082679a21c..9a22a2b28914 100644 --- a/code/_onclick/hud/radial.dm +++ b/code/_onclick/hud/radial.dm @@ -239,6 +239,8 @@ GLOBAL_LIST_EMPTY(radial_menus) return else next_check = world.time + check_delay + // if you're wondering why your radial menus aren't clickable while debugging: + // it's probably the stoplag call here, try it again without any breakpoints stoplag(1) /datum/radial_menu/Destroy() diff --git a/code/datums/emote.dm b/code/datums/emote.dm index fb1dbb66722e..50e70232a357 100644 --- a/code/datums/emote.dm +++ b/code/datums/emote.dm @@ -147,16 +147,16 @@ * * Arguments: * * user - Person that is trying to send the emote. - * * params - Parameters added after the emote. + * * emote_arg - String parameter added after the emote. * * type_override - Override to the current emote_type. * * intentional - Bool that says whether the emote was forced (FALSE) or not (TRUE). * * Returns TRUE if it was able to run the emote, FALSE otherwise. */ -/datum/emote/proc/run_emote(mob/user, params, type_override, intentional = FALSE) +/datum/emote/proc/run_emote(mob/user, emote_arg, type_override, intentional = FALSE) . = TRUE var/msg = select_message_type(user, message, intentional) - if(params && message_param) + if(emote_arg && message_param) // In this case, we did make some changes to the message that will be used, and we want to add the postfix on with the new parameters. // This is applicable to things like mimes, who this lets have a target on their canned emote responses. // Note that we only do this if we would otherwise have a message param, meaning there should be some target by default. @@ -164,17 +164,17 @@ if(message_param == EMOTE_PARAM_USE_POSTFIX || (msg != message && message_postfix)) if(!message_postfix) CRASH("Emote was specified to use postfix but message_postfix is empty.") - msg = select_param(user, params, "[remove_ending_punctuation(msg)] [message_postfix]", msg) + msg = select_param(user, emote_arg, "[remove_ending_punctuation(msg)] [message_postfix]", msg) else if(msg == message) // In this case, we're not making any substitutions in select_message_type, but we do have some params we want to sub in. - msg = select_param(user, params, message_param, message) + msg = select_param(user, emote_arg, message_param, message) // If this got propogated up, jump out. if(msg == EMOTE_ACT_STOP_EXECUTION) return TRUE if(isnull(msg)) - to_chat(user, "'[params]' isn't a valid parameter for [key].") + to_chat(user, "'[emote_arg]' isn't a valid parameter for [key].") return TRUE msg = replace_pronoun(user, msg) @@ -230,13 +230,13 @@ * Try to run an emote, checking can_run_emote once before executing the emote itself. * * * user - User of the emote - * * params - Params of the emote to be passed to run_emote + * * params - An optional extra argument included after the emote key. * * type_override - emote type to override the existing one with, if given. * * intentional - Whether or not the emote was triggered intentionally (if false, the emote was forced by code). * * Returns TRUE if the emote was able to be run (or failed successfully), or FALSE if the emote is unusable. */ -/datum/emote/proc/try_run_emote(mob/user, params, type_override, intentional = FALSE) +/datum/emote/proc/try_run_emote(mob/user, emote_arg, type_override, intentional = FALSE) // You can use this signal to block execution of emotes from components/other sources. var/sig_res = SEND_SIGNAL(user, COMSIG_MOB_PREEMOTE, key, intentional) switch(sig_res) @@ -245,9 +245,18 @@ if(COMPONENT_BLOCK_EMOTE_SILENT) return TRUE - . = run_emote(user, params, type_override, intentional) + . = run_emote(user, emote_arg, type_override, intentional) // safeguard in case these get modified + reset_emote() + +/** + * Reset the emote back to its original state. + * Necessary if you've made modifications to the emote itself over the course of its + * execution, as emotes are singletons, and changes would be reflected on every usage of the emote. + */ +/datum/emote/proc/reset_emote() + SHOULD_CALL_PARENT(TRUE) message = initial(message) message_param = initial(message_param) @@ -421,6 +430,9 @@ */ /datum/emote/proc/select_param(mob/user, params, substitution, base_message) + if(target_behavior == EMOTE_TARGET_BHVR_IGNORE) + return base_message + if(target_behavior == EMOTE_TARGET_BHVR_RAW) return replacetext(substitution, "%t", params) diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm index 275aa7bda3c0..659dbf242ddd 100644 --- a/code/datums/status_effects/neutral.dm +++ b/code/datums/status_effects/neutral.dm @@ -69,6 +69,20 @@ user.remove_status_effect(type) highfived.remove_status_effect(type) +/datum/status_effect/high_five/proc/wiz_effect(mob/living/carbon/user, mob/living/carbon/highfived) + user.status_flags |= GODMODE + highfived.status_flags |= GODMODE + explosion(get_turf(user), 5, 2, 1, 3, cause = id) + // explosions have a spawn so this makes sure that we don't get gibbed + addtimer(CALLBACK(src, PROC_REF(wiz_cleanup), user, highfived), 0.3 SECONDS) // I want to be sure this lasts long enough, with lag. + add_attack_logs(user, highfived, "caused a wizard [id] explosion") + +/datum/status_effect/high_five/proc/post_start() + return + +/datum/status_effect/high_five/proc/regular_effect(mob/living/carbon/user, mob/living/carbon/highfived) + user.visible_message("[user.name] and [highfived.name] [success]") + /datum/status_effect/high_five/on_apply() if(!iscarbon(owner)) return FALSE @@ -82,25 +96,23 @@ continue if(is_wiz && iswizard(C)) user.visible_message("[user.name] and [C.name] [critical_success]") - user.status_flags |= GODMODE - C.status_flags |= GODMODE - explosion(get_turf(user), 5, 2, 1, 3, cause = id) - // explosions have a spawn so this makes sure that we don't get gibbed - addtimer(CALLBACK(src, PROC_REF(wiz_cleanup), user, C), 0.3 SECONDS) //I want to be sure this lasts long enough, with lag. - add_attack_logs(user, C, "caused a wizard [id] explosion") + wiz_effect(user, C) both_wiz = TRUE user.do_attack_animation(C, no_effect = TRUE) C.do_attack_animation(user, no_effect = TRUE) playsound(user, sound_effect, 80) if(!both_wiz) - user.visible_message("[user.name] and [C.name] [success]") + regular_effect(user, C) user.remove_status_effect(type) C.remove_status_effect(type) return FALSE + // We can return to break out of the loop here so we don't auto-remove (which causes the timer on the wizard highfive to break) + // This is safe because we only pass the continue if we don't have the status effect return TRUE // DO NOT AUTOREMOVE owner.custom_emote(EMOTE_VISIBLE, request) owner.create_point_bubble_from_path(item_path, FALSE) + post_start() /datum/status_effect/high_five/on_timeout() owner.visible_message("[owner] [get_missed_message()]") @@ -144,6 +156,96 @@ return pick(missed_messages) +/datum/status_effect/high_five/rps + id = "rps" + critical_success = "both play rock -- THEY'RE GOING IN FOR THE FISTBUMP!" + success = "play rock-paper-scissors!" + sound_effect = 'sound/effects/glassknock.ogg' + request = "wants to play rock-paper-scissors!" + item_path = /obj/item/claymore // it's time to d-d-d-d-d-d-d-duel! + /// The move that you'll be making. + var/move + +/datum/status_effect/high_five/rps/get_missed_message() + var/list/missed_messages = list( + "just seems to be practicing against [owner.p_themselves()]. [owner.p_are(TRUE)] [owner.p_they()] losing?", + "seems more interested in a thumb war." + ) + + return pick(missed_messages) + +/datum/status_effect/high_five/rps/proc/get_move_status(my_move, their_move) + if(my_move == their_move) + return RPS_EMOTE_TIE + switch(my_move) + if(RPS_EMOTE_ROCK) + return their_move == RPS_EMOTE_SCISSORS ? RPS_EMOTE_WE_WIN : RPS_EMOTE_THEY_WIN + + if(RPS_EMOTE_PAPER) + return their_move == RPS_EMOTE_ROCK ? RPS_EMOTE_WE_WIN : RPS_EMOTE_THEY_WIN + + if(RPS_EMOTE_SCISSORS) + return their_move == RPS_EMOTE_PAPER ? RPS_EMOTE_WE_WIN : RPS_EMOTE_THEY_WIN + + else + CRASH("Unknown emote rock type") + +/datum/status_effect/high_five/rps/post_start() + playsound(owner, 'sound/effects/glassknock.ogg', 50, FALSE) + +/datum/status_effect/high_five/rps/regular_effect(mob/living/carbon/user, mob/living/carbon/highfived) + var/datum/status_effect/high_five/rps/their_status_effect = highfived.has_status_effect(type) + var/outcome = get_move_status(move, their_status_effect.move) + var/outcome_msg + switch(outcome) + if(RPS_EMOTE_TIE) + outcome_msg = "It's a tie!" + if(RPS_EMOTE_WE_WIN) + outcome_msg = "[user] wins!" + if(RPS_EMOTE_THEY_WIN) + outcome_msg = "[highfived] wins!" + + user.visible_message( + "[user] plays [move], and [highfived] plays [their_status_effect.move].", + "[highfived] plays [their_status_effect.move].", + "It sounds like rock-paper-scissors." + ) + + user.visible_message( + "[outcome_msg]", + blind_message = "It sounds like [pick(user, highfived)] won!" // you're blind how are you supposed to know + ) + +/datum/status_effect/high_five/rps/on_creation(mob/living/new_owner, made_move) + if(made_move) + if(!(made_move in list(RPS_EMOTE_ROCK, RPS_EMOTE_PAPER, RPS_EMOTE_SCISSORS))) + stack_trace("RPS emote was given an invalid move type on creation.") + else + move = made_move + + return ..() + +/datum/status_effect/high_five/rps/on_apply() + if(!isnull(move)) + to_chat(owner, "You prepare to play [move].") + return ..() // we already have the move, probably from the emote passing it in + + move = get_rock_paper_scissors_move(owner) + if(move == null) + return FALSE // make it auto-remove itself + + to_chat(owner, "You prepare to play [move].") + return ..() + + +/proc/get_rock_paper_scissors_move(mob/living/carbon/user) + var/list/move_icons = list( + RPS_EMOTE_SCISSORS = image(icon = 'icons/obj/items.dmi', icon_state = "bscissor"), + RPS_EMOTE_PAPER = image(icon = 'icons/obj/bureaucracy.dmi', icon_state = "paper"), + RPS_EMOTE_ROCK = image(icon = 'icons/obj/toy.dmi', icon_state = "pet_rock") + ) + return show_radial_menu(user, user, move_icons) + /// A status effect that can have a certain amount of "bonus" duration added, which extends the duration every tick, /// although there is a maximum amount of bonus time that can be active at any given time. /datum/status_effect/limited_bonus diff --git a/code/modules/mob/living/carbon/human/human_emote.dm b/code/modules/mob/living/carbon/human/human_emote.dm index a85c0158ccf5..7cb251ab8a42 100644 --- a/code/modules/mob/living/carbon/human/human_emote.dm +++ b/code/modules/mob/living/carbon/human/human_emote.dm @@ -375,6 +375,8 @@ cooldown = 5 SECONDS /// Status effect to apply when this emote is used. Should be a subtype var/status = STATUS_EFFECT_HIGHFIVE + /// title override, used for the re-use message. + var/action_name /datum/emote/living/carbon/human/highfive/can_run_emote(mob/user, status_check, intentional) . = ..() @@ -382,12 +384,17 @@ if(user_carbon.restrained()) return FALSE +/datum/emote/living/carbon/human/highfive/proc/set_status(mob/living/carbon/user) + return user.apply_status_effect(status) + /datum/emote/living/carbon/human/highfive/run_emote(mob/user, params, type_override, intentional) var/mob/living/carbon/user_carbon = user if(user_carbon.has_status_effect(status)) - user.visible_message("[user.name] shakes [user.p_their()] hand around slightly, impatiently waiting for someone to [key].") + user.visible_message("[user.name] shakes [user.p_their()] hand around slightly, impatiently waiting for someone to [!isnull(action_name) ? action_name : key].") + return TRUE + var/datum/result = set_status(user) + if(QDELETED(result)) return TRUE - user_carbon.apply_status_effect(status) return ..() @@ -401,6 +408,39 @@ key_third_person = "handshakes" status = STATUS_EFFECT_HANDSHAKE +/datum/emote/living/carbon/human/highfive/rps + key = "rps" + param_desc = "r,p,s" + hands_use_check = TRUE + status = STATUS_EFFECT_RPS + action_name = "play rock-paper-scissors with" + target_behavior = EMOTE_TARGET_BHVR_IGNORE + /// If the user used parameters, the move that will be made. + var/move + +/datum/emote/living/carbon/human/highfive/rps/run_emote(mob/user, emote_arg, type_override, intentional) + switch(lowertext(emote_arg)) + if("r", "rock") + move = RPS_EMOTE_ROCK + if("p", "paper") + move = RPS_EMOTE_PAPER + if("s", "scissors") + move = RPS_EMOTE_SCISSORS + + // if it's an invalid emote param, just fall through and let them select + + return ..() + +/datum/emote/living/carbon/human/highfive/rps/set_status(mob/living/carbon/user) + if(!isnull(move)) + // if they supplied a valid parameter, use that for the move + return user.apply_status_effect(status, move) + return user.apply_status_effect(status) + +/datum/emote/living/carbon/human/highfive/rps/reset_emote() + ..() + move = initial(move) + /datum/emote/living/carbon/human/snap key = "snap" key_third_person = "snaps" @@ -453,7 +493,6 @@ mob_type_allowed_typecache = list(/mob/living/carbon/human) hands_use_check = TRUE - ///////// // Species-specific emotes From ca31767ea72cdb2dd3a919ab866aabe2b20246dc Mon Sep 17 00:00:00 2001 From: Deniz <66401072+Oyu07@users.noreply.github.com> Date: Fri, 17 May 2024 13:58:50 +0100 Subject: [PATCH 20/31] Cleans up a nested proc with returns (#25339) * indent culling 1 * PAI done * hemostat done * Re-ordered message * Update code/modules/mob/living/simple_animal/bot/bot.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: Deniz <66401072+Oyu07@users.noreply.github.com> --------- Signed-off-by: Deniz <66401072+Oyu07@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> --- .../mob/living/simple_animal/bot/bot.dm | 90 +++++++++++-------- 1 file changed, 51 insertions(+), 39 deletions(-) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 802ec42db94c..cfc7a5971012 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -400,51 +400,63 @@ if(allowed(user) && !open && !emagged) locked = !locked to_chat(user, "Controls are now [locked ? "locked." : "unlocked."]") + return + if(emagged) + to_chat(user, "ERROR") + if(open) + to_chat(user, "Please close the access panel before locking it.") else - if(emagged) - to_chat(user, "ERROR") - if(open) - to_chat(user, "Please close the access panel before locking it.") - else - to_chat(user, "Access denied.") - else if(istype(W, /obj/item/paicard)) + to_chat(user, "Access denied.") + return + + if(istype(W, /obj/item/paicard)) if(paicard) to_chat(user, "A [paicard] is already inserted!") - else if(allow_pai && !key) - if(!locked && !open && !hijacked) - var/obj/item/paicard/card = W - if(card.pai && card.pai.mind) - if(!card.pai.ckey || jobban_isbanned(card.pai, ROLE_SENTIENT)) - to_chat(user, "[W] is unable to establish a connection to [src].") - return - if(!user.drop_item()) - return - W.forceMove(src) - paicard = card - user.visible_message("[user] inserts [W] into [src]!","You insert [W] into [src].") - paicard.pai.mind.transfer_to(src) - to_chat(src, "You sense your form change as you are uploaded into [src].") - bot_name = name - name = paicard.pai.name - faction = user.faction - add_attack_logs(user, paicard.pai, "Uploaded to [src.bot_name]") - else - to_chat(user, "[W] is inactive.") - else - to_chat(user, "The personality slot is locked.") - else + return + + if(!allow_pai || key) to_chat(user, "[src] is not compatible with [W].") - else if(istype(W, /obj/item/hemostat) && paicard) + return + + if(locked || open || hijacked) + to_chat(user, "The personality slot is locked.") + return + + var/obj/item/paicard/card = W + if(!card.pai?.mind) + to_chat(user, "[W] is inactive.") + return + + if(!card.pai.ckey || jobban_isbanned(card.pai, ROLE_SENTIENT)) + to_chat(user, "[W] is unable to establish a connection to [src].") + return + + if(!user.drop_item()) + return + + W.forceMove(src) + paicard = card + user.visible_message("[user] inserts [W] into [src]!", "You insert [W] into [src].") + paicard.pai.mind.transfer_to(src) + to_chat(src, "You sense your form change as you are uploaded into [src].") + bot_name = name + name = paicard.pai.name + faction = user.faction + add_attack_logs(user, paicard.pai, "Uploaded to [src.bot_name]") + return + + if(istype(W, /obj/item/hemostat) && paicard) if(open) to_chat(user, "Close the access panel before manipulating the personality slot!") - else - to_chat(user, "You attempt to pull [paicard] free...") - if(do_after(user, 30 * W.toolspeed, target = src)) - if(paicard) - user.visible_message("[user] uses [W] to pull [paicard] out of [bot_name]!","You pull [paicard] out of [bot_name] with [W].") - ejectpai(user) - else - return ..() + return + + to_chat(user, "You attempt to pull [paicard] free...") + if(do_after(user, 30 * W.toolspeed, target = src)) + if(paicard) + user.visible_message("[user] uses [W] to pull [paicard] out of [bot_name]!","You pull [paicard] out of [bot_name] with [W].") + ejectpai(user) + return + return ..() /mob/living/simple_animal/bot/screwdriver_act(mob/living/user, obj/item/I) if(user.a_intent == INTENT_HARM) From 418d4fae2a5e8667959afda020e29502224cfd4d Mon Sep 17 00:00:00 2001 From: DGamerL <108773801+DGamerL@users.noreply.github.com> Date: Fri, 17 May 2024 14:59:06 +0200 Subject: [PATCH 21/31] You can now crash into things with leap (#25345) * I'm happy with this * Lewc review * Adds varedit safeties * Update code/game/dna/mutations/mutation_powers.dm Co-authored-by: Matt <116982774+Burzah@users.noreply.github.com> Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> --------- Signed-off-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Co-authored-by: Matt <116982774+Burzah@users.noreply.github.com> Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com> --- code/game/dna/mutations/mutation_powers.dm | 37 +++++++++++++++++++--- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/code/game/dna/mutations/mutation_powers.dm b/code/game/dna/mutations/mutation_powers.dm index da930664a2ce..d25a11adfd77 100644 --- a/code/game/dna/mutations/mutation_powers.dm +++ b/code/game/dna/mutations/mutation_powers.dm @@ -478,6 +478,7 @@ invocation_type = "none" action_icon_state = "genetic_jump" + var/leap_distance = 10 /datum/spell/leap/create_new_targeting() return new /datum/spell_targeting/self @@ -510,15 +511,25 @@ user.layer = 9 user.flying = TRUE - for(var/i=0, i<10, i++) + for(var/i in 1 to leap_distance) + var/turf/hit_turf = get_step(user, user.dir) + var/atom/hit_atom = get_blocking_atom(hit_turf) + if(hit_atom) + hit_atom.hit_by_thrown_mob(user, damage = 10) + break + step(user, user.dir) - if(i < 5) user.pixel_y += 8 - else user.pixel_y -= 8 + if(i < 6) + user.pixel_y += 8 + else + user.pixel_y -= 8 sleep(1) + user.flying = prevFlying + user.pixel_y = 0 // In case leap was varedited to be longer or shorter if(HAS_TRAIT(user, TRAIT_FAT) && prob(66)) - user.visible_message("[user.name] crashes due to [user.p_their()] heavy weight!") + user.visible_message("[user.name] crashes due to [user.p_their()] heavy weight!") //playsound(user.loc, 'zhit.wav', 50, 1) user.AdjustWeakened(20 SECONDS) user.AdjustStunned(10 SECONDS) @@ -541,6 +552,24 @@ container.pixel_x = 0 container.pixel_y = 0 +/datum/spell/leap/proc/get_blocking_atom(turf/turf_to_check) + if(!turf_to_check) + return FALSE + + if(turf_to_check.density) + return turf_to_check + + for(var/atom/movable/hit_thing in turf_to_check) + if(isliving(hit_thing)) + var/mob/living/hit_mob = hit_thing + return hit_mob.density + + if(isobj(hit_thing)) + var/obj/hit_obj = hit_thing + return hit_obj.density + + return FALSE + //////////////////////////////////////////////////////////////////////// // WAS: /datum/bioEffect/polymorphism From 0e0fe9f107611c116bc19e1167540576e0eb46c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B8=D1=80=D0=BE=D1=82=D0=BA=D0=B0?= <114731039+ErdGinalD@users.noreply.github.com> Date: Fri, 17 May 2024 15:59:28 +0300 Subject: [PATCH 22/31] Kangaroo and larva now can be butchering (#25360) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Kangaroo and larva now can be butchering * Update code/modules/food_and_drinks/food/foods/meat.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> * Update code/modules/food_and_drinks/food/foods/meat.dm Co-authored-by: Sheep <46016730+Scribble-Sheep@users.noreply.github.com> Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> --------- Signed-off-by: Сиротка <114731039+ErdGinalD@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Co-authored-by: Sheep <46016730+Scribble-Sheep@users.noreply.github.com> --- code/modules/food_and_drinks/food/foods/meat.dm | 6 ++++++ code/modules/mob/living/carbon/alien/larva/larva.dm | 1 + .../mob/living/simple_animal/hostile/retaliate/kangaroo.dm | 1 + 3 files changed, 8 insertions(+) diff --git a/code/modules/food_and_drinks/food/foods/meat.dm b/code/modules/food_and_drinks/food/foods/meat.dm index a187fd7685b4..c3341fcaab16 100644 --- a/code/modules/food_and_drinks/food/foods/meat.dm +++ b/code/modules/food_and_drinks/food/foods/meat.dm @@ -47,6 +47,12 @@ desc = "Much meatier than monkey meat." list_reagents = list("nutriment" = 5, "vitamin" = 1) +/obj/item/food/snacks/meat/kangaroo + name = "kangaroo meat" + desc = "Extremely muscular and tender meat." + list_reagents = list("protein" = 4, "iron" = 5, "vitamin" = 1) + tastes = list("a punch in the face" = 1, "fowl" = 3) + /obj/item/food/snacks/meat/monkey //same as plain meat diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 37a3e94cf277..3d0491e12792 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -7,6 +7,7 @@ maxHealth = 25 health = 25 + butcher_results = list(/obj/item/food/snacks/monstermeat/xenomeat = 1) density = FALSE var/temperature_resistance = T0C+75 diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/kangaroo.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/kangaroo.dm index 79e1145eee3c..eafab4122475 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/kangaroo.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/kangaroo.dm @@ -13,6 +13,7 @@ emote_hear = list("bark") maxHealth = 150 health = 150 + butcher_results = list(/obj/item/food/snacks/meat/kangaroo = 6) harm_intent_damage = 3 melee_damage_lower = 5 // avg damage 12.5 without kick, (12.5+12.5+60)/3=25 with kick melee_damage_upper = 20 From 0339ef65dd90290238c07f7c05bb4b5df7723152 Mon Sep 17 00:00:00 2001 From: Contrabang <91113370+Contrabang@users.noreply.github.com> Date: Fri, 17 May 2024 09:00:27 -0400 Subject: [PATCH 23/31] Body Randomize button now changes physique and height (#25418) --- code/modules/client/preference/character.dm | 4 +++- code/modules/client/preference/link_processing.dm | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/code/modules/client/preference/character.dm b/code/modules/client/preference/character.dm index 3944fe8ecd12..998f1f3e5b4d 100644 --- a/code/modules/client/preference/character.dm +++ b/code/modules/client/preference/character.dm @@ -630,8 +630,10 @@ randomize_eyes_color() if(S.bodyflags & HAS_SKIN_COLOR) randomize_skin_color() - backbag = 2 + backbag = pick(GLOB.backbaglist) age = rand(S.min_age, S.max_age) + physique = pick(GLOB.character_physiques) + height = pick(GLOB.character_heights) /datum/character_save/proc/randomize_hair_color(target = "hair") diff --git a/code/modules/client/preference/link_processing.dm b/code/modules/client/preference/link_processing.dm index 7ed56e997593..961b6394074b 100644 --- a/code/modules/client/preference/link_processing.dm +++ b/code/modules/client/preference/link_processing.dm @@ -691,12 +691,12 @@ if("physique") var/new_physique = tgui_input_list(user, "Choose your descriptor for how built your character is on glance.", "Character Preference", GLOB.character_physiques) - if(new_physique) + if(new_physique in GLOB.character_physiques) active_character.physique = new_physique if("height") var/new_height = tgui_input_list(user, "Choose your descriptor for how tall your character is on glance.", "Character Preference", GLOB.character_heights) - if(new_height) + if(new_height in GLOB.character_heights) active_character.height = new_height if("flavor_text") From f3a24e24bbd4d231a7c93f628e8231e12fb10b56 Mon Sep 17 00:00:00 2001 From: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com> Date: Fri, 17 May 2024 14:01:13 +0100 Subject: [PATCH 24/31] Improves note deletions (#25460) * Improves not deletions * balls * balls the second --- SQL/paradise_schema.sql | 5 +- SQL/updates/55-56.sql | 7 ++ code/__DEFINES/misc_defines.dm | 2 +- code/modules/admin/sql_notes.dm | 5 +- config/example/config.toml | 182 ++++++++++++++++++-------------- 5 files changed, 118 insertions(+), 83 deletions(-) create mode 100644 SQL/updates/55-56.sql diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index c472e55eb216..8a476cb63b6d 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -404,8 +404,11 @@ CREATE TABLE `notes` ( `server` varchar(50) NOT NULL, `crew_playtime` mediumint(8) UNSIGNED DEFAULT '0', `automated` TINYINT(3) UNSIGNED NULL DEFAULT '0', + `deleted` TINYINT(4) NOT NULL DEFAULT '0', + `deletedby` VARCHAR(32) NULL DEFAULT NULL COLLATE 'utf8mb4_general_ci', PRIMARY KEY (`id`), - KEY `ckey` (`ckey`) + KEY `ckey` (`ckey`), + KEY `deleted` (`deleted`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/SQL/updates/55-56.sql b/SQL/updates/55-56.sql new file mode 100644 index 000000000000..c6799413b388 --- /dev/null +++ b/SQL/updates/55-56.sql @@ -0,0 +1,7 @@ +# Updating DB from 55-56 ~AffectedArc07 +# Adds a new column to the notes table for tracking deleted notes +ALTER TABLE `notes` + ADD COLUMN `deleted` TINYINT NOT NULL DEFAULT 0 AFTER `automated`, + ADD COLUMN `deletedby` VARCHAR(32) NULL DEFAULT NULL AFTER `deleted`, + ADD INDEX `deleted` (`deleted`); + diff --git a/code/__DEFINES/misc_defines.dm b/code/__DEFINES/misc_defines.dm index 6cfb6abf2505..e3fee8035c73 100644 --- a/code/__DEFINES/misc_defines.dm +++ b/code/__DEFINES/misc_defines.dm @@ -402,7 +402,7 @@ #define INVESTIGATE_BOMB "bombs" // The SQL version required by this version of the code -#define SQL_VERSION 55 +#define SQL_VERSION 56 // Vending machine stuff #define CAT_NORMAL (1<<0) diff --git a/code/modules/admin/sql_notes.dm b/code/modules/admin/sql_notes.dm index ef0253f972a4..35da1e5dcbfd 100644 --- a/code/modules/admin/sql_notes.dm +++ b/code/modules/admin/sql_notes.dm @@ -112,7 +112,8 @@ adminckey = query_find_note_del.item[3] qdel(query_find_note_del) - var/datum/db_query/query_del_note = SSdbcore.NewQuery("DELETE FROM notes WHERE id=:note_id", list( + var/datum/db_query/query_del_note = SSdbcore.NewQuery("UPDATE notes SET deleted=1, deletedby=:ckey WHERE id=:note_id", list( + "ckey" = usr.ckey, "note_id" = note_id )) if(!query_del_note.warn_execute()) @@ -193,7 +194,7 @@ var/target_sql_ckey = ckey(target_ckey) var/datum/db_query/query_get_notes = SSdbcore.NewQuery({" SELECT id, timestamp, notetext, adminckey, last_editor, server, crew_playtime, round_id, automated - FROM notes WHERE ckey=:targetkey ORDER BY timestamp"}, list( + FROM notes WHERE ckey=:targetkey AND deleted=0 ORDER BY timestamp"}, list( "targetkey" = target_sql_ckey )) if(!query_get_notes.warn_execute()) diff --git a/config/example/config.toml b/config/example/config.toml index 61aa467b1486..48884d6a0926 100644 --- a/config/example/config.toml +++ b/config/example/config.toml @@ -67,12 +67,39 @@ enable_localhost_autoadmin = true # +VIEWRUNTIMES = Allows a player to view the runtimes of the server, but not use other debug verbs admin_ranks = [ # Format: {name = "My Rank", rights = ["+LIST", "+OF", "+RIGHTS"]} - {name = "Mentor", rights = ["+MENTOR"]}, - {name = "Trial Admin", rights = ["+ADMIN", "+BAN", "+STEALTH", "+REJUVINATE"]}, - {name = "Game Admin", rights = ["+ADMIN", "+BAN", "+STEALTH", "+REJUVINATE", "+DEBUG", "+BUILDMODE", "+EVENT", "+SERVER", "+POSSESS", "+PROCCALL", "+VAREDIT", "+SOUND", "+SPAWN"]}, - {name = "Head of Staff", rights = ["+EVERYTHING"]}, - {name = "Hosting Provider", rights = ["+EVERYTHING"]}, - {name = "Maintainers", rights = ["+EVERYTHING"]} + { name = "Mentor", rights = [ + "+MENTOR", + ] }, + { name = "Trial Admin", rights = [ + "+ADMIN", + "+BAN", + "+STEALTH", + "+REJUVINATE", + ] }, + { name = "Game Admin", rights = [ + "+ADMIN", + "+BAN", + "+STEALTH", + "+REJUVINATE", + "+DEBUG", + "+BUILDMODE", + "+EVENT", + "+SERVER", + "+POSSESS", + "+PROCCALL", + "+VAREDIT", + "+SOUND", + "+SPAWN", + ] }, + { name = "Head of Staff", rights = [ + "+EVERYTHING", + ] }, + { name = "Hosting Provider", rights = [ + "+EVERYTHING", + ] }, + { name = "Maintainers", rights = [ + "+EVERYTHING", + ] }, ] # List of people and the admin rank they are assigned to admin_assignments = [ @@ -82,18 +109,18 @@ admin_assignments = [ allow_admin_ooc_colour = true # Map of admin rank colours to their respective rank. Note you can use hex or colour name here. admin_rank_colour_map = [ - {name = "Head of Staff", colour = "#e74c3c"}, - {name = "Maintainer", colour = "#992d22"}, - {name = "Server Dev", colour = "#1abc9c"}, - {name = "Community Manager", colour = "#e91e63"}, - {name = "Game Admin", colour = "#238afa"}, - {name = "Trial Admin", colour = "#7fb6fc"}, - {name = "PR Reviewer", colour = "#c27c0e"}, - {name = "Mentor", colour = "#f1c40f"}, + { name = "Head of Staff", colour = "#e74c3c" }, + { name = "Maintainer", colour = "#992d22" }, + { name = "Server Dev", colour = "#1abc9c" }, + { name = "Community Manager", colour = "#e91e63" }, + { name = "Game Admin", colour = "#238afa" }, + { name = "Trial Admin", colour = "#7fb6fc" }, + { name = "PR Reviewer", colour = "#c27c0e" }, + { name = "Mentor", colour = "#f1c40f" }, ] # Map of common CIDs that should not be banned, plus their reasons common_cid_map = [ - {cid = "3923664137", reason = "Mass-Match related to Walmart branded prebuilt PCs"} + { cid = "3923664137", reason = "Mass-Match related to Walmart branded prebuilt PCs" }, ] @@ -131,7 +158,10 @@ ai_hologram = ["ckeyhere"] pai_holoform = ["ckeyhere"] # List of dictionary entries for ckeys with a custom IPC screean ipc_screens = [ - {ckey = "ckeyhere", screens = ["Icon State 1", "Icon State 2"]} + { ckey = "ckeyhere", screens = [ + "Icon State 1", + "Icon State 2", + ] }, ] @@ -145,7 +175,7 @@ ipc_screens = [ # Enable/disable the database on a whole sql_enabled = false # SQL version. If this is a mismatch, round start will be delayed -sql_version = 55 +sql_version = 56 # SQL server address. Can be an IP or DNS name sql_address = "127.0.0.1" # SQL server port @@ -171,20 +201,14 @@ async_thread_limit = 50 # All role IDs must be STRINGS as BYOND doesnt like ints that big enable_discord_webhooks = false # List of all webhooks for the primary feed (public channels) -main_webhook_urls = [ - "https://webhook.one", - "https://webhook.two" -] +main_webhook_urls = ["https://webhook.one", "https://webhook.two"] # List of all webhook URLs for the mentor feed (mentorhelps relay) mentor_webhook_urls = [ "https://mentor.webhook.one", - "https://mentor.webhook.two" + "https://mentor.webhook.two", ] # List of all webhook URLs for the admin feed (round alerts, ahelps, etc) -admin_webhook_urls = [ - "https://admin.webhook.one", - "https://admin.webhook.two" -] +admin_webhook_urls = ["https://admin.webhook.one", "https://admin.webhook.two"] # Role ID for the admin role on the discord. Set to "" to disable. # THESE MUST BOTH BE STRINGS. BYOND DOESNT LIKE NUMBERS THIS BIG admin_role_id = "" @@ -204,9 +228,9 @@ forward_all_ahelps = true # Disable this to disable all random events allow_random_events = true # Map of lower bounds for event delays. In minutes. -event_delay_lower_bounds = {mundane = 10, moderate = 30, major = 50} +event_delay_lower_bounds = { mundane = 10, moderate = 30, major = 50 } # Map of upper bounds for event delays. In minutes. -event_delay_upper_bounds = {mundane = 15, moderate = 45, major = 70} +event_delay_upper_bounds = { mundane = 15, moderate = 45, major = 70 } # Expected round length in minutes. Changes event weights expected_round_length = 120 # Initial delays for the first events firing off. If any of these are commented, a random value based on above thresholds is used. @@ -214,8 +238,8 @@ expected_round_length = 120 # Values are in minutes event_initial_delays = [ #{severity = "mundane", lower_bound = 10, upper_bound = 15}, - {severity = "moderate", lower_bound = 25, upper_bound = 40}, - {severity = "major", lower_bound = 55, upper_bound = 75}, + { severity = "moderate", lower_bound = 25, upper_bound = 40 }, + { severity = "major", lower_bound = 55, upper_bound = 75 }, ] @@ -229,20 +253,20 @@ event_initial_delays = [ antag_account_age_restrictions = false # Gamemode probabilities map for if you are using secret or random gamemode_probabilities = [ - {gamemode = "abduction", probability = 0}, - {gamemode = "changeling", probability = 3}, - {gamemode = "cult", probability = 3}, - {gamemode = "extend-a-traitormongous", probability = 2}, # Autotraitor - {gamemode = "extended", probability = 3}, - {gamemode = "nuclear", probability = 2}, - {gamemode = "raginmages", probability = 0}, - {gamemode = "revolution", probability = 0}, - {gamemode = "traitor", probability = 2}, - {gamemode = "traitorchan", probability = 3}, - {gamemode = "traitorvamp", probability = 3}, - {gamemode = "vampire", probability = 3}, - {gamemode = "wizard", probability = 2}, - {gamemode = "trifecta", probability = 3}, + { gamemode = "abduction", probability = 0 }, + { gamemode = "changeling", probability = 3 }, + { gamemode = "cult", probability = 3 }, + { gamemode = "extend-a-traitormongous", probability = 2 }, # Autotraitor + { gamemode = "extended", probability = 3 }, + { gamemode = "nuclear", probability = 2 }, + { gamemode = "raginmages", probability = 0 }, + { gamemode = "revolution", probability = 0 }, + { gamemode = "traitor", probability = 2 }, + { gamemode = "traitorchan", probability = 3 }, + { gamemode = "traitorvamp", probability = 3 }, + { gamemode = "vampire", probability = 3 }, + { gamemode = "wizard", probability = 2 }, + { gamemode = "trifecta", probability = 3 }, ] # Do we want the amount of traitors to scale with population? traitor_scaling = true @@ -409,44 +433,44 @@ enable_job_amount_overrides = true # Job slot amount map. These are overrides. If you dont specify a value here, the code will be used as default. -1 is infinite job_slot_amounts = [ # Commmand - {name = "Captain", lowpop = 1, highpop = 1}, - {name = "Head of Personnel", lowpop = 1, highpop = 1}, - {name = "Head of Security", lowpop = 1, highpop = 1}, - {name = "Chief Engineer", lowpop = 1, highpop = 1}, - {name = "Research Director", lowpop = 1, highpop = 1}, - {name = "Chief Medical Officer", lowpop = 1, highpop = 1}, + { name = "Captain", lowpop = 1, highpop = 1 }, + { name = "Head of Personnel", lowpop = 1, highpop = 1 }, + { name = "Head of Security", lowpop = 1, highpop = 1 }, + { name = "Chief Engineer", lowpop = 1, highpop = 1 }, + { name = "Research Director", lowpop = 1, highpop = 1 }, + { name = "Chief Medical Officer", lowpop = 1, highpop = 1 }, # Engineering - {name = "Life Support Specialist", lowpop = 3, highpop = 4}, - {name = "Station Engineer", lowpop = 5, highpop = 6}, + { name = "Life Support Specialist", lowpop = 3, highpop = 4 }, + { name = "Station Engineer", lowpop = 5, highpop = 6 }, # Medical - {name = "Chemist", lowpop = 2, highpop = 2}, - {name = "Geneticist", lowpop = 2, highpop = 2}, - {name = "Medical Doctor", lowpop = 5, highpop = 6}, - {name = "Virologist", lowpop = 1, highpop = 1}, + { name = "Chemist", lowpop = 2, highpop = 2 }, + { name = "Geneticist", lowpop = 2, highpop = 2 }, + { name = "Medical Doctor", lowpop = 5, highpop = 6 }, + { name = "Virologist", lowpop = 1, highpop = 1 }, # Science - {name = "Roboticist", lowpop = 2, highpop = 2}, - {name = "Scientist", lowpop = 6, highpop = 7}, + { name = "Roboticist", lowpop = 2, highpop = 2 }, + { name = "Scientist", lowpop = 6, highpop = 7 }, # Security - {name = "Detective", lowpop = 1, highpop = 1}, - {name = "Security Officer", lowpop = 8, highpop = 9}, - {name = "Warden", lowpop = 1, highpop = 1}, - {name = "Internal Affairs Agent", lowpop = 2, highpop = 2}, + { name = "Detective", lowpop = 1, highpop = 1 }, + { name = "Security Officer", lowpop = 8, highpop = 9 }, + { name = "Warden", lowpop = 1, highpop = 1 }, + { name = "Internal Affairs Agent", lowpop = 2, highpop = 2 }, # Service - {name = "Bartender", lowpop = 1, highpop = 1}, - {name = "Botanist", lowpop = 2, highpop = 2}, - {name = "Chaplain", lowpop = 1, highpop = 1}, - {name = "Chef", lowpop = 1, highpop = 1}, - {name = "Janitor", lowpop = 1, highpop = 2}, - {name = "Librarian", lowpop = 1, highpop = 1}, + { name = "Bartender", lowpop = 1, highpop = 1 }, + { name = "Botanist", lowpop = 2, highpop = 2 }, + { name = "Chaplain", lowpop = 1, highpop = 1 }, + { name = "Chef", lowpop = 1, highpop = 1 }, + { name = "Janitor", lowpop = 1, highpop = 2 }, + { name = "Librarian", lowpop = 1, highpop = 1 }, # Cargo/Supply - {name = "Quartermaster", lowpop = 1, highpop = 1}, - {name = "Shaft Miner", lowpop = 6, highpop = 6}, - {name = "Cargo Technician", lowpop = 3, highpop = 4}, + { name = "Quartermaster", lowpop = 1, highpop = 1 }, + { name = "Shaft Miner", lowpop = 6, highpop = 6 }, + { name = "Cargo Technician", lowpop = 3, highpop = 4 }, # Silicon - {name = "AI", lowpop = 1, highpop = 1}, - {name = "Cyborg", lowpop = 1, highpop = 1}, + { name = "AI", lowpop = 1, highpop = 1 }, + { name = "Cyborg", lowpop = 1, highpop = 1 }, # Misc - {name = "Assistant", lowpop = -1, highpop = -1}, + { name = "Assistant", lowpop = -1, highpop = -1 }, ] @@ -816,11 +840,11 @@ non_repeating_maps = true # - "Random" = no vote, map is random # If you dont enter one correctly, it will whine on startup map_vote_day_types = [ - { day_number = 1, rotation_type = "Vote" }, # Monday - { day_number = 2, rotation_type = "Random" }, # Tuesday - { day_number = 3, rotation_type = "Vote" }, # Wednesday - { day_number = 4, rotation_type = "Random" }, # Thursday - { day_number = 5, rotation_type = "Vote" }, # Friday + { day_number = 1, rotation_type = "Vote" }, # Monday + { day_number = 2, rotation_type = "Random" }, # Tuesday + { day_number = 3, rotation_type = "Vote" }, # Wednesday + { day_number = 4, rotation_type = "Random" }, # Thursday + { day_number = 5, rotation_type = "Vote" }, # Friday { day_number = 6, rotation_type = "Nodupes" }, # Saturday { day_number = 7, rotation_type = "Nodupes" }, # Sunday ] From 64e0947b97311cb9238eabe2bcac2475777f820b Mon Sep 17 00:00:00 2001 From: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com> Date: Fri, 17 May 2024 09:07:01 -0400 Subject: [PATCH 25/31] prototype nanite injector now heals ipcs / robotic limbs / cybernetic organs (#25473) * nanocalcium now heals ipcs / robotic limbs / cybernetic organs * Update code/modules/reagents/chemistry/reagents/medicine.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: S34N <12197162+S34NW@users.noreply.github.com> --------- Signed-off-by: S34N <12197162+S34NW@users.noreply.github.com> Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> --- code/datums/uplink_items/uplink_general.dm | 2 +- .../reagents/chemistry/reagents/medicine.dm | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/code/datums/uplink_items/uplink_general.dm b/code/datums/uplink_items/uplink_general.dm index c55eefdd2077..8fe7955fed50 100644 --- a/code/datums/uplink_items/uplink_general.dm +++ b/code/datums/uplink_items/uplink_general.dm @@ -605,7 +605,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/device_tools/bonerepair name = "Prototype Nanite Autoinjector" - desc = "Stolen prototype full body repair nanites. On injection it will shut down body systems as it revitilizes limbs and organs." + desc = "Stolen prototype full body repair nanites. On injection it will shut down body systems as it revitilizes limbs and organs. Heals organics organs, cybernetic organs, and limbs to fully operational conditions." reference = "NCAI" item = /obj/item/reagent_containers/hypospray/autoinjector/nanocalcium cost = 10 diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm index 0c1b82d9d0c0..eac48e6f3904 100644 --- a/code/modules/reagents/chemistry/reagents/medicine.dm +++ b/code/modules/reagents/chemistry/reagents/medicine.dm @@ -1508,7 +1508,8 @@ metabolization_rate = 0.5 harmless = FALSE taste_description = "2 minutes of suffering" - var/list/stimulant_list = list("methamphetamine", "crank", "bath_salts", "stimulative_agent", "stimulants", "mephedrone") + process_flags = ORGANIC | SYNTHETIC + var/list/stimulant_list = list("methamphetamine", "crank", "bath_salts", "stimulative_agent", "stimulants", "mephedrone", "ultralube", "surge", "surge_plus", "combatlube") /datum/reagent/medicine/nanocalcium/on_mob_life(mob/living/carbon/human/M) var/update_flags = STATUS_UPDATE_NONE @@ -1521,7 +1522,7 @@ if(1 to 19) M.AdjustJitter(8 SECONDS) if(prob(10)) - to_chat(M, "Your skin feels hot and your veins are on fire!") + to_chat(M, "You feel great pain from the nanomachines inside you!") update_flags |= M.adjustFireLoss(1 * REAGENTS_EFFECT_MULTIPLIER, FALSE) for(var/datum/reagent/R in M.reagents.reagent_list) if(stimulant_list.Find(R.id)) @@ -1549,7 +1550,10 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M for(var/obj/item/organ/internal/I in M.internal_organs) // 60 healing to all internal organs. - I.heal_internal_damage(4) + I.heal_internal_damage(4, TRUE) + if(istype(I, /obj/item/organ/internal/cyberimp)) // Fix disabled implants like the ipc charging implant + var/obj/item/organ/internal/cyberimp/crit = I + crit.crit_fail = FALSE if(H.blood_volume < BLOOD_VOLUME_NORMAL * 0.7)// If below 70% blood, regenerate 150 units total H.blood_volume += 10 for(var/datum/disease/critical/heart_failure/HF in H.viruses) @@ -1559,8 +1563,8 @@ if(M.health < 40) update_flags |= M.adjustOxyLoss(-5 * REAGENTS_EFFECT_MULTIPLIER, FALSE) update_flags |= M.adjustToxLoss(-1 * REAGENTS_EFFECT_MULTIPLIER, FALSE) - update_flags |= M.adjustBruteLoss(-3 * REAGENTS_EFFECT_MULTIPLIER, FALSE) - update_flags |= M.adjustFireLoss(-3 * REAGENTS_EFFECT_MULTIPLIER, FALSE) + update_flags |= M.adjustBruteLoss(-3 * REAGENTS_EFFECT_MULTIPLIER, FALSE, robotic = TRUE) + update_flags |= M.adjustFireLoss(-3 * REAGENTS_EFFECT_MULTIPLIER, FALSE, robotic = TRUE) else if(prob(25)) to_chat(M, "Your skin feels like it is ripping apart and your veins are on fire!") //It is experimental and does cause scars, after all. From e2aeeb78034f7ad6277b3edd114b41a66b1b5032 Mon Sep 17 00:00:00 2001 From: Arthri <41360489+Arthri@users.noreply.github.com> Date: Fri, 17 May 2024 21:11:16 +0800 Subject: [PATCH 26/31] Adds a VV Menu for Manipulating Reagent Holders (#25006) * Add reagents_editor * Add tgui * Fix memory leak * Fix volume limits * Don't unnecessarily update UI * Handle null volume * Change syringe color to green * Wrap in section * Add buttons for updating total and forcing reaction * Remove padding for volume cell * Fix memory leak again * Allow removal of reagent * Fix memory leak again * Tweak centering * Fix grammar * Remove redundant types * Reorder types * Remove redundant css * Strip css * Rewrite Icons into Buttons * Add dedicated remove button * Change confirm icon * Build and update tgui * Apply suggestions from code review Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Remove non-existent scss import * [ci skip] * Build and update tgui * trigger ci * force ci * Build and update tgui * force ci --------- Co-authored-by: Arthri <41360489+a@users.noreply.github.com> Co-authored-by: /tg/ui Builder <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Co-authored-by: paradisess13[bot] <165046124+paradisess13[bot]@users.noreply.github.com> --- code/datums/datumvars.dm | 8 + code/game/atoms.dm | 1 + code/modules/admin/reagents_editor.dm | 103 +++++++++ code/modules/client/client_procs.dm | 11 + .../reagents/chemistry/reagents_holder.dm | 9 + paradise.dme | 1 + .../tgui/interfaces/ReagentsEditor.tsx | 205 ++++++++++++++++++ .../styles/interfaces/ReagentsEditor.scss | 40 ++++ tgui/packages/tgui/styles/main.scss | 1 + tgui/public/tgui.bundle.css | 2 +- tgui/public/tgui.bundle.js | 114 +++++----- 11 files changed, 437 insertions(+), 58 deletions(-) create mode 100644 code/modules/admin/reagents_editor.dm create mode 100644 tgui/packages/tgui/interfaces/ReagentsEditor.tsx create mode 100644 tgui/packages/tgui/styles/interfaces/ReagentsEditor.scss diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index 01e94bffe157..5b159ce5e2cd 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -951,6 +951,14 @@ log_admin("[key_name(usr)] has added [amount] units of [chosen_id] to \the [A]") message_admins("[key_name(usr)] has added [amount] units of [chosen_id] to \the [A]") + else if(href_list["editreagents"]) + if(!check_rights(R_DEBUG|R_ADMIN)) + return + + var/atom/A = locateUID(href_list["editreagents"]) + + try_open_reagent_editor(A) + else if(href_list["explode"]) if(!check_rights(R_DEBUG|R_EVENT)) return diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 5a7fd8a98a0b..7b85b1d2b30a 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1164,6 +1164,7 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons) if(curturf) .["Jump to turf"] = "?_src_=holder;adminplayerobservecoodjump=1;X=[curturf.x];Y=[curturf.y];Z=[curturf.z]" .["Add reagent"] = "?_src_=vars;addreagent=[UID()]" + .["Edit reagents"] = "?_src_=vars;editreagents=[UID()]" .["Trigger explosion"] = "?_src_=vars;explode=[UID()]" .["Trigger EM pulse"] = "?_src_=vars;emp=[UID()]" diff --git a/code/modules/admin/reagents_editor.dm b/code/modules/admin/reagents_editor.dm new file mode 100644 index 000000000000..058bff14336f --- /dev/null +++ b/code/modules/admin/reagents_editor.dm @@ -0,0 +1,103 @@ +/datum/reagents_editor + var/atom/target + /// Indexed by target.UID + var/static/list/datum/reagents_editor/editors = list() + +/datum/reagents_editor/New(atom/target) + src.target = target + +/datum/reagents_editor/ui_state(mob/user) + return GLOB.admin_state + +/datum/reagents_editor/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "ReagentsEditor") + ui.open() + ui.set_autoupdate(FALSE) + +/datum/reagents_editor/ui_close(mob/user) + var/open_uis = SStgui.open_uis_by_src[src.UID()] + if(isnull(open_uis) || !islist(open_uis) || length(open_uis) <= 1) + // Remove after everyone closes UI to avoid memory leak + editors -= target.UID() + +/datum/reagents_editor/ui_static_data(mob/user) + . = ..() + + var/list/reagents_information = list() + .["reagentsInformation"] = reagents_information + for(var/id in GLOB.chemical_reagents_list) + var/datum/reagent/R = GLOB.chemical_reagents_list[id] + reagents_information[id] = list( + "name" = R.name, + ) + +/datum/reagents_editor/ui_data(mob/user) + . = ..() + + var/list/reagents = list() + .["reagents"] = reagents + for(var/datum/reagent/R in target.reagents.reagent_list) + reagents[R.id] = list( + "volume" = R.volume, + "uid" = R.UID(), + ) + +// This interface intentionally emulates VV. +// It should, therefore, doesn't place restrictions on any actions, which includes but +// is not limited to: adding a reagent which overfills the container and adding blood +// with a non-existent blood type. It may also do things unconventionally, such as +// directly appending reagents to the list rather than using reagents.add_reagent to +// bypass reagent reactions. +/datum/reagents_editor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + + if(.) + return + + . = TRUE + + switch(action) + if("add_reagent") + var/reagent_id = params["reagentID"] + var/datum/reagent/reagent_prototype = GLOB.chemical_reagents_list[reagent_id] + if(isnull(reagent_prototype)) + return FALSE + var/new_volume = tgui_input_number(ui.user, "How much units of the reagent do you want to add?", "Add Reagent", 0, 1E100, -1E100) + var/datum/reagent/reagent = target.reagents.get_reagent_by_id(reagent_id) + if(isnull(reagent)) + reagent = new reagent_prototype.type() + reagent.holder = target.reagents + reagent.on_new() + if(ishuman(target) && target.reagents.can_metabolize(target, reagent)) + reagent.on_mob_add(target) + target.reagents.reagent_list += reagent + + reagent.volume = new_volume + + if("edit_volume") + var/reagent_uid = params["uid"] + var/datum/reagent/reagent = locateUID(reagent_uid) + if(isnull(reagent)) + return FALSE + var/new_volume = tgui_input_number(ui.user, "How much units of the reagent do you want to be in the container?", "Edit Reagent Volume", 0, 1E100, -1E100) + if(isnull(new_volume)) + return + reagent.volume = new_volume + + if("delete_reagent") + var/reagent_uid = params["uid"] + var/datum/reagent/reagent = locateUID(reagent_uid) + if(isnull(reagent)) + return FALSE + target.reagents.reagent_list -= reagent + + if("update_total") + target.reagents.update_total() + + if("react_reagents") + target.reagents.handle_reactions() + + else + . = FALSE diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index e66ed538b06e..28575df9f219 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -1259,6 +1259,17 @@ debug_variables(stat_item) message_admins("Admin [key_name_admin(usr)] is debugging the [stat_item] [class].") +/client/proc/try_open_reagent_editor(atom/target) + var/target_UID = target.UID() + var/datum/reagents_editor/editor + // editors is static, it can be accessed using a null reference + editor = editor.editors[target_UID] + if(!editor) + editor = new /datum/reagents_editor(target) + editor.editors[target_UID] = editor + + editor.ui_interact(mob) + #undef LIMITER_SIZE #undef CURRENT_SECOND #undef SECOND_COUNT diff --git a/code/modules/reagents/chemistry/reagents_holder.dm b/code/modules/reagents/chemistry/reagents_holder.dm index 413b54262bee..a1319d355e83 100644 --- a/code/modules/reagents/chemistry/reagents_holder.dm +++ b/code/modules/reagents/chemistry/reagents_holder.dm @@ -810,6 +810,15 @@ /datum/reagents/proc/get_reagent(type) . = locate(type) in reagent_list +/datum/reagents/proc/get_reagent_by_id(id) + var/list/cached_reagents = reagent_list + for(var/A in cached_reagents) + var/datum/reagent/R = A + if(R.id == id) + return R + + return + /datum/reagents/proc/remove_all_type(reagent_type, amount, strict = FALSE, safety = TRUE) // Removes all reagent of X type. @strict set to 1 determines whether the childs of the type are included. if(!isnum(amount)) return TRUE diff --git a/paradise.dme b/paradise.dme index 6eda50e2c5cd..b4ef1c70cee0 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1366,6 +1366,7 @@ #include "code\modules\admin\mute.dm" #include "code\modules\admin\outfits.dm" #include "code\modules\admin\player_panel.dm" +#include "code\modules\admin\reagents_editor.dm" #include "code\modules\admin\secrets.dm" #include "code\modules\admin\sql_notes.dm" #include "code\modules\admin\topic.dm" diff --git a/tgui/packages/tgui/interfaces/ReagentsEditor.tsx b/tgui/packages/tgui/interfaces/ReagentsEditor.tsx new file mode 100644 index 000000000000..e4fa714f1496 --- /dev/null +++ b/tgui/packages/tgui/interfaces/ReagentsEditor.tsx @@ -0,0 +1,205 @@ +import { Component } from 'inferno'; +import { useBackend } from '../backend'; +import { Button, Icon, Input, Section, Stack, Table } from '../components'; +import { Window } from '../layouts'; +import { createSearch } from 'common/string'; + +type StaticReagentInformation = { + name: string; +}; + +type VolatileReagentInformation = { + volume: number | null; + uid: string; +}; + +type FilteredReagentInformation = StaticReagentInformation & { + id: string; +} & Partial; + +type StaticData = { + reagentsInformation: Record; +}; + +type VolatileData = { + reagents: Record; +}; + +type ReagentsEditorData = StaticData & VolatileData; + +type ReagentsEditorState = { + searchText: string; +}; + +// The linter is raising false-positives for unused state +/* eslint-disable react/no-unused-state */ +export class ReagentsEditor extends Component<{}, ReagentsEditorState> { + constructor(props: {}) { + super(props); + this.state = { + searchText: '', + }; + } + + handleSearchChange = (e: Event) => { + const target = e.target as HTMLInputElement; + this.setState({ searchText: target.value }); + }; + + override render(props: {}, state: ReagentsEditorState, context: unknown) { + const { + act, + data: { reagentsInformation, reagents: reagentsInContainer }, + } = useBackend(this.context); + + let reagents = Object.entries(reagentsInContainer) + .map( + ([reagentID, reagent]): FilteredReagentInformation => ({ + ...reagent, + ...reagentsInformation[reagentID], + id: reagentID, + }) + ) + .sort((a, b) => a.name.localeCompare(b.name)); + if (state.searchText !== '') { + reagents = reagents.concat( + Object.entries(reagentsInformation) + .filter( + ([reagentID, _]) => reagentsInContainer[reagentID] === undefined + ) + .map( + ([reagentID, reagent]): FilteredReagentInformation => ({ + ...reagent, + id: reagentID, + }) + ) + .sort((a, b) => a.name.localeCompare(b.name)) + ); + } + + const reagentsRows = reagents + .filter(({ id: reagentID, name }) => + createSearch(state.searchText, () => `${reagentID}|${name}`)({}) + ) + .map((reagent) => { + const { volume, uid } = reagent; + return volume === undefined ? ( + + ) : ( + + ); + }); + + return ( + + +
+ + + + + + + +
+
+
+ ); + } +} + +// Row for a reagent with non-zero volume +const PresentReagentRow = ( + { + reagent: { id: reagentID, name, uid, volume }, + }: { reagent: FilteredReagentInformation }, + context: unknown +) => { + const { act } = useBackend(context); + return ( + + +
+ + act('delete_reagent', { + uid, + }) + } + mr="0.5em" + /> +
+ + {volume === null ? `NULL` : `${volume}u`} + +
+ + {reagentID} ({name}) + +
+ ); +}; + +// Row for a reagent with zero volume +const AbsentReagentRow = ( + { reagent: { id: reagentID, name } }: { reagent: FilteredReagentInformation }, + context: unknown +) => { + const { act } = useBackend(context); + return ( + + +