Lancer Gear (#11419)

This commit is contained in:
Geeves
2021-03-15 22:50:28 +02:00
committed by GitHub
parent 16811fe09d
commit dca3b71645
6 changed files with 118 additions and 39 deletions

View File

@@ -4,13 +4,25 @@
uniform = /obj/item/clothing/under/lance
back = /obj/item/gun/energy/rifle/pulse
gloves = /obj/item/clothing/gloves/force/basic
shoes = /obj/item/clothing/shoes/magboots
belt = /obj/item/storage/belt/military
l_ear = /obj/item/device/radio/headset/ert
id = /obj/item/card/id/syndicate
suit_store = /obj/item/tank/oxygen
suit = /obj/item/clothing/suit/space/void/lancer
head = /obj/item/clothing/head/helmet/space/void/lancer
species_head = list(
SPECIES_UNATHI = /obj/item/clothing/head/helmet/space/void/lancer/unathi
)
suit = /obj/item/clothing/suit/space/void/lancer
species_suit = list(
SPECIES_UNATHI = /obj/item/clothing/suit/space/void/lancer/unathi
)
suit_store = /obj/item/tank/oxygen
shoes = /obj/item/clothing/shoes/jackboots
species_shoes = list(
SPECIES_UNATHI = /obj/item/clothing/shoes/jackboots/toeless
)
belt_contents = list(
/obj/item/plastique = 1,
/obj/item/grenade/frag = 1,
@@ -21,60 +33,61 @@
/obj/item/melee/baton/loaded = 1,
/obj/item/grenade/empgrenade = 1
)
id = /obj/item/card/id/syndicate
var/id_access = "Lancer"
/datum/outfit/admin/event/lance/post_equip(mob/living/carbon/human/H, visualsOnly)
organize_voidsuit(H)
/datum/outfit/admin/event/lance/get_id_access()
return get_syndicate_access(id_access)
/datum/outfit/admin/event/lance/engineer
name = "Lance Engineer"
uniform = /obj/item/clothing/under/lance
back = /obj/item/gun/projectile/shotgun/pump/combat/sol
gloves = /obj/item/clothing/gloves/yellow
shoes = /obj/item/clothing/shoes/magboots
belt = /obj/item/storage/belt/utility/full
l_ear = /obj/item/device/radio/headset/ert
id = /obj/item/card/id/syndicate
suit_store = /obj/item/tank/oxygen
suit = /obj/item/clothing/suit/space/void/lancer
head = /obj/item/clothing/head/helmet/space/void/lancer
species_gloves = list(
SPECIES_UNATHI = /obj/item/clothing/gloves/yellow/specialu
)
belt = /obj/item/storage/belt/utility/very_full
belt_contents = null
accessory = /obj/item/clothing/accessory/storage/brown_vest
accessory_contents = list(
/obj/item/plastique = 3,
/obj/item/grenade/frag = 1,
/obj/item/device/flash = 1
)
belt_contents = list(
/obj/item/device/multitool = 1
)
id_access = "Lance Engineer"
/datum/outfit/admin/event/lance/medic
name = "Lance Medic"
uniform = /obj/item/clothing/under/lance
gloves = /obj/item/clothing/gloves/latex/nitrile
shoes = /obj/item/clothing/shoes/magboots
species_gloves = list(
SPECIES_UNATHI = /obj/item/clothing/gloves/latex/nitrile/unathi
)
belt = /obj/item/storage/belt/medical
mask = /obj/item/clothing/mask/surgical
l_ear = /obj/item/device/radio/headset/ert
id = /obj/item/card/id/syndicate
suit_store = /obj/item/tank/oxygen
suit = /obj/item/clothing/suit/space/void/lancer
head = /obj/item/clothing/head/helmet/space/void/lancer
l_pocket = /obj/item/reagent_containers/glass/bottle/inaprovaline
r_pocket = /obj/item/reagent_containers/glass/bottle/thetamycin
accessory = /obj/item/clothing/accessory/holster/thigh
accessory_contents = list(/obj/item/gun/energy/pulse/pistol = 1)
belt_contents = list(
/obj/item/device/healthanalyzer = 1,
/obj/item/reagent_containers/hypospray/combat = 1,
/obj/item/reagent_containers/syringe = 1,
/obj/item/personal_inhaler/combat = 1,
/obj/item/reagent_containers/personal_inhaler_cartridge/large = 2,
/obj/item/reagent_containers/glass/bottle/dexalin_plus = 1,
/obj/item/reagent_containers/glass/bottle/inaprovaline = 1,
/obj/item/reagent_containers/glass/bottle/thetamycin = 1
/obj/item/reagent_containers/glass/bottle/dexalin_plus = 1
)
accessory_contents = list(/obj/item/gun/energy/pulse/pistol = 1)
id_access = "Lance Medic"
/datum/outfit/admin/event/lance/operative
@@ -84,12 +97,7 @@
back = /obj/item/storage/backpack/satchel
gloves = /obj/item/clothing/gloves/latex
shoes = /obj/item/clothing/shoes/laceup
belt = /obj/item/storage/belt/utility/full
l_ear = /obj/item/device/radio/headset/ert
id = /obj/item/card/id/syndicate
suit_store = /obj/item/tank/oxygen
suit = /obj/item/clothing/suit/space/void/lancer
head = /obj/item/clothing/head/helmet/space/void/lancer
belt = /obj/item/storage/belt/utility/very_full
accessory = /obj/item/clothing/accessory/holster/thigh
accessory_contents = list(/obj/item/gun/energy/pulse/pistol = 1)
@@ -97,11 +105,11 @@
/obj/item/device/flash = 1,
/obj/item/clothing/gloves/yellow = 1
)
belt_contents = list(
/obj/item/device/multitool = 1
)
id_access = "Lance Operative"
/datum/outfit/admin/event/lance/operative/post_equip(mob/living/carbon/human/H, visualsOnly)
return
/datum/outfit/admin/event/sol_marine
name = "Solarian Marine"

View File

@@ -40,6 +40,14 @@
var/accessory = null
var/suit_accessory = null
// species specific item paths, in the form of
// thing = list(SPECIES_NAME = /type/path/here)
// if no path is found, the default fallback (var without the species_ prefix) will be used
var/list/species_head
var/list/species_suit
var/list/species_gloves
var/list/species_shoes
//The following vars must be paths
var/l_hand = null
var/r_hand = null
@@ -179,17 +187,43 @@
equip_item(H, uniform, slot_w_uniform)
if(accessory)
equip_uniform_accessory(H)
if(suit)
var/got_suit = FALSE
if(length(species_suit))
var/path = species_suit[H.species.name]
if(path)
got_suit = TRUE
equip_item(H, path, slot_wear_suit)
if(suit_accessory)
equip_suit_accessory(H)
if(suit && !got_suit)
equip_item(H, suit, slot_wear_suit)
if(suit_accessory)
equip_suit_accessory(H)
if(belt)
equip_item(H, belt, slot_belt)
if(gloves)
var/got_gloves = FALSE
if(length(species_gloves))
var/path = species_gloves[H.species.name]
if(path)
got_gloves = TRUE
equip_item(H, path, slot_gloves)
if(gloves && !got_gloves)
equip_item(H, gloves, slot_gloves)
if(shoes)
var/got_shoes = FALSE
if(length(species_shoes))
var/path = species_shoes[H.species.name]
if(path)
got_shoes = TRUE
equip_item(H, path, slot_shoes)
if(shoes && !got_shoes)
equip_item(H, shoes, slot_shoes)
if(head)
var/got_head = FALSE
if(length(species_head))
var/path = species_head[H.species.name]
if(path)
got_head = TRUE
equip_item(H, path, slot_head)
if(head && !got_head)
equip_item(H, head, slot_head)
if(mask)
equip_item(H, mask, slot_wear_mask)
@@ -284,6 +318,27 @@
H.update_body()
return 1
// this proc takes all the scattered voidsuit pieces and reassembles them into one piece
/datum/outfit/proc/organize_voidsuit(mob/living/carbon/human/H, var/add_magboots = TRUE)
var/obj/item/tank/T = H.s_store
H.unEquip(T, TRUE)
var/obj/item/clothing/suit/space/void/VS = H.wear_suit
H.unEquip(VS, TRUE)
var/obj/item/clothing/head/helmet/VH = H.head
H.unEquip(VH, TRUE, VS)
VS.helmet = VH
T.forceMove(VS)
VS.tank = T
if(add_magboots)
var/obj/item/clothing/shoes/magboots/M = new /obj/item/clothing/shoes/magboots(VH)
VS.boots = M
H.equip_to_slot_if_possible(VS, slot_wear_suit)
/datum/outfit/proc/apply_fingerprints(mob/living/carbon/human/H)
if(!istype(H))
return

View File

@@ -176,6 +176,11 @@
species_restricted = list(BODYTYPE_HUMAN)
refittable = FALSE
/obj/item/clothing/head/helmet/space/void/lancer/unathi
desc = "A sleek helmet with a bright yellow visor, expertly made in and colored in the iconic branding of Ceres' Lance. This one is fitted to Unathi."
icon_override = 'icons/mob/species/unathi/helmet.dmi'
species_restricted = list(BODYTYPE_UNATHI)
/obj/item/clothing/suit/space/void/lancer
name = "lancer voidsuit"
desc = "A bulky void suit with heavy plating. Looks to be colored in the branding of Ceres' Lance."
@@ -197,6 +202,11 @@
species_restricted = list(BODYTYPE_HUMAN)
refittable = FALSE
/obj/item/clothing/suit/space/void/lancer/unathi
desc = "A bulky void suit with heavy plating. Looks to be colored in the branding of Ceres' Lance. This one is fitted to Unathi."
icon_override = 'icons/mob/species/unathi/suit.dmi'
species_restricted = list(BODYTYPE_UNATHI)
//Einstein Engines espionage voidsuit
/obj/item/clothing/head/helmet/space/void/einstein
name = "banshee combat suit helmet"