mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-12 19:22:56 +00:00
Added various new side effects:
- Headache triggered by bicaridine, alkysine and cryoxadone, treated with tramadol or alkysine - Cramps triggered by bandages and ointment, treated with inaprovaline - Bad stomach, triggered by dermaline, kelatone or being cloned, treated with anti-toxin
This commit is contained in:
@@ -24,6 +24,13 @@
|
|||||||
side_effects += M
|
side_effects += M
|
||||||
|
|
||||||
/mob/living/carbon/human/proc/handle_medical_side_effects()
|
/mob/living/carbon/human/proc/handle_medical_side_effects()
|
||||||
|
if(src.reagents.has_reagent("bicaridine") || src.reagents.has_reagent("tricordrazine") || src.reagents.has_reagent("cryoxadone"))
|
||||||
|
src.add_side_effect("Headache")
|
||||||
|
|
||||||
|
|
||||||
|
if(src.reagents.has_reagent("kelotane") || src.reagents.has_reagent("dermaline"))
|
||||||
|
src.add_side_effect("Bad Stomach")
|
||||||
|
|
||||||
// One full cycle(in terms of strength) every 10 minutes
|
// One full cycle(in terms of strength) every 10 minutes
|
||||||
var/strength_percent = sin(life_tick / 2)
|
var/strength_percent = sin(life_tick / 2)
|
||||||
|
|
||||||
@@ -61,3 +68,74 @@
|
|||||||
if(H.reagents.has_reagent("alkysine"))
|
if(H.reagents.has_reagent("alkysine"))
|
||||||
return 1
|
return 1
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
// HEADACHE
|
||||||
|
// ========
|
||||||
|
/datum/medical_effect/headache/name = "Headache"
|
||||||
|
/datum/medical_effect/headache/on_life(mob/living/carbon/human/H, strength)
|
||||||
|
switch(strength)
|
||||||
|
if(1 to 10)
|
||||||
|
H.custom_pain("You feel a light pain in your head.",0)
|
||||||
|
if(11 to 30)
|
||||||
|
H.custom_pain("You feel a throbbing pain in your head!",1)
|
||||||
|
if(31 to 99)
|
||||||
|
H.custom_pain("You feel an excrutiating pain in your head!",1)
|
||||||
|
H.adjustBrainLoss(1)
|
||||||
|
if(99 to INFINITY)
|
||||||
|
H.custom_pain("It feels like your head is about to split open!",1)
|
||||||
|
H.adjustBrainLoss(3)
|
||||||
|
var/datum/organ/external/O = H.organs_by_name["head"]
|
||||||
|
O.take_damage(0, 1, 0, "Headache")
|
||||||
|
|
||||||
|
/datum/medical_effect/headache/cure(mob/living/carbon/human/H)
|
||||||
|
if(H.reagents.has_reagent("alkysine") || H.reagents.has_reagent("tramadol"))
|
||||||
|
H << "\red Your head stops throbbing.."
|
||||||
|
return 1
|
||||||
|
return 0
|
||||||
|
|
||||||
|
// BAD STOMACH
|
||||||
|
// ===========
|
||||||
|
/datum/medical_effect/bad_stomach/name = "Bad Stomach"
|
||||||
|
/datum/medical_effect/bad_stomach/on_life(mob/living/carbon/human/H, strength)
|
||||||
|
switch(strength)
|
||||||
|
if(1 to 10)
|
||||||
|
H.custom_pain("You feel a bit light around the stomach.",0)
|
||||||
|
if(11 to 30)
|
||||||
|
H.custom_pain("Your stomach hurts.",0)
|
||||||
|
if(31 to 99)
|
||||||
|
H.custom_pain("You feel sick.",1)
|
||||||
|
H.adjustToxLoss(1)
|
||||||
|
if(99 to INFINITY)
|
||||||
|
H.custom_pain("You can't hold it in any longer!",1)
|
||||||
|
H.vomit()
|
||||||
|
|
||||||
|
/datum/medical_effect/bad_stomach/cure(mob/living/carbon/human/H)
|
||||||
|
if(H.reagents.has_reagent("anti_toxin"))
|
||||||
|
H << "\red Your stomach feels a little better now.."
|
||||||
|
return 1
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
// CRAMPS
|
||||||
|
// ======
|
||||||
|
/datum/medical_effect/cramps/name = "Cramps"
|
||||||
|
/datum/medical_effect/cramps/on_life(mob/living/carbon/human/H, strength)
|
||||||
|
switch(strength)
|
||||||
|
if(1 to 10)
|
||||||
|
H.custom_pain("The muscles in your body hurt a little.",0)
|
||||||
|
if(11 to 30)
|
||||||
|
H.custom_pain("The muscles in your body cramp up painfully.",0)
|
||||||
|
if(31 to 99)
|
||||||
|
H.emote("me",1,"flinches as all the muscles in their body cramp up.")
|
||||||
|
H.custom_pain("There's pain all over your body.",1)
|
||||||
|
H.adjustToxLoss(1)
|
||||||
|
if(99 to INFINITY)
|
||||||
|
H.emote("me",1,"flinches as all the muscles in their body cramp up.")
|
||||||
|
H.custom_pain("It feels as though your muscles are being ripped apart!",1)
|
||||||
|
H.apply_damage(1, used_weapon = "Cramps")
|
||||||
|
|
||||||
|
/datum/medical_effect/cramps/cure(mob/living/carbon/human/H)
|
||||||
|
if(H.reagents.has_reagent("inaprovaline"))
|
||||||
|
H << "\red The cramps let up.."
|
||||||
|
return 1
|
||||||
|
return 0
|
||||||
@@ -326,6 +326,7 @@
|
|||||||
src.icon_state = "pod_0"
|
src.icon_state = "pod_0"
|
||||||
src.eject_wait = 0 //If it's still set somehow.
|
src.eject_wait = 0 //If it's still set somehow.
|
||||||
domutcheck(src.occupant) //Waiting until they're out before possible monkeyizing.
|
domutcheck(src.occupant) //Waiting until they're out before possible monkeyizing.
|
||||||
|
src.occupant.add_side_effect("Bad Stomach") // Give them an extra side-effect for free.
|
||||||
src.occupant = null
|
src.occupant = null
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,7 @@
|
|||||||
user.visible_message( "\blue [user] salves wounds on [M]'s [affecting.display_name].", \
|
user.visible_message( "\blue [user] salves wounds on [M]'s [affecting.display_name].", \
|
||||||
"\blue You salve wounds on [M]'s [affecting.display_name]." )
|
"\blue You salve wounds on [M]'s [affecting.display_name]." )
|
||||||
|
|
||||||
|
H.add_side_effect("Cramps")
|
||||||
H.UpdateDamageIcon()
|
H.UpdateDamageIcon()
|
||||||
else
|
else
|
||||||
M.heal_organ_damage((src.heal_brute/2), (src.heal_burn/2))
|
M.heal_organ_damage((src.heal_brute/2), (src.heal_burn/2))
|
||||||
|
|||||||
@@ -1501,7 +1501,6 @@ datum
|
|||||||
return
|
return
|
||||||
if(!M) M = holder.my_atom
|
if(!M) M = holder.my_atom
|
||||||
M.heal_organ_damage(2*REM,0)
|
M.heal_organ_damage(2*REM,0)
|
||||||
M.add_side_effect("Headache")
|
|
||||||
..()
|
..()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user