mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 06:57:42 +01:00
Hardsuit equip time reversion
At Fox's request
This commit is contained in:
@@ -1,9 +1,6 @@
|
||||
/obj/item/clothing
|
||||
name = "clothing"
|
||||
var/list/species_restricted = null //Only these species can wear this kit.
|
||||
var/equip_time = 0
|
||||
var/equipping = 0
|
||||
var/rig_restrict_helmet = 0 // Stops the user from equipping a rig helmet without attaching it to the suit first.
|
||||
|
||||
//BS12: Species-restricted clothing check.
|
||||
/obj/item/clothing/mob_can_equip(M as mob, slot)
|
||||
|
||||
@@ -69,7 +69,6 @@
|
||||
desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding."
|
||||
icon_state = "rig0-engineering"
|
||||
item_state = "eng_helm"
|
||||
rig_restrict_helmet = 1
|
||||
armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80)
|
||||
allowed = list(/obj/item/device/flashlight)
|
||||
var/brightness_on = 4 //luminosity when on
|
||||
@@ -115,7 +114,6 @@
|
||||
desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding."
|
||||
icon_state = "rig-engineering"
|
||||
item_state = "eng_hardsuit"
|
||||
equip_time = 100 // Bone White - time to equip/unequip. see /obj/item/attack_hand (items.dm) and /obj/item/clothing/mob_can_equip (clothing.dm)
|
||||
slowdown = 4
|
||||
armor = list(melee = 30, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/storage/bag/ore,/obj/item/device/t_scanner,/obj/item/weapon/pickaxe, /obj/item/weapon/rcd)
|
||||
|
||||
@@ -146,28 +146,6 @@
|
||||
update_icons()
|
||||
return
|
||||
|
||||
/mob/proc/delay_clothing_u_equip(obj/item/clothing/X as obj) // Bone White - delays unequipping by parameter. Requires W to be /obj/item/clothing/
|
||||
|
||||
if(!istype(X)) return 0
|
||||
|
||||
if(X.equipping == 1) return 0 // Item is already being (un)equipped
|
||||
|
||||
var/tempX = usr.x
|
||||
var/tempY = usr.y
|
||||
usr << "\blue You start unequipping the [X]."
|
||||
X.equipping = 1
|
||||
var/equip_time = round(X.equip_time/10)
|
||||
var/i
|
||||
for(i=1; i<=equip_time; i++)
|
||||
sleep (10) // Check if they've moved every 10 time units
|
||||
if ((tempX != usr.x) || (tempY != usr.y))
|
||||
src << "\red \The [X] is too fiddly to unequip whilst moving."
|
||||
X.equipping = 0
|
||||
return 0
|
||||
u_equip(X)
|
||||
usr << "\blue You have finished unequipping the [X]."
|
||||
X.equipping = 0
|
||||
|
||||
/mob/proc/u_equip(W as obj)
|
||||
if (W == r_hand)
|
||||
r_hand = null
|
||||
|
||||
@@ -10,17 +10,6 @@
|
||||
H << "<span class='notice'>You are not holding anything to equip.</span>"
|
||||
return
|
||||
|
||||
if(istype(I, /obj/item/clothing/head/helmet/space/rig)) // If the item to be equipped is a rigid suit helmet
|
||||
src << "\red You must fasten the helmet to a hardsuit first. (Target the head)" // Stop eva helms equipping.
|
||||
return 0
|
||||
|
||||
|
||||
if(istype(I, /obj/item/clothing/suit/space/rig)) // If the item to be equipped is a rigid suit
|
||||
var/obj/item/clothing/suit/space/rig/J = I
|
||||
if(J.equip_time > 0)
|
||||
delay_clothing_equip_to_slot_if_possible(J, 13) // 13 = suit slot
|
||||
return 0
|
||||
|
||||
if(H.equip_to_appropriate_slot(I))
|
||||
if(hand)
|
||||
update_inv_l_hand(0)
|
||||
|
||||
+2
-36
@@ -105,21 +105,8 @@
|
||||
/mob/proc/attack_ui(slot)
|
||||
var/obj/item/W = get_active_hand()
|
||||
|
||||
//if(istype(W))
|
||||
// equip_to_slot_if_possible(W, slot)
|
||||
|
||||
if(istype(W))
|
||||
if (istype(W, /obj/item/clothing))
|
||||
var/obj/item/clothing/C = W
|
||||
if(C.rig_restrict_helmet)
|
||||
src << "\red You must fasten the helmet to a hardsuit first. (Target the head)" // Stop eva helms equipping.
|
||||
else
|
||||
if(C.equip_time > 0)
|
||||
delay_clothing_equip_to_slot_if_possible(C, slot)
|
||||
else
|
||||
equip_to_slot_if_possible(C, slot)
|
||||
else
|
||||
equip_to_slot_if_possible(W, slot)
|
||||
equip_to_slot_if_possible(W, slot)
|
||||
|
||||
if(ishuman(src) && W == src:head)
|
||||
src:update_hair()
|
||||
@@ -131,30 +118,9 @@
|
||||
return 1
|
||||
return 0
|
||||
|
||||
//This is a SAFE proc. Use this instead of equip_to_splot()!
|
||||
/mob/proc/delay_clothing_equip_to_slot_if_possible(obj/item/clothing/X as obj, slot, del_on_fail = 0, disable_warning = 0, redraw_mob = 1, delay_time = 0)
|
||||
if(!istype(X)) return 0
|
||||
|
||||
if(X.equipping == 1) return 0 // Item is already being equipped
|
||||
|
||||
var/tempX = usr.x
|
||||
var/tempY = usr.y
|
||||
usr << "\blue You start equipping the [X]."
|
||||
X.equipping = 1
|
||||
var/equip_time = round(X.equip_time/10)
|
||||
var/i
|
||||
for(i=1; i<=equip_time; i++)
|
||||
sleep (10) // Check if they've moved every 10 time units
|
||||
if ((tempX != usr.x) || (tempY != usr.y))
|
||||
src << "\red \The [X] is too fiddly to fasten whilst moving."
|
||||
X.equipping = 0
|
||||
return 0
|
||||
equip_to_slot_if_possible(X, slot)
|
||||
usr << "\blue You have finished equipping the [X]."
|
||||
X.equipping = 0
|
||||
|
||||
|
||||
//This is a SAFE proc. Use this instead of equip_to_splot()!
|
||||
//This is a SAFE proc. Use this instead of equip_to_slot()!
|
||||
//set del_on_fail to have it delete W if it fails to equip
|
||||
//set disable_warning to disable the 'you are unable to equip that' warning.
|
||||
//unset redraw_mob to prevent the mob from being redrawn at the end.
|
||||
|
||||
Reference in New Issue
Block a user