Skip to content

Commit

Permalink
Merge branch 'master' into drying-rack
Browse files Browse the repository at this point in the history
  • Loading branch information
FalloutFalcon authored May 12, 2024
2 parents c167fb6 + 10f1205 commit ccad9e1
Show file tree
Hide file tree
Showing 12 changed files with 159 additions and 31 deletions.
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
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
36 changes: 36 additions & 0 deletions code/modules/cargo/packs/ammo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,12 @@
contains = list(/obj/item/ammo_box/amagpellet_claris)
cost = 1000

/datum/supply_pack/ammo/a300
name = ".300 Magnum Stripper Clip Crate"
desc = "Contains a five round .300 Magnum stripper clip for sniper rifles such as the HP Scout."
contains = list(/obj/item/ammo_box/a300)
cost = 750

/datum/supply_pack/ammo/ebr_ammo
name = "M514 EBR .308 Magazine Crate"
desc = "Contains a .308 magazine for the M514 EBR rifle, containing ten rounds."
Expand Down Expand Up @@ -173,6 +179,12 @@
contains = list(/obj/item/ammo_box/a762_40)
cost = 500

/datum/supply_pack/ammo/a357_ammo_box
name = ".357 Ammo Box Crate"
desc = "Contains a fifty-round .357 box for revolvers such as the Scarborough Revolver and the HP Firebrand."
contains = list(/obj/item/ammo_box/a357_box)
cost = 250

/datum/supply_pack/ammo/c556mmHITP_ammo_box
name = "5.56 Caseless Ammo Box Crate"
desc = "Contains a fifty-round 5.56mm caseless box for SolGov sidearms like the Pistole C."
Expand Down Expand Up @@ -209,6 +221,12 @@
contains = list(/obj/item/ammo_box/c9mm/ap)
cost = 500

/datum/supply_pack/ammo/a357match_ammo_box
name = ".357 Match Ammo Box Crate"
desc = "Contains a fifty-round .357 match box for better performance against armor."
contains = list(/obj/item/ammo_box/a357_box/match)
cost = 500

/datum/supply_pack/ammo/c556mmHITPap_ammo_box
name = "5.56 caseless AP Ammo Box Crate"
desc = "Contains a fifty-round 5.56mm caseless boxloaded with armor piercing ammo."
Expand All @@ -233,6 +251,12 @@
contains = list(/obj/item/ammo_box/c9mm/hp)
cost = 500

/datum/supply_pack/ammo/a357hp_ammo_box
name = ".357 HP Ammo Box Crate"
desc = "Contains a fifty-round .357 box loaded with hollow point ammo, great against unarmored targets."
contains = list(/obj/item/ammo_box/a357_box/hp)
cost = 500

/datum/supply_pack/ammo/c10mmhp_ammo_box
name = "10mm HP Ammo Box Crate"
desc = "Contains a fifty-round 10mm box loaded with hollow point ammo, great against unarmored targets."
Expand Down Expand Up @@ -305,6 +329,18 @@
contains = list(/obj/item/ammo_box/c8x50mmhp_box)
cost = 500

/datum/supply_pack/ammo/a300_box
name = ".300 Ammo Box Crate"
desc = "Contains a twenty-round .300 Magnum ammo box for sniper rifles such as the HP Scout."
contains = list(/obj/item/ammo_box/a300_box)
cost = 500

/datum/supply_pack/ammo/a4570_box
name = ".45-70 Ammo Box Crate"
desc = "Contains a twelve-round box containing devastatingly powerful .45-70 caliber ammunition."
contains = list(/obj/item/ammo_box/a4570)
cost = 500

/datum/supply_pack/ammo/ferropelletboxcrate
name = "Ferromagnetic Pellet Box Crate"
desc = "Contains a fifty-round ferromagnetic pellet ammo box for gauss guns such as the Claris."
Expand Down
64 changes: 44 additions & 20 deletions code/modules/cargo/packs/gun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,19 @@
*/

/datum/supply_pack/gun/disposable
name = "Disposable Guns Crate"
desc = "In some sectors, these disposable pistols are the only firearms that can be legally sold for less than 400cr. That price is still far too high; this pack contains five."
cost = 750
contains = list(/obj/item/gun/ballistic/automatic/pistol/disposable,
/obj/item/gun/ballistic/automatic/pistol/disposable,
/obj/item/gun/ballistic/automatic/pistol/disposable,
/obj/item/gun/ballistic/automatic/pistol/disposable,
/obj/item/gun/ballistic/automatic/pistol/disposable)
name = "Disposable Gun Crate"
desc = "In some sectors, these disposable pistols are the only firearms that can be legally sold for less than 200cr. That price is still far too high."
cost = 150
contains = list(/obj/item/gun/ballistic/automatic/pistol/disposable)
crate_name = "disposable gun crate"

/datum/supply_pack/gun/derringer
name = ".38 Derringer Crate"
desc = "A cheap, concealable pistol manufactured by the reputable Hunter's Pride. At least it's better than a disposable pistol. Chambered in .38 rounds."
cost = 350
contains = list(/obj/item/gun/ballistic/derringer)
crate_name = "derringer crate"

/datum/supply_pack/gun/commanders
name = "Commander Pistol Crate"
desc = "Contains a modified Candor 'Commander' pistol, produced by Nanotrasen and chambered in 9mm."
Expand All @@ -36,15 +39,15 @@
cost = 1000
contains = list(/obj/item/gun/ballistic/automatic/pistol/candor)

/datum/supply_pack/gun/revolver
name = "Scarborough Revolver Crate"
desc = "Contains a concealable Scarborough revolver, chambered in .357."
/datum/supply_pack/gun/pepperbox
name = "HP Firebrand Pepperbox Revolver Crate"
desc = "Contains a concealable pepperbox revolver manufactured by the Saint Roumain Militia, chambered in .357."
cost = 1250
contains = list(/obj/item/gun/ballistic/revolver)
contains = list(/obj/item/gun/ballistic/revolver/firebrand)

/datum/supply_pack/gun/detrevolver
name = "Hunter's Pride Detective Revolver Crate"
desc = "Contains a concealable Solarian revolver, chambered in .38."
desc = "Contains a concealable revolver favored by police departments around the sector, chambered in .38."
cost = 600
contains = list(/obj/item/gun/ballistic/revolver/detective)

Expand Down Expand Up @@ -107,6 +110,13 @@
Shotguns
*/

/datum/supply_pack/gun/doublebarrel_shotgun
name = "Double Barrel Shotgun Crate"
desc = "For when you need to deal with 2 drunkards the old-fashioned way. Contains a double-barreled shotgun, favored by Bartenders. Warranty voided if sawed off."
cost = 1000
contains = list(/obj/item/gun/ballistic/shotgun/doublebarrel)
crate_name = "shotguns crate"

/datum/supply_pack/gun/hellfire_shotgun
name = "Hellfire Shotgun Crate"
desc = "For when you need to deal with 7 hooligans. Contains a pump shotgun, with a 8-round capacity."
Expand All @@ -132,20 +142,34 @@
contains = list(/obj/item/gun/ballistic/shotgun/flamingarrow)
crate_name = "rifle crate"

/datum/supply_pack/gun/cobra20
name = "Cobra-20 SMG Crate"
desc = "Contains a .45 submachine gun, manufactured by Scarborough Arms and chambered in .45"
cost = 3000
contains = list(/obj/item/gun/ballistic/automatic/smg/c20r/cobra)
crate_name = "SMG crate"

/datum/supply_pack/gun/illestren
name = "Illestren Rifle Crate"
desc = "Contains a expertly made bolt action rifle intended for hunting wildlife. Chambered in 8x50mmR rounds."
cost = 1250
contains = list(/obj/item/gun/ballistic/rifle/illestren)
crate_name = "rifle crate"

/datum/supply_pack/gun/beacon
name = "Contender Break Action Rifle Crate"
desc = "Contains a single shot break action rifle to hunt wildlife that annoys you in particular. Chambered in devastating .45-70 rounds. Warranty voided if sawed off."
cost = 2250
contains = list(/obj/item/gun/ballistic/shotgun/doublebarrel/beacon)
crate_name = "rifle crate"

/datum/supply_pack/gun/scout
name = "Scout Sniper Rifle Crate"
desc = "Contains a traditional scoped rifle to hunt wildlife and big game from a respectful distance. Chambered in powerful .300 Magnum."
cost = 5500
contains = list(/obj/item/gun/ballistic/rifle/scout)
crate_name = "rifle crate"

/datum/supply_pack/gun/cobra20
name = "Cobra-20 SMG Crate"
desc = "Contains a .45 submachine gun, manufactured by Scarborough Arms and chambered in .45"
cost = 3000
contains = list(/obj/item/gun/ballistic/automatic/smg/c20r/cobra)
crate_name = "SMG crate"

/datum/supply_pack/gun/wt550
name = "WT-550 Auto Rifle Crate"
desc = "Contains a high-powered, automatic personal defense weapon chambered in 4.6x30mm."
Expand Down
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
29 changes: 29 additions & 0 deletions code/modules/projectiles/boxes_magazines/ammo_boxes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,28 @@
desc = "A 7-round speed loader for quickly reloading .357 revolvers. These hollow point rounds do incredible damage against soft targets, but are nearly ineffective against armored ones."
ammo_type = /obj/item/ammo_casing/a357/hp

/obj/item/ammo_box/a357_box
name = "ammo box (.357)"
desc = "A box of standard .357 ammo."
icon_state = "357box"
ammo_type = /obj/item/ammo_casing/a357
max_ammo = 50

/obj/item/ammo_box/a357_box/match
name = "ammo box (.357)"
desc = "A box of match .357 ammo."
icon_state = "357box-match"
ammo_type = /obj/item/ammo_casing/a357/match
max_ammo = 50

/obj/item/ammo_box/a357_box/hp
name = "ammo box (.357)"
desc = "A box of hollow point .357 ammo."
icon_state = "357box-hp"
ammo_type = /obj/item/ammo_casing/a357/hp
max_ammo = 50


// .45-70 Ammo Holders (Hunting Revolver)

/obj/item/ammo_box/a4570
Expand Down Expand Up @@ -443,3 +465,10 @@
icon_state = "8x50mmbox-hp"
ammo_type = /obj/item/ammo_casing/a8_50rhp
max_ammo = 20

/obj/item/ammo_box/a300_box
name = "ammo box (.300 Magnum)"
desc = "A box of standard .300 Magnum ammo."
icon_state = "300box"
ammo_type = /obj/item/ammo_casing/a300
max_ammo = 20
3 changes: 3 additions & 0 deletions code/modules/projectiles/boxes_magazines/internal/revolver.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,10 @@

/obj/item/ammo_box/magazine/internal/cylinder/pepperbox
name = "pepperbox revolver cylinder"
ammo_type = /obj/item/ammo_casing/a357
caliber = ".357"
max_ammo = 5
instant_load = FALSE

/obj/item/ammo_box/magazine/internal/cylinder/rev45
name = "cattleman revolver cylinder"
Expand Down
1 change: 1 addition & 0 deletions code/modules/projectiles/guns/ballistic/revolver.dm
Original file line number Diff line number Diff line change
Expand Up @@ -680,6 +680,7 @@
manufacturer = MANUFACTURER_HUNTERSPRIDE
spread_unwielded = 50
fire_delay = 0
gate_offset = 4
semi_auto = TRUE
safety_wording = "safety"

Expand Down
10 changes: 10 additions & 0 deletions html/changelogs/archive/2024-05.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,13 @@
- admin: made invisimin admins invisible for HUDs and ghosts
Sun-Soaked:
- bugfix: weird uncertainty around the name of EXOCOM. EXOCON is not real.
2024-05-09:
PositiveEntropy:
- rscadd: The HP Firebrand, HP Scout, HP Contender, .38 Derringer and Double Barrel
Shotgun are now purchasable in the outpost store.
- bugfix: The Disposable Gun crate is now granularized.
- rscdel: The Scarborough Revolver is no longer purchasable in the outpost store.
2024-05-10:
meemofcourse:
- rscadd: Helmets now have a small, two-item storage. You can put goggles in there,
and it might overlay them.
Binary file added icons/mob/clothing/helmet_overlays.dmi
Binary file not shown.
Binary file modified icons/obj/ammo.dmi
Binary file not shown.

0 comments on commit ccad9e1

Please sign in to comment.