From 91caf00da9835360806907e450aec3792298d8b3 Mon Sep 17 00:00:00 2001 From: CDB <87905328+cdb-is-not-good@users.noreply.github.com> Date: Sun, 11 Feb 2024 03:28:50 -0800 Subject: [PATCH] Fence position (#5009) * Fence position A new prospector. Shop bitch. code ready, too eepy to fiinish the rest * Update prospector.dm * Update code/__DEFINES/jobs.dm Co-authored-by: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> * Update code/datums/outfits/jobs/prospector.dm Co-authored-by: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> * Update code/__DEFINES/jobs.dm Co-authored-by: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> * Update code/game/jobs/job/prospector.dm Co-authored-by: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> * Update code/game/objects/structures/crates_lockers/closets/secure/cargo.dm Co-authored-by: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> * Update code/game/objects/structures/crates_lockers/closets/secure/cargo.dm Co-authored-by: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> * Update code/game/objects/structures/crates_lockers/closets/secure/cargo.dm Co-authored-by: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> * Update code/datums/outfits/jobs/prospector.dm Co-authored-by: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> * Update code/game/objects/structures/crates_lockers/closets/secure/cargo.dm Co-authored-by: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> * Update _Nadezhda_Colony_New.dmm * Update code/game/jobs/department.dm Co-authored-by: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> * makes the closet have a silver f instead of a d * fixes closets * Update closet.dmi * Update cargo.dm * Fence primary/secondary changed from ak47/sawnoff to a bison/ladon.. Also no more medkit spawns/machete. Ya got a dagger if you need a melee. --------- Co-authored-by: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> --- code/__DEFINES/jobs.dm | 4 +- code/datums/outfits/jobs/prospector.dm | 8 +++ code/game/jobs/access_datum.dm | 6 ++ code/game/jobs/department.dm | 2 +- code/game/jobs/job/prospector.dm | 58 ++++++++++++++++++- code/game/jobs/jobs.dm | 1 + .../crates_lockers/closets/secure/cargo.dm | 19 ++++++ code/modules/multiz/map_data.dm | 4 +- maps/__Nadezhda/map/_Nadezhda_Colony_New.dmm | 12 +++- 9 files changed, 103 insertions(+), 11 deletions(-) diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm index cf0fc1b7eec..c51fa298c6d 100644 --- a/code/__DEFINES/jobs.dm +++ b/code/__DEFINES/jobs.dm @@ -7,11 +7,11 @@ #define JOBS_LSS "Chief Executive Officer","Cargo Technician","Lonestar Miner","Bartender","Chef","Gardener","Janitor","Artist" #define JOBS_CIVILIAN "Colonist", "Visitor" #define JOBS_CHURCH "Prime", "Vector" -#define JOBS_PROSPECTOR "Foreman","Salvager","Prospector" +#define JOBS_PROSPECTOR "Foreman","Fence","Salvager","Prospector" #define JOBS_NONHUMAN "AI","Robot","pAI" #define JOBS_INDEPENDENT "Lodge Hunt Master","Lodge Hunter","Lodge Herbalist","Outsider" -#define JOBS_ANTI_HIVEMIND "Blackshield Commander","Warrant Officer","Supply Specialist","Ranger","Corpsman","Blackshield Trooper","Marshal Officer","Sergeant","Prime","Vector","Foreman","Salvager","Prospector","Premier","Steward","AI","Janitor","Soteria Lifeline Technician","Soteria Roboticist","Lonestar Miner" +#define JOBS_ANTI_HIVEMIND "Blackshield Commander","Warrant Officer","Supply Specialist","Ranger","Corpsman","Blackshield Trooper","Marshal Officer","Sergeant","Prime","Vector","Foreman","Fence","Salvager","Prospector","Premier","Steward","AI","Janitor","Soteria Lifeline Technician","Soteria Roboticist","Lonestar Miner" #define CREDITS "¢" #define CREDS "¢" diff --git a/code/datums/outfits/jobs/prospector.dm b/code/datums/outfits/jobs/prospector.dm index c82dd7d8a31..5a28e41dfe4 100644 --- a/code/datums/outfits/jobs/prospector.dm +++ b/code/datums/outfits/jobs/prospector.dm @@ -7,6 +7,14 @@ id_type = /obj/item/card/id/black pda_type = /obj/item/modular_computer/pda/cargo +/decl/hierarchy/outfit/job/fence + name = OUTFIT_JOB_NAME("Prospectors - Fence") + glasses = /obj/item/clothing/glasses/sunglasses + uniform = /obj/item/clothing/under/top/outfitgambler + l_ear = /obj/item/device/radio/headset/headset_pro + shoes = /obj/item/clothing/shoes/jackboots + id_type = /obj/item/card/id/black + pda_type = /obj/item/modular_computer/pda/cargo /decl/hierarchy/outfit/job/pro name = OUTFIT_JOB_NAME("Prospectors - Prospector") uniform = /obj/item/clothing/under/turtleneck diff --git a/code/game/jobs/access_datum.dm b/code/game/jobs/access_datum.dm index 5eabdd94978..0a42e5bd51c 100644 --- a/code/game/jobs/access_datum.dm +++ b/code/game/jobs/access_datum.dm @@ -465,6 +465,12 @@ desc = "Foreman's Quarters" region = ACCESS_REGION_PROSPECTOR +/var/const/access_fence = 111 +/datum/access/fence + id = access_fence + desc = "Fences access" //maybe they'll get a closet for an office one day. + region = ACCESS_REGION_PROSPECTOR + /************** * Hunt Lodge * ***************/ diff --git a/code/game/jobs/department.dm b/code/game/jobs/department.dm index 51202daa9fd..18c9fd9b96c 100644 --- a/code/game/jobs/department.dm +++ b/code/game/jobs/department.dm @@ -126,7 +126,7 @@ id = DEPARTMENT_PROSPECTOR //With only the Foreman currently being paid, after 8 hours, it totals to 4800 of payment, leaving an ample 1700 left. account_initial_balance = 6500 //With how Prospectors no longer get paid, they no longer need such an inflated department balance - jobs_in_department = list("/datum/job/foreman","/datum/job/salvager","/datum/job/pro") + jobs_in_department = list("/datum/job/foreman","/datum/job/salvager","/datum/job/pro","/datm/job/fence") /datum/department/independent name = "Independent Allied Factions" diff --git a/code/game/jobs/job/prospector.dm b/code/game/jobs/job/prospector.dm index 6fbddbc76f7..daceca1bb94 100644 --- a/code/game/jobs/job/prospector.dm +++ b/code/game/jobs/job/prospector.dm @@ -7,7 +7,7 @@ faction = MAP_FACTION total_positions = 1 spawn_positions = 1 - supervisors = "the Nadezhda Council" + supervisors = "Boss Hogg" difficulty = "Hard." selection_color = "#97b0be" req_admin_notify = 1 @@ -22,7 +22,7 @@ playtimerequired = 1200 access = list( access_prospector, access_foreman, access_external_airlocks, access_eva, access_heads, access_sec_doors, - access_RC_announce, access_keycard_auth, access_maint_tunnels, access_medical_suits //for locating scav team dead bodies + access_RC_announce, access_keycard_auth, access_maint_tunnels, access_fence, access_medical_suits //for locating scav team dead bodies ) stat_modifiers = list( @@ -55,6 +55,58 @@ icon_state = "player-blue-officer" join_tag = /datum/job/foreman +/datum/job/fence + title = "Fence" + flag = FENCE + department = DEPARTMENT_PROSPECTOR + department_flag = PROSPECTORS + faction = MAP_FACTION + total_positions = 1 + spawn_positions = 1 + supervisors = "the Foreman" + difficulty = "Hard." + selection_color = "#97b0be" + req_admin_notify = 1 + wage = WAGE_LABOUR_HAZARD + department_account_access = TRUE + health_modifier = 5 + + disallow_species = list(FORM_SOTSYNTH, FORM_AGSYNTH, FORM_BSSYNTH, FORM_CHURCHSYNTH, FORM_NASHEF) + + + outfit_type = /decl/hierarchy/outfit/job/fence + playtimerequired = 600 + access = list( + access_prospector, access_fence, access_external_airlocks, access_eva, access_maint_tunnels + ) + + stat_modifiers = list( + STAT_ROB = 10, + STAT_TGH = 10, + STAT_VIG = 10, + STAT_MEC = 20, + STAT_BIO = 15 + ) + + perks = list(PERK_STALKER, PERK_MARKET_PROF) + + description = "The Fence is a master of the prospector arsenal. Somewhere between gunsmith and trader, your job is to mete out the finds to buyers, and to \ + make the rusted piles of junk at the bottom of the trash cart presentable enough for sale. \ + You are a veteran prospector or salvager, one of Hogg's long timers, and you know your stuff. You're expected to help wrangle the newbies and to back up the Foremans word \ + Alongside this, you've got final say over the store from which you vend your (ill)-gotten gains. Remember, you're a veteran at this. \ + You should be a reasonable voice amongst the hard headed field workers - Hogg wants a profit, not a dispute with the pigs." + + duties = "Help your fellows prepare and procure everything they need for runs. \ + Keep the funds flowing. Everything is for sale if the price is right, more funds means better equipment, better equipment means safer runs. \ + Mind the shop. You're in charge of keeping prep safe from prying eyes and greedy hands.\ + Remember, you can't do your job from the inside of a cell. Rules are made to be bent, broken if you're clever - but if you get caught, it's your ass. \ + Help to keep the rowdy rookies in line. Foreman is a part time gig with fulltime stress, back the boss and help him keep the peace - You've got full authority to slap around thugs acting foolish, do what must be done." + +/obj/landmark/join/start/fence + name = "Fence" + icon_state = "player-blue" + join_tag = /datum/job/fence + /datum/job/salvager title = "Salvager" flag = SALVAGER @@ -70,7 +122,7 @@ alt_perks = list("Sawbones"=list(PERK_MEDICAL_EXPERT, PERK_STALKER), "Junk Technician"=list(PERK_JUNKBORN, PERK_ROBOTICS_EXPERT)) selection_color = "#a7bbc6" initial_balance = 500 //Should be enough to get by with basic meds, tools, and food round-start. - wage = WAGE_LABOUR + wage = WAGE_LABOUR_HAZARD disallow_species = list(FORM_BSSYNTH, FORM_NASHEF) outfit_type = /decl/hierarchy/outfit/job/salv diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 326ecf5670a..fc9481aae4f 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -60,6 +60,7 @@ var/const/FOREMAN =(1<<10) var/const/SALVAGER =(1<<11) var/const/PROSPECTOR =(1<<12) var/const/VISITOR =(1<<13) +var/const/FENCE =(1<<14) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm index e92cbebed1e..358498845cb 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm @@ -642,6 +642,25 @@ new /obj/item/grenade/spawnergrenade/manhacks/junkbot(src) +/obj/structure/closet/secure_closet/reinforced/foreman/fence //essentially just a modified foreman locker. This is fine for now. + name = "Fences locker" + req_access = list(access_fence) + icon_state = "fence" + +/obj/structure/closet/secure_closet/reinforced/foreman/fence/populate_contents() + new /obj/item/clothing/suit/storage/scavengerarmor(src) + new /obj/item/clothing/head/helmet/handmade/scavengerhelmet(src) + new /obj/item/gun/projectile/shotgun/bull/bison(src) + new /obj/item/ammo_magazine/ammobox/shotgun/buckshot(src) + new /obj/item/ammo_magazine/speed_loader_shotgun/empty(src) + new /obj/item/gun/projectile/automatic/slaught_o_matic(src) + new /obj/item/gun/projectile/ladon/sa(src) + new /obj/item/ammo_magazine/magnum_40(src) + new /obj/item/ammo_magazine/magnum_40(src) + new /obj/item/tool/knife/dagger(src) + new /obj/item/device/radio/off(src) + new /obj/item/storage/belt/utility/full(src) + /obj/structure/closet/secure_closet/personal/artist name = "lonestar artist's locker" req_access = list(access_theatre) diff --git a/code/modules/multiz/map_data.dm b/code/modules/multiz/map_data.dm index d9a99c79f8e..8d189c083a6 100644 --- a/code/modules/multiz/map_data.dm +++ b/code/modules/multiz/map_data.dm @@ -112,7 +112,7 @@ ADMIN_VERB_ADD(/client/proc/test_MD, R_DEBUG, null) /datum/job/doctor, /datum/job/recovery_team, /datum/job/psychiatrist, /datum/job/technomancer, /datum/job/cargo_tech, /datum/job/mining, /datum/job/merchant, - /datum/job/salvager, /datum/job/pro, + /datum/job/salvager, /datum/job/pro, /datum/job/fence, /datum/job/clubworker, /datum/job/clubmanager, /datum/job/artist, /datum/job/chaplain, /datum/job/acolyte, /datum/job/janitor, /datum/job/hydro, /datum/job/scientist, /datum/job/roboticist, @@ -270,4 +270,4 @@ ADMIN_VERB_ADD(/client/proc/test_MD, R_DEBUG, null) name = "[original_name] stage [shift]" GLOB.maps_data.registrate(src) - add_z_level(z_level_r, original_level, height) \ No newline at end of file + add_z_level(z_level_r, original_level, height) diff --git a/maps/__Nadezhda/map/_Nadezhda_Colony_New.dmm b/maps/__Nadezhda/map/_Nadezhda_Colony_New.dmm index 83601ee9a85..9c1a32dd31b 100644 --- a/maps/__Nadezhda/map/_Nadezhda_Colony_New.dmm +++ b/maps/__Nadezhda/map/_Nadezhda_Colony_New.dmm @@ -33716,6 +33716,13 @@ }, /turf/simulated/floor/tiled/steel/golden, /area/nadezhda/absolutism/bioreactor) +"hje" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/landmark/join/start/fence, +/obj/structure/bed/chair/office/dark, +/turf/simulated/floor/tiled/dark, +/area/nadezhda/pros/prep) "hji" = ( /obj/effect/floor_decal/industrial/hatch/yellow, /turf/simulated/floor/tiled/dark/techfloor_grid, @@ -109554,12 +109561,11 @@ /turf/simulated/floor/reinforced, /area/nadezhda/engineering/atmos) "wSC" = ( -/obj/structure/table/rack, -/obj/effect/floor_decal/industrial/warningwhite/full, /obj/structure/sign/warning/smoking/small{ pixel_x = 32; pixel_y = -32 }, +/obj/structure/closet/secure_closet/reinforced/foreman/fence, /turf/simulated/floor/tiled/dark, /area/nadezhda/pros/prep) "wSD" = ( @@ -218295,7 +218301,7 @@ lBK kgr unw kUX -kUX +hje xdH pQw mhw