Skip to content

Commit

Permalink
Merge branch 'master' into plasticflaps
Browse files Browse the repository at this point in the history
  • Loading branch information
Zevotech authored May 13, 2024
2 parents 5278c15 + 5c29783 commit 9c300f1
Show file tree
Hide file tree
Showing 21 changed files with 285 additions and 113 deletions.
3 changes: 3 additions & 0 deletions code/__DEFINES/dcs/signals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -773,3 +773,6 @@

///called in /obj/item/gun/process_chamber (src)
#define COMSIG_GUN_CHAMBER_PROCESSED "gun_chamber_processed"

///called when an elzu should unroot
#define COMSIG_DIGOUT "dig_out"
14 changes: 10 additions & 4 deletions code/datums/components/storage/concrete/pockets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -83,10 +83,16 @@
/datum/component/storage/concrete/pockets/helmet/Initialize()
. = ..()
set_holdable(list(
/obj/item/reagent_containers/food/drinks/bottle/vodka,
/obj/item/reagent_containers/food/drinks/bottle/molotov,
/obj/item/reagent_containers/food/drinks/drinkingglass,
/obj/item/ammo_box/magazine/illestren_a850r
/obj/item/clothing/glasses/cold,
/obj/item/clothing/glasses/heat,
/obj/item/clothing/glasses/welding,
/obj/item/clothing/glasses/thermal,
/obj/item/clothing/glasses/night,
/obj/item/clothing/glasses/hud/health/night,
/obj/item/clothing/glasses/hud/security/night,
/obj/item/clothing/glasses/hud/security/sunglasses/inteq,
/obj/item/ammo_casing,
/obj/item/ammo_box/magazine/illestren_a850r,
))

/datum/component/storage/concrete/pockets/holster
Expand Down
5 changes: 5 additions & 0 deletions code/datums/mood_events/generic_positive_events.dm
Original file line number Diff line number Diff line change
Expand Up @@ -239,3 +239,8 @@
description = "Fishing is relaxing"
mood_change = 5
timeout = 3 MINUTES

/datum/mood_event/root
description = span_nicegreen("I rooted recently, it feels good to charge naturally.\n")
mood_change = 5
timeout = 5 MINUTES
26 changes: 26 additions & 0 deletions code/datums/status_effects/neutral.dm
Original file line number Diff line number Diff line change
Expand Up @@ -275,3 +275,29 @@
/atom/movable/screen/alert/status_effect/surrender/Click(location, control, params)
. = ..()
owner.emote("surrender")

/datum/status_effect/rooted
id = "rooted"
alert_type = /atom/movable/screen/alert/status_effect/rooted

/datum/status_effect/rooted/on_apply()
. = ..()
ADD_TRAIT(owner,TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id))
ADD_TRAIT(owner,TRAIT_PUSHIMMUNE, TRAIT_STATUS_EFFECT(id))
SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "root", /datum/mood_event/root)

/datum/status_effect/rooted/on_remove()
. = ..()
REMOVE_TRAIT(owner,TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id))
REMOVE_TRAIT(owner,TRAIT_PUSHIMMUNE, TRAIT_STATUS_EFFECT(id))

/atom/movable/screen/alert/status_effect/rooted
name = "Rooted"
desc = "You're currently rooted into the ground and can't move. Click here to start digging yourself out."
icon_state = "dig_out"

/atom/movable/screen/alert/status_effect/rooted/Click(location, control, params)
. = ..()
to_chat(owner, span_notice("You begin digging yourself free."))
SEND_SIGNAL(owner,COMSIG_DIGOUT)

26 changes: 13 additions & 13 deletions code/game/objects/effects/anomalies/anomalies_static.dm
Original file line number Diff line number Diff line change
Expand Up @@ -39,19 +39,19 @@
playsound(src, 'sound/effects/walkietalkie.ogg', 75)
if(stored_mob && looking.stat != DEAD && prob(25))
say_fucky_things()
if (!HAS_TRAIT(looking, TRAIT_MINDSHIELD) && looking.stat != DEAD || !looking.research_scanner && looking.stat != DEAD || !HAS_TRAIT(looking, TRAIT_DEAF))
looking.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 200)
playsound(src, 'sound/effects/stall.ogg', 50)
if(looking.getOrganLoss(ORGAN_SLOT_BRAIN) >= 150 && looking.stat != DEAD)
if(prob(20))
var/mob/living/carbon/victim = looking
var/obj/effect/anomaly/tvstatic/planetary/expansion
expansion = new(get_turf(victim))
visible_message(span_warning("The static overtakes [victim], taking their place!"))
victim.death()
expansion.stored_mob = victim
victim.forceMove(expansion)
return
if(HAS_TRAIT(looking, TRAIT_MINDSHIELD) || looking.stat == DEAD || looking.research_scanner || HAS_TRAIT(looking, TRAIT_DEAF))
continue
looking.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 200)
playsound(src, 'sound/effects/stall.ogg', 50)
if(looking.getOrganLoss(ORGAN_SLOT_BRAIN) >= 150 && looking.stat != DEAD)
if(prob(20))
var/mob/living/carbon/victim = looking
var/obj/effect/anomaly/tvstatic/planetary/expansion
expansion = new(get_turf(victim))
visible_message(span_warning("The static overtakes [victim], [expansion] taking their place!"))
victim.death()
expansion.stored_mob = victim
victim.forceMove(expansion)


/obj/effect/anomaly/tvstatic/Bumped(atom/movable/AM)
Expand Down
3 changes: 3 additions & 0 deletions code/game/objects/items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -699,6 +699,9 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
/obj/item/proc/get_belt_overlay() //Returns the icon used for overlaying the object on a belt
return mutable_appearance('icons/obj/clothing/belt_overlays.dmi', icon_state)

/obj/item/proc/get_helmet_overlay() // returns the icon for overlaying on a helmet
return mutable_appearance('icons/mob/clothing/helmet_overlays.dmi', icon_state)

/obj/item/proc/update_slot_icon()
if(!ismob(loc))
return
Expand Down
8 changes: 3 additions & 5 deletions code/modules/cargo/packs/sec_supply.dm
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,9 @@

/datum/supply_pack/sec_supply/riotshields
name = "Riot Shields Crate"
desc = "For when the greytide gets really uppity. Contains three riot shields."
cost = 2000
contains = list(/obj/item/shield/riot,
/obj/item/shield/riot,
/obj/item/shield/riot)
desc = "Contains a riot shield, effective at holding back hostile fauna, xenofauna, or large crowds."
cost = 600
contains = list(/obj/item/shield/riot)
crate_name = "riot shields crate"

/datum/supply_pack/sec_supply/survknives
Expand Down
4 changes: 4 additions & 0 deletions code/modules/client/loadout/loadout_suit.dm
Original file line number Diff line number Diff line change
Expand Up @@ -111,3 +111,7 @@
display_name = "worn shirt"
path = /obj/item/clothing/suit/ianshirt

/datum/gear/suit/hawaiian
display_name = "floral shirt"
description = "From grills to guns, this shirt's seen it all."
path = /obj/item/clothing/suit/hawaiian
28 changes: 21 additions & 7 deletions code/modules/clothing/head/helmet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,15 @@

dog_fashion = /datum/dog_fashion/head/helmet

var/can_flashlight = FALSE //if a flashlight can be mounted. if it has a flashlight and this is false, it is permanently attached.
//if a flashlight can be mounted. if it has a flashlight and this is false, it is permanently attached.
var/can_flashlight = FALSE
var/obj/item/flashlight/seclite/attached_light
var/datum/action/item_action/toggle_helmet_flashlight/action_light

pocket_storage_component_path = /datum/component/storage/concrete/pockets/helmet
// should we overlay the items inside our helmet
var/content_overlays = FALSE

/obj/item/clothing/head/helmet/Initialize()
. = ..()
if(attached_light)
Expand Down Expand Up @@ -171,16 +176,21 @@
var/mutable_appearance/flashlightlight_overlay
if(isinhands)
return
if(!attached_light)
return
if(attached_light.on)
flashlightlight_overlay = mutable_appearance('icons/mob/clothing/head.dmi', "[flashlight_state]_on")
if(attached_light)
if(attached_light.on)
flashlightlight_overlay = mutable_appearance('icons/mob/clothing/head.dmi', "[flashlight_state]_on")
else
flashlightlight_overlay = mutable_appearance('icons/mob/clothing/head.dmi', flashlight_state)
. += flashlightlight_overlay
if(content_overlays)
for(var/obj/item/I in contents)
. += I.get_helmet_overlay()
else
flashlightlight_overlay = mutable_appearance('icons/mob/clothing/head.dmi', flashlight_state)
. += flashlightlight_overlay
return

/obj/item/clothing/head/helmet/sec
can_flashlight = TRUE
content_overlays = TRUE

/obj/item/clothing/head/helmet/sec/attackby(obj/item/I, mob/user, params)
if(issignaler(I))
Expand Down Expand Up @@ -214,6 +224,7 @@
"Snow" = "helmetalt_snow",
"Urban" = "helmetalt_urban",
)
content_overlays = TRUE

/obj/item/clothing/head/helmet/marine
name = "tactical combat helmet"
Expand Down Expand Up @@ -497,13 +508,15 @@
icon_state = "inteq_swat"
item_state = "inteq_swat"
flags_inv = HIDEHAIR
content_overlays = TRUE

/obj/item/clothing/head/helmet/inteq
name = "inteq helmet"
desc = "A standard issue helmet in the colors of the IRMG. It doesn't feel special in any way."
icon_state = "inteq_helmet"
icon_state = "inteq_helmet"
can_flashlight = TRUE
content_overlays = TRUE

/obj/item/clothing/head/solgov
name = "\improper SolGov officer's cap"
Expand Down Expand Up @@ -545,6 +558,7 @@
desc = "A robust combat helmet commonly employed by Syndicate forces, regardless of alignment."
icon_state = "operator"
item_state = "operator"
content_overlays = TRUE

/obj/item/clothing/head/helmet/medical
name = "\improper trauma team helmet"
Expand Down
2 changes: 2 additions & 0 deletions code/modules/clothing/spacesuits/_spacesuits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF
resistance_flags = NONE
dog_fashion = null
content_overlays = FALSE
pocket_storage_component_path = null

/obj/item/clothing/suit/space
name = "space suit"
Expand Down
4 changes: 2 additions & 2 deletions code/modules/clothing/suits/miscellaneous.dm
Original file line number Diff line number Diff line change
Expand Up @@ -661,8 +661,8 @@
flags_inv = HIDEHAIR|HIDEEARS|HIDEFACIALHAIR|HIDEFACE|HIDEMASK

/obj/item/clothing/suit/hawaiian
name = "hawaiian overshirt"
desc = "A cool shirt for chilling on the beach."
name = "floral shirt"
desc = "From grills to guns, this shirt's seen it all."
icon_state = "hawaiian_blue"
item_state = "hawaiian_blue"

Expand Down
Loading

0 comments on commit 9c300f1

Please sign in to comment.