diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 18d5129fb4..ba5f2e1e18 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -214,7 +214,7 @@ /datum/status_effect/vtec_disabled/on_remove() if(iscyborg(owner)) var/mob/living/silicon/robot/R = owner - R.vtecs_disabled = FALSE + R.vtec_disabled = FALSE return ..() //OTHER DEBUFFS diff --git a/code/modules/antagonists/changeling/powers/adrenaline.dm b/code/modules/antagonists/changeling/powers/adrenaline.dm index 32171a036a..643458d05a 100644 --- a/code/modules/antagonists/changeling/powers/adrenaline.dm +++ b/code/modules/antagonists/changeling/powers/adrenaline.dm @@ -13,5 +13,5 @@ //Recover from stuns. /obj/effect/proc_holder/changeling/adrenaline/sting_action(mob/living/user) - user.do_adrenaline(0, FALSE, 70, 0, TRUE, list(/datum/reagent/medicine/epinephrine = 3, /datum/reagent/drug/methamphetamine/changeling = 10, /datum/reagent/medicine/changelingadrenaline = 5), "Energy rushes through us.", 0, 0.75, 0) + user.do_adrenaline(0, FALSE, 70, 0, TRUE, list(/datum/reagent/medicine/epinephrine = 3, /datum/reagent/medicine/changelinghaste = 10, /datum/reagent/medicine/changelingadrenaline = 5), "Energy rushes through us.", 0, 0.75, 0) return TRUE diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index cf4456789a..15c6475033 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -433,7 +433,7 @@ var/list/danger = list() for(var/id in air_contents.get_gases()) var/gas = air_contents.get_moles(id) - if(!GLOB.gas_data.flags[id] & GAS_FLAG_DANGEROUS) + if(!(GLOB.gas_data.flags[id] & GAS_FLAG_DANGEROUS)) continue if(gas > (GLOB.gas_data.visibility[id] || MOLES_GAS_VISIBLE)) //if moles_visible is undefined, default to default visibility danger[GLOB.gas_data.names[id]] = gas //ex. "plasma" = 20 diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 47f9a794cf..8a400ad02d 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -966,7 +966,8 @@ upgrades.Cut() - speed = 0 + vtec = 0 + vtec_disabled = FALSE ionpulse = FALSE revert_shell() diff --git a/code/modules/movespeed/modifiers/reagents.dm b/code/modules/movespeed/modifiers/reagents.dm index 0be4230cfe..ca0a74d749 100644 --- a/code/modules/movespeed/modifiers/reagents.dm +++ b/code/modules/movespeed/modifiers/reagents.dm @@ -49,3 +49,6 @@ /datum/movespeed_modifier/reagent/nooartrium multiplicative_slowdown = 2 + +/datum/movespeed_modifier/reagent/skooma + multiplicative_slowdown = -1 diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index f9af19512c..afad323a27 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -300,26 +300,26 @@ if(can_overdose) if(addiction_tick == 6) addiction_tick = 1 - for(var/addiction in cached_addictions) + for(var/addiction in addiction_list) var/datum/reagent/R = addiction - if(C && R) + if(owner && R) R.addiction_stage++ if(1 <= R.addiction_stage && R.addiction_stage <= R.addiction_stage1_end) - need_mob_update += R.addiction_act_stage1(C) + need_mob_update += R.addiction_act_stage1(owner) else if(R.addiction_stage1_end < R.addiction_stage && R.addiction_stage <= R.addiction_stage2_end) - need_mob_update += R.addiction_act_stage2(C) + need_mob_update += R.addiction_act_stage2(owner) else if(R.addiction_stage2_end < R.addiction_stage && R.addiction_stage <= R.addiction_stage3_end) - need_mob_update += R.addiction_act_stage3(C) + need_mob_update += R.addiction_act_stage3(owner) else if(R.addiction_stage3_end < R.addiction_stage && R.addiction_stage <= R.addiction_stage4_end) - need_mob_update += R.addiction_act_stage4(C) + need_mob_update += R.addiction_act_stage4(owner) else if(R.addiction_stage4_end < R.addiction_stage) remove_addiction(R) else - SEND_SIGNAL(C, COMSIG_CLEAR_MOOD_EVENT, "[R.type]_overdose") + SEND_SIGNAL(owner, COMSIG_CLEAR_MOOD_EVENT, "[R.type]_overdose") addiction_tick++ if(owner && need_mob_update) //some of the metabolized reagents had effects on the mob that requires some updates. owner.updatehealth() - owner.update_mobility + owner.update_mobility() owner.update_stamina() update_total() @@ -358,14 +358,14 @@ // for(var/addiction in reagent.addiction_types) // owner.mind?.add_addiction_points(addiction, reagent.addiction_types[addiction] * REAGENTS_METABOLISM) - if(R.addiction_threshold) - if(R.volume > R.addiction_threshold && !is_type_in_list(R, cached_addictions)) - var/datum/reagent/new_reagent = new R.type() - cached_addictions.Add(new_reagent) - if(is_type_in_list(R,cached_addictions)) - for(var/addiction in cached_addictions) + if(reagent.addiction_threshold) + if(reagent.volume > reagent.addiction_threshold && !is_type_in_list(reagent, addiction_list)) + var/datum/reagent/new_reagent = new reagent.type() + addiction_list.Add(new_reagent) + if(is_type_in_list(reagent, addiction_list)) + for(var/addiction in addiction_list) var/datum/reagent/A = addiction - if(istype(R, A)) + if(istype(reagent, A)) A.addiction_stage = -15 // you're satisfied for a good while. if(reagent.overdosed) diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index f4f5b90398..1f47de797a 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -505,11 +505,11 @@ value = REAGENT_VALUE_COMMON /datum/reagent/consumable/nuka_cola/on_mob_metabolize(mob/living/carbon/M) - M.add_movespeed_modifier(/datum/movespeed_modifier/reagent/meth) + M.add_movespeed_modifier(/datum/movespeed_modifier/reagent/methamphetamine) return ..() /datum/reagent/consumable/nuka_cola/on_mob_end_metabolize(mob/living/carbon/M) - M.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/meth) + M.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/methamphetamine) return ..() /datum/reagent/consumable/nuka_cola/on_mob_life(mob/living/carbon/M) diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index 485ef9ce82..1f92b3c3ee 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -170,16 +170,15 @@ overdose_threshold = 20 metabolization_rate = 0.75 * REAGENTS_METABOLISM ph = 5 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED addiction_threshold = 10 value = REAGENT_VALUE_UNCOMMON /datum/reagent/drug/methamphetamine/on_mob_metabolize(mob/living/L) ..() - L.add_movespeed_modifier(/datum/movespeed_modifier/reagent/meth) + L.add_movespeed_modifier(/datum/movespeed_modifier/reagent/methamphetamine) /datum/reagent/drug/methamphetamine/on_mob_end_metabolize(mob/living/L) - L.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/meth) + L.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/methamphetamine) ..() /datum/reagent/drug/methamphetamine/on_mob_life(mob/living/carbon/M, delta_time, times_fired) @@ -201,7 +200,7 @@ . = TRUE /datum/reagent/drug/methamphetamine/overdose_process(mob/living/M, delta_time, times_fired) - if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) + if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovable(M.loc)) for(var/i in 1 to round(4 * REM * delta_time, 1)) step(M, pick(GLOB.cardinals)) if(DT_PROB(10, delta_time)) @@ -249,14 +248,6 @@ ..() . = 1 -/datum/reagent/drug/methamphetamine/changeling - name = "Changeling Adrenaline" - addiction_threshold = 35 - overdose_threshold = 35 - jitter = FALSE - brain_damage = FALSE - value = REAGENT_VALUE_RARE - /datum/reagent/drug/bath_salts name = "Bath Salts" description = "Makes you impervious to stuns and grants a stamina regeneration buff, but you will be a nearly uncontrollable tramp-bearded raving lunatic." diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 2bda4a97bd..6ce9b0c9bb 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -723,8 +723,8 @@ // to_chat(M, span_notice("Your hands spaz out and you drop what you were holding!")) // M.Jitter(10) - M.AdjustAllImmobility(-20 * REM * delta_time * normalise_creation_purity()) - M.adjustStaminaLoss(-1 * REM * delta_time * normalise_creation_purity(), FALSE) + M.AdjustAllImmobility(-20 * REM * delta_time) + M.adjustStaminaLoss(-1 * REM * delta_time, FALSE) ..() return TRUE @@ -735,10 +735,10 @@ to_chat(M, span_userdanger("You're pretty sure you just felt your heart stop for a second there..")) M.playsound_local(M, 'sound/effects/singlebeat.ogg', 100, 0) - if(DT_PROB(3.5 * normalise_creation_purity(), delta_time)) + if(DT_PROB(3.5, delta_time)) to_chat(M, span_notice("[pick("Your head pounds.", "You feel a tight pain in your chest.", "You find it hard to stay still.", "You feel your heart practically beating out of your chest.")]")) - if(DT_PROB(18 * normalise_creation_purity(), delta_time)) + if(DT_PROB(18, delta_time)) M.adjustToxLoss(1, 0) M.losebreath++ . = TRUE @@ -1438,7 +1438,6 @@ description = "Reduces the duration of unconciousness, knockdown and stuns. Restores stamina, but deals toxin damage when overdosed." color = "#C1151D" overdose_threshold = 30 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED value = REAGENT_VALUE_VERY_RARE /datum/reagent/medicine/changelingadrenaline/on_mob_life(mob/living/carbon/metabolizer, delta_time, times_fired) @@ -1473,7 +1472,6 @@ description = "Drastically increases movement speed, but deals toxin damage." color = "#AE151D" metabolization_rate = 2.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED /datum/reagent/medicine/changelinghaste/on_mob_metabolize(mob/living/L) ..()