Vox and Space

This commit is contained in:
Fox-McCloud
2014-12-09 03:47:46 -05:00
parent 1b9429c02c
commit 4868d3795d
21 changed files with 120 additions and 81 deletions
+3 -3
View File
@@ -1025,7 +1025,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
M.equip_to_slot_or_del(W, slot_wear_id)
if("blue wizard")
M.equip_to_slot_or_del(new /obj/item/clothing/under/lightpurple(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe(M), slot_wear_suit)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
@@ -1037,7 +1037,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box(M), slot_in_backpack)
if("red wizard")
M.equip_to_slot_or_del(new /obj/item/clothing/under/lightpurple(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe/red(M), slot_wear_suit)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
@@ -1049,7 +1049,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box(M), slot_in_backpack)
if("marisa wizard")
M.equip_to_slot_or_del(new /obj/item/clothing/under/lightpurple(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(M), slot_w_uniform)
M.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe/marisa(M), slot_wear_suit)
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal/marisa(M), slot_shoes)
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
-1
View File
@@ -7,7 +7,6 @@
var/slowdown_active = 2
action_button_name = "Toggle Magboots"
icon_action_button = "action_magboots"
species_restricted = list("Skrell","Human","Unathi","Tajaran","Machine","Slime People","Kidan","Grey","Diona") //Vox get their own booties doubt they'd fix on talons anyway.
/obj/item/clothing/shoes/magboots/attack_self(mob/user)
if(src.magpulse)
+34 -12
View File
@@ -1,3 +1,15 @@
/obj/item/clothing/under/color
desc = "A standard issue colored jumpsuit. Variety is the spice of life!"
/obj/item/clothing/under/color/random/New()
..()
var/list/excluded = list(/obj/item/clothing/under/color/random, /obj/item/clothing/under/color, /obj/item/clothing/under/color/blackf, /obj/item/clothing/under/color/blue/dodgeball, /obj/item/clothing/under/color/orange/prison, /obj/item/clothing/under/color/red/dodgeball)
var/obj/item/clothing/under/color/C = pick(typesof(/obj/item/clothing/under/color) - excluded)
name = initial(C.name)
icon_state = initial(C.icon_state)
item_state = initial(C.item_state)
_color = initial(C._color)
/obj/item/clothing/under/color/black
name = "black jumpsuit"
icon_state = "black"
@@ -31,6 +43,7 @@
/obj/item/clothing/under/color/grey
name = "grey jumpsuit"
desc = "A tasteful grey jumpsuit that reminds you of the good old days."
icon_state = "grey"
item_state = "gy_suit"
_color = "grey"
@@ -38,6 +51,14 @@
species_fit = list("Vox")
/obj/item/clothing/under/color/orange
name = "orange jumpsuit"
desc = "Don't wear this near paranoid security officers"
icon_state = "orange"
item_state = "o_suit"
_color = "orange"
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
/obj/item/clothing/under/color/orange/prison
name = "orange jumpsuit"
desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position."
icon_state = "orange"
@@ -49,6 +70,7 @@
/obj/item/clothing/under/color/pink
name = "pink jumpsuit"
desc = "Just looking at this makes you feel <i>fabulous</i>."
icon_state = "pink"
item_state = "p_suit"
_color = "pink"
@@ -84,78 +106,78 @@
icon_state = "psyche"
_color = "psyche"
/obj/item/clothing/under/lightblue
/obj/item/clothing/under/color/lightblue
name = "lightblue"
desc = "lightblue"
icon_state = "lightblue"
_color = "lightblue"
/obj/item/clothing/under/aqua
/obj/item/clothing/under/color/aqua
name = "aqua"
desc = "aqua"
icon_state = "aqua"
_color = "aqua"
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
/obj/item/clothing/under/purple
/obj/item/clothing/under/color/purple
name = "purple"
desc = "purple"
icon_state = "purple"
item_state = "p_suit"
_color = "purple"
/obj/item/clothing/under/lightpurple
/obj/item/clothing/under/color/lightpurple
name = "lightpurple"
desc = "lightpurple"
icon_state = "lightpurple"
_color = "lightpurple"
/obj/item/clothing/under/lightgreen
/obj/item/clothing/under/color/lightgreen
name = "lightgreen"
desc = "lightgreen"
icon_state = "lightgreen"
_color = "lightgreen"
/obj/item/clothing/under/lightblue
/obj/item/clothing/under/color/lightblue
name = "lightblue"
desc = "lightblue"
icon_state = "lightblue"
_color = "lightblue"
/obj/item/clothing/under/lightbrown
/obj/item/clothing/under/color/lightbrown
name = "lightbrown"
desc = "lightbrown"
icon_state = "lightbrown"
_color = "lightbrown"
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
/obj/item/clothing/under/brown
/obj/item/clothing/under/color/brown
name = "brown"
desc = "brown"
icon_state = "brown"
_color = "brown"
flags = FPRINT | TABLEPASS
/obj/item/clothing/under/yellowgreen
/obj/item/clothing/under/color/yellowgreen
name = "yellowgreen"
desc = "yellowgreen"
icon_state = "yellowgreen"
_color = "yellowgreen"
/obj/item/clothing/under/darkblue
/obj/item/clothing/under/color/darkblue
name = "darkblue"
desc = "darkblue"
icon_state = "darkblue"
_color = "darkblue"
flags = FPRINT | TABLEPASS | ONESIZEFITSALL
/obj/item/clothing/under/lightred
/obj/item/clothing/under/color/lightred
name = "lightred"
desc = "lightred"
icon_state = "lightred"
_color = "lightred"
/obj/item/clothing/under/darkred
/obj/item/clothing/under/color/darkred
name = "darkred"
desc = "darkred"
icon_state = "darkred"
+3 -4
View File
@@ -1,10 +1,9 @@
/proc/EquipRacialItems(mob/living/carbon/human/M)
if(M.species.name == "Vox" || M.species.name == "Vox Armalis")
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/vox(M), slot_shoes) // REPLACE THESE WITH CODED VOX ALTERNATIVES.
M.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(M), slot_wear_mask)
M.equip_to_slot_or_del(new /obj/item/weapon/tank/nitrogen(M), slot_back)
M << "\blue You are now running on nitrogen internals from the [M.back] in your suit storage. Your species finds oxygen toxic, so you must breathe nitrogen only."
M.internal = M.back
M.equip_to_slot_or_del(new /obj/item/weapon/tank/emergency_oxygen/vox(M), slot_l_hand)
M << "\blue You are now running on nitrogen internals from your [M.l_hand]. Your species finds oxygen toxic, so you must breathe nitrogen only."
M.internal = M.l_hand
if (M.internals)
M.internals.icon_state = "internal1"
+2 -2
View File
@@ -1,9 +1,9 @@
//NOTE: Breathing happens once per FOUR TICKS, unless the last breath fails. In which case it happens once per ONE TICK! So oxyloss healing is done once per 4 ticks while oxyloss damage is applied once per tick!
#define HUMAN_MAX_OXYLOSS 1 //Defines how much oxyloss humans can get per tick. A tile with no air at all (such as space) applies this value, otherwise it's a percentage of it.
#define HUMAN_MAX_OXYLOSS 3 //Defines how much oxyloss humans can get per tick. A tile with no air at all (such as space) applies this value, otherwise it's a percentage of it.
#define HUMAN_CRIT_MAX_OXYLOSS ( (last_tick_duration) /5) //The amount of damage you'll get when in critical condition. We want this to be a 5 minute deal = 300s. There are 100HP to get through, so (1/3)*last_tick_duration per second. Breaths however only happen every 4 ticks.
#define HEAT_DAMAGE_LEVEL_1 2 //Amount of damage applied when your body temperature just passes the 360.15k safety point
#define HEAT_DAMAGE_LEVEL_2 4 //Amount of damage applied when your body temperature passes the 400K point
#define HEAT_DAMAGE_LEVEL_2 3 //Amount of damage applied when your body temperature passes the 400K point
#define HEAT_DAMAGE_LEVEL_3 8 //Amount of damage applied when your body temperature passes the 1000K point
#define COLD_DAMAGE_LEVEL_1 0.5 //Amount of damage applied when your body temperature just passes the 260.15k safety point
+6 -4
View File
@@ -377,7 +377,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
var/datum/gas_mixture/breath
// HACK NEED CHANGING LATER
if(health < config.health_threshold_crit && !reagents.has_reagent("inaprovaline"))
if(health < config.health_threshold_crit)
losebreath++
if(losebreath>0) //Suffocating so do not take a breath
@@ -487,6 +487,8 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
return 0
if(!breath || (breath.total_moles() == 0) || suiciding)
if(reagents.has_reagent("inaprovaline"))
return
if(suiciding)
adjustOxyLoss(2)//If you are suiciding, you should die a little bit faster
failed_last_breath = 1
@@ -1672,7 +1674,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
proc/handle_decay()
var/decaytime = world.time - timeofdeath
if(species.flags & IS_SYNTHETIC)
return
@@ -1687,7 +1689,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
if(decaytime > 18000 && decaytime <= 27000)//45 minutes for decaylevel4 -- skeleton
decaylevel = 3
if(decaytime > 27000)
decaylevel = 4
makeSkeleton()
@@ -1697,7 +1699,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
for(var/mob/living/carbon/human/H in range(decaylevel, src))
if(prob(5))
if(airborne_can_reach(get_turf(src), get_turf(H)))
if(istype(loc,/obj/item/bodybag))
if(istype(loc,/obj/item/bodybag))
return
var/obj/item/clothing/mask/M = H.wear_mask
if(M && (M.flags & MASKCOVERSMOUTH))
+1 -1
View File
@@ -146,7 +146,7 @@
owner.drip(10)
if(prob(4))
spawn owner.emote("me", 1, "gasps for air!")
owner.losebreath += 15
owner.losebreath += 5
/datum/organ/internal/lungs/robotic
damagelevel = 0.8
@@ -70,19 +70,18 @@
/obj/item/weapon/reagent_containers/hypospray/autoinjector
name = "emergency autoinjector"
desc = "A potent mix of pain killers and muscle stimulants."
desc = "A rapid and safe way to stabilize patients in critical condition for personnel without advanced medical knowledge."
icon_state = "autoinjector"
item_state = "autoinjector"
amount_per_transfer_from_this = 5
possible_transfer_amounts = list(5)
volume = 5
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(10)
volume = 10
var/emagged = 0
/obj/item/weapon/reagent_containers/hypospray/autoinjector/New()
..()
reagents.remove_reagent("doctorsdelight", 30)
reagents.add_reagent("tramadol", 4)
reagents.add_reagent("hyperzine", 1)
reagents.add_reagent("inaprovaline", 10)
update_icon()
return
+2 -2
View File
@@ -42,7 +42,7 @@
user.visible_message("\red [user]'s hand slips, slicing [target]'s throat wth \the [tool]!" , \
"\red Your hand slips, slicing [target]'s throat wth \the [tool]!" )
affected.createwound(CUT, 60)
target.losebreath += 10
target.losebreath += 4
/datum/surgery_step/face/mend_vocal
allowed_tools = list(
@@ -70,7 +70,7 @@
fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
user.visible_message("\red [user]'s hand slips, clamping [target]'s trachea shut for a moment with \the [tool]!", \
"\red Your hand slips, clamping [user]'s trachea shut for a moment with \the [tool]!")
target.losebreath += 10
target.losebreath += 4
/datum/surgery_step/face/fix_face
allowed_tools = list(