Fix two suit cycler problems

This commit is contained in:
Chompstation Bot
2021-07-20 03:20:06 +00:00
parent 4a6c523aa6
commit 21f58709d7
8 changed files with 2168 additions and 51 deletions

View File

@@ -1,5 +1,6 @@
// Default species get default sprites, VR species get VR sprites // Default species get default sprites, VR species get VR sprites
#define VR_SPECIES_SPRITE_SHEETS_SUIT_MOB list(\ #define VR_SPECIES_SPRITE_SHEETS_SUIT_MOB list(\
SPECIES_HUMAN = 'icons/inventory/suit/mob.dmi',\
SPECIES_TAJ = 'icons/inventory/suit/mob_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/suit/mob_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/suit/mob_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/suit/mob_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/suit/mob_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/suit/mob_unathi.dmi',\
@@ -12,6 +13,7 @@ SPECIES_VULPKANIN = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',\ SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/suit/mob_vr_vulpkanin.dmi') SPECIES_FENNEC = 'icons/inventory/suit/mob_vr_vulpkanin.dmi')
#define VR_SPECIES_SPRITE_SHEETS_HEAD_MOB list(\ #define VR_SPECIES_SPRITE_SHEETS_HEAD_MOB list(\
SPECIES_HUMAN = 'icons/inventory/head/mob.dmi',\
SPECIES_TAJ = 'icons/inventory/head/mob_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/head/mob_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/head/mob_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/head/mob_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/head/mob_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/head/mob_unathi.dmi',\
@@ -24,6 +26,7 @@ SPECIES_VULPKANIN = 'icons/inventory/head/mob_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/head/mob_vr_vulpkanin.dmi',\ SPECIES_ZORREN_HIGH = 'icons/inventory/head/mob_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/head/mob_vr_vulpkanin.dmi') SPECIES_FENNEC = 'icons/inventory/head/mob_vr_vulpkanin.dmi')
#define VR_SPECIES_SPRITE_SHEETS_HANDS_MOB list(\ #define VR_SPECIES_SPRITE_SHEETS_HANDS_MOB list(\
SPECIES_HUMAN = 'icons/inventory/hands/mob.dmi',\
SPECIES_TAJ = 'icons/inventory/hands/mob_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/hands/mob_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/hands/mob_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/hands/mob_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/hands/mob_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/hands/mob_unathi.dmi',\
@@ -36,6 +39,7 @@ SPECIES_VULPKANIN = 'icons/inventory/hands/mob_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = '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') SPECIES_FENNEC = 'icons/inventory/hands/mob_vr_vulpkanin.dmi')
#define VR_SPECIES_SPRITE_SHEETS_FEET_MOB list(\ #define VR_SPECIES_SPRITE_SHEETS_FEET_MOB list(\
SPECIES_HUMAN = 'icons/inventory/feet/mob.dmi',\
SPECIES_TAJ = 'icons/inventory/feet/mob_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/feet/mob_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/feet/mob_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/feet/mob_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/feet/mob_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/feet/mob_unathi.dmi',\
@@ -49,6 +53,7 @@ SPECIES_ZORREN_HIGH = 'icons/inventory/feet/mob_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/feet/mob_vr_vulpkanin.dmi') SPECIES_FENNEC = 'icons/inventory/feet/mob_vr_vulpkanin.dmi')
#define VR_SPECIES_SPRITE_SHEETS_SUIT_ITEM list(\ #define VR_SPECIES_SPRITE_SHEETS_SUIT_ITEM list(\
SPECIES_HUMAN = 'icons/inventory/suit/item.dmi',\
SPECIES_TAJ = 'icons/inventory/suit/item_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/suit/item_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/suit/item_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/suit/item_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/suit/item_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/suit/item_unathi.dmi',\
@@ -61,6 +66,7 @@ SPECIES_VULPKANIN = 'icons/inventory/suit/item_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = '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') SPECIES_FENNEC = 'icons/inventory/suit/item_vr_vulpkanin.dmi')
#define VR_SPECIES_SPRITE_SHEETS_HEAD_ITEM list(\ #define VR_SPECIES_SPRITE_SHEETS_HEAD_ITEM list(\
SPECIES_HUMAN = 'icons/inventory/head/item.dmi',\
SPECIES_TAJ = 'icons/inventory/head/item_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/head/item_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/head/item_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/head/item_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/head/item_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/head/item_unathi.dmi',\
@@ -73,6 +79,7 @@ SPECIES_VULPKANIN = 'icons/inventory/head/item_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = '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') SPECIES_FENNEC = 'icons/inventory/head/item_vr_vulpkanin.dmi')
#define VR_SPECIES_SPRITE_SHEETS_HANDS_ITEM list(\ #define VR_SPECIES_SPRITE_SHEETS_HANDS_ITEM list(\
SPECIES_HUMAN = 'icons/inventory/hands/item.dmi',\
SPECIES_TAJ = 'icons/inventory/hands/item_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/hands/item_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/hands/item_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/hands/item_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/hands/item_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/hands/item_unathi.dmi',\
@@ -85,6 +92,7 @@ SPECIES_VULPKANIN = 'icons/inventory/hands/item_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = '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') SPECIES_FENNEC = 'icons/inventory/hands/item_vr_vulpkanin.dmi')
#define VR_SPECIES_SPRITE_SHEETS_FEET_ITEM list(\ #define VR_SPECIES_SPRITE_SHEETS_FEET_ITEM list(\
SPECIES_HUMAN = 'icons/inventory/feet/item.dmi',\
SPECIES_TAJ = 'icons/inventory/feet/item_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/feet/item_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/feet/item_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/feet/item_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/feet/item_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/feet/item_unathi.dmi',\
@@ -99,6 +107,7 @@ SPECIES_FENNEC = 'icons/inventory/feet/item_vr_vulpkanin.dmi')
// All species get VR sprites // All species get VR sprites
#define ALL_VR_SPRITE_SHEETS_SUIT_MOB list(\ #define ALL_VR_SPRITE_SHEETS_SUIT_MOB list(\
SPECIES_HUMAN = 'icons/inventory/suit/mob_vr.dmi',\
SPECIES_TAJ = 'icons/inventory/suit/mob_vr_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/suit/mob_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/suit/mob_vr_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/suit/mob_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/suit/mob_vr_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/suit/mob_vr_unathi.dmi',\
@@ -111,6 +120,7 @@ SPECIES_VULPKANIN = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',\ SPECIES_ZORREN_HIGH = 'icons/inventory/suit/mob_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/suit/mob_vr_vulpkanin.dmi') SPECIES_FENNEC = 'icons/inventory/suit/mob_vr_vulpkanin.dmi')
#define ALL_VR_SPRITE_SHEETS_HEAD_MOB list(\ #define ALL_VR_SPRITE_SHEETS_HEAD_MOB list(\
SPECIES_HUMAN = 'icons/inventory/head/mob_vr.dmi',\
SPECIES_TAJ = 'icons/inventory/head/mob_vr_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/head/mob_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/head/mob_vr_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/head/mob_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/head/mob_vr_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/head/mob_vr_unathi.dmi',\
@@ -123,6 +133,7 @@ SPECIES_VULPKANIN = 'icons/inventory/head/mob_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = 'icons/inventory/head/mob_vr_vulpkanin.dmi',\ SPECIES_ZORREN_HIGH = 'icons/inventory/head/mob_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/head/mob_vr_vulpkanin.dmi') SPECIES_FENNEC = 'icons/inventory/head/mob_vr_vulpkanin.dmi')
#define ALL_VR_SPRITE_SHEETS_HANDS_MOB list(\ #define ALL_VR_SPRITE_SHEETS_HANDS_MOB list(\
SPECIES_HUMAN = 'icons/inventory/hands/mob_vr.dmi',\
SPECIES_TAJ = 'icons/inventory/hands/mob_vr_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/hands/mob_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/hands/mob_vr_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/hands/mob_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/hands/mob_vr_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/hands/mob_vr_unathi.dmi',\
@@ -135,6 +146,7 @@ SPECIES_VULPKANIN = 'icons/inventory/hands/mob_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = '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') SPECIES_FENNEC = 'icons/inventory/hands/mob_vr_vulpkanin.dmi')
#define ALL_VR_SPRITE_SHEETS_FEET_MOB list(\ #define ALL_VR_SPRITE_SHEETS_FEET_MOB list(\
SPECIES_HUMAN = 'icons/inventory/feet/mob_vr.dmi',\
SPECIES_TAJ = 'icons/inventory/feet/mob_vr_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/feet/mob_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/feet/mob_vr_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/feet/mob_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/feet/mob_vr_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/feet/mob_vr_unathi.dmi',\
@@ -148,6 +160,7 @@ SPECIES_ZORREN_HIGH = 'icons/inventory/feet/mob_vr_vulpkanin.dmi',\
SPECIES_FENNEC = 'icons/inventory/feet/mob_vr_vulpkanin.dmi') SPECIES_FENNEC = 'icons/inventory/feet/mob_vr_vulpkanin.dmi')
#define ALL_VR_SPRITE_SHEETS_SUIT_ITEM list(\ #define ALL_VR_SPRITE_SHEETS_SUIT_ITEM list(\
SPECIES_HUMAN = 'icons/inventory/suit/item_vr.dmi',\
SPECIES_TAJ = 'icons/inventory/suit/item_vr_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/suit/item_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/suit/item_vr_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/suit/item_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/suit/item_vr_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/suit/item_vr_unathi.dmi',\
@@ -160,6 +173,7 @@ SPECIES_VULPKANIN = 'icons/inventory/suit/item_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = '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') SPECIES_FENNEC = 'icons/inventory/suit/item_vr_vulpkanin.dmi')
#define ALL_VR_SPRITE_SHEETS_HEAD_ITEM list(\ #define ALL_VR_SPRITE_SHEETS_HEAD_ITEM list(\
SPECIES_HUMAN = 'icons/inventory/head/item_vr.dmi',\
SPECIES_TAJ = 'icons/inventory/head/item_vr_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/head/item_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/head/item_vr_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/head/item_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/head/item_vr_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/head/item_vr_unathi.dmi',\
@@ -172,6 +186,7 @@ SPECIES_VULPKANIN = 'icons/inventory/head/item_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = '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') SPECIES_FENNEC = 'icons/inventory/head/item_vr_vulpkanin.dmi')
#define ALL_VR_SPRITE_SHEETS_HANDS_ITEM list(\ #define ALL_VR_SPRITE_SHEETS_HANDS_ITEM list(\
SPECIES_HUMAN = 'icons/inventory/hands/item_vr.dmi',\
SPECIES_TAJ = 'icons/inventory/hands/item_vr_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/hands/item_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/hands/item_vr_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/hands/item_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/hands/item_vr_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/hands/item_vr_unathi.dmi',\
@@ -184,6 +199,7 @@ SPECIES_VULPKANIN = 'icons/inventory/hands/item_vr_vulpkanin.dmi',\
SPECIES_ZORREN_HIGH = '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') SPECIES_FENNEC = 'icons/inventory/hands/item_vr_vulpkanin.dmi')
#define ALL_VR_SPRITE_SHEETS_FEET_ITEM list(\ #define ALL_VR_SPRITE_SHEETS_FEET_ITEM list(\
SPECIES_HUMAN = 'icons/inventory/feet/item_vr.dmi',\
SPECIES_TAJ = 'icons/inventory/feet/item_vr_tajaran.dmi',\ SPECIES_TAJ = 'icons/inventory/feet/item_vr_tajaran.dmi',\
SPECIES_SKRELL = 'icons/inventory/feet/item_vr_skrell.dmi',\ SPECIES_SKRELL = 'icons/inventory/feet/item_vr_skrell.dmi',\
SPECIES_UNATHI = 'icons/inventory/feet/item_vr_unathi.dmi',\ SPECIES_UNATHI = 'icons/inventory/feet/item_vr_unathi.dmi',\

View File

@@ -14,12 +14,13 @@ GLOBAL_LIST_EMPTY(suit_cycler_emagged)
var/helmet_becomes var/helmet_becomes
/datum/suit_cycler_choice/department/proc/can_refit_helmet(obj/item/clothing/head/helmet/helmet) /datum/suit_cycler_choice/department/proc/can_refit_helmet(obj/item/clothing/head/helmet/helmet)
return !!helmet_becomes return helmet && !!helmet_becomes
/datum/suit_cycler_choice/department/proc/do_refit_helmet(obj/item/clothing/head/helmet/helmet) /datum/suit_cycler_choice/department/proc/do_refit_helmet(obj/item/clothing/head/helmet/helmet)
var/obj/item/clothing/tmp = new helmet_becomes() var/obj/item/clothing/tmp = new helmet_becomes()
helmet.name = "refitted [tmp.name]" helmet.name = "refitted [tmp.name]"
helmet.desc = tmp.desc helmet.desc = tmp.desc
helmet.icon = tmp.icon
helmet.icon_state = tmp.icon_state helmet.icon_state = tmp.icon_state
helmet.item_state = tmp.item_state helmet.item_state = tmp.item_state
helmet.item_state_slots = tmp.item_state_slots?.Copy() helmet.item_state_slots = tmp.item_state_slots?.Copy()
@@ -28,12 +29,13 @@ GLOBAL_LIST_EMPTY(suit_cycler_emagged)
helmet.default_worn_icon = tmp.default_worn_icon helmet.default_worn_icon = tmp.default_worn_icon
/datum/suit_cycler_choice/department/proc/can_refit_suit(obj/item/clothing/suit/space/suit) /datum/suit_cycler_choice/department/proc/can_refit_suit(obj/item/clothing/suit/space/suit)
return !!suit_becomes return suit && !!suit_becomes
/datum/suit_cycler_choice/department/proc/do_refit_suit(obj/item/clothing/suit/space/suit) /datum/suit_cycler_choice/department/proc/do_refit_suit(obj/item/clothing/suit/space/suit)
var/obj/item/clothing/tmp = new suit_becomes() var/obj/item/clothing/tmp = new suit_becomes()
suit.name = "refitted [tmp.name]" suit.name = "refitted [tmp.name]"
suit.desc = tmp.desc suit.desc = tmp.desc
suit.icon = tmp.icon
suit.icon_state = tmp.icon_state suit.icon_state = tmp.icon_state
suit.item_state = tmp.item_state suit.item_state = tmp.item_state
suit.item_state_slots = tmp.item_state_slots?.Copy() suit.item_state_slots = tmp.item_state_slots?.Copy()
@@ -305,16 +307,16 @@ GLOBAL_LIST_EMPTY(suit_cycler_emagged)
// Uses same logic as it used to, which is that it bases an assumption of 'we should have custom sprites' on // 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 // 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) /datum/suit_cycler_choice/species/proc/can_refit_to(...)
for(var/obj/item/clothing/C in list(helmet, suit)) for(var/obj/item/clothing/C in args)
if(LAZYACCESS(C.sprite_sheets_obj, name)) if(LAZYACCESS(C.sprite_sheets_obj, name))
if(!(C.icon_state in cached_icon_states(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 FALSE // Species was in sprite_sheets_obj, but had no sprite for this object in particular
return TRUE return TRUE
/datum/suit_cycler_choice/species/proc/do_refit_to(obj/item/clothing/head/helmet/helmet, obj/item/clothing/suit/space/suit) /datum/suit_cycler_choice/species/proc/do_refit_to(...)
for(var/obj/item/clothing/C in list(helmet, suit)) for(var/obj/item/clothing/C in args)
C.refit_for_species(name) C.refit_for_species(name)
/datum/suit_cycler_choice/species/noop /datum/suit_cycler_choice/species/noop

View File

@@ -1114,17 +1114,20 @@ GLOBAL_LIST_EMPTY(suit_cycler_typecache)
/obj/machinery/suit_cycler/proc/apply_paintjob() /obj/machinery/suit_cycler/proc/apply_paintjob()
if(!target_species || !target_department) if(!target_species || !target_department)
return return
if(suit?.helmet)
visible_message("[bicon(src)]<span class='warning'>Separate the suit and helmet before applying any customizations.</span>")
return
if(helmet && target_department.can_refit_helmet(helmet)) // Helmet to new paint
if(target_department.can_refit_helmet(helmet))
target_department.do_refit_helmet(helmet) target_department.do_refit_helmet(helmet)
if(suit && target_department.can_refit_suit(suit)) // Suit to new paint
if(target_department.can_refit_suit(suit))
target_department.do_refit_suit(suit) target_department.do_refit_suit(suit)
// Attached voidsuit helmet to new paint
if(target_species.can_refit_to(helmet, suit)) if(target_department.can_refit_helmet(suit?.helmet))
target_species.do_refit_to(helmet, suit) target_department.do_refit_helmet(suit.helmet)
// Species fitting for all 3 potential changes
if(target_species.can_refit_to(helmet, suit, suit?.helmet))
target_species.do_refit_to(helmet, suit, suit?.helmet)
else 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>") visible_message("[bicon(src)]<span class='warning'>Unable to apply specified cosmetics with specified species. Please try again with a different species or cosmetic option selected.</span>")
return return

File diff suppressed because it is too large Load Diff

View File

@@ -239,4 +239,9 @@
SPECIES_ALRAUNE = 'icons/inventory/head/item_vr.dmi', SPECIES_ALRAUNE = 'icons/inventory/head/item_vr.dmi',
SPECIES_ZADDAT = 'icons/inventory/head/item_vr.dmi' SPECIES_ZADDAT = 'icons/inventory/head/item_vr.dmi'
) )
<<<<<<< HEAD
sprite_sheets_refit = list() //have to nullify this as well just to be thorough sprite_sheets_refit = list() //have to nullify this as well just to be thorough
||||||| parent of 9b03341473... Merge pull request #11162 from VOREStation/Arokha/cycletweaks
sprite_sheets_refit = list() //have to nullify this as well just to be thorough
=======
>>>>>>> 9b03341473... Merge pull request #11162 from VOREStation/Arokha/cycletweaks

View File

@@ -14,18 +14,8 @@
//Species-specific stuff. //Species-specific stuff.
species_restricted = list("Human", "Promethean") species_restricted = list("Human", "Promethean")
sprite_sheets_refit = list( sprite_sheets = VR_SPECIES_SPRITE_SHEETS_HEAD_MOB
SPECIES_UNATHI = 'icons/inventory/head/mob_unathi.dmi', sprite_sheets_obj = VR_SPECIES_SPRITE_SHEETS_HEAD_ITEM
SPECIES_TAJ = 'icons/inventory/head/mob_tajaran.dmi',
SPECIES_SKRELL = 'icons/inventory/head/mob_skrell.dmi'
//Teshari have a general sprite sheet defined in modules/clothing/clothing.dm
)
sprite_sheets_obj = list(
SPECIES_UNATHI = 'icons/inventory/head/item_unathi.dmi',
SPECIES_TAJ = 'icons/inventory/head/item_tajaran.dmi',
SPECIES_SKRELL = 'icons/inventory/head/item_skrell.dmi',
SPECIES_TESHARI = 'icons/inventory/head/item_teshari.dmi'
)
light_overlay = "helmet_light" light_overlay = "helmet_light"
var/no_cycle = FALSE //stop this item from being put in a cycler var/no_cycle = FALSE //stop this item from being put in a cycler
@@ -44,18 +34,8 @@
max_pressure_protection = 10 * ONE_ATMOSPHERE max_pressure_protection = 10 * ONE_ATMOSPHERE
species_restricted = list("Human", SPECIES_SKRELL, "Promethean") species_restricted = list("Human", SPECIES_SKRELL, "Promethean")
sprite_sheets_refit = list( sprite_sheets = VR_SPECIES_SPRITE_SHEETS_SUIT_MOB
SPECIES_UNATHI = 'icons/inventory/suit/mob_unathi.dmi', sprite_sheets_obj = VR_SPECIES_SPRITE_SHEETS_SUIT_ITEM
SPECIES_TAJ = 'icons/inventory/suit/mob_tajaran.dmi',
SPECIES_SKRELL = 'icons/inventory/suit/mob_skrell.dmi'
//Teshari have a general sprite sheet defined in modules/clothing/clothing.dm
)
sprite_sheets_obj = list(
SPECIES_UNATHI = 'icons/inventory/suit/item_unathi.dmi',
SPECIES_TAJ = 'icons/inventory/suit/item_tajaran.dmi',
SPECIES_SKRELL = 'icons/inventory/suit/item_skrell.dmi',
SPECIES_TESHARI = 'icons/inventory/suit/item_teshari.dmi'
)
//Breach thresholds, should ideally be inherited by most (if not all) voidsuits. //Breach thresholds, should ideally be inherited by most (if not all) voidsuits.
//With 0.2 resiliance, will reach 10 breach damage after 3 laser carbine blasts or 8 smg hits. //With 0.2 resiliance, will reach 10 breach damage after 3 laser carbine blasts or 8 smg hits.

View File

@@ -7,20 +7,10 @@
/obj/item/clothing/head/helmet/space/void /obj/item/clothing/head/helmet/space/void
species_restricted = list(SPECIES_HUMAN, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA) species_restricted = list(SPECIES_HUMAN, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA)
sprite_sheets = VR_SPECIES_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = VR_SPECIES_SPRITE_SHEETS_HEAD_ITEM
/obj/item/clothing/suit/space/void /obj/item/clothing/suit/space/void
species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA) species_restricted = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_RAPALA, SPECIES_VASILISSAN, SPECIES_ALRAUNE, SPECIES_PROMETHEAN, SPECIES_XENOCHIMERA)
sprite_sheets = 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.
// This variable is normally used to set the icon_override when the suit is refitted,
// however the species spritesheet now means we no longer need that anyway!
sprite_sheets_refit = list()
/obj/item/clothing/head/helmet/space/void/heck /obj/item/clothing/head/helmet/space/void/heck
name = "\improper H.E.C.K. helmet" name = "\improper H.E.C.K. helmet"
desc = "Hostile Environiment Cross-Kinetic Helmet: A helmet designed to withstand the wide variety of hazards from \[REDACTED\]. It wasn't enough for its last owner." desc = "Hostile Environiment Cross-Kinetic Helmet: A helmet designed to withstand the wide variety of hazards from \[REDACTED\]. It wasn't enough for its last owner."
@@ -106,7 +96,6 @@
default_worn_icon = 'icons/inventory/suit/mob_vr.dmi' default_worn_icon = 'icons/inventory/suit/mob_vr.dmi'
sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB sprite_sheets = ALL_VR_SPRITE_SHEETS_SUIT_MOB
sprite_sheets_obj = null sprite_sheets_obj = null
sprite_sheets_refit = null
/obj/item/clothing/suit/space/void/autolok/Initialize() /obj/item/clothing/suit/space/void/autolok/Initialize()
. = ..() . = ..()
@@ -162,4 +151,11 @@
default_worn_icon = 'icons/inventory/head/mob_vr.dmi' default_worn_icon = 'icons/inventory/head/mob_vr.dmi'
sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB sprite_sheets = ALL_VR_SPRITE_SHEETS_HEAD_MOB
sprite_sheets_obj = null sprite_sheets_obj = null
<<<<<<< HEAD
sprite_sheets_refit = null sprite_sheets_refit = null
||||||| parent of 9b03341473... Merge pull request #11162 from VOREStation/Arokha/cycletweaks
sprite_sheets_refit = null
=======
>>>>>>> 9b03341473... Merge pull request #11162 from VOREStation/Arokha/cycletweaks

View File

@@ -7,7 +7,6 @@
unacidable = TRUE //No longer shall our kind be foiled by lone chemists with spray bottles! unacidable = TRUE //No longer shall our kind be foiled by lone chemists with spray bottles!
armor = list(melee = 40, bullet = 20, laser = 20,energy = 20, bomb = 35, bio = 100, rad = 60) armor = list(melee = 40, bullet = 20, laser = 20,energy = 20, bomb = 35, bio = 100, rad = 60)
siemens_coefficient = 0.7 siemens_coefficient = 0.7
sprite_sheets_refit = null
sprite_sheets_obj = null sprite_sheets_obj = null
wizard_garb = 1 wizard_garb = 1
@@ -20,6 +19,5 @@
unacidable = TRUE unacidable = TRUE
armor = list(melee = 40, bullet = 20, laser = 20,energy = 20, bomb = 35, bio = 100, rad = 60) armor = list(melee = 40, bullet = 20, laser = 20,energy = 20, bomb = 35, bio = 100, rad = 60)
siemens_coefficient = 0.7 siemens_coefficient = 0.7
sprite_sheets_refit = null
sprite_sheets_obj = null sprite_sheets_obj = null
wizard_garb = 1 wizard_garb = 1