mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 21:19:00 +01:00
Merge https://github.com/ParadiseSS13/Paradise into pillbottle
This commit is contained in:
@@ -282,7 +282,7 @@
|
||||
var/amount_per_pill = reagents.total_volume / count
|
||||
if(amount_per_pill > 100)
|
||||
amount_per_pill = 100
|
||||
var/name = input(usr,"Name:","Name your pill!","[reagents.get_master_reagent_name()] ([amount_per_pill]u)") as text|null
|
||||
var/name = clean_input("Name:","Name your pill!","[reagents.get_master_reagent_name()] ([amount_per_pill]u)")
|
||||
if(!name)
|
||||
return
|
||||
name = reject_bad_text(name)
|
||||
@@ -303,7 +303,7 @@
|
||||
P.forceMove(loaded_pill_bottle)
|
||||
updateUsrDialog()
|
||||
else
|
||||
var/name = input(usr, "Name:", "Name your bag!", reagents.get_master_reagent_name()) as text|null
|
||||
var/name = clean_input("Name:", "Name your bag!", reagents.get_master_reagent_name())
|
||||
if(!name)
|
||||
return
|
||||
name = reject_bad_text(name)
|
||||
@@ -328,7 +328,7 @@
|
||||
var/amount_per_patch = reagents.total_volume/count
|
||||
if(amount_per_patch > 40)
|
||||
amount_per_patch = 40
|
||||
var/name = input(usr, "Name:", "Name your patch!", "[reagents.get_master_reagent_name()] ([amount_per_patch]u)") as text|null
|
||||
var/name = clean_input("Name:", "Name your patch!", "[reagents.get_master_reagent_name()] ([amount_per_patch]u)")
|
||||
if(!name)
|
||||
return
|
||||
name = reject_bad_text(name)
|
||||
@@ -350,7 +350,7 @@
|
||||
|
||||
else if(href_list["createbottle"])
|
||||
if(!condi)
|
||||
var/name = input(usr, "Name:", "Name your bottle!", reagents.get_master_reagent_name()) as text|null
|
||||
var/name = clean_input("Name:", "Name your bottle!", reagents.get_master_reagent_name())
|
||||
if(!name)
|
||||
return
|
||||
name = reject_bad_text(name)
|
||||
|
||||
@@ -135,12 +135,11 @@
|
||||
return
|
||||
else if(href_list["empty_beaker"])
|
||||
beaker.reagents.clear_reagents()
|
||||
eject_beaker()
|
||||
updateUsrDialog()
|
||||
return
|
||||
else if(href_list["eject"])
|
||||
beaker:loc = loc
|
||||
beaker = null
|
||||
icon_state = "mixer0"
|
||||
eject_beaker()
|
||||
updateUsrDialog()
|
||||
return
|
||||
else if(href_list["clear"])
|
||||
@@ -173,6 +172,11 @@
|
||||
|
||||
add_fingerprint(usr)
|
||||
|
||||
/obj/machinery/computer/pandemic/proc/eject_beaker()
|
||||
beaker.forceMove(loc)
|
||||
beaker = null
|
||||
icon_state = "mixer0"
|
||||
|
||||
//Prints a nice virus release form. Props to Urbanliner for the layout
|
||||
/obj/machinery/computer/pandemic/proc/print_form(var/datum/disease/advance/D, mob/living/user)
|
||||
D = archive_diseases[D.GetDiseaseID()]
|
||||
@@ -308,7 +312,7 @@
|
||||
dat += "nothing<BR>"
|
||||
else
|
||||
dat += "nothing<BR>"
|
||||
dat += "<BR><A href='?src=[UID()];eject=1'>Eject beaker</A>[((R.total_volume&&R.reagent_list.len) ? "-- <A href='?src=[UID()];empty_beaker=1'>Empty beaker</A>":"")]<BR>"
|
||||
dat += "<BR><A href='?src=[UID()];eject=1'>Eject beaker</A>[((R.total_volume&&R.reagent_list.len) ? "-- <A href='?src=[UID()];empty_beaker=1'>Empty and eject beaker</A>":"")]<BR>"
|
||||
dat += "<A href='?src=[user.UID()];mach_close=pandemic'>Close</A>"
|
||||
|
||||
var/datum/browser/popup = new(user, "pandemic", name, 575, 400)
|
||||
|
||||
@@ -115,6 +115,24 @@
|
||||
update_flags |= M.adjustToxLoss(1, FALSE)
|
||||
return list(0, update_flags)
|
||||
|
||||
/datum/reagent/consumable/ethanol/hooch
|
||||
name = "Hooch"
|
||||
id = "hooch"
|
||||
description = "Either someone's failure at cocktail making or attempt in alcohol production. In any case, do you really want to drink that?"
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
dizzy_adj = 7
|
||||
alcohol_perc = 1
|
||||
drink_icon = "glass_brown2"
|
||||
drink_name = "Hooch"
|
||||
drink_desc = "You've really hit rock bottom now... your liver packed its bags and left last night."
|
||||
taste_message = "pure resignation"
|
||||
|
||||
/datum/reagent/consumable/ethanol/hooch/on_mob_life(mob/living/carbon/M)
|
||||
if(M.mind && M.mind.assigned_role == "Assistant")
|
||||
M.heal_organ_damage(1, 1)
|
||||
. = 1
|
||||
return ..() || .
|
||||
|
||||
/datum/reagent/consumable/ethanol/rum
|
||||
name = "Rum"
|
||||
id = "rum"
|
||||
@@ -1361,3 +1379,15 @@
|
||||
taste_message = flavor
|
||||
if(holder.my_atom)
|
||||
holder.my_atom.on_reagent_change()
|
||||
|
||||
/datum/reagent/consumable/ethanol/bacchus_blessing //An EXTREMELY powerful drink. Smashed in seconds, dead in minutes.
|
||||
name = "Bacchus' Blessing"
|
||||
id = "bacchus_blessing"
|
||||
description = "Unidentifiable mixture. Unmeasurably high alcohol content."
|
||||
color = rgb(51, 19, 3) //Sickly brown
|
||||
dizzy_adj = 21
|
||||
alcohol_perc = 3 //I warned you
|
||||
drink_icon = "glass_brown2"
|
||||
drink_name = "Bacchus' Blessing"
|
||||
drink_desc = "You didn't think it was possible for a liquid to be so utterly revolting. Are you sure about this...?"
|
||||
taste_message = "a wall of bricks"
|
||||
|
||||
@@ -290,6 +290,11 @@
|
||||
addiction_chance = 5
|
||||
taste_message = "health"
|
||||
|
||||
/datum/reagent/medicine/omnizine/godblood
|
||||
name = "Godblood"
|
||||
description = "Slowly heals all damage types. Has a rather high overdose threshold. Glows with mysterious power."
|
||||
overdose_threshold = 150
|
||||
|
||||
/datum/reagent/medicine/omnizine/on_mob_life(mob/living/M)
|
||||
var/update_flags = STATUS_UPDATE_NONE
|
||||
update_flags |= M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
|
||||
@@ -457,6 +457,7 @@
|
||||
C.AdjustDizzy(volume)
|
||||
C.AddComponent(/datum/component/jestosterone, mind_type)
|
||||
C.AddComponent(/datum/component/squeak, null, null, null, null, null, TRUE)
|
||||
C.AddComponent(/datum/component/waddling)
|
||||
|
||||
/datum/reagent/jestosterone/on_mob_life(mob/living/carbon/M)
|
||||
if(!istype(M))
|
||||
@@ -493,8 +494,10 @@
|
||||
..()
|
||||
GET_COMPONENT_FROM(remove_fun, /datum/component/jestosterone, M)
|
||||
GET_COMPONENT_FROM(squeaking, /datum/component/squeak, M)
|
||||
GET_COMPONENT_FROM(waddling, /datum/component/waddling, M)
|
||||
remove_fun.Destroy()
|
||||
squeaking.Destroy()
|
||||
waddling.Destroy()
|
||||
|
||||
/datum/reagent/royal_bee_jelly
|
||||
name = "royal bee jelly"
|
||||
|
||||
@@ -1174,3 +1174,14 @@
|
||||
M.electrocute_act(rand(5, 20), "Teslium in their body", 1, TRUE) //Override because it's caused from INSIDE of you
|
||||
playsound(M, "sparks", 50, 1)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/gluttonytoxin
|
||||
name = "Gluttony's Blessing"
|
||||
id = "gluttonytoxin"
|
||||
description = "An advanced corruptive toxin produced by something terrible."
|
||||
reagent_state = LIQUID
|
||||
color = "#5EFF3B" //RGB: 94, 255, 59
|
||||
taste_message = "decay"
|
||||
|
||||
/datum/reagent/gluttonytoxin/reaction_mob(mob/living/L, method=TOUCH, reac_volume)
|
||||
L.ForceContractDisease(new /datum/disease/transformation/morph())
|
||||
|
||||
@@ -851,4 +851,20 @@
|
||||
required_reagents = list("rum" = 5, "cream" = 5, "egg" = 5)
|
||||
result_amount = 15
|
||||
mix_message = "The eggs nog together. Pretend that \"nog\" is a verb."
|
||||
mix_sound = 'sound/goonstation/misc/drinkfizz.ogg'
|
||||
mix_sound = 'sound/goonstation/misc/drinkfizz.ogg'
|
||||
|
||||
/datum/chemical_reaction/hooch
|
||||
name = "Hooch"
|
||||
id = "hooch"
|
||||
result = "hooch"
|
||||
required_reagents = list("ethanol" = 2, "fuel" = 1)
|
||||
result_amount = 3
|
||||
required_catalysts = list("enzyme" = 1)
|
||||
|
||||
/datum/chemical_reaction/bacchus_blessing
|
||||
name = "Bacchus' Blessing"
|
||||
id = "bacchus_blessing"
|
||||
result = "bacchus_blessing"
|
||||
required_reagents = list("hooch" = 1, "absinthe" = 1, "manlydorf" = 1, "syndicatebomb" = 1)
|
||||
result_amount = 4
|
||||
mix_message = "<span class='warning'>The mixture turns to a sickening froth.</span>"
|
||||
@@ -73,7 +73,7 @@
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
M.visible_message("<span class='danger'>[user] splashes the contents of [src] onto [M]!</span>", \
|
||||
"<span class='userdanger'>[user] splashes the contents of [src] onto [M]!</span>")
|
||||
add_attack_logs(M, user, "Splashed with [name] containing [contained]", !!M.ckey ? null : ATKLOG_ALL)
|
||||
add_attack_logs(user, M, "Splashed with [name] containing [contained]", !!M.ckey ? null : ATKLOG_ALL)
|
||||
if(!iscarbon(user))
|
||||
M.LAssailant = null
|
||||
else
|
||||
@@ -90,11 +90,12 @@
|
||||
if(!reagents || !reagents.total_volume)
|
||||
return // The drink might be empty after the delay, such as by spam-feeding
|
||||
M.visible_message("<span class='danger'>[user] feeds something to [M].</span>", "<span class='userdanger'>[user] feeds something to you.</span>")
|
||||
add_attack_logs(M, user, "Fed with [name] containing [contained]", !!M.ckey ? null : ATKLOG_ALL)
|
||||
add_attack_logs(user, M, "Fed with [name] containing [contained]", !!M.ckey ? null : ATKLOG_ALL)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You swallow a gulp of [src].</span>")
|
||||
|
||||
reagents.reaction(M, INGEST)
|
||||
var/fraction = min(5 / reagents.total_volume, 1)
|
||||
reagents.reaction(M, INGEST, fraction)
|
||||
addtimer(CALLBACK(reagents, /datum/reagents.proc/trans_to, M, 5), 5)
|
||||
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
|
||||
else
|
||||
@@ -246,9 +247,9 @@
|
||||
if(assembly)
|
||||
assembly.HasProximity(AM)
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/Crossed(atom/movable/AM)
|
||||
/obj/item/reagent_containers/glass/beaker/Crossed(atom/movable/AM, oldloc)
|
||||
if(assembly)
|
||||
assembly.Crossed(AM)
|
||||
assembly.Crossed(AM, oldloc)
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/on_found(mob/finder) //for mousetraps
|
||||
if(assembly)
|
||||
|
||||
@@ -289,12 +289,6 @@
|
||||
icon_state = "[rounded_vol]"
|
||||
item_state = "syringe_[rounded_vol]"
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// Syringes. END
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/obj/item/reagent_containers/syringe/antiviral
|
||||
name = "Syringe (spaceacillin)"
|
||||
desc = "Contains antiviral agents."
|
||||
@@ -327,3 +321,10 @@
|
||||
name = "bioterror syringe"
|
||||
desc = "Contains several paralyzing reagents."
|
||||
list_reagents = list("neurotoxin" = 5, "capulettium_plus" = 5, "sodium_thiopental" = 5)
|
||||
|
||||
/obj/item/reagent_containers/syringe/gluttony
|
||||
name = "Gluttony's Blessing"
|
||||
desc = "A syringe recovered from a dread place. It probably isn't wise to use."
|
||||
amount_per_transfer_from_this = 1
|
||||
volume = 1
|
||||
list_reagents = list("gluttonytoxin" = 1)
|
||||
@@ -187,9 +187,9 @@
|
||||
if(rig)
|
||||
rig.HasProximity(AM)
|
||||
|
||||
/obj/structure/reagent_dispensers/fueltank/Crossed(atom/movable/AM)
|
||||
/obj/structure/reagent_dispensers/fueltank/Crossed(atom/movable/AM, oldloc)
|
||||
if(rig)
|
||||
rig.Crossed(AM)
|
||||
rig.Crossed(AM, oldloc)
|
||||
|
||||
/obj/structure/reagent_dispensers/fueltank/hear_talk(mob/living/M, list/message_pieces)
|
||||
if(rig)
|
||||
@@ -220,6 +220,7 @@
|
||||
icon_state = "water_cooler"
|
||||
anchored = 1
|
||||
tank_volume = 500
|
||||
reagent_id = "water"
|
||||
var/paper_cups = 25 //Paper cups left from the cooler
|
||||
|
||||
/obj/structure/reagent_dispensers/water_cooler/examine(mob/user)
|
||||
|
||||
Reference in New Issue
Block a user