mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 21:48:39 +01:00
@@ -44,11 +44,11 @@
|
||||
STORAGE_TYPE = /obj/item/weapon/tank/jetpack/oxygen
|
||||
|
||||
/obj/machinery/suit_storage_unit/engine
|
||||
SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit
|
||||
SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/engine
|
||||
MASK_TYPE = /obj/item/clothing/mask/breath
|
||||
|
||||
/obj/machinery/suit_storage_unit/ce
|
||||
SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/elite
|
||||
SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/engine/elite
|
||||
MASK_TYPE = /obj/item/clothing/mask/breath
|
||||
STORAGE_TYPE= /obj/item/clothing/shoes/magboots/advance
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
MASK_TYPE = /obj/item/clothing/mask/gas/sechailer
|
||||
|
||||
/obj/machinery/suit_storage_unit/atmos
|
||||
SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/atmos
|
||||
SUIT_TYPE = /obj/item/clothing/suit/space/hardsuit/engine/atmos
|
||||
MASK_TYPE = /obj/item/clothing/mask/gas
|
||||
STORAGE_TYPE = /obj/item/weapon/watertank/atmos
|
||||
|
||||
|
||||
@@ -106,4 +106,62 @@
|
||||
..()
|
||||
ion_trail = new /datum/effect/effect/system/ion_trail_follow()
|
||||
ion_trail.set_up(src)
|
||||
air_contents.carbon_dioxide = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
|
||||
air_contents.carbon_dioxide = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
|
||||
|
||||
|
||||
/obj/item/weapon/tank/jetpack/suit
|
||||
name = "suit inbuilt jetpack"
|
||||
desc = "A device that will use your internals tank as a gas source for propulsion."
|
||||
icon_state = "jetpack-void"
|
||||
item_state = "jetpack-void"
|
||||
var/obj/item/weapon/tank/internals/tank = null
|
||||
|
||||
/obj/item/weapon/tank/jetpack/suit/New()
|
||||
..()
|
||||
SSobj.processing -= src
|
||||
air_contents = null
|
||||
|
||||
/obj/item/weapon/tank/jetpack/suit/toggle()
|
||||
set name = "Toggle Jetpack"
|
||||
set category = "Object"
|
||||
|
||||
if(istype(loc.loc,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = loc.loc
|
||||
|
||||
if(!H.wear_suit)
|
||||
H << "You must be wearing the suit to use the inbuilt jetpack."
|
||||
return
|
||||
if(!istype(H.s_store,/obj/item/weapon/tank/internals))
|
||||
H << "You must have a tank in your suit's storage to use the inbuilt jetpack."
|
||||
return
|
||||
if(usr.stat || !usr.canmove || usr.restrained())
|
||||
return
|
||||
|
||||
on = !on
|
||||
if(on)
|
||||
ion_trail.start()
|
||||
tank = H.s_store
|
||||
air_contents = tank.air_contents
|
||||
SSobj.processing |= src
|
||||
icon_state = "[icon_state]-on"
|
||||
else
|
||||
turn_off()
|
||||
H << "You toggle the inbuilt jetpack [on? "on":"off"]."
|
||||
|
||||
/obj/item/weapon/tank/jetpack/suit/proc/turn_off()
|
||||
on = 0
|
||||
SSobj.processing -= src
|
||||
ion_trail.stop()
|
||||
air_contents = null
|
||||
tank = null
|
||||
icon_state = initial(icon_state)
|
||||
|
||||
/obj/item/weapon/tank/jetpack/suit/process()
|
||||
if(!istype(loc.loc,/mob/living/carbon/human))
|
||||
turn_off()
|
||||
return
|
||||
var/mob/living/carbon/human/H = loc.loc
|
||||
if(!tank || tank != H.s_store)
|
||||
turn_off()
|
||||
return
|
||||
..()
|
||||
@@ -196,7 +196,7 @@
|
||||
corpseidaccess = "Station Engineer"
|
||||
|
||||
/obj/effect/landmark/corpse/engineer/rig
|
||||
corpsesuit = /obj/item/clothing/suit/space/hardsuit
|
||||
corpsesuit = /obj/item/clothing/suit/space/hardsuit/engine
|
||||
corpsemask = /obj/item/clothing/mask/breath
|
||||
|
||||
/obj/effect/landmark/corpse/clown
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//Regular (engineering) hardsuits
|
||||
//Baseline hardsuits
|
||||
/obj/item/clothing/head/helmet/space/hardsuit
|
||||
name = "engineering hardsuit helmet"
|
||||
name = "hardsuit helmet"
|
||||
desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding."
|
||||
icon_state = "hardsuit0-engineering"
|
||||
item_state = "eng_helm"
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit
|
||||
name = "engineering hardsuit"
|
||||
name = "hardsuit"
|
||||
desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding."
|
||||
icon_state = "hardsuit-engineering"
|
||||
item_state = "eng_hardsuit"
|
||||
@@ -46,9 +46,42 @@
|
||||
var/obj/item/clothing/head/helmet/space/hardsuit/helmet
|
||||
action_button_name = "Toggle Helmet"
|
||||
var/helmettype = /obj/item/clothing/head/helmet/space/hardsuit
|
||||
var/obj/item/weapon/tank/jetpack/suit/jetpack = null
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/verb/Jetpack()
|
||||
set name = "Toggle Inbuilt Jetpack"
|
||||
set category = "Object"
|
||||
jetpack.toggle()
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/verb/Jetpack_Rockets()
|
||||
set name = "Toggle Inbuilt Jetpack Stabilization"
|
||||
set category = "Object"
|
||||
jetpack.toggle_rockets()
|
||||
|
||||
//Engineering
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/engine
|
||||
name = "engineering hardsuit helmet"
|
||||
desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has radiation shielding."
|
||||
icon_state = "hardsuit0-engineering"
|
||||
item_state = "eng_helm"
|
||||
armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75)
|
||||
item_color = "engineering"
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/engine
|
||||
name = "engineering hardsuit"
|
||||
desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding."
|
||||
icon_state = "hardsuit-engineering"
|
||||
item_state = "eng_hardsuit"
|
||||
armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75)
|
||||
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine
|
||||
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/engine/New()
|
||||
jetpack = new /obj/item/weapon/tank/jetpack/suit(src)
|
||||
..()
|
||||
|
||||
//Atmospherics
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/atmos
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/engine/atmos
|
||||
name = "atmospherics hardsuit helmet"
|
||||
desc = "A special helmet designed for work in a hazardous, low-pressure environment. Has thermal shielding."
|
||||
icon_state = "hardsuit0-atmospherics"
|
||||
@@ -58,6 +91,7 @@
|
||||
heat_protection = HEAD //Uncomment to enable firesuit protection
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/engine/atmos
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/atmos
|
||||
name = "atmospherics hardsuit"
|
||||
@@ -67,11 +101,11 @@
|
||||
armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 0)
|
||||
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
|
||||
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/atmos
|
||||
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/atmos
|
||||
|
||||
|
||||
//Chief Engineer's hardsuit
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/elite
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/engine/elite
|
||||
name = "advanced hardsuit helmet"
|
||||
desc = "An advanced helmet designed for work in a hazardous, low pressure environment. Shines with a high polish."
|
||||
icon_state = "hardsuit0-white"
|
||||
@@ -82,7 +116,7 @@
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
|
||||
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/elite
|
||||
/obj/item/clothing/suit/space/hardsuit/engine/elite
|
||||
icon_state = "hardsuit-white"
|
||||
name = "advanced hardsuit"
|
||||
desc = "An advanced suit that protects against hazardous, low pressure environments. Shines with a high polish."
|
||||
@@ -90,7 +124,7 @@
|
||||
armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 90)
|
||||
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
|
||||
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/elite
|
||||
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/elite
|
||||
|
||||
|
||||
//Mining hardsuit
|
||||
@@ -202,6 +236,9 @@
|
||||
..()
|
||||
flags ^= NODROP
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/syndi/New()
|
||||
jetpack = new /obj/item/weapon/tank/jetpack/suit(src)
|
||||
..()
|
||||
|
||||
//The Owl Hardsuit
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/syndi/owl
|
||||
|
||||
@@ -80,6 +80,9 @@
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/New()
|
||||
MakeHelmet()
|
||||
if(!jetpack)
|
||||
verbs -= /obj/item/clothing/suit/space/hardsuit/verb/Jetpack
|
||||
verbs -= /obj/item/clothing/suit/space/hardsuit/verb/Jetpack_Rockets
|
||||
..()
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/proc/MakeHelmet()
|
||||
@@ -136,4 +139,4 @@
|
||||
else
|
||||
H << "You disengage the helmet on the hardsuit."
|
||||
playsound(src.loc, 'sound/mecha/mechmove03.ogg', 50, 1)
|
||||
RemoveHelmet()
|
||||
RemoveHelmet()
|
||||
|
||||
@@ -15,6 +15,10 @@
|
||||
var/obj/item/weapon/tank/jetpack/J = back
|
||||
if((movement_dir || J.stabilization_on) && J.allow_thrust(0.01, src))
|
||||
return 1
|
||||
if(istype(wear_suit, /obj/item/clothing/suit/space/hardsuit/engine) && isturf(loc)) //Second check is so you can't use a jetpack in a mech
|
||||
var/obj/item/clothing/suit/space/hardsuit/engine/C = wear_suit
|
||||
if((movement_dir || C.jetpack.stabilization_on) && C.jetpack.allow_thrust(0.01, src))
|
||||
return 1
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
@@ -660,6 +660,11 @@
|
||||
var/obj/item/weapon/tank/jetpack/J = H.back
|
||||
if(J.allow_thrust(0.01, H))
|
||||
hasjetpack = 1
|
||||
else if(istype(H.wear_suit,/obj/item/clothing/suit/space/hardsuit/engine)) //copypasta but faster implementation currently
|
||||
var/obj/item/clothing/suit/space/hardsuit/engine/C = H.wear_suit
|
||||
if(C.jetpack.allow_thrust(0.01, H))
|
||||
hasjetpack = 1
|
||||
|
||||
var/grav = has_gravity(H)
|
||||
|
||||
if(!grav && !hasjetpack)
|
||||
|
||||
Reference in New Issue
Block a user