Loads of pyrotechnics changes

This commit is contained in:
Iamgoofball
2015-02-27 21:16:10 -08:00
parent 6a4b912d3e
commit b95f44f235
14 changed files with 126 additions and 61 deletions
+1 -1
View File
@@ -178,7 +178,7 @@
/datum/disease/transformation/slime
name = "Advanced Mutation Transformation"
cure_text = "frost oil"
cures = list("frostoil")
cures = list("cryostylane")
cure_chance = 80
agent = "Advanced Mutation Toxin"
desc = "This highly concentrated extract converts anything into more of itself."
@@ -173,6 +173,6 @@ obj/effect/proc_holder/changeling/sting/cryo
/obj/effect/proc_holder/changeling/sting/cryo/sting_action(var/mob/user, var/mob/target)
add_logs(user, target, "stung", object="cryo sting")
if(target.reagents)
target.reagents.add_reagent("frostoil", 30)
target.reagents.add_reagent("cryostylane", 30)
feedback_add_details("changeling_powers","CS")
return 1
+2 -2
View File
@@ -19,7 +19,7 @@
"capsaicin" = list("hotsauce", "hotsauce bottle", "You can almost TASTE the stomach ulcers now!"),
"enzyme" = list("enzyme", "universal enzyme bottle", "Used in cooking various dishes"),
"soysauce" = list("soysauce", "soy sauce bottle", "A salty soy-based flavoring"),
"frostoil" = list("coldsauce", "coldsauce bottle", "Leaves the tongue numb in it's passage"),
"cryostylane" = list("coldsauce", "coldsauce bottle", "Leaves the tongue numb in it's passage"),
"sodiumchloride" = list("saltshakersmall", "salt shaker", "Salt. From space oceans, presumably"),
"blackpepper" = list("pepermillsmall", "pepper mill", "Often used to flavor food or make people sneeze"),
"cornoil" = list("oliveoil", "corn oil bottle", "A delicious oil used in cooking. Made from corn"),
@@ -186,7 +186,7 @@
volume = 10
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(10)
possible_states = list("ketchup" = list("condi_ketchup", "Ketchup", "You feel more American already."), "capsaicin" = list("condi_hotsauce", "Hotsauce", "You can almost TASTE the stomach ulcers now!"), "soysauce" = list("condi_soysauce", "Soy Sauce", "A salty soy-based flavoring"), "frostoil" = list("condi_frostoil", "Coldsauce", "Leaves the tongue numb in it's passage"), "sodiumchloride" = list("condi_salt", "Salt Shaker", "Salt. From space oceans, presumably"), "blackpepper" = list("condi_pepper", "Pepper Mill", "Often used to flavor food or make people sneeze"), "cornoil" = list("condi_cornoil", "Corn Oil", "A delicious oil used in cooking. Made from corn"), "sugar" = list("condi_sugar", "Sugar", "Tasty spacey sugar!"))
possible_states = list("ketchup" = list("condi_ketchup", "Ketchup", "You feel more American already."), "capsaicin" = list("condi_hotsauce", "Hotsauce", "You can almost TASTE the stomach ulcers now!"), "soysauce" = list("condi_soysauce", "Soy Sauce", "A salty soy-based flavoring"), "cryostylane" = list("condi_cryostylane", "Coldsauce", "Leaves the tongue numb in it's passage"), "sodiumchloride" = list("condi_salt", "Salt Shaker", "Salt. From space oceans, presumably"), "blackpepper" = list("condi_pepper", "Pepper Mill", "Often used to flavor food or make people sneeze"), "cornoil" = list("condi_cornoil", "Corn Oil", "A delicious oil used in cooking. Made from corn"), "sugar" = list("condi_sugar", "Sugar", "Tasty spacey sugar!"))
var/originalname = "condiment" //Can't use initial(name) for this. This stores the name set by condimasters.
/obj/item/weapon/reagent_containers/food/condiment/pack/attack(mob/M, mob/user, def_zone) //Can't feed these to people directly.
@@ -24,7 +24,7 @@
/obj/item/weapon/reagent_containers/food/snacks/donut/chaos/New()
..()
extra_reagent = pick("nutriment", "capsaicin", "frostoil", "krokodil", "plasma", "cocoa", "slimejelly", "banana", "berryjuice", "omnizine")
extra_reagent = pick("nutriment", "capsaicin", "cryostylane", "krokodil", "plasma", "cocoa", "slimejelly", "banana", "berryjuice", "omnizine")
reagents.add_reagent("[extra_reagent]", 3)
if(prob(30))
icon_state = "donut2"
+1 -1
View File
@@ -67,7 +67,7 @@
/obj/item/weapon/reagent_containers/food/snacks/soup/mystery/New()
..()
extra_reagent = pick("capsaicin", "frostoil", "omnizine", "banana", "blood", "slimejelly", "toxin", "banana", "carbon", "oculine")
extra_reagent = pick("capsaicin", "cryostylane", "omnizine", "banana", "blood", "slimejelly", "toxin", "banana", "carbon", "oculine")
reagents.add_reagent("[extra_reagent]", 5)
/obj/item/weapon/reagent_containers/food/snacks/soup/hotchili
@@ -6,7 +6,7 @@
/datum/table_recipe/chaosdonut
name = "Chaos donut"
reqs = list(
/datum/reagent/consumable/frostoil = 5,
/datum/reagent/cryostylane = 5,
/datum/reagent/consumable/capsaicin = 5,
/obj/item/weapon/reagent_containers/food/snacks/pastrybase = 1
)
+2 -2
View File
@@ -545,13 +545,13 @@
..()
reagents.add_reagent("nutriment", 1 + round((potency / 50), 1))
reagents.add_reagent("vitamin", 1 + round((potency / 50), 1))
reagents.add_reagent("frostoil", 3+round(potency / 5, 1))
reagents.add_reagent("cryostylane", 3+round(potency / 5, 1))
bitesize = 1 + round(reagents.total_volume / 2, 1)
/obj/item/weapon/reagent_containers/food/snacks/grown/icepepper/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
. = ..()
if (istype(O, /obj/item/device/analyzer/plant_analyzer))
user << "<span class='info'>- Frostoil: <i>[reagents.get_reagent_amount("frostoil")]%</i></span>"
user << "<span class='info'>- cryostylane: <i>[reagents.get_reagent_amount("cryostylane")]%</i></span>"
/obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili
@@ -90,7 +90,7 @@
if(reagents.has_reagent("morphine")) // morphine slows slimes down
tally *= 2
if(reagents.has_reagent("frostoil")) // Frostoil also makes them move VEEERRYYYYY slow
if(reagents.has_reagent("cryostylane")) // cryostylane also makes them move VEEERRYYYYY slow
tally *= 5
if(health <= 0) // if damaged, the slime moves twice as slow
@@ -23,7 +23,6 @@
/datum/reagent/clf3/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjust_fire_stacks(5)
M.IgniteMob()
M.adjustFireLoss(5*REM)
..()
return
@@ -268,4 +267,106 @@
if(C.ear_damage >= 15)
C << "<span class='warning'>Your ears start to ring badly!</span>"
else if(C.ear_damage >= 5)
C << "<span class='warning'>Your ears start to ring!</span>"
C << "<span class='warning'>Your ears start to ring!</span>"
/datum/reagent/phlogiston
name = "Phlogiston"
id = "phlogiston"
description = "+1 BURN, +1 BURNING and sets you alight. Don't be deceived by that meager +1, having phlogiston in the bloodstream can be very dangerous without a fire extinguisher or firebot. Even then, they can't prevent you from spontaneously igniting every cycle."
reagent_state = LIQUID
color = "#60A584" // rgb: 96, 165, 132
/datum/chemical_reaction/phlogiston
name = "phlogiston"
id = "phlogiston"
result = "phlogiston"
required_reagents = list("phosphorus" = 1, "sacid" = 1, "stable_plasma" = 1)
result_amount = 3
/datum/reagent/phlogiston/on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.adjust_fire_stacks(1)
M.IgniteMob()
M.adjustFireLoss(1*REM)
..()
return
datum/reagent/cryostylane
name = "Cryostylane"
id = "cryostylane"
description = "Comes into existence at 20K. As long as there is sufficient oxygen for it to react with, cryostylane slowly cools all other reagents in the mob down to 0K."
color = "#B31008" // rgb: 139, 166, 233
/datum/chemical_reaction/cryostylane
name = "cryostylane"
id = "cryostylane"
result = "cryostylane"
required_reagents = list("water" = 1, "stable_plasma" = 1, "nitrogen" = 1)
result_amount = 3
/datum/chemical_reaction/cryostylane/on_reaction(var/datum/reagents/holder, var/created_volume)
holder.chem_temp = 20 // cools the fuck down
return
datum/reagent/cryostylane/on_mob_life(var/mob/living/M as mob) //TODO: code freezing into an ice cube
if(M.reagents.has_reagent("oxygen"))
M.reagents.remove_reagent("oxygen", 1)
M.bodytemperature -= 30 * TEMPERATURE_DAMAGE_COEFFICIENT
..()
return
datum/reagent/cryostylane/reaction_turf(var/turf/simulated/T, var/volume)
if(volume >= 5)
for(var/mob/living/carbon/slime/M in T)
M.adjustToxLoss(rand(15,30))
datum/reagent/pyrosium
name = "Pyrosium"
id = "pyrosium"
description = "Comes into existence at 20K. As long as there is sufficient oxygen for it to react with, cryostylane slowly cools all other reagents in the mob down to 0K."
color = "#B31008" // rgb: 139, 166, 233
/datum/chemical_reaction/pyrosium
name = "pyrosium"
id = "pyrosium"
result = "pyrosium"
required_reagents = list("stable_plasma" = 1, "radium" = 1, "phosphorus" = 1)
result_amount = 3
/datum/chemical_reaction/pyrosium/on_reaction(var/datum/reagents/holder, var/created_volume)
holder.chem_temp = 20 // also cools the fuck down
return
datum/reagent/pyrosium/on_mob_life(var/mob/living/M as mob)
if(M.reagents.has_reagent("oxygen"))
M.reagents.remove_reagent("oxygen", 1)
M.bodytemperature += 30 * TEMPERATURE_DAMAGE_COEFFICIENT
..()
return
/datum/reagent/argine
name = "Argine"
id = "argine"
description = "Explodes when lowered to freezing temperatures."
reagent_state = LIQUID
color = "#000000" //rgb: 96, 165, 132
/datum/chemical_reaction/argine_explosion
name = "Argine Kaboom"
id = "argine_explosion"
result = null
required_reagents = list("argine" = 1)
result_amount = 1
required_temp = 474
mix_message = "<span class = 'userdanger'>Sparks start flying around the argine!</span>"
/datum/chemical_reaction/argine_explosion/on_reaction(var/datum/reagents/holder, var/created_volume)
sleep(rand(50,100))
var/turf/simulated/T = get_turf(holder.my_atom)
var/ex_severe = round(created_volume / 100)
var/ex_heavy = round(created_volume / 42)
var/ex_light = round(created_volume / 21)
var/ex_flash = round(created_volume / 8)
explosion(T,ex_severe,ex_heavy,ex_light,ex_flash, 1)
return
@@ -174,8 +174,8 @@ datum/reagent/consumable/coffee/on_mob_life(var/mob/living/M as mob)
if (M.bodytemperature < 310)//310 is the normal bodytemp. 310.055
M.bodytemperature = min(310, M.bodytemperature + (25 * TEMPERATURE_DAMAGE_COEFFICIENT))
M.Jitter(5)
if(holder.has_reagent("frostoil"))
holder.remove_reagent("frostoil", 5)
if(holder.has_reagent("cryostylane"))
holder.remove_reagent("cryostylane", 5)
..()
return
@@ -106,8 +106,8 @@ datum/reagent/consumable/capsaicin/on_mob_life(var/mob/living/M as mob)
switch(data)
if(1 to 15)
M.bodytemperature += 5 * TEMPERATURE_DAMAGE_COEFFICIENT
if(holder.has_reagent("frostoil"))
holder.remove_reagent("frostoil", 5)
if(holder.has_reagent("cryostylane"))
holder.remove_reagent("cryostylane", 5)
if(istype(M, /mob/living/carbon/slime))
M.bodytemperature += rand(5,20)
if(15 to 25)
@@ -196,42 +196,6 @@ datum/reagent/consumable/condensedcapsaicin/on_mob_life(var/mob/living/M as mob)
..()
return
datum/reagent/consumable/frostoil
name = "Frost Oil"
id = "frostoil"
description = "A special oil that noticably chills the body. Extraced from Icepeppers."
color = "#B31008" // rgb: 139, 166, 233
datum/reagent/consumable/frostoil/on_mob_life(var/mob/living/M as mob)
if(!data) data = 1
switch(data)
if(1 to 15)
M.bodytemperature -= 10 * TEMPERATURE_DAMAGE_COEFFICIENT
if(holder.has_reagent("capsaicin"))
holder.remove_reagent("capsaicin", 5)
if(istype(M, /mob/living/carbon/slime))
M.bodytemperature -= rand(5,20)
if(15 to 25)
M.bodytemperature -= 15 * TEMPERATURE_DAMAGE_COEFFICIENT
if(istype(M, /mob/living/carbon/slime))
M.bodytemperature -= rand(10,20)
if(25 to INFINITY)
M.bodytemperature -= 20 * TEMPERATURE_DAMAGE_COEFFICIENT
if(prob(1))
M.emote("shiver")
if(istype(M, /mob/living/carbon/slime))
M.bodytemperature -= rand(15,20)
data++
..()
return
datum/reagent/consumable/frostoil/reaction_turf(var/turf/simulated/T, var/volume)
if(volume >= 5)
for(var/mob/living/carbon/slime/M in T)
M.adjustToxLoss(rand(15,30))
//if(istype(T))
// T.atmos_spawn_air(SPAWN_COLD)
datum/reagent/consumable/sodiumchloride
name = "Table Salt"
id = "sodiumchloride"
+3 -3
View File
@@ -245,7 +245,7 @@ silicate
name = "Solid Plasma"
id = "solidplasma"
result = null
required_reagents = list("iron" = 5, "frostoil" = 5, "plasma" = 20)
required_reagents = list("iron" = 5, "cryostylane" = 5, "plasma" = 20)
result_amount = 1
mob_react = 1
@@ -616,8 +616,8 @@ datum/chemical_reaction/pestkiller
//Blue
/datum/chemical_reaction/slimefrost
name = "Slime Frost Oil"
id = "m_frostoil"
result = "frostoil"
id = "m_cryostylane"
result = "cryostylane"
required_reagents = list("plasma" = 1)
result_amount = 10
required_container = /obj/item/slime_extract/blue
@@ -99,11 +99,11 @@
icon_state = "bottle3"
list_reagents = list("capsaicin" = 30)
/obj/item/weapon/reagent_containers/glass/bottle/frostoil
/obj/item/weapon/reagent_containers/glass/bottle/cryostylane
name = "Frost Oil Bottle"
desc = "A small bottle. Contains cold sauce."
icon_state = "bottle17"
list_reagents = list("frostoil" = 30)
list_reagents = list("cryostylane" = 30)
/obj/item/weapon/reagent_containers/glass/bottle/traitor
name = "syndicate bottle"
+4 -4
View File
@@ -408,7 +408,7 @@
visible_message("<span class='notice'>[src]'s emergency coolant system gives off a small ding!</span>")
var/obj/machinery/vending/coffee/C = new /obj/machinery/vending/coffee(get_turf(pick(oview(1,src))))
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) //Ding! Your death coffee is ready!
chosenchem = pick("uranium","frostoil","ephedrine")
chosenchem = pick("uranium","cryostylane","ephedrine")
C.reagents.remove_any(25)
C.reagents.add_reagent(chosenchem , 50)
C.name = "Cup of Suspicious Liquid"
@@ -418,8 +418,8 @@
visible_message("<span class='notice'>[src] malfunctions, shattering [exp_on] and releasing a dangerous cloud of coolant!</span>")
var/datum/reagents/R = new/datum/reagents(50)
R.my_atom = src
R.add_reagent("frostoil" , 50)
investigate_log("Experimentor has released frostoil gas.", "experimentor")
R.add_reagent("cryostylane" , 50)
investigate_log("Experimentor has released cryostylane gas.", "experimentor")
var/datum/effect/effect/system/chem_smoke_spread/smoke = new
smoke.set_up(R, 1, 0, src, 0, silent = 1)
playsound(src.loc, 'sound/effects/smoke.ogg', 50, 1, -3)
@@ -720,4 +720,4 @@
/obj/item/weapon/relic/proc/warn_admins(var/mob/user, var/RelicType)
var/turf/T = get_turf(src)
message_admins("[RelicType] relic activated by [key_name(user, user.client)](<A HREF='?_src_=holder;adminmoreinfo=\ref[user]'>?</A>) in ([T.x],[T.y],[T.z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[T.x];Y=[T.y];Z=[T.z]'>JMP</a>)",0,1)
log_game("[RelicType] relic used by [user.ckey]([user]) in ([T.x],[T.y],[T.z])")
log_game("[RelicType] relic used by [user.ckey]([user]) in ([T.x],[T.y],[T.z])")