Skip to content

Commit

Permalink
progress
Browse files Browse the repository at this point in the history
  • Loading branch information
MrCastmer committed Jul 28, 2024
1 parent d7266e7 commit 376272f
Show file tree
Hide file tree
Showing 16 changed files with 250 additions and 5 deletions.
2 changes: 2 additions & 0 deletions code/modules/clothing/neck/_neck.dm
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@
icon_state = "stripedbluescarf"
custom_price = 10

/* Dripstation edit
/obj/item/clothing/neck/petcollar
name = "pet collar"
desc = "It has a little bell!"
Expand All @@ -191,6 +192,7 @@
/obj/item/clothing/neck/petcollar/attack_self(mob/user)
tagname = stripped_input(user, "Would you like to change the name on the tag?", "Name your new pet", "Spot", MAX_NAME_LEN)
name = "[initial(name)] - [tagname]"
Dripstation edit */

/obj/item/clothing/neck/artist
name = "post-modern scarf"
Expand Down
4 changes: 4 additions & 0 deletions code/modules/mob/living/simple_animal/friendly/pet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,12 @@
/mob/living/simple_animal/pet/regenerate_icons()
cut_overlays()
if(pcollar && collar_type)
/* Dripstation edit
add_overlay("[collar_type]collar")
add_overlay("[collar_type]tag")
*/
add_overlay(mutable_appearance('modular_dripstation/icons/mob/pet.dmi', "[collar_type]collar[pcollar.collar]"))
add_overlay(mutable_appearance('modular_dripstation/icons/mob/pet.dmi', "[collar_type]tag[pcollar.tagtype]"))

/mob/living/simple_animal/pet/proc/wuv(mob/M, change = TRUE)
if(change)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,10 @@ GLOBAL_LIST_INIT(closet_cutting_types, typecacheof(list(
new /obj/item/pinpointer/nuke(src)
new /obj/item/clothing/shoes/combat(src)
new /obj/item/clothing/gloves/combat(src)
if(prob(50))
new /obj/item/clothing/neck/petcollar/spike(src)
else
new /obj/item/clothing/neck/petcollar/sec(src)
new /obj/item/storage/belt/security/chief/full(src)
new /obj/item/clothing/glasses/hud/security/sunglasses/hos(src)
new /obj/item/clothing/shoes/xeno_wraps/jackboots/combat(src)
Expand Down Expand Up @@ -207,7 +211,10 @@ GLOBAL_LIST_INIT(closet_cutting_types, typecacheof(list(
new /obj/item/clothing/glasses/sunglasses(src)
new /obj/item/clothing/glasses/hud/personnel(src)
new /obj/item/restraints/handcuffs/cable/zipties(src)
new /obj/item/clothing/neck/petcollar(src)
if(prob(50))
new /obj/item/clothing/neck/petcollar(src)
else
new /obj/item/clothing/neck/petcollar/bell(src)
new /obj/item/clothing/suit/armor/vest/light(src)
new /obj/item/pet_carrier(src)
new /obj/item/door_remote/civillian(src)
Expand All @@ -230,7 +237,10 @@ GLOBAL_LIST_INIT(closet_cutting_types, typecacheof(list(
else
new /obj/item/storage/backpack/satchel/cap(src)
new /obj/item/storage/backpack/duffelbag/captain(src)
new /obj/item/clothing/neck/petcollar(src)
if(prob(50))
new /obj/item/clothing/neck/petcollar/holo(src)
else
new /obj/item/clothing/neck/petcollar/bell(src)
new /obj/item/pet_carrier(src)
new /obj/item/cartridge/captain(src)
new /obj/item/storage/box/silver_ids(src)
Expand Down Expand Up @@ -497,7 +507,10 @@ GLOBAL_LIST_INIT(closet_cutting_types, typecacheof(list(
new /obj/item/assembly/flash/handheld(src)
new /obj/item/storage/firstaid/hypospray/deluxe/cmo(src)
new /obj/item/door_remote/chief_medical_officer(src)
new /obj/item/clothing/neck/petcollar(src)
if(prob(50))
new /obj/item/clothing/neck/petcollar/holo(src)
else
new /obj/item/clothing/neck/petcollar/bell(src)
new /obj/item/pet_carrier(src)
new /obj/item/wallframe/defib_mount(src)
new /obj/item/circuitboard/machine/techfab/department/medical(src)
Expand Down
207 changes: 207 additions & 0 deletions modular_dripstation/code/modules/clothing/_neck.dm
Original file line number Diff line number Diff line change
Expand Up @@ -78,3 +78,210 @@
/obj/item/clothing/neck/cloak/rd
icon = 'modular_dripstation/icons/obj/clothing/neck.dmi'
worn_icon = 'modular_dripstation/icons/mob/clothing/neck.dmi'

/obj/item/clothing/neck/petcollar
name = "silver tag collar"
desc = "A collar for your little pets... or the big ones."
icon_state = "collar_bksilv"
icon = 'modular_dripstation/icons/obj/clothing/neck.dmi'
worn_icon = 'modular_dripstation/icons/mob/clothing/neck.dmi'
var/tagname = null
var/pet_worn_icon = 'modular_dripstation/icons/mob/pet.dmi'
var/tagtype = "silver"
var/collar = "black"

/obj/item/clothing/neck/petcollar/attack_self(mob/user)
tagname = stripped_input(user, "Would you like to change the name on the tag?", "Name your new pet", "Spot", MAX_NAME_LEN)
name = "[initial(name)] - [tagname]"

/obj/item/clothing/neck/petcollar/bell
name = "bell collar"
desc = "It has a little bell!"
icon_state = "petcollar"
tagtype = "gold"
collar = "cyan"

/obj/item/clothing/neck/petcollar/bell/Initialize(mapload)
.= ..()
AddComponent(/datum/component/squeak, list('sound/effects/collarbell1.ogg'=1,'sound/effects/collarbell2.ogg'=1), 50, 100, 2)

/obj/item/clothing/neck/petcollar/sec
name = "security pet collar"
desc = "Blood-hungry security dogs."
icon_state = "seccollar"
tagtype = "gold"
collar = "sec"

/obj/item/clothing/neck/petcollar/spike
name = "spiked collar"
desc = "A collar with spikes that look as sharp as your teeth."
icon_state = "collar_bkspike"
tagtype = "spike"
collar = "black"

/obj/item/clothing/neck/petcollar/pink
name = "pink collar"
desc = "This collar will make your pets look FA-BU-LOUS."
icon_state = "collar_pisilv"
tagtype = "silver"
collar = "pink"

/obj/item/clothing/neck/petcollar/holo
name = "holo-collar"
desc = "An expensive holo-collar for the modern day pet."
icon_state = "collar_bkholo"
tagtype = "holo"
collar = "black"

/obj/item/clothing/neck/collar/shock
name = "shock collar"
desc = "A collar used to ease hungry predators."
icon_state = "collar_bkshk0"
flags_1 = CONDUCT_1
var/on = TRUE
var/code = 2
var/frequency = FREQ_ELECTROPACK
var/shock_cooldown = FALSE

/obj/item/clothing/neck/collar/shock/Initialize(mapload)
. = ..()
set_frequency(frequency)

/obj/item/clothing/neck/collar/shock/Destroy() //Clean up your toys when you're done.
SSradio.remove_object(src, frequency)
return ..()

/obj/item/clothing/neck/collar/shock/suicide_act(mob/user)
user.visible_message(span_suicide("[user] hooks [user.p_them()]self to the shock collar and spams the trigger! It looks like [user.p_theyre()] trying to commit suicide!"))
return (FIRELOSS)

//ATTACK HAND IGNORING PARENT RETURN VALUE
/obj/item/clothing/neck/collar/shock/attack_hand(mob/user)
if(iscarbon(user))
var/mob/living/carbon/C = user
if(src == C.back)
to_chat(user, span_warning("You need help taking this off!"))
return
return ..()

/obj/item/clothing/neck/collar/shock/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/clothing/head/helmet))
var/obj/item/assembly/shock_kit/A = new /obj/item/assembly/shock_kit(user)
A.icon = 'icons/obj/assemblies.dmi'

if(!user.transferItemToLoc(W, A))
to_chat(user, span_warning("[W] is stuck to your hand, you cannot attach it to [src]!"))
return
W.master = A
A.part1 = W

user.transferItemToLoc(src, A, TRUE)
master = A
A.part2 = src

user.put_in_hands(A)
A.add_fingerprint(user)
else
return ..()



/obj/item/clothing/neck/collar/shock/receive_signal(datum/signal/signal)
if(!signal || signal.data["code"] != code)
return

if(isliving(loc) && on)
if(shock_cooldown)
return
shock_cooldown = TRUE
addtimer(VARSET_CALLBACK(src, shock_cooldown, FALSE), 100)
var/mob/living/L = loc
step(L, pick(GLOB.cardinals))

to_chat(L, span_danger("You feel a sharp shock!"))
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
s.set_up(3, 1, L)
s.start()

L.Paralyze(5 SECONDS)

if(master)
master.receive_signal()
return

/obj/item/clothing/neck/collar/shock/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
frequency = new_frequency
SSradio.add_object(src, frequency, RADIO_SIGNALER)

/obj/item/clothing/neck/collar/shock/ui_status(mob/user)
var/mob/living/carbon/C = user
if(C?.back == src)
return UI_CLOSE
return ..()

/obj/item/clothing/neck/collar/shock/ui_state(mob/user)
return GLOB.hands_state

/obj/item/clothing/neck/collar/shock/ui_interact(mob/user, datum/tgui/ui)
ui = SStgui.try_update_ui(user, src, ui)
if(!ui)
ui = new(user, src, "Shock collar", name)
ui.open()

/obj/item/clothing/neck/collar/shock/ui_data(mob/user)
var/list/data = list()
data["power"] = on
data["frequency"] = frequency
data["code"] = code
data["minFrequency"] = MIN_FREE_FREQ
data["maxFrequency"] = MAX_FREE_FREQ
return data

/obj/item/clothing/neck/collar/shock/ui_act(action, params)
if(..())
return

var/mob/living/carbon/C = usr
if(C?.back == src)
return

switch(action)
if("power")
on = !on
icon_state = "shock collar[on]"
. = TRUE
if("freq")
var/value = unformat_frequency(params["freq"])
if(value)
frequency = sanitize_frequency(value, TRUE)
set_frequency(frequency)
. = TRUE
if("code")
var/value = text2num(params["code"])
if(value)
value = round(value)
code = clamp(value, 1, 100)
. = TRUE
if("reset")
if(params["reset"] == "freq")
frequency = initial(frequency)
. = TRUE
else if(params["reset"] == "code")
code = initial(code)
. = TRUE

/obj/item/clothing/neck/choker
name = "choker"
desc = "Close-fitting necklace worn around the neck, 15 inch in length. Made of velvet."
icon_state = "choker_black"

/obj/item/clothing/neck/choker/gold
name = "gold choker"
desc = "Close-fitting necklace worn around the neck, 15 inch in length. Made of gold."
icon_state = "choker_gold"

/obj/item/clothing/neck/maid
name = "maid neck cover"
desc = "A neckpiece for a maid costume, it smells faintly of disappointment."
icon_state = "maid_neck"
4 changes: 2 additions & 2 deletions modular_dripstation/code/modules/clothing/combatrig.dm
Original file line number Diff line number Diff line change
Expand Up @@ -718,15 +718,15 @@
desc = "A standardized dual-mode helmet derived from more advanced special operations helmets. Designed for security operations in hasard AO`s."
armor = list(MELEE = 30, BULLET = 25, LASER = 30, ENERGY = 10, BOMB = 40, BIO = 100, RAD = 50, FIRE = 75, ACID = 75, WOUND = 15, ELECTRIC = 100)
visor_flags_inv = HIDEMASK|HIDEEYES|HIDEFACE
light_color = LIGHT_COLOR_RED
light_color = LIGHT_COLOR_DEFAULT

/obj/item/clothing/suit/space/hardsuit/syndi/security
name = "security RIG"
icon_state = "sec_rig"
//item_state = "sec_rig"
item_state = "sec_hardsuit"
hardsuit_type = "sec"
desc = "A standardized dual-mode RIG derived from more advanced special operations hardsuits. Used by paramilitary groups and PMC alike across human space. Expensive in production and maintaining."
desc = "A standardized dual-mode RIG derived from more advanced special operations hardsuits. Used by paramilitary groups and PMC alike affiliated with or contracted by Nanotrasen across human space. Expensive in production and maintaining. Has NT logo on it`s back."
armor = list(MELEE = 30, BULLET = 25, LASER = 30, ENERGY = 10, BOMB = 40, BIO = 100, RAD = 50, FIRE = 75, ACID = 75, WOUND = 15, ELECTRIC = 100)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/security

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,12 @@
desc = "Worn by a Captain to show their class."
icon_state = "captunic"
flags_inv = null
body_parts_covered = CHEST|GROIN|LEGS|ARMS
armor = list(MELEE = 20, BULLET = 25, LASER = 25, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 0, ACID = 50)

/obj/item/clothing/suit/captunic/Initialize(mapload)
. = ..()
allowed = GLOB.security_wintercoat_allowed

/obj/item/clothing/suit/armor/vest/capcarapace/jacket
name = "captain's jacket"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,12 @@
mutantrace_variation = NONE
armor = list(MELEE = 10, BULLET = 10, LASER = 10, ENERGY = 10, BOMB = 10, BIO = 0, FIRE = 60, ACID = 100, WOUND = 10, ELECTRIC = 0)

/obj/item/clothing/under/costume/mech_suit/cybersun
desc = "An armored mech pilot suit, used exclusively by Cybersun mech operators."
icon_state = "cybersun_mech_suit"
icon = 'modular_dripstation/icons/obj/clothing/uniform/corporate/syndicate.dmi'
worn_icon = 'modular_dripstation/icons/mob/clothing/uniform/corporate/syndicate.dmi'

//////////Waffle Co//////////////
/obj/item/clothing/under/syndicate/waffle
name = "Waffle Co combat uniform"
Expand Down
5 changes: 5 additions & 0 deletions modular_dripstation/code/modules/clothing/underwear.dm
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,11 @@
icon_state = "tank_white"
gender = NEUTER

/datum/sprite_accessory/undershirt/tank_grey
name = "Tank (Grey)"
icon_state = "tank_grey"
gender = NEUTER

/datum/sprite_accessory/undershirt/shirt_black
name = "Shirt (Black)"
icon_state = "shirt_black"
Expand Down
Binary file modified modular_dripstation/icons/mob/clothing/neck.dmi
Binary file not shown.
Binary file modified modular_dripstation/icons/mob/clothing/spacesuits/helmets.dmi
Binary file not shown.
Binary file modified modular_dripstation/icons/mob/clothing/spacesuits/suits.dmi
Binary file not shown.
Binary file modified modular_dripstation/icons/mob/clothing/under.dmi
Binary file not shown.
Binary file not shown.
Binary file added modular_dripstation/icons/mob/pet.dmi
Binary file not shown.
Binary file modified modular_dripstation/icons/obj/clothing/neck.dmi
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/* Dripstation edit
/mob/living/carbon/human/grippedby(mob/living/user, instant = FALSE)
if(wear_neck)
if(wear_neck.type == /obj/item/clothing/neck/petcollar)
Expand All @@ -9,3 +10,4 @@
devour_mob(pulling)
else
.=..()
*/

0 comments on commit 376272f

Please sign in to comment.