Skip to content

Commit

Permalink
Clothing adding ver. 0.5 [120 commits later] (#19)
Browse files Browse the repository at this point in the history
* initial clothing pr

:clueless:

* sprites

* I hate this thing

* okey, okey

* okey

* 1

* Update hardsuit.dm

* clothing

* Revert byond joke

This reverts error

* rigs added

* modules tweaked

* progress

* progressss

* tweak

* changes

* update

* Update eyes.dmi

* eh

* ehx2

* clothing&radio

* repairing commit

* repairing commit x2

* lints

* vscode moment

* repairing x3

* repairing x4

* Update suit_storage_unit.dm

* some sprites fixes

* glasses added & NV tweak

* fix

* okey

* fellow helldiver

* bs update

* bs fix

* making this work

* y

* magboots

* gloves

* id&badges

* okey

* labcoat edit

* tackles update

* lint

* Update suit_storage_unit.dm

* tackle runtime fixing

* sprites

* sprites

* progress

* clothing

* clothing

* driping

* fix

* Update suit.dmi

* lints

* lints?

* liiints?

* uh OH

* fixes

* fix

* commit

* shaft miners skirt

* poncho-bomber-service

* fix

* tweak

* chem

* make qm great again

* fixing glasses issue

* vending revert

* QM has head radiovisual

* engidrip

* naming

* some tweaks

* defib

* gloves edit

* shoes

* SHOULD_NOT_SLEEP

* liz and human resprite

* fix

* fix

* progress

* some progress

* pdas update

* caps and robo

* pda killing

* tablet progress

* job discounts

* bunch of fixes

* something

* rd buff and reactive armor tweak

* fixes

* girls update

* fix

* belt killing + handholding

* Delete closet.dmi

* fixes

* sneakers fix

* clothing

* rd tweak

* upd

* det&fixes

* pr fix

* det

* medic edit

* tacklers off

* some fix

* fix

* fix

* fix

* Update suits.dmi

* Update jobs.dm

* colors

* Update combatrig.dm

* shields

* closet and cutter fixing

* obj sprites

* sprite upgrade

---------

Co-authored-by: Blundir <[email protected]>
Co-authored-by: Blundir <[email protected]>
  • Loading branch information
3 people authored Apr 9, 2024
1 parent 254c3eb commit 4261cfc
Show file tree
Hide file tree
Showing 322 changed files with 12,905 additions and 187 deletions.
10 changes: 10 additions & 0 deletions code/__DEFINES/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,16 @@
#define ACCESS_RND 78 //rnd console
#define ACCESS_SERVHALL 79

//Dripstation:
#define ACCESS_CLOWN 79 // Vending, locker, airlocks and some other related stuff
#define ACCESS_MIME 80 // Vending, locker, airlocks and some other related stuff
#define ACCESS_POD_PILOT 81 // Locker, airlock, pod related stuff
#define ACCESS_BLUESHIELD 82 // Locker, airlock
#define ACCESS_NTREP 83 // Locker, airlock
#define ACCESS_MAGISTRATE 84 // Locker, airlock
#define ACCESS_HAZARD_TECH 85 // Hazard technician stuff
#define ACCESS_ARTIST 86 // Artist stuff, mostly door and vendor

//BEGIN CENTCOM ACCESS
/*Should leave plenty of room if we need to add more access levels.
Mostly for admin fun times.*/
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/inventory.dm
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ GLOBAL_LIST_INIT(detective_vest_allowed, typecacheof(list(
/obj/item/lighter,
/obj/item/melee/baton,
/obj/item/melee/classic_baton,
/obj/item/storage/belt/holster, //dripstation edit
/obj/item/reagent_containers/spray/pepper,
/obj/item/restraints/handcuffs,
/obj/item/storage/fancy/cigarettes,
Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
#define BODYPART_SUBTYPE_ROBOTIC 2
#define BODYPART_SUBTYPE_IPC 3

#define DEFAULT_BODYPART_ICON_ORGANIC 'icons/mob/human_parts_greyscale.dmi'
#define DEFAULT_BODYPART_ICON_ORGANIC 'modular_dripstation/icons/mob/human_parts_greyscale.dmi' //dripstation edit
#define DEFAULT_BODYPART_ICON_ROBOTIC 'icons/mob/augmentation/augments.dmi'

#define MONKEY_BODYPART "monkey"
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/{dripstation_defines}/cargo.dm
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
/// Defining standart crate value for blackmarket, some events will change this shit some day
#define CARGO_CRATE_VALUE 200
#define VENDING_DISCOUNT 0.2
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#define COMSIG_MOVABLE_PRE_IMPACT "movable_pre_impact"
1 change: 1 addition & 0 deletions code/__DEFINES/{dripstation_defines}/is_helpers.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#define isfelinid(A) (is_species(A, /datum/species/human/felinid))
7 changes: 7 additions & 0 deletions code/__DEFINES/{dripstation_defines}/staggered.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#define adjust_staggered(duration) adjust_timed_status_effect(duration, /datum/status_effect/staggered)
#define adjust_staggered_up_to(duration, up_to) adjust_timed_status_effect(duration, /datum/status_effect/staggered, up_to)
#define set_staggered(duration) set_timed_status_effect(duration, /datum/status_effect/staggered)
#define set_staggered_if_lower(duration) set_timed_status_effect(duration, /datum/status_effect/staggered, TRUE)
#define STAGGERED_SLOWDOWN_LENGTH 30
#define STAGGERED_SLOWDOWN_STRENGTH 0.85
#define MOVESPEED_ID_STAGGERED "STAGGERED"
11 changes: 10 additions & 1 deletion code/__DEFINES/{dripstation_defines}/traits.dm
Original file line number Diff line number Diff line change
@@ -1,2 +1,11 @@
#define TRAIT_PSYCHOPATHIC "psychopathic"
#define TRAIT_APATHETIC "apathetic"
#define TRAIT_APATHETIC "apathetic"

/// Prevents shovies and some strong blows such as unarmed punches and (unreliably) tackles the owner down
#define TRAIT_BRAWLING_KNOCKDOWN_BLOCKED "brawling_knockdown_blocked"
/// Prevents some severe head injuries being sustained from heavy collisions or blunt force injuries.
#define TRAIT_HEAD_INJURY_BLOCKED "head_injury_blocked"
/// Prevents staggering.
#define TRAIT_NO_STAGGER "no_stagger"
/// Getting hit by thrown movables won't push you away
#define TRAIT_NO_THROW_HITPUSH "no_throw_hitpush"
2 changes: 1 addition & 1 deletion code/_globalvars/lists/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ GLOBAL_LIST_INIT(blood_types, generate_blood_types())
/// Keys are the names of the accents, values are the name of their .json file.
GLOBAL_LIST_INIT(accents_name2file, strings("accents.json", "accent_file_names", directory = "strings/accents"))
/// List of all accents
GLOBAL_LIST_INIT(accents_names, list(ACCENT_NONE) + assoc_to_keys(GLOB.accents_name2file))
GLOBAL_LIST_INIT(accents_names, list(ACCENT_NONE)) //+ assoc_to_keys(GLOB.accents_name2file)) dripstation edit
/// Holds some complex data regarding accents
GLOBAL_LIST_EMPTY(accents_name2regexes)

Expand Down
4 changes: 4 additions & 0 deletions code/_onclick/click.dm
Original file line number Diff line number Diff line change
Expand Up @@ -78,10 +78,14 @@
if(notransform)
return

/*
if(SEND_SIGNAL(src, COMSIG_MOB_CLICKON, A, params) & COMSIG_MOB_CANCEL_CLICKON)
return
*/

var/list/modifiers = params2list(params)
if(SEND_SIGNAL(src, COMSIG_MOB_CLICKON, A, modifiers) & COMSIG_MOB_CANCEL_CLICKON)
return
if(modifiers["shift"] && modifiers["middle"])
ShiftMiddleClickOn(A)
return
Expand Down
1 change: 1 addition & 0 deletions code/controllers/subsystem/throwing.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ SUBSYSTEM_DEF(throwing)
var/paused = FALSE
var/delayed_time = 0
var/last_move = 0
var/gentle = FALSE ///If the throw is gentle, then the thrownthing is harmless on impact. dripstation edit

/datum/thrownthing/Destroy()
SSthrowing.processing -= thrownthing
Expand Down
6 changes: 5 additions & 1 deletion code/game/atoms_movable.dm
Original file line number Diff line number Diff line change
Expand Up @@ -953,8 +953,12 @@

/atom/movable/proc/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
set waitfor = 0
var/hitpush = TRUE //dripstation edit
var/impact_signal = SEND_SIGNAL(src, COMSIG_MOVABLE_PRE_IMPACT, hit_atom, throwingdatum) //dripstation edit
if(impact_signal & COMPONENT_MOVABLE_IMPACT_FLIP_HITPUSH) //dripstation edit
hitpush = FALSE //dripstation edit
SEND_SIGNAL(src, COMSIG_MOVABLE_IMPACT, hit_atom, throwingdatum)
return hit_atom.hitby(src, throwingdatum=throwingdatum)
return hit_atom.hitby(src, throwingdatum=throwingdatum, hitpush=hitpush) //dripstation edit

/atom/movable/hitby(atom/movable/AM, skipcatch, hitpush = TRUE, blocked, datum/thrownthing/throwingdatum)
if(!anchored && hitpush && (!throwingdatum || (throwingdatum.force >= (move_resist * MOVE_FORCE_PUSH_RATIO))))
Expand Down
4 changes: 4 additions & 0 deletions code/game/gamemodes/objective_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,12 @@
excludefromjob = list("Network Admin", "Chief Engineer", "Research Director") // CE has access. RD has authority.

/datum/objective_item/steal/reactive
/*
name = "the Research Director's reactive teleport armor."
targetitem = /obj/item/clothing/suit/armor/reactive/teleport
*/
name = "the Research Director's reactive armor." //dripstation edit
targetitem = /obj/item/clothing/suit/armor/reactive //dripstation edit
difficulty = 5
excludefromjob = list("Research Director")

Expand Down
2 changes: 1 addition & 1 deletion code/game/machinery/limbgrower.dm
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@
limb.skin_tone = random_skin_tone()
else
limb.species_color = random_short_color()
limb.icon = 'icons/mob/human_parts_greyscale.dmi'
limb.icon = 'modular_dripstation/icons/mob/human_parts_greyscale.dmi' //dripstation edit
limb.should_draw_greyscale = TRUE
else
limb.icon = 'icons/mob/human_parts.dmi'
Expand Down
16 changes: 8 additions & 8 deletions code/game/machinery/suit_storage_unit.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SUIT STORAGE UNIT /////////////////
/obj/machinery/suit_storage_unit
/*/obj/machinery/suit_storage_unit
name = "suit storage unit"
desc = "An industrial unit made to hold and decontaminate irradiated equipment. It comes with a built-in UV cauterization mechanism. A small warning label advises that organic matter should not be placed into the unit."
icon = 'icons/obj/machines/suit_storage.dmi'
Expand Down Expand Up @@ -167,13 +167,13 @@
. += "storage"
else if(occupant)
. += "human"

*/
/obj/machinery/suit_storage_unit/power_change()
if(!is_operational() && state_open)
open_machine()
dump_contents()
return ..()

/*
/obj/machinery/suit_storage_unit/proc/dump_contents()
dropContents()
helmet = null
Expand Down Expand Up @@ -276,7 +276,7 @@
decon.stop()
if(occupant)
dump_contents()

*/
/obj/machinery/suit_storage_unit/proc/shock(mob/user, prb)
if(!prob(prb))
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
Expand Down Expand Up @@ -331,7 +331,7 @@
visible_message(span_notice("You see [user] burst out of [src]!"), \
span_notice("You escape the cramped confines of [src]!"))
open_machine()

/*
/obj/machinery/suit_storage_unit/attackby(obj/item/I, mob/user, params)
if(state_open && is_operational())
if(istype(I, /obj/item/clothing/suit))
Expand Down Expand Up @@ -380,7 +380,7 @@
return
return ..()

*/
/obj/machinery/suit_storage_unit/default_pry_open(obj/item/I)//needs to check if the storage is locked.
. = !(state_open || panel_open || is_operational() || locked) && I.tool_behaviour == TOOL_CROWBAR
if(.)
Expand All @@ -393,7 +393,7 @@
if(!ui)
ui = new(user, src, "SuitStorageUnit", name)
ui.open()

/*
/obj/machinery/suit_storage_unit/ui_data()
var/list/data = list()
data["locked"] = locked
Expand Down Expand Up @@ -472,7 +472,7 @@
I.forceMove(loc)
. = TRUE
update_appearance(UPDATE_ICON)

*/
/obj/machinery/suit_storage_unit/AltClick(mob/user)
if(!user.canUseTopic(src, !issilicon(user)))
return
Expand Down
2 changes: 2 additions & 0 deletions code/game/objects/items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -720,6 +720,8 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)

/obj/item/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
if(hit_atom && !QDELETED(hit_atom))
if(SEND_SIGNAL(src, COMSIG_MOVABLE_PRE_IMPACT, hit_atom, throwingdatum) & COMPONENT_MOVABLE_IMPACT_NEVERMIND) //dripstation edit
return //dripstation edit
SEND_SIGNAL(src, COMSIG_MOVABLE_IMPACT, hit_atom, throwingdatum)
if(is_hot() && isliving(hit_atom))
var/mob/living/L = hit_atom
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -641,6 +641,7 @@
/obj/machinery/vending/autodrobe = "AutoDrobe",
/obj/machinery/vending/wardrobe/sec_wardrobe = "SecDrobe",
/obj/machinery/vending/wardrobe/medi_wardrobe = "MediDrobe",
/obj/machinery/vending/wardrobe/para_wardrobe = "ParaDrobe",
/obj/machinery/vending/wardrobe/engi_wardrobe = "EngiDrobe",
/obj/machinery/vending/wardrobe/atmos_wardrobe = "AtmosDrobe",
/obj/machinery/vending/wardrobe/cargo_wardrobe = "CargoDrobe",
Expand Down Expand Up @@ -672,6 +673,7 @@
/obj/machinery/vending/engineering = "Robco Tool Maker",
/obj/machinery/vending/sovietsoda = "BODA",
/obj/machinery/vending/security = "SecTech",
/obj/machinery/vending/wardrobe/det_wardrobe = "DetDrobe", /*Dripstation edit*/
/obj/machinery/vending/fishing = "Tackle Box 2000")//Yogs
//obj/machinery/vending/modularpc = "Deluxe Silicate Selections") // Yogs comment-out, because ktlwjec is bad at merging mirrors

Expand Down
29 changes: 24 additions & 5 deletions code/game/objects/items/defib.dm
Original file line number Diff line number Diff line change
Expand Up @@ -150,13 +150,14 @@
else
safety = TRUE
to_chat(user, span_notice("You silently enable [src]'s safety protocols with the cryptographic sequencer."))
update_appearance(UPDATE_ICON) //dripstation edit
return TRUE

/obj/item/defibrillator/emp_act(severity)
. = ..()

if(cell && !(. & EMP_PROTECT_CONTENTS))
deductcharge(500 * severity)
deductcharge(2500 * severity) //dripstation edit

if (. & EMP_PROTECT_SELF)
return
Expand Down Expand Up @@ -269,11 +270,13 @@
combat = TRUE
safety = FALSE

/* dripstation edit
/obj/item/defibrillator/compact/combat/loaded/Initialize(mapload)
. = ..()
paddles = make_paddles()
cell = new /obj/item/stock_parts/cell/infinite(src)
update_appearance(UPDATE_ICON)
*/

/obj/item/defibrillator/compact/combat/loaded/attackby(obj/item/W, mob/user, params)
if(W == paddles)
Expand Down Expand Up @@ -403,13 +406,16 @@
playsound(src, 'sound/machines/defib_failed.ogg', 50, 0)
return

/* nah, revive via stunbaton, dripstation edit
var/has_rod = FALSE
for(var/obj/item/rod_of_asclepius/rod in user.held_items)
if(istype(rod) && rod.activated)
has_rod = TRUE
break
if(!(HAS_TRAIT(src, TRAIT_WIELDED) || has_rod))
*/
if(!(HAS_TRAIT(src, TRAIT_WIELDED)))//dripstation edit
if(iscyborg(user))
to_chat(user, span_warning("You must activate the paddles in your active module before you can use them on someone!"))
else
Expand Down Expand Up @@ -448,14 +454,16 @@
H.grab_ghost() // Shove them back in their body.
else if(H.can_defib(FALSE))
H.notify_ghost_cloning("Your heart is being defibrillated. Re-enter your corpse if you want to be revived!", source = src)
/* dripstation edit, f asclepius rod
if(has_rod && !HAS_TRAIT(src, TRAIT_WIELDED))
to_chat(user, span_notice("Your snake holds the other paddle in its mouth and places it on [H]'s chest."))
*/
do_help(H, user)

/obj/item/shockpaddles/proc/shock_touching(dmg, mob/H)
if(isliving(H.pulledby)) //CLEAR!
var/mob/living/M = H.pulledby
if(M.electrocute_act(30, src))
if(M.electrocute_act(dmg, src)) //dripstation edit
M.visible_message(span_danger("[M] is electrocuted by [M.p_their()] contact with [H]!"))
M.emote("scream")

Expand Down Expand Up @@ -494,7 +502,7 @@
span_warning("You overcharge the paddles and begin to place them onto [H]'s chest..."))
busy = TRUE
update_appearance(UPDATE_ICON)
if(do_after(user, 3 SECONDS, H))
if(do_after(user, (req_defib && defib.combat ? 1 SECONDS : 3 SECONDS), H)) //dripstation edit
user.visible_message(span_notice("[user] places [src] on [H]'s chest."),
span_warning("You place [src] on [H]'s chest and begin to charge them."))
var/turf/T = get_turf(defib)
Expand Down Expand Up @@ -523,9 +531,20 @@
if(!H.stat)
H.visible_message(span_warning("[H] thrashes wildly, clutching at [H.p_their()] chest!"),
span_userdanger("You feel a horrible agony in your chest!"))
/*
H.set_heartattack(TRUE)
*/
if((combat || defib.combat) && prob(heart_attack_chance)) //dripstation edit
H.set_heartattack(TRUE) //dripstation edit
log_combat(user, H, "overloaded the heart of", defib) //dripstation edit
else if (prob(10)) //dripstation edit
H.set_heartattack(TRUE) //dripstation edit
log_combat(user, H, "gives the heart hard time with", defib) //dripstation edit
H.apply_damage(50, BURN, BODY_ZONE_CHEST)
log_combat(user, H, "shocks harmfully", defib) //dripstation edit
/*
log_combat(user, H, "overloaded the heart of", defib)
*/
H.Paralyze(100)
H.adjust_jitter(100 SECONDS)
if(req_defib)
Expand All @@ -544,15 +563,15 @@
user.visible_message(span_warning("[user] begins to place [src] on [H]'s chest."), span_warning("You begin to place [src] on [H]'s chest..."))
busy = TRUE
update_appearance(UPDATE_ICON)
if(do_after(user, 3 SECONDS, H)) //beginning to place the paddles on patient's chest to allow some time for people to move away to stop the process
if(do_after(user, (req_defib && defib.combat ? 1 SECONDS : 3 SECONDS), H)) //beginning to place the paddles on patient's chest to allow some time for people to move away to stop the process, dripstation edit
user.visible_message(span_notice("[user] places [src] on [H]'s chest."), span_warning("You place [src] on [H]'s chest."))
playsound(src, 'sound/machines/defib_charge.ogg', 75, 0)
var/total_burn = 0
var/total_brute = 0
var/tplus = world.time - H.timeofdeath //length of time spent dead
var/obj/item/organ/heart = H.getorgan(/obj/item/organ/heart)
if(do_after(user, 1.5 SECONDS, H))
if(user.job == "Medical Doctor" || user.job == "Paramedic" || user.job == "Chief Medical Officer")
if(user.job in GLOB.medical_positions) //dripstation edit
user.say("Clear!", forced = "defib")
if(do_after(user, 0.5 SECONDS, H)) //Counting the delay for "Clear", revive time is 5sec total
for(var/obj/item/carried_item in H.contents)
Expand Down
2 changes: 2 additions & 0 deletions code/game/objects/items/storage/backpack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,15 @@
lefthand_file = 'icons/mob/inhands/equipment/backpack_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/backpack_righthand.dmi'

/*
/obj/item/boh_shell/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/assembly/signaler/anomaly))
to_chat(user, "[src] roars to life as you insert the anomaly core!")
new /obj/item/storage/backpack/holding(get_turf(src))
qdel(src)
qdel(I)
*/

/obj/item/storage/backpack/holding
name = "bag of holding"
Expand Down
5 changes: 4 additions & 1 deletion code/game/objects/items/tanks/jetpack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,10 @@

/mob/living/carbon/human/get_jetpack()
var/obj/item/tank/jetpack/J = ..()
if(!istype(J) && istype(wear_suit, /obj/item/clothing/suit/space/hardsuit))
if(!istype(J) && istype(s_store, /obj/item/tank/jetpack)) //dripstation edit
var/obj/item/tank/jetpack/SJ = s_store //dripstation edit
J = SJ //dripstation edit
else if(!istype(J) && istype(wear_suit, /obj/item/clothing/suit/space/hardsuit)) //dripstation edit
var/obj/item/clothing/suit/space/hardsuit/C = wear_suit
J = C.jetpack
return J
2 changes: 2 additions & 0 deletions code/game/objects/structures/crates_lockers/closets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,7 @@ GLOBAL_LIST_EMPTY(lockers)
if(!broken && !(flags_1 & NODECONSTRUCT_1))
bust_open()

/* Dripstation cutter edit
/obj/structure/closet/attackby(obj/item/attacking_item, mob/user, params)
if(user in src)
return
Expand Down Expand Up @@ -373,6 +374,7 @@ GLOBAL_LIST_EMPTY(lockers)
update_appearance()
return TRUE
return FALSE
*/

/obj/structure/closet/wirecutter_act(mob/living/user, obj/item/tool)
if(user.a_intent == INTENT_HARM || (flags_1 & NODECONSTRUCT_1))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
desc = "It's a storage unit for level 3 biohazard gear."
icon_state = "bio"

/* dripstation edit
/obj/structure/closet/l3closet/PopulateContents()
new /obj/item/storage/bag/bio(src)
new /obj/item/clothing/suit/bio_suit/general(src)
Expand Down Expand Up @@ -51,4 +52,5 @@
new /obj/item/clothing/head/bio_hood/scientist(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/tank/internals/oxygen(src)
*/

Loading

0 comments on commit 4261cfc

Please sign in to comment.