Skip to content

Commit

Permalink
Explorer Late Join Job + QoL Changes + More Hardsuits (Monkestation#4217
Browse files Browse the repository at this point in the history
)

* more hardsuit sprites

* forgot obj sprites of course

* uuh more hardsuits, another jetpack, and edits to sec suit unit thingy... i'm tired

* so the back had pixels uncovered... great

* oh right the digi sprite needed fixing too...

* add clown hardsuit to clown's toy chest

* explorer job pass #1 first try please?

* touch ups on explorer + belt changes

* eh?

* hardsuit crates!

* i should sleep soon

* better

* fixes a runtime

* FUCK
  • Loading branch information
SirNightKnight authored Nov 18, 2024
1 parent 168563f commit e17e5f2
Show file tree
Hide file tree
Showing 24 changed files with 312 additions and 4 deletions.
8 changes: 7 additions & 1 deletion _maps/map_files/debug/runtimestation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -2595,6 +2595,12 @@
/obj/item/wrench/abductor,
/turf/open/floor/plating,
/area/station/construction)
"Rz" = (
/obj/structure/table,
/obj/item/clothing/suit/space/hardsuit/security,
/obj/item/tank/jetpack/suit,
/turf/open/floor/iron,
/area/station/medical/medbay)
"RM" = (
/obj/structure/closet/secure_closet/hop{
locked = 0
Expand Down Expand Up @@ -8627,7 +8633,7 @@ af
by
cz
by
cm
Rz
es
by
eu
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@
#define JOB_DISPLAY_ORDER_QUARTERMASTER 19
#define JOB_DISPLAY_ORDER_CARGO_TECHNICIAN 20
#define JOB_DISPLAY_ORDER_SHAFT_MINER 21
#define JOB_DISPLAY_ORDER_EXPLORER 21.5 //monkestation edit: explorer
#define JOB_DISPLAY_ORDER_BITRUNNER 22
#define JOB_DISPLAY_ORDER_CHIEF_MEDICAL_OFFICER 23
#define JOB_DISPLAY_ORDER_MEDICAL_DOCTOR 24
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/~monkestation/atom_hud.dm
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#define SECHUD_SECURITY_ASSISTANT "hudsecass"
#define SECHUD_BLUESHIELD "hudblueshield"
#define SECHUD_BARBER "hudbarber"
#define SECHUD_EXPLORER "hudexplorer"
1 change: 1 addition & 0 deletions code/__DEFINES/~monkestation/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@
#define JOB_SPOOKTOBER (1<<16)

#define JOB_LATEJOIN_BARBER "Barber"
#define JOB_LATEJOIN_EXPLORER "Explorer"
1 change: 1 addition & 0 deletions code/game/machinery/computer/crew.dm
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new)
JOB_LAWYER = 69,
JOB_PSYCHOLOGIST = 71,
JOB_LATEJOIN_BARBER = 72, //monkestation edit: barber
JOB_LATEJOIN_EXPLORER = 73, //monkestation edit: explorer
// 200-239: Centcom
JOB_CENTCOM_ADMIRAL = 200,
JOB_CENTCOM = 201,
Expand Down
3 changes: 3 additions & 0 deletions code/game/machinery/suit_storage_unit.dm
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,9 @@
/obj/machinery/suit_storage_unit/security
mask_type = /obj/item/clothing/mask/gas/sechailer
mod_type = /obj/item/mod/control/pre_equipped/security
suit_type = /obj/item/clothing/suit/space/hardsuit/sec //monkestation edit
storage_type = /obj/item/tank/jetpack/oxygen/security //monkestation edit


/obj/machinery/suit_storage_unit/hos
mask_type = /obj/item/clothing/mask/gas/sechailer
Expand Down
2 changes: 2 additions & 0 deletions code/game/objects/items/storage/belt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -336,6 +336,7 @@
/obj/item/clothing/glasses,
/obj/item/clothing/gloves,
/obj/item/flashlight/seclite,
/obj/item/citationinator, //monkestation edit
/obj/item/food/donut,
/obj/item/food/spaghetti/security, //monkestation change: tactical belt spaghetti
/obj/item/grenade,
Expand Down Expand Up @@ -422,6 +423,7 @@
/obj/item/wirecutters,
/obj/item/wrench,
/obj/item/wormhole_jaunter,
/obj/item/cargo_teleporter, //monkestation edit
))


Expand Down
11 changes: 11 additions & 0 deletions code/game/objects/items/tanks/jetpack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,7 @@
volume = 40
throw_range = 7
w_class = WEIGHT_CLASS_NORMAL
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_SUITSTORE | ITEM_SLOT_BELT //monkestation edit

/obj/item/tank/jetpack/oxygen/captain
name = "captain's jetpack"
Expand All @@ -191,6 +192,7 @@
desc = "A tank of compressed oxygen for use as propulsion in zero-gravity areas by security forces."
icon_state = "jetpack-sec"
inhand_icon_state = "jetpack-sec"
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_SUITSTORE //monkestation edit



Expand All @@ -201,3 +203,12 @@
inhand_icon_state = "jetpack-black"
distribute_pressure = 0
gas_type = /datum/gas/carbon_dioxide

//MONKESTATION EDIT START
/obj/item/tank/jetpack/mining //tried to get hardsuit jetpacks to work again took all day with no real progess so this is the compromise
name = "mining jetpack (oxygen)"
icon_state = "jetpack-mining"
inhand_icon_state = "jetpack-mining"
desc = "A tank of compressed oxygen for miners to use as propulsion in local space."
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_SUITSTORE
//MONKESTATION EDIT STOP
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,4 @@
new /obj/item/pneumatic_cannon/pie(src)
new /obj/item/food/pie/cream(src)
new /obj/item/storage/crayons(src)
new /obj/item/clothing/suit/space/hardsuit/clown(src) //monkestation edit
10 changes: 7 additions & 3 deletions code/modules/clothing/spacesuits/_spacesuits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
/obj/item/clothing/suit/space
name = "space suit"
desc = "A suit that protects against low pressure environments. Has a big 13 on the back."
desc_controls = "Alt-Click to open the cell cover. CTRL-Click to remove the cell. The thermal regulator can be adjusted with a screwdriver." //monkestation edit
icon_state = "spaceold"
icon = 'icons/obj/clothing/suits/spacesuit.dmi'
lefthand_file = 'icons/mob/inhands/clothing/suits_lefthand.dmi'
Expand Down Expand Up @@ -162,11 +163,14 @@
else
. += "\The [cell] is firmly in place."

/obj/item/clothing/suit/space/crowbar_act(mob/living/user, obj/item/tool)
toggle_spacesuit_cell(user)
return TOOL_ACT_TOOLTYPE_SUCCESS
//MONKSTATION REMOVAL
///obj/item/clothing/suit/space/crowbar_act(mob/living/user, obj/item/tool)
// toggle_spacesuit_cell(user)
// return TOOL_ACT_TOOLTYPE_SUCCESS

/obj/item/clothing/suit/space/screwdriver_act(mob/living/user, obj/item/tool)
if(!cell_cover_open) //monkestation edit
return
var/range_low = 20 // Default min temp c
var/range_high = 45 // default max temp c
if(obj_flags & EMAGGED)
Expand Down
Binary file modified icons/mob/huds/hud.dmi
Binary file not shown.
Binary file modified icons/obj/card.dmi
Binary file not shown.
24 changes: 24 additions & 0 deletions monkestation/code/datums/id_trim/jobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,27 @@
ACCESS_HOP,
)
job = /datum/job/barber

/datum/id_trim/job/explorer
assignment = "Explorer"
trim_state = "trim_explorer"
department_color = COLOR_CARGO_BROWN
subdepartment_color = COLOR_SCIENCE_PINK
sechud_icon_state = SECHUD_EXPLORER
minimal_access = list(
ACCESS_AUX_BASE,
ACCESS_CARGO,
ACCESS_MECH_MINING,
ACCESS_MINERAL_STOREROOM,
ACCESS_MINING,
ACCESS_MINING_STATION,
ACCESS_MAINT_TUNNELS,
ACCESS_EXTERNAL_AIRLOCKS, //how else do they get into space?
)
extra_access = list()
template_access = list(
ACCESS_CAPTAIN,
ACCESS_CHANGE_IDS,
ACCESS_HOP,
)
job = /datum/job/shaft_miner
34 changes: 34 additions & 0 deletions monkestation/code/modules/cargo/packs/hardsuit_crates.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/datum/supply_pack/security/armory/eva
name = "Security Hardsuit Crate"
desc = "Contains two security hardsuits and two security jetpacks."
cost = CARGO_CRATE_VALUE * 15
contains = list(
/obj/item/clothing/suit/space/hardsuit/sec = 2,
/obj/item/tank/jetpack/oxygen/security = 2,
)
crate_name = "security hardsuit crate"
crate_type = /obj/structure/closet/crate/secure/weapon

/datum/supply_pack/engineering/eva
name = "Engineering Hardsuit Crate"
desc = "Contains two engineering hardsuits."
cost = CARGO_CRATE_VALUE * 10
access = ACCESS_CE
contains = list(
/obj/item/clothing/suit/space/hardsuit/engine = 2,
)
crate_name = "hardsuit crate"
crate_type = /obj/structure/closet/crate/secure/plasma

/datum/supply_pack/engineering/eva/atmos
name = "Atmos Hardsuit Crate"
desc = "Contains two atmospheric hardsuits."
cost = CARGO_CRATE_VALUE * 10
access = ACCESS_CE
contains = list(
/obj/item/clothing/suit/space/hardsuit/atmos = 2,
)
crate_name = "hardsuit crate"
crate_type = /obj/structure/closet/crate/secure/plasma


29 changes: 29 additions & 0 deletions monkestation/code/modules/clothing/spacesuits/hardsuits/_armor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,32 @@
acid = 100
bomb = 100

/datum/armor/hardsuit/mining
melee = 30
bullet = 5
laser = 10
energy = 5
bomb = 50
bio = 100
fire = 50
acid = 75

/datum/armor/hardsuit/clown
melee = 30
bullet = 5
laser = 10
energy = 5
bomb = 10
bio = 100
fire = 60
acid = 30

/datum/armor/hardsuit/sec
melee = 35
bullet = 15
laser = 30
energy = 10
bomb = 10
bio = 100
fire = 75
acid = 75
112 changes: 112 additions & 0 deletions monkestation/code/modules/clothing/spacesuits/hardsuits/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,115 @@
max_integrity = 300
armor_type = /datum/armor/hardsuit/hop
hardsuit_type = "hop"

//----------------
// Mining Hardsuit
//----------------
/obj/item/clothing/suit/space/hardsuit/mining
name = "mining hardsuit"
desc = "A special suit that protects against hazardous, low pressure environments. Has reinforced plating for wildlife encounters."
icon_state = "hardsuit-mining"
armor_type = /datum/armor/hardsuit/mining
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining
allowed = list(
/obj/item/flashlight,
/obj/item/tank/internals,
/obj/item/resonator,
/obj/item/mining_scanner,
/obj/item/t_scanner/adv_mining_scanner,
/obj/item/gun/energy/recharge/kinetic_accelerator, //i imagine this suit has a bunch of hooks and pockets for tools :P
/obj/item/storage/bag/ore,
/obj/item/pickaxe,
/obj/item/tank/jetpack/mining,
/obj/item/tank/jetpack/oxygen/captain,
)

/obj/item/clothing/head/helmet/space/hardsuit/mining
name = "mining hardsuit helmet"
desc = "A special helmet designed for work in a hazardous, low pressure environment. Has reinforced plating for wildlife encounters and dual floodlights."
icon_state = "hardsuit0-mining"
armor_type = /datum/armor/hardsuit/mining
hardsuit_type = "mining"
light_outer_range = 7

/obj/item/clothing/suit/space/hardsuit/mining/Initialize(mapload)
. = ..()
if(jetpack && ispath(jetpack))
jetpack = new jetpack(src)

MakeHelmet()
AddComponent(/datum/component/armor_plate)

/obj/item/clothing/head/helmet/space/hardsuit/mining/Initialize(mapload)
. = ..()
AddComponent(/datum/component/armor_plate)

//----------------------------------------
// Clown Hardsuit PRAISE THE HONKMOTHER!
//----------------------------------------
/obj/item/clothing/suit/space/hardsuit/clown
name = "cosmohonk hardsuit"
desc = "A special suit made by Honk! Co. that protects against hazardous, low-humor environments. Only a true clown can wear it."
icon_state = "hardsuit-clown"
armor_type = /datum/armor/hardsuit/clown
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/clown
allowed = list(
/obj/item/flashlight,
/obj/item/tank/internals,
/obj/item/tank/jetpack/oxygen/captain,
/obj/item/bikehorn,//essential for deep space clown survival
)

/obj/item/clothing/head/helmet/space/hardsuit/clown
name = "cosmohonk hardsuit helmet"
desc = "A special helmet designed for work in a hazardous, low-humor environment."
icon_state = "hardsuit0-clown"
armor_type = /datum/armor/hardsuit/clown
hardsuit_type = "clown"

/obj/item/clothing/suit/space/hardsuit/clown/mob_can_equip(mob/M, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE, ignore_equipped = FALSE)
if(!..() || !ishuman(M))
return FALSE
var/mob/living/carbon/human/H = M
if(is_clown_job(H.mind?.assigned_role))
return TRUE
else
to_chat(M, span_clown("ERROR: CLOWN COLLEGE DIPLOMA NOT FOUND")) //better enroll in clown college bucko
return FALSE

//-------------------
// Security Hardsuit
//-------------------
/obj/item/clothing/suit/space/hardsuit/sec
name = "security hardsuit"
desc = "A special suit designed for work in a hazardous, low pressure environment. Has an additional layer of armor."
icon_state = "hardsuit-sec"
worn_icon_digitigrade = 'monkestation/icons/mob/clothing/species/suit_digi.dmi'
armor_type = /datum/armor/hardsuit/sec
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/sec
allowed = list(
/obj/item/tank/jetpack/oxygen/security,
/obj/item/flashlight,
/obj/item/tank/internals,
/obj/item/tank/jetpack/oxygen/captain,
/obj/item/ammo_box,
/obj/item/ammo_casing,
/obj/item/gun/ballistic,
/obj/item/gun/energy,
/obj/item/gun/microfusion,
/obj/item/knife/combat,
/obj/item/melee/baton,
/obj/item/reagent_containers/spray/pepper,
/obj/item/restraints/handcuffs,
/obj/item/storage/belt/holster/detective,
/obj/item/storage/belt/holster/nukie,
/obj/item/storage/belt/holster/energy,
/obj/item/clothing/mask/breath/sec_bandana,
)

/obj/item/clothing/head/helmet/space/hardsuit/sec
name = "security hardsuit helmet"
desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has an additional layer of armor."
icon_state = "hardsuit0-sec"
armor_type = /datum/armor/hardsuit/sec
hardsuit_type = "sec"
Loading

0 comments on commit e17e5f2

Please sign in to comment.