Merge pull request #7742 from deathride58/yallnwahsdontevensmokeweed
Y'all n'wahs aint even smoke - adds skooma
This commit is contained in:
@@ -292,19 +292,18 @@
|
||||
var/datum/reagent/R = addiction
|
||||
if(C && R)
|
||||
R.addiction_stage++
|
||||
switch(R.addiction_stage)
|
||||
if(1 to 10)
|
||||
need_mob_update += R.addiction_act_stage1(C)
|
||||
if(10 to 20)
|
||||
need_mob_update += R.addiction_act_stage2(C)
|
||||
if(20 to 30)
|
||||
need_mob_update += R.addiction_act_stage3(C)
|
||||
if(30 to 40)
|
||||
need_mob_update += R.addiction_act_stage4(C)
|
||||
if(40 to INFINITY)
|
||||
to_chat(C, "<span class='notice'>You feel like you've gotten over your need for [R.name].</span>")
|
||||
SEND_SIGNAL(C, COMSIG_CLEAR_MOOD_EVENT, "[R.id]_addiction")
|
||||
cached_addictions.Remove(R)
|
||||
if(1 <= R.addiction_stage && R.addiction_stage <= R.addiction_stage1_end)
|
||||
need_mob_update += R.addiction_act_stage1(C)
|
||||
else if(R.addiction_stage1_end <= R.addiction_stage && R.addiction_stage <= R.addiction_stage2_end)
|
||||
need_mob_update += R.addiction_act_stage2(C)
|
||||
else if(R.addiction_stage2_end <= R.addiction_stage && R.addiction_stage <= R.addiction_stage3_end)
|
||||
need_mob_update += R.addiction_act_stage3(C)
|
||||
else if(R.addiction_stage3_end <= R.addiction_stage && R.addiction_stage <= R.addiction_stage4_end)
|
||||
need_mob_update += R.addiction_act_stage4(C)
|
||||
else if(R.addiction_stage4_end <= R.addiction_stage)
|
||||
to_chat(C, "<span class='notice'>You feel like you've gotten over your need for [R.name].</span>")
|
||||
SEND_SIGNAL(C, COMSIG_CLEAR_MOOD_EVENT, "[R.id]_addiction")
|
||||
cached_addictions.Remove(R)
|
||||
addiction_tick++
|
||||
if(C && need_mob_update) //some of the metabolized reagents had effects on the mob that requires some updates.
|
||||
C.updatehealth()
|
||||
|
||||
@@ -313,3 +313,9 @@
|
||||
var/amount = beaker.reagents.get_reagent_amount("eggyolk")
|
||||
beaker.reagents.remove_reagent("eggyolk", amount)
|
||||
beaker.reagents.add_reagent("mayonnaise", amount)
|
||||
//Moonsugar for skooma
|
||||
if(beaker.reagents.has_reagent("sugar") && beaker.reagents.has_reagent("moonshine"))
|
||||
var/amount = min(beaker.reagents.get_reagent_amount("sugar"), beaker.reagents.get_reagent_amount("moonshine"))
|
||||
beaker.reagents.remove_reagent("sugar", amount)
|
||||
beaker.reagents.remove_reagent("moonshine", amount)
|
||||
beaker.reagents.add_reagent("moonsugar", amount*2)
|
||||
|
||||
@@ -27,6 +27,10 @@
|
||||
var/overdose_threshold = 0
|
||||
var/addiction_threshold = 0
|
||||
var/addiction_stage = 0
|
||||
var/addiction_stage1_end = 10
|
||||
var/addiction_stage2_end = 20
|
||||
var/addiction_stage3_end = 30
|
||||
var/addiction_stage4_end = 40
|
||||
var/overdosed = 0 // You fucked up and this is now triggering its overdose effects, purge that shit quick.
|
||||
var/self_consuming = FALSE
|
||||
|
||||
|
||||
@@ -355,3 +355,75 @@
|
||||
M.adjustOxyLoss(1, 0)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
/datum/reagent/drug/skooma
|
||||
name = "Skooma"
|
||||
id = "skooma"
|
||||
description = "An ancient, highly-addictive drug of long-forgotten times. It greatly improves the user's speed and strength, but heavily impedes their intelligence and agility."
|
||||
reagent_state = LIQUID
|
||||
color = "#F3E0F9"
|
||||
taste_description = "ancient, unfulfilled prophecies"
|
||||
addiction_threshold = 1
|
||||
addiction_stage3_end = 40
|
||||
addiction_stage4_end = 240
|
||||
|
||||
/datum/reagent/drug/skooma/on_mob_add(mob/living/L)
|
||||
. = ..()
|
||||
L.add_trait(TRAIT_GOTTAGOFAST, id)
|
||||
L.next_move_modifier *= 2
|
||||
if(ishuman(L))
|
||||
var/mob/living/carbon/human/H = L
|
||||
if(H.physiology)
|
||||
H.physiology.stamina_mod *= 0.5
|
||||
if(H.dna && H.dna.species)
|
||||
H.dna.species.punchdamagehigh *= 5
|
||||
|
||||
/datum/reagent/drug/skooma/on_mob_delete(mob/living/L)
|
||||
. = ..()
|
||||
L.remove_trait(TRAIT_GOTTAGOFAST, id)
|
||||
L.next_move_modifier *= 0.5
|
||||
if(ishuman(L))
|
||||
var/mob/living/carbon/human/H = L
|
||||
if(H.physiology)
|
||||
H.physiology.stamina_mod *= 2
|
||||
if(H.dna && H.dna.species)
|
||||
H.dna.species.punchdamagehigh *= 0.2
|
||||
|
||||
/datum/reagent/drug/skooma/on_mob_life(mob/living/carbon/M)
|
||||
M.adjustBrainLoss(1*REM)
|
||||
M.adjustToxLoss(1*REM)
|
||||
if(prob(10))
|
||||
M.adjust_blurriness(2)
|
||||
..()
|
||||
. = 1
|
||||
|
||||
/datum/reagent/drug/skooma/addiction_act_stage1(mob/living/M)
|
||||
M.Jitter(10)
|
||||
if(prob(50))
|
||||
M.adjust_blurriness(2)
|
||||
..()
|
||||
|
||||
/datum/reagent/drug/skooma/addiction_act_stage2(mob/living/M)
|
||||
M.Jitter(20)
|
||||
M.Dizzy(10)
|
||||
M.adjust_blurriness(2)
|
||||
..()
|
||||
|
||||
/datum/reagent/drug/skooma/addiction_act_stage3(mob/living/M)
|
||||
M.Jitter(50)
|
||||
M.Dizzy(20)
|
||||
M.adjust_blurriness(4)
|
||||
if(prob(20))
|
||||
M.emote(pick("twitch","drool","moan"))
|
||||
..()
|
||||
|
||||
/datum/reagent/drug/skooma/addiction_act_stage4(mob/living/M)
|
||||
M.Jitter(50)
|
||||
M.Dizzy(50)
|
||||
M.adjust_blurriness(10)
|
||||
if(prob(50)) //This proc will be called about 200 times and the adjustbrainloss() below only has to be called 40 times to kill. This will make surviving skooma addiction pretty rare without mannitol usage.
|
||||
M.adjustBrainLoss(5)
|
||||
if(prob(40))
|
||||
M.emote(pick("twitch","drool","moan"))
|
||||
..()
|
||||
|
||||
|
||||
@@ -1847,3 +1847,10 @@
|
||||
/datum/reagent/tranquility/reaction_mob(mob/living/L, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0)
|
||||
if(method==PATCH || method==INGEST || method==INJECT || (method == VAPOR && prob(min(reac_volume,100)*(1 - touch_protection))))
|
||||
L.ForceContractDisease(new /datum/disease/transformation/gondola(), FALSE, TRUE)
|
||||
|
||||
/datum/reagent/moonsugar
|
||||
name = "Moonsugar"
|
||||
id = "moonsugar"
|
||||
description = "The primary precursor for an ancient feline delicacy known as skooma. While it has no notable effects on it's own, mixing it with morphine in a chilled container may yield interesting results."
|
||||
color = "#FAEAFF"
|
||||
taste_description = "synthetic catnip"
|
||||
|
||||
@@ -40,3 +40,18 @@
|
||||
id = "aranesp"
|
||||
results = list("aranesp" = 3)
|
||||
required_reagents = list("epinephrine" = 1, "atropine" = 1, "morphine" = 1)
|
||||
|
||||
/datum/chemical_reaction/skooma
|
||||
name = "skooma"
|
||||
id = "skooma"
|
||||
results = list("skooma" = 2, "moonshine" = 4, "sugar" = 4)
|
||||
required_temp = 280
|
||||
is_cold_recipe = TRUE
|
||||
required_reagents = list("moonsugar" = 10, "morphine" = 5)
|
||||
|
||||
/datum/chemical_reaction/skoomarevert
|
||||
name = "skoomarevert"
|
||||
id = "skoomarevert"
|
||||
results = list("moonsugar" = 1, "morphine" = 2.5)
|
||||
required_temp = 315 //a little above normal body temperature
|
||||
required_reagents = list("skooma" = 1)
|
||||
|
||||
Reference in New Issue
Block a user