[MIRROR] Rig glovefix and Clothing protection fix (#10263)

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-03-02 17:45:32 -07:00
committed by GitHub
parent 5c09ba759a
commit 38658b4dad
165 changed files with 21622 additions and 22056 deletions

View File

@@ -267,21 +267,21 @@
heat_protection = HANDS
max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE
/obj/item/clothing/gloves/toxinregen/equipped(var/mob/living/carbon/human/H)
/obj/item/clothing/gloves/toxinregen/equipped(mob/user, slot)
var/mob/living/carbon/human/H = wearer?.resolve()
if(H && H.gloves == src)
wearer = H
if(wearer.can_feel_pain())
if(H.can_feel_pain())
to_chat(H, span_danger("You feel a stabbing sensation in your hands as you slide \the [src] on!"))
wearer.custom_pain("You feel a sharp pain in your hands!",1)
H.custom_pain("You feel a sharp pain in your hands!",1)
..()
/obj/item/clothing/gloves/toxinregen/dropped(var/mob/living/carbon/human/H)
/obj/item/clothing/gloves/toxinregen/dropped(mob/user)
var/mob/living/carbon/human/H = wearer?.resolve()
if(H)
if(H.can_feel_pain())
to_chat(H, span_danger("You feel the hypodermic needles as you slide \the [src] off!"))
H.custom_pain("Your hands hurt like hell!",1)
..()
if(wearer)
if(wearer.can_feel_pain())
to_chat(wearer, span_danger("You feel the hypodermic needles as you slide \the [src] off!"))
wearer.custom_pain("Your hands hurt like hell!",1)
wearer = null
/obj/item/clothing/gloves/toxinregen/New()
START_PROCESSING(SSobj, src)
@@ -293,7 +293,8 @@
return ..()
/obj/item/clothing/gloves/toxinregen/process()
if(!wearer || wearer.isSynthetic() || wearer.stat == DEAD || wearer.nutrition <= 10)
var/mob/living/carbon/human/H = wearer?.resolve()
if(!H || H.isSynthetic() || H.stat == DEAD || H.nutrition <= 10)
return
if(wearer.getToxLoss())
wearer.adjustToxLoss(-0.5)
if(H.getToxLoss())
H.adjustToxLoss(-0.5)

View File

@@ -1,15 +1,15 @@
/obj/item/clothing/accessory/holster/leg/left
name = "left leg holster"
desc = "A drop leg holster made of a durable synthetic leather, fitted for your left leg."
icon_state = "holster_left_leg"
overlay_state = "holster_left_leg"
icon_state = "holster_leg"
overlay_state = "holster_leg"
concealed_holster = 0
/obj/item/clothing/accessory/holster/leg/left/black
name = "black left leg holster"
desc = "A drop leg holster made of black leather, fitted for your left leg."
icon_state = "holster_b_left_leg"
overlay_state = "holster_b_left_leg"
icon_state = "holster_b_leg"
overlay_state = "holster_b_leg"
concealed_holster = 0
/obj/item/clothing/accessory/holster/case

View File

@@ -75,35 +75,35 @@
siemens_coefficient = 0
armor = list(melee = 70, bullet = 60, laser = 50, energy = 50, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/gloves/stamina/equipped(var/mob/living/carbon/human/H)
/obj/item/clothing/gloves/stamina/equipped(mob/user)
..()
var/mob/living/carbon/human/H = wearer?.resolve()
if(H && H.gloves == src)
wearer = H
if(wearer.can_feel_pain())
if(H.can_feel_pain())
to_chat(H, span_danger("You feel strange as hunger vanishes!"))
wearer.custom_pain("Your hands feel strange!",1)
..()
H.custom_pain("Your hands feel strange!",1)
/obj/item/clothing/gloves/stamina/dropped(var/mob/living/carbon/human/H)
/obj/item/clothing/gloves/stamina/dropped(mob/user)
var/mob/living/carbon/human/H = wearer?.resolve()
if(H)
if(H.can_feel_pain())
to_chat(H, span_danger("You feel hungry!"))
H.custom_pain("Your hands feel strange",1)
..()
if(wearer)
if(wearer.can_feel_pain())
to_chat(wearer, span_danger("You feel hungry!"))
wearer.custom_pain("Your hands feel strange",1)
wearer = null
/obj/item/clothing/gloves/stamina/New()
START_PROCESSING(SSobj, src)
..()
/obj/item/clothing/gloves/stamina/Destroy()
wearer = null
STOP_PROCESSING(SSobj, src)
return ..()
/obj/item/clothing/gloves/stamina/process()
if(!wearer || wearer.isSynthetic() || wearer.stat == DEAD)
var/mob/living/carbon/human/H = wearer?.resolve()
if(!H || H.isSynthetic() || H.stat == DEAD)
return // Robots and dead people don't have a metabolism.
wearer.nutrition = max(wearer.nutrition + 8, 0)
H.nutrition = max(H.nutrition + 8, 0)
/obj/item/clothing/suit/armor/buffvest
name = "candy armor"

View File

@@ -1,6 +1,8 @@
/obj/item/clothing/shoes/mech_shoes
name = "mech shoes"
desc = "Thud thud."
icon = 'icons/effects/effects.dmi' //This is to make the unit test happy. These are invisible which are... Less than ideal. This should probably be moved to a trait or sound selector, but I digress. Outside scope of this PR.
icon_state = "nothing" // Horribly illegal and shouldn't be a thing, but whatever.
armor = list(melee = 30, bullet = 10, laser = 10, energy = 15, bomb = 20, bio = 0, rad = 0) // Same as loadout jackboots.
siemens_coefficient = 0.7 // Same as loadout jackboots.
can_hold_knife = 1
@@ -31,6 +33,7 @@
/obj/item/clothing/shoes/mech_shoes/mister_x/visible
name = "visible extra large jackboots"
icon = 'icons/inventory/feet/item.dmi'
icon_state = "jackboots"
/obj/item/clothing/shoes/clown_shoes

View File

@@ -16,22 +16,26 @@
/obj/item/clothing/suit/space/rig/ch/aegis
name = "chassis"
icon = 'icons/obj/clothing/spacesuits_ch.dmi'
icon_state = "aegis_rig"
desc = "A heft chestplate, humming with energy."
/obj/item/clothing/head/helmet/space/rig/ch/aegis
name = "helmet"
icon = 'icons/obj/clothing/hats_ch.dmi'
icon_state = "aegis_rig"
desc = "A protective dome for your head."
/obj/item/clothing/gloves/gauntlets/rig/ch/aegis
name = "hardlight gloves"
icon = 'icons/obj/clothing/gloves_ch.dmi'
icon_state = "aegis_rig"
desc = "Gloves created with alien tech"
var/block_chance = 15
/obj/item/clothing/shoes/magboots/rig/ch/aegis
name = "hardlight boots"
icon = 'icons/obj/clothing/shoes_ch.dmi'
icon_state = "aegis_rig"
desc = "A pair of grabby boots"
/obj/item/rig/ch/aegis/bullet_act(var/obj/item/projectile/P)

View File

@@ -38,22 +38,28 @@
/obj/item/clothing/suit/space/rig/ch/clockwork
name = "cuirass"
icon = 'icons/obj/clothing/spacesuits_ch.dmi'
icon_state = "clockwork_rig"
desc = "A bulky cuirass made of brass."
/obj/item/clothing/head/helmet/space/rig/ch/clockwork
name = "helmet"
icon = 'icons/obj/clothing/hats_ch.dmi'
icon_state = "clockwork_rig"
desc = "A heavy helmet made of brass."
/obj/item/clothing/gloves/gauntlets/rig/ch/clockwork
name = "gauntlets"
icon = 'icons/obj/clothing/gloves_ch.dmi'
icon_state = "clockwork_rig"
desc = "Heavy, shock-resistant gauntlets with brass reinforcement."
siemens_coefficient = 0
/obj/item/clothing/shoes/magboots/rig/ch/clockwork
name = "treads"
icon = 'icons/obj/clothing/shoes_ch.dmi'
icon_state = "clockwork_rig"
desc = "Industrial boots made of brass. They're very heavy."
/obj/item/cell/clockwork //using the stats of a precursor void cell until someone's motivated to port and make the suit use clockcult global power
@@ -67,4 +73,4 @@
self_recharge = TRUE
charge_delay = 50
matter = null
standard_overlays = FALSE
standard_overlays = FALSE

View File

@@ -1,3 +1,6 @@
// The sprites in this file were completely missing for all the actual clothes. They are NOT in the icon file they should be.
// The only sprite is the actual rig module in rig_modules_ch.dmi. The others don't have any boots/chest/hands/helm sprites.
// If the sprites are properly found somewhere, please add them to their appropraite files and reenable this file.
/obj/item/rig/ch/crystal
name = "crystal control module"
desc = "An oddly lightweight rigsuit from a strange crystaline creature."
@@ -18,21 +21,25 @@
/obj/item/clothing/suit/space/rig/ch/crystal //to do, try and make this be able to heal you
name = "chassis"
icon = 'icons/obj/clothing/spacesuits_ch.dmi'
icon_state = "crystal_rig"
desc = "A heft chestplate, humming with energy."
/obj/item/clothing/head/helmet/space/rig/ch/crystal
name = "helmet"
icon = 'icons/obj/clothing/hats_ch.dmi'
icon_state = "crystal_rig"
desc = "A protective dome for your head."
/obj/item/clothing/gloves/gauntlets/rig/ch/crystal
name = "hardlight gloves"
icon = 'icons/obj/clothing/gloves_ch.dmi'
icon_state = "crystal_rig"
desc = "Gloves created with alien tech"
siemens_coefficient = 0
/obj/item/clothing/shoes/magboots/rig/ch/crystal
name = "hardlight boots"
icon = 'icons/obj/clothing/shoes_ch.dmi'
icon_state = "crystal_rig"
desc = "A pair of grabby boots"
slowdown = -1
slowdown = -1

View File

@@ -20,24 +20,28 @@
/obj/item/clothing/suit/space/rig/ch/precursor
name = "protective vest"
icon = 'icons/obj/clothing/spacesuits_ch.dmi'
icon_state = "precursor_rig"
desc = "Light weight but oddly protective plating."
var/block_chance = 15
/obj/item/clothing/head/helmet/space/rig/ch/precursor
name = "helmet"
icon = 'icons/obj/clothing/hats_ch.dmi'
icon_state = "precursor_rig"
desc = "A protective dome for your head."
var/block_chance = 15
/obj/item/clothing/gloves/gauntlets/rig/ch/precursor
name = "gloves"
icon = 'icons/obj/clothing/gloves_ch.dmi'
icon_state = "precursor_rig"
desc = "Gloves created with alien tech"
var/block_chance = 15
/obj/item/clothing/shoes/magboots/rig/ch/precursor
name = "boots"
icon = 'icons/obj/clothing/shoes_ch.dmi'
icon_state = "precursor_rig"
desc = "A pair of grabby boots"
var/block_chance = 15

View File

@@ -1,22 +1,26 @@
/obj/item/clothing/head/helmet/space/rig/vox/ch
icon_state = "vox_engineer_rig" //The name is seen by players, but rigs do some funny things like overwriting the icon_state. The unit test will screech if a rig doesn't have an icon_state, so we set one here.
icon = 'modular_chomp/icons/inventory/head/item.dmi'
sprite_sheets = list(
SPECIES_VOX = 'modular_chomp/icons/inventory/head/mob_vox.dmi'
)
/obj/item/clothing/shoes/magboots/rig/vox/ch
icon_state = "vox_engineer_rig" //The name is seen by players, but rigs do some funny things like overwriting the icon_state. The unit test will screech if a rig doesn't have an icon_state, so we set one here.
icon = 'modular_chomp/icons/inventory/feet/item.dmi'
sprite_sheets = list(
SPECIES_VOX = 'modular_chomp/icons/inventory/feet/mob_vox.dmi'
)
/obj/item/clothing/suit/space/rig/vox/ch
icon_state = "vox_engineer_rig" //The name is seen by players, but rigs do some funny things like overwriting the icon_state. The unit test will screech if a rig doesn't have an icon_state, so we set one here.
icon = 'modular_chomp/icons/inventory/suit/item.dmi'
sprite_sheets = list(
SPECIES_VOX = 'modular_chomp/icons/inventory/suit/mob_vox.dmi'
)
/obj/item/clothing/gloves/gauntlets/rig/vox/ch
icon_state = "vox_engineer_rig" //The name is seen by players, but rigs do some funny things like overwriting the icon_state. The unit test will screech if a rig doesn't have an icon_state, so we set one here.
icon = 'modular_chomp/icons/inventory/hands/item.dmi'
sprite_sheets = list(
SPECIES_VOX = 'modular_chomp/icons/inventory/hands/mob_vox.dmi'

View File

@@ -1,3 +1,6 @@
// The sprites in this file were completely missing for all the actual clothes. They are NOT in the icon file they should be.
// The only sprite is the actual rig module in rig_modules_ch.dmi. The others don't have any boots/chest/hands/helm sprites.
// If the sprites are properly found somewhere, please add them to their appropraite files and reenable this file.
/obj/item/rig/ch/tyrprecursor
name = "alien hardsuit control module"
desc = "A orange hardsuit gleaming with energy and alien metals."
@@ -18,6 +21,7 @@
/obj/item/clothing/suit/space/rig/ch/tyrprecursor
name = "protective vest"
icon = 'icons/obj/clothing/spacesuits_ch.dmi'
icon_state = "tyrprecursor_rig"
desc = "Light weight but oddly protective plating."
var/shieldhealth = 75
var/cooldown = null // world.time of when this was last triggered.
@@ -57,6 +61,7 @@
/obj/item/clothing/head/helmet/space/rig/ch/tyrprecursor
name = "helmet"
icon = 'icons/obj/clothing/hats_ch.dmi'
icon_state = "tyrprecursor_rig"
desc = "A protective dome for your head."
var/shieldhealth = 75
@@ -97,6 +102,7 @@
/obj/item/clothing/gloves/gauntlets/rig/ch/tyrprecursor
name = "gloves"
icon = 'icons/obj/clothing/gloves_ch.dmi'
icon_state = "tyrprecursor_rig"
desc = "Gloves created with alien tech"
var/shieldhealth = 75
var/cooldown = null // world.time of when this was last triggered.
@@ -136,6 +142,7 @@
/obj/item/clothing/shoes/magboots/rig/ch/tyrprecursor
name = "boots"
icon = 'icons/obj/clothing/shoes_ch.dmi'
icon_state = "tyrprecursor_rig"
desc = "A pair of grabby boots"
var/shieldhealth = 75
var/cooldown = null // world.time of when this was last triggered.
@@ -170,4 +177,4 @@
if(isliving(loc))
var/mob/living/L = loc
if(world.time >= cooldown && L.is_sentient() && shieldhealth < 1)
activate_ability(L)
activate_ability(L)

View File

@@ -33,7 +33,9 @@
melee_attack_delay = 8
movement_cooldown = 13
/* //Commented out pending crystal rigsuit fix. Currently there are no sprites.
loot_list = list(/obj/item/rig/ch/crystal = 100,
)
*/
//Note to self, make the angel here when energy is gained
//Note to self, make the angel here when energy is gained