mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-11 15:14:27 +01:00
@@ -720,57 +720,54 @@ datum
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
if(H.wear_mask)
|
||||
if(!H.wear_mask.unacidable)
|
||||
del (H.wear_mask)
|
||||
H.update_inv_wear_mask()
|
||||
H << "\red Your mask melts away but protects you from the acid!"
|
||||
else
|
||||
if(volume > 25)
|
||||
|
||||
if(H.wear_mask)
|
||||
H << "\red Your mask protects you from the acid!"
|
||||
return
|
||||
return
|
||||
|
||||
if(H.head)
|
||||
if(prob(15) && !H.head.unacidable)
|
||||
del(H.head)
|
||||
H.update_inv_head()
|
||||
H << "\red Your helmet melts away but protects you from the acid"
|
||||
else
|
||||
if(H.head)
|
||||
H << "\red Your helmet protects you from the acid!"
|
||||
return
|
||||
return
|
||||
|
||||
else if(ismonkey(M))
|
||||
var/mob/living/carbon/monkey/MK = M
|
||||
if(MK.wear_mask)
|
||||
if(!MK.wear_mask.unacidable)
|
||||
del (MK.wear_mask)
|
||||
MK.update_inv_wear_mask()
|
||||
MK << "\red Your mask melts away but protects you from the acid!"
|
||||
else
|
||||
MK << "\red Your mask protects you from the acid!"
|
||||
return
|
||||
|
||||
if(!M.unacidable)
|
||||
if(prob(15) && istype(M, /mob/living/carbon/human) && volume >= 30)
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/obj/item/organ/external/affecting = H.get_organ("head")
|
||||
if(affecting)
|
||||
if(affecting.take_damage(25, 0))
|
||||
H.UpdateDamageIcon()
|
||||
H.status_flags |= DISFIGURED
|
||||
H.emote("scream")
|
||||
if(!M.unacidable)
|
||||
if(prob(75))
|
||||
var/obj/item/organ/external/affecting = H.get_organ("head")
|
||||
if(affecting)
|
||||
affecting.take_damage(20, 0)
|
||||
H.UpdateDamageIcon()
|
||||
H.emote("scream")
|
||||
else
|
||||
M.take_organ_damage(15,0)
|
||||
else
|
||||
M.take_organ_damage(min(15, volume * 2)) // uses min() and volume to make sure they aren't being sprayed in trace amounts (1 unit != insta rape) -- Doohl
|
||||
else
|
||||
if(!M.unacidable)
|
||||
M.take_organ_damage(min(15, volume * 2))
|
||||
M.take_organ_damage(15,0)
|
||||
|
||||
if(method == INGEST)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
if(volume < 10)
|
||||
M << "<span class = 'danger'>The greenish acidic substance stings you, but isn't concentrated enough to harm you!</span>"
|
||||
|
||||
if(volume >=10 && volume <=25)
|
||||
if(!H.unacidable)
|
||||
M.take_organ_damage(min(max(volume-10,2)*2,20),0)
|
||||
M.emote("scream")
|
||||
|
||||
|
||||
if(volume > 25)
|
||||
if(!M.unacidable)
|
||||
if(prob(75))
|
||||
var/obj/item/organ/external/affecting = H.get_organ("head")
|
||||
if(affecting)
|
||||
affecting.take_damage(20, 0)
|
||||
H.UpdateDamageIcon()
|
||||
H.emote("scream")
|
||||
else
|
||||
M.take_organ_damage(15,0)
|
||||
|
||||
reaction_obj(var/obj/O, var/volume)
|
||||
if(istype(O,/obj/item/weapon/organ/head))
|
||||
new/obj/item/weapon/skeleton/head(O.loc)
|
||||
for(var/mob/M in viewers(5, O))
|
||||
M << "\red \the [O] melts."
|
||||
del(O)
|
||||
if((istype(O,/obj/item) || istype(O,/obj/effect/glowshroom)) && prob(10))
|
||||
if((istype(O,/obj/item) || istype(O,/obj/effect/glowshroom)) && prob(40))
|
||||
if(!O.unacidable)
|
||||
var/obj/effect/decal/cleanable/molten_item/I = new/obj/effect/decal/cleanable/molten_item(O.loc)
|
||||
I.desc = "Looks like this was \an [O] some time ago."
|
||||
|
||||
@@ -377,7 +377,7 @@ datum
|
||||
id = "sacid"
|
||||
result = "sacid"
|
||||
required_reagents = list("sulfur" = 1, "oxygen" = 1, "hydrogen" = 1)
|
||||
result_amount = 3
|
||||
result_amount = 2
|
||||
mix_message = "The mixture gives off a sharp acidic tang."
|
||||
|
||||
///////Changeling Blood Test/////////////
|
||||
|
||||
@@ -227,65 +227,48 @@ datum/reagent/facid
|
||||
datum/reagent/facid/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
|
||||
if(!istype(M, /mob/living))
|
||||
return //wooo more runtime fixin
|
||||
if(method == TOUCH)
|
||||
if(method == TOUCH || method == INGEST)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
if(H.wear_mask)
|
||||
if(!H.wear_mask.unacidable)
|
||||
qdel (H.wear_mask)
|
||||
H.update_inv_wear_mask()
|
||||
H << "\red Your mask melts away but protects you from the acid!"
|
||||
else
|
||||
H << "\red Your mask protects you from the acid!"
|
||||
return
|
||||
if(volume < 5)
|
||||
M << "<span class = 'danger'>The blueish acidic substance stings you, but isn't concentrated enough to harm you!</span>"
|
||||
|
||||
if(H.head)
|
||||
if(prob(15) && !H.head.unacidable)
|
||||
qdel(H.head)
|
||||
H.update_inv_head()
|
||||
H << "\red Your helmet melts away but protects you from the acid"
|
||||
else
|
||||
H << "\red Your helmet protects you from the acid!"
|
||||
return
|
||||
if(volume >=5 && volume <=10)
|
||||
if(!H.unacidable)
|
||||
M.take_organ_damage(max(volume-5,2)*4,0)
|
||||
M.emote("scream")
|
||||
|
||||
if(!H.unacidable)
|
||||
var/obj/item/organ/external/affecting = H.get_organ("head")
|
||||
if(affecting.take_damage(15, 0))
|
||||
|
||||
if(volume > 10)
|
||||
|
||||
if(method == TOUCH)
|
||||
if(H.wear_mask)
|
||||
if(!H.wear_mask.unacidable)
|
||||
qdel (H.wear_mask)
|
||||
H.update_inv_wear_mask()
|
||||
H << "\red Your mask melts away but protects you from the acid!"
|
||||
else
|
||||
H << "\red Your mask protects you from the acid!"
|
||||
return
|
||||
|
||||
if(H.head)
|
||||
if(!H.head.unacidable)
|
||||
qdel(H.head)
|
||||
H.update_inv_head()
|
||||
H << "\red Your helmet melts away but protects you from the acid"
|
||||
else
|
||||
H << "\red Your helmet protects you from the acid!"
|
||||
return
|
||||
|
||||
if(!H.unacidable)
|
||||
var/obj/item/organ/external/affecting = H.get_organ("head")
|
||||
affecting.take_damage(75, 0)
|
||||
H.UpdateDamageIcon()
|
||||
H.emote("scream")
|
||||
else if(ismonkey(M))
|
||||
var/mob/living/carbon/monkey/MK = M
|
||||
|
||||
if(MK.wear_mask)
|
||||
if(!MK.wear_mask.unacidable)
|
||||
qdel (MK.wear_mask)
|
||||
MK.update_inv_wear_mask()
|
||||
MK << "\red Your mask melts away but protects you from the acid!"
|
||||
else
|
||||
MK << "\red Your mask protects you from the acid!"
|
||||
return
|
||||
|
||||
if(!MK.unacidable)
|
||||
MK.take_organ_damage(min(15, volume * 4)) // same deal as sulphuric acid
|
||||
else
|
||||
if(!M.unacidable)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/obj/item/organ/external/affecting = H.get_organ("head")
|
||||
if(affecting.take_damage(15, 0))
|
||||
H.UpdateDamageIcon()
|
||||
H.emote("scream")
|
||||
H.status_flags |= DISFIGURED
|
||||
else
|
||||
M.take_organ_damage(min(15, volume * 4))
|
||||
H.emote("scream")
|
||||
H.status_flags |= DISFIGURED
|
||||
|
||||
datum/reagent/facid/reaction_obj(var/obj/O, var/volume)
|
||||
if(istype(O,/obj/item/weapon/organ/head))
|
||||
new/obj/item/weapon/skeleton/head(O.loc)
|
||||
for(var/mob/M in viewers(5, O))
|
||||
M << "\red \the [O] melts."
|
||||
qdel(O)
|
||||
if((istype(O,/obj/item) || istype(O,/obj/effect/glowshroom)))
|
||||
if(!O.unacidable)
|
||||
var/obj/effect/decal/cleanable/molten_item/I = new/obj/effect/decal/cleanable/molten_item(O.loc)
|
||||
@@ -293,6 +276,7 @@ datum/reagent/facid/reaction_obj(var/obj/O, var/volume)
|
||||
for(var/mob/M in viewers(5, O))
|
||||
M << "\red \the [O] melts."
|
||||
qdel(O)
|
||||
|
||||
/datum/chemical_reaction/facid
|
||||
name = "Fluorosulfuric Acid"
|
||||
id = "facid"
|
||||
|
||||
Reference in New Issue
Block a user