mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-29 15:08:02 +01:00
Baystation Rigsuits
This commit adds baystation's rigsuit system on top of our own hardsuits; Our own hardsuits still function fine and are around, but these are available to admins. Next commit will contain balancing and player implementation stuff.
This commit is contained in:
@@ -12,6 +12,13 @@
|
||||
var/looking_for_personality = 0
|
||||
var/mob/living/silicon/pai/pai
|
||||
|
||||
/obj/item/device/paicard/relaymove(var/mob/user, var/direction)
|
||||
if(user.stat || user.stunned)
|
||||
return
|
||||
var/obj/item/weapon/rig/rig = src.get_rig()
|
||||
if(istype(rig))
|
||||
rig.forced_move(direction, user)
|
||||
|
||||
/obj/item/device/paicard/New()
|
||||
..()
|
||||
overlays += "pai-off"
|
||||
|
||||
@@ -63,10 +63,9 @@
|
||||
|
||||
var/allgases = G.carbon_dioxide + G.nitrogen + G.oxygen + G.toxins //fuck trace gases -Pete
|
||||
if(allgases >= 0.005)
|
||||
return 1
|
||||
. = 1
|
||||
|
||||
qdel(G)
|
||||
return
|
||||
|
||||
/obj/item/weapon/tank/jetpack/ui_action_click()
|
||||
toggle()
|
||||
@@ -132,3 +131,33 @@
|
||||
if(air_contents.carbon_dioxide < 10)
|
||||
user << text("\red <B>The meter on the [src.name] indicates you are almost out of air!</B>")
|
||||
playsound(user, 'sound/effects/alert.ogg', 50, 1)
|
||||
|
||||
|
||||
/obj/item/weapon/tank/jetpack/rig
|
||||
name = "jetpack"
|
||||
var/obj/item/weapon/rig/holder
|
||||
|
||||
/obj/item/weapon/tank/jetpack/rig/examine()
|
||||
usr << "It's a jetpack. If you can see this, report it on the bug tracker."
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/tank/jetpack/rig/allow_thrust(num, mob/living/user as mob)
|
||||
|
||||
if(!(src.on))
|
||||
return 0
|
||||
|
||||
if(!istype(holder) || !holder.air_supply)
|
||||
return 0
|
||||
|
||||
var/obj/item/weapon/tank/pressure_vessel = holder.air_supply
|
||||
|
||||
if((num < 0.005 || pressure_vessel.air_contents.total_moles() < num))
|
||||
src.ion_trail.stop()
|
||||
return 0
|
||||
|
||||
var/datum/gas_mixture/G = pressure_vessel.air_contents.remove(num)
|
||||
|
||||
var/allgases = G.carbon_dioxide + G.nitrogen + G.oxygen + G.toxins
|
||||
if(allgases >= 0.005)
|
||||
. = 1
|
||||
qdel(G)
|
||||
@@ -120,8 +120,13 @@
|
||||
data["maskConnected"] = 0
|
||||
if(istype(loc,/mob/living/carbon))
|
||||
var/mob/living/carbon/location = loc
|
||||
if(location.internal == src || (location.wear_mask && (location.wear_mask.flags & MASKINTERNALS)))
|
||||
data["maskConnected"] = 1
|
||||
if(location.internal == src)
|
||||
if(location.wear_mask && (location.wear_mask.flags & AIRTIGHT))
|
||||
data["maskConnected"] = 1
|
||||
else if(ishuman(location))
|
||||
var/mob/living/carbon/human/H = location
|
||||
if(H.head && (H.head.flags & AIRTIGHT))
|
||||
data["maskConnected"] = 1
|
||||
|
||||
// update the ui if it exists, returns null if no ui is passed/found
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
|
||||
@@ -162,7 +167,16 @@
|
||||
if (location.internals)
|
||||
location.internals.icon_state = "internal0"
|
||||
else
|
||||
if(location.wear_mask && (location.wear_mask.flags & MASKINTERNALS))
|
||||
|
||||
var/can_open_valve
|
||||
if(location.wear_mask && (location.wear_mask.flags & AIRTIGHT))
|
||||
can_open_valve = 1
|
||||
else if(istype(location,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = location
|
||||
if(H.head && (H.head.flags & AIRTIGHT))
|
||||
can_open_valve = 1
|
||||
|
||||
if(can_open_valve)
|
||||
location.internal = src
|
||||
usr << "\blue You open \the [src] valve."
|
||||
if (location.internals)
|
||||
|
||||
Reference in New Issue
Block a user