Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into contracties
This commit is contained in:
@@ -2533,20 +2533,20 @@ ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
(2,1,1) = {"
|
||||
aP
|
||||
@@ -2565,9 +2565,9 @@ ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
@@ -2576,9 +2576,9 @@ ak
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
(3,1,1) = {"
|
||||
aP
|
||||
@@ -2597,8 +2597,8 @@ ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
@@ -2609,8 +2609,8 @@ ak
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
(4,1,1) = {"
|
||||
aP
|
||||
@@ -2629,8 +2629,8 @@ ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
@@ -2661,7 +2661,7 @@ ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ac
|
||||
ab
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
@@ -2693,7 +2693,7 @@ ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ac
|
||||
ab
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
@@ -2725,7 +2725,7 @@ ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ac
|
||||
ab
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
@@ -2770,7 +2770,7 @@ ak
|
||||
ak
|
||||
ak
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
"}
|
||||
(9,1,1) = {"
|
||||
ab
|
||||
@@ -2802,7 +2802,7 @@ ak
|
||||
ak
|
||||
ak
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
"}
|
||||
(10,1,1) = {"
|
||||
ab
|
||||
@@ -2834,7 +2834,7 @@ ak
|
||||
ak
|
||||
ak
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
"}
|
||||
(11,1,1) = {"
|
||||
ab
|
||||
@@ -2866,7 +2866,7 @@ ak
|
||||
ak
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
"}
|
||||
(12,1,1) = {"
|
||||
ab
|
||||
@@ -2927,7 +2927,7 @@ et
|
||||
vr
|
||||
eu
|
||||
ac
|
||||
ab
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -3440,7 +3440,7 @@ LK
|
||||
pN
|
||||
bQ
|
||||
ac
|
||||
ab
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
@@ -3472,7 +3472,7 @@ FI
|
||||
jQ
|
||||
bQ
|
||||
ac
|
||||
ab
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
@@ -3630,8 +3630,8 @@ ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -3660,10 +3660,10 @@ ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -3690,12 +3690,12 @@ ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -3722,12 +3722,12 @@ ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -3755,17 +3755,17 @@ ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
(40,1,1) = {"
|
||||
ac
|
||||
ab
|
||||
ac
|
||||
ac
|
||||
ak
|
||||
@@ -3788,17 +3788,17 @@ ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
(41,1,1) = {"
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ac
|
||||
ac
|
||||
ak
|
||||
@@ -3821,16 +3821,16 @@ ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
(42,1,1) = {"
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ac
|
||||
ac
|
||||
eM
|
||||
@@ -3853,15 +3853,15 @@ ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
(43,1,1) = {"
|
||||
ac
|
||||
ab
|
||||
ac
|
||||
ac
|
||||
aw
|
||||
@@ -3886,8 +3886,8 @@ ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -3919,7 +3919,7 @@ ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -3951,7 +3951,7 @@ ak
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
ab
|
||||
@@ -4176,7 +4176,7 @@ ak
|
||||
ak
|
||||
ak
|
||||
ac
|
||||
ab
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
@@ -4208,7 +4208,7 @@ ak
|
||||
ak
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
@@ -4240,7 +4240,7 @@ ak
|
||||
ak
|
||||
ak
|
||||
ac
|
||||
ab
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
@@ -4272,8 +4272,8 @@ ak
|
||||
ak
|
||||
ak
|
||||
ak
|
||||
ab
|
||||
ab
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
"}
|
||||
(56,1,1) = {"
|
||||
@@ -4304,8 +4304,8 @@ ak
|
||||
ak
|
||||
ak
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
"}
|
||||
(57,1,1) = {"
|
||||
@@ -4336,7 +4336,7 @@ ak
|
||||
ak
|
||||
ac
|
||||
ac
|
||||
ab
|
||||
ac
|
||||
ab
|
||||
ab
|
||||
"}
|
||||
|
||||
@@ -701,6 +701,7 @@ SUBSYSTEM_DEF(ticker)
|
||||
round_end_sound = pick(\
|
||||
'sound/roundend/newroundsexy.ogg',
|
||||
'sound/roundend/apcdestroyed.ogg',
|
||||
'sound/roundend/seeyoulaterokay.ogg',
|
||||
'sound/roundend/bangindonk.ogg',
|
||||
'sound/roundend/leavingtg.ogg',
|
||||
'sound/roundend/its_only_game.ogg',
|
||||
|
||||
@@ -243,6 +243,11 @@
|
||||
description = "<span class='boldwarning'>I have been scorched by the unforgiving rays of the sun.</span>\n"
|
||||
mood_change = -6
|
||||
timeout = 15 MINUTES
|
||||
|
||||
/datum/mood_event/bloodsucker_disgust
|
||||
description = "<span class='boldwarning'>Something I recently ate was horrifyingly disgusting.</span>\n"
|
||||
mood_change = -5
|
||||
timeout = 5 MINUTES
|
||||
|
||||
/datum/mood_event/nanite_sadness
|
||||
description = "<span class='warning robot'>+++++++HAPPINESS SUPPRESSION+++++++</span>\n"
|
||||
|
||||
@@ -242,10 +242,8 @@
|
||||
if(slot == user.getBeltSlot())
|
||||
return TRUE
|
||||
|
||||
/obj/item/defibrillator/compact/loaded/Initialize()
|
||||
. = ..()
|
||||
cell = new(src)
|
||||
update_power()
|
||||
/obj/item/defibrillator/compact/loaded
|
||||
cell = /obj/item/stock_parts/cell/high
|
||||
|
||||
/obj/item/defibrillator/compact/combat
|
||||
name = "combat defibrillator"
|
||||
|
||||
@@ -315,7 +315,7 @@
|
||||
bloodsuckerdatum.handle_eat_human_food(food_nutrition)
|
||||
|
||||
|
||||
/datum/antagonist/bloodsucker/proc/handle_eat_human_food(var/food_nutrition) // Called from snacks.dm and drinks.dm
|
||||
/datum/antagonist/bloodsucker/proc/handle_eat_human_food(food_nutrition, puke_blood = TRUE, masquerade_override) // Called from snacks.dm and drinks.dm
|
||||
set waitfor = FALSE
|
||||
if(!owner.current || !iscarbon(owner.current))
|
||||
return
|
||||
@@ -324,14 +324,14 @@
|
||||
C.nutrition -= food_nutrition
|
||||
foodInGut += food_nutrition
|
||||
// Already ate some bad clams? Then we can back out, because we're already sick from it.
|
||||
if (foodInGut != food_nutrition)
|
||||
if(foodInGut != food_nutrition)
|
||||
return
|
||||
// Haven't eaten, but I'm in a Human Disguise.
|
||||
else if (poweron_masquerade)
|
||||
else if(poweron_masquerade && !masquerade_override)
|
||||
to_chat(C, "<span class='notice'>Your stomach turns, but your \"human disguise\" keeps the food down...for now.</span>")
|
||||
// Keep looping until we purge. If we have activated our Human Disguise, we ignore the food. But it'll come up eventually...
|
||||
var/sickphase = 0
|
||||
while (foodInGut)
|
||||
while(foodInGut)
|
||||
sleep(50)
|
||||
C.adjust_disgust(10 * sickphase)
|
||||
// Wait an interval...
|
||||
@@ -340,24 +340,29 @@
|
||||
if(C.stat == DEAD)
|
||||
return
|
||||
// Put up disguise? Then hold off the vomit.
|
||||
if(poweron_masquerade)
|
||||
if(poweron_masquerade && !masquerade_override)
|
||||
if(sickphase > 0)
|
||||
to_chat(C, "<span class='notice'>Your stomach settles temporarily. You regain your composure...for now.</span>")
|
||||
sickphase = 0
|
||||
continue
|
||||
switch(sickphase)
|
||||
if (1)
|
||||
if(1)
|
||||
to_chat(C, "<span class='warning'>You feel unwell. You can taste ash on your tongue.</span>")
|
||||
C.Stun(10)
|
||||
if (2)
|
||||
if(2)
|
||||
to_chat(C, "<span class='warning'>Your stomach turns. Whatever you ate tastes of grave dirt and brimstone.</span>")
|
||||
C.Dizzy(15)
|
||||
C.Stun(13)
|
||||
if (3)
|
||||
if(3)
|
||||
to_chat(C, "<span class='warning'>You purge the food of the living from your viscera! You've never felt worse.</span>")
|
||||
C.vomit(foodInGut * 4, foodInGut * 2, 0) // (var/lost_nutrition = 10, var/blood = 0, var/stun = 1, var/distance = 0, var/message = 1, var/toxic = 0)
|
||||
C.blood_volume = max(0, C.blood_volume - foodInGut * 2)
|
||||
//Puke blood only if puke_blood is true, and loose some blood, else just puke normally.
|
||||
if(puke_blood)
|
||||
C.blood_volume = max(0, C.blood_volume - foodInGut * 2)
|
||||
C.vomit(foodInGut * 4, foodInGut * 2, 0)
|
||||
else
|
||||
C.vomit(foodInGut * 4, FALSE, 0)
|
||||
C.Stun(30)
|
||||
//C.Dizzy(50)
|
||||
foodInGut = 0
|
||||
SEND_SIGNAL(C, COMSIG_ADD_MOOD_EVENT, "vampdisgust", /datum/mood_event/bloodsucker_disgust)
|
||||
sickphase ++
|
||||
|
||||
@@ -480,8 +480,6 @@
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
allowed = list(/obj/item/clothing/mask/facehugger/toy)
|
||||
|
||||
|
||||
|
||||
// WINTER COATS
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat
|
||||
@@ -521,6 +519,7 @@
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/captain
|
||||
name = "captain's winter coat"
|
||||
desc = "A luxuriant winter coat, stuffed with the down of the endangered Uka bird and trimmed with genuine sable. The fabric is an indulgently soft micro-fiber, and the deep ultramarine color is only one that could be achieved with minute amounts of crystalline bluespace dust woven into the thread between the plectrums. Extremely lavish, and extremely durable. The tiny flakes of protective material make it nothing short of extremely light lamellar armor."
|
||||
icon_state = "coatcaptain"
|
||||
item_state = "coatcaptain"
|
||||
armor = list("melee" = 25, "bullet" = 30, "laser" = 30, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 50)
|
||||
@@ -531,20 +530,24 @@
|
||||
allowed = GLOB.security_wintercoat_allowed
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/captain
|
||||
desc = "A blue and yellow hood attached to a heavy winter jacket."
|
||||
icon_state = "winterhood_captain"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/hop
|
||||
name = "head of personnel's winter coat"
|
||||
desc = "A cozy winter coat, covered in thick fur. The breast features a proud yellow chevron, reminding everyone that you're the second banana."
|
||||
icon_state = "coathop"
|
||||
item_state = "coathop"
|
||||
armor = list("melee" = 5, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 5, "bio" = 5, "rad" = 0, "fire" = 0, "acid" = 5)
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/hop
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/hop
|
||||
desc = "A cozy winter hood attached to a heavy winter jacket."
|
||||
icon_state = "winterhood_hop"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/security
|
||||
name = "security winter coat"
|
||||
desc = "A red, armor-padded winter coat. It glitters with a mild ablative coating and a robust air of authority. The zipper tab is a pair of jingly little handcuffs and got annoying after the first ten seconds."
|
||||
icon_state = "coatsecurity"
|
||||
item_state = "coatsecurity"
|
||||
armor = list("melee" = 25, "bullet" = 15, "laser" = 30, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 45)
|
||||
@@ -555,10 +558,12 @@
|
||||
allowed = GLOB.security_wintercoat_allowed
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/security
|
||||
desc = "A red, armor-padded winter hood."
|
||||
icon_state = "winterhood_security"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/hos
|
||||
name = "head of security's winter coat"
|
||||
desc = "A red, armor-padded winter coat, lovingly woven with a Kevlar interleave and reinforced with semi-ablative polymers and a silver azide fill material. The zipper tab looks like a tiny replica of Beepsky."
|
||||
icon_state = "coathos"
|
||||
item_state = "coathos"
|
||||
armor = list("melee" = 35, "bullet" = 35, "laser" = 35, "energy" = 15, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 55)
|
||||
@@ -569,10 +574,12 @@
|
||||
allowed = GLOB.security_wintercoat_allowed
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/hos
|
||||
desc = "A red, armor-padded winter hood, lovingly woven with a Kevlar interleave. Definitely not bulletproof, especially not the part where your face goes."
|
||||
icon_state = "winterhood_hos"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/medical
|
||||
name = "medical winter coat"
|
||||
desc = "An arctic white winter coat with a small blue caduceus instead of a plastic zipper tab. Snazzy."
|
||||
icon_state = "coatmedical"
|
||||
item_state = "coatmedical"
|
||||
allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
|
||||
@@ -580,10 +587,12 @@
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/medical
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/medical
|
||||
desc = "A white winter coat hood."
|
||||
icon_state = "winterhood_medical"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/cmo
|
||||
name = "chief medical officer's winter coat"
|
||||
desc = "An arctic white winter coat with a small blue caduceus instead of a plastic zipper tab. The normal liner is replaced with an exceptionally thick, soft layer of fur."
|
||||
icon_state = "coatcmo"
|
||||
item_state = "coatcmo"
|
||||
allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
|
||||
@@ -591,10 +600,12 @@
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/cmo
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/cmo
|
||||
desc = "A white winter coat hood."
|
||||
icon_state = "winterhood_cmo"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/chemistry
|
||||
name = "chemistry winter coat"
|
||||
desc = "A lab-grade winter coat made with acid resistant polymers. For the enterprising chemist who was exiled to a frozen wasteland on the go."
|
||||
icon_state = "coatchemistry"
|
||||
item_state = "coatchemistry"
|
||||
allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
|
||||
@@ -602,10 +613,12 @@
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/chemistry
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/chemistry
|
||||
desc = "A white winter coat hood."
|
||||
icon_state = "winterhood_chemistry"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/viro
|
||||
name = "virology winter coat"
|
||||
desc = "A white winter coat with green markings. Warm, but wont fight off the common cold or any other disease. Might make people stand far away from you in the hallway. The zipper tab looks like an oversized bacteriophage."
|
||||
icon_state = "coatviro"
|
||||
item_state = "coatviro"
|
||||
allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
|
||||
@@ -613,10 +626,12 @@
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/viro
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/viro
|
||||
desc = "A white winter coat hood with green markings."
|
||||
icon_state = "winterhood_viro"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/science
|
||||
name = "science winter coat"
|
||||
desc = "A white winter coat with an outdated atomic model instead of a plastic zipper tab."
|
||||
icon_state = "coatscience"
|
||||
item_state = "coatscience"
|
||||
allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
|
||||
@@ -624,10 +639,12 @@
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/science
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/science
|
||||
desc = "A white winter coat hood. This one will keep your brain warm. About as much as the others, really."
|
||||
icon_state = "winterhood_science"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/robotics
|
||||
name = "robotics winter coat"
|
||||
desc = "A black winter coat with a badass flaming robotic skull for the zipper tab. This one has bright red designs and a few useless buttons."
|
||||
icon_state = "coatrobotics"
|
||||
item_state = "coatrobotics"
|
||||
allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/screwdriver, /obj/item/crowbar, /obj/item/wrench, /obj/item/stack/cable_coil, /obj/item/weldingtool, /obj/item/multitool)
|
||||
@@ -635,20 +652,24 @@
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/robotics
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/robotics
|
||||
desc = "A black winter coat hood. You can pull it down over your eyes and pretend that you're an outdated, late 1980s interpretation of a futuristic mechanized police force. They'll fix you. They fix everything."
|
||||
icon_state = "winterhood_robotics"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/genetics
|
||||
name = "genetics winter coat"
|
||||
desc = "A white winter coat with a DNA helix for the zipper tab. "
|
||||
icon_state = "coatgenetics"
|
||||
item_state = "coatgenetics"
|
||||
allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/genetics
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/genetics
|
||||
desc = "A white winter coat hood. It's warm."
|
||||
icon_state = "winterhood_genetics"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/rd
|
||||
name = "research director's winter coat"
|
||||
desc = "A thick arctic winter coat with an outdated atomic model instead of a plastic zipper tab. Most in the know are heavily aware that Bohr's model of the atom was outdated by the time of the 1930s when the Heisenbergian and Schrodinger models were generally accepted for true. Nevertheless, we still see its use in anachronism, roleplaying, and, in this case, as a zipper tab. At least it should keep you warm on your ivory pillar."
|
||||
icon_state = "coatrd"
|
||||
item_state = "coatrd"
|
||||
allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight/pen, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/classic_baton/telescopic, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman)
|
||||
@@ -656,10 +677,12 @@
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/rd
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/rd
|
||||
desc = "A white winter coat hood. It smells faintly of hair gel."
|
||||
icon_state = "winterhood_rd"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/ce
|
||||
name = "chief engineer's winter coat"
|
||||
desc = "A white winter coat with reflective green and yellow stripes. Stuffed with asbestos, treated with fire retardant PBDE, lined with a micro thin sheet of lead foil and snugly fitted to your body's measurements. This baby's ready to save you from anything except the thyroid cancer and systemic fibrosis you'll get from wearing it. The zipper tab is a tiny golden wrench."
|
||||
icon_state = "coatce"
|
||||
item_state = "coatce"
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 5, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 30, "fire" = 35, "acid" = 45)
|
||||
@@ -667,10 +690,12 @@
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/ce
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/ce
|
||||
desc = "A white winter coat hood. Feels surprisingly heavy. The tag says that it's not child safe."
|
||||
icon_state = "winterhood_ce"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/engineering
|
||||
name = "engineering winter coat"
|
||||
desc = "A surprisingly heavy yellow winter coat with reflective orange stripes. It has a small wrench for its zipper tab, and the inside layer is covered with a radiation-resistant silver-nylon blend. Because you're worth it."
|
||||
icon_state = "coatengineer"
|
||||
item_state = "coatengineer"
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 20, "fire" = 30, "acid" = 45)
|
||||
@@ -678,29 +703,35 @@
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/engineering
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/engineering
|
||||
desc = "A yellow winter coat hood. Definitely not a replacement for a hard hat."
|
||||
icon_state = "winterhood_engineer"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos
|
||||
name = "atmospherics winter coat"
|
||||
desc = "A yellow and blue winter coat. The zipper pull-tab is made to look like a miniature breath mask."
|
||||
icon_state = "coatatmos"
|
||||
item_state = "coatatmos"
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/engineering/atmos
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/engineering/atmos
|
||||
desc = "A yellow and blue winter coat hood."
|
||||
icon_state = "winterhood_atmos"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/hydro
|
||||
name = "hydroponics winter coat"
|
||||
desc = "A green and blue winter coat. The zipper tab looks like the flower from a member of Rosa Hesperrhodos, a pretty pink-and-white rose. The colors absolutely clash."
|
||||
icon_state = "coathydro"
|
||||
item_state = "coathydro"
|
||||
allowed = list(/obj/item/reagent_containers/spray/plantbgone, /obj/item/plant_analyzer, /obj/item/seeds, /obj/item/reagent_containers/glass/bottle, /obj/item/cultivator, /obj/item/reagent_containers/spray/pestspray, /obj/item/hatchet, /obj/item/storage/bag/plants, /obj/item/toy, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/hydro
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/hydro
|
||||
desc = "A green winter coat hood."
|
||||
icon_state = "winterhood_hydro"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/cosmic
|
||||
name = "cosmic winter coat"
|
||||
desc = "A starry winter coat that even glows softly."
|
||||
icon_state = "coatcosmic"
|
||||
item_state = "coatcosmic"
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/cosmic
|
||||
@@ -708,48 +739,58 @@
|
||||
light_range = 1.2
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/cosmic
|
||||
desc = "A starry winter hood."
|
||||
icon_state = "winterhood_cosmic"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/janitor
|
||||
name = "janitors winter coat"
|
||||
desc = "A purple-and-beige winter coat that smells of space cleaner."
|
||||
icon_state = "coatjanitor"
|
||||
item_state = "coatjanitor"
|
||||
allowed = list(/obj/item/toy, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/storage/fancy/cigarettes, /obj/item/lighter,/obj/item/grenade/chem_grenade,/obj/item/lightreplacer,/obj/item/flashlight,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/glass/bottle,/obj/item/reagent_containers/spray,/obj/item/soap,/obj/item/holosign_creator,/obj/item/key/janitor,/obj/item/melee/flyswatter,/obj/item/paint/paint_remover,/obj/item/storage/bag/trash,/obj/item/reagent_containers/glass/bucket)
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/janitor
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/janitor
|
||||
desc = "A purple hood that smells of space cleaner."
|
||||
icon_state = "winterhood_janitor"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/cargo
|
||||
name = "cargo winter coat"
|
||||
desc = "A tan-and-grey winter coat that has a crate for its zipper pull tab. It fills you with the warmth of a fierce independence."
|
||||
icon_state = "coatcargo"
|
||||
item_state = "coatcargo"
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/cargo
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/cargo
|
||||
desc = "A grey hood for a winter coat."
|
||||
icon_state = "winterhood_cargo"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/qm
|
||||
name = "quartermaster's winter coat"
|
||||
desc = "A dark brown winter coat that has a golden crate pin for its zipper pully."
|
||||
icon_state = "coatqm"
|
||||
item_state = "coatqm"
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/qm
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/qm
|
||||
desc = "A dark brown winter hood"
|
||||
icon_state = "winterhood_qm"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/aformal
|
||||
name = "assistant's formal winter coat"
|
||||
desc = "A black button up winter coat."
|
||||
icon_state = "coataformal"
|
||||
item_state = "coataformal"
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter,/obj/item/clothing/gloves/color/yellow)
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/aformal
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/aformal
|
||||
desc = "A black winter coat hood."
|
||||
icon_state = "winterhood_aformal"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/miner
|
||||
name = "mining winter coat"
|
||||
desc = "A dusty button up winter coat. The zipper tab looks like a tiny pickaxe."
|
||||
icon_state = "coatminer"
|
||||
item_state = "coatminer"
|
||||
allowed = list(/obj/item/pickaxe, /obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
|
||||
@@ -757,10 +798,12 @@
|
||||
hoodtype = /obj/item/clothing/head/hooded/winterhood/miner
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/miner
|
||||
desc = "A dusty winter coat hood."
|
||||
icon_state = "winterhood_miner"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/ratvar
|
||||
name = "ratvarian winter coat"
|
||||
desc = "A brass-plated button up winter coat. Instead of a zipper tab, it has a brass cog with a tiny red gemstone inset."
|
||||
icon_state = "coatratvar"
|
||||
item_state = "coatratvar"
|
||||
armor = list("melee" = 30, "bullet" = 45, "laser" = -10, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 60, "acid" = 60)
|
||||
@@ -770,6 +813,7 @@
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/ratvar
|
||||
icon_state = "winterhood_ratvar"
|
||||
desc = "A brass-plated winter hood that glows softly, hinting at its divinity."
|
||||
light_range = 3
|
||||
light_power = 1
|
||||
light_color = "#B18B25" //clockwork slab background top color
|
||||
@@ -788,6 +832,7 @@
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/narsie
|
||||
name = "narsian winter coat"
|
||||
desc = "A somber button-up in tones of grey entropy and a wicked crimson zipper. When pulled all the way up, the zipper looks like a bloody gash. The zipper pull looks like a single drop of blood."
|
||||
icon_state = "coatnarsie"
|
||||
item_state = "coatnarsie"
|
||||
armor = list("melee" = 30, "bullet" = 20, "laser" = 30,"energy" = 10, "bomb" = 30, "bio" = 10, "rad" = 10, "fire" = 30, "acid" = 30)
|
||||
@@ -808,10 +853,12 @@
|
||||
user.adjustBruteLoss(rand(10,16))
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/narsie
|
||||
desc = "A black winter hood full of whispering secrets that only She shall ever know."
|
||||
icon_state = "winterhood_narsie"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/ratvar/fake
|
||||
name = "brass winter coat"
|
||||
desc = "A brass-plated button up winter coat. Instead of a zipper tab, it has a brass cog with a tiny red piece of plastic as an inset."
|
||||
icon_state = "coatratvar"
|
||||
item_state = "coatratvar"
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
|
||||
@@ -820,6 +867,7 @@
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/narsie/fake
|
||||
name = "runed winter coat"
|
||||
desc = "A dusty button up winter coat in the tones of oblivion and ash. The zipper pull looks like a single drop of blood."
|
||||
icon_state = "coatnarsie"
|
||||
item_state = "coatnarsie"
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
|
||||
@@ -842,7 +890,6 @@
|
||||
icon_state = "winterhood_durathread"
|
||||
armor = list("melee" = 20, "bullet" = 8, "laser" = 15, "energy" = 8, "bomb" = 25, "bio" = 10, "rad" = 15, "fire" = 75, "acid" = 37)
|
||||
|
||||
|
||||
/obj/item/clothing/suit/spookyghost
|
||||
name = "spooky ghost"
|
||||
desc = "This is obviously just a bedsheet, but maybe try it on?"
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
plantname = "Blood-Tomato Plants"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/tomato/blood
|
||||
mutatelist = list()
|
||||
reagents_add = list(/datum/reagent/blood = 0.2, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
|
||||
reagents_add = list(/datum/reagent/blood/tomato = 0.2, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
|
||||
rarity = 20
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/tomato/blood
|
||||
@@ -47,7 +47,7 @@
|
||||
splat_type = /obj/effect/gibspawner/generic
|
||||
filling_color = "#FF0000"
|
||||
foodtype = FRUIT | GROSS
|
||||
grind_results = list(/datum/reagent/consumable/ketchup = 0, /datum/reagent/blood = 0)
|
||||
grind_results = list(/datum/reagent/consumable/ketchup = 0, /datum/reagent/blood/tomato = 0)
|
||||
distill_reagent = /datum/reagent/consumable/ethanol/bloody_mary
|
||||
|
||||
// Blue Tomato
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
message = "moans!"
|
||||
message_mime = "appears to moan!"
|
||||
emote_type = EMOTE_AUDIBLE
|
||||
stat_allowed = SOFT_CRIT
|
||||
|
||||
/datum/emote/living/carbon/roll
|
||||
key = "roll"
|
||||
|
||||
@@ -249,7 +249,7 @@
|
||||
var/current_dir
|
||||
if(isliving(AM))
|
||||
current_dir = AM.dir
|
||||
if(step(AM, t))
|
||||
if(step(AM, t) && Process_Spacemove(t))
|
||||
step(src, t)
|
||||
if(current_dir)
|
||||
AM.setDir(current_dir)
|
||||
|
||||
@@ -328,12 +328,6 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
|
||||
if(power)
|
||||
soundloop.volume = min(40, (round(power/100)/50)+1) // 5 +1 volume per 20 power. 2500 power is max
|
||||
|
||||
if(isclosedturf(T))
|
||||
var/turf/did_it_melt = T.Melt()
|
||||
if(!isclosedturf(did_it_melt)) //In case some joker finds way to place these on indestructible walls
|
||||
visible_message("<span class='warning'>[src] melts through [T]!</span>")
|
||||
return
|
||||
|
||||
//Ok, get the air from the turf
|
||||
var/datum/gas_mixture/env = T.return_air()
|
||||
|
||||
@@ -345,9 +339,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
|
||||
else
|
||||
// Pass all the gas related code an empty gas container
|
||||
removed = new()
|
||||
damage_archived = min(damage_archived + (DAMAGE_HARDCAP * explosion_point),damage)
|
||||
matter_power += damage - damage_archived
|
||||
damage = damage_archived
|
||||
damage = min(damage_archived + (DAMAGE_HARDCAP * explosion_point),damage)
|
||||
damage_archived = damage
|
||||
if(!removed || !removed.total_moles() || isspaceturf(T)) //we're in space or there is no gas to process
|
||||
if(takes_damage)
|
||||
damage += max((power / 1000) * DAMAGE_INCREASE_MULTIPLIER, 0.1) // always does at least some damage
|
||||
@@ -531,7 +524,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
|
||||
message_admins("[src] has been powered for the first time [ADMIN_JMP(src)].")
|
||||
has_been_powered = TRUE
|
||||
else if(takes_damage)
|
||||
damage += Proj.damage * config_bullet_energy
|
||||
matter_power += Proj.damage * config_bullet_energy
|
||||
return BULLET_ACT_HIT
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/singularity_act()
|
||||
|
||||
@@ -221,3 +221,13 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent())
|
||||
rs += "[R.name], [R.volume]"
|
||||
|
||||
return rs.Join(" | ")
|
||||
|
||||
//For easy bloodsucker disgusting and blood removal
|
||||
/datum/reagent/proc/disgust_bloodsucker(mob/living/carbon/C, disgust, blood_change, blood_puke = TRUE, force)
|
||||
if(isvamp(C))
|
||||
var/datum/antagonist/bloodsucker/bloodsuckerdatum = C.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)
|
||||
if(disgust)
|
||||
bloodsuckerdatum.handle_eat_human_food(disgust, blood_puke, force)
|
||||
if(blood_change)
|
||||
bloodsuckerdatum.AddBloodVolume(blood_change)
|
||||
|
||||
|
||||
@@ -579,8 +579,8 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
value = 1.3
|
||||
|
||||
/datum/reagent/consumable/ethanol/bloody_mary/on_mob_life(mob/living/carbon/C)
|
||||
if((HAS_TRAIT(C, TRAIT_NOMARROW)))
|
||||
return
|
||||
if(isvamp(C))
|
||||
disgust_bloodsucker(FALSE, 1) //Bloodsuckers get SOME blood from it, for style reasons.
|
||||
if(C.blood_volume < (BLOOD_VOLUME_NORMAL*C.blood_ratio))
|
||||
C.blood_volume = min((BLOOD_VOLUME_NORMAL*C.blood_ratio), C.blood_volume + 3) //Bloody Mary quickly restores blood loss.
|
||||
..()
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
shot_glass_icon_state = "shotglassred"
|
||||
pH = 7.4
|
||||
|
||||
/datum/reagent/blood/reaction_mob(mob/living/L, method=TOUCH, reac_volume)
|
||||
/datum/reagent/blood/reaction_mob(mob/living/L, method = TOUCH, reac_volume)
|
||||
if(data && data["viruses"])
|
||||
for(var/thing in data["viruses"])
|
||||
var/datum/disease/D = thing
|
||||
@@ -26,6 +26,18 @@
|
||||
else //ingest, patch or inject
|
||||
L.ForceContractDisease(D)
|
||||
|
||||
if(data["blood_type"] == "SY")
|
||||
//Synthblood is very disgusting to bloodsuckers. They will puke it out to expel it, unless they have masquarade on
|
||||
switch(reac_volume)
|
||||
if(0 to 3)
|
||||
disgust_bloodsucker(L, 3, FALSE, FALSE, FALSE)
|
||||
if(3 to 6)
|
||||
//If theres more than 8 units, they will start expelling it, even if they are masquarading.
|
||||
disgust_bloodsucker(L, 5, FALSE, FALSE, TRUE)
|
||||
else
|
||||
//If they have too much in them, they will also puke out their blood.
|
||||
disgust_bloodsucker(L, 7, -5, TRUE, TRUE)
|
||||
|
||||
if(iscarbon(L))
|
||||
var/mob/living/carbon/C = L
|
||||
var/blood_id = C.get_blood_id()
|
||||
@@ -37,10 +49,8 @@
|
||||
L.add_blood_DNA(list(data["blood_DNA"] = data["blood_type"]))
|
||||
|
||||
/datum/reagent/blood/on_mob_life(mob/living/carbon/C) //Because lethals are preferred over stamina. damnifino.
|
||||
if((HAS_TRAIT(C, TRAIT_NOMARROW)))
|
||||
return //We dont want vampires getting toxed from blood
|
||||
var/blood_id = C.get_blood_id()
|
||||
if((blood_id == /datum/reagent/blood || blood_id == /datum/reagent/blood/jellyblood))
|
||||
if((blood_id in GLOB.blood_reagent_types) && !HAS_TRAIT(C, TRAIT_NOMARROW))
|
||||
if(!data || !(data["blood_type"] in get_safe_blood(C.dna.blood_type))) //we only care about bloodtype here because this is where the poisoning should be
|
||||
C.adjustToxLoss(rand(2,8)*REM, TRUE, TRUE) //forced to ensure people don't use it to gain beneficial toxin as slime person
|
||||
..()
|
||||
@@ -117,7 +127,7 @@
|
||||
if(!istype(D, /datum/disease/advance))
|
||||
preserve += D
|
||||
data["viruses"] = preserve
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/datum/reagent/blood/proc/get_diseases()
|
||||
. = list()
|
||||
@@ -142,6 +152,13 @@
|
||||
taste_mult = 1.3
|
||||
pH = 4
|
||||
|
||||
/datum/reagent/blood/tomato
|
||||
data = list("donor"=null,"viruses"=null,"blood_DNA"=null, "bloodcolor" = BLOOD_COLOR_HUMAN, "blood_type"="SY","resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null)
|
||||
name = "Tomato Blood"
|
||||
description = "This highly resembles blood, but it doesnt actually function like it, resembling more ketchup, with a more blood-like consistency."
|
||||
taste_description = "sap" //Like tree sap?
|
||||
pH = 7.45
|
||||
|
||||
/datum/reagent/blood/jellyblood/on_mob_life(mob/living/carbon/M)
|
||||
if(prob(10))
|
||||
if(M.dna?.species?.exotic_bloodtype != "GEL")
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
blood_type = "BUG"
|
||||
|
||||
/obj/item/reagent_containers/blood/attackby(obj/item/I, mob/user, params)
|
||||
if (istype(I, /obj/item/pen) || istype(I, /obj/item/toy/crayon))
|
||||
if(istype(I, /obj/item/pen) || istype(I, /obj/item/toy/crayon))
|
||||
if(!user.is_literate())
|
||||
to_chat(user, "<span class='notice'>You scribble illegibly on the label of [src]!</span>")
|
||||
return
|
||||
@@ -107,25 +107,31 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/reagent_containers/blood/attack(mob/M, mob/user, def_zone)
|
||||
if(user.a_intent == INTENT_HELP && reagents.total_volume > 0)
|
||||
if (user != M)
|
||||
to_chat(user, "<span class='notice'>You force [M] to drink from the [src]</span>")
|
||||
user.visible_message("<span class='userdanger'>[user] forces [M] to drink from the [src].</span>")
|
||||
if(!do_mob(user, M, 50))
|
||||
/obj/item/reagent_containers/blood/attack(mob/living/carbon/C, mob/user, def_zone)
|
||||
if(user.a_intent == INTENT_HELP && reagents.total_volume > 0 && iscarbon(C) && user.a_intent == INTENT_HELP)
|
||||
if(C.is_mouth_covered())
|
||||
to_chat(user, "<span class='notice'>You cant drink from the [src] while your mouth is covered.</span>")
|
||||
return
|
||||
if(user != C)
|
||||
user.visible_message("<span class='danger'>[user] forces [C] to drink from the [src].</span>", \
|
||||
"<span class='notice'>You force [C] to drink from the [src]</span>")
|
||||
if(!do_mob(user, C, 50))
|
||||
return
|
||||
else
|
||||
if(!do_mob(user, M, 10))
|
||||
if(!do_mob(user, C, 10))
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You take a sip from the [src].</span>")
|
||||
user.visible_message("<span class='notice'>[user] puts the [src] up to their mouth.</span>")
|
||||
if(reagents.total_volume <= 0) // Safety: In case you spam clicked the blood bag on yourself, and it is now empty (below will divide by zero)
|
||||
return
|
||||
var/gulp_size = 5
|
||||
var/gulp_size = 3
|
||||
var/fraction = min(gulp_size / reagents.total_volume, 1)
|
||||
reagents.reaction(M, INGEST, fraction) //checkLiked(fraction, M) // Blood isn't food, sorry.
|
||||
reagents.trans_to(M, gulp_size)
|
||||
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
|
||||
reagents.reaction(C, INGEST, fraction) //checkLiked(fraction, M) // Blood isn't food, sorry.
|
||||
reagents.trans_to(C, gulp_size)
|
||||
reagents.remove_reagent(src, 2) //Inneficency, so hey, IVs are usefull.
|
||||
playsound(C.loc,'sound/items/drink.ogg', rand(10, 50), TRUE)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/reagent_containers/blood/bluespace
|
||||
@@ -133,3 +139,14 @@
|
||||
desc = "Contains blood used for transfusion, this one has been made with bluespace technology to hold much more blood. Must be attached to an IV drip."
|
||||
icon_state = "bsbloodpack"
|
||||
volume = 600 //its a blood bath!
|
||||
|
||||
/obj/item/reagent_containers/blood/bluespace/attack(mob/living/carbon/C, mob/user, def_zone)
|
||||
if(user.a_intent == INTENT_HELP)
|
||||
if(user != C)
|
||||
to_chat(user, "<span class='notice'>You can't force people to drink from the [src]. Nothing comes out from it.</span>")
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You try to suck on the [src], but nothing comes out.</span>")
|
||||
return
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Arturlang"
|
||||
delete-after: True
|
||||
changes:
|
||||
- balance: "Bloodsuckers can no longer get usable blood from blood tomatoes."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "kevinz000"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "Pushing is no longer free space movement."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Ragolution"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "All winter coats and hoods might be different if slightly from one a other."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "monster860"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "You can now moan in soft crit"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "YakumoChen"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Mining base looks more natural where it's spawned."
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Actually made things work as intended."
|
||||
- code_imp: "Removed a redundant turf melting check from the supermatter."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "kevinz000"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "compact defibs have 10k cells again"
|
||||
Binary file not shown.
Reference in New Issue
Block a user