This commit is contained in:
Fox-McCloud
2016-03-16 20:38:56 -04:00
parent efe1871595
commit 4ff472a0ea
3 changed files with 33 additions and 15 deletions
+18 -2
View File
@@ -1,3 +1,5 @@
#define ADDICTION_SPEEDUP_TIME 1500 // 2.5 minutes
/////////////////////////////////////////
// SLEEPER CONSOLE
/////////////////////////////////////////
@@ -340,7 +342,19 @@
for(var/datum/reagent/x in src.occupant.reagents.reagent_list)
src.occupant.reagents.trans_to(beaker, 3)
src.occupant.vessel.trans_to(beaker, 1)
src.updateDialog()
if(occupant)
for(var/A in occupant.reagents.addiction_list)
var/datum/reagent/R = A
var/addiction_removal_chance = 5
if(world.timeofday > (R.last_addiction_dose + ADDICTION_SPEEDUP_TIME)) // 2.5 minutes
addiction_removal_chance = 10
if(prob(addiction_removal_chance))
occupant << "<span class='notice'>You no longer feel reliant on [R.name]!</span>"
occupant.reagents.addiction_list.Remove(R)
updateDialog()
return
@@ -642,4 +656,6 @@
qdel(O)
src.add_fingerprint(usr)
return
return
return
#undef ADDICTION_SPEEDUP_TIME
@@ -35,18 +35,21 @@
if(method == INGEST) //Yes, even Xenos can get addicted to drugs.
if(prob(self.addiction_chance) && !is_type_in_list(self, M.reagents.addiction_list))
M << "<span class='danger'>You suddenly feel invigorated and guilty...</span>"
var/datum/reagent/new_reagent = new self.type()
new_reagent.last_addiction_dose = world.timeofday
M.reagents.addiction_list.Add(new_reagent)
else if(is_type_in_list(self, M.reagents.addiction_list))
M << "<span class='notice'>You feel slightly better, but for how long?</span>"
for(var/A in M.reagents.addiction_list)
var/datum/reagent/AD = A
if(AD && istype(AD, self))
AD.last_addiction_dose = world.timeofday
AD.addiction_stage = 1
var/can_become_addicted = M.reagents.reaction_check(M, self)
if(can_become_addicted)
if(prob(self.addiction_chance) && !is_type_in_list(self, M.reagents.addiction_list))
M << "<span class='danger'>You suddenly feel invigorated and guilty...</span>"
var/datum/reagent/new_reagent = new self.type()
new_reagent.last_addiction_dose = world.timeofday
M.reagents.addiction_list.Add(new_reagent)
else if(is_type_in_list(self, M.reagents.addiction_list))
M << "<span class='notice'>You feel slightly better, but for how long?</span>"
for(var/A in M.reagents.addiction_list)
var/datum/reagent/AD = A
if(AD && istype(AD, self))
AD.last_addiction_dose = world.timeofday
AD.addiction_stage = 1
return 1
/datum/reagent/proc/reaction_obj(var/obj/O, var/volume) //By default we transfer a small part of the reagent to the object
@@ -17,7 +17,6 @@
var/vomit_start = 180 //amount absorbed after which mob starts vomitting
var/blur_start = 260 //amount absorbed after which mob starts getting blurred vision
var/pass_out = 325 //amount absorbed after which mob starts passing out
addiction_chance = 4 //chance to become alcoholic
/datum/reagent/ethanol/on_mob_life(var/mob/living/M as mob, var/alien)
// Sobering multiplier.