From 8fa9217f3c94e1a1986b117bb342b05981da3ce9 Mon Sep 17 00:00:00 2001 From: LordNest <77477080+LordNest@users.noreply.github.com> Date: Mon, 15 Jan 2024 21:05:00 +0400 Subject: [PATCH] Tweak mercenary kits and apply some fixes (#1798) Co-authored-by: SuhEugene <32931701+SuhEugene@users.noreply.github.com> --- code/modules/admin/admin_verbs.dm | 3 + .../mob/living/carbon/human/inventory.dm | 17 + .../sierra}/icons/obj/modular_laptop.dmi | Bin maps/sierra/icons/obj/target.dmi | Bin 0 -> 756 bytes maps/sierra/icons/turf/decals.dmi | Bin 26653 -> 15284 bytes maps/sierra/items/modular_computer.dm | 21 + maps/sierra/job/jobs_command.dm | 2 +- maps/sierra/job/outfits.dm | 2 +- .../closets/_closets_appearances.dm | 8 + maps/sierra/structures/closets/engineering.dm | 21 + maps/sierra/structures/other.dm | 143 ++++++ maps/sierra/z1-z5_sierra.dmm | 51 +- mods/antagonists/README.md | 3 + mods/antagonists/_antagonists.dme | 1 + mods/antagonists/code/mercenary.dm | 449 ++++++++++++++++++ mods/client_verbs/README.md | 3 +- mods/client_verbs/code/respawn_as_human.dm | 6 +- mods/loadout_items/code/accessory.dm | 12 + mods/ntnet/code/NTNet-items.dm | 10 + mods/ssinput/README.md | 1 + mods/tajara/_tajara.dme | 1 + mods/tajara/code/misc.dm | 20 + .../obj => mods/tajara/icons}/drinks.dmi | Bin packs/infinity/icons/obj/posters.dmi | Bin 34097 -> 0 bytes packs/infinity/structures/holoplants.dm | 4 +- 25 files changed, 759 insertions(+), 19 deletions(-) rename {packs/infinity => maps/sierra}/icons/obj/modular_laptop.dmi (100%) create mode 100644 maps/sierra/icons/obj/target.dmi create mode 100644 mods/antagonists/code/mercenary.dm create mode 100644 mods/tajara/code/misc.dm rename {packs/infinity/icons/obj => mods/tajara/icons}/drinks.dmi (100%) delete mode 100644 packs/infinity/icons/obj/posters.dmi diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 24ae4bc2151dd..6f1cc863673bc 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -144,6 +144,9 @@ var/global/list/admin_verbs_spawn = list( /datum/admins/proc/spawn_atom, // allows us to spawn instances, /datum/admins/proc/spawn_artifact, /client/proc/spawn_chemdisp_cartridge, + // [SIERRA-ADD] - CLIENT_VERBS - , + /client/proc/respawn_as_self, + // [/SIERRA-ADD] - CLIENT_VERBS , /datum/admins/proc/mass_debug_closet_icons ) var/global/list/admin_verbs_server = list( diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 526c8833b14fc..410b45b483090 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -21,6 +21,23 @@ This saves us from having to call add_fingerprint() any time something is put in update_inv_l_hand(0) else update_inv_r_hand(0) + // [SIERRA-ADD] - SSINPUT + // Try put it in their toolbelt + if(istype(src.belt, /obj/item/storage)) + var/obj/item/storage/belt = src.belt + if(belt.can_be_inserted(I, null, 1) && belt.handle_item_insertion(I)) + return + // Try put it in their backpack + if(istype(src.back, /obj/item/storage)) + var/obj/item/storage/backpack = src.back + if(backpack.can_be_inserted(I, null, 1) && backpack.handle_item_insertion(I)) + return + + // Try to place it in any item that can store stuff, on the mob. + for(var/obj/item/storage/S in src.contents) + if(S.can_be_inserted(I, null, 1) && S.handle_item_insertion(I)) + return + // [/SIERRA-ADD] else to_chat(H, SPAN_WARNING("You are unable to equip that.")) diff --git a/packs/infinity/icons/obj/modular_laptop.dmi b/maps/sierra/icons/obj/modular_laptop.dmi similarity index 100% rename from packs/infinity/icons/obj/modular_laptop.dmi rename to maps/sierra/icons/obj/modular_laptop.dmi diff --git a/maps/sierra/icons/obj/target.dmi b/maps/sierra/icons/obj/target.dmi new file mode 100644 index 0000000000000000000000000000000000000000..19248d3a8f7c24914b066f3d4c79ec67c02ca903 GIT binary patch literal 756 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%0AZ|(^9^WE#vGc=4iV?Nrc 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 gO9^D#?59Nclv3kfb*T^FYkzW`!U4<2;hF#rGn diff --git a/maps/sierra/items/modular_computer.dm b/maps/sierra/items/modular_computer.dm index 7a40af5d3b4c9..6e7cfd033a368 100644 --- a/maps/sierra/items/modular_computer.dm +++ b/maps/sierra/items/modular_computer.dm @@ -174,3 +174,24 @@ /obj/item/modular_computer/pda/wrist/lila/black icon_state = "wrist-lila-black" icon_state_unpowered = "wrist-lila-black" + +// Laptop icon override + +/obj/item/modular_computer/laptop + icon = 'maps/sierra/icons/obj/modular_laptop.dmi' + +/obj/item/modular_computer/laptop/verb/rotatelaptop() + set name = "Rotate laptop" + set category = "Object" + set src in view(1) + + if(usr.stat == DEAD) + if(!round_is_spooky()) + to_chat(src, "The veil is not thin enough for you to do that.") + return + + src.set_dir(turn(src.dir, -90)) + +/obj/item/modular_computer/laptop/update_verbs() + ..() + verbs |= /obj/item/modular_computer/laptop/verb/rotatelaptop diff --git a/maps/sierra/job/jobs_command.dm b/maps/sierra/job/jobs_command.dm index 3d125d0b215aa..245a03857e89d 100644 --- a/maps/sierra/job/jobs_command.dm +++ b/maps/sierra/job/jobs_command.dm @@ -403,7 +403,7 @@ minimum_character_age = list(SPECIES_HUMAN = 30) ideal_character_age = 40 - outfit_type = /singleton/hierarchy/outfit/job/sierra/crew/research/iaa + outfit_type = /singleton/hierarchy/outfit/job/sierra/crew/command/iaa allowed_branches = list( /datum/mil_branch/employee ) diff --git a/maps/sierra/job/outfits.dm b/maps/sierra/job/outfits.dm index f8d0b97fcbddc..8a12ab57991a4 100644 --- a/maps/sierra/job/outfits.dm +++ b/maps/sierra/job/outfits.dm @@ -119,7 +119,7 @@ Keeping them simple for now, just spawning with basic EC uniforms, and pretty mu ..() BACKPACK_OVERRIDE_SECURITY -/singleton/hierarchy/outfit/job/sierra/crew/research/iaa +/singleton/hierarchy/outfit/job/sierra/crew/command/iaa name = OUTFIT_JOB_NAME("Internal Affairs Agent - Sierra") l_ear = /obj/item/device/radio/headset/ia uniform = /obj/item/clothing/under/rank/internalaffairs/plain/nt diff --git a/maps/sierra/structures/closets/_closets_appearances.dm b/maps/sierra/structures/closets/_closets_appearances.dm index aaadef5386e57..b82158661abf9 100644 --- a/maps/sierra/structures/closets/_closets_appearances.dm +++ b/maps/sierra/structures/closets/_closets_appearances.dm @@ -141,6 +141,14 @@ "atmos" = COLOR_COMMAND_BLUE ) +/singleton/closet_appearance/secure_closet/sierra/engineering/infotech + color = COLOR_GUNMETAL + extra_decals = list( + "stripe_vertical_mid_partial" = COLOR_PALE_ORANGE, + "stripe_vertical_right_partial" = COLOR_PALE_ORANGE, + "eng_narrow" = COLOR_PALE_ORANGE + ) + /singleton/closet_appearance/secure_closet/sierra/engineering/ce color = COLOR_OFF_WHITE extra_decals = list( diff --git a/maps/sierra/structures/closets/engineering.dm b/maps/sierra/structures/closets/engineering.dm index 32fc947837579..d2498d3e0dcaf 100644 --- a/maps/sierra/structures/closets/engineering.dm +++ b/maps/sierra/structures/closets/engineering.dm @@ -131,3 +131,24 @@ /obj/item/taperoll/atmos, /obj/item/device/scanner/gas ) + +/obj/structure/closet/secure_closet/infotech_sierra + name = "information technician locker" + req_access = list(access_network_admin) + closet_appearance = /singleton/closet_appearance/secure_closet/sierra/engineering/infotech + +/obj/structure/closet/secure_closet/infotech_sierra/WillContain() + return list( + /obj/item/storage/box/PDAs, + /obj/item/modular_computer/laptop/preset/custom_loadout/standard, + /obj/item/modular_computer/tablet/preset/custom_loadout/standard, + /obj/item/clothing/glasses/hud/it, + /obj/item/device/multitool, + /obj/item/clothing/gloves/insulated, + /obj/item/device/flashlight/upgraded, + /obj/item/storage/belt/utility/full, + /obj/item/clothing/head/beret/engineering, + /obj/item/device/radio/headset/headset_eng, + /obj/item/device/radio/headset/headset_eng/alt, + /obj/item/stack/cable_coil = 2 + ) diff --git a/maps/sierra/structures/other.dm b/maps/sierra/structures/other.dm index 5c7e9c9561bbf..d78c4e9f0f0df 100644 --- a/maps/sierra/structures/other.dm +++ b/maps/sierra/structures/other.dm @@ -10,3 +10,146 @@ new /obj/item/book/manual/nt_tc(src) new /obj/item/book/manual/military_law(src) update_icon() + +// Targets, the things that actually get shot! +/obj/item/target + name = "shooting target" + desc = "A shooting target." + icon = 'maps/sierra/icons/obj/target.dmi' + icon_state = "target_h" + density = FALSE + var/hp = 1800 + var/icon/virtualIcon + var/list/bulletholes = list() + +/obj/item/target/use_tool(obj/item/tool, mob/living/user, list/click_params) + if (isWelder(tool)) + var/obj/item/weldingtool/welder = tool + if (welder.remove_fuel(0, user)) + ClearOverlays() + bulletholes.Cut() + hp = initial(hp) + user.visible_message( + SPAN_NOTICE("[user] slices off uneven chunks of aluminium and scorch marks from [src]."), + SPAN_NOTICE("You slice off uneven chunks of aluminium and scorch marks from [src]."), + SPAN_NOTICE("You hear welding."), + ) + return TRUE + return ..() + +/obj/item/target/syndicate + icon_state = "target_s" + desc = "A shooting target that looks like a hostile agent." + hp = 2600 // i guess syndie targets are sturdier? + +/obj/item/target/alien + icon_state = "target_q" + desc = "A shooting target with a threatening silhouette." + hp = 2350 // alium onest too kinda + +#define PROJECTILE_TYPE_SCORCH 1 +#define PROJECTILE_TYPE_BULLET 2 +#define TARGET_RANDOM_OFFSET pick(0, 0, 0, 0, 0, -1, 1) + +/obj/item/target/bullet_act(obj/item/projectile/projectile) + var/p_x = projectile.p_x + TARGET_RANDOM_OFFSET + var/p_y = projectile.p_y + TARGET_RANDOM_OFFSET + + var/projectile_type = PROJECTILE_TYPE_SCORCH + if (istype(/obj/item/projectile/bullet, projectile)) + projectile_type = PROJECTILE_TYPE_BULLET + + virtualIcon = new(icon, icon_state) + + if (isnull(virtualIcon.GetPixel(p_x, p_y))) + return PROJECTILE_CONTINUE // The projectile goes through the target! + + hp -= projectile.damage + if (hp <= 0) + visible_message(SPAN_WARNING("\The [src] breaks into tiny pieces and collapses!")) + qdel(src) + return FALSE // The projectile stops + + // Create a temporary object to represent the damage + var/obj/bmark = new + bmark.pixel_x = p_x + bmark.pixel_y = p_y + bmark.icon = 'icons/effects/effects.dmi' + bmark.layer = ABOVE_OBJ_LAYER + + // Set bmark icon_state + if (projectile_type == PROJECTILE_TYPE_SCORCH) + // Energy weapons are hot. they scorch! + + // Offset correction + bmark.pixel_x-- + bmark.pixel_y-- + + if (projectile.damage >= 20 || istype(projectile, /obj/item/projectile/beam/practice)) + bmark.icon_state = "scorch" + bmark.set_dir(pick(NORTH, SOUTH, EAST, WEST)) // Random scorch design + else + bmark.icon_state = "light_scorch" + else + // Bullets are hard. They make dents! + bmark.icon_state = "dent" + + // Create bulletholes + if (projectile.damage >= 25) // Seriously, we commonly won't achive more than 35 holes. Because this things are beyond window. + + // Bullets make holes more commonly + if (projectile_type == PROJECTILE_TYPE_BULLET && prob(projectile.damage + 30)) + new/datum/bullethole(src, bmark.pixel_x, bmark.pixel_y) + + // Lasers make holes less commonly + if (projectile_type == PROJECTILE_TYPE_SCORCH && prob(projectile.damage - 10)) + new/datum/bullethole(src, bmark.pixel_x, bmark.pixel_y) + + // Draw bullet holes + for(var/datum/bullethole/bhole in bulletholes) + virtualIcon.DrawBox(null, bhole.b1x1, bhole.b1y, bhole.b1x2, bhole.b1y) // Horizontal line, left to right + virtualIcon.DrawBox(null, bhole.b2x, bhole.b2y1, bhole.b2x, bhole.b2y2) // Vertical line, top to bottom + + AddOverlays(bmark) // Add the decal + icon = virtualIcon // Apply bulletholes over decals + + return FALSE // The projectile stops + +#undef TARGET_RANDOM_OFFSET +#undef PROJECTILE_TYPE_BULLET +#undef PROJECTILE_TYPE_SCORCH + +#define BULLETHOLE_RANDOM_OFFSET pick(1, 1, 1, 1, 2, 2, 3, 3, 4) + +// Small memory holder entity for transparent bullet holes +/datum/bullethole + // First box + var/b1x1 = 0 + var/b1x2 = 0 + var/b1y = 0 + + // Second box + var/b2x = 0 + var/b2y1 = 0 + var/b2y2 = 0 + +/datum/bullethole/New(obj/item/target/owner, pixel_x = 0, pixel_y = 0) + if (!owner) return + + // Randomize the first box + b1x1 = pixel_x - BULLETHOLE_RANDOM_OFFSET + b1x2 = pixel_x + BULLETHOLE_RANDOM_OFFSET + b1y = pixel_y + if (prob(35)) + b1y += rand(-4, 4) + + // Randomize the second box + b2x = pixel_x + if (prob(35)) + b2x += rand(-4, 4) + b2y1 = pixel_y + BULLETHOLE_RANDOM_OFFSET + b2y2 = pixel_y - BULLETHOLE_RANDOM_OFFSET + + owner.bulletholes += src + +#undef BULLETHOLE_RANDOM_OFFSET diff --git a/maps/sierra/z1-z5_sierra.dmm b/maps/sierra/z1-z5_sierra.dmm index a7b7be4437ba1..f79e56f0b9d1d 100644 --- a/maps/sierra/z1-z5_sierra.dmm +++ b/maps/sierra/z1-z5_sierra.dmm @@ -24513,6 +24513,15 @@ }, /turf/simulated/floor/tiled/techfloor/grid, /area/maintenance/fourthdeck/aft) +"dDg" = ( +/obj/floor_decal/industrial/warning{ + dir = 5 + }, +/obj/item/target/alien, +/turf/simulated/floor/reinforced{ + map_airless = 1 + }, +/area/space) "dDh" = ( /turf/simulated/wall/prepainted, /area/vacant/utility) @@ -73498,6 +73507,11 @@ /obj/floor_decal/corner/darkblue/bordercorner2{ dir = 1 }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -23; + pixel_y = 5 + }, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/office/iaa/high_sec) "kWB" = ( @@ -73537,6 +73551,12 @@ }, /turf/simulated/floor/plating, /area/shield/thirddeck) +"kXa" = ( +/obj/item/target, +/turf/simulated/floor/reinforced{ + map_airless = 1 + }, +/area/space) "kXd" = ( /obj/structure/cable/green{ d1 = 4; @@ -76062,6 +76082,11 @@ /obj/floor_decal/corner/darkblue/border, /obj/floor_decal/borderfloorblack/corner2, /obj/floor_decal/corner/darkblue/bordercorner2, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -9; + pixel_y = -21 + }, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/office/iaa/high_sec) "lrH" = ( @@ -76592,18 +76617,11 @@ /turf/simulated/floor/plating, /area/medical/virology/atmos) "lvu" = ( -/obj/structure/closet/toolcloset, -/obj/item/storage/belt, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 - }, -/obj/item/device/multitool, /obj/structure/extinguisher_cabinet{ pixel_x = 24; dir = 8 }, -/obj/item/clothing/glasses/hud/it, +/obj/structure/closet/secure_closet/infotech_sierra, /turf/simulated/floor/tiled/techfloor/grid, /area/tcommsat/computer) "lvv" = ( @@ -79466,6 +79484,11 @@ /obj/floor_decal/corner/darkblue/bordercorner2{ dir = 5 }, +/obj/machinery/light_switch{ + pixel_x = 24; + dir = 8; + pixel_y = -5 + }, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/office/iaa/high_sec) "lPF" = ( @@ -123027,6 +123050,12 @@ /obj/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/techfloor/grid, /area/maintenance/fourthdeck/aft) +"stv" = ( +/obj/item/target/syndicate, +/turf/simulated/floor/reinforced{ + map_airless = 1 + }, +/area/space) "stw" = ( /turf/simulated/wall/r_wall/hull, /area/crew_quarters/garden_room) @@ -290968,7 +290997,7 @@ rtT rtT rtT uYw -uYw +stv qPH rox sqc @@ -291171,7 +291200,7 @@ rpE qMW uYw uYw -uYw +kXa aif aAp rsp @@ -291371,7 +291400,7 @@ aTh tXe tXe vDB -lQM +dDg uYw pJv bYb diff --git a/mods/antagonists/README.md b/mods/antagonists/README.md index ced03cc9ce3a4..59d783639a07c 100644 --- a/mods/antagonists/README.md +++ b/mods/antagonists/README.md @@ -3,6 +3,7 @@ - https://github.com/SierraBay/SierraBay12/pull/1474 - https://github.com/SierraBay/SierraBay12/pull/1683 +- https://github.com/SierraBay/SierraBay12/pull/1798