/tg/ 4/14 (#367)
* outside code stuff * defines, helpers, etc * everything not module * modules * compiled fixes + missing sounds
This commit is contained in:
@@ -261,7 +261,6 @@
|
||||
color = "#EFD65A"
|
||||
complementary_color = "#00E5B1"
|
||||
message_living = ", and you feel a horrible tingling sensation"
|
||||
var/datum/effect_system/spark_spread/spark_system = new/datum/effect_system/spark_spread()
|
||||
|
||||
/datum/reagent/blob/energized_jelly/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
|
||||
reac_volume = ..()
|
||||
@@ -272,8 +271,7 @@
|
||||
|
||||
/datum/reagent/blob/energized_jelly/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
|
||||
if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") && B.obj_integrity - damage <= 0 && prob(10))
|
||||
spark_system.set_up(rand(2, 4), 0, B)
|
||||
spark_system.start()
|
||||
do_sparks(rand(2, 4), FALSE, B)
|
||||
return ..()
|
||||
|
||||
/datum/reagent/blob/energized_jelly/tesla_reaction(obj/structure/blob/B, power)
|
||||
|
||||
@@ -216,9 +216,7 @@
|
||||
if(holder.has_reagent("stabilizing_agent"))
|
||||
return
|
||||
var/location = get_turf(holder.my_atom)
|
||||
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
|
||||
s.set_up(2, 1, location)
|
||||
s.start()
|
||||
do_sparks(2, TRUE, location)
|
||||
for(var/mob/living/carbon/C in get_hearers_in_view(created_volume/3, location))
|
||||
if(C.flash_act())
|
||||
if(get_dist(C, location) < 4)
|
||||
@@ -235,9 +233,7 @@
|
||||
|
||||
/datum/chemical_reaction/flash_powder_flash/on_reaction(datum/reagents/holder, created_volume)
|
||||
var/location = get_turf(holder.my_atom)
|
||||
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
|
||||
s.set_up(2, 1, location)
|
||||
s.start()
|
||||
do_sparks(2, TRUE, location)
|
||||
for(var/mob/living/carbon/C in get_hearers_in_view(created_volume/10, location))
|
||||
if(C.flash_act())
|
||||
if(get_dist(C, location) < 4)
|
||||
@@ -402,4 +398,4 @@
|
||||
required_reagents = list("nitrous_oxide" = 1)
|
||||
strengthdiv = 7
|
||||
required_temp = 575
|
||||
modifier = 1
|
||||
modifier = 1
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
|
||||
/datum/chemical_reaction/slime
|
||||
var/deletes_extract = TRUE
|
||||
|
||||
/datum/chemical_reaction/slime/on_reaction(datum/reagents/holder)
|
||||
delete_extract(holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
if(deletes_extract)
|
||||
delete_extract(holder)
|
||||
|
||||
/datum/chemical_reaction/slime/proc/delete_extract(datum/reagents/holder)
|
||||
var/obj/item/slime_extract/M = holder.my_atom
|
||||
@@ -19,12 +22,9 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimespawn/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/mob/living/simple_animal/slime/S
|
||||
S = new(get_turf(holder.my_atom), "grey")
|
||||
S.visible_message("<span class='danger'>Infused with plasma, the \
|
||||
core begins to quiver and grow, and soon a new baby slime \
|
||||
emerges from it!</span>")
|
||||
S.visible_message("<span class='danger'>Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!</span>")
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/slimeinaprov
|
||||
@@ -35,10 +35,6 @@
|
||||
required_other = 1
|
||||
required_container = /obj/item/slime_extract/grey
|
||||
|
||||
/datum/chemical_reaction/slime/slimeinaprov/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/slimemonkey
|
||||
name = "Slime Monkey"
|
||||
id = "m_monkey"
|
||||
@@ -47,10 +43,8 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimemonkey/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
for(var/i = 1, i <= 3, i++)
|
||||
var /obj/item/weapon/reagent_containers/food/snacks/monkeycube/M = new /obj/item/weapon/reagent_containers/food/snacks/monkeycube
|
||||
M.loc = get_turf(holder.my_atom)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/monkeycube(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
//Green
|
||||
@@ -62,10 +56,6 @@
|
||||
required_other = 1
|
||||
required_container = /obj/item/slime_extract/green
|
||||
|
||||
/datum/chemical_reaction/slime/slimemutate/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
..()
|
||||
|
||||
//Mutated Green
|
||||
/datum/chemical_reaction/slime/slimemutate_unstable
|
||||
name = "Unstable Mutation Toxin"
|
||||
@@ -76,10 +66,6 @@
|
||||
required_container = /obj/item/slime_extract/green
|
||||
mix_message = "<span class='info'>The mixture rapidly expands and contracts, its appearance shifting into a sickening green.</span>"
|
||||
|
||||
/datum/chemical_reaction/slime/slimemutate_unstable/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
..()
|
||||
|
||||
//Metal
|
||||
/datum/chemical_reaction/slime/slimemetal
|
||||
name = "Slime Metal"
|
||||
@@ -89,10 +75,9 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimemetal/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/turf/location = get_turf(holder.my_atom)
|
||||
new /obj/item/stack/sheet/plasteel (location, 5)
|
||||
new /obj/item/stack/sheet/metal (location, 15)
|
||||
new /obj/item/stack/sheet/plasteel(location, 5)
|
||||
new /obj/item/stack/sheet/metal(location, 15)
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/slimeglass
|
||||
@@ -103,60 +88,49 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimeglass/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/turf/location = get_turf(holder.my_atom)
|
||||
new /obj/item/stack/sheet/rglass (location, 5)
|
||||
new /obj/item/stack/sheet/glass (location, 15)
|
||||
new /obj/item/stack/sheet/rglass(location, 5)
|
||||
new /obj/item/stack/sheet/glass(location, 15)
|
||||
..()
|
||||
|
||||
//Gold
|
||||
/datum/chemical_reaction/slime/slimecrit
|
||||
/datum/chemical_reaction/slime/slimemobspawn
|
||||
name = "Slime Crit"
|
||||
id = "m_tele"
|
||||
required_reagents = list("plasma" = 1)
|
||||
required_container = /obj/item/slime_extract/gold
|
||||
required_other = 1
|
||||
deletes_extract = FALSE //we do delete, but we don't do so instantly
|
||||
|
||||
/datum/chemical_reaction/slime/slimecrit/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
/datum/chemical_reaction/slime/slimemobspawn/on_reaction(datum/reagents/holder)
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate violently !</span>")
|
||||
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 5, "Gold Slime"), 50)
|
||||
summon_mobs(T)
|
||||
var/obj/item/slime_extract/M = holder.my_atom
|
||||
deltimer(M.qdel_timer)
|
||||
..()
|
||||
M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE)
|
||||
|
||||
/datum/chemical_reaction/slime/slimecritlesser
|
||||
/datum/chemical_reaction/slime/slimemobspawn/proc/summon_mobs(datum/reagents/holder, turf/T)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate violently!</span>")
|
||||
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 5, "Gold Slime"), 50)
|
||||
|
||||
/datum/chemical_reaction/slime/slimemobspawn/lesser
|
||||
name = "Slime Crit Lesser"
|
||||
id = "m_tele3"
|
||||
required_reagents = list("blood" = 1)
|
||||
required_container = /obj/item/slime_extract/gold
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimecritlesser/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate violently !</span>")
|
||||
/datum/chemical_reaction/slime/slimemobspawn/lesser/summon_mobs(datum/reagents/holder, turf/T)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate violently!</span>")
|
||||
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 3, "Lesser Gold Slime", "neutral"), 50)
|
||||
var/obj/item/slime_extract/M = holder.my_atom
|
||||
deltimer(M.qdel_timer)
|
||||
M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE)
|
||||
|
||||
/datum/chemical_reaction/slime/slimecritfriendly
|
||||
/datum/chemical_reaction/slime/slimemobspawn/friendly
|
||||
name = "Slime Crit Friendly"
|
||||
id = "m_tele5"
|
||||
required_reagents = list("water" = 1)
|
||||
required_container = /obj/item/slime_extract/gold
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimecritfriendly/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate adorably !</span>")
|
||||
/datum/chemical_reaction/slime/slimemobspawn/friendly/summon_mobs(datum/reagents/holder, turf/T)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate adorably!</span>")
|
||||
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 1, "Friendly Gold Slime", "neutral"), 50)
|
||||
var/obj/item/slime_extract/M = holder.my_atom
|
||||
deltimer(M.qdel_timer)
|
||||
M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE)
|
||||
|
||||
//Silver
|
||||
/datum/chemical_reaction/slime/slimebork
|
||||
@@ -167,8 +141,24 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimebork/on_reaction(datum/reagents/holder)
|
||||
//BORK BORK BORK
|
||||
var/list/borks = getborks()
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
playsound(T, 'sound/effects/phasein.ogg', 100, 1)
|
||||
|
||||
for(var/mob/living/carbon/C in viewers(T, null))
|
||||
C.flash_act()
|
||||
|
||||
for(var/i in 1 to 4 + rand(1,2))
|
||||
var/chosen = pick(borks)
|
||||
var/obj/B = new chosen(T)
|
||||
if(prob(50))
|
||||
for(var/j in 1 to rand(1, 3))
|
||||
step(B, pick(NORTH,SOUTH,EAST,WEST))
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/slimebork/proc/getborks()
|
||||
var/list/blocked = list(/obj/item/weapon/reagent_containers/food/snacks,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/store/bread,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/breadslice,
|
||||
@@ -188,53 +178,15 @@
|
||||
)
|
||||
blocked |= typesof(/obj/item/weapon/reagent_containers/food/snacks/customizable)
|
||||
|
||||
var/list/borks = typesof(/obj/item/weapon/reagent_containers/food/snacks) - blocked
|
||||
// BORK BORK BORK
|
||||
return typesof(/obj/item/weapon/reagent_containers/food/snacks) - blocked
|
||||
|
||||
playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1)
|
||||
|
||||
for(var/mob/living/carbon/C in viewers(get_turf(holder.my_atom), null))
|
||||
C.flash_act()
|
||||
|
||||
for(var/i = 1, i <= 4 + rand(1,2), i++)
|
||||
var/chosen = pick(borks)
|
||||
var/obj/B = new chosen
|
||||
if(B)
|
||||
B.loc = get_turf(holder.my_atom)
|
||||
if(prob(50))
|
||||
for(var/j = 1, j <= rand(1, 3), j++)
|
||||
step(B, pick(NORTH,SOUTH,EAST,WEST))
|
||||
..()
|
||||
|
||||
|
||||
/datum/chemical_reaction/slime/slimebork2
|
||||
/datum/chemical_reaction/slime/slimebork/drinks
|
||||
name = "Slime Bork 2"
|
||||
id = "m_tele4"
|
||||
required_reagents = list("water" = 1)
|
||||
required_container = /obj/item/slime_extract/silver
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimebork2/on_reaction(datum/reagents/holder)
|
||||
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/list/borks = subtypesof(/obj/item/weapon/reagent_containers/food/drinks)
|
||||
// BORK BORK BORK
|
||||
|
||||
playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1)
|
||||
|
||||
for(var/mob/living/carbon/M in viewers(get_turf(holder.my_atom), null))
|
||||
M.flash_act()
|
||||
|
||||
for(var/i = 1, i <= 4 + rand(1,2), i++)
|
||||
var/chosen = pick(borks)
|
||||
var/obj/B = new chosen
|
||||
if(B)
|
||||
B.loc = get_turf(holder.my_atom)
|
||||
if(prob(50))
|
||||
for(var/j = 1, j <= rand(1, 3), j++)
|
||||
step(B, pick(NORTH,SOUTH,EAST,WEST))
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/slimebork/drinks/getborks()
|
||||
return subtypesof(/obj/item/weapon/reagent_containers/food/drinks)
|
||||
|
||||
//Blue
|
||||
/datum/chemical_reaction/slime/slimefrost
|
||||
@@ -245,11 +197,6 @@
|
||||
required_container = /obj/item/slime_extract/blue
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimefrost/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
..()
|
||||
|
||||
|
||||
/datum/chemical_reaction/slime/slimestabilizer
|
||||
name = "Slime Stabilizer"
|
||||
id = "m_slimestabilizer"
|
||||
@@ -258,12 +205,9 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimestabilizer/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/slimepotion/stabilizer/P = new /obj/item/slimepotion/stabilizer
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/slimepotion/stabilizer(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
|
||||
/datum/chemical_reaction/slime/slimefoam
|
||||
name = "Slime Foam"
|
||||
id = "m_foam"
|
||||
@@ -272,11 +216,6 @@
|
||||
required_container = /obj/item/slime_extract/blue
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimefoam/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
..()
|
||||
|
||||
|
||||
//Dark Blue
|
||||
/datum/chemical_reaction/slime/slimefreeze
|
||||
name = "Slime Freeze"
|
||||
@@ -286,12 +225,12 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimefreeze/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate adorably!</span>")
|
||||
addtimer(CALLBACK(src, .proc/freeze, holder), 50)
|
||||
var/obj/item/slime_extract/M = holder.my_atom
|
||||
deltimer(M.qdel_timer)
|
||||
..()
|
||||
M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE)
|
||||
|
||||
/datum/chemical_reaction/slime/slimefreeze/proc/freeze(datum/reagents/holder)
|
||||
@@ -300,8 +239,6 @@
|
||||
if(istype(T))
|
||||
T.atmos_spawn_air("freon=50;TEMP=120")
|
||||
|
||||
|
||||
|
||||
/datum/chemical_reaction/slime/slimefireproof
|
||||
name = "Slime Fireproof"
|
||||
id = "m_fireproof"
|
||||
@@ -310,9 +247,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimefireproof/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/slimepotion/fireproof/P = new /obj/item/slimepotion/fireproof
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/slimepotion/fireproof(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
//Orange
|
||||
@@ -324,24 +259,21 @@
|
||||
required_container = /obj/item/slime_extract/orange
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimecasp/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/slimefire
|
||||
name = "Slime fire"
|
||||
id = "m_fire"
|
||||
required_reagents = list("plasma" = 1)
|
||||
required_container = /obj/item/slime_extract/orange
|
||||
required_other = 1
|
||||
deletes_extract = FALSE
|
||||
|
||||
/datum/chemical_reaction/slime/slimefire/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/turf/TU = get_turf(holder.my_atom)
|
||||
TU.visible_message("<span class='danger'>The slime extract begins to vibrate adorably!</span>")
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
T.visible_message("<span class='danger'>The slime extract begins to vibrate adorably!</span>")
|
||||
addtimer(CALLBACK(src, .proc/slime_burn, holder), 50)
|
||||
var/obj/item/slime_extract/M = holder.my_atom
|
||||
deltimer(M.qdel_timer)
|
||||
..()
|
||||
M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE)
|
||||
|
||||
/datum/chemical_reaction/slime/slimefire/proc/slime_burn(datum/reagents/holder)
|
||||
@@ -359,12 +291,7 @@
|
||||
required_container = /obj/item/slime_extract/orange
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimesmoke/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
..()
|
||||
|
||||
//Yellow
|
||||
|
||||
/datum/chemical_reaction/slime/slimeoverload
|
||||
name = "Slime EMP"
|
||||
id = "m_emp"
|
||||
@@ -373,11 +300,9 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimeoverload/on_reaction(datum/reagents/holder, created_volume)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
empulse(get_turf(holder.my_atom), 3, 7)
|
||||
..()
|
||||
|
||||
|
||||
/datum/chemical_reaction/slime/slimecell
|
||||
name = "Slime Powercell"
|
||||
id = "m_cell"
|
||||
@@ -386,9 +311,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimecell/on_reaction(datum/reagents/holder, created_volume)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/weapon/stock_parts/cell/high/slime/P = new /obj/item/weapon/stock_parts/cell/high/slime
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/weapon/stock_parts/cell/high/slime(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/slimeglow
|
||||
@@ -399,15 +322,12 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimeglow/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
T.visible_message("<span class='danger'>The slime begins to emit a soft light. Squeezing it will cause it to grow brightly.</span>")
|
||||
var/obj/item/device/flashlight/slime/F = new /obj/item/device/flashlight/slime
|
||||
F.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/device/flashlight/slime(T)
|
||||
..()
|
||||
|
||||
//Purple
|
||||
|
||||
/datum/chemical_reaction/slime/slimepsteroid
|
||||
name = "Slime Steroid"
|
||||
id = "m_steroid"
|
||||
@@ -416,9 +336,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimepsteroid/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/slimepotion/steroid/P = new /obj/item/slimepotion/steroid
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/slimepotion/steroid(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/slimejam
|
||||
@@ -429,11 +347,6 @@
|
||||
required_container = /obj/item/slime_extract/purple
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimejam/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
..()
|
||||
|
||||
|
||||
//Dark Purple
|
||||
/datum/chemical_reaction/slime/slimeplasma
|
||||
name = "Slime Plasma"
|
||||
@@ -443,9 +356,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimeplasma/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/turf/location = get_turf(holder.my_atom)
|
||||
new /obj/item/stack/sheet/mineral/plasma (location, 3)
|
||||
new /obj/item/stack/sheet/mineral/plasma(get_turf(holder.my_atom), 3)
|
||||
..()
|
||||
|
||||
//Red
|
||||
@@ -458,9 +369,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimemutator/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/slimepotion/mutator/P = new /obj/item/slimepotion/mutator
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/slimepotion/mutator(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/slimebloodlust
|
||||
@@ -471,13 +380,11 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimebloodlust/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
for(var/mob/living/simple_animal/slime/slime in viewers(get_turf(holder.my_atom), null))
|
||||
slime.rabid = 1
|
||||
slime.visible_message("<span class='danger'>The [slime] is driven into a frenzy!</span>")
|
||||
..()
|
||||
|
||||
|
||||
/datum/chemical_reaction/slime/slimespeed
|
||||
name = "Slime Speed"
|
||||
id = "m_speed"
|
||||
@@ -486,12 +393,9 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimespeed/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/slimepotion/speed/P = new /obj/item/slimepotion/speed
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/slimepotion/speed(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
|
||||
//Pink
|
||||
/datum/chemical_reaction/slime/docility
|
||||
name = "Docility Potion"
|
||||
@@ -501,9 +405,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/docility/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/slimepotion/docility/P = new /obj/item/slimepotion/docility
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/slimepotion/docility(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/gender
|
||||
@@ -514,9 +416,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/gender/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/slimepotion/genderchange/G = new /obj/item/slimepotion/genderchange
|
||||
G.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/slimepotion/genderchange(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
//Black
|
||||
@@ -528,10 +428,6 @@
|
||||
required_other = 1
|
||||
required_container = /obj/item/slime_extract/black
|
||||
|
||||
/datum/chemical_reaction/slime/slimemutate2/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
..()
|
||||
|
||||
//Oil
|
||||
/datum/chemical_reaction/slime/slimeexplosion
|
||||
name = "Slime Explosion"
|
||||
@@ -539,9 +435,9 @@
|
||||
required_reagents = list("plasma" = 1)
|
||||
required_container = /obj/item/slime_extract/oil
|
||||
required_other = 1
|
||||
deletes_extract = FALSE
|
||||
|
||||
/datum/chemical_reaction/slime/slimeexplosion/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
var/lastkey = holder.my_atom.fingerprintslast
|
||||
var/touch_msg = "N/A"
|
||||
@@ -554,6 +450,7 @@
|
||||
addtimer(CALLBACK(src, .proc/boom, holder), 50)
|
||||
var/obj/item/slime_extract/M = holder.my_atom
|
||||
deltimer(M.qdel_timer)
|
||||
..()
|
||||
M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE)
|
||||
|
||||
/datum/chemical_reaction/slime/slimeexplosion/proc/boom(datum/reagents/holder)
|
||||
@@ -569,10 +466,6 @@
|
||||
required_container = /obj/item/slime_extract/oil
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimecornoil/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
..()
|
||||
|
||||
//Light Pink
|
||||
/datum/chemical_reaction/slime/slimepotion2
|
||||
name = "Slime Potion 2"
|
||||
@@ -582,9 +475,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimepotion2/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/slimepotion/sentience/P = new /obj/item/slimepotion/sentience
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/slimepotion/sentience
|
||||
..()
|
||||
|
||||
//Adamantine
|
||||
@@ -596,10 +487,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimegolem/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/effect/golemrune/Z = new /obj/effect/golemrune
|
||||
Z.loc = get_turf(holder.my_atom)
|
||||
notify_ghosts("Golem rune created in [get_area(Z)].", 'sound/effects/ghost2.ogg', source = Z)
|
||||
new /obj/effect/golemrune(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/slimegolem2
|
||||
@@ -610,9 +498,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimegolem2/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/golem_shell/artificial/Z = new /obj/item/golem_shell/artificial
|
||||
Z.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/golem_shell/artificial(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
//Bluespace
|
||||
@@ -624,10 +510,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimefloor2/on_reaction(datum/reagents/holder, created_volume)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/stack/tile/bluespace/P = new /obj/item/stack/tile/bluespace
|
||||
P.amount = 25
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/stack/tile/bluespace(get_turf(holder.my_atom), 25)
|
||||
..()
|
||||
|
||||
|
||||
@@ -639,10 +522,8 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimecrystal/on_reaction(datum/reagents/holder, created_volume)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
if(holder.my_atom)
|
||||
var/obj/item/weapon/ore/bluespace_crystal/BC = new(get_turf(holder.my_atom))
|
||||
BC.visible_message("<span class='notice'>The [BC.name] appears out of thin air!</span>")
|
||||
var/obj/item/weapon/ore/bluespace_crystal/BC = new (get_turf(holder.my_atom))
|
||||
BC.visible_message("<span class='notice'>The [BC.name] appears out of thin air!</span>")
|
||||
..()
|
||||
|
||||
//Cerulean
|
||||
@@ -654,12 +535,9 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimepsteroid2/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/slimepotion/enhancer/P = new /obj/item/slimepotion/enhancer
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/slimepotion/enhancer(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
|
||||
/datum/chemical_reaction/slime/slime_territory
|
||||
name = "Slime Territory"
|
||||
id = "s_territory"
|
||||
@@ -668,9 +546,7 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slime_territory/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/areaeditor/blueprints/slime/P = new /obj/item/areaeditor/blueprints/slime
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/areaeditor/blueprints/slime(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
//Sepia
|
||||
@@ -682,15 +558,12 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimestop/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/mob/mob = get_mob_by_key(holder.my_atom.fingerprintslast)
|
||||
var/obj/effect/timestop/T = new /obj/effect/timestop
|
||||
T.loc = get_turf(holder.my_atom)
|
||||
T.immune += mob
|
||||
T.forceMove(get_turf(holder.my_atom))
|
||||
T.immune += get_mob_by_key(holder.my_atom.fingerprintslast)
|
||||
T.timestop()
|
||||
..()
|
||||
|
||||
|
||||
/datum/chemical_reaction/slime/slimecamera
|
||||
name = "Slime Camera"
|
||||
id = "m_camera"
|
||||
@@ -699,11 +572,8 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimecamera/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/device/camera/P = new /obj/item/device/camera
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
var/obj/item/device/camera_film/Z = new /obj/item/device/camera_film
|
||||
Z.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/device/camera(get_turf(holder.my_atom))
|
||||
new /obj/item/device/camera_film(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/slimefloor
|
||||
@@ -714,16 +584,10 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimefloor/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/stack/tile/sepia/P = new /obj/item/stack/tile/sepia
|
||||
P.amount = 25
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/stack/tile/sepia(get_turf(holder.my_atom), 25)
|
||||
..()
|
||||
|
||||
|
||||
//Pyrite
|
||||
|
||||
|
||||
/datum/chemical_reaction/slime/slimepaint
|
||||
name = "Slime Paint"
|
||||
id = "s_paint"
|
||||
@@ -732,15 +596,10 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimepaint/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/list/paints = subtypesof(/obj/item/weapon/paint)
|
||||
var/chosen = pick(paints)
|
||||
var/obj/P = new chosen
|
||||
if(P)
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
var/chosen = pick(subtypesof(/obj/item/weapon/paint))
|
||||
new chosen(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
|
||||
/datum/chemical_reaction/slime/slimecrayon
|
||||
name = "Slime Crayon"
|
||||
id = "s_crayon"
|
||||
@@ -749,12 +608,8 @@
|
||||
required_other = 1
|
||||
|
||||
/datum/chemical_reaction/slime/slimecrayon/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/list/crayons = difflist(subtypesof(/obj/item/toy/crayon),typesof(/obj/item/toy/crayon/spraycan))
|
||||
var/chosen = pick(crayons)
|
||||
var/obj/P = new chosen
|
||||
if(P)
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
var/chosen = pick(difflist(subtypesof(/obj/item/toy/crayon),typesof(/obj/item/toy/crayon/spraycan)))
|
||||
new chosen(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
//Rainbow :o)
|
||||
@@ -766,12 +621,8 @@
|
||||
required_container = /obj/item/slime_extract/rainbow
|
||||
|
||||
/datum/chemical_reaction/slime/slimeRNG/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/mob/living/simple_animal/slime/random/S
|
||||
S = new(get_turf(holder.my_atom))
|
||||
S.visible_message("<span class='danger'>Infused with plasma, the \
|
||||
core begins to quiver and grow, and soon a new baby slime emerges \
|
||||
from it!</span>")
|
||||
var/mob/living/simple_animal/slime/random/S = new (get_turf(holder.my_atom))
|
||||
S.visible_message("<span class='danger'>Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!</span>")
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/slime_transfer
|
||||
@@ -782,9 +633,7 @@
|
||||
required_container = /obj/item/slime_extract/rainbow
|
||||
|
||||
/datum/chemical_reaction/slime/slime_transfer/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
var/obj/item/slimepotion/transference/P = new /obj/item/slimepotion/transference
|
||||
P.loc = get_turf(holder.my_atom)
|
||||
new /obj/item/slimepotion/transference(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
/datum/chemical_reaction/slime/flight_potion
|
||||
@@ -795,7 +644,6 @@
|
||||
required_container = /obj/item/slime_extract/rainbow
|
||||
|
||||
/datum/chemical_reaction/slime/flight_potion/on_reaction(datum/reagents/holder)
|
||||
feedback_add_details("slime_cores_used","[type]")
|
||||
new/obj/item/weapon/reagent_containers/glass/bottle/potion/flight(get_turf(holder.my_atom))
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/potion/flight(get_turf(holder.my_atom))
|
||||
..()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user