Useful Toxin (#10771)

Toxin now does damage to any egg clusters that a nurse spider injected into someone.
    The amount of toxin bottles in medical vendors have been lowered to 1, down from 4.
This commit is contained in:
Geeves
2020-12-16 23:22:16 +02:00
committed by GitHub
parent a0b0301d11
commit f89337159b
5 changed files with 35 additions and 12 deletions
+1 -1
View File
@@ -456,7 +456,7 @@
/obj/item/reagent_containers/glass/bottle/antitoxin = 4,
/obj/item/reagent_containers/glass/bottle/inaprovaline = 4,
/obj/item/reagent_containers/glass/bottle/perconol = 3,
/obj/item/reagent_containers/glass/bottle/toxin = 4,
/obj/item/reagent_containers/glass/bottle/toxin = 1,
/obj/item/reagent_containers/glass/bottle/coughsyrup = 4,
/obj/item/reagent_containers/syringe = 12,
/obj/item/device/healthanalyzer = 5,
+9
View File
@@ -79,6 +79,7 @@
name = "egg cluster"
desc = "They seem to pulse slightly with an inner life."
icon_state = "eggs"
health = 10
var/amount_grown = 0
var/last_itch = 0
@@ -119,6 +120,14 @@
last_itch = world.time
to_chat(O.owner, "<span class='notice'>Your [O.name] itches.</span>")
/obj/effect/spider/eggcluster/proc/take_damage(var/damage)
health -= damage
if(health <= 0)
var/obj/item/organ/external/O = loc
if(istype(O) && O.owner)
to_chat(O.owner, SPAN_WARNING("You feel something dissolve in your [O.name]..."))
qdel(src)
/obj/effect/spider/spiderling
name = "spiderling"
desc = "It never stays still for long."
@@ -39,6 +39,7 @@
speed = 3
mob_size = 6
attacktext = "bitten"
attack_emote = "skitters toward"
emote_sounds = list('sound/effects/creatures/spider_critter.ogg')
@@ -16,18 +16,24 @@
/datum/reagent/toxin/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(strength && alien != IS_DIONA)
var/dam = (strength * removed)
if(target_organ && ishuman(M))
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/obj/item/organ/internal/I = H.internal_organs_by_name[target_organ]
if(I)
var/can_damage = I.max_damage - I.damage
if(can_damage > 0)
if(dam > can_damage)
I.take_internal_damage(can_damage, silent=TRUE)
dam -= can_damage
else
I.take_internal_damage(dam, silent=TRUE)
dam = 0
if(target_organ)
var/obj/item/organ/internal/I = H.internal_organs_by_name[target_organ]
if(I)
var/can_damage = I.max_damage - I.damage
if(can_damage > 0)
if(dam > can_damage)
I.take_internal_damage(can_damage, silent=TRUE)
dam -= can_damage
else
I.take_internal_damage(dam, silent=TRUE)
dam = 0
for(var/organ in H.organs)
var/obj/item/organ/external/O = organ
var/obj/effect/spider/eggcluster/C = locate() in O
if(C)
C.take_damage(removed * 2)
if(dam)
M.adjustToxLoss(target_organ ? (dam * 0.5) : dam)
+7
View File
@@ -0,0 +1,7 @@
author: Geeves
delete-after: True
changes:
- rscadd: "Toxin now does damage to any egg clusters that a nurse spider injected into someone."
- tweak: "The amount of toxin bottles in medical vendors have been lowered to 1, down from 4."