merge conflicts + getting rid of commented code for now

This commit is contained in:
Seris02
2020-01-21 11:23:33 +08:00
26 changed files with 283 additions and 207 deletions
@@ -174,7 +174,7 @@
if(!GlandTest)
say("Experimental dissection not detected!")
return "<span class='bad'>No glands detected!</span>"
if(H.mind != null && H.ckey != null)
if(H.mind != null && (H.voluntary_ghosted || (H.ckey != null)))
LAZYINITLIST(abductee_minds)
LAZYADD(history, H)
LAZYADD(abductee_minds, H.mind)
+2 -8
View File
@@ -20,15 +20,9 @@
/datum/supply_pack/engineering/conveyor
name = "Conveyor Assembly Crate"
desc = "Keep production moving along with six conveyor belts. Conveyor switch included. If you have any questions, check out the enclosed instruction book."
desc = "Keep production moving along with fifteen conveyor belts. Conveyor switch included. If you have any questions, check out the enclosed instruction book."
cost = 750
contains = list(/obj/item/conveyor_construct,
/obj/item/conveyor_construct,
/obj/item/conveyor_construct,
/obj/item/conveyor_construct,
/obj/item/conveyor_construct,
/obj/item/conveyor_construct,
/obj/item/conveyor_switch_construct,
contains = list(/obj/item/stack/conveyor/fifteen,
/obj/item/paper/guides/conveyor)
crate_name = "conveyor assembly crate"
@@ -15,9 +15,9 @@
required_catalysts = list(/datum/reagent/consumable/enzyme = 5)
mob_react = FALSE
/datum/chemical_reaction/tofu/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/tofu/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
for(var/i = 1, i <= multiplier, i++)
new /obj/item/reagent_containers/food/snacks/tofu(location)
return
@@ -26,9 +26,9 @@
id = "chocolate_bar"
required_reagents = list(/datum/reagent/consumable/soymilk = 2, /datum/reagent/consumable/coco = 2, /datum/reagent/consumable/sugar = 2)
/datum/chemical_reaction/chocolate_bar/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/chocolate_bar/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
for(var/i = 1, i <= multiplier, i++)
new /obj/item/reagent_containers/food/snacks/chocolatebar(location)
return
@@ -39,9 +39,9 @@
required_reagents = list(/datum/reagent/consumable/milk/chocolate_milk = 4, /datum/reagent/consumable/sugar = 2)
mob_react = FALSE
/datum/chemical_reaction/chocolate_bar2/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/chocolate_bar2/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
for(var/i = 1, i <= multiplier, i++)
new /obj/item/reagent_containers/food/snacks/chocolatebar(location)
return
@@ -90,9 +90,9 @@
required_reagents = list(/datum/reagent/consumable/milk = 40)
required_catalysts = list(/datum/reagent/consumable/enzyme = 5)
/datum/chemical_reaction/cheesewheel/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/cheesewheel/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
for(var/i = 1, i <= multiplier, i++)
new /obj/item/reagent_containers/food/snacks/store/cheesewheel(location)
/datum/chemical_reaction/synthmeat
@@ -101,9 +101,9 @@
required_reagents = list(/datum/reagent/blood = 5, /datum/reagent/medicine/cryoxadone = 1)
mob_react = FALSE
/datum/chemical_reaction/synthmeat/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/synthmeat/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
for(var/i = 1, i <= multiplier, i++)
new /obj/item/reagent_containers/food/snacks/meat/slab/synthmeat(location)
/datum/chemical_reaction/hot_ramen
@@ -137,9 +137,9 @@
required_reagents = list(/datum/reagent/water = 10, /datum/reagent/consumable/flour = 15)
mix_message = "The ingredients form a dough."
/datum/chemical_reaction/dough/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/dough/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
for(var/i = 1, i <= multiplier, i++)
new /obj/item/reagent_containers/food/snacks/dough(location)
/datum/chemical_reaction/cakebatter
@@ -148,9 +148,9 @@
required_reagents = list(/datum/reagent/consumable/eggyolk = 15, /datum/reagent/consumable/flour = 15, /datum/reagent/consumable/sugar = 5)
mix_message = "The ingredients form a cake batter."
/datum/chemical_reaction/cakebatter/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/cakebatter/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
for(var/i = 1, i <= multiplier, i++)
new /obj/item/reagent_containers/food/snacks/cakebatter(location)
/datum/chemical_reaction/cakebatter/vegan
+6 -5
View File
@@ -260,8 +260,9 @@ Transfer_mind is there to check if mob is being deleted/not going to have a body
Works together with spawning an observer, noted above.
*/
/mob/proc/ghostize(can_reenter_corpse = TRUE, special = FALSE, penalize = FALSE)
/mob/proc/ghostize(can_reenter_corpse = TRUE, special = FALSE, penalize = FALSE, voluntary = FALSE)
penalize = suiciding || penalize // suicide squad.
voluntary_ghosted = voluntary
if(!key || cmptext(copytext(key,1,2),"@") || (SEND_SIGNAL(src, COMSIG_MOB_GHOSTIZE, can_reenter_corpse, special, penalize) & COMPONENT_BLOCK_GHOSTING))
return //mob has no key, is an aghost or some component hijacked.
stop_sound_channel(CHANNEL_HEARTBEAT) //Stop heartbeat sounds because You Are A Ghost Now
@@ -285,9 +286,6 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
set name = "Ghost"
set desc = "Relinquish your life and enter the land of the dead."
if(SEND_SIGNAL(src, COMSIG_MOB_GHOSTIZE, (stat == DEAD) ? TRUE : FALSE, FALSE) & COMPONENT_BLOCK_GHOSTING)
return
var/penalty = CONFIG_GET(number/suicide_reenter_round_timer) MINUTES
var/roundstart_quit_limit = CONFIG_GET(number/roundstart_suicide_time_limit) MINUTES
if(world.time < roundstart_quit_limit)
@@ -295,6 +293,9 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(penalty + world.realtime - SSshuttle.realtimeofstart > SSshuttle.auto_call + SSshuttle.emergencyCallTime + SSshuttle.emergencyDockTime + SSshuttle.emergencyEscapeTime)
penalty = CANT_REENTER_ROUND
if(SEND_SIGNAL(src, COMSIG_MOB_GHOSTIZE, (stat == DEAD) ? TRUE : FALSE, FALSE, (stat == DEAD)? penalty : 0, (stat == DEAD)? TRUE : FALSE) & COMPONENT_BLOCK_GHOSTING)
return
if(stat != DEAD)
succumb()
if(stat == DEAD)
@@ -307,7 +308,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
var/obj/machinery/cryopod/C = loc
C.despawn_occupant()
else
ghostize(0, penalize = TRUE) //0 parameter is so we can never re-enter our body, "Charlie, you can never come baaaack~" :3
ghostize(0, penalize = TRUE, voluntary = TRUE) //0 parameter is so we can never re-enter our body, "Charlie, you can never come baaaack~" :3
suicide_log(TRUE)
/mob/camera/verb/ghost()
+4 -1
View File
@@ -120,5 +120,8 @@
var/registered_z
var/mob/audiovisual_redirect //Mob to redirect messages, speech, and sounds to
var/siliconaccessareas = list()
var/siliconaccesstoggle = FALSE
var/siliconaccesstoggle = FALSE
var/voluntary_ghosted = FALSE //whether or not they voluntarily ghosted.
+1 -1
View File
@@ -36,7 +36,7 @@
var/PurityMin = 0.15 //If purity is below 0.15, it explodes too. Set to 0 to disable this.
/datum/chemical_reaction/proc/on_reaction(datum/reagents/holder, created_volume, specialreact)
/datum/chemical_reaction/proc/on_reaction(datum/reagents/holder, multiplier, specialreact)
return
//I recommend you set the result amount to the total volume of all components.
@@ -53,9 +53,9 @@
required_reagents = list(/datum/reagent/iron = 5, /datum/reagent/consumable/frostoil = 5, /datum/reagent/toxin/plasma = 20)
mob_react = FALSE
/datum/chemical_reaction/plasmasolidification/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/plasmasolidification/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
for(var/i = 1, i <= multiplier, i++)
new /obj/item/stack/sheet/mineral/plasma(location)
/datum/chemical_reaction/goldsolidification
@@ -64,9 +64,9 @@
required_reagents = list(/datum/reagent/consumable/frostoil = 5, /datum/reagent/gold = 20, /datum/reagent/iron = 1)
mob_react = FALSE
/datum/chemical_reaction/goldsolidification/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/goldsolidification/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
for(var/i = 1, i <= multiplier, i++)
new /obj/item/stack/sheet/mineral/gold(location)
/datum/chemical_reaction/capsaicincondensation
@@ -88,9 +88,9 @@
results = list(/datum/reagent/consumable/mustard = 5)
required_reagents = list(/datum/reagent/mustardgrind = 1, /datum/reagent/water = 10, /datum/reagent/consumable/enzyme= 1)
/datum/chemical_reaction/soapification/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/soapification/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
for(var/i = 1, i <= multiplier, i++)
new /obj/item/soap/homemade(location)
/datum/chemical_reaction/candlefication
@@ -100,9 +100,9 @@
required_temp = 374
mob_react = FALSE
/datum/chemical_reaction/candlefication/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/candlefication/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
for(var/i = 1, i <= multiplier, i++)
new /obj/item/candle(location)
/datum/chemical_reaction/meatification
@@ -111,9 +111,9 @@
required_reagents = list(/datum/reagent/liquidgibs = 10, /datum/reagent/consumable/nutriment = 10, /datum/reagent/carbon = 10)
mob_react = FALSE
/datum/chemical_reaction/meatification/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/meatification/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i++)
for(var/i = 1, i <= multiplier, i++)
new /obj/item/reagent_containers/food/snacks/meat/slab/meatproduct(location)
return
@@ -146,9 +146,9 @@
mob_react = FALSE
required_temp = 300
/datum/chemical_reaction/fermis_plush/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/fermis_plush/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/i = 1, i <= created_volume, i+=10)
for(var/i = 1, i <= multiplier, i+=10)
new /obj/item/toy/plush/catgirl/fermis(location)
////////////////////////////////// VIROLOGY //////////////////////////////////////////
@@ -227,13 +227,13 @@
var/level_min = 1
var/level_max = 2
/datum/chemical_reaction/mix_virus/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/mix_virus/on_reaction(datum/reagents/holder, multiplier)
var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list
if(B && B.data)
var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"]
if(D)
for(var/i in 1 to min(created_volume, 5))
for(var/i in 1 to min(multiplier, 5))
D.Evolve(level_min, level_max)
/datum/chemical_reaction/mix_virus/mix_virus_2
@@ -330,12 +330,12 @@
required_reagents = list(/datum/reagent/medicine/synaptizine = 1)
required_catalysts = list(/datum/reagent/blood = 1)
/datum/chemical_reaction/mix_virus/rem_virus/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/mix_virus/rem_virus/on_reaction(datum/reagents/holder, multiplier)
var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list
if(B && B.data)
var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"]
if(D)
for(var/i in 1 to min(created_volume, 5))
for(var/i in 1 to min(multiplier, 5))
D.Devolve()
/datum/chemical_reaction/mix_virus/neuter_virus
@@ -344,12 +344,12 @@
required_reagents = list(/datum/reagent/toxin/formaldehyde = 1)
required_catalysts = list(/datum/reagent/blood = 1)
/datum/chemical_reaction/mix_virus/neuter_virus/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/mix_virus/neuter_virus/on_reaction(datum/reagents/holder, multiplier)
var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list
if(B && B.data)
var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"]
if(D)
for(var/i in 1 to min(created_volume, 5))
for(var/i in 1 to min(multiplier, 5))
D.Neuter()
////////////////////////////////// foam and foam precursor ///////////////////////////////////////////////////
@@ -367,12 +367,12 @@
required_reagents = list(/datum/reagent/fluorosurfactant = 1, /datum/reagent/water = 1)
mob_react = FALSE
/datum/chemical_reaction/foam/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/foam/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/mob/M in viewers(5, location))
to_chat(M, "<span class='danger'>The solution spews out foam!</span>")
var/datum/effect_system/foam_spread/s = new()
s.set_up(created_volume*2, location, holder)
s.set_up(multiplier*2, location, holder)
s.start()
holder.clear_reagents()
return
@@ -384,14 +384,14 @@
required_reagents = list(/datum/reagent/aluminium = 3, /datum/reagent/foaming_agent = 1, /datum/reagent/toxin/acid/fluacid = 1)
mob_react = FALSE
/datum/chemical_reaction/metalfoam/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/metalfoam/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/mob/M in viewers(5, location))
to_chat(M, "<span class='danger'>The solution spews out a metallic foam!</span>")
var/datum/effect_system/foam_spread/metal/s = new()
s.set_up(created_volume*5, location, holder, 1)
s.set_up(multiplier*5, location, holder, 1)
s.start()
holder.clear_reagents()
@@ -401,11 +401,11 @@
required_reagents = list(/datum/reagent/aluminium = 3, /datum/reagent/smart_foaming_agent = 1, /datum/reagent/toxin/acid/fluacid = 1)
mob_react = TRUE
/datum/chemical_reaction/smart_foam/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/smart_foam/on_reaction(datum/reagents/holder, multiplier)
var/turf/location = get_turf(holder.my_atom)
location.visible_message("<span class='danger'>The solution spews out metallic foam!</span>")
var/datum/effect_system/foam_spread/metal/smart/s = new()
s.set_up(created_volume * 5, location, holder, TRUE)
s.set_up(multiplier * 5, location, holder, TRUE)
s.start()
holder.clear_reagents()
@@ -415,12 +415,12 @@
required_reagents = list(/datum/reagent/iron = 3, /datum/reagent/foaming_agent = 1, /datum/reagent/toxin/acid/fluacid = 1)
mob_react = FALSE
/datum/chemical_reaction/ironfoam/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/ironfoam/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/mob/M in viewers(5, location))
to_chat(M, "<span class='danger'>The solution spews out a metallic foam!</span>")
var/datum/effect_system/foam_spread/metal/s = new()
s.set_up(created_volume*5, location, holder, 2)
s.set_up(multiplier*5, location, holder, 2)
s.start()
holder.clear_reagents()
@@ -521,8 +521,8 @@
required_reagents = list(/datum/reagent/medicine/strange_reagent = 1, /datum/reagent/medicine/synthflesh = 1, /datum/reagent/blood = 1)
required_temp = 374
/datum/chemical_reaction/life/on_reaction(datum/reagents/holder, created_volume)
chemical_mob_spawn(holder, rand(1, round(created_volume, 1)), "Life") // Lol.
/datum/chemical_reaction/life/on_reaction(datum/reagents/holder, multiplier)
chemical_mob_spawn(holder, rand(1, round(multiplier, 1)), "Life") // Lol.
//This is missing, I'm adding it back (see tgwiki). Not sure why we don't have it.
/datum/chemical_reaction/life_friendly
@@ -531,8 +531,8 @@
required_reagents = list(/datum/reagent/medicine/strange_reagent = 1, /datum/reagent/medicine/synthflesh = 1, /datum/reagent/consumable/sugar = 1)
required_temp = 374
/datum/chemical_reaction/life_friendly/on_reaction(datum/reagents/holder, created_volume)
chemical_mob_spawn(holder, rand(1, round(created_volume, 1)), "Life (friendly)", FRIENDLY_SPAWN) //Pray for cute cats
/datum/chemical_reaction/life_friendly/on_reaction(datum/reagents/holder, multiplier)
chemical_mob_spawn(holder, rand(1, round(multiplier, 1)), "Life (friendly)", FRIENDLY_SPAWN) //Pray for cute cats
/datum/chemical_reaction/corgium
name = "corgium"
@@ -540,9 +540,9 @@
required_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent = 1, /datum/reagent/medicine/strange_reagent = 1, /datum/reagent/blood = 1)
required_temp = 374
/datum/chemical_reaction/corgium/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/corgium/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/i = rand(1, created_volume), i <= created_volume, i++) // More lulz.
for(var/i = rand(1, multiplier), i <= multiplier, i++) // More lulz.
new /mob/living/simple_animal/pet/dog/corgi(location)
..()
@@ -600,9 +600,9 @@
required_reagents = list(/datum/reagent/oil = 5, /datum/reagent/toxin/acid = 2, /datum/reagent/ash = 3)
required_temp = 374 //lazily consistent with soap & other crafted objects generically created with heat.
/datum/chemical_reaction/plastic_polymers/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/plastic_polymers/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
for(var/i in 1 to created_volume)
for(var/i in 1 to multiplier)
new /obj/item/stack/sheet/plastic(location)
/datum/chemical_reaction/pax
@@ -5,7 +5,7 @@
var/modifier = 0
var/noexplosion = FALSE
/datum/chemical_reaction/reagent_explosion/on_reaction(datum/reagents/holder, created_volume, turf/override)
/datum/chemical_reaction/reagent_explosion/on_reaction(datum/reagents/holder, multiplier, turf/override)
if(!noexplosion)
var/turf/T = override || get_turf(holder.my_atom)
var/inside_msg
@@ -20,7 +20,7 @@
message_admins("Reagent explosion reaction occurred at [ADMIN_VERBOSEJMP(T)][inside_msg]. Last Fingerprint: [touch_msg].")
log_game("Reagent explosion reaction occurred at [AREACOORD(T)]. Last Fingerprint: [lastkey ? lastkey : "N/A"]." )
var/datum/effect_system/reagents_explosion/e = new()
e.set_up(modifier + round(created_volume/strengthdiv, 1), T, 0, 0)
e.set_up(modifier + round(multiplier/strengthdiv, 1), T, 0, 0)
e.start()
holder.clear_reagents()
@@ -32,10 +32,10 @@
required_reagents = list(/datum/reagent/glycerol = 1, /datum/reagent/toxin/acid/fluacid = 1, /datum/reagent/toxin/acid = 1)
strengthdiv = 2
/datum/chemical_reaction/reagent_explosion/nitroglycerin/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/reagent_explosion/nitroglycerin/on_reaction(datum/reagents/holder, multiplier)
if(holder.has_reagent(/datum/reagent/stabilizing_agent))
return
holder.remove_reagent(/datum/reagent/nitroglycerin, created_volume*2)
holder.remove_reagent(/datum/reagent/nitroglycerin, multiplier*2)
..()
/datum/chemical_reaction/reagent_explosion/nitroglycerin_explosion
@@ -57,10 +57,10 @@
id = "holyboom"
required_reagents = list(/datum/reagent/water/holywater = 1, /datum/reagent/potassium = 1)
/datum/chemical_reaction/reagent_explosion/potassium_explosion/holyboom/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/reagent_explosion/potassium_explosion/holyboom/on_reaction(datum/reagents/holder, multiplier)
var/turf/T = get_turf(holder.my_atom)
if(created_volume >= 150)
playsound(get_turf(holder.my_atom), 'sound/effects/pray.ogg', 80, 0, round(created_volume/48))
if(multiplier >= 150)
playsound(get_turf(holder.my_atom), 'sound/effects/pray.ogg', 80, 0, round(multiplier/48))
strengthdiv = 8
for(var/mob/living/simple_animal/revenant/R in get_hearers_in_view(7,get_turf(holder.my_atom)))
var/deity
@@ -73,13 +73,13 @@
R.reveal(100)
R.adjustHealth(50)
sleep(20)
for(var/mob/living/carbon/C in get_hearers_in_view(round(created_volume/48,1),get_turf(holder.my_atom)))
for(var/mob/living/carbon/C in get_hearers_in_view(round(multiplier/48,1),get_turf(holder.my_atom)))
if(iscultist(C))
to_chat(C, "<span class='userdanger'>The divine explosion sears you!</span>")
C.Knockdown(40)
C.adjust_fire_stacks(5)
C.IgniteMob()
..(holder, created_volume, T)
..(holder, multiplier, T)
/datum/chemical_reaction/blackpowder
@@ -97,9 +97,9 @@
modifier = 1
mix_message = "<span class='boldannounce'>Sparks start flying around the black powder!</span>"
/datum/chemical_reaction/reagent_explosion/blackpowder_explosion/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/reagent_explosion/blackpowder_explosion/on_reaction(datum/reagents/holder, multiplier)
var/turf/T = get_turf(holder.my_atom)
..(holder, created_volume, T)
..(holder, multiplier, T)
/datum/chemical_reaction/thermite
name = "Thermite"
@@ -112,11 +112,11 @@
id = "emp_pulse"
required_reagents = list(/datum/reagent/uranium = 1, /datum/reagent/iron = 1) // Yes, laugh, it's the best recipe I could think of that makes a little bit of sense
/datum/chemical_reaction/emp_pulse/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/emp_pulse/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
// 100 created volume = 4 heavy range & 7 light range. A few tiles smaller than traitor EMP grandes.
// 200 created volume = 8 heavy range & 14 light range. 4 tiles larger than traitor EMP grenades.
empulse(location, round(created_volume / 12), round(created_volume / 7), 1)
// 100 multiplier = 4 heavy range & 7 light range. A few tiles smaller than traitor EMP grandes.
// 200 multiplier = 8 heavy range & 14 light range. 4 tiles larger than traitor EMP grenades.
empulse(location, round(multiplier / 12), round(multiplier / 7), 1)
holder.clear_reagents()
@@ -125,9 +125,9 @@
id = "beesplosion"
required_reagents = list(/datum/reagent/consumable/honey = 1, /datum/reagent/medicine/strange_reagent = 1, /datum/reagent/radium = 1)
/datum/chemical_reaction/beesplosion/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/beesplosion/on_reaction(datum/reagents/holder, multiplier)
var/location = holder.my_atom.drop_location()
if(created_volume < 5)
if(multiplier < 5)
playsound(location,'sound/effects/sparks1.ogg', 100, TRUE)
else
playsound(location,'sound/creatures/bee.ogg', 100, TRUE)
@@ -137,7 +137,7 @@
if(required_reagents[R.type])
continue
beeagents += R
var/bee_amount = round(created_volume * 0.2)
var/bee_amount = round(multiplier * 0.2)
for(var/i in 1 to bee_amount)
var/mob/living/simple_animal/hostile/poison/bees/short/new_bee = new(location)
if(LAZYLEN(beeagents))
@@ -157,7 +157,7 @@
required_reagents = list(/datum/reagent/chlorine = 1, /datum/reagent/fluorine = 3)
required_temp = 424
/datum/chemical_reaction/clf3/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/clf3/on_reaction(datum/reagents/holder, multiplier)
var/turf/T = get_turf(holder.my_atom)
for(var/turf/turf in range(1,T))
new /obj/effect/hotspot(turf)
@@ -172,7 +172,7 @@
modifier = 1
mob_react = FALSE
/datum/chemical_reaction/reagent_explosion/methsplosion/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/reagent_explosion/methsplosion/on_reaction(datum/reagents/holder, multiplier)
var/turf/T = get_turf(holder.my_atom)
for(var/turf/turf in range(1,T))
new /obj/effect/hotspot(turf)
@@ -190,12 +190,12 @@
results = list(/datum/reagent/sorium = 4)
required_reagents = list(/datum/reagent/mercury = 1, /datum/reagent/oxygen = 1, /datum/reagent/nitrogen = 1, /datum/reagent/carbon = 1)
/datum/chemical_reaction/sorium/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/sorium/on_reaction(datum/reagents/holder, multiplier)
if(holder.has_reagent(/datum/reagent/stabilizing_agent))
return
holder.remove_reagent(/datum/reagent/sorium, created_volume*4)
holder.remove_reagent(/datum/reagent/sorium, multiplier*4)
var/turf/T = get_turf(holder.my_atom)
var/range = CLAMP(sqrt(created_volume*4), 1, 6)
var/range = CLAMP(sqrt(multiplier*4), 1, 6)
goonchem_vortex(T, 1, range)
/datum/chemical_reaction/sorium_vortex
@@ -204,9 +204,9 @@
required_reagents = list(/datum/reagent/sorium = 1)
required_temp = 474
/datum/chemical_reaction/sorium_vortex/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/sorium_vortex/on_reaction(datum/reagents/holder, multiplier)
var/turf/T = get_turf(holder.my_atom)
var/range = CLAMP(sqrt(created_volume), 1, 6)
var/range = CLAMP(sqrt(multiplier), 1, 6)
goonchem_vortex(T, 1, range)
/datum/chemical_reaction/liquid_dark_matter
@@ -215,12 +215,12 @@
results = list(/datum/reagent/liquid_dark_matter = 3)
required_reagents = list(/datum/reagent/stable_plasma = 1, /datum/reagent/radium = 1, /datum/reagent/carbon = 1)
/datum/chemical_reaction/liquid_dark_matter/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/liquid_dark_matter/on_reaction(datum/reagents/holder, multiplier)
if(holder.has_reagent(/datum/reagent/stabilizing_agent))
return
holder.remove_reagent(/datum/reagent/liquid_dark_matter, created_volume*3)
holder.remove_reagent(/datum/reagent/liquid_dark_matter, multiplier*3)
var/turf/T = get_turf(holder.my_atom)
var/range = CLAMP(sqrt(created_volume*3), 1, 6)
var/range = CLAMP(sqrt(multiplier*3), 1, 6)
goonchem_vortex(T, 0, range)
/datum/chemical_reaction/ldm_vortex
@@ -229,9 +229,9 @@
required_reagents = list(/datum/reagent/liquid_dark_matter = 1)
required_temp = 474
/datum/chemical_reaction/ldm_vortex/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/ldm_vortex/on_reaction(datum/reagents/holder, multiplier)
var/turf/T = get_turf(holder.my_atom)
var/range = CLAMP(sqrt(created_volume/2), 1, 6)
var/range = CLAMP(sqrt(multiplier/2), 1, 6)
goonchem_vortex(T, 0, range)
/datum/chemical_reaction/flash_powder
@@ -240,12 +240,12 @@
results = list(/datum/reagent/flash_powder = 3)
required_reagents = list(/datum/reagent/aluminium = 1, /datum/reagent/potassium = 1, /datum/reagent/sulfur = 1 )
/datum/chemical_reaction/flash_powder/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/flash_powder/on_reaction(datum/reagents/holder, multiplier)
if(holder.has_reagent(/datum/reagent/stabilizing_agent))
return
var/location = get_turf(holder.my_atom)
do_sparks(2, TRUE, location)
var/range = created_volume/3
var/range = multiplier/3
if(isatom(holder.my_atom))
var/atom/A = holder.my_atom
A.flash_lighting_fx(_range = (range + 2), _reset_lighting = FALSE)
@@ -255,7 +255,7 @@
C.Knockdown(60)
else
C.Stun(100)
holder.remove_reagent(/datum/reagent/flash_powder, created_volume*3)
holder.remove_reagent(/datum/reagent/flash_powder, multiplier*3)
/datum/chemical_reaction/flash_powder_flash
name = "Flash powder activation"
@@ -263,10 +263,10 @@
required_reagents = list(/datum/reagent/flash_powder = 1)
required_temp = 374
/datum/chemical_reaction/flash_powder_flash/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/flash_powder_flash/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
do_sparks(2, TRUE, location)
var/range = created_volume/10
var/range = multiplier/10
if(isatom(holder.my_atom))
var/atom/A = holder.my_atom
A.flash_lighting_fx(_range = (range + 2), _reset_lighting = FALSE)
@@ -283,11 +283,11 @@
results = list(/datum/reagent/smoke_powder = 3)
required_reagents = list(/datum/reagent/potassium = 1, /datum/reagent/consumable/sugar = 1, /datum/reagent/phosphorus = 1)
/datum/chemical_reaction/smoke_powder/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/smoke_powder/on_reaction(datum/reagents/holder, multiplier)
if(holder.has_reagent(/datum/reagent/stabilizing_agent))
return
holder.remove_reagent(/datum/reagent/smoke_powder, created_volume*3)
var/smoke_radius = round(sqrt(created_volume * 1.5), 1)
holder.remove_reagent(/datum/reagent/smoke_powder, multiplier*3)
var/smoke_radius = round(sqrt(multiplier * 1.5), 1)
var/location = get_turf(holder.my_atom)
var/datum/effect_system/smoke_spread/chem/S = new
S.attach(location)
@@ -305,9 +305,9 @@
required_temp = 374
mob_react = FALSE
/datum/chemical_reaction/smoke_powder_smoke/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/smoke_powder_smoke/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
var/smoke_radius = round(sqrt(created_volume / 2), 1)
var/smoke_radius = round(sqrt(multiplier / 2), 1)
var/datum/effect_system/smoke_spread/chem/S = new
S.attach(location)
playsound(location, 'sound/effects/smoke.ogg', 50, 1, -3)
@@ -323,13 +323,13 @@
results = list(/datum/reagent/sonic_powder = 3)
required_reagents = list(/datum/reagent/oxygen = 1, /datum/reagent/consumable/space_cola = 1, /datum/reagent/phosphorus = 1)
/datum/chemical_reaction/sonic_powder/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/sonic_powder/on_reaction(datum/reagents/holder, multiplier)
if(holder.has_reagent(/datum/reagent/stabilizing_agent))
return
holder.remove_reagent(/datum/reagent/sonic_powder, created_volume*3)
holder.remove_reagent(/datum/reagent/sonic_powder, multiplier*3)
var/location = get_turf(holder.my_atom)
playsound(location, 'sound/effects/bang.ogg', 25, 1)
for(var/mob/living/carbon/C in get_hearers_in_view(created_volume/3, location))
for(var/mob/living/carbon/C in get_hearers_in_view(multiplier/3, location))
C.soundbang_act(1, 100, rand(0, 5))
/datum/chemical_reaction/sonic_powder_deafen
@@ -338,10 +338,10 @@
required_reagents = list(/datum/reagent/sonic_powder = 1)
required_temp = 374
/datum/chemical_reaction/sonic_powder_deafen/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/sonic_powder_deafen/on_reaction(datum/reagents/holder, multiplier)
var/location = get_turf(holder.my_atom)
playsound(location, 'sound/effects/bang.ogg', 25, 1)
for(var/mob/living/carbon/C in get_hearers_in_view(created_volume/10, location))
for(var/mob/living/carbon/C in get_hearers_in_view(multiplier/10, location))
C.soundbang_act(1, 100, rand(0, 5))
/datum/chemical_reaction/phlogiston
@@ -350,12 +350,12 @@
results = list(/datum/reagent/phlogiston = 3)
required_reagents = list(/datum/reagent/phosphorus = 1, /datum/reagent/toxin/acid = 1, /datum/reagent/stable_plasma = 1)
/datum/chemical_reaction/phlogiston/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/phlogiston/on_reaction(datum/reagents/holder, multiplier)
if(holder.has_reagent(/datum/reagent/stabilizing_agent))
return
var/turf/open/T = get_turf(holder.my_atom)
if(istype(T))
T.atmos_spawn_air("plasma=[created_volume];TEMP=1000")
T.atmos_spawn_air("plasma=[multiplier];TEMP=1000")
holder.clear_reagents()
return
@@ -371,7 +371,7 @@
results = list(/datum/reagent/cryostylane = 3)
required_reagents = list(/datum/reagent/water = 1, /datum/reagent/stable_plasma = 1, /datum/reagent/nitrogen = 1)
/datum/chemical_reaction/cryostylane/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/cryostylane/on_reaction(datum/reagents/holder, multiplier)
holder.chem_temp = 20 // cools the fuck down
return
@@ -382,8 +382,8 @@
required_reagents = list(/datum/reagent/cryostylane = 1, /datum/reagent/oxygen = 1)
mob_react = FALSE
/datum/chemical_reaction/cryostylane_oxygen/on_reaction(datum/reagents/holder, created_volume)
holder.chem_temp = max(holder.chem_temp - 10*created_volume,0)
/datum/chemical_reaction/cryostylane_oxygen/on_reaction(datum/reagents/holder, multiplier)
holder.chem_temp = max(holder.chem_temp - 10*multiplier,0)
/datum/chemical_reaction/pyrosium_oxygen
name = "ephemeral pyrosium reaction"
@@ -392,8 +392,8 @@
required_reagents = list(/datum/reagent/pyrosium = 1, /datum/reagent/oxygen = 1)
mob_react = FALSE
/datum/chemical_reaction/pyrosium_oxygen/on_reaction(datum/reagents/holder, created_volume)
holder.chem_temp += 10*created_volume
/datum/chemical_reaction/pyrosium_oxygen/on_reaction(datum/reagents/holder, multiplier)
holder.chem_temp += 10*multiplier
/datum/chemical_reaction/pyrosium
name = "pyrosium"
@@ -401,7 +401,7 @@
results = list(/datum/reagent/pyrosium = 3)
required_reagents = list(/datum/reagent/stable_plasma = 1, /datum/reagent/radium = 1, /datum/reagent/phosphorus = 1)
/datum/chemical_reaction/pyrosium/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/pyrosium/on_reaction(datum/reagents/holder, multiplier)
holder.chem_temp = 20 // also cools the fuck down
return
@@ -431,20 +431,20 @@
mix_sound = 'sound/machines/defib_zap.ogg'
var/tesla_flags = TESLA_MOB_DAMAGE | TESLA_OBJ_DAMAGE | TESLA_MOB_STUN
/datum/chemical_reaction/reagent_explosion/teslium_lightning/on_reaction(datum/reagents/holder, created_volume)
var/T1 = created_volume * 20 //100 units : Zap 3 times, with powers 2000/5000/12000. Tesla revolvers have a power of 10000 for comparison.
var/T2 = created_volume * 50
var/T3 = created_volume * 120
/datum/chemical_reaction/reagent_explosion/teslium_lightning/on_reaction(datum/reagents/holder, multiplier)
var/T1 = multiplier * 20 //100 units : Zap 3 times, with powers 2000/5000/12000. Tesla revolvers have a power of 10000 for comparison.
var/T2 = multiplier * 50
var/T3 = multiplier * 120
sleep(5)
if(created_volume >= 75)
if(multiplier >= 75)
tesla_zap(holder.my_atom, 7, T1, tesla_flags)
playsound(holder.my_atom, 'sound/machines/defib_zap.ogg', 50, 1)
sleep(15)
if(created_volume >= 40)
if(multiplier >= 40)
tesla_zap(holder.my_atom, 7, T2, tesla_flags)
playsound(holder.my_atom, 'sound/machines/defib_zap.ogg', 50, 1)
sleep(15)
if(created_volume >= 10) //10 units minimum for lightning, 40 units for secondary blast, 75 units for tertiary blast.
if(multiplier >= 10) //10 units minimum for lightning, 40 units for secondary blast, 75 units for tertiary blast.
tesla_zap(holder.my_atom, 7, T3, tesla_flags)
playsound(holder.my_atom, 'sound/machines/defib_zap.ogg', 50, 1)
..()
@@ -490,7 +490,7 @@
else
return FALSE
/datum/chemical_reaction/reagent_explosion/lingblood/on_reaction(datum/reagents/holder, created_volume, specialreact)
/datum/chemical_reaction/reagent_explosion/lingblood/on_reaction(datum/reagents/holder, multiplier, specialreact)
if(specialreact >= 10)
return ..()
else
@@ -290,7 +290,7 @@
required_container = /obj/item/slime_extract/yellow
required_other = TRUE
/datum/chemical_reaction/slime/slimeoverload/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/slime/slimeoverload/on_reaction(datum/reagents/holder, multiplier)
empulse(get_turf(holder.my_atom), 3, 7)
..()
@@ -301,7 +301,7 @@
required_container = /obj/item/slime_extract/yellow
required_other = TRUE
/datum/chemical_reaction/slime/slimecell/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/slime/slimecell/on_reaction(datum/reagents/holder, multiplier)
new /obj/item/stock_parts/cell/high/slime(get_turf(holder.my_atom))
..()
@@ -505,7 +505,7 @@
required_container = /obj/item/slime_extract/bluespace
required_other = TRUE
/datum/chemical_reaction/slime/slimefloor2/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/slime/slimefloor2/on_reaction(datum/reagents/holder, multiplier)
new /obj/item/stack/tile/bluespace(get_turf(holder.my_atom), 25)
..()
@@ -517,7 +517,7 @@
required_container = /obj/item/slime_extract/bluespace
required_other = TRUE
/datum/chemical_reaction/slime/slimecrystal/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/slime/slimecrystal/on_reaction(datum/reagents/holder, multiplier)
var/obj/item/stack/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>")
..()
@@ -529,7 +529,7 @@
required_container = /obj/item/slime_extract/bluespace
required_other = TRUE
/datum/chemical_reaction/slime/slimeradio/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/slime/slimeradio/on_reaction(datum/reagents/holder, multiplier)
new /obj/item/slimepotion/slime/slimeradio(get_turf(holder.my_atom))
..()
@@ -626,8 +626,8 @@
required_other = TRUE
required_container = /obj/item/slime_extract/rainbow
/datum/chemical_reaction/slime/slimeRNG/on_reaction(datum/reagents/holder, created_volume)
if(created_volume >= 5)
/datum/chemical_reaction/slime/slimeRNG/on_reaction(datum/reagents/holder, multiplier)
if(multiplier >= 5)
var/obj/item/grenade/clusterbuster/slime/S = new (get_turf(holder.my_atom))
S.visible_message("<span class='danger'>Infused with plasma, the core begins to expand uncontrollably!</span>")
S.icon_state = "[S.base_state]_active"
@@ -646,7 +646,7 @@
required_other = TRUE
required_container = /obj/item/slime_extract/rainbow
/datum/chemical_reaction/slime/slimebomb/on_reaction(datum/reagents/holder, created_volume)
/datum/chemical_reaction/slime/slimebomb/on_reaction(datum/reagents/holder, multiplier)
var/obj/item/grenade/clusterbuster/slime/volatile/S = new (holder.my_atom.loc)
S.visible_message("<span class='danger'>Infused with slime jelly, the core begins to expand uncontrollably!</span>")
S.icon_state = "[S.base_state]_active"
+49 -33
View File
@@ -149,8 +149,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id)
"<span class='notice'>You struggle to pry up \the [src] with \the [I].</span>")
if(I.use_tool(src, user, 40, volume=40))
if(!(stat & BROKEN))
var/obj/item/conveyor_construct/C = new/obj/item/conveyor_construct(src.loc)
C.id = id
var/obj/item/stack/conveyor/C = new /obj/item/stack/conveyor(loc, 1, TRUE, id)
transfer_fingerprints_to(C)
to_chat(user, "<span class='notice'>You remove the conveyor belt.</span>")
qdel(src)
@@ -326,37 +325,6 @@ GLOBAL_LIST_EMPTY(conveyors_by_id)
if((dir == NORTH) || (dir == WEST))
invert_icon = TRUE
//
// CONVEYOR CONSTRUCTION STARTS HERE
//
/obj/item/conveyor_construct
icon = 'icons/obj/recycling.dmi'
icon_state = "conveyor_construct"
name = "conveyor belt assembly"
desc = "A conveyor belt assembly."
w_class = WEIGHT_CLASS_BULKY
var/id = "" //inherited by the belt
/obj/item/conveyor_construct/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/conveyor_switch_construct))
to_chat(user, "<span class='notice'>You link the switch to the conveyor belt assembly.</span>")
var/obj/item/conveyor_switch_construct/C = I
id = C.id
/obj/item/conveyor_construct/afterattack(atom/A, mob/user, proximity)
. = ..()
if(!proximity || user.stat || !isfloorturf(A) || istype(A, /area/shuttle))
return
var/cdir = get_dir(A, user)
if(A == user.loc)
to_chat(user, "<span class='notice'>You cannot place a conveyor belt under yourself.</span>")
return
var/obj/machinery/conveyor/C = new/obj/machinery/conveyor(A, cdir, id)
transfer_fingerprints_to(C)
qdel(src)
/obj/item/conveyor_switch_construct
name = "conveyor switch assembly"
desc = "A conveyor control switch assembly."
@@ -369,6 +337,11 @@ GLOBAL_LIST_EMPTY(conveyors_by_id)
. = ..()
id = "[rand()]" //this couldn't possibly go wrong
/obj/item/conveyor_switch_construct/attack_self(mob/user)
for(var/obj/item/stack/conveyor/C in view())
C.id = id
to_chat(user, "<span class='notice'>You have linked all nearby conveyor belt assemblies to this switch.</span>")
/obj/item/conveyor_switch_construct/afterattack(atom/A, mob/user, proximity)
. = ..()
if(!proximity || user.stat || !isfloorturf(A) || istype(A, /area/shuttle))
@@ -385,6 +358,49 @@ GLOBAL_LIST_EMPTY(conveyors_by_id)
transfer_fingerprints_to(NC)
qdel(src)
/obj/item/stack/conveyor
name = "conveyor belt assembly"
desc = "A conveyor belt assembly."
icon = 'icons/obj/recycling.dmi'
icon_state = "conveyor_construct"
max_amount = 30
singular_name = "conveyor belt"
w_class = WEIGHT_CLASS_BULKY
///id for linking
var/id = ""
/obj/item/stack/conveyor/Initialize(mapload, new_amount, merge = TRUE, _id)
. = ..()
id = _id
/obj/item/stack/conveyor/afterattack(atom/A, mob/user, proximity)
. = ..()
if(!proximity || user.stat || !isfloorturf(A) || istype(A, /area/shuttle))
return
var/cdir = get_dir(A, user)
if(A == user.loc)
to_chat(user, "<span class='warning'>You cannot place a conveyor belt under yourself!</span>")
return
var/obj/machinery/conveyor/C = new/obj/machinery/conveyor(A, cdir, id)
transfer_fingerprints_to(C)
use(1)
/obj/item/stack/conveyor/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/conveyor_switch_construct))
to_chat(user, "<span class='notice'>You link the switch to the conveyor belt assembly.</span>")
var/obj/item/conveyor_switch_construct/C = I
id = C.id
/obj/item/stack/conveyor/update_weight()
return FALSE
/obj/item/stack/conveyor/thirty
amount = 30
/obj/item/stack/conveyor/fifteen
amount = 15
/obj/item/paper/guides/conveyor
name = "paper- 'Nano-it-up U-build series, #9: Build your very own conveyor belt, in SPACE'"
info = "<h1>Congratulations!</h1><p>You are now the proud owner of the best conveyor set available for space mail order! We at Nano-it-up know you love to prepare your own structures without wasting time, so we have devised a special streamlined assembly procedure that puts all other mail-order products to shame!</p><p>Firstly, you need to link the conveyor switch assembly to each of the conveyor belt assemblies. After doing so, you simply need to install the belt assemblies onto the floor, et voila, belt built. Our special Nano-it-up smart switch will detected any linked assemblies as far as the eye can see! This convenience, you can only have it when you Nano-it-up. Stay nano!</p>"
@@ -87,9 +87,10 @@
name = "Conveyor Belt"
id = "conveyor_belt"
build_type = AUTOLATHE
materials = list(MAT_METAL = 5000)
build_path = /obj/item/conveyor_construct
materials = list(MAT_METAL = 3000)
build_path = /obj/item/stack/conveyor
category = list("initial", "Construction")
maxstack = 30
/datum/design/conveyor_switch
name = "Conveyor Belt Switch"
+2 -2
View File
@@ -80,7 +80,7 @@
display_name = "Advanced Biotechnology"
description = "Advanced Biotechnology"
prereq_ids = list("biotech")
design_ids = list("piercesyringe", "crewpinpointer", "smoke_machine", "plasmarefiller", "limbgrower", "meta_beaker", "healthanalyzer_advanced", "harvester", "holobarrier_med", "detective_scanner", "defibrillator_compact", "smartdartgun", "medicinalsmartdart", "pHmeter")
design_ids = list("piercesyringe", "crewpinpointer", "smoke_machine", "plasmarefiller", "limbgrower", "meta_beaker", "healthanalyzer_advanced", "harvester", "holobarrier_med", "defibrillator_compact", "smartdartgun", "medicinalsmartdart", "pHmeter")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
export_price = 5000
@@ -1117,7 +1117,7 @@
id = "advanced_illegal_ballistics"
display_name = "Advanced Non-Standard Ballistics"
description = "Ballistic ammunition for non-standard firearms. Usually the ones you don't have nor want to be involved with."
design_ids = list("10mm","10mmap","10mminc","10mmhp","sl357","pistolm9mm","m45","bolt_clip")
design_ids = list("10mm","10mmap","10mminc","10mmhp","sl357","sl357ap","pistolm9mm","m45","bolt_clip")
prereq_ids = list("ballistic_weapons","syndicate_basic","explosive_weapons")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 25000) //This gives sec lethal mags/clips for guns from traitors, space, or anything in between.
export_price = 7000