Ports new Bay SolGov suits as Commonwealth suits

This commit is contained in:
Chompstation Bot
2021-07-15 19:03:09 +00:00
committed by Darlantan
parent 000d3ad6b2
commit 3d2783aec7
107 changed files with 6827 additions and 516 deletions

View File

@@ -0,0 +1,197 @@
// Default species get default sprites, VR species get VR sprites
#define VR_SPECIES_SPRITE_SHEETS_SUIT_MOB list(\
SPECIES_TAJ = 'icons/inventory/suit/mob_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/suit/mob_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/suit/mob_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/suit/mob_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/suit/mob_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/suit/mob_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/suit/mob_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/suit/mob_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/suit/mob_vr_vulpkanin.dmi')
#define VR_SPECIES_SPRITE_SHEETS_HEAD_MOB list(\
SPECIES_TAJ = 'icons/inventory/head/mob_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/head/mob_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/head/mob_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/head/mob_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/head/mob_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/head/mob_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/head/mob_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/head/mob_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/head/mob_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/head/mob_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/head/mob_vr_vulpkanin.dmi')
#define VR_SPECIES_SPRITE_SHEETS_HANDS_MOB list(\
SPECIES_TAJ = 'icons/inventory/hands/mob_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/hands/mob_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/hands/mob_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/hands/mob_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/hands/mob_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/hands/mob_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/hands/mob_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/hands/mob_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/hands/mob_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/hands/mob_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/hands/mob_vr_vulpkanin.dmi')
#define VR_SPECIES_SPRITE_SHEETS_FEET_MOB list(\
SPECIES_TAJ = 'icons/inventory/feet/mob_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/feet/mob_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/feet/mob_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/feet/mob_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/feet/mob_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/feet/mob_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/feet/mob_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/feet/mob_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/feet/mob_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/feet/mob_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/feet/mob_vr_vulpkanin.dmi')
#define VR_SPECIES_SPRITE_SHEETS_SUIT_ITEM list(\
SPECIES_TAJ = 'icons/inventory/suit/item_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/suit/item_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/suit/item_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/suit/item_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/suit/item_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/suit/item_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/suit/item_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/suit/item_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/suit/item_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/item_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/suit/item_vr_vulpkanin.dmi')
#define VR_SPECIES_SPRITE_SHEETS_HEAD_ITEM list(\
SPECIES_TAJ = 'icons/inventory/head/item_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/head/item_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/head/item_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/head/item_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/head/item_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/head/item_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/head/item_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/head/item_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/head/item_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/head/item_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/head/item_vr_vulpkanin.dmi')
#define VR_SPECIES_SPRITE_SHEETS_HANDS_ITEM list(\
SPECIES_TAJ = 'icons/inventory/hands/item_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/hands/item_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/hands/item_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/hands/item_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/hands/item_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/hands/item_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/hands/item_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/hands/item_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/hands/item_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/hands/item_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/hands/item_vr_vulpkanin.dmi')
#define VR_SPECIES_SPRITE_SHEETS_FEET_ITEM list(\
SPECIES_TAJ = 'icons/inventory/feet/item_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/feet/item_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/feet/item_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/feet/item_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/feet/item_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/feet/item_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/feet/item_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/feet/item_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/feet/item_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/feet/item_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/feet/item_vr_vulpkanin.dmi')
// All species get VR sprites
#define ALL_VR_SPRITE_SHEETS_SUIT_MOB list(\
SPECIES_TAJ = 'icons/inventory/suit/mob_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/suit/mob_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/suit/mob_vr_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/suit/mob_vr_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/suit/mob_vr_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/suit/mob_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/suit/mob_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/suit/mob_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/suit/mob_vr_vulpkanin.dmi')
#define ALL_VR_SPRITE_SHEETS_HEAD_MOB list(\
SPECIES_TAJ = 'icons/inventory/head/mob_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/head/mob_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/head/mob_vr_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/head/mob_vr_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/head/mob_vr_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/head/mob_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/head/mob_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/head/mob_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/head/mob_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/head/mob_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/head/mob_vr_vulpkanin.dmi')
#define ALL_VR_SPRITE_SHEETS_HANDS_MOB list(\
SPECIES_TAJ = 'icons/inventory/hands/mob_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/hands/mob_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/hands/mob_vr_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/hands/mob_vr_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/hands/mob_vr_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/hands/mob_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/hands/mob_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/hands/mob_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/hands/mob_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/hands/mob_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/hands/mob_vr_vulpkanin.dmi')
#define ALL_VR_SPRITE_SHEETS_FEET_MOB list(\
SPECIES_TAJ = 'icons/inventory/feet/mob_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/feet/mob_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/feet/mob_vr_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/feet/mob_vr_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/feet/mob_vr_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/feet/mob_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/feet/mob_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/feet/mob_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/feet/mob_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/feet/mob_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/feet/mob_vr_vulpkanin.dmi')
#define ALL_VR_SPRITE_SHEETS_SUIT_ITEM list(\
SPECIES_TAJ = 'icons/inventory/suit/item_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/suit/item_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/suit/item_vr_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/suit/item_vr_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/suit/item_vr_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/suit/item_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/suit/item_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/suit/item_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/suit/item_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/item_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/suit/item_vr_vulpkanin.dmi')
#define ALL_VR_SPRITE_SHEETS_HEAD_ITEM list(\
SPECIES_TAJ = 'icons/inventory/head/item_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/head/item_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/head/item_vr_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/head/item_vr_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/head/item_vr_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/head/item_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/head/item_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/head/item_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/head/item_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/head/item_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/head/item_vr_vulpkanin.dmi')
#define ALL_VR_SPRITE_SHEETS_HANDS_ITEM list(\
SPECIES_TAJ = 'icons/inventory/hands/item_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/hands/item_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/hands/item_vr_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/hands/item_vr_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/hands/item_vr_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/hands/item_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/hands/item_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/hands/item_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/hands/item_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/hands/item_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/hands/item_vr_vulpkanin.dmi')
#define ALL_VR_SPRITE_SHEETS_FEET_ITEM list(\
SPECIES_TAJ = 'icons/inventory/feet/item_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/feet/item_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/feet/item_vr_unathi.dmi',\
SPECIES_TESHARI = 'icons/inventory/feet/item_vr_teshari.dmi',\
SPECIES_XENOHYBRID = 'icons/inventory/feet/item_vr_unathi.dmi',\
SPECIES_AKULA = 'icons/inventory/feet/item_vr_akula.dmi',\
SPECIES_SERGAL = 'icons/inventory/feet/item_vr_sergal.dmi',\
SPECIES_NEVREAN = 'icons/inventory/feet/item_vr_sergal.dmi',\
SPECIES_VULPKANIN = 'icons/inventory/feet/item_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/feet/item_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/feet/item_vr_vulpkanin.dmi')

View File

@@ -213,6 +213,26 @@ GLOBAL_LIST_EMPTY(mannequins)
if(S.spawn_flags & SPECIES_IS_WHITELISTED) if(S.spawn_flags & SPECIES_IS_WHITELISTED)
GLOB.whitelisted_species += S.name GLOB.whitelisted_species += S.name
// Suit cyclers
paths = subtypesof(/datum/suit_cycler_choice/department)
for(var/path in paths)
var/datum/suit_cycler_choice/SCC = path
if(!initial(SCC.name))
continue
GLOB.suit_cycler_departments += new path()
paths = subtypesof(/datum/suit_cycler_choice/species)
for(var/path in paths)
var/datum/suit_cycler_choice/SCC = path
if(!initial(SCC.name))
continue
GLOB.suit_cycler_species += new path()
paths = subtypesof(/datum/suit_cycler_choice/department/emag)
for(var/path in paths)
var/datum/suit_cycler_choice/SCC = path
if(!initial(SCC.name))
continue
GLOB.suit_cycler_emagged += new path()
//Ores //Ores
paths = subtypesof(/ore) paths = subtypesof(/ore)
for(var/oretype in paths) for(var/oretype in paths)

View File

@@ -73,15 +73,44 @@
access = access_rd access = access_rd
/datum/supply_pack/misc/ce_rig /datum/supply_pack/misc/ce_rig
name = "advanced voidsuit (empty)" name = "advanced hardsuit (empty)"
contains = list( contains = list(
/obj/item/weapon/rig/ce = 1 /obj/item/weapon/rig/ce = 1
) )
cost = 150 cost = 150
containertype = /obj/structure/closet/crate/secure/gear containertype = /obj/structure/closet/crate/secure/gear
containername = "advanced voidsuit crate" containername = "advanced hardsuit crate"
access = access_ce access = access_ce
/datum/supply_pack/misc/com_medical_rig
name = "commonwealth medical hardsuit (loaded)"
contains = list(
/obj/item/weapon/rig/baymed = 1
)
cost = 250
containertype = /obj/structure/closet/crate/secure/gear
containername = "Commonwealth medical hardsuit crate"
access = access_medical
/datum/supply_pack/misc/com_engineering_rig
name = "commonwealth engineering hardsuit (loaded)"
contains = list(
/obj/item/weapon/rig/bayeng = 1
)
cost = 250
containertype = /obj/structure/closet/crate/secure/gear
containername = "Commonwealth medical hardsuit crate"
access = access_medical
/datum/supply_pack/misc/zero_rig
name = "null hardsuit (jets)"
contains = list(
/obj/item/weapon/rig/zero = 1
)
cost = 75
containertype = /obj/structure/closet/crate/secure/gear
containername = "null hardsuit crate"
/datum/supply_pack/misc/jetpack /datum/supply_pack/misc/jetpack
name = "jetpack (empty)" name = "jetpack (empty)"
contains = list( contains = list(

View File

@@ -39,3 +39,104 @@
containertype = /obj/structure/closet/crate/secure containertype = /obj/structure/closet/crate/secure
containername = "Pilot voidsuit crate" containername = "Pilot voidsuit crate"
access = access_pilot access = access_pilot
// Surplus!
/datum/supply_pack/voidsuits/com_mining
name = "Commonwealth mining voidsuit"
contains = list(
/obj/item/clothing/suit/space/void/mining/alt2,
/obj/item/clothing/head/helmet/space/void/mining/alt2
)
cost = 150
containertype = /obj/structure/closet/crate/secure
name = "Commonwealth mining voidsuit crate"
access = access_mining
/datum/supply_pack/voidsuits/com_anomaly
name = "Commonwealth anomaly suit"
contains = list(
/obj/item/clothing/suit/space/anomaly/alt,
/obj/item/clothing/head/helmet/space/anomaly/alt
)
cost = 150
containertype = /obj/structure/closet/crate/secure
name = "Commonwealth anomaly suit crate"
access = access_xenoarch
/datum/supply_pack/voidsuits/com_riot
name = "Commonwealth riot voidsuit"
contains = list(
/obj/item/clothing/suit/space/void/security/riot/alt,
/obj/item/clothing/head/helmet/space/void/security/riot/alt
)
cost = 150
containertype = /obj/structure/closet/crate/secure
name = "Commonwealth riot voidsuit crate"
access = access_brig
/datum/supply_pack/voidsuits/com_pilot
name = "Commonwealth pilot voidsuit"
contains = list(
/obj/item/clothing/suit/space/void/pilot/alt2,
/obj/item/clothing/head/helmet/space/void/pilot/alt2
)
cost = 150
containertype = /obj/structure/closet/crate/secure
name = "Commonwealth pilot voidsuit crate"
access = access_pilot
/datum/supply_pack/voidsuits/com_medical
name = "Commonwealth medical voidsuit"
contains = list(
/obj/item/clothing/suit/space/void/medical/alt2,
/obj/item/clothing/head/helmet/space/void/medical/alt2
)
cost = 150
containertype = /obj/structure/closet/crate/secure
name = "Commonwealth medical voidsuit crate"
/datum/supply_pack/voidsuits/com_explore
name = "Commonwealth exploration voidsuit"
contains = list(
/obj/item/clothing/suit/space/void/exploration/alt2,
/obj/item/clothing/head/helmet/space/void/exploration/alt2
)
cost = 150
containertype = /obj/structure/closet/crate/secure
name = "Commonwealth exploration voidsuit crate"
access = access_explorer
/datum/supply_pack/voidsuits/com_engineer
name = "Commonwealth engineering voidsuit"
contains = list(
/obj/item/clothing/suit/space/void/engineering/alt2,
/obj/item/clothing/head/helmet/space/void/engineering/alt2
)
cost = 150
containertype = /obj/structure/closet/crate/secure
name = "Commonwealth engineering voidsuit crate"
access = access_engine
/datum/supply_pack/voidsuits/com_atmos
name = "Commonwealth atmos voidsuit"
contains = list(
/obj/item/clothing/suit/space/void/atmos/alt2,
/obj/item/clothing/head/helmet/space/void/atmos/alt2
)
cost = 150
containertype = /obj/structure/closet/crate/secure
name = "Commonwealth atmos voidsuit crate"
access = access_atmospherics
/datum/supply_pack/voidsuits/com_captain
name = "Commonwealth captain voidsuit"
contains = list(
/obj/item/clothing/suit/space/void/captain/alt,
/obj/item/clothing/head/helmet/space/void/captain/alt
)
cost = 150
containertype = /obj/structure/closet/crate/secure
name = "Commonwealth captain voidsuit crate"
access = access_captain

View File

@@ -232,7 +232,7 @@
user.setClickCooldown(user.get_attack_speed(W)) user.setClickCooldown(user.get_attack_speed(W))
if (W.force >= src.toughness) if (W.force >= src.toughness)
user.do_attack_animation(src) user.do_attack_animation(src)
visible_message("<span class='warning'><b>[src] has been [W.attack_verb.len? pick(W.attack_verb) : "attacked"] with [W] by [user]!</b></span>") visible_message("<span class='warning'><b>[src] has been [LAZYLEN(W.attack_verb) ? pick(W.attack_verb) : "attacked"] with [W] by [user]!</b></span>")
if (istype(W, /obj/item)) //is it even possible to get into attackby() with non-items? if (istype(W, /obj/item)) //is it even possible to get into attackby() with non-items?
var/obj/item/I = W var/obj/item/I = W
if (I.hitsound) if (I.hitsound)

View File

@@ -0,0 +1,342 @@
GLOBAL_LIST_EMPTY(suit_cycler_departments)
GLOBAL_LIST_EMPTY(suit_cycler_species)
GLOBAL_LIST_EMPTY(suit_cycler_emagged)
/datum/suit_cycler_choice
var/name = null
/datum/suit_cycler_choice/department
/// Name of the choice in the suit cycler menu
name = null
/// Type path of the suit to produce
var/suit_becomes
/// Type path of the helmet to produce
var/helmet_becomes
/datum/suit_cycler_choice/department/proc/can_refit_helmet(obj/item/clothing/head/helmet/helmet)
return !!helmet_becomes
/datum/suit_cycler_choice/department/proc/do_refit_helmet(obj/item/clothing/head/helmet/helmet)
var/obj/item/clothing/tmp = new helmet_becomes()
helmet.name = "refitted [tmp.name]"
helmet.desc = tmp.desc
helmet.icon_state = tmp.icon_state
helmet.item_state = tmp.item_state
helmet.item_state_slots = tmp.item_state_slots?.Copy()
helmet.sprite_sheets = tmp.sprite_sheets?.Copy()
helmet.sprite_sheets_obj = tmp.sprite_sheets_obj?.Copy()
helmet.default_worn_icon = tmp.default_worn_icon
/datum/suit_cycler_choice/department/proc/can_refit_suit(obj/item/clothing/suit/space/suit)
return !!suit_becomes
/datum/suit_cycler_choice/department/proc/do_refit_suit(obj/item/clothing/suit/space/suit)
var/obj/item/clothing/tmp = new suit_becomes()
suit.name = "refitted [tmp.name]"
suit.desc = tmp.desc
suit.icon_state = tmp.icon_state
suit.item_state = tmp.item_state
suit.item_state_slots = tmp.item_state_slots?.Copy()
suit.sprite_sheets = tmp.sprite_sheets?.Copy()
suit.sprite_sheets_obj = tmp.sprite_sheets_obj?.Copy()
suit.default_worn_icon = tmp.default_worn_icon
// Ye olde 'noop' choice for refits
/datum/suit_cycler_choice/department/noop
name = "No Change"
/datum/suit_cycler_choice/department/noop/can_refit_helmet(obj/item/clothing/head/helmet/helmet)
return TRUE
/datum/suit_cycler_choice/department/noop/do_refit_helmet(obj/item/clothing/head/helmet/helmet)
return
/datum/suit_cycler_choice/department/noop/can_refit_suit(obj/item/clothing/suit/space/suit)
return TRUE
/datum/suit_cycler_choice/department/noop/do_refit_suit(obj/item/clothing/suit/space/suit)
return
/datum/suit_cycler_choice/department/eng/standard
name = "Engineering"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/engineering
suit_becomes = /obj/item/clothing/suit/space/void/engineering
/datum/suit_cycler_choice/department/eng/reinforced
name = "Reinforced Engineering"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/engineering/alt
suit_becomes = /obj/item/clothing/suit/space/void/engineering/alt
/datum/suit_cycler_choice/department/eng/commonwealth_standard
name = "Commonwealth Engineering"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/engineering/alt2
suit_becomes = /obj/item/clothing/suit/space/void/engineering/alt2
/datum/suit_cycler_choice/department/eng/atmospherics
name = "Atmospherics"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/atmos
suit_becomes = /obj/item/clothing/suit/space/void/atmos
/datum/suit_cycler_choice/department/eng/heavyduty
name = "Heavy Duty Atmos"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/atmos/alt
suit_becomes = /obj/item/clothing/suit/space/void/atmos/alt
/datum/suit_cycler_choice/department/eng/commonwealth_atmos
name = "Commonwealth Atmos"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/atmos/alt2
suit_becomes = /obj/item/clothing/suit/space/void/atmos/alt2
/datum/suit_cycler_choice/department/eng/hazmat
name = "HAZMAT"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/engineering/hazmat
suit_becomes = /obj/item/clothing/suit/space/void/engineering/hazmat
/datum/suit_cycler_choice/department/eng/construction
name = "Construction"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/engineering/construction
suit_becomes = /obj/item/clothing/suit/space/void/engineering/construction
/datum/suit_cycler_choice/department/eng/salvager
name = "Salvager"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/engineering/salvage
suit_becomes = /obj/item/clothing/suit/space/void/engineering/salvage
/datum/suit_cycler_choice/department/crg/mining
name = "Mining"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/mining
suit_becomes = /obj/item/clothing/suit/space/void/mining
/datum/suit_cycler_choice/department/crg/frontiermining
name = "Frontier Mining"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/mining/alt
suit_becomes = /obj/item/clothing/suit/space/void/mining/alt
/datum/suit_cycler_choice/department/crg/commonwealth
name = "Commonwealth Mining"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/mining/alt2
suit_becomes = /obj/item/clothing/suit/space/void/mining/alt2
/datum/suit_cycler_choice/department/med/standard
name = "Medical"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/medical
suit_becomes = /obj/item/clothing/suit/space/void/medical
/datum/suit_cycler_choice/department/med/streamlined
name = "Vey-Medical Streamlined"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/medical/alt
suit_becomes = /obj/item/clothing/suit/space/void/medical/alt
/datum/suit_cycler_choice/department/med/commonwealth
name = "Commonwealth Medical"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/medical/alt2
suit_becomes = /obj/item/clothing/suit/space/void/medical/alt2
/datum/suit_cycler_choice/department/med/biohazard
name = "Biohazard"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/medical/bio
suit_becomes = /obj/item/clothing/suit/space/void/medical/bio
/datum/suit_cycler_choice/department/med/emt
name = "Emergency Medical Response"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/medical/emt
suit_becomes = /obj/item/clothing/suit/space/void/medical/emt
/datum/suit_cycler_choice/department/sec/standard
name = "Security"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/security
suit_becomes = /obj/item/clothing/suit/space/void/security
/datum/suit_cycler_choice/department/sec/riot
name = "Crowd Control"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/security/riot
suit_becomes = /obj/item/clothing/suit/space/void/security/riot
/datum/suit_cycler_choice/department/sec/commonwealth
name = "Commonwealth Crowd Control"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/security/riot/alt
suit_becomes = /obj/item/clothing/suit/space/void/security/riot/alt
/datum/suit_cycler_choice/department/sec/eva
name = "Security EVA"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/security/alt
suit_becomes = /obj/item/clothing/suit/space/void/security/alt
/datum/suit_cycler_choice/department/exp/standard
name = "Exploration"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/exploration
suit_becomes = /obj/item/clothing/suit/space/void/exploration
/datum/suit_cycler_choice/department/exp/medic
name = "Field Medic"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/expedition_medical
suit_becomes = /obj/item/clothing/suit/space/void/expedition_medical
/datum/suit_cycler_choice/department/exp/old
name = "Old Exploration"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/exploration/alt
suit_becomes = /obj/item/clothing/suit/space/void/exploration/alt
/datum/suit_cycler_choice/department/exp/commonwealth
name = "Commonwealth Exploration"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/exploration/alt2
suit_becomes = /obj/item/clothing/suit/space/void/exploration/alt2
/datum/suit_cycler_choice/department/pil/pilot
name = "Pilot"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/pilot
suit_becomes = /obj/item/clothing/suit/space/void/pilot
/datum/suit_cycler_choice/department/pil/pilot_blue
name = "Pilot Blue"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/pilot/alt
suit_becomes = /obj/item/clothing/suit/space/void/pilot/alt
/datum/suit_cycler_choice/department/pil/commonwealth
name = "Commonwealth Pilot"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/pilot/alt2
suit_becomes = /obj/item/clothing/suit/space/void/pilot/alt2
/datum/suit_cycler_choice/department/captain
name = "Manager"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/captain
suit_becomes = /obj/item/clothing/suit/space/void/captain
/datum/suit_cycler_choice/department/captain/commonwealth
name = "Commonwealth Captain"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/captain/alt
suit_becomes = /obj/item/clothing/suit/space/void/captain/alt
/datum/suit_cycler_choice/department/prototype
name = "Prototype"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/security/prototype
suit_becomes = /obj/item/clothing/suit/space/void/security/prototype
/datum/suit_cycler_choice/department/emag/merc
name = "^%###^%$" || "Mercenary"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/merc
suit_becomes = /obj/item/clothing/suit/space/void/merc
/datum/suit_cycler_choice/department/emag/pyro
name = "Charring"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/merc/fire
suit_becomes = /obj/item/clothing/suit/space/void/merc/fire
/datum/suit_cycler_choice/department/wizard
name = "Gem-Encrusted" || "Wizard"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/wizard
suit_becomes = /obj/item/clothing/suit/space/void/wizard
/datum/suit_cycler_choice/department/vintage/crew
name = "Vintage Crew"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb
suit_becomes = /obj/item/clothing/suit/space/void/refurb
/datum/suit_cycler_choice/department/vintage/eng
name = "Vintage Engineering"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/engineering
suit_becomes = /obj/item/clothing/suit/space/void/refurb/engineering
/datum/suit_cycler_choice/department/vintage/marine
name = "Vintage Marine"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/marine
suit_becomes = /obj/item/clothing/suit/space/void/refurb/marine
/datum/suit_cycler_choice/department/vintage/officer
name = "Vintage Officer"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/officer
suit_becomes = /obj/item/clothing/suit/space/void/refurb/officer
/datum/suit_cycler_choice/department/vintage/research
name = "Vintage Research (Bubble Helm)"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/research/alt
suit_becomes = /obj/item/clothing/suit/space/void/refurb/research
/datum/suit_cycler_choice/department/vintage/research/ch
name = "Vintage Research (Closed Helm)"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/research
suit_becomes = /obj/item/clothing/suit/space/void/refurb/research
/datum/suit_cycler_choice/department/vintage/med
name = "Vintage Medical (Bubble Helm)"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/medical/alt
suit_becomes = /obj/item/clothing/suit/space/void/refurb/medical
/datum/suit_cycler_choice/department/vintage/med/ch
name = "Vintage Medical (Closed Helm)"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/medical
suit_becomes = /obj/item/clothing/suit/space/void/refurb/medical
/datum/suit_cycler_choice/department/vintage/merc
name = "Vintage Mercenary"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/mercenary
suit_becomes = /obj/item/clothing/suit/space/void/refurb/mercenary
/datum/suit_cycler_choice/department/vintage/pilot
name = "Vintage Pilot (Bubble Helm)"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/pilot
suit_becomes = /obj/item/clothing/suit/space/void/refurb/pilot
/datum/suit_cycler_choice/department/vintage/pilot/ch
name = "Vintage Pilot (Closed Helm)"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/pilot/alt
suit_becomes = /obj/item/clothing/suit/space/void/refurb/pilot
/datum/suit_cycler_choice/department/talon/crew
name = "Talon Crew"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/talon
suit_becomes = /obj/item/clothing/suit/space/void/refurb/talon
/datum/suit_cycler_choice/department/talon/eng
name = "Talon Engineering"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/engineering/talon
suit_becomes = /obj/item/clothing/suit/space/void/refurb/engineering/talon
/datum/suit_cycler_choice/department/talon/med
name = "Talon Medical (Bubble Helm)"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/medical/alt/talon
suit_becomes = /obj/item/clothing/suit/space/void/refurb/medical/talon
/datum/suit_cycler_choice/department/talon/med/ch
name = "Talon Medical (Closed Helm)"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/medical/talon
suit_becomes = /obj/item/clothing/suit/space/void/refurb/medical/talon
/datum/suit_cycler_choice/department/talon/officer
name = "Talon Officer"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/officer/talon
suit_becomes = /obj/item/clothing/suit/space/void/refurb/officer/talon
/datum/suit_cycler_choice/department/talon/pilot
name = "Talon Pilot (Bubble Helm)"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/pilot/talon
suit_becomes = /obj/item/clothing/suit/space/void/refurb/pilot/talon
/datum/suit_cycler_choice/department/talon/pilot/ch
name = "Talon Pilot (Closed Helm)"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/pilot/alt/talon
suit_becomes = /obj/item/clothing/suit/space/void/refurb/pilot/talon
/datum/suit_cycler_choice/department/talon/res
name = "Talon Research (Bubble Helm)"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/research/alt/talon
suit_becomes = /obj/item/clothing/suit/space/void/refurb/research/talon
/datum/suit_cycler_choice/department/talon/res/ch
name = "Talon Research (Closed Helm)"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/research/talon
suit_becomes = /obj/item/clothing/suit/space/void/refurb/research/talon
/datum/suit_cycler_choice/department/talon/marine
name = "Talon Marine"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/marine/talon
suit_becomes = /obj/item/clothing/suit/space/void/refurb/marine/talon
/datum/suit_cycler_choice/department/talon/marine/alt
name = "Talon Mercenary"
helmet_becomes = /obj/item/clothing/head/helmet/space/void/refurb/mercenary/talon
suit_becomes = /obj/item/clothing/suit/space/void/refurb/mercenary/talon
// Uses same logic as it used to, which is that it bases an assumption of 'we should have custom sprites' on
// the presence of the species in the sprite_sheets_obj list on the helmet and suit
/datum/suit_cycler_choice/species/proc/can_refit_to(obj/item/clothing/head/helmet/helmet, obj/item/clothing/suit/space/suit)
for(var/obj/item/clothing/C in list(helmet, suit))
if(LAZYACCESS(C.sprite_sheets_obj, name))
if(!(C.icon_state in cached_icon_states(C.sprite_sheets_obj[name])))
return FALSE // Species was in sprite_sheets_obj, but had no sprite for this object in particular
return TRUE
/datum/suit_cycler_choice/species/proc/do_refit_to(obj/item/clothing/head/helmet/helmet, obj/item/clothing/suit/space/suit)
for(var/obj/item/clothing/C in list(helmet, suit))
C.refit_for_species(name)
/datum/suit_cycler_choice/species/noop
name = "No Change"
/datum/suit_cycler_choice/species/noop/can_refit_to(obj/item/clothing/head/helmet/helmet, obj/item/clothing/suit/space/suit)
return TRUE
/datum/suit_cycler_choice/species/noop/do_refit_to(obj/item/clothing/head/helmet/helmet, obj/item/clothing/suit/space/suit)
return
/datum/suit_cycler_choice/species/human
name = SPECIES_HUMAN
/datum/suit_cycler_choice/species/skrell
name = SPECIES_SKRELL
/datum/suit_cycler_choice/species/unathi
name = SPECIES_UNATHI
/datum/suit_cycler_choice/species/tajaran
name = SPECIES_TAJ
/datum/suit_cycler_choice/species/teshari
name = SPECIES_TESHARI
/datum/suit_cycler_choice/species/akula
name = SPECIES_AKULA
/datum/suit_cycler_choice/species/sergal
name = SPECIES_SERGAL
/datum/suit_cycler_choice/species/vulpkanin
name = SPECIES_VULPKANIN

View File

@@ -11,11 +11,11 @@
density = 1 density = 1
var/mob/living/carbon/human/OCCUPANT = null var/mob/living/carbon/human/OCCUPANT = null
var/obj/item/clothing/suit/space/SUIT = null var/obj/item/clothing/suit/space/SUIT = null
var/SUIT_TYPE = null var/suit_type = null
var/obj/item/clothing/head/helmet/space/HELMET = null var/obj/item/clothing/head/helmet/space/HELMET = null
var/HELMET_TYPE = null var/helmet_type = null
var/obj/item/clothing/mask/MASK = null //All the stuff that's gonna be stored insiiiiiiiiiiiiiiiiiiide, nyoro~n var/obj/item/clothing/mask/MASK = null //All the stuff that's gonna be stored insiiiiiiiiiiiiiiiiiiide, nyoro~n
var/MASK_TYPE = null //Erro's idea on standarising SSUs whle keeping creation of other SSU types easy: Make a child SSU, name it something then set the TYPE vars to your desired suit output. New() should take it from there by itself. var/mask_type = null //Erro's idea on standarising SSUs whle keeping creation of other SSU types easy: Make a child SSU, name it something then set the TYPE vars to your desired suit output. New() should take it from there by itself.
var/isopen = 0 var/isopen = 0
var/islocked = 0 var/islocked = 0
var/isUV = 0 var/isUV = 0
@@ -29,18 +29,19 @@
//The units themselves///////////////// //The units themselves/////////////////
/obj/machinery/suit_storage_unit/standard_unit /obj/machinery/suit_storage_unit/standard_unit
SUIT_TYPE = /obj/item/clothing/suit/space suit_type = /obj/item/clothing/suit/space
HELMET_TYPE = /obj/item/clothing/head/helmet/space helmet_type = /obj/item/clothing/head/helmet/space
MASK_TYPE = /obj/item/clothing/mask/breath mask_type = /obj/item/clothing/mask/breath
/obj/machinery/suit_storage_unit/New() /obj/machinery/suit_storage_unit/Initialize()
. = ..()
if(suit_type)
SUIT = new suit_type(src)
if(helmet_type)
HELMET = new helmet_type(src)
if(mask_type)
MASK = new mask_type(src)
update_icon() update_icon()
if(SUIT_TYPE)
SUIT = new SUIT_TYPE(src)
if(HELMET_TYPE)
HELMET = new HELMET_TYPE(src)
if(MASK_TYPE)
MASK = new MASK_TYPE(src)
/obj/machinery/suit_storage_unit/update_icon() /obj/machinery/suit_storage_unit/update_icon()
var/hashelmet = 0 var/hashelmet = 0
@@ -168,21 +169,9 @@
/obj/machinery/suit_storage_unit/proc/toggleUV(mob/user as mob) /obj/machinery/suit_storage_unit/proc/toggleUV(mob/user as mob)
// var/protected = 0
// var/mob/living/carbon/human/H = user
if(!panelopen) if(!panelopen)
return return
/*if(istype(H)) //Let's check if the guy's wearing electrically insulated gloves
if(H.gloves)
var/obj/item/clothing/gloves/G = H.gloves
if(istype(G,/obj/item/clothing/gloves/yellow))
protected = 1
if(!protected)
playsound(src, "sparks", 75, 1, -1)
to_chat(user, "<font color='red'>You try to touch the controls but you get zapped. There must be a short circuit somewhere.</font>")
return*/
else //welp, the guy is protected, we can continue else //welp, the guy is protected, we can continue
if(issuperUV) if(issuperUV)
to_chat(user, "You slide the dial back towards \"185nm\".") to_chat(user, "You slide the dial back towards \"185nm\".")
@@ -194,21 +183,9 @@
/obj/machinery/suit_storage_unit/proc/togglesafeties(mob/user as mob) /obj/machinery/suit_storage_unit/proc/togglesafeties(mob/user as mob)
// var/protected = 0
// var/mob/living/carbon/human/H = user
if(!panelopen) //Needed check due to bugs if(!panelopen) //Needed check due to bugs
return return
/*if(istype(H)) //Let's check if the guy's wearing electrically insulated gloves
if(H.gloves)
var/obj/item/clothing/gloves/G = H.gloves
if(istype(G,/obj/item/clothing/gloves/yellow))
protected = 1
if(!protected)
playsound(src, "sparks", 75, 1, -1)
to_chat(user, "<font color='red'>You try to touch the controls but you get zapped. There must be a short circuit somewhere.</font>")
return*/
else else
to_chat(user, "You push the button. The coloured LED next to it changes.") to_chat(user, "You push the button. The coloured LED next to it changes.")
safetieson = !safetieson safetieson = !safetieson
@@ -335,30 +312,6 @@
updateUsrDialog() updateUsrDialog()
return return
/* spawn(200) //Let's clean dat shit after 20 secs //Eh, this doesn't work
if(HELMET)
HELMET.clean_blood()
if(SUIT)
SUIT.clean_blood()
if(MASK)
MASK.clean_blood()
isUV = 0 //Cycle ends
update_icon()
updateUsrDialog()
var/i
for(i=0,i<4,i++) //Gradually give the guy inside some damaged based on the intensity
spawn(50)
if(OCCUPANT)
if(issuperUV)
OCCUPANT.take_organ_damage(0,40)
to_chat(user, "Test. You gave him 40 damage")
else
OCCUPANT.take_organ_damage(0,8)
to_chat(user, "Test. You gave him 8 damage")
return*/
/obj/machinery/suit_storage_unit/proc/cycletimeleft() /obj/machinery/suit_storage_unit/proc/cycletimeleft()
if(cycletime_left >= 1) if(cycletime_left >= 1)
cycletime_left-- cycletime_left--
@@ -371,8 +324,6 @@
if(!OCCUPANT) if(!OCCUPANT)
return return
// for(var/obj/O in src)
// O.loc = src.loc
if(OCCUPANT.client) if(OCCUPANT.client)
if(user != OCCUPANT) if(user != OCCUPANT)
@@ -426,14 +377,10 @@
usr.client.perspective = EYE_PERSPECTIVE usr.client.perspective = EYE_PERSPECTIVE
usr.client.eye = src usr.client.eye = src
usr.loc = src usr.loc = src
// usr.metabslow = 1
OCCUPANT = usr OCCUPANT = usr
isopen = 0 //Close the thing after the guy gets inside isopen = 0 //Close the thing after the guy gets inside
update_icon() update_icon()
// for(var/obj/O in src)
// qdel(O)
add_fingerprint(usr) add_fingerprint(usr)
updateUsrDialog() updateUsrDialog()
return return
@@ -475,8 +422,6 @@
OCCUPANT = M OCCUPANT = M
isopen = 0 //close ittt isopen = 0 //close ittt
//for(var/obj/O in src)
// O.loc = src.loc
add_fingerprint(user) add_fingerprint(user)
qdel(G) qdel(G)
updateUsrDialog() updateUsrDialog()
@@ -535,9 +480,10 @@
//////////////////////////////REMINDER: Make it lock once you place some fucker inside. //////////////////////////////REMINDER: Make it lock once you place some fucker inside.
//God this entire file is fucking awful //God this entire file is fucking awful //Yes
//Suit painter for Bay's special snowflake aliums. //Suit painter for Bay's special snowflake aliums.
GLOBAL_LIST_EMPTY(suit_cycler_typecache)
/obj/machinery/suit_cycler /obj/machinery/suit_cycler
name = "suit cycler" name = "suit cycler"
@@ -559,6 +505,7 @@
var/can_repair // If set, the cycler can repair voidsuits. var/can_repair // If set, the cycler can repair voidsuits.
var/electrified = 0 var/electrified = 0
<<<<<<< HEAD
//Departments that the cycler can paint suits to look like. //Departments that the cycler can paint suits to look like.
var/list/departments = list("Engineering","Mining","Medical","Security","Atmospherics","HAZMAT","Construction","Biohazard","Emergency Medical Response","Crowd Control","Security EVA") var/list/departments = list("Engineering","Mining","Medical","Security","Atmospherics","HAZMAT","Construction","Biohazard","Emergency Medical Response","Crowd Control","Security EVA")
//Species that the suits can be configured to fit. //Species that the suits can be configured to fit.
@@ -566,6 +513,41 @@
var/target_department var/target_department
var/target_species var/target_species
||||||| parent of 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport
//Departments that the cycler can paint suits to look like.
var/list/departments = list("Engineering","Mining","Medical","Security","Atmospherics","HAZMAT","Construction","Biohazard","Emergency Medical Response","Crowd Control","Security EVA")
//Species that the suits can be configured to fit.
var/list/species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_UNATHI,SPECIES_TAJ, SPECIES_TESHARI)
var/target_department
var/target_species
=======
/// Departments that the cycler can paint suits to look like. Null assumes all except specially excluded ones.
/// No idea why these particular suits are the default cycler's options.
var/list/limit_departments = list(
/datum/suit_cycler_choice/department/eng/standard,
/datum/suit_cycler_choice/department/crg/mining,
/datum/suit_cycler_choice/department/med/standard,
/datum/suit_cycler_choice/department/sec/standard,
/datum/suit_cycler_choice/department/eng/atmospherics,
/datum/suit_cycler_choice/department/eng/hazmat,
/datum/suit_cycler_choice/department/eng/construction,
/datum/suit_cycler_choice/department/med/biohazard,
/datum/suit_cycler_choice/department/med/emt,
/datum/suit_cycler_choice/department/sec/riot,
/datum/suit_cycler_choice/department/sec/eva
)
/// Species that the cycler can refit suits for. Null assumes all except specially excluded ones.
var/list/limit_species
var/list/departments
var/list/species
var/list/emagged_departments
var/datum/suit_cycler_choice/department/target_department
var/datum/suit_cycler_choice/species/target_species
>>>>>>> 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport
var/mob/living/carbon/human/occupant = null var/mob/living/carbon/human/occupant = null
var/obj/item/clothing/suit/space/void/suit = null var/obj/item/clothing/suit/space/void/suit = null
@@ -573,96 +555,187 @@
var/datum/wires/suit_storage_unit/wires = null var/datum/wires/suit_storage_unit/wires = null
/obj/machinery/suit_cycler/New() /obj/machinery/suit_cycler/Initialize()
..() . = ..()
departments = load_departments()
species = load_species()
emagged_departments = load_emagged()
limit_departments = null // just for mem
target_department = departments["No Change"]
target_species = species["No Change"]
if(!target_department || !target_species)
stat |= BROKEN
wires = new(src) wires = new(src)
target_department = departments[1]
target_species = species[1]
if(!target_department || !target_species) qdel(src)
/obj/machinery/suit_cycler/Destroy() /obj/machinery/suit_cycler/Destroy()
qdel(wires) qdel(wires)
wires = null wires = null
return ..() return ..()
/obj/machinery/suit_cycler/proc/load_departments()
var/list/typecache = GLOB.suit_cycler_typecache[type]
// First of our type
if(!typecache)
typecache = list()
GLOB.suit_cycler_typecache[type] = typecache
var/list/loaded = typecache["departments"]
// No departments loaded
if(!loaded)
loaded = list()
typecache["departments"] = loaded
for(var/datum/suit_cycler_choice/department/thing as anything in GLOB.suit_cycler_departments)
if(istype(thing, /datum/suit_cycler_choice/department/noop))
loaded[thing.name] = thing
continue
if(limit_departments && !is_type_in_list(thing, limit_departments))
continue
loaded[thing.name] = thing
return loaded
/obj/machinery/suit_cycler/proc/load_species()
var/list/typecache = GLOB.suit_cycler_typecache[type]
// First of our type
if(!typecache)
typecache = list()
GLOB.suit_cycler_typecache[type] = typecache
var/list/loaded = typecache["species"]
// No species loaded
if(!loaded)
loaded = list()
typecache["species"] = loaded
for(var/datum/suit_cycler_choice/species/thing as anything in GLOB.suit_cycler_species)
if(istype(thing, /datum/suit_cycler_choice/species/noop))
loaded[thing.name] = thing
continue
if(limit_species && !is_type_in_list(thing, limit_species))
continue
loaded[thing.name] = thing
return loaded
/obj/machinery/suit_cycler/proc/load_emagged()
var/list/typecache = GLOB.suit_cycler_typecache[type]
// First of our type
if(!typecache)
typecache = list()
GLOB.suit_cycler_typecache[type] = typecache
var/list/loaded = typecache["emagged"]
// No emagged loaded
if(!loaded)
loaded = list()
typecache["emagged"] = loaded
for(var/datum/suit_cycler_choice/department/thing as anything in GLOB.suit_cycler_emagged)
loaded[thing.name] = thing
return loaded
/obj/machinery/suit_cycler/refit_only /obj/machinery/suit_cycler/refit_only
name = "Suit cycler" name = "Suit cycler"
desc = "A dedicated industrial machine that can refit voidsuits for different species, but not change the suit's overall appearance or departmental scheme." desc = "A dedicated industrial machine that can refit voidsuits for different species, but not change the suit's overall appearance or departmental scheme."
model_text = "General Access" model_text = "General Access"
req_access = null req_access = null
departments = list("No Change") limit_departments = list()
/obj/machinery/suit_cycler/engineering /obj/machinery/suit_cycler/engineering
name = "Engineering suit cycler" name = "Engineering suit cycler"
model_text = "Engineering" model_text = "Engineering"
req_access = list(access_construction) req_access = list(access_construction)
departments = list("Engineering","Atmospherics","HAZMAT","Construction","No Change") limit_departments = list(
/datum/suit_cycler_choice/department/eng
)
/obj/machinery/suit_cycler/mining /obj/machinery/suit_cycler/mining
name = "Mining suit cycler" name = "Mining suit cycler"
model_text = "Mining" model_text = "Mining"
req_access = list(access_mining) req_access = list(access_mining)
departments = list("Mining","No Change") limit_departments = list(
/datum/suit_cycler_choice/department/crg
)
/obj/machinery/suit_cycler/security /obj/machinery/suit_cycler/security
name = "Security suit cycler" name = "Security suit cycler"
model_text = "Security" model_text = "Security"
req_access = list(access_security) req_access = list(access_security)
departments = list("Security","Crowd Control","Security EVA","No Change") limit_departments = list(
/datum/suit_cycler_choice/department/sec
)
/obj/machinery/suit_cycler/medical /obj/machinery/suit_cycler/medical
name = "Medical suit cycler" name = "Medical suit cycler"
model_text = "Medical" model_text = "Medical"
req_access = list(access_medical) req_access = list(access_medical)
departments = list("Medical","Biohazard","Emergency Medical Response","No Change") limit_departments = list(
/datum/suit_cycler_choice/department/med
)
/obj/machinery/suit_cycler/syndicate /obj/machinery/suit_cycler/syndicate
name = "Nonstandard suit cycler" name = "Nonstandard suit cycler"
model_text = "Nonstandard" model_text = "Nonstandard"
req_access = list(access_syndicate) req_access = list(access_syndicate)
departments = list("Mercenary", "Charring","No Change") limit_departments = list(
/datum/suit_cycler_choice/department/emag
)
can_repair = 1 can_repair = 1
/obj/machinery/suit_cycler/exploration /obj/machinery/suit_cycler/exploration
name = "Explorer suit cycler" name = "Explorer suit cycler"
model_text = "Exploration" model_text = "Exploration"
departments = list("Exploration","Expedition Medic","Old Exploration","No Change") limit_departments = list(
/datum/suit_cycler_choice/department/exp
)
/obj/machinery/suit_cycler/pilot /obj/machinery/suit_cycler/pilot
name = "Pilot suit cycler" name = "Pilot suit cycler"
model_text = "Pilot" model_text = "Pilot"
departments = list("Pilot Blue","Pilot","No Change") limit_departments = list(
/datum/suit_cycler_choice/department/pil
)
/obj/machinery/suit_cycler/vintage /obj/machinery/suit_cycler/vintage
name = "Vintage Crew suit cycler" name = "Vintage Crew suit cycler"
model_text = "Vintage" model_text = "Vintage"
departments = list("Vintage Crew","No Change") limit_departments = list(
/datum/suit_cycler_choice/department/vintage/crew
)
req_access = null req_access = null
/obj/machinery/suit_cycler/vintage/pilot /obj/machinery/suit_cycler/vintage/pilot
name = "Vintage Pilot suit cycler" name = "Vintage Pilot suit cycler"
model_text = "Vintage Pilot" model_text = "Vintage Pilot"
departments = list("Vintage Pilot (Bubble Helm)","Vintage Pilot (Closed Helm)","No Change") limit_departments = list(
/datum/suit_cycler_choice/department/vintage/pilot
)
/obj/machinery/suit_cycler/vintage/medsci /obj/machinery/suit_cycler/vintage/medsci
name = "Vintage MedSci suit cycler" name = "Vintage MedSci suit cycler"
model_text = "Vintage MedSci" model_text = "Vintage MedSci"
departments = list("Vintage Medical (Bubble Helm)","Vintage Medical (Closed Helm)","Vintage Research (Bubble Helm)","Vintage Research (Closed Helm)","No Change") limit_departments = list(
/datum/suit_cycler_choice/department/vintage/research,
/datum/suit_cycler_choice/department/vintage/med
)
/obj/machinery/suit_cycler/vintage/rugged /obj/machinery/suit_cycler/vintage/rugged
name = "Vintage Ruggedized suit cycler" name = "Vintage Ruggedized suit cycler"
model_text = "Vintage Ruggedized" model_text = "Vintage Ruggedized"
departments = list("Vintage Engineering","Vintage Marine","Vintage Officer","Vintage Mercenary","No Change")
limit_departments = list(
/datum/suit_cycler_choice/department/vintage/eng,
/datum/suit_cycler_choice/department/vintage/marine,
/datum/suit_cycler_choice/department/vintage/officer,
/datum/suit_cycler_choice/department/vintage/merc
)
/obj/machinery/suit_cycler/vintage/omni /obj/machinery/suit_cycler/vintage/omni
name = "Vintage Master suit cycler" name = "Vintage Master suit cycler"
model_text = "Vintage Master" model_text = "Vintage Master"
departments = list("Vintage Crew","Vintage Engineering","Vintage Pilot (Bubble Helm)","Vintage Pilot (Closed Helm)","Vintage Medical (Bubble Helm)","Vintage Medical (Closed Helm)","Vintage Research (Bubble Helm)","Vintage Research (Closed Helm)","Vintage Marine","Vintage Officer","Vintage Mercenary","No Change") limit_departments = list(
/datum/suit_cycler_choice/department/vintage
/obj/machinery/suit_cycler/vintage/Initialize() )
species -= SPECIES_TESHARI
return ..()
/obj/machinery/suit_cycler/attack_ai(mob/user as mob) /obj/machinery/suit_cycler/attack_ai(mob/user as mob)
return attack_hand(user) return attack_hand(user)
@@ -807,8 +880,6 @@
//Clear the access reqs, disable the safeties, and open up all paintjobs. //Clear the access reqs, disable the safeties, and open up all paintjobs.
to_chat(user, "<span class='danger'>You run the sequencer across the interface, corrupting the operating protocols.</span>") to_chat(user, "<span class='danger'>You run the sequencer across the interface, corrupting the operating protocols.</span>")
departments = list("Engineering","Mining","Medical","Security","Atmospherics","HAZMAT","Construction","Biohazard","Crowd Control","Security EVA","Emergency Medical Response","^%###^%$", "Charring","No Change")
species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_VULPKANIN) //VORESTATION EDIT
emagged = 1 emagged = 1
safeties = 0 safeties = 0
@@ -842,8 +913,6 @@
/obj/machinery/suit_cycler/tgui_data(mob/user) /obj/machinery/suit_cycler/tgui_data(mob/user)
var/list/data = list() var/list/data = list()
data["departments"] = departments
data["species"] = species
data["model_text"] = model_text data["model_text"] = model_text
data["can_repair"] = can_repair data["can_repair"] = can_repair
data["userHasAccess"] = allowed(user) data["userHasAccess"] = allowed(user)
@@ -872,6 +941,28 @@
return data return data
/obj/machinery/suit_cycler/tgui_static_data(mob/user)
var/list/data = list()
// tgui gets angy if you pass values too
var/list/department_keys = list()
for(var/key in departments)
department_keys += key
// emagged at the bottom
if(emagged)
for(var/key in emagged_departments)
department_keys += key
var/list/species_keys = list()
for(var/key in species)
species_keys += key
data["departments"] = department_keys
data["species"] = species_keys
return data
/obj/machinery/suit_cycler/tgui_act(action, params) /obj/machinery/suit_cycler/tgui_act(action, params)
if(..()) if(..())
return TRUE return TRUE
@@ -890,13 +981,15 @@
if("department") if("department")
var/choice = params["department"] var/choice = params["department"]
if(choice in departments) if(choice in departments)
target_department = choice target_department = departments[choice]
else if(emagged && (choice in emagged_departments))
target_department = emagged_departments[choice]
. = TRUE . = TRUE
if("species") if("species")
var/choice = params["species"] var/choice = params["species"]
if(choice in species) if(choice in species)
target_species = choice target_species = species[choice]
. = TRUE . = TRUE
if("radlevel") if("radlevel")
@@ -1035,227 +1128,22 @@
return return
//There HAS to be a less bloated way to do this. TODO: some kind of table/icon name coding? ~Z // "Streamlined" before? Ok. -Aro
//hold onto your hat, this sumbitch just got streamlined -KK
/obj/machinery/suit_cycler/proc/apply_paintjob() /obj/machinery/suit_cycler/proc/apply_paintjob()
var/obj/item/clothing/head/helmet/parent_helmet
var/obj/item/clothing/suit/space/parent_suit
var/turf/T = get_turf(src)
if(!target_species || !target_department) if(!target_species || !target_department)
return return
//Now "Complete" with most departmental and variant suits, and sorted by department. These aren't available in the standard or emagged cycler lists because they're incomplete for most species. if(suit?.helmet)
switch(target_department) visible_message("[bicon(src)]<span class='warning'>Separate the suit and helmet before applying any customizations.</span>")
if("No Change")
parent_helmet = helmet
parent_suit = suit
//Engineering and Engineering Variants
if("Engineering")
parent_helmet = /obj/item/clothing/head/helmet/space/void/engineering
parent_suit = /obj/item/clothing/suit/space/void/engineering
if("HAZMAT")
parent_helmet = /obj/item/clothing/head/helmet/space/void/engineering/hazmat
parent_suit = /obj/item/clothing/suit/space/void/engineering/hazmat
if("Construction")
parent_helmet = /obj/item/clothing/head/helmet/space/void/engineering/construction
parent_suit = /obj/item/clothing/suit/space/void/engineering/construction
if("Reinforced")
parent_helmet = /obj/item/clothing/head/helmet/space/void/engineering/alt
parent_suit = /obj/item/clothing/suit/space/void/engineering/alt
if("Salvager")
parent_helmet = /obj/item/clothing/head/helmet/space/void/engineering/salvage
parent_suit = /obj/item/clothing/suit/space/void/engineering/salvage
if("Atmospherics")
parent_helmet = /obj/item/clothing/head/helmet/space/void/atmos
parent_suit = /obj/item/clothing/suit/space/void/atmos
if("Heavy Duty Atmospherics")
parent_helmet = /obj/item/clothing/head/helmet/space/void/atmos/alt
parent_suit = /obj/item/clothing/suit/space/void/atmos/alt
//Mining and Mining Variants
if("Mining")
parent_helmet = /obj/item/clothing/head/helmet/space/void/mining
parent_suit = /obj/item/clothing/suit/space/void/mining
if("Frontier Miner")
parent_helmet = /obj/item/clothing/head/helmet/space/void/mining/alt
parent_suit = /obj/item/clothing/suit/space/void/mining/alt
//Medical and Medical Variants
if("Medical")
parent_helmet = /obj/item/clothing/head/helmet/space/void/medical
parent_suit = /obj/item/clothing/suit/space/void/medical
if("Biohazard")
parent_helmet = /obj/item/clothing/head/helmet/space/void/medical/bio
parent_suit = /obj/item/clothing/suit/space/void/medical/bio
if("Emergency Medical Response")
parent_helmet = /obj/item/clothing/head/helmet/space/void/medical/emt
parent_suit = /obj/item/clothing/suit/space/void/medical/emt
if("Vey-Medical Streamlined")
parent_helmet = /obj/item/clothing/head/helmet/space/void/medical/alt
parent_suit = /obj/item/clothing/suit/space/void/medical/alt
//Security and Security Variants
if("Security")
parent_helmet = /obj/item/clothing/head/helmet/space/void/security
parent_suit = /obj/item/clothing/suit/space/void/security
if("Crowd Control")
parent_helmet = /obj/item/clothing/head/helmet/space/void/security/riot
parent_suit = /obj/item/clothing/suit/space/void/security/riot
if("Security EVA")
parent_helmet = /obj/item/clothing/head/helmet/space/void/security/alt
parent_suit = /obj/item/clothing/suit/space/void/security/alt
//Exploration Department
if("Exploration")
parent_helmet = /obj/item/clothing/head/helmet/space/void/exploration
parent_suit = /obj/item/clothing/suit/space/void/exploration
if("Field Medic")
parent_helmet = /obj/item/clothing/head/helmet/space/void/expedition_medical
parent_suit = /obj/item/clothing/suit/space/void/expedition_medical
if("Old Exploration")
parent_helmet = /obj/item/clothing/head/helmet/space/void/exploration/alt
parent_suit = /obj/item/clothing/suit/space/void/exploration/alt
if("Pilot")
parent_helmet = /obj/item/clothing/head/helmet/space/void/pilot
parent_suit = /obj/item/clothing/suit/space/void/pilot
if("Pilot Blue")
parent_helmet = /obj/item/clothing/head/helmet/space/void/pilot/alt
parent_suit = /obj/item/clothing/suit/space/void/pilot/alt
//Antag Suits
if("^%###^%$" || "Mercenary")
parent_helmet = /obj/item/clothing/head/helmet/space/void/merc
parent_suit = /obj/item/clothing/suit/space/void/merc
if("Charring")
parent_helmet = /obj/item/clothing/head/helmet/space/void/merc/fire
parent_suit = /obj/item/clothing/suit/space/void/merc/fire
if("Gem-Encrusted" || "Wizard")
parent_helmet = /obj/item/clothing/head/helmet/space/void/wizard
parent_suit = /obj/item/clothing/suit/space/void/wizard
//Special or Event suits
if("Vintage Crew")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb
parent_suit = /obj/item/clothing/suit/space/void/refurb
if("Vintage Engineering")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/engineering
parent_suit = /obj/item/clothing/suit/space/void/refurb/engineering
if("Vintage Medical (Bubble Helm)")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/medical/alt
parent_suit = /obj/item/clothing/suit/space/void/refurb/medical
if("Vintage Medical (Closed Helm)")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/medical
parent_suit = /obj/item/clothing/suit/space/void/refurb/medical
if("Vintage Marine")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/marine
parent_suit = /obj/item/clothing/suit/space/void/refurb/marine
if("Vintage Officer")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/officer
parent_suit = /obj/item/clothing/suit/space/void/refurb/officer
if("Vintage Pilot (Bubble Helm)")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/pilot
parent_suit = /obj/item/clothing/suit/space/void/refurb/pilot
if("Vintage Pilot (Closed Helm)")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/pilot/alt
parent_suit = /obj/item/clothing/suit/space/void/refurb/pilot
if("Vintage Research (Bubble Helm)")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/research/alt
parent_suit = /obj/item/clothing/suit/space/void/refurb/research
if("Vintage Research (Closed Helm)")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/research
parent_suit = /obj/item/clothing/suit/space/void/refurb/research
if("Vintage Mercenary")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/mercenary
parent_suit = /obj/item/clothing/suit/space/void/refurb/mercenary
//BEGIN: Space for additional downstream variants
//VOREStation Addition Start
if("Manager")
parent_helmet = /obj/item/clothing/head/helmet/space/void/captain
parent_suit = /obj/item/clothing/suit/space/void/captain
if("Prototype")
parent_helmet = /obj/item/clothing/head/helmet/space/void/security/prototype
parent_suit = /obj/item/clothing/suit/space/void/security/prototype
if("Talon Crew")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/talon
parent_suit = /obj/item/clothing/suit/space/void/refurb/talon
if("Talon Engineering")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/engineering/talon
parent_suit = /obj/item/clothing/suit/space/void/refurb/engineering/talon
if("Talon Medical (Bubble Helm)")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/medical/alt/talon
parent_suit = /obj/item/clothing/suit/space/void/refurb/medical/talon
if("Talon Medical (Closed Helm)")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/medical/talon
parent_suit = /obj/item/clothing/suit/space/void/refurb/medical/talon
if("Talon Marine")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/marine/talon
parent_suit = /obj/item/clothing/suit/space/void/refurb/marine/talon
if("Talon Officer")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/officer/talon
parent_suit = /obj/item/clothing/suit/space/void/refurb/officer/talon
if("Talon Pilot (Bubble Helm)")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/pilot/talon
parent_suit = /obj/item/clothing/suit/space/void/refurb/pilot/talon
if("Talon Pilot (Closed Helm)")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/pilot/alt/talon
parent_suit = /obj/item/clothing/suit/space/void/refurb/pilot/talon
if("Talon Research (Bubble Helm)")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/research/alt/talon
parent_suit = /obj/item/clothing/suit/space/void/refurb/research/talon
if("Talon Research (Closed Helm)")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/research/talon
parent_suit = /obj/item/clothing/suit/space/void/refurb/research/talon
if("Talon Mercenary")
parent_helmet = /obj/item/clothing/head/helmet/space/void/refurb/mercenary/talon
parent_suit = /obj/item/clothing/suit/space/void/refurb/mercenary/talon
//VOREStation Addition End
//END: downstream variant space
if(target_species)
//Only run these checks if they have a sprite sheet defined, otherwise they use human's anyways, and there is almost definitely a sprite.
if((helmet!=null&&(target_species in helmet.sprite_sheets_obj))||(suit!=null&&(target_species in suit.sprite_sheets_obj)))
//Making sure all of our items have the sprites to be refitted.
var/helmet_check = ((helmet!=null && (initial(parent_helmet.icon_state) in icon_states(helmet.sprite_sheets_obj[target_species],1))) || helmet==null)
//If the helmet exists, only return true if there's also sprites for it. If the helmet doesn't exist, return true.
var/suit_check = ((suit!=null && (initial(parent_suit.icon_state) in icon_states(suit.sprite_sheets_obj[target_species],1))) || suit==null)
var/suit_helmet_check = ((suit!=null && suit.helmet!=null && (initial(parent_helmet.icon_state) in icon_states(suit.helmet.sprite_sheets_obj[target_species],1))) || suit==null || suit.helmet==null)
if(helmet_check && suit_check && suit_helmet_check)
if(helmet)
helmet.refit_for_species(target_species)
if(suit)
suit.refit_for_species(target_species)
if(suit.helmet)
suit.helmet.refit_for_species(target_species)
else
//If they don't, alert the user and stop here.
T.visible_message("[bicon(src)]<span class='warning'>Unable to apply specified cosmetics with specified species. Please try again with a different species or cosmetic option selected.</span>")
return return
if(helmet && target_department.can_refit_helmet(helmet))
target_department.do_refit_helmet(helmet)
if(suit && target_department.can_refit_suit(suit))
target_department.do_refit_suit(suit)
if(target_species.can_refit_to(helmet, suit))
target_species.do_refit_to(helmet, suit)
else else
if(helmet) visible_message("[bicon(src)]<span class='warning'>Unable to apply specified cosmetics with specified species. Please try again with a different species or cosmetic option selected.</span>")
helmet.refit_for_species(target_species) return
if(suit)
suit.refit_for_species(target_species)
if(suit.helmet)
suit.helmet.refit_for_species(target_species)
//look at this! isn't it beautiful? -KK (well ok not beautiful but it's a lot cleaner)
if(helmet && target_department != "No Change")
var/obj/item/clothing/H = new parent_helmet
helmet.name = "refitted [initial(parent_helmet.name)]"
helmet.desc = initial(parent_helmet.desc)
helmet.icon_state = initial(parent_helmet.icon_state)
helmet.item_state = initial(parent_helmet.item_state)
helmet.light_overlay = initial(parent_helmet.light_overlay)
helmet.item_state_slots = H.item_state_slots
qdel(H)
if(suit && target_department != "No Change")
var/obj/item/clothing/S = new parent_suit
suit.name = "refitted [initial(parent_suit.name)]"
suit.desc = initial(parent_suit.desc)
suit.icon_state = initial(parent_suit.icon_state)
suit.item_state = initial(parent_suit.item_state)
suit.item_state_slots = S.item_state_slots
qdel(S)
//can't believe I forgot to fix this- now helmets will properly cycle if they're attached to a suit -KK
if(suit.helmet && target_department != "No Change")
var/obj/item/clothing/AH = new parent_helmet
suit.helmet.name = "refitted [initial(parent_helmet.name)]"
suit.helmet.desc = initial(parent_helmet.desc)
suit.helmet.icon_state = initial(parent_helmet.icon_state)
suit.helmet.item_state = initial(parent_helmet.item_state)
suit.helmet.light_overlay = initial(parent_helmet.light_overlay)
suit.helmet.item_state_slots = AH.item_state_slots
qdel(AH)

View File

@@ -1,12 +1,19 @@
<<<<<<< HEAD
/obj/machinery/suit_cycler /obj/machinery/suit_cycler
departments = list("Engineering","Mining","Medical","Security","Atmos","HAZMAT","Construction","Biohazard","Emergency Medical Response","Crowd Control","Exploration","Pilot Blue","Pilot","Manager","Prototype") departments = list("Engineering","Mining","Medical","Security","Atmos","HAZMAT","Construction","Biohazard","Emergency Medical Response","Crowd Control","Exploration","Pilot Blue","Pilot","Manager","Prototype")
species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_VULPKANIN, /*yawngreyedit*/SPECIES_GREY_YW) species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_VULPKANIN, /*yawngreyedit*/SPECIES_GREY_YW)
||||||| parent of 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport
/obj/machinery/suit_cycler
departments = list("Engineering","Mining","Medical","Security","Atmos","HAZMAT","Construction","Biohazard","Emergency Medical Response","Crowd Control","Exploration","Pilot Blue","Pilot","Manager","Prototype","No Change")
species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_TAJ, SPECIES_TESHARI, SPECIES_AKULA, SPECIES_SERGAL, SPECIES_VULPKANIN)
=======
>>>>>>> 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport
// Old Exploration is too WIP to use right now // Old Exploration is too WIP to use right now
/obj/machinery/suit_cycler/exploration /obj/machinery/suit_cycler/exploration
req_access = null req_access = null
req_one_access = list(access_explorer,access_medical_equip) req_one_access = list(access_explorer,access_medical_equip)
departments = list("Exploration","Field Medic","No Change")
/obj/machinery/suit_cycler/pilot /obj/machinery/suit_cycler/pilot
req_access = list(access_pilot) req_access = list(access_pilot)
@@ -15,54 +22,52 @@
name = "Manager suit cycler" name = "Manager suit cycler"
model_text = "Manager" model_text = "Manager"
req_access = list(access_captain) req_access = list(access_captain)
departments = list("Manager","No Change") departments = list(/datum/suit_cycler_choice/department/captain)
/obj/machinery/suit_cycler/captain/Initialize() //No Teshari Sprites
species -= SPECIES_TESHARI
return ..()
/obj/machinery/suit_cycler/prototype /obj/machinery/suit_cycler/prototype
name = "Prototype suit cycler" name = "Prototype suit cycler"
model_text = "Prototype" model_text = "Prototype"
req_access = list(access_hos) req_access = list(access_hos)
departments = list("Prototype","No Change") departments = list(/datum/suit_cycler_choice/department/prototype)
/obj/machinery/suit_cycler/prototype/Initialize() //No Teshari Sprites
species -= SPECIES_TESHARI
return ..()
/obj/machinery/suit_cycler/vintage/tcrew /obj/machinery/suit_cycler/vintage/tcrew
name = "Talon crew suit cycler" name = "Talon crew suit cycler"
model_text = "Talon crew" model_text = "Talon crew"
req_access = list(access_talon) req_access = list(access_talon)
departments = list("Talon Crew","No Change") departments = list(/datum/suit_cycler_choice/department/talon/crew)
/obj/machinery/suit_cycler/vintage/tpilot /obj/machinery/suit_cycler/vintage/tpilot
name = "Talon pilot suit cycler" name = "Talon pilot suit cycler"
model_text = "Talon pilot" model_text = "Talon pilot"
req_access = list(access_talon) req_access = list(access_talon)
departments = list("Talon Pilot (Bubble Helm)","Talon Pilot (Closed Helm)","No Change") departments = list(/datum/suit_cycler_choice/department/talon/pilot)
/obj/machinery/suit_cycler/vintage/tengi /obj/machinery/suit_cycler/vintage/tengi
name = "Talon engineer suit cycler" name = "Talon engineer suit cycler"
model_text = "Talon engineer" model_text = "Talon engineer"
req_access = list(access_talon) req_access = list(access_talon)
departments = list("Talon Engineering","No Change") departments = list(/datum/suit_cycler_choice/department/talon/eng)
/obj/machinery/suit_cycler/vintage/tguard /obj/machinery/suit_cycler/vintage/tguard
name = "Talon guard suit cycler" name = "Talon guard suit cycler"
model_text = "Talon guard" model_text = "Talon guard"
req_access = list(access_talon) req_access = list(access_talon)
departments = list("Talon Marine","Talon Mercenary","No Change") departments = list(/datum/suit_cycler_choice/department/talon/marine)
/obj/machinery/suit_cycler/vintage/tmedic /obj/machinery/suit_cycler/vintage/tmedic
name = "Talon doctor suit cycler" name = "Talon doctor suit cycler"
model_text = "Talon doctor" model_text = "Talon doctor"
req_access = list(access_talon) req_access = list(access_talon)
departments = list("Talon Medical (Bubble Helm)","Talon Medical (Closed Helm)","No Change") departments = list(/datum/suit_cycler_choice/department/talon/med)
/obj/machinery/suit_cycler/vintage/tcaptain /obj/machinery/suit_cycler/vintage/tcaptain
name = "Talon captain suit cycler" name = "Talon captain suit cycler"
model_text = "Talon captain" model_text = "Talon captain"
req_access = list(access_talon) req_access = list(access_talon)
<<<<<<< HEAD
departments = list("Talon Officer","No Change") departments = list("Talon Officer","No Change")
||||||| parent of 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport
departments = list("Talon Officer","No Change")
=======
departments = list(/datum/suit_cycler_choice/department/talon/officer)
>>>>>>> 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport

View File

@@ -318,7 +318,7 @@
/obj/effect/alien/weeds/attackby(var/obj/item/weapon/W, var/mob/user) /obj/effect/alien/weeds/attackby(var/obj/item/weapon/W, var/mob/user)
user.setClickCooldown(user.get_attack_speed(W)) user.setClickCooldown(user.get_attack_speed(W))
if(W.attack_verb.len) if(LAZYLEN(W.attack_verb))
visible_message("<span class='danger'>\The [src] have been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]</span>") visible_message("<span class='danger'>\The [src] have been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]</span>")
else else
visible_message("<span class='danger'>\The [src] have been attacked with \the [W][(user ? " by [user]." : ".")]</span>") visible_message("<span class='danger'>\The [src] have been attacked with \the [W][(user ? " by [user]." : ".")]</span>")
@@ -421,4 +421,260 @@
visible_message("<span class='alium'>[src.target] begins to crumble under the acid!</span>") visible_message("<span class='alium'>[src.target] begins to crumble under the acid!</span>")
spawn(rand(150, 200)) tick() spawn(rand(150, 200)) tick()
<<<<<<< HEAD
//CHOMPedit old eggs removed //CHOMPedit old eggs removed
||||||| parent of 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport
/*
* Egg
*/
/var/const //for the status var
BURST = 0
BURSTING = 1
GROWING = 2
GROWN = 3
MIN_GROWTH_TIME = 1800 //time it takes to grow a hugger
MAX_GROWTH_TIME = 3000
/obj/effect/alien/egg
desc = "It looks like a weird egg"
name = "egg"
// icon_state = "egg_growing" // So the egg looks 'grown', even though it's not.
icon_state = "egg"
density = 0
anchored = 1
var/health = 100
var/status = BURST //can be GROWING, GROWN or BURST; all mutually exclusive
/obj/effect/alien/egg/New()
/*
if(config.aliens_allowed)
..()
spawn(rand(MIN_GROWTH_TIME,MAX_GROWTH_TIME))
Grow()
else
qdel(src)
*/
/obj/effect/alien/egg/attack_hand(user as mob)
var/mob/living/carbon/M = user
if(!istype(M) || !(locate(/obj/item/organ/internal/xenos/hivenode) in M.internal_organs))
return attack_hand(user)
switch(status)
if(BURST)
to_chat(user, "<span class='warning'>You clear the hatched egg.</span>")
qdel(src)
return
/* if(GROWING)
to_chat(user, "<span class='warning'>The child is not developed yet.</span>")
return
if(GROWN)
to_chat(user, "<span class='warning'>You retrieve the child.</span>")
Burst(0)
return
/obj/effect/alien/egg/proc/GetFacehugger() // Commented out for future edit.
return locate(/obj/item/clothing/mask/facehugger) in contents
/obj/effect/alien/egg/proc/Grow()
icon_state = "egg"
// status = GROWN
status = BURST
// new /obj/item/clothing/mask/facehugger(src)
return
*/
/obj/effect/alien/egg/proc/Burst(var/kill = 1) //drops and kills the hugger if any is remaining
if(status == GROWN || status == GROWING)
// var/obj/item/clothing/mask/facehugger/child = GetFacehugger()
icon_state = "egg_hatched"
/* flick("egg_opening", src)
status = BURSTING
spawn(15)
status = BURST
child.loc = get_turf(src)
if(kill && istype(child))
child.Die()
else
for(var/mob/M in range(1,src))
if(CanHug(M))
child.Attach(M)
break
*/
/obj/effect/alien/egg/bullet_act(var/obj/item/projectile/Proj)
health -= Proj.damage
..()
healthcheck()
return
/obj/effect/alien/egg/attack_generic(var/mob/user, var/damage, var/attack_verb)
visible_message("<span class='danger'>[user] [attack_verb] the [src]!</span>")
user.do_attack_animation(src)
health -= damage
healthcheck()
return
/obj/effect/alien/egg/take_damage(var/damage)
health -= damage
healthcheck()
return
/obj/effect/alien/egg/attackby(var/obj/item/weapon/W, var/mob/user)
if(health <= 0)
return
if(W.attack_verb.len)
src.visible_message("<span class='danger'>\The [src] has been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]</span>")
else
src.visible_message("<span class='danger'>\The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]</span>")
var/damage = W.force / 4.0
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0, user))
damage = 15
playsound(src, 'sound/items/Welder.ogg', 100, 1)
src.health -= damage
src.healthcheck()
/obj/effect/alien/egg/proc/healthcheck()
if(health <= 0)
Burst()
/obj/effect/alien/egg/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(exposed_temperature > 500 + T0C)
health -= 5
healthcheck()
=======
/*
* Egg
*/
/var/const //for the status var
BURST = 0
BURSTING = 1
GROWING = 2
GROWN = 3
MIN_GROWTH_TIME = 1800 //time it takes to grow a hugger
MAX_GROWTH_TIME = 3000
/obj/effect/alien/egg
desc = "It looks like a weird egg"
name = "egg"
// icon_state = "egg_growing" // So the egg looks 'grown', even though it's not.
icon_state = "egg"
density = 0
anchored = 1
var/health = 100
var/status = BURST //can be GROWING, GROWN or BURST; all mutually exclusive
/obj/effect/alien/egg/New()
/*
if(config.aliens_allowed)
..()
spawn(rand(MIN_GROWTH_TIME,MAX_GROWTH_TIME))
Grow()
else
qdel(src)
*/
/obj/effect/alien/egg/attack_hand(user as mob)
var/mob/living/carbon/M = user
if(!istype(M) || !(locate(/obj/item/organ/internal/xenos/hivenode) in M.internal_organs))
return attack_hand(user)
switch(status)
if(BURST)
to_chat(user, "<span class='warning'>You clear the hatched egg.</span>")
qdel(src)
return
/* if(GROWING)
to_chat(user, "<span class='warning'>The child is not developed yet.</span>")
return
if(GROWN)
to_chat(user, "<span class='warning'>You retrieve the child.</span>")
Burst(0)
return
/obj/effect/alien/egg/proc/GetFacehugger() // Commented out for future edit.
return locate(/obj/item/clothing/mask/facehugger) in contents
/obj/effect/alien/egg/proc/Grow()
icon_state = "egg"
// status = GROWN
status = BURST
// new /obj/item/clothing/mask/facehugger(src)
return
*/
/obj/effect/alien/egg/proc/Burst(var/kill = 1) //drops and kills the hugger if any is remaining
if(status == GROWN || status == GROWING)
// var/obj/item/clothing/mask/facehugger/child = GetFacehugger()
icon_state = "egg_hatched"
/* flick("egg_opening", src)
status = BURSTING
spawn(15)
status = BURST
child.loc = get_turf(src)
if(kill && istype(child))
child.Die()
else
for(var/mob/M in range(1,src))
if(CanHug(M))
child.Attach(M)
break
*/
/obj/effect/alien/egg/bullet_act(var/obj/item/projectile/Proj)
health -= Proj.damage
..()
healthcheck()
return
/obj/effect/alien/egg/attack_generic(var/mob/user, var/damage, var/attack_verb)
visible_message("<span class='danger'>[user] [attack_verb] the [src]!</span>")
user.do_attack_animation(src)
health -= damage
healthcheck()
return
/obj/effect/alien/egg/take_damage(var/damage)
health -= damage
healthcheck()
return
/obj/effect/alien/egg/attackby(var/obj/item/weapon/W, var/mob/user)
if(health <= 0)
return
if(LAZYLEN(W.attack_verb))
src.visible_message("<span class='danger'>\The [src] has been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]</span>")
else
src.visible_message("<span class='danger'>\The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]</span>")
var/damage = W.force / 4.0
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0, user))
damage = 15
playsound(src, 'sound/items/Welder.ogg', 100, 1)
src.health -= damage
src.healthcheck()
/obj/effect/alien/egg/proc/healthcheck()
if(health <= 0)
Burst()
/obj/effect/alien/egg/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(exposed_temperature > 500 + T0C)
health -= 5
healthcheck()
>>>>>>> 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport

View File

@@ -23,7 +23,7 @@
/obj/effect/spider/attackby(var/obj/item/weapon/W, var/mob/user) /obj/effect/spider/attackby(var/obj/item/weapon/W, var/mob/user)
user.setClickCooldown(user.get_attack_speed(W)) user.setClickCooldown(user.get_attack_speed(W))
if(W.attack_verb.len) if(LAZYLEN(W.attack_verb))
visible_message("<span class='warning'>\The [src] has been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]</span>") visible_message("<span class='warning'>\The [src] has been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]</span>")
else else
visible_message("<span class='warning'>\The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]</span>") visible_message("<span class='warning'>\The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]</span>")

View File

@@ -21,7 +21,7 @@
// causeerrorheresoifixthis // causeerrorheresoifixthis
var/obj/item/master = null var/obj/item/master = null
var/list/origin_tech = null //Used by R&D to determine what research bonuses it grants. var/list/origin_tech = null //Used by R&D to determine what research bonuses it grants.
var/list/attack_verb = list() //Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]" var/list/attack_verb //Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]"
var/force = 0 var/force = 0
var/heat_protection = 0 //flags which determine which body parts are protected from heat. Use the HEAD, UPPER_TORSO, LOWER_TORSO, etc. flags. See setup.dm var/heat_protection = 0 //flags which determine which body parts are protected from heat. Use the HEAD, UPPER_TORSO, LOWER_TORSO, etc. flags. See setup.dm
@@ -50,8 +50,8 @@
var/siemens_coefficient = 1 // for electrical admittance/conductance (electrocution checks and shit) var/siemens_coefficient = 1 // for electrical admittance/conductance (electrocution checks and shit)
var/slowdown = 0 // How much clothing is slowing you down. Negative values speeds you up var/slowdown = 0 // How much clothing is slowing you down. Negative values speeds you up
var/canremove = 1 //Mostly for Ninja code at this point but basically will not allow the item to be removed if set to 0. /N var/canremove = 1 //Mostly for Ninja code at this point but basically will not allow the item to be removed if set to 0. /N
var/list/armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) var/list/armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0)
var/list/armorsoak = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) var/list/armorsoak = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0)
var/list/allowed = null //suit storage stuff. var/list/allowed = null //suit storage stuff.
var/obj/item/device/uplink/hidden/hidden_uplink = null // All items can have an uplink hidden inside, just remember to add the triggers. var/obj/item/device/uplink/hidden/hidden_uplink = null // All items can have an uplink hidden inside, just remember to add the triggers.
var/zoomdevicename = null //name used for message when binoculars/scope is used var/zoomdevicename = null //name used for message when binoculars/scope is used
@@ -63,12 +63,12 @@
//** These specify item/icon overrides for _slots_ //** These specify item/icon overrides for _slots_
var/list/item_state_slots = list() //overrides the default item_state for particular slots. var/list/item_state_slots //overrides the default item_state for particular slots.
// Used to specify the icon file to be used when the item is worn. If not set the default icon for that slot will be used. // Used to specify the icon file to be used when the item is worn. If not set the default icon for that slot will be used.
// If icon_override or sprite_sheets are set they will take precendence over this, assuming they apply to the slot in question. // If icon_override or sprite_sheets are set they will take precendence over this, assuming they apply to the slot in question.
// Only slot_l_hand/slot_r_hand are implemented at the moment. Others to be implemented as needed. // Only slot_l_hand/slot_r_hand are implemented at the moment. Others to be implemented as needed.
var/list/item_icons = list() var/list/item_icons
//** These specify item/icon overrides for _species_ //** These specify item/icon overrides for _species_
@@ -79,11 +79,11 @@
) )
If index term exists and icon_override is not set, this sprite sheet will be used. If index term exists and icon_override is not set, this sprite sheet will be used.
*/ */
var/list/sprite_sheets = list() var/list/sprite_sheets
// Species-specific sprite sheets for inventory sprites // Species-specific sprite sheets for inventory sprites
// Works similarly to worn sprite_sheets, except the alternate sprites are used when the clothing/refit_for_species() proc is called. // Works similarly to worn sprite_sheets, except the alternate sprites are used when the clothing/refit_for_species() proc is called.
var/list/sprite_sheets_obj = list() var/list/sprite_sheets_obj
var/toolspeed = 1.0 // This is a multipler on how 'fast' a tool works. e.g. setting this to 0.5 will make the tool work twice as fast. var/toolspeed = 1.0 // This is a multipler on how 'fast' a tool works. e.g. setting this to 0.5 will make the tool work twice as fast.
var/attackspeed = DEFAULT_ATTACK_COOLDOWN // How long click delay will be when using this, in 1/10ths of a second. Checked in the user's get_attack_speed(). var/attackspeed = DEFAULT_ATTACK_COOLDOWN // How long click delay will be when using this, in 1/10ths of a second. Checked in the user's get_attack_speed().

View File

@@ -23,7 +23,7 @@
/obj/item/device/radio/headset /obj/item/device/radio/headset
sprite_sheets = list(SPECIES_TESHARI = 'icons/inventory/ears/mob_teshari.dmi', sprite_sheets = list(SPECIES_TESHARI = 'icons/inventory/ears/mob_teshari.dmi',
SPECIES_WEREBEAST = 'icons/inventory/ears/mob_werebeast.dmi') SPECIES_WEREBEAST = 'icons/inventory/ears/mob_vr_werebeast.dmi')
/obj/item/device/radio/headset/mob_headset //Adminbus headset for simplemob shenanigans. /obj/item/device/radio/headset/mob_headset //Adminbus headset for simplemob shenanigans.
name = "nonhuman radio receiver" name = "nonhuman radio receiver"

View File

@@ -70,7 +70,6 @@
w_class = ITEMSIZE_LARGE w_class = ITEMSIZE_LARGE
max_w_class = ITEMSIZE_NORMAL max_w_class = ITEMSIZE_NORMAL
max_storage_space = ITEMSIZE_COST_NORMAL * 100 // can store a ton of shit! max_storage_space = ITEMSIZE_COST_NORMAL * 100 // can store a ton of shit!
item_state_slots = null
/obj/item/weapon/storage/backpack/cultpack /obj/item/weapon/storage/backpack/cultpack
name = "trophy rack" name = "trophy rack"

View File

@@ -78,7 +78,7 @@
/obj/item/weapon/storage/backpack /obj/item/weapon/storage/backpack
sprite_sheets = list( sprite_sheets = list(
SPECIES_TESHARI = 'icons/inventory/back/mob_teshari.dmi', SPECIES_TESHARI = 'icons/inventory/back/mob_teshari.dmi',
SPECIES_WEREBEAST = 'icons/inventory/back/mob_werebeast.dmi') SPECIES_WEREBEAST = 'icons/inventory/back/mob_vr_werebeast.dmi')
/obj/item/weapon/storage/backpack/ert /obj/item/weapon/storage/backpack/ert
max_storage_space = INVENTORY_DUFFLEBAG_SPACE max_storage_space = INVENTORY_DUFFLEBAG_SPACE

View File

@@ -1,7 +1,7 @@
/obj/item/weapon/storage/belt /obj/item/weapon/storage/belt
sprite_sheets = list( sprite_sheets = list(
SPECIES_TESHARI = 'icons/inventory/belt/mob_teshari.dmi', SPECIES_TESHARI = 'icons/inventory/belt/mob_teshari.dmi',
SPECIES_WEREBEAST = 'icons/inventory/belt/mob_werebeast.dmi') SPECIES_WEREBEAST = 'icons/inventory/belt/mob_vr_werebeast.dmi')
/obj/item/weapon/storage/belt/explorer /obj/item/weapon/storage/belt/explorer
name = "explorer's belt" name = "explorer's belt"

View File

@@ -76,7 +76,7 @@
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
user.do_attack_animation(src) user.do_attack_animation(src)
visible_message("<span class='warning'>\The [src] has been [I.attack_verb.len ? "[pick(I.attack_verb)]":"attacked"] with \the [I] by [user].</span>") visible_message("<span class='warning'>\The [src] has been [LAZYLEN(I.attack_verb) ? "[pick(I.attack_verb)]":"attacked"] with \the [I] by [user].</span>")
take_damage(I.force) take_damage(I.force)
/obj/structure/mob_spawner/bullet_act(var/obj/item/projectile/Proj) /obj/structure/mob_spawner/bullet_act(var/obj/item/projectile/Proj)

View File

@@ -13,10 +13,9 @@
body_parts_covered = copy.body_parts_covered body_parts_covered = copy.body_parts_covered
flags_inv = copy.flags_inv flags_inv = copy.flags_inv
item_icons = copy.item_icons.Copy() item_icons = copy.item_icons?.Copy()
if(copy.item_state_slots) //Runtime prevention for backpacks item_state_slots = copy.item_state_slots?.Copy()
item_state_slots = copy.item_state_slots.Copy() sprite_sheets = copy.sprite_sheets?.Copy()
sprite_sheets = copy.sprite_sheets.Copy()
//copying sprite_sheets_obj should be unnecessary as chameleon items are not refittable. //copying sprite_sheets_obj should be unnecessary as chameleon items are not refittable.
return copy //for inheritance return copy //for inheritance
@@ -54,7 +53,7 @@
name = "psychedelic" name = "psychedelic"
desc = "Groovy!" desc = "Groovy!"
icon_state = "psyche" icon_state = "psyche"
item_state_slots[slot_w_uniform_str] = "psyche" LAZYSET(item_state_slots, slot_w_uniform_str, "psyche")
update_icon() update_icon()
update_clothing_icon() update_clothing_icon()

File diff suppressed because it is too large Load Diff

View File

@@ -14,7 +14,7 @@
/obj/item/clothing/head/make_worn_icon(var/body_type,var/slot_name,var/inhands,var/default_icon,var/default_layer = 0,var/icon/clip_mask = null) /obj/item/clothing/head/make_worn_icon(var/body_type,var/slot_name,var/inhands,var/default_icon,var/default_layer = 0,var/icon/clip_mask = null)
var/image/standing = ..() var/image/standing = ..()
if(light_on && slot_name == slot_head_str) if(light_on && slot_name == slot_head_str)
var/cache_key = "[light_overlay][LAZYACCESS(sprite_sheets,body_type) ? "_[body_type]" : ""]" var/cache_key = "[light_overlay][LAZYACCESS(sprite_sheets, body_type) ? "_[body_type]" : ""]"
if(standing && light_overlay_cache[cache_key]) if(standing && light_overlay_cache[cache_key])
standing.add_overlay(light_overlay_cache[cache_key]) standing.add_overlay(light_overlay_cache[cache_key])
return standing return standing

View File

@@ -7,7 +7,7 @@
sprite_sheets = list( sprite_sheets = list(
SPECIES_TESHARI = 'icons/inventory/feet/mob_teshari.dmi', SPECIES_TESHARI = 'icons/inventory/feet/mob_teshari.dmi',
SPECIES_VOX = 'icons/inventory/feet/mob_vox.dmi', SPECIES_VOX = 'icons/inventory/feet/mob_vox.dmi',
SPECIES_WEREBEAST = 'icons/inventory/feet/mob_werebeast.dmi') SPECIES_WEREBEAST = 'icons/inventory/feet/mob_vr_werebeast.dmi')
/obj/item/clothing/shoes/New() /obj/item/clothing/shoes/New()
inside_emotes = list( inside_emotes = list(
@@ -87,12 +87,12 @@
sprite_sheets = list( sprite_sheets = list(
SPECIES_TESHARI = 'icons/inventory/hands/mob_teshari.dmi', SPECIES_TESHARI = 'icons/inventory/hands/mob_teshari.dmi',
SPECIES_VOX = 'icons/inventory/hands/mob_vox.dmi', SPECIES_VOX = 'icons/inventory/hands/mob_vox.dmi',
SPECIES_WEREBEAST = 'icons/inventory/hands/mob_werebeast.dmi') SPECIES_WEREBEAST = 'icons/inventory/hands/mob_vr_werebeast.dmi')
/obj/item/clothing/ears /obj/item/clothing/ears
sprite_sheets = list( sprite_sheets = list(
SPECIES_TESHARI = 'icons/inventory/ears/mob_teshari.dmi', SPECIES_TESHARI = 'icons/inventory/ears/mob_teshari.dmi',
SPECIES_WEREBEAST = 'icons/inventory/ears/mob_werebeast.dmi') SPECIES_WEREBEAST = 'icons/inventory/ears/mob_vr_werebeast.dmi')
/obj/item/clothing/relaymove(var/mob/living/user,var/direction) /obj/item/clothing/relaymove(var/mob/living/user,var/direction)
@@ -135,14 +135,14 @@
SPECIES_VOX = 'icons/inventory/face/mob_vox.dmi', SPECIES_VOX = 'icons/inventory/face/mob_vox.dmi',
SPECIES_TAJ = 'icons/inventory/face/mob_tajaran.dmi', SPECIES_TAJ = 'icons/inventory/face/mob_tajaran.dmi',
SPECIES_UNATHI = 'icons/inventory/face/mob_unathi.dmi', SPECIES_UNATHI = 'icons/inventory/face/mob_unathi.dmi',
SPECIES_SERGAL = 'icons/inventory/face/mob_sergal.dmi', SPECIES_SERGAL = 'icons/inventory/face/mob_vr_sergal.dmi',
SPECIES_NEVREAN = 'icons/inventory/face/mob_nevrean.dmi', SPECIES_NEVREAN = 'icons/inventory/face/mob_vr_nevrean.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/face/mob_fox.dmi', SPECIES_ZORREN_HIGH = 'icons/inventory/face/mob_vr_fox.dmi',
SPECIES_ZORREN_FLAT = 'icons/inventory/face/mob_fennec.dmi', SPECIES_ZORREN_FLAT = 'icons/inventory/face/mob_vr_fennec.dmi',
SPECIES_AKULA = 'icons/inventory/face/mob_akula.dmi', SPECIES_AKULA = 'icons/inventory/face/mob_vr_akula.dmi',
SPECIES_VULPKANIN = 'icons/inventory/face/mob_vulpkanin.dmi', SPECIES_VULPKANIN = 'icons/inventory/face/mob_vr_vulpkanin.dmi',
SPECIES_XENOCHIMERA = 'icons/inventory/face/mob_tajaran.dmi', SPECIES_XENOCHIMERA = 'icons/inventory/face/mob_vr_tajaran.dmi',
SPECIES_WEREBEAST = 'icons/inventory/face/mob_werebeast.dmi' SPECIES_WEREBEAST = 'icons/inventory/face/mob_vr_werebeast.dmi'
) )
//"Spider" = 'icons/inventory/mask/mob_spider.dmi' Add this later when they have custom mask sprites and everything. //"Spider" = 'icons/inventory/mask/mob_spider.dmi' Add this later when they have custom mask sprites and everything.
@@ -151,7 +151,7 @@
sprite_sheets = list( sprite_sheets = list(
SPECIES_TESHARI = 'icons/inventory/suit/mob_teshari.dmi', SPECIES_TESHARI = 'icons/inventory/suit/mob_teshari.dmi',
SPECIES_VOX = 'icons/inventory/suit/mob_vox.dmi', SPECIES_VOX = 'icons/inventory/suit/mob_vox.dmi',
SPECIES_WEREBEAST = 'icons/inventory/suit/mob_werebeast.dmi') SPECIES_WEREBEAST = 'icons/inventory/suit/mob_vr_werebeast.dmi')
/obj/item/clothing/under /obj/item/clothing/under
sensor_mode = 3 sensor_mode = 3
@@ -159,7 +159,7 @@
sprite_sheets = list( sprite_sheets = list(
SPECIES_TESHARI = 'icons/inventory/uniform/mob_teshari.dmi', SPECIES_TESHARI = 'icons/inventory/uniform/mob_teshari.dmi',
SPECIES_VOX = 'icons/inventory/uniform/mob_vox.dmi', SPECIES_VOX = 'icons/inventory/uniform/mob_vox.dmi',
SPECIES_WEREBEAST = 'icons/inventory/uniform/mob_werebeast.dmi') SPECIES_WEREBEAST = 'icons/inventory/uniform/mob_vr_werebeast.dmi')
/obj/item/clothing/under/New(var/mob/living/carbon/human/H) /obj/item/clothing/under/New(var/mob/living/carbon/human/H)
..() ..()
@@ -178,4 +178,4 @@
sprite_sheets = list( sprite_sheets = list(
SPECIES_TESHARI = 'icons/inventory/head/mob_teshari.dmi', SPECIES_TESHARI = 'icons/inventory/head/mob_teshari.dmi',
SPECIES_VOX = 'icons/inventory/head/mob_vox.dmi', SPECIES_VOX = 'icons/inventory/head/mob_vox.dmi',
SPECIES_WEREBEAST = 'icons/inventory/head/mob_werebeast.dmi') SPECIES_WEREBEAST = 'icons/inventory/head/mob_vr_werebeast.dmi')

View File

@@ -182,7 +182,7 @@
icon_state = "kitty" icon_state = "kitty"
body_parts_covered = 0 body_parts_covered = 0
siemens_coefficient = 1.5 siemens_coefficient = 1.5
item_icons = list() item_icons = null
/obj/item/clothing/head/kitty/update_icon(var/mob/living/carbon/human/user) /obj/item/clothing/head/kitty/update_icon(var/mob/living/carbon/human/user)
if(!istype(user)) return if(!istype(user)) return

View File

@@ -1,4 +1,4 @@
/obj/item/clothing/mask/breath/transparent /obj/item/clothing/mask/breath/transparent
name = "transparent breath mask" name = "transparent breath mask"
item_state = "golem" //This is dumb and hacky but was here when I got here. item_state = "golem" //This is dumb and hacky but was here when I got here.
sprite_sheets = list() sprite_sheets = null

View File

@@ -283,8 +283,8 @@
booting_R.icon_state = "boot_load" booting_R.icon_state = "boot_load"
animate(booting_L, alpha=230, time=30, easing=SINE_EASING) animate(booting_L, alpha=230, time=30, easing=SINE_EASING)
animate(booting_R, alpha=200, time=20, easing=SINE_EASING) animate(booting_R, alpha=200, time=20, easing=SINE_EASING)
M.client.screen += booting_L M.client?.screen += booting_L
M.client.screen += booting_R M.client?.screen += booting_R
canremove = 0 // No removing the suit while unsealing. canremove = 0 // No removing the suit while unsealing.
sealing = 1 sealing = 1
@@ -360,8 +360,8 @@
sealing = null sealing = null
if(failed_to_seal) if(failed_to_seal)
M.client.screen -= booting_L M.client?.screen -= booting_L
M.client.screen -= booting_R M.client?.screen -= booting_R
qdel(booting_L) qdel(booting_L)
qdel(booting_R) qdel(booting_R)
for(var/obj/item/piece in list(helmet,boots,gloves,chest)) for(var/obj/item/piece in list(helmet,boots,gloves,chest))
@@ -382,11 +382,11 @@
minihud = new (M.hud_used, src) minihud = new (M.hud_used, src)
to_chat(M, "<span class='notice'><b>Your entire suit [canremove ? "loosens as the components relax" : "tightens around you as the components lock into place"].</b></span>") to_chat(M, "<span class='notice'><b>Your entire suit [canremove ? "loosens as the components relax" : "tightens around you as the components lock into place"].</b></span>")
playsound(src, 'sound/machines/rig/rigstarted.ogg', 10, FALSE) playsound(src, 'sound/machines/rig/rigstarted.ogg', 10, FALSE)
M.client.screen -= booting_L M.client?.screen -= booting_L
qdel(booting_L) qdel(booting_L)
booting_R.icon_state = "boot_done" booting_R.icon_state = "boot_done"
spawn(40) spawn(40)
M.client.screen -= booting_R M.client?.screen -= booting_R
qdel(booting_R) qdel(booting_R)
if(canremove) if(canremove)
@@ -596,7 +596,7 @@
var/species_icon = default_mob_icon var/species_icon = default_mob_icon
// Since setting mob_icon will override the species checks in // Since setting mob_icon will override the species checks in
// update_inv_wear_suit(), handle species checks here. // update_inv_wear_suit(), handle species checks here.
if(wearer && sprite_sheets && sprite_sheets[wearer.species.get_bodytype(wearer)]) if(wearer && LAZYACCESS(sprite_sheets, wearer.species.get_bodytype(wearer)))
species_icon = sprite_sheets[wearer.species.get_bodytype(wearer)] species_icon = sprite_sheets[wearer.species.get_bodytype(wearer)]
mob_icon = icon(icon = species_icon, icon_state = "[icon_state]") mob_icon = icon(icon = species_icon, icon_state = "[icon_state]")

View File

@@ -4,12 +4,12 @@
SPECIES_SKRELL = 'icons/inventory/head/mob_skrell.dmi', SPECIES_SKRELL = 'icons/inventory/head/mob_skrell.dmi',
SPECIES_UNATHI = 'icons/inventory/head/mob_unathi.dmi', SPECIES_UNATHI = 'icons/inventory/head/mob_unathi.dmi',
SPECIES_XENOHYBRID = 'icons/inventory/head/mob_unathi.dmi', SPECIES_XENOHYBRID = 'icons/inventory/head/mob_unathi.dmi',
SPECIES_AKULA = 'icons/inventory/head/mob_akula.dmi', SPECIES_AKULA = 'icons/inventory/head/mob_vr_akula.dmi',
SPECIES_SERGAL = 'icons/inventory/head/mob_sergal.dmi', SPECIES_SERGAL = 'icons/inventory/head/mob_vr_sergal.dmi',
SPECIES_NEVREAN = 'icons/inventory/head/mob_sergal.dmi', SPECIES_NEVREAN = 'icons/inventory/head/mob_vr_sergal.dmi',
SPECIES_VULPKANIN = 'icons/inventory/head/mob_vulpkanin.dmi', SPECIES_VULPKANIN = 'icons/inventory/head/mob_vr_vulpkanin.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/head/mob_vulpkanin.dmi', SPECIES_ZORREN_HIGH = 'icons/inventory/head/mob_vr_vulpkanin.dmi',
SPECIES_FENNEC = 'icons/inventory/head/mob_vulpkanin.dmi', SPECIES_FENNEC = 'icons/inventory/head/mob_vr_vulpkanin.dmi',
SPECIES_PROMETHEAN = 'icons/inventory/head/mob_skrell.dmi', SPECIES_PROMETHEAN = 'icons/inventory/head/mob_skrell.dmi',
SPECIES_VOX = 'icons/inventory/head/mob_vox.dmi', SPECIES_VOX = 'icons/inventory/head/mob_vox.dmi',
SPECIES_TESHARI = 'icons/inventory/head/mob_teshari.dmi' SPECIES_TESHARI = 'icons/inventory/head/mob_teshari.dmi'
@@ -21,12 +21,12 @@
SPECIES_SKRELL = 'icons/inventory/suit/mob_skrell.dmi', SPECIES_SKRELL = 'icons/inventory/suit/mob_skrell.dmi',
SPECIES_UNATHI = 'icons/inventory/suit/mob_unathi.dmi', SPECIES_UNATHI = 'icons/inventory/suit/mob_unathi.dmi',
SPECIES_XENOHYBRID = 'icons/inventory/suit/mob_unathi.dmi', SPECIES_XENOHYBRID = 'icons/inventory/suit/mob_unathi.dmi',
SPECIES_AKULA = 'icons/inventory/suit/mob_akula.dmi', SPECIES_AKULA = 'icons/inventory/suit/mob_vr_akula.dmi',
SPECIES_SERGAL = 'icons/inventory/suit/mob_sergal.dmi', SPECIES_SERGAL = 'icons/inventory/suit/mob_vr_sergal.dmi',
SPECIES_NEVREAN = 'icons/inventory/suit/mob_sergal.dmi', SPECIES_NEVREAN = 'icons/inventory/suit/mob_vr_sergal.dmi',
SPECIES_VULPKANIN = 'icons/inventory/suit/mob_vulpkanin.dmi', SPECIES_VULPKANIN = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vulpkanin.dmi', SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',
SPECIES_FENNEC = 'icons/inventory/suit/mob_vulpkanin.dmi', SPECIES_FENNEC = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',
SPECIES_PROMETHEAN = 'icons/inventory/suit/mob_skrell.dmi', SPECIES_PROMETHEAN = 'icons/inventory/suit/mob_skrell.dmi',
SPECIES_VOX = 'icons/inventory/suit/mob_vox.dmi', SPECIES_VOX = 'icons/inventory/suit/mob_vox.dmi',
SPECIES_TESHARI = 'icons/inventory/suit/mob_teshari.dmi' SPECIES_TESHARI = 'icons/inventory/suit/mob_teshari.dmi'

View File

@@ -53,6 +53,8 @@
/obj/item/weapon/rig/robotics /obj/item/weapon/rig/robotics
allowed = list(/obj/item/device/flashlight, /obj/item/weapon/storage/box, /obj/item/weapon/storage/belt, /obj/item/device/defib_kit/compact) allowed = list(/obj/item/device/flashlight, /obj/item/weapon/storage/box, /obj/item/weapon/storage/belt, /obj/item/device/defib_kit/compact)
<<<<<<< HEAD
||||||| parent of 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport
// 'Technomancer' hardsuit // 'Technomancer' hardsuit
/obj/item/weapon/rig/focalpoint /obj/item/weapon/rig/focalpoint
@@ -178,3 +180,487 @@
// No animal people sprites for these yet, sad times // No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA) species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list() sprite_sheets = list()
// 'Technomancer' hardsuit
/obj/item/weapon/rig/focalpoint
name = "\improper F.P.E. hardsuit control module"
desc = "A high-end hardsuit produced by Focal Point Energistics, focused around repair and construction."
icon = 'icons/obj/rig_modules_vr.dmi' // the item
default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob
icon_state = "techno_rig"
suit_type = "\improper F.P.E. hardsuit"
cell_type = /obj/item/weapon/cell/hyper
// Copied from CE rig
slowdown = 0
offline_slowdown = 0
offline_vision_restriction = 0
rigsuit_max_pressure = 20 * ONE_ATMOSPHERE // Max pressure the rig protects against when sealed
rigsuit_min_pressure = 0 // Min pressure the rig protects against when sealed
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE // so it's like a rig firesuit
armor = list("melee" = 40, "bullet" = 10, "laser" = 30, "energy" = 55, "bomb" = 70, "bio" = 100, "rad" = 100)
chest_type = /obj/item/clothing/suit/space/rig/focalpoint
helm_type = /obj/item/clothing/head/helmet/space/rig/focalpoint
boot_type = /obj/item/clothing/shoes/magboots/rig/focalpoint
glove_type = /obj/item/clothing/gloves/gauntlets/rig/focalpoint
/obj/item/weapon/rig/focalpoint/equipped
initial_modules = list(
/obj/item/rig_module/maneuvering_jets,
/obj/item/rig_module/teleporter, // Try not to set yourself on fire
/obj/item/rig_module/device/rcd,
/obj/item/rig_module/grenade_launcher/metalfoam
)
/obj/item/clothing/head/helmet/space/rig/focalpoint
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "techno_rig"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
/obj/item/clothing/suit/space/rig/focalpoint
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "techno_rig"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
/obj/item/clothing/shoes/magboots/rig/focalpoint
icon = 'icons/inventory/feet/item_vr.dmi'
default_worn_icon = 'icons/inventory/feet/mob_vr.dmi'
icon_state = "techno_rig"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
/obj/item/clothing/gloves/gauntlets/rig/focalpoint
icon = 'icons/inventory/hands/item_vr.dmi'
default_worn_icon = 'icons/inventory/hands/mob_vr.dmi'
icon_state = "techno_rig"
siemens_coefficient = 0
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
// 'Ironhammer' hardsuit
/obj/item/weapon/rig/hephaestus
name = "\improper Hephaestus hardsuit control module"
desc = "A high-end hardsuit produced by Hephaestus Industries, focused on destroying the competition. Literally."
icon = 'icons/obj/rig_modules_vr.dmi' // the item
default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob
icon_state = "ihs_rig"
suit_type = "\improper Hephaestus hardsuit"
cell_type = /obj/item/weapon/cell/super
armor = list("melee" = 70, "bullet" = 70, "laser" = 70, "energy" = 50, "bomb" = 60, "bio" = 100, "rad" = 20)
chest_type = /obj/item/clothing/suit/space/rig/hephaestus
helm_type = /obj/item/clothing/head/helmet/space/rig/hephaestus
boot_type = /obj/item/clothing/shoes/magboots/rig/hephaestus
glove_type = /obj/item/clothing/gloves/gauntlets/rig/hephaestus
/obj/item/weapon/rig/hephaestus/equipped
initial_modules = list(
/obj/item/rig_module/maneuvering_jets,
/obj/item/rig_module/grenade_launcher,
/obj/item/rig_module/mounted/egun,
/obj/item/rig_module/mounted/energy_blade
)
/obj/item/clothing/head/helmet/space/rig/hephaestus
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "ihs_rig"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
/obj/item/clothing/suit/space/rig/hephaestus
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "ihs_rig"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
/obj/item/clothing/shoes/magboots/rig/hephaestus
icon = 'icons/inventory/feet/item_vr.dmi'
default_worn_icon = 'icons/inventory/feet/mob_vr.dmi'
icon_state = "ihs_rig"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
/obj/item/clothing/gloves/gauntlets/rig/hephaestus
icon = 'icons/inventory/hands/item_vr.dmi'
default_worn_icon = 'icons/inventory/hands/mob_vr.dmi'
icon_state = "ihs_rig"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
=======
// 'Technomancer' hardsuit
/obj/item/weapon/rig/focalpoint
name = "\improper F.P.E. hardsuit control module"
desc = "A high-end hardsuit produced by Focal Point Energistics, focused around repair and construction."
icon = 'icons/obj/rig_modules_vr.dmi' // the item
default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob
icon_state = "techno_rig"
suit_type = "\improper F.P.E. hardsuit"
cell_type = /obj/item/weapon/cell/hyper
// Copied from CE rig
slowdown = 0
offline_slowdown = 0
offline_vision_restriction = 0
rigsuit_max_pressure = 20 * ONE_ATMOSPHERE // Max pressure the rig protects against when sealed
rigsuit_min_pressure = 0 // Min pressure the rig protects against when sealed
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE // so it's like a rig firesuit
armor = list("melee" = 40, "bullet" = 10, "laser" = 30, "energy" = 55, "bomb" = 70, "bio" = 100, "rad" = 100)
chest_type = /obj/item/clothing/suit/space/rig/focalpoint
helm_type = /obj/item/clothing/head/helmet/space/rig/focalpoint
boot_type = /obj/item/clothing/shoes/magboots/rig/focalpoint
glove_type = /obj/item/clothing/gloves/gauntlets/rig/focalpoint
/obj/item/weapon/rig/focalpoint/equipped
initial_modules = list(
/obj/item/rig_module/maneuvering_jets,
/obj/item/rig_module/teleporter, // Try not to set yourself on fire
/obj/item/rig_module/device/rcd,
/obj/item/rig_module/grenade_launcher/metalfoam
)
/obj/item/clothing/head/helmet/space/rig/focalpoint
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "techno_rig"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
/obj/item/clothing/suit/space/rig/focalpoint
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "techno_rig"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
/obj/item/clothing/shoes/magboots/rig/focalpoint
icon = 'icons/inventory/feet/item_vr.dmi'
default_worn_icon = 'icons/inventory/feet/mob_vr.dmi'
icon_state = "techno_rig"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
/obj/item/clothing/gloves/gauntlets/rig/focalpoint
icon = 'icons/inventory/hands/item_vr.dmi'
default_worn_icon = 'icons/inventory/hands/mob_vr.dmi'
icon_state = "techno_rig"
siemens_coefficient = 0
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
// 'Ironhammer' hardsuit
/obj/item/weapon/rig/hephaestus
name = "\improper Hephaestus hardsuit control module"
desc = "A high-end hardsuit produced by Hephaestus Industries, focused on destroying the competition. Literally."
icon = 'icons/obj/rig_modules_vr.dmi' // the item
default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob
icon_state = "ihs_rig"
suit_type = "\improper Hephaestus hardsuit"
cell_type = /obj/item/weapon/cell/super
armor = list("melee" = 70, "bullet" = 70, "laser" = 70, "energy" = 50, "bomb" = 60, "bio" = 100, "rad" = 20)
chest_type = /obj/item/clothing/suit/space/rig/hephaestus
helm_type = /obj/item/clothing/head/helmet/space/rig/hephaestus
boot_type = /obj/item/clothing/shoes/magboots/rig/hephaestus
glove_type = /obj/item/clothing/gloves/gauntlets/rig/hephaestus
/obj/item/weapon/rig/hephaestus/equipped
initial_modules = list(
/obj/item/rig_module/maneuvering_jets,
/obj/item/rig_module/grenade_launcher,
/obj/item/rig_module/mounted/egun,
/obj/item/rig_module/mounted/energy_blade
)
/obj/item/clothing/head/helmet/space/rig/hephaestus
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "ihs_rig"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
/obj/item/clothing/suit/space/rig/hephaestus
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "ihs_rig"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
/obj/item/clothing/shoes/magboots/rig/hephaestus
icon = 'icons/inventory/feet/item_vr.dmi'
default_worn_icon = 'icons/inventory/feet/mob_vr.dmi'
icon_state = "ihs_rig"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
/obj/item/clothing/gloves/gauntlets/rig/hephaestus
icon = 'icons/inventory/hands/item_vr.dmi'
default_worn_icon = 'icons/inventory/hands/mob_vr.dmi'
icon_state = "ihs_rig"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
// 'Zero' rig
/obj/item/weapon/rig/zero
name = "null hardsuit control module"
desc = "A very lightweight suit designed to allow use inside mechs and starfighters. It feels like you're wearing nothing at all."
icon = 'icons/obj/rig_modules_vr.dmi' // the item
default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob
icon_state = "null_rig"
suit_type = "null hardsuit"
cell_type = /obj/item/weapon/cell/high
chest_type = /obj/item/clothing/suit/space/rig/zero
helm_type = /obj/item/clothing/head/helmet/space/rig/zero
boot_type = null
glove_type = null
slowdown = 0
offline_slowdown = 1
offline_vision_restriction = 2
armor = list("melee" = 20, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 35, "bio" = 100, "rad" = 20)
/obj/item/weapon/rig/zero/equipped
initial_modules = list(
/obj/item/rig_module/maneuvering_jets
)
/obj/item/clothing/head/helmet/space/rig/zero
desc = "A bubble helmet that maximizes the field of view. A state of the art holographic display provides a stream of information."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "null_rig"
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_HEAD_ITEM
slowdown = 0
/obj/item/clothing/suit/space/rig/zero
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "null_rig"
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS // like a voidsuit
slowdown = 0
// Medical rig from bay
/obj/item/weapon/rig/baymed
name = "\improper Commonwealth medical hardsuit control module"
desc = "A lightweight first responder hardsuit from the Commonwealth. Not suitable for combat use, but advanced myomer fibers can push the user to incredible speeds."
icon = 'icons/obj/rig_modules_vr.dmi' // the item
default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob
icon_state = "medical_rig_bay"
item_state = null
suit_type = "medical hardsuit"
cell_type = /obj/item/weapon/cell/high
chest_type = /obj/item/clothing/suit/space/rig/baymed
helm_type = /obj/item/clothing/head/helmet/space/rig/baymed
boot_type = /obj/item/clothing/shoes/magboots/rig/baymed
glove_type = /obj/item/clothing/gloves/gauntlets/rig/baymed
// speedy paper
slowdown = -0.5
armor = list("melee" = 10, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 25, "bio" = 100, "rad" = 20)
/obj/item/weapon/rig/baymed/equipped
req_access = list(access_medical)
initial_modules = list(
/obj/item/rig_module/maneuvering_jets,
/obj/item/rig_module/sprinter,
/obj/item/rig_module/pat_module,
/obj/item/rig_module/rescue_pharm
)
/obj/item/clothing/head/helmet/space/rig/baymed
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "medical_rig_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_HEAD_ITEM
/obj/item/clothing/suit/space/rig/baymed
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "medical_rig_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM
/obj/item/clothing/shoes/magboots/rig/baymed
icon = 'icons/inventory/feet/item_vr.dmi'
default_worn_icon = 'icons/inventory/feet/mob_vr.dmi'
icon_state = "medical_rig_bay"
item_state = null
sprite_sheets = null
sprite_sheets_obj = null
/obj/item/clothing/gloves/gauntlets/rig/baymed
icon = 'icons/inventory/hands/item_vr.dmi'
default_worn_icon = 'icons/inventory/hands/mob_vr.dmi'
icon_state = "medical_rig_bay"
item_state = null
sprite_sheets = null
sprite_sheets_obj = null
// Engineering/'Industrial' rig from bay
/obj/item/weapon/rig/bayeng
name = "\improper Commonwealth engineering hardsuit control module"
desc = "An advanced construction hardsuit from the Commonwealth. Built like a tank. Don't expect to be taking any tight corners while running."
icon = 'icons/obj/rig_modules_vr.dmi' // the item
default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob
icon_state = "engineering_rig_bay"
item_state = null
suit_type = "engineering hardsuit"
cell_type = /obj/item/weapon/cell/super
chest_type = /obj/item/clothing/suit/space/rig/bayeng
helm_type = /obj/item/clothing/head/helmet/space/rig/bayeng
boot_type = /obj/item/clothing/shoes/magboots/rig/bayeng
glove_type = /obj/item/clothing/gloves/gauntlets/rig/bayeng
slowdown = 1
offline_slowdown = 5 // very bulky
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 100, rad = 50)
/obj/item/weapon/rig/bayeng//equipped
initial_modules = list(
/obj/item/rig_module/maneuvering_jets,
/obj/item/rig_module/device/rcd,
/obj/item/rig_module/grenade_launcher/metalfoam,
/obj/item/rig_module/vision/meson,
/obj/item/rig_module/ai_container
)
/obj/item/clothing/head/helmet/space/rig/bayeng
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "engineering_rig_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_HEAD_ITEM
/obj/item/clothing/suit/space/rig/bayeng
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "engineering_rig_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM
/obj/item/clothing/shoes/magboots/rig/bayeng
icon = 'icons/inventory/feet/item_vr.dmi'
default_worn_icon = 'icons/inventory/feet/mob_vr.dmi'
icon_state = "engineering_rig_bay"
item_state = null
sprite_sheets = null
sprite_sheets_obj = null
/obj/item/clothing/gloves/gauntlets/rig/bayeng
icon = 'icons/inventory/hands/item_vr.dmi'
default_worn_icon = 'icons/inventory/hands/mob_vr.dmi'
icon_state = "engineering_rig_bay"
item_state = null
sprite_sheets = null
sprite_sheets_obj = null
siemens_coefficient = 0 // insulated
// Pathfinder rig from bay - event/reward stuff here
/obj/item/weapon/rig/pathfinder
name = "\improper Commonwealth pathfinder hardsuit control module"
desc = "A Commonwealth pathfinder hardsuit is hard to come by... how'd this end up on the frontier?"
icon = 'icons/obj/rig_modules_vr.dmi' // the item
default_mob_icon = 'icons/mob/rig_back_vr.dmi' // the onmob
icon_state = "pathfinder_rig_bay"
item_state = null
suit_type = "pathfinder hardsuit"
cell_type = /obj/item/weapon/cell/super
chest_type = /obj/item/clothing/suit/space/rig/pathfinder
helm_type = /obj/item/clothing/head/helmet/space/rig/pathfinder
boot_type = /obj/item/clothing/shoes/magboots/rig/pathfinder
glove_type = /obj/item/clothing/gloves/gauntlets/rig/pathfinder
slowdown = 0.5
offline_slowdown = 4 // bulky
offline_vision_restriction = 2 // doesn't even have a way to see out without power
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 30, bio = 100, rad = 50)
/obj/item/weapon/rig/pathfinder//equipped
initial_modules = list(
/obj/item/rig_module/maneuvering_jets,
/obj/item/rig_module/teleporter,
/obj/item/rig_module/stealth_field,
/obj/item/rig_module/mounted/energy_blade
)
/obj/item/clothing/head/helmet/space/rig/pathfinder
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "pathfinder_rig_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_HEAD_ITEM
/obj/item/clothing/suit/space/rig/pathfinder
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "pathfinder_rig_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM
/obj/item/clothing/shoes/magboots/rig/pathfinder
icon = 'icons/inventory/feet/item_vr.dmi'
default_worn_icon = 'icons/inventory/feet/mob_vr.dmi'
icon_state = "pathfinder_rig_bay"
item_state = null
sprite_sheets = null
sprite_sheets_obj = null
/obj/item/clothing/gloves/gauntlets/rig/pathfinder
icon = 'icons/inventory/hands/item_vr.dmi'
default_worn_icon = 'icons/inventory/hands/mob_vr.dmi'
icon_state = "pathfinder_rig_bay"
item_state = null
sprite_sheets = null
sprite_sheets_obj = null
>>>>>>> 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport

View File

@@ -37,7 +37,7 @@
verbs |= /obj/item/clothing/head/helmet/space/proc/toggle_camera verbs |= /obj/item/clothing/head/helmet/space/proc/toggle_camera
if(type == /obj/item/clothing/head/helmet/space) //VOREStation edit - use the specially refitted sprites by KBraid. Done this way to avoid breaking subtypes. if(type == /obj/item/clothing/head/helmet/space) //VOREStation edit - use the specially refitted sprites by KBraid. Done this way to avoid breaking subtypes.
sprite_sheets[SPECIES_TESHARI] = 'icons/inventory/head/mob_vr_teshari.dmi' LAZYSET(sprite_sheets, SPECIES_TESHARI, 'icons/inventory/head/mob_vr_teshari.dmi')
/obj/item/clothing/head/helmet/space/proc/toggle_camera() /obj/item/clothing/head/helmet/space/proc/toggle_camera()
set name = "Toggle Helmet Camera" set name = "Toggle Helmet Camera"
@@ -94,7 +94,7 @@
/obj/item/clothing/suit/space/Initialize() /obj/item/clothing/suit/space/Initialize()
. = ..() . = ..()
if(type == /obj/item/clothing/suit/space) if(type == /obj/item/clothing/suit/space)
sprite_sheets[SPECIES_TESHARI] = 'icons/inventory/suit/mob_vr_teshari.dmi' // aAAAaaAAAAA LAZYSET(sprite_sheets, SPECIES_TESHARI, 'icons/inventory/suit/mob_vr_teshari.dmi')
//VOREStation edit end. //VOREStation edit end.
/obj/item/clothing/suit/space/equipped(mob/M) /obj/item/clothing/suit/space/equipped(mob/M)

View File

@@ -173,8 +173,8 @@
SPECIES_SKRELL = 'icons/inventory/suit/mob_vr_skrell.dmi', SPECIES_SKRELL = 'icons/inventory/suit/mob_vr_skrell.dmi',
SPECIES_UNATHI = 'icons/inventory/suit/mob_vr_unathi.dmi', SPECIES_UNATHI = 'icons/inventory/suit/mob_vr_unathi.dmi',
SPECIES_XENOHYBRID = 'icons/inventory/suit/mob_vr_unathi.dmi', SPECIES_XENOHYBRID = 'icons/inventory/suit/mob_vr_unathi.dmi',
SPECIES_AKULA = 'icons/inventory/suit/mob_akula.dmi', SPECIES_AKULA = 'icons/inventory/suit/mob_vr_akula.dmi',
SPECIES_SERGAL = 'icons/inventory/suit/mob_sergal.dmi', SPECIES_SERGAL = 'icons/inventory/suit/mob_vr_sergal.dmi',
SPECIES_VULPKANIN = 'icons/inventory/suit/mob_vr_vulpkanin.dmi', SPECIES_VULPKANIN = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vr_vulpkanin.dmi', SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',
SPECIES_FENNEC = 'icons/inventory/suit/mob_vr_vulpkanin.dmi', SPECIES_FENNEC = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',
@@ -215,7 +215,7 @@
SPECIES_VULPKANIN = 'icons/inventory/head/mob_vr_vulpkanin.dmi', SPECIES_VULPKANIN = 'icons/inventory/head/mob_vr_vulpkanin.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/head/mob_vr_vulpkanin.dmi', SPECIES_ZORREN_HIGH = 'icons/inventory/head/mob_vr_vulpkanin.dmi',
SPECIES_FENNEC = 'icons/inventory/head/mob_vr_vulpkanin.dmi', SPECIES_FENNEC = 'icons/inventory/head/mob_vr_vulpkanin.dmi',
SPECIES_SHADEKIN_CREW = 'icons/inventory/head/mob_vulpkanin.dmi', SPECIES_SHADEKIN_CREW = 'icons/inventory/head/mob_vr_vulpkanin.dmi',
SPECIES_VASILISSAN = 'icons/inventory/head/mob_vr.dmi', SPECIES_VASILISSAN = 'icons/inventory/head/mob_vr.dmi',
SPECIES_NEVREAN = 'icons/inventory/head/mob_vr.dmi', SPECIES_NEVREAN = 'icons/inventory/head/mob_vr.dmi',
SPECIES_RAPALA = 'icons/inventory/head/mob_vr.dmi', SPECIES_RAPALA = 'icons/inventory/head/mob_vr.dmi',

View File

@@ -73,6 +73,7 @@
/obj/item/clothing/suit/space/void/refurb/mercenary/talon /obj/item/clothing/suit/space/void/refurb/mercenary/talon
name = "talon mercenary's voidsuit" name = "talon mercenary's voidsuit"
<<<<<<< HEAD
desc = "A refurbished early contact era voidsuit of human design. These things aren't especially good against modern weapons but they're sturdy, incredibly easy to come by, and there are lots of spare parts for repairs. Many old-timer mercs swear by these old things, even if new powered hardsuits have more features and better armor. The red markings indicate this as the mercenary variant. \"ITV TALON\" has been stamped onto each pauldron and the right side of the breastplate." desc = "A refurbished early contact era voidsuit of human design. These things aren't especially good against modern weapons but they're sturdy, incredibly easy to come by, and there are lots of spare parts for repairs. Many old-timer mercs swear by these old things, even if new powered hardsuits have more features and better armor. The red markings indicate this as the mercenary variant. \"ITV TALON\" has been stamped onto each pauldron and the right side of the breastplate."
// HEV Suits // HEV Suits
@@ -231,3 +232,323 @@
// No animal people sprites for these yet, sad times // No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA) species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list() sprite_sheets = list()
||||||| parent of 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport
desc = "A refurbished early contact era voidsuit of human design. These things aren't especially good against modern weapons but they're sturdy, incredibly easy to come by, and there are lots of spare parts for repairs. Many old-timer mercs swear by these old things, even if new powered hardsuits have more features and better armor. The red markings indicate this as the mercenary variant. \"ITV TALON\" has been stamped onto each pauldron and the right side of the breastplate."
// HEV Suits
/obj/item/clothing/suit/space/void/hev
name = "hazardous environment suit"
desc = "Has a strange smell to it, but you feel like it might be an old friend."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "hev_orange"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
/obj/item/clothing/suit/space/void/hev/violet
icon_state = "hev_violet"
desc = "Has a strange smell to it, but you feel like it might be an old friend. This one has 'Dr. Coomer' engraved on the collar."
/obj/item/clothing/head/helmet/space/void/hev
name = "hazardous environment helmet"
desc = "Has a strange smell to it, but you feel like it might be an old friend."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "hev_orange"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
/obj/item/clothing/head/helmet/space/void/hev/violet
icon_state = "hev_violet"
desc = "Has a strange smell to it, but you feel like it might be an old friend. This one has 'Dr. Coomer' engraved on the collar."
// Makeshift void suit
/obj/item/clothing/suit/space/void/makeshift
name = "makeshift voidsuit"
desc = "This is not something you should use if you have other options, but it's better than nothing!"
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "makeshift_void"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 0)
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
/obj/item/clothing/head/helmet/space/void/makeshift
name = "makeshift voidsuit helmet"
desc = "This is not something you should use if you have other options, but it's better than nothing!"
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "makeshift_void"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 0)
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
// 'Custodian' armor
/obj/item/clothing/suit/space/void/custodian
name = "custodian suit"
desc = "Vacuum-capable armor for a Custodian to do their duty."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "custodian"
armor = list("melee" = 70, "bullet" = 70, "laser" = 70, "energy" = 50, "bomb" = 40, "bio" = 0, "rad" = 20)
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
/obj/item/clothing/head/helmet/space/void/custodian
name = "custodian helmet"
desc = "Vacuum-capable helmet for a Custodian to do their duty."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "custodian"
armor = list("melee" = 70, "bullet" = 70, "laser" = 70, "energy" = 50, "bomb" = 40, "bio" = 0, "rad" = 20)
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
// 'Moebius' armor
/obj/item/clothing/suit/space/void/aether
name = "\improper Aether voidsuit"
desc = "This suit seems rather high-end for a standard voidsuit. The air in it has a hint of 'new car smell', courtesy of Aether Atmospherics."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "moebiussuit"
armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 20, "bomb" = 20, "bio" = 100, "rad" = 20)
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
/obj/item/clothing/head/helmet/space/void/aether
name = "\improper Aether voidsuit helmet"
desc = "Aether Atmospherics thought that giving this helmet selectable colored lighting would improve market penetration. Very comfortable, regardless."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "moebiushelm_White"
armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 20, "bomb" = 20, "bio" = 100, "rad" = 20)
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
/obj/item/clothing/head/helmet/space/void/aether/verb/select_color()
set name = "Helmet Color"
set desc = "Change the color of [src]"
set category = "Object"
var/choice = tgui_input_list(usr, "Select a new color:", "[src] Color", list("White", "Blue", "Purple", "Yellow", "Red", "Green"))
if(!choice)
return
icon_state = "moebiushelm_[choice]"
update_clothing_icon()
to_chat(usr, "<span class='notice'>[src] color changed to: [choice]</span>")
// Excelsior suit
/obj/item/clothing/suit/space/void/excelsior
name = "\improper Excelsior voidsuit"
desc = "A space suit from a particular spaceship: Excelsior."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "excelsior"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
/obj/item/clothing/head/helmet/space/void/excelsior
name = "\improper Excelsior voidsuit helmet"
desc = "A space helmet from a particular spaceship: Excelsior."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "excelsior"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = list()
=======
desc = "A refurbished early contact era voidsuit of human design. These things aren't especially good against modern weapons but they're sturdy, incredibly easy to come by, and there are lots of spare parts for repairs. Many old-timer mercs swear by these old things, even if new powered hardsuits have more features and better armor. The red markings indicate this as the mercenary variant. \"ITV TALON\" has been stamped onto each pauldron and the right side of the breastplate."
// HEV Suits
/obj/item/clothing/suit/space/void/hev
name = "hazardous environment suit"
desc = "Has a strange smell to it, but you feel like it might be an old friend."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "hev_orange"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
/obj/item/clothing/suit/space/void/hev/violet
icon_state = "hev_violet"
desc = "Has a strange smell to it, but you feel like it might be an old friend. This one has 'Dr. Coomer' engraved on the collar."
/obj/item/clothing/head/helmet/space/void/hev
name = "hazardous environment helmet"
desc = "Has a strange smell to it, but you feel like it might be an old friend."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "hev_orange"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
/obj/item/clothing/head/helmet/space/void/hev/violet
icon_state = "hev_violet"
desc = "Has a strange smell to it, but you feel like it might be an old friend. This one has 'Dr. Coomer' engraved on the collar."
// Makeshift void suit
/obj/item/clothing/suit/space/void/makeshift
name = "makeshift voidsuit"
desc = "This is not something you should use if you have other options, but it's better than nothing!"
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "makeshift_void"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 0)
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
/obj/item/clothing/head/helmet/space/void/makeshift
name = "makeshift voidsuit helmet"
desc = "This is not something you should use if you have other options, but it's better than nothing!"
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "makeshift_void"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 0)
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
// 'Custodian' armor
/obj/item/clothing/suit/space/void/custodian
name = "custodian suit"
desc = "Vacuum-capable armor for a Custodian to do their duty."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "custodian"
armor = list("melee" = 70, "bullet" = 70, "laser" = 70, "energy" = 50, "bomb" = 40, "bio" = 0, "rad" = 20)
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
/obj/item/clothing/head/helmet/space/void/custodian
name = "custodian helmet"
desc = "Vacuum-capable helmet for a Custodian to do their duty."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "custodian"
armor = list("melee" = 70, "bullet" = 70, "laser" = 70, "energy" = 50, "bomb" = 40, "bio" = 0, "rad" = 20)
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
// 'Moebius' armor
/obj/item/clothing/suit/space/void/aether
name = "\improper Aether voidsuit"
desc = "This suit seems rather high-end for a standard voidsuit. The air in it has a hint of 'new car smell', courtesy of Aether Atmospherics."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "moebiussuit"
armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 20, "bomb" = 20, "bio" = 100, "rad" = 20)
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
/obj/item/clothing/head/helmet/space/void/aether
name = "\improper Aether voidsuit helmet"
desc = "Aether Atmospherics thought that giving this helmet selectable colored lighting would improve market penetration. Very comfortable, regardless."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "moebiushelm_White"
armor = list("melee" = 30, "bullet" = 30, "laser" = 30, "energy" = 20, "bomb" = 20, "bio" = 100, "rad" = 20)
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
/obj/item/clothing/head/helmet/space/void/aether/verb/select_color()
set name = "Helmet Color"
set desc = "Change the color of [src]"
set category = "Object"
var/choice = tgui_input_list(usr, "Select a new color:", "[src] Color", list("White", "Blue", "Purple", "Yellow", "Red", "Green"))
if(!choice)
return
icon_state = "moebiushelm_[choice]"
update_clothing_icon()
to_chat(usr, "<span class='notice'>[src] color changed to: [choice]</span>")
// Excelsior suit
/obj/item/clothing/suit/space/void/excelsior
name = "\improper Excelsior voidsuit"
desc = "A space suit from a particular spaceship: Excelsior."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "excelsior"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
/obj/item/clothing/head/helmet/space/void/excelsior
name = "\improper Excelsior voidsuit helmet"
desc = "A space helmet from a particular spaceship: Excelsior."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "excelsior"
// No animal people sprites for these yet, sad times
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
sprite_sheets = null
>>>>>>> 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport

View File

@@ -7,9 +7,9 @@
SPECIES_XENOHYBRID = 'icons/inventory/head/mob_unathi.dmi', SPECIES_XENOHYBRID = 'icons/inventory/head/mob_unathi.dmi',
SPECIES_AKULA = 'icons/inventory/head/mob_unathi.dmi', SPECIES_AKULA = 'icons/inventory/head/mob_unathi.dmi',
SPECIES_SERGAL = 'icons/inventory/head/mob_unathi.dmi', SPECIES_SERGAL = 'icons/inventory/head/mob_unathi.dmi',
SPECIES_VULPKANIN = 'icons/inventory/head/mob_vulpkanin.dmi', SPECIES_VULPKANIN = 'icons/inventory/head/mob_vr_vulpkanin.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/head/mob_vulpkanin.dmi', SPECIES_ZORREN_HIGH = 'icons/inventory/head/mob_vr_vulpkanin.dmi',
SPECIES_FENNEC = 'icons/inventory/head/mob_vulpkanin.dmi' SPECIES_FENNEC = 'icons/inventory/head/mob_vr_vulpkanin.dmi'
) )
sprite_sheets_obj = list( sprite_sheets_obj = list(
SPECIES_TAJ = 'icons/inventory/head/item.dmi', SPECIES_TAJ = 'icons/inventory/head/item.dmi',
@@ -30,11 +30,11 @@
SPECIES_SKRELL = 'icons/inventory/suit/mob_skrell.dmi', SPECIES_SKRELL = 'icons/inventory/suit/mob_skrell.dmi',
SPECIES_UNATHI = 'icons/inventory/suit/mob_unathi.dmi', SPECIES_UNATHI = 'icons/inventory/suit/mob_unathi.dmi',
SPECIES_XENOHYBRID = 'icons/inventory/suit/mob_unathi.dmi', SPECIES_XENOHYBRID = 'icons/inventory/suit/mob_unathi.dmi',
SPECIES_AKULA = 'icons/inventory/suit/mob_akula.dmi', SPECIES_AKULA = 'icons/inventory/suit/mob_vr_akula.dmi',
SPECIES_SERGAL = 'icons/inventory/suit/mob_sergal.dmi', SPECIES_SERGAL = 'icons/inventory/suit/mob_vr_sergal.dmi',
SPECIES_VULPKANIN = 'icons/inventory/suit/mob_vulpkanin.dmi', SPECIES_VULPKANIN = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vulpkanin.dmi', SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',
SPECIES_FENNEC = 'icons/inventory/suit/mob_vulpkanin.dmi' SPECIES_FENNEC = 'icons/inventory/suit/mob_vr_vulpkanin.dmi'
) )
sprite_sheets_obj = list( sprite_sheets_obj = list(
SPECIES_TAJ = 'icons/inventory/suit/item.dmi', SPECIES_TAJ = 'icons/inventory/suit/item.dmi',
@@ -47,3 +47,201 @@
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/item.dmi', SPECIES_ZORREN_HIGH = 'icons/inventory/suit/item.dmi',
SPECIES_FENNEC = 'icons/inventory/suit/item.dmi' SPECIES_FENNEC = 'icons/inventory/suit/item.dmi'
) )
// Alt mining voidsuit
/obj/item/clothing/suit/space/void/mining/alt2
desc = "A surplus Commonwealth mining voidsuit! Slightly more comfortable and easier to move in than your average voidsuit."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "void_mining_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM
slowdown = 0
/obj/item/clothing/head/helmet/space/void/mining/alt2
desc = "A surplus Commonwealth voidsuit helmet. Seems more fancy than what's usually found on the frontier."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "void_mining_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_HEAD_ITEM
// Alt anomaly/excavation suit
/obj/item/clothing/suit/space/anomaly/alt
desc = "A surplus Commonwealth anomaly suit! Slightly more comfortable and easier to move in than your average anomaly suit."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "void_excavation_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM
slowdown = 0.5
/obj/item/clothing/head/helmet/space/anomaly/alt
desc = "A surplus Commonwealth helmet. Seems more fancy than what's usually found on the frontier."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "void_excavation_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_HEAD_ITEM
// Alt riot suit
/obj/item/clothing/suit/space/void/security/riot/alt
desc = "A surplus Commonwealth riot control voidsuit! Slightly more comfortable and easier to move in than your average voidsuit."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "void_secalt_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM
slowdown = 0.5
/obj/item/clothing/head/helmet/space/void/security/riot/alt
desc = "A surplus Commonwealth voidsuit helmet. Seems more fancy than what's usually found on the frontier."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "void_secalt_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_HEAD_ITEM
// Alt pilot suit
/obj/item/clothing/suit/space/void/pilot/alt2
desc = "A surplus Commonwealth pilot voidsuit! Slightly more comfortable and easier to move in than your average voidsuit."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "void_pilot_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM
slowdown = 0
/obj/item/clothing/head/helmet/space/void/pilot/alt2
desc = "A surplus Commonwealth voidsuit helmet. Seems more fancy than what's usually found on the frontier."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "void_pilot_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_HEAD_ITEM
// Alt medical/emt suit
/obj/item/clothing/suit/space/void/medical/alt2
desc = "A surplus Commonwealth medical voidsuit! Slightly more comfortable and easier to move in than your average voidsuit."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "void_medicalalt_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM
slowdown = 0
/obj/item/clothing/head/helmet/space/void/medical/alt2
desc = "A surplus Commonwealth voidsuit helmet. Seems more fancy than what's usually found on the frontier."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "void_medicalalt_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_HEAD_ITEM
// Alt explorer suit
/obj/item/clothing/suit/space/void/exploration/alt2
desc = "A surplus Commonwealth exploration voidsuit! Slightly more comfortable and easier to move in than your average voidsuit."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "void_explorer_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM
slowdown = 0
/obj/item/clothing/head/helmet/space/void/exploration/alt2
desc = "A surplus Commonwealth voidsuit helmet. Seems more fancy than what's usually found on the frontier."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "void_explorer_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_HEAD_ITEM
// Alt engineering voidsuit
/obj/item/clothing/suit/space/void/engineering/alt2
desc = "A surplus Commonwealth engineering voidsuit! Slightly more comfortable and easier to move in than your average voidsuit."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "void_engineeringalt_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM
slowdown = 0.5
/obj/item/clothing/head/helmet/space/void/engineering/alt2
desc = "A surplus Commonwealth voidsuit helmet. Seems more fancy than what's usually found on the frontier."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "void_engineeringalt_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_HEAD_ITEM
// Alt atmos voidsuit
/obj/item/clothing/suit/space/void/atmos/alt2
desc = "A surplus Commonwealth atmospherics voidsuit! Slightly more comfortable and easier to move in than your average voidsuit."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "void_atmosalt_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM
slowdown = 0.5
/obj/item/clothing/head/helmet/space/void/atmos/alt2
desc = "A surplus Commonwealth voidsuit helmet. Seems more fancy than what's usually found on the frontier."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "void_atmosalt_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_HEAD_ITEM
// Alt command voidsuit
/obj/item/clothing/suit/space/void/captain/alt
desc = "A surplus Commonwealth Navy captain voidsuit! Slightly more comfortable and easier to move in than your average voidsuit."
icon = 'icons/inventory/suit/item_vr.dmi'
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
icon_state = "void_command_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_SUIT_ITEM
slowdown = 1.0
/obj/item/clothing/head/helmet/space/void/captain/alt
desc = "A surplus Commonwealth voidsuit helmet. Seems more fancy than what's usually found on the frontier."
icon = 'icons/inventory/head/item_vr.dmi'
default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
icon_state = "void_command_bay"
item_state = null
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = ALL_VR_SPRITE_SHEETS_HEAD_ITEM

View File

@@ -7,61 +7,13 @@
/obj/item/clothing/head/helmet/space/void /obj/item/clothing/head/helmet/space/void
species_restricted = list(SPECIES_HUMAN, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA) species_restricted = list(SPECIES_HUMAN, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA)
sprite_sheets = list( sprite_sheets = VR_SPECIES_SPRITE_SHEETS_HEAD_MOB
SPECIES_TAJ = 'icons/inventory/head/mob_tajaran.dmi', sprite_sheets_obj = VR_SPECIES_SPRITE_SHEETS_HEAD_ITEM
SPECIES_SKRELL = 'icons/inventory/head/mob_skrell.dmi',
SPECIES_UNATHI = 'icons/inventory/head/mob_unathi.dmi',
SPECIES_TESHARI = 'icons/inventory/head/mob_teshari.dmi',
SPECIES_XENOHYBRID = 'icons/inventory/head/mob_unathi.dmi',
SPECIES_AKULA = 'icons/inventory/head/mob_akula.dmi',
SPECIES_SERGAL = 'icons/inventory/head/mob_sergal.dmi',
SPECIES_NEVREAN = 'icons/inventory/head/mob_sergal.dmi',
SPECIES_VULPKANIN = 'icons/inventory/head/mob_vulpkanin.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/head/mob_vulpkanin.dmi',
SPECIES_FENNEC = 'icons/inventory/head/mob_vulpkanin.dmi'
)
sprite_sheets_obj = list(
SPECIES_TAJ = 'icons/inventory/head/item_tajaran.dmi',
SPECIES_SKRELL = 'icons/inventory/head/item_skrell.dmi',
SPECIES_UNATHI = 'icons/inventory/head/item_unathi.dmi',
SPECIES_TESHARI = 'icons/inventory/head/item_teshari.dmi',
SPECIES_XENOHYBRID = 'icons/inventory/head/item_unathi.dmi',
SPECIES_AKULA = 'icons/inventory/head/item_akula.dmi',
SPECIES_SERGAL = 'icons/inventory/head/item_sergal.dmi',
SPECIES_NEVREAN = 'icons/inventory/head/item_sergal.dmi',
SPECIES_VULPKANIN = 'icons/inventory/head/item_vulpkanin.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/head/item_vulpkanin.dmi',
SPECIES_FENNEC = 'icons/inventory/head/item_vulpkanin.dmi'
)
/obj/item/clothing/suit/space/void /obj/item/clothing/suit/space/void
species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA) species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA)
sprite_sheets = list( sprite_sheets = VR_SPECIES_SPRITE_SHEETS_SUIT_MOB
SPECIES_TAJ = 'icons/inventory/suit/mob_tajaran.dmi', sprite_sheets_obj = VR_SPECIES_SPRITE_SHEETS_SUIT_ITEM
SPECIES_SKRELL = 'icons/inventory/suit/mob_skrell.dmi',
SPECIES_UNATHI = 'icons/inventory/suit/mob_unathi.dmi',
SPECIES_TESHARI = 'icons/inventory/suit/mob_teshari.dmi',
SPECIES_XENOHYBRID = 'icons/inventory/suit/mob_unathi.dmi',
SPECIES_AKULA = 'icons/inventory/suit/mob_akula.dmi',
SPECIES_SERGAL = 'icons/inventory/suit/mob_sergal.dmi',
SPECIES_NEVREAN = 'icons/inventory/suit/mob_sergal.dmi',
SPECIES_VULPKANIN = 'icons/inventory/suit/mob_vulpkanin.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vulpkanin.dmi',
SPECIES_FENNEC = 'icons/inventory/suit/mob_vulpkanin.dmi'
)
sprite_sheets_obj = list(
SPECIES_TAJ = 'icons/inventory/suit/item_tajaran.dmi',
SPECIES_SKRELL = 'icons/inventory/suit/item_skrell.dmi',
SPECIES_UNATHI = 'icons/inventory/suit/item_unathi.dmi',
SPECIES_TESHARI = 'icons/inventory/suit/item_teshari.dmi',
SPECIES_XENOHYBRID = 'icons/inventory/suit/item_unathi.dmi',
SPECIES_AKULA = 'icons/inventory/suit/item_akula.dmi',
SPECIES_SERGAL = 'icons/inventory/suit/item_sergal.dmi',
SPECIES_NEVREAN = 'icons/inventory/suit/item_sergal.dmi',
SPECIES_VULPKANIN = 'icons/inventory/suit/item_vulpkanin.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/item_vulpkanin.dmi',
SPECIES_FENNEC = 'icons/inventory/suit/item_vulpkanin.dmi'
)
// This is a hack to prevent the item_state variable on the suits from taking effect // This is a hack to prevent the item_state variable on the suits from taking effect
// when the item is equipped in outer clothing slot. // when the item is equipped in outer clothing slot.
@@ -152,33 +104,9 @@
breach_threshold = 6 //this thing is basically tissue paper breach_threshold = 6 //this thing is basically tissue paper
w_class = ITEMSIZE_NORMAL //if it's snug, high-tech, and made of relatively soft materials, it should be much easier to store! w_class = ITEMSIZE_NORMAL //if it's snug, high-tech, and made of relatively soft materials, it should be much easier to store!
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi' default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
/obj/item/clothing/suit/space/void/autolok sprite_sheets_obj = null
sprite_sheets = list( sprite_sheets_refit = null
SPECIES_HUMAN = 'icons/inventory/suit/mob_vr.dmi',
SPECIES_TAJ = 'icons/inventory/suit/mob_vr_tajaran.dmi',
SPECIES_SKRELL = 'icons/inventory/suit/mob_vr_skrell.dmi',
SPECIES_UNATHI = 'icons/inventory/suit/mob_vr_unathi.dmi',
SPECIES_XENOHYBRID = 'icons/inventory/suit/mob_vr_unathi.dmi',
SPECIES_AKULA = 'icons/inventory/suit/mob_vr_unathi.dmi',
SPECIES_SERGAL = 'icons/inventory/suit/mob_vr_unathi.dmi',
SPECIES_VULPKANIN = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',
SPECIES_FENNEC = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',
SPECIES_TESHARI = 'icons/inventory/suit/mob_vr_teshari.dmi'
)
sprite_sheets_obj = list(
SPECIES_TAJ = 'icons/inventory/suit/item_vr.dmi',
SPECIES_SKRELL = 'icons/inventory/suit/item_vr.dmi',
SPECIES_UNATHI = 'icons/inventory/suit/item_vr.dmi',
SPECIES_XENOHYBRID = 'icons/inventory/suit/item_vr.dmi',
SPECIES_AKULA = 'icons/inventory/suit/item_vr.dmi',
SPECIES_SERGAL = 'icons/inventory/suit/item_vr.dmi',
SPECIES_VULPKANIN = 'icons/inventory/suit/item_vr.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/item_vr.dmi',
SPECIES_FENNEC = 'icons/inventory/suit/item_vr.dmi',
SPECIES_TESHARI = 'icons/inventory/suit/item_vr.dmi'
)
/obj/item/clothing/suit/space/void/autolok/Initialize() /obj/item/clothing/suit/space/void/autolok/Initialize()
. = ..() . = ..()
@@ -232,6 +160,7 @@
species_restricted = list("exclude",SPECIES_DIONA,SPECIES_VOX) //this thing can autoadapt too species_restricted = list("exclude",SPECIES_DIONA,SPECIES_VOX) //this thing can autoadapt too
flags_inv = HIDEEARS|BLOCKHAIR //removed HIDEFACE/MASK/EYES flags so sunglasses or facemasks don't disappear. still gotta have BLOCKHAIR or it'll clip out tho. flags_inv = HIDEEARS|BLOCKHAIR //removed HIDEFACE/MASK/EYES flags so sunglasses or facemasks don't disappear. still gotta have BLOCKHAIR or it'll clip out tho.
default_worn_icon = 'icons/inventory/head/mob_vr.dmi' default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
<<<<<<< HEAD
/obj/item/clothing/head/helmet/space/void/autolok /obj/item/clothing/head/helmet/space/void/autolok
sprite_sheets = list( sprite_sheets = list(
@@ -260,3 +189,38 @@
SPECIES_TESHARI = 'icons/inventory/head/item_vr.dmi' SPECIES_TESHARI = 'icons/inventory/head/item_vr.dmi'
) )
sprite_sheets_refit = list() //have to nullify this as well just to be thorough sprite_sheets_refit = list() //have to nullify this as well just to be thorough
||||||| parent of 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport
/obj/item/clothing/head/helmet/space/void/autolok
sprite_sheets = list(
SPECIES_HUMAN = 'icons/inventory/head/mob_vr.dmi',
SPECIES_TAJ = 'icons/inventory/head/mob_vr_tajaran.dmi',
SPECIES_SKRELL = 'icons/inventory/head/mob_vr_skrell.dmi',
SPECIES_UNATHI = 'icons/inventory/head/mob_vr_unathi.dmi',
SPECIES_XENOHYBRID = 'icons/inventory/head/mob_vr_unathi.dmi',
SPECIES_AKULA = 'icons/inventory/head/mob_vr_unathi.dmi',
SPECIES_SERGAL = 'icons/inventory/head/mob_vr_unathi.dmi',
SPECIES_VULPKANIN = 'icons/inventory/head/mob_vr_vulpkanin.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/head/mob_vr_vulpkanin.dmi',
SPECIES_FENNEC = 'icons/inventory/head/mob_vr_vulpkanin.dmi',
SPECIES_TESHARI = 'icons/inventory/head/mob_vr_teshari.dmi'
)
sprite_sheets_obj = list(
SPECIES_TAJ = 'icons/inventory/head/item_vr.dmi',
SPECIES_SKRELL = 'icons/inventory/head/item_vr.dmi',
SPECIES_UNATHI = 'icons/inventory/head/item_vr.dmi',
SPECIES_XENOHYBRID = 'icons/inventory/head/item_vr.dmi',
SPECIES_AKULA = 'icons/inventory/head/item_vr.dmi',
SPECIES_SERGAL = 'icons/inventory/head/item_vr.dmi',
SPECIES_VULPKANIN = 'icons/inventory/head/item_vr.dmi',
SPECIES_ZORREN_HIGH = 'icons/inventory/head/item_vr.dmi',
SPECIES_FENNEC = 'icons/inventory/head/item_vr.dmi',
SPECIES_TESHARI = 'icons/inventory/head/item_vr.dmi'
)
sprite_sheets_refit = list() //have to nullify this as well just to be thorough
=======
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = null
sprite_sheets_refit = null
>>>>>>> 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport

View File

@@ -20,12 +20,12 @@
sprite_sheets = list( sprite_sheets = list(
SPECIES_TESHARI = 'icons/inventory/head/mob_ch_teshari.dmi', //CHOMPstation edit, using our overwrite icons SPECIES_TESHARI = 'icons/inventory/head/mob_ch_teshari.dmi', //CHOMPstation edit, using our overwrite icons
SPECIES_VOX = 'icons/inventory/head/mob_vox.dmi', SPECIES_VOX = 'icons/inventory/head/mob_vox.dmi',
SPECIES_WEREBEAST = 'icons/inventory/head/mob_werebeast.dmi' SPECIES_WEREBEAST = 'icons/inventory/head/mob_vr_werebeast.dmi'
) )
/obj/item/clothing/suit/radiation /obj/item/clothing/suit/radiation
sprite_sheets = list( sprite_sheets = list(
SPECIES_TESHARI = 'icons/inventory/suit/mob_ch_teshari.dmi', //CHOMPstation edit, using our overwrite icons SPECIES_TESHARI = 'icons/inventory/suit/mob_ch_teshari.dmi', //CHOMPstation edit, using our overwrite icons
SPECIES_VOX = 'icons/inventory/suit/mob_vox.dmi', SPECIES_VOX = 'icons/inventory/suit/mob_vox.dmi',
SPECIES_WEREBEAST = 'icons/inventory/suit/mob_werebeast.dmi' SPECIES_WEREBEAST = 'icons/inventory/suit/mob_vr_werebeast.dmi'
) )

View File

@@ -57,7 +57,7 @@
if("[tmp_icon_state]_mob" in cached_icon_states(icon_override)) if("[tmp_icon_state]_mob" in cached_icon_states(icon_override))
tmp_icon_state = "[tmp_icon_state]_mob" tmp_icon_state = "[tmp_icon_state]_mob"
mob_overlay = image("icon" = icon_override, "icon_state" = "[tmp_icon_state]") mob_overlay = image("icon" = icon_override, "icon_state" = "[tmp_icon_state]")
else if(wearer && sprite_sheets[wearer.species.get_bodytype(wearer)]) //Teshari can finally into webbing, too! else if(wearer && LAZYACCESS(sprite_sheets, wearer.species.get_bodytype(wearer))) //Teshari can finally into webbing, too!
mob_overlay = image("icon" = sprite_sheets[wearer.species.get_bodytype(wearer)], "icon_state" = "[tmp_icon_state]") mob_overlay = image("icon" = sprite_sheets[wearer.species.get_bodytype(wearer)], "icon_state" = "[tmp_icon_state]")
else else
mob_overlay = image("icon" = INV_ACCESSORIES_DEF_ICON, "icon_state" = "[tmp_icon_state]") mob_overlay = image("icon" = INV_ACCESSORIES_DEF_ICON, "icon_state" = "[tmp_icon_state]")

View File

@@ -11,7 +11,7 @@
body_parts_covered = 0 body_parts_covered = 0
equip_sound = null equip_sound = null
sprite_sheets = list() sprite_sheets = null
item_state = "golem" //This is dumb and hacky but was here when I got here. item_state = "golem" //This is dumb and hacky but was here when I got here.
worn_state = "golem" //It's basically just a coincidentally black iconstate in the file. worn_state = "golem" //It's basically just a coincidentally black iconstate in the file.

View File

@@ -96,7 +96,7 @@
//this has to mirror the way update_inv_*_hand() selects the state //this has to mirror the way update_inv_*_hand() selects the state
/datum/custom_item/proc/get_state(var/obj/item/item, var/slot_str, var/hand_str) /datum/custom_item/proc/get_state(var/obj/item/item, var/slot_str, var/hand_str)
var/t_state var/t_state
if(item.item_state_slots && item.item_state_slots[slot_str]) if(LAZYACCESS(item.item_state_slots, slot_str))
t_state = item.item_state_slots[slot_str] t_state = item.item_state_slots[slot_str]
else if(item.item_state) else if(item.item_state)
t_state = item.item_state t_state = item.item_state
@@ -111,7 +111,7 @@
var/icon/t_icon var/icon/t_icon
if(item.icon_override) if(item.icon_override)
t_icon = item.icon_override t_icon = item.icon_override
else if(item.item_icons && (slot_str in item.item_icons)) else if(LAZYACCESS(item.item_icons, slot_str))
t_icon = item.item_icons[slot_str] t_icon = item.item_icons[slot_str]
else else
t_icon = hand_icon t_icon = hand_icon

View File

@@ -267,7 +267,7 @@ emp_act
if(!affecting) if(!affecting)
return //should be prevented by attacked_with_item() but for sanity. return //should be prevented by attacked_with_item() but for sanity.
visible_message("<span class='danger'>[src] has been [I.attack_verb.len? pick(I.attack_verb) : "attacked"] in the [affecting.name] with [I.name] by [user]!</span>") visible_message("<span class='danger'>[src] has been [LAZYLEN(I.attack_verb) ? pick(I.attack_verb) : "attacked"] in the [affecting.name] with [I.name] by [user]!</span>")
var/soaked = get_armor_soak(hit_zone, "melee", I.armor_penetration) var/soaked = get_armor_soak(hit_zone, "melee", I.armor_penetration)

View File

@@ -33,6 +33,85 @@
for(var/obj/item/I in loc) for(var/obj/item/I in loc)
equip_to_appropriate_slot(I) equip_to_appropriate_slot(I)
<<<<<<< HEAD
||||||| parent of 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport
/mob/living/carbon/human/dummy/mannequin/autoequip
icon = 'icons/effects/species.dmi'
icon_state = "lizard_f_s_full"
/mob/living/carbon/human/dummy/mannequin/autoequip/Initialize()
icon = null
icon_state = ""
. = ..()
for(var/obj/item/I in loc)
equip_to_appropriate_slot(I)
=======
/mob/living/carbon/human/dummy/mannequin/autoequip
icon = 'icons/mob/human_races/r_human.dmi'
icon_state = "preview"
/mob/living/carbon/human/dummy/mannequin/autoequip/Initialize()
icon = null
icon_state = ""
. = ..()
dress_up()
turntable()
/mob/living/carbon/human/dummy/mannequin/autoequip/proc/dress_up()
set waitfor = FALSE
for(var/obj/item/I in loc)
if(istype(I, /obj/item/clothing))
var/obj/item/clothing/C = I
C.species_restricted = null
equip_to_appropriate_slot(I)
if(istype(back, /obj/item/weapon/rig))
var/obj/item/weapon/rig/rig = back
rig.toggle_seals(src)
/mob/living/carbon/human/dummy/mannequin/autoequip/proc/turntable()
set waitfor = FALSE
while(TRUE)
set_dir(SOUTH)
sleep(2 SECONDS)
set_dir(EAST)
sleep(2 SECONDS)
set_dir(NORTH)
sleep(2 SECONDS)
set_dir(WEST)
sleep(2 SECONDS)
/mob/living/carbon/human/dummy/mannequin/autoequip/tajaran
icon = 'icons/mob/human_races/r_tajaran.dmi'
/mob/living/carbon/human/dummy/mannequin/autoequip/tajaran/Initialize(var/new_loc)
h_style = "Tajaran Ears"
return ..(new_loc, SPECIES_TAJ)
/mob/living/carbon/human/dummy/mannequin/autoequip/unathi
icon = 'icons/mob/human_races/r_lizard.dmi'
/mob/living/carbon/human/dummy/mannequin/autoequip/unathi/Initialize(var/new_loc)
h_style = "Unathi Horns"
return ..(new_loc, SPECIES_UNATHI)
/mob/living/carbon/human/dummy/mannequin/autoequip/sergal
icon = 'icons/mob/human_races/r_sergal.dmi'
/mob/living/carbon/human/dummy/mannequin/autoequip/sergal/Initialize(var/new_loc)
h_style = "Sergal Ears"
return ..(new_loc, SPECIES_SERGAL)
/mob/living/carbon/human/dummy/mannequin/autoequip/vulpkanin
icon = 'icons/mob/human_races/r_vulpkanin.dmi'
/mob/living/carbon/human/dummy/mannequin/autoequip/vulpkanin/Initialize(var/new_loc)
h_style = "vulpkanin, dual-color"
return ..(new_loc, SPECIES_VULPKANIN)
>>>>>>> 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport
/mob/living/carbon/human/skrell/Initialize(var/new_loc) /mob/living/carbon/human/skrell/Initialize(var/new_loc)
h_style = "Skrell Short Tentacles" h_style = "Skrell Short Tentacles"
return ..(new_loc, SPECIES_SKRELL) return ..(new_loc, SPECIES_SKRELL)

View File

@@ -15,7 +15,7 @@
user.setClickCooldown(user.get_attack_speed(W)) user.setClickCooldown(user.get_attack_speed(W))
if(W.force) if(W.force)
visible_message("<span class='warning'>\The [src] has been [pick(W.attack_verb)] with \the [W][(user ? " by [user]." : ".")]</span>") visible_message("<span class='warning'>\The [src] has been [LAZYLEN(W.attack_verb) ? pick(W.attack_verb) : "attacked"] with \the [W][(user ? " by [user]." : ".")]</span>")
qdel(src) qdel(src)
/obj/effect/weaversilk/bullet_act(var/obj/item/projectile/Proj) /obj/effect/weaversilk/bullet_act(var/obj/item/projectile/Proj)

View File

@@ -225,7 +225,7 @@
//Called when the mob is hit with an item in combat. Returns the blocked result //Called when the mob is hit with an item in combat. Returns the blocked result
/mob/living/proc/hit_with_weapon(obj/item/I, mob/living/user, var/effective_force, var/hit_zone) /mob/living/proc/hit_with_weapon(obj/item/I, mob/living/user, var/effective_force, var/hit_zone)
visible_message("<span class='danger'>[src] has been [I.attack_verb.len? pick(I.attack_verb) : "attacked"] with [I.name] by [user]!</span>") visible_message("<span class='danger'>[src] has been [LAZYLEN(I.attack_verb) ? pick(I.attack_verb) : "attacked"] with [I.name] by [user]!</span>")
if(ai_holder) if(ai_holder)
ai_holder.react_to_attack(user) ai_holder.react_to_attack(user)

View File

@@ -1,7 +1,7 @@
var/list/mob_hat_cache = list() var/list/mob_hat_cache = list()
/proc/get_hat_icon(var/obj/item/hat, var/offset_x = 0, var/offset_y = 0) /proc/get_hat_icon(var/obj/item/hat, var/offset_x = 0, var/offset_y = 0)
var/t_state = hat.icon_state var/t_state = hat.icon_state
if(hat.item_state_slots && hat.item_state_slots[slot_head_str]) if(LAZYACCESS(hat.item_state_slots, slot_head_str))
t_state = hat.item_state_slots[slot_head_str] t_state = hat.item_state_slots[slot_head_str]
else if(hat.item_state) else if(hat.item_state)
t_state = hat.item_state t_state = hat.item_state
@@ -10,7 +10,7 @@ var/list/mob_hat_cache = list()
var/t_icon = INV_HEAD_DEF_ICON // are unique across multiple dmis, but whatever. var/t_icon = INV_HEAD_DEF_ICON // are unique across multiple dmis, but whatever.
if(hat.icon_override) if(hat.icon_override)
t_icon = hat.icon_override t_icon = hat.icon_override
else if(hat.item_icons && (slot_head_str in hat.item_icons)) else if(LAZYACCESS(hat.item_icons, slot_head_str))
t_icon = hat.item_icons[slot_head_str] t_icon = hat.item_icons[slot_head_str]
var/image/I = image(icon = t_icon, icon_state = t_state) var/image/I = image(icon = t_icon, icon_state = t_state)
I.pixel_x = offset_x I.pixel_x = offset_x

View File

@@ -52,7 +52,7 @@
//determine icon state to use //determine icon state to use
var/t_state var/t_state
if(r_hand.item_state_slots && r_hand.item_state_slots[slot_r_hand_str]) if(LAZYACCESS(r_hand.item_state_slots, slot_r_hand_str))
t_state = r_hand.item_state_slots[slot_r_hand_str] t_state = r_hand.item_state_slots[slot_r_hand_str]
else if(r_hand.item_state) else if(r_hand.item_state)
t_state = r_hand.item_state t_state = r_hand.item_state
@@ -61,7 +61,7 @@
//determine icon to use //determine icon to use
var/icon/t_icon var/icon/t_icon
if(r_hand.item_icons && (slot_r_hand_str in r_hand.item_icons)) if(LAZYACCESS(r_hand.item_icons, slot_r_hand_str))
t_icon = r_hand.item_icons[slot_r_hand_str] t_icon = r_hand.item_icons[slot_r_hand_str]
else if(r_hand.icon_override) else if(r_hand.icon_override)
t_state += "_r" t_state += "_r"
@@ -89,7 +89,7 @@
//determine icon state to use //determine icon state to use
var/t_state var/t_state
if(l_hand.item_state_slots && l_hand.item_state_slots[slot_l_hand_str]) if(LAZYACCESS(l_hand.item_state_slots, slot_l_hand_str))
t_state = l_hand.item_state_slots[slot_l_hand_str] t_state = l_hand.item_state_slots[slot_l_hand_str]
else if(l_hand.item_state) else if(l_hand.item_state)
t_state = l_hand.item_state t_state = l_hand.item_state
@@ -98,7 +98,7 @@
//determine icon to use //determine icon to use
var/icon/t_icon var/icon/t_icon
if(l_hand.item_icons && (slot_l_hand_str in l_hand.item_icons)) if(LAZYACCESS(l_hand.item_icons, slot_l_hand_str))
t_icon = l_hand.item_icons[slot_l_hand_str] t_icon = l_hand.item_icons[slot_l_hand_str]
else if(l_hand.icon_override) else if(l_hand.icon_override)
t_state += "_l" t_state += "_l"

File diff suppressed because it is too large Load Diff

View File

@@ -157,11 +157,11 @@
var/mob/living/M = loc var/mob/living/M = loc
if(istype(M)) if(istype(M))
if(M.can_wield_item(src) && src.is_held_twohanded(M)) if(M.can_wield_item(src) && src.is_held_twohanded(M))
item_state_slots[slot_l_hand_str] = wielded_item_state LAZYSET(item_state_slots, slot_l_hand_str, wielded_item_state)
item_state_slots[slot_r_hand_str] = wielded_item_state LAZYSET(item_state_slots, slot_r_hand_str, wielded_item_state)
else else
item_state_slots[slot_l_hand_str] = initial(item_state) LAZYSET(item_state_slots, slot_l_hand_str, initial(item_state))
item_state_slots[slot_r_hand_str] = initial(item_state) LAZYSET(item_state_slots, slot_r_hand_str, initial(item_state))
..() ..()

View File

@@ -89,7 +89,7 @@
edge = initial(edge) edge = initial(edge)
w_class = initial(w_class) w_class = initial(w_class)
set_light(0,0) set_light(0,0)
attack_verb = list() attack_verb = null
/obj/item/weapon/cell/device/weapon/gunsword/attack_self(mob/living/user as mob) /obj/item/weapon/cell/device/weapon/gunsword/attack_self(mob/living/user as mob)

View File

@@ -1020,7 +1020,7 @@ No. With a teleporter? Just *no*. - Hawk, YW
icon_state = "gildedcuffs" icon_state = "gildedcuffs"
icon_override = 'icons/vore/custom_onmob_vr.dmi' icon_override = 'icons/vore/custom_onmob_vr.dmi'
item_icons = list() item_icons = null
body_parts_covered = 0 body_parts_covered = 0
@@ -1849,7 +1849,7 @@ Departamental Swimsuits, for general use
rolled_down = 0 rolled_down = 0
rolled_sleeves = 0 rolled_sleeves = 0
starting_accessories = null starting_accessories = null
item_icons = list() item_icons = null
//Vorrarkul: Melanie Farmer //Vorrarkul: Melanie Farmer
/obj/item/clothing/under/fluff/slime_skeleton /obj/item/clothing/under/fluff/slime_skeleton
@@ -1903,7 +1903,7 @@ Departamental Swimsuits, for general use
body_parts_covered = UPPER_TORSO|LOWER_TORSO body_parts_covered = UPPER_TORSO|LOWER_TORSO
icon = 'icons/vore/custom_clothes_vr.dmi' icon = 'icons/vore/custom_clothes_vr.dmi'
icon_state = "latex_clothes" icon_state = "latex_clothes"
item_icons = list() item_icons = null
default_worn_icon = 'icons/vore/custom_clothes_vr.dmi' default_worn_icon = 'icons/vore/custom_clothes_vr.dmi'
color = COLOR_NAVY color = COLOR_NAVY
sprite_sheets = list() sprite_sheets = list()
@@ -1996,7 +1996,7 @@ Departamental Swimsuits, for general use
icon_override = 'icons/vore/custom_onmob_vr.dmi' icon_override = 'icons/vore/custom_onmob_vr.dmi'
icon_state = "nikki_outfit" icon_state = "nikki_outfit"
item_state = "nikki_outfit" item_state = "nikki_outfit"
item_icons = list() item_icons = null
sensor_mode = 3 // I'm a dumbass and forget these all the time please understand :( sensor_mode = 3 // I'm a dumbass and forget these all the time please understand :(
/obj/item/clothing/under/skirt/outfit/fluff/nikki/mob_can_equip(var/mob/living/carbon/human/M, slot, disable_warning = 0) /obj/item/clothing/under/skirt/outfit/fluff/nikki/mob_can_equip(var/mob/living/carbon/human/M, slot, disable_warning = 0)

View File

@@ -7,7 +7,7 @@
icon_override = 'icons/inventory/head/mob_vr.dmi' icon_override = 'icons/inventory/head/mob_vr.dmi'
slot_flags = SLOT_FEET | SLOT_HEAD | SLOT_ID slot_flags = SLOT_FEET | SLOT_HEAD | SLOT_ID
w_class = ITEMSIZE_SMALL w_class = ITEMSIZE_SMALL
item_icons = list() // No in-hand sprites (for now, anyway, we could totally add some) item_icons = null // No in-hand sprites (for now, anyway, we could totally add some)
pixel_y = 0 // Override value from parent. pixel_y = 0 // Override value from parent.
/obj/item/weapon/holder/micro/examine(mob/user) /obj/item/weapon/holder/micro/examine(mob/user)

View File

@@ -4,7 +4,6 @@
icon = 'icons/inventory/suit/item.dmi' icon = 'icons/inventory/suit/item.dmi'
icon_state = "engspace_suit" icon_state = "engspace_suit"
item_state = "engspace_suit" item_state = "engspace_suit"
update_icon_define = "icons/mob/spacesuit.dmi"
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 100) armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 100, rad = 100)
max_pressure_protection = 5 * ONE_ATMOSPHERE // Not very good protection, but if an anomaly starts doing gas stuff you're not screwed max_pressure_protection = 5 * ONE_ATMOSPHERE // Not very good protection, but if an anomaly starts doing gas stuff you're not screwed
min_pressure_protection = 0.4 * ONE_ATMOSPHERE min_pressure_protection = 0.4 * ONE_ATMOSPHERE

View File

Before

Width:  |  Height:  |  Size: 218 B

After

Width:  |  Height:  |  Size: 218 B

View File

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

Before

Width:  |  Height:  |  Size: 479 B

After

Width:  |  Height:  |  Size: 479 B

View File

Before

Width:  |  Height:  |  Size: 218 B

After

Width:  |  Height:  |  Size: 218 B

View File

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

Before

Width:  |  Height:  |  Size: 722 B

After

Width:  |  Height:  |  Size: 722 B

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View File

Before

Width:  |  Height:  |  Size: 200 KiB

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 169 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

Some files were not shown because too many files have changed in this diff Show More