Ports new Bay SolGov suits as Commonwealth suits
197
code/__defines/sprite_sheets.dm
Normal 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')
|
||||
@@ -213,6 +213,26 @@ GLOBAL_LIST_EMPTY(mannequins)
|
||||
if(S.spawn_flags & SPECIES_IS_WHITELISTED)
|
||||
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
|
||||
paths = subtypesof(/ore)
|
||||
for(var/oretype in paths)
|
||||
|
||||
@@ -73,15 +73,44 @@
|
||||
access = access_rd
|
||||
|
||||
/datum/supply_pack/misc/ce_rig
|
||||
name = "advanced voidsuit (empty)"
|
||||
name = "advanced hardsuit (empty)"
|
||||
contains = list(
|
||||
/obj/item/weapon/rig/ce = 1
|
||||
)
|
||||
cost = 150
|
||||
containertype = /obj/structure/closet/crate/secure/gear
|
||||
containername = "advanced voidsuit crate"
|
||||
containername = "advanced hardsuit crate"
|
||||
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
|
||||
name = "jetpack (empty)"
|
||||
contains = list(
|
||||
|
||||
@@ -39,3 +39,104 @@
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containername = "Pilot voidsuit crate"
|
||||
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
|
||||
|
||||
|
||||
@@ -232,7 +232,7 @@
|
||||
user.setClickCooldown(user.get_attack_speed(W))
|
||||
if (W.force >= src.toughness)
|
||||
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?
|
||||
var/obj/item/I = W
|
||||
if (I.hitsound)
|
||||
|
||||
342
code/game/machinery/suit_cycler_datums.dm
Normal 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
|
||||
@@ -11,11 +11,11 @@
|
||||
density = 1
|
||||
var/mob/living/carbon/human/OCCUPANT = 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/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/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/islocked = 0
|
||||
var/isUV = 0
|
||||
@@ -29,18 +29,19 @@
|
||||
//The units themselves/////////////////
|
||||
|
||||
/obj/machinery/suit_storage_unit/standard_unit
|
||||
SUIT_TYPE = /obj/item/clothing/suit/space
|
||||
HELMET_TYPE = /obj/item/clothing/head/helmet/space
|
||||
MASK_TYPE = /obj/item/clothing/mask/breath
|
||||
suit_type = /obj/item/clothing/suit/space
|
||||
helmet_type = /obj/item/clothing/head/helmet/space
|
||||
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()
|
||||
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()
|
||||
var/hashelmet = 0
|
||||
@@ -168,21 +169,9 @@
|
||||
|
||||
|
||||
/obj/machinery/suit_storage_unit/proc/toggleUV(mob/user as mob)
|
||||
// var/protected = 0
|
||||
// var/mob/living/carbon/human/H = user
|
||||
if(!panelopen)
|
||||
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
|
||||
if(issuperUV)
|
||||
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)
|
||||
// var/protected = 0
|
||||
// var/mob/living/carbon/human/H = user
|
||||
if(!panelopen) //Needed check due to bugs
|
||||
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
|
||||
to_chat(user, "You push the button. The coloured LED next to it changes.")
|
||||
safetieson = !safetieson
|
||||
@@ -335,30 +312,6 @@
|
||||
updateUsrDialog()
|
||||
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()
|
||||
if(cycletime_left >= 1)
|
||||
cycletime_left--
|
||||
@@ -371,8 +324,6 @@
|
||||
|
||||
if(!OCCUPANT)
|
||||
return
|
||||
// for(var/obj/O in src)
|
||||
// O.loc = src.loc
|
||||
|
||||
if(OCCUPANT.client)
|
||||
if(user != OCCUPANT)
|
||||
@@ -426,14 +377,10 @@
|
||||
usr.client.perspective = EYE_PERSPECTIVE
|
||||
usr.client.eye = src
|
||||
usr.loc = src
|
||||
// usr.metabslow = 1
|
||||
OCCUPANT = usr
|
||||
isopen = 0 //Close the thing after the guy gets inside
|
||||
update_icon()
|
||||
|
||||
// for(var/obj/O in src)
|
||||
// qdel(O)
|
||||
|
||||
add_fingerprint(usr)
|
||||
updateUsrDialog()
|
||||
return
|
||||
@@ -475,8 +422,6 @@
|
||||
OCCUPANT = M
|
||||
isopen = 0 //close ittt
|
||||
|
||||
//for(var/obj/O in src)
|
||||
// O.loc = src.loc
|
||||
add_fingerprint(user)
|
||||
qdel(G)
|
||||
updateUsrDialog()
|
||||
@@ -535,9 +480,10 @@
|
||||
|
||||
//////////////////////////////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.
|
||||
|
||||
GLOBAL_LIST_EMPTY(suit_cycler_typecache)
|
||||
/obj/machinery/suit_cycler
|
||||
|
||||
name = "suit cycler"
|
||||
@@ -559,6 +505,7 @@
|
||||
var/can_repair // If set, the cycler can repair voidsuits.
|
||||
var/electrified = 0
|
||||
|
||||
<<<<<<< HEAD
|
||||
//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.
|
||||
@@ -566,6 +513,41 @@
|
||||
|
||||
var/target_department
|
||||
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/obj/item/clothing/suit/space/void/suit = null
|
||||
@@ -573,96 +555,187 @@
|
||||
|
||||
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)
|
||||
target_department = departments[1]
|
||||
target_species = species[1]
|
||||
if(!target_department || !target_species) qdel(src)
|
||||
|
||||
/obj/machinery/suit_cycler/Destroy()
|
||||
qdel(wires)
|
||||
wires = null
|
||||
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
|
||||
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."
|
||||
model_text = "General Access"
|
||||
req_access = null
|
||||
departments = list("No Change")
|
||||
limit_departments = list()
|
||||
|
||||
/obj/machinery/suit_cycler/engineering
|
||||
name = "Engineering suit cycler"
|
||||
model_text = "Engineering"
|
||||
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
|
||||
name = "Mining suit cycler"
|
||||
model_text = "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
|
||||
name = "Security suit cycler"
|
||||
model_text = "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
|
||||
name = "Medical suit cycler"
|
||||
model_text = "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
|
||||
name = "Nonstandard suit cycler"
|
||||
model_text = "Nonstandard"
|
||||
req_access = list(access_syndicate)
|
||||
departments = list("Mercenary", "Charring","No Change")
|
||||
limit_departments = list(
|
||||
/datum/suit_cycler_choice/department/emag
|
||||
)
|
||||
can_repair = 1
|
||||
|
||||
/obj/machinery/suit_cycler/exploration
|
||||
name = "Explorer suit cycler"
|
||||
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
|
||||
name = "Pilot suit cycler"
|
||||
model_text = "Pilot"
|
||||
departments = list("Pilot Blue","Pilot","No Change")
|
||||
limit_departments = list(
|
||||
/datum/suit_cycler_choice/department/pil
|
||||
)
|
||||
|
||||
/obj/machinery/suit_cycler/vintage
|
||||
name = "Vintage Crew suit cycler"
|
||||
model_text = "Vintage"
|
||||
departments = list("Vintage Crew","No Change")
|
||||
limit_departments = list(
|
||||
/datum/suit_cycler_choice/department/vintage/crew
|
||||
)
|
||||
req_access = null
|
||||
|
||||
/obj/machinery/suit_cycler/vintage/pilot
|
||||
name = "Vintage Pilot suit cycler"
|
||||
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
|
||||
name = "Vintage MedSci suit cycler"
|
||||
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
|
||||
name = "Vintage Ruggedized suit cycler"
|
||||
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
|
||||
name = "Vintage Master suit cycler"
|
||||
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")
|
||||
|
||||
/obj/machinery/suit_cycler/vintage/Initialize()
|
||||
species -= SPECIES_TESHARI
|
||||
return ..()
|
||||
limit_departments = list(
|
||||
/datum/suit_cycler_choice/department/vintage
|
||||
)
|
||||
|
||||
/obj/machinery/suit_cycler/attack_ai(mob/user as mob)
|
||||
return attack_hand(user)
|
||||
@@ -807,8 +880,6 @@
|
||||
|
||||
//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>")
|
||||
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
|
||||
safeties = 0
|
||||
@@ -842,8 +913,6 @@
|
||||
/obj/machinery/suit_cycler/tgui_data(mob/user)
|
||||
var/list/data = list()
|
||||
|
||||
data["departments"] = departments
|
||||
data["species"] = species
|
||||
data["model_text"] = model_text
|
||||
data["can_repair"] = can_repair
|
||||
data["userHasAccess"] = allowed(user)
|
||||
@@ -872,6 +941,28 @@
|
||||
|
||||
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)
|
||||
if(..())
|
||||
return TRUE
|
||||
@@ -890,13 +981,15 @@
|
||||
if("department")
|
||||
var/choice = params["department"]
|
||||
if(choice in departments)
|
||||
target_department = choice
|
||||
target_department = departments[choice]
|
||||
else if(emagged && (choice in emagged_departments))
|
||||
target_department = emagged_departments[choice]
|
||||
. = TRUE
|
||||
|
||||
if("species")
|
||||
var/choice = params["species"]
|
||||
if(choice in species)
|
||||
target_species = choice
|
||||
target_species = species[choice]
|
||||
. = TRUE
|
||||
|
||||
if("radlevel")
|
||||
@@ -1035,227 +1128,22 @@
|
||||
|
||||
return
|
||||
|
||||
//There HAS to be a less bloated way to do this. TODO: some kind of table/icon name coding? ~Z
|
||||
//hold onto your hat, this sumbitch just got streamlined -KK
|
||||
// "Streamlined" before? Ok. -Aro
|
||||
/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)
|
||||
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.
|
||||
switch(target_department)
|
||||
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
|
||||
else
|
||||
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)
|
||||
//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?.helmet)
|
||||
visible_message("[bicon(src)]<span class='warning'>Separate the suit and helmet before applying any customizations.</span>")
|
||||
return
|
||||
|
||||
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)
|
||||
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
|
||||
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
|
||||
|
||||
//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)
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
<<<<<<< HEAD
|
||||
/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")
|
||||
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
|
||||
/obj/machinery/suit_cycler/exploration
|
||||
req_access = null
|
||||
req_one_access = list(access_explorer,access_medical_equip)
|
||||
departments = list("Exploration","Field Medic","No Change")
|
||||
|
||||
/obj/machinery/suit_cycler/pilot
|
||||
req_access = list(access_pilot)
|
||||
@@ -15,54 +22,52 @@
|
||||
name = "Manager suit cycler"
|
||||
model_text = "Manager"
|
||||
req_access = list(access_captain)
|
||||
departments = list("Manager","No Change")
|
||||
|
||||
/obj/machinery/suit_cycler/captain/Initialize() //No Teshari Sprites
|
||||
species -= SPECIES_TESHARI
|
||||
return ..()
|
||||
departments = list(/datum/suit_cycler_choice/department/captain)
|
||||
|
||||
/obj/machinery/suit_cycler/prototype
|
||||
name = "Prototype suit cycler"
|
||||
model_text = "Prototype"
|
||||
req_access = list(access_hos)
|
||||
departments = list("Prototype","No Change")
|
||||
|
||||
/obj/machinery/suit_cycler/prototype/Initialize() //No Teshari Sprites
|
||||
species -= SPECIES_TESHARI
|
||||
return ..()
|
||||
departments = list(/datum/suit_cycler_choice/department/prototype)
|
||||
|
||||
/obj/machinery/suit_cycler/vintage/tcrew
|
||||
name = "Talon crew suit cycler"
|
||||
model_text = "Talon crew"
|
||||
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
|
||||
name = "Talon pilot suit cycler"
|
||||
model_text = "Talon pilot"
|
||||
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
|
||||
name = "Talon engineer suit cycler"
|
||||
model_text = "Talon engineer"
|
||||
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
|
||||
name = "Talon guard suit cycler"
|
||||
model_text = "Talon guard"
|
||||
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
|
||||
name = "Talon doctor suit cycler"
|
||||
model_text = "Talon doctor"
|
||||
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
|
||||
name = "Talon captain suit cycler"
|
||||
model_text = "Talon captain"
|
||||
req_access = list(access_talon)
|
||||
<<<<<<< HEAD
|
||||
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
|
||||
|
||||
@@ -318,7 +318,7 @@
|
||||
|
||||
/obj/effect/alien/weeds/attackby(var/obj/item/weapon/W, var/mob/user)
|
||||
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>")
|
||||
else
|
||||
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>")
|
||||
spawn(rand(150, 200)) tick()
|
||||
|
||||
<<<<<<< HEAD
|
||||
//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
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
/obj/effect/spider/attackby(var/obj/item/weapon/W, var/mob/user)
|
||||
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>")
|
||||
else
|
||||
visible_message("<span class='warning'>\The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]</span>")
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// causeerrorheresoifixthis
|
||||
var/obj/item/master = null
|
||||
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/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/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/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/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/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/zoomdevicename = null //name used for message when binoculars/scope is used
|
||||
@@ -63,12 +63,12 @@
|
||||
|
||||
//** 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.
|
||||
// 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.
|
||||
var/list/item_icons = list()
|
||||
var/list/item_icons
|
||||
|
||||
//** 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.
|
||||
*/
|
||||
var/list/sprite_sheets = list()
|
||||
var/list/sprite_sheets
|
||||
|
||||
// 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.
|
||||
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/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().
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
/obj/item/device/radio/headset
|
||||
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.
|
||||
name = "nonhuman radio receiver"
|
||||
|
||||
@@ -70,7 +70,6 @@
|
||||
w_class = ITEMSIZE_LARGE
|
||||
max_w_class = ITEMSIZE_NORMAL
|
||||
max_storage_space = ITEMSIZE_COST_NORMAL * 100 // can store a ton of shit!
|
||||
item_state_slots = null
|
||||
|
||||
/obj/item/weapon/storage/backpack/cultpack
|
||||
name = "trophy rack"
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
/obj/item/weapon/storage/backpack
|
||||
sprite_sheets = list(
|
||||
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
|
||||
max_storage_space = INVENTORY_DUFFLEBAG_SPACE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/weapon/storage/belt
|
||||
sprite_sheets = list(
|
||||
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
|
||||
name = "explorer's belt"
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
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)
|
||||
|
||||
/obj/structure/mob_spawner/bullet_act(var/obj/item/projectile/Proj)
|
||||
|
||||
@@ -13,10 +13,9 @@
|
||||
body_parts_covered = copy.body_parts_covered
|
||||
flags_inv = copy.flags_inv
|
||||
|
||||
item_icons = copy.item_icons.Copy()
|
||||
if(copy.item_state_slots) //Runtime prevention for backpacks
|
||||
item_state_slots = copy.item_state_slots.Copy()
|
||||
sprite_sheets = copy.sprite_sheets.Copy()
|
||||
item_icons = copy.item_icons?.Copy()
|
||||
item_state_slots = copy.item_state_slots?.Copy()
|
||||
sprite_sheets = copy.sprite_sheets?.Copy()
|
||||
//copying sprite_sheets_obj should be unnecessary as chameleon items are not refittable.
|
||||
|
||||
return copy //for inheritance
|
||||
@@ -54,7 +53,7 @@
|
||||
name = "psychedelic"
|
||||
desc = "Groovy!"
|
||||
icon_state = "psyche"
|
||||
item_state_slots[slot_w_uniform_str] = "psyche"
|
||||
LAZYSET(item_state_slots, slot_w_uniform_str, "psyche")
|
||||
update_icon()
|
||||
update_clothing_icon()
|
||||
|
||||
|
||||
@@ -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)
|
||||
var/image/standing = ..()
|
||||
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])
|
||||
standing.add_overlay(light_overlay_cache[cache_key])
|
||||
return standing
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
sprite_sheets = list(
|
||||
SPECIES_TESHARI = 'icons/inventory/feet/mob_teshari.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()
|
||||
inside_emotes = list(
|
||||
@@ -87,12 +87,12 @@
|
||||
sprite_sheets = list(
|
||||
SPECIES_TESHARI = 'icons/inventory/hands/mob_teshari.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
|
||||
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/clothing/relaymove(var/mob/living/user,var/direction)
|
||||
|
||||
@@ -135,14 +135,14 @@
|
||||
SPECIES_VOX = 'icons/inventory/face/mob_vox.dmi',
|
||||
SPECIES_TAJ = 'icons/inventory/face/mob_tajaran.dmi',
|
||||
SPECIES_UNATHI = 'icons/inventory/face/mob_unathi.dmi',
|
||||
SPECIES_SERGAL = 'icons/inventory/face/mob_sergal.dmi',
|
||||
SPECIES_NEVREAN = 'icons/inventory/face/mob_nevrean.dmi',
|
||||
SPECIES_ZORREN_HIGH = 'icons/inventory/face/mob_fox.dmi',
|
||||
SPECIES_ZORREN_FLAT = 'icons/inventory/face/mob_fennec.dmi',
|
||||
SPECIES_AKULA = 'icons/inventory/face/mob_akula.dmi',
|
||||
SPECIES_VULPKANIN = 'icons/inventory/face/mob_vulpkanin.dmi',
|
||||
SPECIES_XENOCHIMERA = 'icons/inventory/face/mob_tajaran.dmi',
|
||||
SPECIES_WEREBEAST = 'icons/inventory/face/mob_werebeast.dmi'
|
||||
SPECIES_SERGAL = 'icons/inventory/face/mob_vr_sergal.dmi',
|
||||
SPECIES_NEVREAN = 'icons/inventory/face/mob_vr_nevrean.dmi',
|
||||
SPECIES_ZORREN_HIGH = 'icons/inventory/face/mob_vr_fox.dmi',
|
||||
SPECIES_ZORREN_FLAT = 'icons/inventory/face/mob_vr_fennec.dmi',
|
||||
SPECIES_AKULA = 'icons/inventory/face/mob_vr_akula.dmi',
|
||||
SPECIES_VULPKANIN = 'icons/inventory/face/mob_vr_vulpkanin.dmi',
|
||||
SPECIES_XENOCHIMERA = 'icons/inventory/face/mob_vr_tajaran.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.
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
sprite_sheets = list(
|
||||
SPECIES_TESHARI = 'icons/inventory/suit/mob_teshari.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
|
||||
sensor_mode = 3
|
||||
@@ -159,7 +159,7 @@
|
||||
sprite_sheets = list(
|
||||
SPECIES_TESHARI = 'icons/inventory/uniform/mob_teshari.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)
|
||||
..()
|
||||
@@ -178,4 +178,4 @@
|
||||
sprite_sheets = list(
|
||||
SPECIES_TESHARI = 'icons/inventory/head/mob_teshari.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')
|
||||
|
||||
@@ -182,7 +182,7 @@
|
||||
icon_state = "kitty"
|
||||
body_parts_covered = 0
|
||||
siemens_coefficient = 1.5
|
||||
item_icons = list()
|
||||
item_icons = null
|
||||
|
||||
/obj/item/clothing/head/kitty/update_icon(var/mob/living/carbon/human/user)
|
||||
if(!istype(user)) return
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/clothing/mask/breath/transparent
|
||||
name = "transparent breath mask"
|
||||
item_state = "golem" //This is dumb and hacky but was here when I got here.
|
||||
sprite_sheets = list()
|
||||
sprite_sheets = null
|
||||
|
||||
@@ -283,8 +283,8 @@
|
||||
booting_R.icon_state = "boot_load"
|
||||
animate(booting_L, alpha=230, time=30, easing=SINE_EASING)
|
||||
animate(booting_R, alpha=200, time=20, easing=SINE_EASING)
|
||||
M.client.screen += booting_L
|
||||
M.client.screen += booting_R
|
||||
M.client?.screen += booting_L
|
||||
M.client?.screen += booting_R
|
||||
|
||||
canremove = 0 // No removing the suit while unsealing.
|
||||
sealing = 1
|
||||
@@ -360,8 +360,8 @@
|
||||
sealing = null
|
||||
|
||||
if(failed_to_seal)
|
||||
M.client.screen -= booting_L
|
||||
M.client.screen -= booting_R
|
||||
M.client?.screen -= booting_L
|
||||
M.client?.screen -= booting_R
|
||||
qdel(booting_L)
|
||||
qdel(booting_R)
|
||||
for(var/obj/item/piece in list(helmet,boots,gloves,chest))
|
||||
@@ -382,11 +382,11 @@
|
||||
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>")
|
||||
playsound(src, 'sound/machines/rig/rigstarted.ogg', 10, FALSE)
|
||||
M.client.screen -= booting_L
|
||||
M.client?.screen -= booting_L
|
||||
qdel(booting_L)
|
||||
booting_R.icon_state = "boot_done"
|
||||
spawn(40)
|
||||
M.client.screen -= booting_R
|
||||
M.client?.screen -= booting_R
|
||||
qdel(booting_R)
|
||||
|
||||
if(canremove)
|
||||
@@ -596,8 +596,8 @@
|
||||
var/species_icon = default_mob_icon
|
||||
// Since setting mob_icon will override the species checks in
|
||||
// update_inv_wear_suit(), handle species checks here.
|
||||
if(wearer && sprite_sheets && sprite_sheets[wearer.species.get_bodytype(wearer)])
|
||||
species_icon = 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)]
|
||||
mob_icon = icon(icon = species_icon, icon_state = "[icon_state]")
|
||||
|
||||
if(installed_modules.len)
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
SPECIES_SKRELL = 'icons/inventory/head/mob_skrell.dmi',
|
||||
SPECIES_UNATHI = 'icons/inventory/head/mob_unathi.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',
|
||||
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',
|
||||
SPECIES_PROMETHEAN = 'icons/inventory/head/mob_skrell.dmi',
|
||||
SPECIES_VOX = 'icons/inventory/head/mob_vox.dmi',
|
||||
SPECIES_TESHARI = 'icons/inventory/head/mob_teshari.dmi'
|
||||
@@ -21,12 +21,12 @@
|
||||
SPECIES_SKRELL = 'icons/inventory/suit/mob_skrell.dmi',
|
||||
SPECIES_UNATHI = 'icons/inventory/suit/mob_unathi.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',
|
||||
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',
|
||||
SPECIES_PROMETHEAN = 'icons/inventory/suit/mob_skrell.dmi',
|
||||
SPECIES_VOX = 'icons/inventory/suit/mob_vox.dmi',
|
||||
SPECIES_TESHARI = 'icons/inventory/suit/mob_teshari.dmi'
|
||||
|
||||
@@ -53,6 +53,8 @@
|
||||
|
||||
/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)
|
||||
<<<<<<< HEAD
|
||||
||||||| parent of 43822f5c50... Merge pull request #11080 from VOREStation/Arokha/bayport
|
||||
|
||||
// 'Technomancer' hardsuit
|
||||
/obj/item/weapon/rig/focalpoint
|
||||
@@ -178,3 +180,487 @@
|
||||
// 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 = 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
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
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.
|
||||
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()
|
||||
set name = "Toggle Helmet Camera"
|
||||
@@ -94,7 +94,7 @@
|
||||
/obj/item/clothing/suit/space/Initialize()
|
||||
. = ..()
|
||||
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.
|
||||
|
||||
/obj/item/clothing/suit/space/equipped(mob/M)
|
||||
|
||||
@@ -173,8 +173,8 @@
|
||||
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_akula.dmi',
|
||||
SPECIES_SERGAL = 'icons/inventory/suit/mob_sergal.dmi',
|
||||
SPECIES_AKULA = 'icons/inventory/suit/mob_vr_akula.dmi',
|
||||
SPECIES_SERGAL = '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',
|
||||
@@ -215,7 +215,7 @@
|
||||
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_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_NEVREAN = 'icons/inventory/head/mob_vr.dmi',
|
||||
SPECIES_RAPALA = 'icons/inventory/head/mob_vr.dmi',
|
||||
|
||||
@@ -73,6 +73,7 @@
|
||||
|
||||
/obj/item/clothing/suit/space/void/refurb/mercenary/talon
|
||||
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."
|
||||
|
||||
// HEV Suits
|
||||
@@ -231,3 +232,323 @@
|
||||
// No animal people sprites for these yet, sad times
|
||||
species_restricted = list("exclude", SPECIES_TESHARI, SPECIES_VOX, SPECIES_DIONA)
|
||||
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
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
SPECIES_XENOHYBRID = 'icons/inventory/head/mob_unathi.dmi',
|
||||
SPECIES_AKULA = 'icons/inventory/head/mob_unathi.dmi',
|
||||
SPECIES_SERGAL = 'icons/inventory/head/mob_unathi.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'
|
||||
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'
|
||||
)
|
||||
sprite_sheets_obj = list(
|
||||
SPECIES_TAJ = 'icons/inventory/head/item.dmi',
|
||||
@@ -30,11 +30,11 @@
|
||||
SPECIES_SKRELL = 'icons/inventory/suit/mob_skrell.dmi',
|
||||
SPECIES_UNATHI = 'icons/inventory/suit/mob_unathi.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_VULPKANIN = 'icons/inventory/suit/mob_vulpkanin.dmi',
|
||||
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vulpkanin.dmi',
|
||||
SPECIES_FENNEC = 'icons/inventory/suit/mob_vulpkanin.dmi'
|
||||
SPECIES_AKULA = 'icons/inventory/suit/mob_vr_akula.dmi',
|
||||
SPECIES_SERGAL = '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'
|
||||
)
|
||||
sprite_sheets_obj = list(
|
||||
SPECIES_TAJ = 'icons/inventory/suit/item.dmi',
|
||||
@@ -47,3 +47,201 @@
|
||||
SPECIES_ZORREN_HIGH = '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
|
||||
|
||||
@@ -7,61 +7,13 @@
|
||||
|
||||
/obj/item/clothing/head/helmet/space/void
|
||||
species_restricted = list(SPECIES_HUMAN, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA)
|
||||
sprite_sheets = 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_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'
|
||||
)
|
||||
sprite_sheets = VR_SPECIES_SPRITE_SHEETS_HEAD_MOB
|
||||
sprite_sheets_obj = VR_SPECIES_SPRITE_SHEETS_HEAD_ITEM
|
||||
|
||||
/obj/item/clothing/suit/space/void
|
||||
species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA)
|
||||
sprite_sheets = 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_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'
|
||||
)
|
||||
sprite_sheets = VR_SPECIES_SPRITE_SHEETS_SUIT_MOB
|
||||
sprite_sheets_obj = VR_SPECIES_SPRITE_SHEETS_SUIT_ITEM
|
||||
|
||||
// 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.
|
||||
@@ -152,33 +104,9 @@
|
||||
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!
|
||||
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
|
||||
|
||||
/obj/item/clothing/suit/space/void/autolok
|
||||
sprite_sheets = list(
|
||||
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'
|
||||
)
|
||||
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
|
||||
sprite_sheets_obj = null
|
||||
sprite_sheets_refit = null
|
||||
|
||||
/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
|
||||
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'
|
||||
<<<<<<< HEAD
|
||||
|
||||
/obj/item/clothing/head/helmet/space/void/autolok
|
||||
sprite_sheets = list(
|
||||
@@ -260,3 +189,38 @@
|
||||
SPECIES_TESHARI = 'icons/inventory/head/item_vr.dmi'
|
||||
)
|
||||
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
|
||||
|
||||
@@ -20,12 +20,12 @@
|
||||
sprite_sheets = list(
|
||||
SPECIES_TESHARI = 'icons/inventory/head/mob_ch_teshari.dmi', //CHOMPstation edit, using our overwrite icons
|
||||
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
|
||||
sprite_sheets = list(
|
||||
SPECIES_TESHARI = 'icons/inventory/suit/mob_ch_teshari.dmi', //CHOMPstation edit, using our overwrite icons
|
||||
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'
|
||||
)
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
if("[tmp_icon_state]_mob" in cached_icon_states(icon_override))
|
||||
tmp_icon_state = "[tmp_icon_state]_mob"
|
||||
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]")
|
||||
else
|
||||
mob_overlay = image("icon" = INV_ACCESSORIES_DEF_ICON, "icon_state" = "[tmp_icon_state]")
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
body_parts_covered = 0
|
||||
equip_sound = null
|
||||
|
||||
sprite_sheets = list()
|
||||
sprite_sheets = null
|
||||
|
||||
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.
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
//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)
|
||||
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]
|
||||
else if(item.item_state)
|
||||
t_state = item.item_state
|
||||
@@ -111,7 +111,7 @@
|
||||
var/icon/t_icon
|
||||
if(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]
|
||||
else
|
||||
t_icon = hand_icon
|
||||
|
||||
@@ -267,7 +267,7 @@ emp_act
|
||||
if(!affecting)
|
||||
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)
|
||||
|
||||
|
||||
@@ -33,6 +33,85 @@
|
||||
for(var/obj/item/I in loc)
|
||||
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)
|
||||
h_style = "Skrell Short Tentacles"
|
||||
return ..(new_loc, SPECIES_SKRELL)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
user.setClickCooldown(user.get_attack_speed(W))
|
||||
|
||||
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)
|
||||
|
||||
/obj/effect/weaversilk/bullet_act(var/obj/item/projectile/Proj)
|
||||
|
||||
@@ -225,7 +225,7 @@
|
||||
|
||||
//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)
|
||||
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)
|
||||
ai_holder.react_to_attack(user)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
var/list/mob_hat_cache = list()
|
||||
/proc/get_hat_icon(var/obj/item/hat, var/offset_x = 0, var/offset_y = 0)
|
||||
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]
|
||||
else if(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.
|
||||
if(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]
|
||||
var/image/I = image(icon = t_icon, icon_state = t_state)
|
||||
I.pixel_x = offset_x
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
//determine icon state to use
|
||||
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]
|
||||
else if(r_hand.item_state)
|
||||
t_state = r_hand.item_state
|
||||
@@ -61,7 +61,7 @@
|
||||
|
||||
//determine icon to use
|
||||
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]
|
||||
else if(r_hand.icon_override)
|
||||
t_state += "_r"
|
||||
@@ -89,7 +89,7 @@
|
||||
|
||||
//determine icon state to use
|
||||
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]
|
||||
else if(l_hand.item_state)
|
||||
t_state = l_hand.item_state
|
||||
@@ -98,7 +98,7 @@
|
||||
|
||||
//determine icon to use
|
||||
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]
|
||||
else if(l_hand.icon_override)
|
||||
t_state += "_l"
|
||||
|
||||
@@ -157,11 +157,11 @@
|
||||
var/mob/living/M = loc
|
||||
if(istype(M))
|
||||
if(M.can_wield_item(src) && src.is_held_twohanded(M))
|
||||
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_l_hand_str, wielded_item_state)
|
||||
LAZYSET(item_state_slots, slot_r_hand_str, wielded_item_state)
|
||||
else
|
||||
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_l_hand_str, initial(item_state))
|
||||
LAZYSET(item_state_slots, slot_r_hand_str, initial(item_state))
|
||||
..()
|
||||
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
edge = initial(edge)
|
||||
w_class = initial(w_class)
|
||||
set_light(0,0)
|
||||
attack_verb = list()
|
||||
attack_verb = null
|
||||
|
||||
|
||||
/obj/item/weapon/cell/device/weapon/gunsword/attack_self(mob/living/user as mob)
|
||||
|
||||
@@ -1020,7 +1020,7 @@ No. With a teleporter? Just *no*. - Hawk, YW
|
||||
icon_state = "gildedcuffs"
|
||||
|
||||
icon_override = 'icons/vore/custom_onmob_vr.dmi'
|
||||
item_icons = list()
|
||||
item_icons = null
|
||||
|
||||
body_parts_covered = 0
|
||||
|
||||
@@ -1849,7 +1849,7 @@ Departamental Swimsuits, for general use
|
||||
rolled_down = 0
|
||||
rolled_sleeves = 0
|
||||
starting_accessories = null
|
||||
item_icons = list()
|
||||
item_icons = null
|
||||
|
||||
//Vorrarkul: Melanie Farmer
|
||||
/obj/item/clothing/under/fluff/slime_skeleton
|
||||
@@ -1903,7 +1903,7 @@ Departamental Swimsuits, for general use
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||
icon = 'icons/vore/custom_clothes_vr.dmi'
|
||||
icon_state = "latex_clothes"
|
||||
item_icons = list()
|
||||
item_icons = null
|
||||
default_worn_icon = 'icons/vore/custom_clothes_vr.dmi'
|
||||
color = COLOR_NAVY
|
||||
sprite_sheets = list()
|
||||
@@ -1996,7 +1996,7 @@ Departamental Swimsuits, for general use
|
||||
icon_override = 'icons/vore/custom_onmob_vr.dmi'
|
||||
icon_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 :(
|
||||
|
||||
/obj/item/clothing/under/skirt/outfit/fluff/nikki/mob_can_equip(var/mob/living/carbon/human/M, slot, disable_warning = 0)
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
icon_override = 'icons/inventory/head/mob_vr.dmi'
|
||||
slot_flags = SLOT_FEET | SLOT_HEAD | SLOT_ID
|
||||
w_class = ITEMSIZE_SMALL
|
||||
item_icons = list() // No in-hand sprites (for now, anyway, we could totally add some)
|
||||
pixel_y = 0 // Override value from parent.
|
||||
item_icons = null // No in-hand sprites (for now, anyway, we could totally add some)
|
||||
pixel_y = 0 // Override value from parent.
|
||||
|
||||
/obj/item/weapon/holder/micro/examine(mob/user)
|
||||
. = list()
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
icon = 'icons/inventory/suit/item.dmi'
|
||||
icon_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)
|
||||
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
|
||||
|
||||
|
Before Width: | Height: | Size: 218 B After Width: | Height: | Size: 218 B |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 479 B After Width: | Height: | Size: 479 B |
|
Before Width: | Height: | Size: 218 B After Width: | Height: | Size: 218 B |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 722 B After Width: | Height: | Size: 722 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
BIN
icons/inventory/head/item_vr_akula.dmi
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
icons/inventory/head/item_vr_sergal.dmi
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
icons/inventory/head/item_vr_skrell.dmi
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
icons/inventory/head/item_vr_tajaran.dmi
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
icons/inventory/head/item_vr_teshari.dmi
Normal file
|
After Width: | Height: | Size: 182 B |
BIN
icons/inventory/head/item_vr_unathi.dmi
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
icons/inventory/head/item_vr_vulpkanin.dmi
Normal file
|
After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 51 KiB |
BIN
icons/inventory/head/mob_vr_akula.dmi
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
icons/inventory/head/mob_vr_sergal.dmi
Normal file
|
After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 200 KiB After Width: | Height: | Size: 200 KiB |
|
Before Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 30 KiB |
BIN
icons/inventory/suit/item_vr_akula.dmi
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
icons/inventory/suit/item_vr_sergal.dmi
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
icons/inventory/suit/item_vr_skrell.dmi
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
icons/inventory/suit/item_vr_tajaran.dmi
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
icons/inventory/suit/item_vr_teshari.dmi
Normal file
|
After Width: | Height: | Size: 182 B |
BIN
icons/inventory/suit/item_vr_unathi.dmi
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
icons/inventory/suit/item_vr_vulpkanin.dmi
Normal file
|
After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 146 KiB |
BIN
icons/inventory/suit/mob_vr_akula.dmi
Normal file
|
After Width: | Height: | Size: 150 KiB |
BIN
icons/inventory/suit/mob_vr_sergal.dmi
Normal file
|
After Width: | Height: | Size: 164 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 169 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 141 KiB |