Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 50 additions & 8 deletions _maps/map_files/vanderlin/vanderlin.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1991,7 +1991,17 @@
/turf/open/floor/blocks/paving,
/area/indoors/town/bath)
"aWB" = (
/obj/structure/table/wood/plain_alt,
/obj/structure/closet/crate/chest/crate,
/obj/item/key/sweeper,
/obj/item/broom,
/obj/item/natural/bundle/cloth{
amount = 5;
pixel_y = 7
},
/obj/item/reagent_containers/glass/bucket/wooden,
/obj/item/reagent_containers/glass/bucket/wooden,
/obj/item/soap,
/obj/item/soap,
/turf/open/floor/ruinedwood/turned,
/area/indoors/town)
"aWO" = (
Expand Down Expand Up @@ -17991,6 +18001,20 @@
/area/indoors/town/keep/captain)
"iGe" = (
/obj/effect/decal/cleanable/dirt/cobweb,
/obj/structure/rack/shelf,
/obj/item/storage/sack{
pixel_x = 6;
pixel_y = 39
},
/obj/item/storage/sack{
pixel_x = -2;
pixel_y = 39
},
/obj/item/storage/sack{
pixel_x = -10;
pixel_y = 39
},
/obj/structure/fermentation_keg/water,
/turf/open/floor/ruinedwood/turned,
/area/indoors/town)
"iGp" = (
Expand Down Expand Up @@ -21553,7 +21577,8 @@
/turf/open/floor/grass,
/area/indoors/town/church/inquisition)
"klY" = (
/obj/machinery/light/fueled/torchholder/r,
/obj/machinery/light/fueled/wallfire/candle/weak/r,
/obj/effect/landmark/start/sweeper,
/turf/open/floor/ruinedwood/turned,
/area/indoors/town)
"kma" = (
Expand Down Expand Up @@ -23406,9 +23431,11 @@
/turf/open/floor/metal/barograte,
/area/indoors/town/dwarfin)
"lec" = (
/obj/structure/door/weak/bolt{
dir = 4
/obj/structure/door{
name = "Sweeper's Quarters"
},
/obj/effect/mapping_helpers/access/locker,
/obj/effect/mapping_helpers/access/keyset/town/sweeper,
/turf/open/floor/ruinedwood/turned,
/area/indoors/town)
"leJ" = (
Expand Down Expand Up @@ -24164,6 +24191,23 @@
},
/turf/open/floor/cobblerock,
/area/outdoors/town)
"lwR" = (
/obj/structure/handcart,
/obj/structure/rack/shelf,
/obj/item/burial_shroud{
pixel_x = 6;
pixel_y = 38
},
/obj/item/burial_shroud{
pixel_x = 0;
pixel_y = 38
},
/obj/item/burial_shroud{
pixel_x = -7;
pixel_y = 38
},
/turf/open/floor/ruinedwood/turned,
/area/indoors/town)
"lwS" = (
/obj/structure/fluff/walldeco/bath/wallpipes{
dir = 1;
Expand Down Expand Up @@ -29526,9 +29570,7 @@
/turf/open/openspace,
/area/indoors/town/garrison)
"nYo" = (
/obj/structure/chair/wood/alt/chair3{
dir = 4
},
/obj/structure/bed/shit,
/turf/open/floor/ruinedwood/turned,
/area/indoors/town)
"nYq" = (
Expand Down Expand Up @@ -151729,7 +151771,7 @@ biy
biy
xhZ
nKC
qcD
lwR
klY
aWB
pkd
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#define ACCESS_ARTIFICER "artificer"
#define ACCESS_MINER "miner"
#define ACCESS_BATHHOUSE "bathhouse"
#define ACCESS_SWEEPER "sweeper"

// Town Garrison (Including forest)
#define ACCESS_GARRISON "garrison"
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@
#define JDO_BOGWITCH 35.1
#define JDO_BOGWITCH_APP 35.2

#define JDO_SWEEPER 35.3
#define JDO_VAGRANT 36
#define JDO_ORPHAN 37
#define JDO_SOILCHILD 38
Expand Down Expand Up @@ -228,6 +229,7 @@
#define JOB_BARD "Bard"
#define JOB_PRISONER "Prisoner"
#define JOB_BEGGAR "Beggar"
#define JOB_SWEEPER "Sweeper"


#define JOB_SQUIRE "Squire"
Expand Down
4 changes: 4 additions & 0 deletions code/game/objects/effects/landmarks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,10 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark)
name = JOB_BEGGAR
jobs_to_spawn = list(JOB_BEGGAR)

/obj/effect/landmark/start/sweeper
name = JOB_SWEEPER
jobs_to_spawn = list(JOB_SWEEPER)

/obj/effect/landmark/start/consort
name = JOB_CONSORT
jobs_to_spawn = list(JOB_CONSORT)
Expand Down
6 changes: 6 additions & 0 deletions code/game/objects/items/keys.dm
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,12 @@
icon_state = "brownkey"
lockids = list(ACCESS_MINER)

/obj/item/key/sweeper
name = "sweeper's key"
desc = "This key opens the Sweeper's room. It smells foul."
icon_state = "rustkey"
lockids = list(ACCESS_SWEEPER)

// Residents

/obj/item/key/matron
Expand Down
61 changes: 61 additions & 0 deletions code/modules/jobs/job_types/peasants/sweeper.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
/datum/attribute_holder/sheet/job/sweeper
raw_attribute_list = list(
STAT_ENDURANCE = 2,
STAT_SPEED = 1,
STAT_INTELLIGENCE = -2,
/datum/attribute/skill/misc/climbing = 20,
/datum/attribute/skill/combat/wrestling = 10,
/datum/attribute/skill/combat/unarmed = 20,
/datum/attribute/skill/misc/athletics = 30,
/datum/attribute/skill/craft/crafting = 20,
)

/datum/job/sweeper
title = JOB_SWEEPER
tutorial = "You are the street cleaner of Vanderlin, the one who takes care of the rot and refuse."

department_flag = PEASANTS
display_order = JDO_SWEEPER
job_flags = (JOB_ANNOUNCE_ARRIVAL | JOB_EQUIP_RANK | JOB_NEW_PLAYER_JOINABLE | JOB_SHOW_IN_CREDITS)
faction = FACTION_TOWN
total_positions = 1
spawn_positions = 1
bypass_lastclass = TRUE
banned_leprosy = FALSE

allowed_races = RACES_PLAYER_ALL

outfit = /datum/outfit/sweeper
give_bank_account = 10
can_random = FALSE
can_have_apprentices = FALSE
can_be_apprentice = TRUE

cmode_music = 'sound/music/cmode/towner/CombatBeggar.ogg'

traits = list(
TRAIT_DEADNOSE,
)

attribute_sheet = /datum/attribute_holder/sheet/job/sweeper

/datum/job/sweeper/after_spawn(mob/living/carbon/human/spawned, client/player_client)
. = ..()
// Hygiene roll
if(prob(25))
spawned.set_hygiene(HYGIENE_LEVEL_DISGUSTING)
else
spawned.set_hygiene(HYGIENE_LEVEL_DIRTY)


/datum/outfit/sweeper
name = JOB_SWEEPER
pants = /obj/item/clothing/pants/tights/colored/black
gloves =/obj/item/clothing/gloves/leather/black
shirt = /obj/item/clothing/shirt/shortshirt/colored/grey
backl = /obj/item/storage/backpack/satchel/cloth
head = /obj/item/clothing/head/strawhat
shoes = /obj/item/clothing/shoes/boots
ring = /obj/item/key/sweeper
belt = /obj/item/storage/belt/leather/black
neck = /obj/item/storage/belt/pouch
1 change: 1 addition & 0 deletions code/modules/jobs/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ GLOBAL_LIST_INIT(peasant_positions, list(
/datum/job/bard::title,
/datum/job/prisoner::title,
/datum/job/vagrant::title,
/datum/job/sweeper::title,
/datum/job/persistence/woodsman::title,
/datum/job/persistence/miner::title,
/datum/job/persistence/farmer::title,
Expand Down
3 changes: 3 additions & 0 deletions code/modules/mapping/mapping_helpers/access_helper.dm
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,9 @@
accesses = list(ACCESS_BATHHOUSE)
difficulty = 5

/obj/effect/mapping_helpers/access/keyset/town/sweeper
accesses = list(ACCESS_SWEEPER)

// Town Garrison
/obj/effect/mapping_helpers/access/keyset/garrison
color = "#b02323"
Expand Down
1 change: 1 addition & 0 deletions vanderlin.dme
Original file line number Diff line number Diff line change
Expand Up @@ -3190,6 +3190,7 @@
#include "code\modules\jobs\job_types\peasants\miner.dm"
#include "code\modules\jobs\job_types\peasants\prisoner.dm"
#include "code\modules\jobs\job_types\peasants\soilson.dm"
#include "code\modules\jobs\job_types\peasants\sweeper.dm"
#include "code\modules\jobs\job_types\persistence\caravanguard.dm"
#include "code\modules\jobs\job_types\persistence\carpenter.dm"
#include "code\modules\jobs\job_types\persistence\farmer.dm"
Expand Down
Loading