|
1134 | 1134 | glass_icon_state = "cucumber_lemonade" |
1135 | 1135 | glass_name = "cucumber lemonade" |
1136 | 1136 | glass_desc = "Lemonade, with added cucumber." |
| 1137 | + |
| 1138 | +/** |
| 1139 | + * basic wakefulness chem |
| 1140 | + * addiction gets less bad over time rather than the inverse |
| 1141 | + */ |
| 1142 | +/datum/reagent/drug/caffeine |
| 1143 | + name = "Caffeine" |
| 1144 | + description = "Slightly increases wakefulness. If overdosed it will cause jitters and heart problems." |
| 1145 | + reagent_state = SOLID //powder in pure form |
| 1146 | + color = "#ffffff" //very white |
| 1147 | + metabolization_rate = REAGENTS_METABOLISM |
| 1148 | + overdose_threshold = 20 //please don't consume pure caffeine |
| 1149 | + addiction_threshold = 30 //not easy to get addicted to unless you have way too much |
| 1150 | + trippy = FALSE |
| 1151 | + var/list/overdose_text = list("Your head pounds.", "You feel lethargic.", "You feel drowsy.", "You feel weak.", "You just want to sleep.") |
| 1152 | + |
| 1153 | +/datum/reagent/drug/caffeine/on_mob_life(mob/living/carbon/M) |
| 1154 | + . = ..() |
| 1155 | + if(prob(1)) |
| 1156 | + var/caffeine_message = pick("You feel alert.") |
| 1157 | + to_chat(M, span_notice("[caffeine_message]")) |
| 1158 | + M.adjust_drowsiness(-6 SECONDS * REM) |
| 1159 | + M.AdjustSleeping(-4 SECONDS, FALSE) |
| 1160 | + M.adjust_dizzy(-4 SECONDS * REM) |
| 1161 | + |
| 1162 | +/datum/reagent/drug/caffeine/overdose_process(mob/living/M) |
| 1163 | + . = ..() |
| 1164 | + M.set_jitter_if_lower(20 SECONDS) |
| 1165 | + M.adjustOrganLoss(ORGAN_SLOT_HEART, 1.25*REM) |
| 1166 | + |
| 1167 | +/datum/reagent/drug/caffeine/proc/apply_drowsy(mob/living/M) |
| 1168 | + M.adjust_drowsiness_up_to(3 SECONDS * REM, 10 SECONDS) |
| 1169 | + if(prob(50)) |
| 1170 | + to_chat(M, span_warning(pick(overdose_text))) |
| 1171 | + |
| 1172 | +/** |
| 1173 | + * doesn't call the parent addiction acts because it doesn't function the same way |
| 1174 | + */ |
| 1175 | +/datum/reagent/drug/caffeine/addiction_act_stage1(mob/living/M) |
| 1176 | + if(prob(75) && iscarbon(M)) |
| 1177 | + apply_drowsy(M) |
| 1178 | + |
| 1179 | +/datum/reagent/drug/caffeine/addiction_act_stage2(mob/living/M) |
| 1180 | + if(prob(60) && iscarbon(M)) |
| 1181 | + apply_drowsy(M) |
| 1182 | + |
| 1183 | +/datum/reagent/drug/caffeine/addiction_act_stage3(mob/living/M) |
| 1184 | + if(prob(45) && iscarbon(M)) |
| 1185 | + apply_drowsy(M) |
| 1186 | + |
| 1187 | +/datum/reagent/drug/caffeine/addiction_act_stage4(mob/living/M) |
| 1188 | + if(prob(30) && iscarbon(M)) |
| 1189 | + apply_drowsy(M) |
0 commit comments