Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
AmoryBlaine committed Aug 5, 2024
1 parent 52b4f6a commit 2be739d
Show file tree
Hide file tree
Showing 8 changed files with 266 additions and 22 deletions.
41 changes: 41 additions & 0 deletions code/game/machinery/vending/vendor_types/antag/antag_clothing.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
//------------ADAPTIVE ANTAG CLOSET---------------
//Spawn one of these bad boys and you will have a proper automated closet for CLF/UPP players (for now, more can be always added later)

/obj/structure/machinery/cm_vending/clothing/antag
name = "\improper Suspicious Automated Equipment Rack"
desc = "While similar in function to ColMarTech automated racks, this one is clearly not of USCM origin. Contains various equipment."
icon_state = "antag_clothing"
req_one_access = list(ACCESS_ILLEGAL_PIRATE, ACCESS_UPP_GENERAL, ACCESS_CLF_GENERAL)
req_access = null

listed_products = list()

/obj/structure/machinery/cm_vending/clothing/antag/Initialize()
. = ..()
vend_flags |= VEND_FACTION_THEMES

/obj/structure/machinery/cm_vending/clothing/antag/get_listed_products(mob/user)
if(!user)
var/list/all_equipment = list()
var/list/presets = typesof(/datum/equipment_preset)
for(var/i in presets)
var/datum/equipment_preset/eq = new i
var/list/equipment = eq.get_antag_clothing_equipment()
if(LAZYLEN(equipment))
all_equipment += equipment
qdel(eq)
return all_equipment

if(!ishuman(user))
return
var/mob/living/carbon/human/H = user
var/list/products_sets = list()
if(H.assigned_equipment_preset)
if(!(H.assigned_equipment_preset.type in listed_products))
listed_products[H.assigned_equipment_preset.type] = H.assigned_equipment_preset.get_antag_clothing_equipment()
products_sets = listed_products[H.assigned_equipment_preset.type]
else
if(!(/datum/equipment_preset/clf in listed_products))
listed_products[/datum/equipment_preset/clf] = GLOB.gear_path_presets_list[/datum/equipment_preset/clf].get_antag_clothing_equipment()
products_sets = listed_products[/datum/equipment_preset/clf]
return products_sets
109 changes: 109 additions & 0 deletions code/game/machinery/vending/vendor_types/antag/antag_gear.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
//------------ADAPTIVE ANTAG GEAR VENDOR---------------

/obj/structure/machinery/cm_vending/gear/antag
name = "\improper Suspicious Automated Gear Rack"
desc = "While similar in function to ColMarTech automated racks, this one is clearly not of USCM origin. Contains various gear."
icon_state = "gear"

req_one_access = list(ACCESS_ILLEGAL_PIRATE, ACCESS_UPP_GENERAL, ACCESS_CLF_GENERAL)
req_access = null
listed_products = list()

/obj/structure/machinery/cm_vending/gear/antag/Initialize()
. = ..()
vend_flags |= VEND_FACTION_THEMES

/obj/structure/machinery/cm_vending/gear/antag/get_listed_products(mob/user)
. = list()
if(!user)
var/list/all_equipment = list()
var/list/presets = typesof(/datum/equipment_preset)
for(var/i in presets)
var/datum/equipment_preset/eq = new i
var/list/equipment = eq.get_antag_gear_equipment()
if(LAZYLEN(equipment))
all_equipment += equipment
qdel(eq)
return all_equipment

var/mob/living/carbon/human/human = user
if(human.assigned_equipment_preset)
return human.assigned_equipment_preset.get_antag_gear_equipment()
else
var/datum/equipment_preset/default = new /datum/equipment_preset/clf
var/list/gear = default.get_antag_gear_equipment()
qdel(default)
return gear

//--------------ESSENTIALS------------------------

/obj/effect/essentials_set/medic/upp
spawned_gear_list = list(
/obj/item/bodybag/cryobag,
/obj/item/device/defibrillator,
/obj/item/storage/firstaid/adv,
/obj/item/device/healthanalyzer,
/obj/item/roller,
/obj/item/tool/surgery/surgical_line,
/obj/item/tool/surgery/synthgraft,
)

/obj/effect/essentials_set/upp_heavy
spawned_gear_list = list(
/obj/item/weapon/gun/pkp,
/obj/item/ammo_magazine/pkp,
/obj/item/ammo_magazine/pkp,
)

/obj/effect/essentials_set/leader/upp
spawned_gear_list = list(
/obj/item/explosive/plastic,
/obj/item/device/binoculars/range,
/obj/item/map/current_map,
/obj/item/storage/box/zipcuffs,
)

/obj/effect/essentials_set/kit/svd
spawned_gear_list = list(
/obj/item/weapon/gun/rifle/sniper/svd,
/obj/item/ammo_magazine/sniper/svd,
/obj/item/ammo_magazine/sniper/svd,
/obj/item/ammo_magazine/sniper/svd,
)

/obj/effect/essentials_set/kit/custom_shotgun
spawned_gear_list = list(
/obj/item/weapon/gun/shotgun/merc,
/obj/item/ammo_magazine/shotgun/incendiary,
/obj/item/ammo_magazine/shotgun,
/obj/item/ammo_magazine/shotgun/flechette,
)

/obj/effect/essentials_set/kit/m60
spawned_gear_list = list(
/obj/item/weapon/gun/m60,
/obj/item/ammo_magazine/m60,
/obj/item/ammo_magazine/m60,
)

/obj/effect/essentials_set/random/clf_bonus_item
spawned_gear_list = list(
/obj/item/storage/pill_bottle/tramadol/skillless,
/obj/item/storage/pill_bottle/tramadol/skillless,
/obj/item/storage/pill_bottle/tramadol/skillless,
/obj/item/tool/hatchet,
/obj/item/tool/hatchet,
/obj/item/weapon/twohanded/spear,
/obj/item/reagent_container/spray/pepper,
/obj/item/reagent_container/spray/pepper,
/obj/item/reagent_container/spray/pepper,
/obj/item/reagent_container/ld50_syringe/choral,
/obj/item/storage/bible,
/obj/item/clothing/mask/gas/pmc,
/obj/item/clothing/accessory/storage/holster,
/obj/item/clothing/accessory/storage/webbing,
/obj/item/storage/pill_bottle/happy,
/obj/item/storage/pill_bottle/happy,
/obj/item/storage/pill_bottle/happy,
/obj/item/explosive/grenade/smokebomb,
)
2 changes: 0 additions & 2 deletions code/modules/admin/admin_verbs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,6 @@ var/list/roundstart_mod_verbs = list(
if(CLIENT_HAS_RIGHTS(src, R_BUILDMODE))
add_verb(src, /client/proc/togglebuildmodeself)
add_verb(src, /client/proc/toggle_game_master)
add_verb(src, /client/proc/open_resin_panel)
add_verb(src, /client/proc/open_sound_panel)
add_verb(src, /client/proc/toggle_join_xeno)
add_verb(src, /client/proc/game_master_rename_platoon)
Expand Down Expand Up @@ -366,7 +365,6 @@ var/list/roundstart_mod_verbs = list(
admin_verbs_default,
/client/proc/togglebuildmodeself,
/client/proc/toggle_game_master,
/client/proc/open_resin_panel,
/client/proc/open_sound_panel,
/client/proc/toggle_join_xeno,
/client/proc/game_master_rename_platoon,
Expand Down
12 changes: 6 additions & 6 deletions code/modules/clothing/head/head.dm
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@
desc = "A dark cap enscribed with the powerful letters of 'MARSHAL' representing justice, authority, and protection in the outer rim. The laws of the Earth stretch beyond the Sol."
icon = 'icons/obj/items/clothing/cm_hats.dmi'
item_icons = list(
WEAR_HEAD = 'icons/mob/humans/onmob/head_0.dmi'
WEAR_HEAD = 'icons/mob/humans/onmob/head-layer/head_0.dmi'
)
icon_state = "cmbcap"
flags_armor_protection = BODY_FLAG_HEAD
Expand All @@ -404,7 +404,7 @@
desc = "A sturdy freelancer's cap. More protective than it seems."
icon = 'icons/obj/items/clothing/cm_hats.dmi'
item_icons = list(
WEAR_HEAD = 'icons/mob/humans/onmob/head_0.dmi'
WEAR_HEAD = 'icons/mob/humans/onmob/head-layer/head_0.dmi'
)
icon_state = "freelancer_cap"
siemens_coefficient = 2
Expand All @@ -431,7 +431,7 @@
desc = "A large hood in service with some militias, meant for obscurity on the frontier. Offers some head protection due to the study fibers utilized in production."
icon = 'icons/obj/items/clothing/cm_hats.dmi'
item_icons = list(
WEAR_HEAD = 'icons/mob/humans/onmob/head_0.dmi'
WEAR_HEAD = 'icons/mob/humans/onmob/head-layer/head_0.dmi'
)
icon_state = "rebel_hood"
siemens_coefficient = 2
Expand Down Expand Up @@ -480,7 +480,7 @@
icon = 'icons/obj/items/clothing/cm_hats.dmi'
flags_inv_hide = HIDETOPHAIR
item_icons = list(
WEAR_HEAD = 'icons/mob/humans/onmob/head_0.dmi'
WEAR_HEAD = 'icons/mob/humans/onmob/head-layer/head_0.dmi'
)

/obj/item/clothing/head/durag/black
Expand All @@ -499,7 +499,7 @@
icon_state = "drillhat"
icon = 'icons/obj/items/clothing/cm_hats.dmi'
item_icons = list(
WEAR_HEAD = 'icons/mob/humans/onmob/head_0.dmi'
WEAR_HEAD = 'icons/mob/humans/onmob/head-layer/head_0.dmi'
)

#undef HAT_GARB_RELAY_ICON_STATE
Expand Down Expand Up @@ -558,7 +558,7 @@
icon = 'icons/obj/items/clothing/cm_hats.dmi'
flags_atom = NO_NAME_OVERRIDE|NO_SNOW_TYPE
item_icons = list(
WEAR_HEAD = 'icons/mob/humans/onmob/head_0.dmi'
WEAR_HEAD = 'icons/mob/humans/onmob/head-layer/head_0.dmi'
)

/obj/item/clothing/head/beret/royal_marine/team_leader
Expand Down
2 changes: 1 addition & 1 deletion code/modules/clothing/head/helmet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -976,7 +976,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(
icon = 'icons/obj/items/clothing/cm_hats.dmi'
icon_state = "upp_cap"
item_icons = list(
WEAR_HEAD = 'icons/mob/humans/onmob/head_1.dmi'
WEAR_HEAD = 'icons/mob/humans/onmob/head-layer/head_0.dmi'
)
siemens_coefficient = 2
flags_armor_protection = BODY_FLAG_HEAD
Expand Down
12 changes: 12 additions & 0 deletions code/modules/clothing/head/soft_caps.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@

/obj/item/clothing/head/soft/trucker
name = "trucker hat"
desc = "It's a blue trucker hat."
icon_state = "truckercap_bluesoft"
cap_color = "truckercap_blue"

/obj/item/clothing/head/soft/trucker/red
name = "trucker hat"
desc = "It's a red trucker hat."
icon_state = "truckercap_redsoft"
cap_color = "truckercap_red"
97 changes: 97 additions & 0 deletions code/modules/gear_presets/survivors/lv_522/forcon_survivors.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
///*****************************LV-522 Force Recon Survivors*******************************************************/
//Nanu told me to put them here so they dont clutter up survivors.dm
/datum/equipment_preset/survivor/forecon
paygrade = "ME5"
idtype = /obj/item/card/id/dogtag
role_comm_title = "FORECON"
rank = JOB_SURVIVOR
faction_group = list(FACTION_USCM, FACTION_SURVIVOR)
flags = EQUIPMENT_PRESET_START_OF_ROUND
access = list(
ACCESS_CIVILIAN_PUBLIC,
ACCESS_CIVILIAN_ENGINEERING,
ACCESS_CIVILIAN_LOGISTICS,
)

/datum/equipment_preset/survivor/forecon/load_gear(mob/living/carbon/human/new_human)
var/obj/item/clothing/under/marine = new()
var/obj/item/clothing/accessory/storage/droppouch/pouch = new()
var/obj/item/clothing/accessory/ranks/marine/e5/pin = new()
var/obj/item/clothing/accessory/patch/patch_uscm = new()
var/obj/item/clothing/accessory/patch/forecon/patch_forecon = new()
uniform.attach_accessory(new_human,pouch)
uniform.attach_accessory(new_human,patch_uscm)
uniform.attach_accessory(new_human,pin)
uniform.attach_accessory(new_human,patch_forecon)
new_human.equip_to_slot_or_del(uniform, WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/forecon(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/large(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate(new_human), WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/drinks/flask/marine(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/facepaint/sniper(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/storage/box/MRE(new_human), WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/jungle/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/sof(new_human), WEAR_L_EAR)
GLOB.character_traits[/datum/character_trait/skills/spotter].apply_trait(new_human)

/datum/equipment_preset/survivor/forecon/add_survivor_weapon_security(mob/living/carbon/human/new_human)
return

/datum/equipment_preset/survivor/forecon/proc/add_forecon_weapon(mob/living/carbon/human/new_human)
var/random_gun = rand(1,3)
switch(random_gun)
if(1 , 2)
new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41aMK1(new_human), WEAR_L_HAND)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1(new_human), WEAR_IN_BACK)
if(3)
new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m4ra/pve(new_human), WEAR_L_HAND)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m4ra/pve(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m4ra/pve(new_human), WEAR_IN_BACK)

/datum/equipment_preset/survivor/forecon/add_survivor_weapon_pistol(mob/living/carbon/human/new_human)
return

/datum/equipment_preset/survivor/forecon/proc/add_forecon_weapon_pistol(mob/living/carbon/human/new_human)
var/random_pistol = rand(1,4)
switch(random_pistol)
if(1 , 2)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3(new_human), WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/m1911/socom(new_human), WEAR_IN_BELT)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/m1911(new_human), WEAR_IN_BELT)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/m1911(new_human), WEAR_IN_BELT)
if(3 , 4)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/general_belt(new_human), WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector(new_human),WEAR_IN_BELT)

/datum/equipment_preset/survivor/forecon/add_random_survivor_equipment(mob/living/carbon/human/new_human)
return

/datum/equipment_preset/survivor/forecon/proc/add_forecon_equipment(mob/living/carbon/human/new_human)
var/random_equipment = rand(1,3)
switch(random_equipment)
if(1)
new_human.equip_to_slot_or_del(new /obj/item/device/walkman(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/cassette_tape/indie(new_human), WEAR_IN_BACK)
if(2)
new_human.equip_to_slot_or_del(new /obj/item/toy/deck(new_human), WEAR_IN_ACCESSORY)
if(3)
new_human.equip_to_slot_or_del(new /obj/item/storage/fancy/cigarettes/lucky_strikes(new_human), WEAR_IN_ACCESSORY)

/datum/equipment_preset/survivor/forecon/proc/spawn_random_headgear(mob/living/carbon/human/new_human)
var/i = rand(1,10)
switch(i)
if (1 , 2)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap(new_human), WEAR_HEAD)
if (3 , 4)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie(new_human), WEAR_HEAD)
if (5 , 6)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/durag(new_human), WEAR_HEAD)
if (7 , 8)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie/tan(new_human), WEAR_HEAD)
if (9)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine(new_human), WEAR_HEAD)


13 changes: 0 additions & 13 deletions maps/map_files/generic/Admin_level.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@
/turf/open/floor/carpet,
/area/adminlevel/ert_station)
"bn" = (
/obj/structure/closet/boxinggloves,
/turf/open/floor/almayer{
icon_state = "silver"
},
Expand Down Expand Up @@ -247,10 +246,6 @@
/area/centcom/control)
"fu" = (
/obj/structure/surface/table/woodentable/fancy,
/obj/item/clothing/head/collectable/tophat{
desc = "A top hat, placed here as a special thanks to someone often overlooked and forgotten. But who the community owes a thank you anyways.";
name = "Penguin"
},
/turf/open/floor/wood,
/area/centcom/living)
"fv" = (
Expand Down Expand Up @@ -2125,9 +2120,6 @@
/turf/open/floor/plating/almayer,
/area/adminlevel/ert_station)
"Sl" = (
/obj/structure/machinery/cm_vending/clothing/antag{
name = "\improper Response Team Automated Equipment Rack"
},
/turf/open/floor/almayer{
dir = 5;
icon_state = "plating"
Expand Down Expand Up @@ -2231,11 +2223,6 @@
},
/area/adminlevel/ert_station/shuttle_dispatch)
"Ua" = (
/obj/structure/machinery/cm_vending/gear/antag{
hacked = 1;
name = "\improper Response Team Automated Gear Rack";
use_snowflake_points = 1
},
/turf/open/floor/almayer{
dir = 5;
icon_state = "plating"
Expand Down

0 comments on commit 2be739d

Please sign in to comment.