mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-15 04:32:14 +00:00
Fix for labeling virus dishes. Removed health analyzer from first-aid kit.
Made bruise packs and ointment only work above 50 health. Added advanced treatment for future use. Made MD's and CMO spawn with health analyzers. Reduced medical equipment in non-medbay areas. Made Health Scanner HUDs displays more granular.
This commit is contained in:
@@ -138,7 +138,7 @@
|
||||
growth = rand(5, 50)
|
||||
|
||||
/obj/item/weapon/virusdish/attackby(var/obj/item/weapon/W as obj,var/mob/living/carbon/user as mob)
|
||||
if(istype(W,/obj/item/weapon/hand_labeler) || istype(W,/obj/item/weapon/reagent_containers/syringe))
|
||||
if(istype(W,/obj/item/weapon/label) || istype(W,/obj/item/weapon/reagent_containers/syringe))
|
||||
return
|
||||
..()
|
||||
if(prob(50))
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
|
||||
/obj/item/weapon/storage/firstaid
|
||||
name = "First-Aid"
|
||||
desc = "In case of an injury."
|
||||
desc = "In case of injury."
|
||||
icon_state = "firstaid"
|
||||
throw_speed = 2
|
||||
throw_range = 8
|
||||
@@ -205,7 +205,7 @@
|
||||
|
||||
/obj/item/weapon/storage/firstaid/fire
|
||||
name = "Fire First Aid"
|
||||
desc = "A kit for when you accidently burn yourself."
|
||||
desc = "Contains burn treatments."
|
||||
icon_state = "ointment"
|
||||
item_state = "firstaid-ointment"
|
||||
|
||||
@@ -220,13 +220,13 @@
|
||||
|
||||
/obj/item/weapon/storage/firstaid/toxin
|
||||
name = "Toxin First Aid"
|
||||
desc = "Used to treat when you have a high amount of toxins in your body."
|
||||
desc = "Contains anti-toxin medication."
|
||||
icon_state = "antitoxin"
|
||||
item_state = "firstaid-toxin"
|
||||
|
||||
/obj/item/weapon/storage/firstaid/o2
|
||||
name = "Oxygen Deprivation First Aid"
|
||||
desc = "A box full of oxygenating goodies."
|
||||
desc = "Contains oxygen deprivation medication."
|
||||
icon_state = "o2"
|
||||
item_state = "firstaid-o2"
|
||||
|
||||
@@ -248,8 +248,6 @@
|
||||
icon_state = "glasses"
|
||||
item_state = "syringe_kit"
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/storage/handcuff_kit
|
||||
name = "Spare Handcuffs"
|
||||
desc = "A box full of handcuffs."
|
||||
|
||||
@@ -390,7 +390,7 @@
|
||||
singular_name = "bruise pack"
|
||||
desc = "A pack designed to treat blunt-force trauma."
|
||||
icon_state = "brutepack"
|
||||
heal_brute = 60
|
||||
heal_brute = 40
|
||||
origin_tech = "biotech=1"
|
||||
|
||||
/obj/item/stack/medical/ointment
|
||||
@@ -401,6 +401,22 @@
|
||||
heal_burn = 40
|
||||
origin_tech = "biotech=1"
|
||||
|
||||
/obj/item/stack/medical/advanced/bruise_pack
|
||||
name = "advanced trauma kit"
|
||||
singular_name = "advanced bruise pack"
|
||||
desc = "An advanced trauma kit for severe injuries."
|
||||
icon_state = "brutepack"
|
||||
heal_brute = 40
|
||||
origin_tech = "biotech=1"
|
||||
|
||||
/obj/item/stack/medical/advanced/ointment
|
||||
name = "advanced burn kit"
|
||||
singular_name = "advanced burn kit"
|
||||
desc = "An advanced treatment kit for severe burns."
|
||||
icon_state = "ointment"
|
||||
heal_burn = 40
|
||||
origin_tech = "biotech=1"
|
||||
|
||||
/obj/item/weapon/c_tube
|
||||
name = "cardboard tube"
|
||||
desc = "A tube made of cardboard."
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
H.equip_if_possible(new /obj/item/clothing/suit/storage/labcoat/cmo(H), H.slot_wear_suit)
|
||||
H.equip_if_possible(new /obj/item/weapon/storage/firstaid/regular(H), H.slot_l_hand)
|
||||
H.equip_if_possible(new /obj/item/device/flashlight/pen(H), H.slot_s_store)
|
||||
H.equip_if_possible(new /obj/item/device/healthanalyzer(H), H.slot_r_store)
|
||||
return 1
|
||||
|
||||
|
||||
@@ -43,6 +44,7 @@
|
||||
H.equip_if_possible(new /obj/item/clothing/suit/storage/labcoat(H), H.slot_wear_suit)
|
||||
H.equip_if_possible(new /obj/item/weapon/storage/firstaid/regular(H), H.slot_l_hand)
|
||||
H.equip_if_possible(new /obj/item/device/flashlight/pen(H), H.slot_s_store)
|
||||
H.equip_if_possible(new /obj/item/device/healthanalyzer(H), H.slot_r_store)
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
@@ -308,6 +308,10 @@ proc/analyze_health_less_info(mob/living/carbon/M as mob, mob/user as mob)
|
||||
user.show_message(text("\red Significant brain damage detected. Subject may have had a concussion."), 1)
|
||||
if (M.virus2 || M.reagents.reagent_list.len > 0)
|
||||
user.show_message(text("\red Unknown substance detected in blood."), 1)
|
||||
/* for(var/datum/organ/external/E in src)
|
||||
if (!E.broken <= 0)
|
||||
user.show_message(text("\red Bone fractures detected."), 1)*/
|
||||
//If someone can make this work I would be extremely grateful. -Erthilo
|
||||
return
|
||||
|
||||
/obj/item/device/healthanalyzer/attack(mob/M as mob, mob/user as mob)
|
||||
|
||||
@@ -7,6 +7,96 @@ MEDICAL
|
||||
|
||||
|
||||
/obj/item/stack/medical/attack(mob/living/carbon/M as mob, mob/user as mob)
|
||||
if (M.stat == 2)
|
||||
var/t_him = "it"
|
||||
if (M.gender == MALE)
|
||||
t_him = "him"
|
||||
else if (M.gender == FEMALE)
|
||||
t_him = "her"
|
||||
user << "\red \The [M] is dead, you cannot help [t_him]!"
|
||||
return
|
||||
if (M.health < 50)
|
||||
var/t_him = "it"
|
||||
if (M.gender == MALE)
|
||||
t_him = "him"
|
||||
else if (M.gender == FEMALE)
|
||||
t_him = "her"
|
||||
user << "\red \The [M] is wounded badly, this item cannot help [t_him]!"
|
||||
return
|
||||
|
||||
|
||||
if (!istype(M))
|
||||
user << "\red \The [src] cannot be applied to [M]!"
|
||||
return 1
|
||||
|
||||
if ( ! (istype(user, /mob/living/carbon/human) || \
|
||||
istype(user, /mob/living/silicon) || \
|
||||
istype(user, /mob/living/carbon/monkey) && ticker && ticker.mode.name == "monkey") )
|
||||
user << "\red You don't have the dexterity to do this!"
|
||||
return 1
|
||||
|
||||
if (user)
|
||||
if (M != user)
|
||||
user.visible_message( \
|
||||
"\blue [M] has been applied with [src] by [user].", \
|
||||
"\blue You apply \the [src] to [M]." \
|
||||
)
|
||||
else
|
||||
var/t_himself = "itself"
|
||||
if (user.gender == MALE)
|
||||
t_himself = "himself"
|
||||
else if (user.gender == FEMALE)
|
||||
t_himself = "herself"
|
||||
|
||||
user.visible_message( \
|
||||
"\blue [M] applied [src] on [t_himself].", \
|
||||
"\blue You apply \the [src] on yourself." \
|
||||
)
|
||||
|
||||
if (istype(M, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/datum/organ/external/affecting = H.get_organ("chest")
|
||||
|
||||
if(istype(user, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/user2 = user
|
||||
affecting = H.get_organ(check_zone(user2.zone_sel.selecting))
|
||||
else
|
||||
if(!istype(affecting, /datum/organ/external) || affecting:burn_dam <= 0)
|
||||
affecting = H.get_organ("head")
|
||||
|
||||
if (affecting.heal_damage(src.heal_brute, src.heal_burn))
|
||||
H.UpdateDamageIcon()
|
||||
|
||||
if(H.bloodloss > 0 && heal_brute > 0) // fix wounds too if bruise pack
|
||||
var/stoped = 0
|
||||
for(var/datum/organ/external/wound/W in affecting.wounds)
|
||||
if(W.bleeding)
|
||||
W.stopbleeding()
|
||||
stoped = 0
|
||||
break
|
||||
if(!stoped)
|
||||
// user << "There is no bleeding wound at [t]" //code no longer in a dedicated obj, thus this doesn't really matter
|
||||
return
|
||||
if (user)
|
||||
if (M != user)
|
||||
for (var/mob/O in viewers(H, null))
|
||||
O.show_message("\red [H] has been bandaged with [src] by [user]", 1)
|
||||
else
|
||||
var/t_himself = "itself"
|
||||
if (user.gender == MALE)
|
||||
t_himself = "himself"
|
||||
else if (user.gender == FEMALE)
|
||||
t_himself = "herself"
|
||||
for (var/mob/O in viewers(H, null))
|
||||
O.show_message("\red [H] bandaged [t_himself] with [src]", 1)
|
||||
|
||||
M.updatehealth()
|
||||
else
|
||||
M.heal_organ_damage((src.heal_brute/2), (src.heal_burn/2))
|
||||
|
||||
use(1)
|
||||
|
||||
/obj/item/stack/medical/advanced/attack(mob/living/carbon/M as mob, mob/user as mob)
|
||||
if (M.stat == 2)
|
||||
var/t_him = "it"
|
||||
if (M.gender == MALE)
|
||||
@@ -94,4 +184,4 @@ MEDICAL
|
||||
else
|
||||
M.heal_organ_damage((src.heal_brute/2), (src.heal_burn/2))
|
||||
|
||||
use(1)
|
||||
use(1)
|
||||
@@ -6,11 +6,11 @@
|
||||
icon_state = pick("ointment","firefirstaid")
|
||||
|
||||
new /obj/item/device/healthanalyzer( src )
|
||||
new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src )
|
||||
new /obj/item/stack/medical/ointment( src )
|
||||
new /obj/item/stack/medical/ointment( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/kelotane( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/kelotane( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/kelotane( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/kelotane( src ) //Replaced ointment with these since they actually work --Errorage
|
||||
return
|
||||
|
||||
@@ -26,45 +26,42 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/firstaid/regular/New()
|
||||
|
||||
..()
|
||||
if (empty) return
|
||||
new /obj/item/stack/medical/bruise_pack(src)
|
||||
new /obj/item/stack/medical/bruise_pack(src)
|
||||
new /obj/item/stack/medical/bruise_pack(src)
|
||||
new /obj/item/stack/medical/ointment(src)
|
||||
new /obj/item/stack/medical/ointment(src)
|
||||
new /obj/item/device/healthanalyzer(src)
|
||||
new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src )
|
||||
new /obj/item/stack/medical/bruise_pack(src)
|
||||
new /obj/item/stack/medical/bruise_pack(src)
|
||||
new /obj/item/stack/medical/bruise_pack(src)
|
||||
new /obj/item/stack/medical/ointment(src)
|
||||
new /obj/item/stack/medical/ointment(src)
|
||||
new /obj/item/stack/medical/ointment(src)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/firstaid/toxin/New()
|
||||
|
||||
..()
|
||||
if (empty) return
|
||||
|
||||
icon_state = pick("antitoxin","antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3")
|
||||
|
||||
new /obj/item/weapon/reagent_containers/syringe/antitoxin( src )
|
||||
new /obj/item/weapon/reagent_containers/syringe/antitoxin( src )
|
||||
new /obj/item/weapon/reagent_containers/syringe/antitoxin( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/antitox( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/antitox( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/antitox( src )
|
||||
new /obj/item/device/healthanalyzer( src )
|
||||
new /obj/item/weapon/reagent_containers/syringe/antitoxin( src )
|
||||
new /obj/item/weapon/reagent_containers/syringe/antitoxin( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/antitox( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/antitox( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/antitox( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/antitox( src )
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/firstaid/o2/New()
|
||||
|
||||
..()
|
||||
if (empty) return
|
||||
new /obj/item/weapon/reagent_containers/pill/dexalin( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/dexalin( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/dexalin( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/dexalin( src )
|
||||
new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src )
|
||||
new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src )
|
||||
new /obj/item/device/healthanalyzer( src )
|
||||
new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src )
|
||||
new /obj/item/weapon/reagent_containers/syringe/inaprovaline( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/dexalin( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/dexalin( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/dexalin( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/dexalin( src )
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/pill_bottle/kelotane
|
||||
@@ -122,4 +119,3 @@
|
||||
new /obj/item/weapon/reagent_containers/pill/inaprovaline( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/inaprovaline( src )
|
||||
new /obj/item/weapon/reagent_containers/pill/inaprovaline( src )
|
||||
|
||||
|
||||
@@ -22,20 +22,30 @@
|
||||
switch(health)
|
||||
if(100 to INFINITY)
|
||||
return "health100"
|
||||
if(70 to 100)
|
||||
if(90 to 100)
|
||||
return "health90"
|
||||
if(80 to 90)
|
||||
return "health80"
|
||||
if(50 to 70)
|
||||
if(70 to 80)
|
||||
return "health70"
|
||||
if(60 to 70)
|
||||
return "health60"
|
||||
if(30 to 50)
|
||||
if(50 to 60)
|
||||
return "health50"
|
||||
if(40 to 50)
|
||||
return "health40"
|
||||
if(18 to 30)
|
||||
return "health25"
|
||||
if(5 to 18)
|
||||
if(30 to 40)
|
||||
return "health30"
|
||||
if(20 to 30)
|
||||
return "health20"
|
||||
if(10 to 20)
|
||||
return "health10"
|
||||
if(1 to 5)
|
||||
if(0 to 10)
|
||||
return "health1"
|
||||
if(-99 to 0)
|
||||
return "health0"
|
||||
if(-50 to 0)
|
||||
return "health-50"
|
||||
if(-99 to -50)
|
||||
return "health-99"
|
||||
else
|
||||
return "health-100"
|
||||
return "0"
|
||||
|
||||
Reference in New Issue
Block a user