[MIRROR] Linter diagnostics + bans non-var relative pathing

This commit is contained in:
Chompstation Bot
2021-06-22 22:17:02 +00:00
parent 968067d0e7
commit fb343cec6c
351 changed files with 20094 additions and 11284 deletions

View File

@@ -1,108 +1,197 @@
/obj/item/weapon/reagent_containers/chem_disp_cartridge
small
volume = CARTRIDGE_VOLUME_SMALL
/obj/item/weapon/reagent_containers/chem_disp_cartridge/small
volume = CARTRIDGE_VOLUME_SMALL
medium
volume = CARTRIDGE_VOLUME_MEDIUM
/obj/item/weapon/reagent_containers/chem_disp_cartridge/medium
volume = CARTRIDGE_VOLUME_MEDIUM
// Multiple
water spawn_reagent = "water"
sugar spawn_reagent = "sugar"
// Multiple
/obj/item/weapon/reagent_containers/chem_disp_cartridge/water
spawn_reagent = "water"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar
spawn_reagent = "sugar"
// Chemistry
hydrogen spawn_reagent = "hydrogen"
lithium spawn_reagent = "lithium"
carbon spawn_reagent = "carbon"
nitrogen spawn_reagent = "nitrogen"
oxygen spawn_reagent = "oxygen"
fluorine spawn_reagent = "fluorine"
sodium spawn_reagent = "sodium"
aluminum spawn_reagent = "aluminum"
silicon spawn_reagent = "silicon"
phosphorus spawn_reagent = "phosphorus"
sulfur spawn_reagent = "sulfur"
chlorine spawn_reagent = "chlorine"
potassium spawn_reagent = "potassium"
iron spawn_reagent = "iron"
copper spawn_reagent = "copper"
mercury spawn_reagent = "mercury"
radium spawn_reagent = "radium"
ethanol spawn_reagent = "ethanol"
sacid spawn_reagent = "sacid"
tungsten spawn_reagent = "tungsten"
calcium spawn_reagent = "calcium"
// Chemistry
/obj/item/weapon/reagent_containers/chem_disp_cartridge/hydrogen
spawn_reagent = "hydrogen"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/lithium
spawn_reagent = "lithium"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/carbon
spawn_reagent = "carbon"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/nitrogen
spawn_reagent = "nitrogen"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/oxygen
spawn_reagent = "oxygen"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/fluorine
spawn_reagent = "fluorine"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/sodium
spawn_reagent = "sodium"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/aluminum
spawn_reagent = "aluminum"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/silicon
spawn_reagent = "silicon"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/phosphorus
spawn_reagent = "phosphorus"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/sulfur
spawn_reagent = "sulfur"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/chlorine
spawn_reagent = "chlorine"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/potassium
spawn_reagent = "potassium"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/iron
spawn_reagent = "iron"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/copper
spawn_reagent = "copper"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/mercury
spawn_reagent = "mercury"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/radium
spawn_reagent = "radium"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/ethanol
spawn_reagent = "ethanol"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/sacid
spawn_reagent = "sacid"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/tungsten
spawn_reagent = "tungsten"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/calcium
spawn_reagent = "calcium"
// Bar, alcoholic
beer spawn_reagent = "beer"
kahlua spawn_reagent = "kahlua"
whiskey spawn_reagent = "whiskey"
wine spawn_reagent = "wine"
vodka spawn_reagent = "vodka"
gin spawn_reagent = "gin"
rum spawn_reagent = "rum"
tequila spawn_reagent = "tequilla"
vermouth spawn_reagent = "vermouth"
cognac spawn_reagent = "cognac"
ale spawn_reagent = "ale"
mead spawn_reagent = "mead"
bitters spawn_reagent = "bitters"
cider spawn_reagent = "cider"
// Bar, alcoholic
/obj/item/weapon/reagent_containers/chem_disp_cartridge/beer
spawn_reagent = "beer"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/kahlua
spawn_reagent = "kahlua"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/whiskey
spawn_reagent = "whiskey"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/wine
spawn_reagent = "wine"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/vodka
spawn_reagent = "vodka"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/gin
spawn_reagent = "gin"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/rum
spawn_reagent = "rum"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/tequila
spawn_reagent = "tequilla"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/vermouth
spawn_reagent = "vermouth"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/cognac
spawn_reagent = "cognac"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/ale
spawn_reagent = "ale"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/mead
spawn_reagent = "mead"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/bitters
spawn_reagent = "bitters"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/cider
spawn_reagent = "cider"
// Bar, soft
ice spawn_reagent = "ice"
tea spawn_reagent = "tea"
icetea spawn_reagent = "icetea"
cola spawn_reagent = "cola"
smw spawn_reagent = "spacemountainwind"
dr_gibb spawn_reagent = "dr_gibb"
spaceup spawn_reagent = "space_up"
tonic spawn_reagent = "tonic"
sodawater spawn_reagent = "sodawater"
lemon_lime spawn_reagent = "lemon_lime"
orange spawn_reagent = "orangejuice"
lime spawn_reagent = "limejuice"
watermelon spawn_reagent = "watermelonjuice"
lemon spawn_reagent = "lemonjuice"
// Bar, soft
/obj/item/weapon/reagent_containers/chem_disp_cartridge/ice
spawn_reagent = "ice"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/tea
spawn_reagent = "tea"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/icetea
spawn_reagent = "icetea"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/cola
spawn_reagent = "cola"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/smw
spawn_reagent = "spacemountainwind"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/dr_gibb
spawn_reagent = "dr_gibb"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceup
spawn_reagent = "space_up"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic
spawn_reagent = "tonic"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater
spawn_reagent = "sodawater"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime
spawn_reagent = "lemon_lime"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/orange
spawn_reagent = "orangejuice"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/lime
spawn_reagent = "limejuice"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/watermelon
spawn_reagent = "watermelonjuice"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon
spawn_reagent = "lemonjuice"
// Bar, coffee
coffee spawn_reagent = "coffee"
cafe_latte spawn_reagent = "cafe_latte"
soy_latte spawn_reagent = "soy_latte"
hot_coco spawn_reagent = "hot_coco"
milk spawn_reagent = "milk"
cream spawn_reagent = "cream"
mint spawn_reagent = "mint"
berry spawn_reagent = "berryjuice"
greentea spawn_reagent = "greentea"
decaf spawn_reagent = "decaf"
// Bar, coffee
/obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee
spawn_reagent = "coffee"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/cafe_latte
spawn_reagent = "cafe_latte"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/soy_latte
spawn_reagent = "soy_latte"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/hot_coco
spawn_reagent = "hot_coco"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/milk
spawn_reagent = "milk"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/cream
spawn_reagent = "cream"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/mint
spawn_reagent = "mint"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/berry
spawn_reagent = "berryjuice"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/greentea
spawn_reagent = "greentea"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/decaf
spawn_reagent = "decaf"
// ERT
inaprov spawn_reagent = "inaprovaline"
ryetalyn spawn_reagent = "ryetalyn"
paracetamol spawn_reagent = "paracetamol"
tramadol spawn_reagent = "tramadol"
oxycodone spawn_reagent = "oxycodone"
sterilizine spawn_reagent = "sterilizine"
leporazine spawn_reagent = "leporazine"
kelotane spawn_reagent = "kelotane"
dermaline spawn_reagent = "dermaline"
dexalin spawn_reagent = "dexalin"
dexalin/small volume = CARTRIDGE_VOLUME_SMALL // For the medicine cartridge crate, so it's not too easy to get large amounts of dexalin
dexalin_p spawn_reagent = "dexalinp"
tricord spawn_reagent = "tricordrazine"
dylovene spawn_reagent = "anti_toxin"
synaptizine spawn_reagent = "synaptizine"
hyronalin spawn_reagent = "hyronalin"
arithrazine spawn_reagent = "arithrazine"
alkysine spawn_reagent = "alkysine"
imidazoline spawn_reagent = "imidazoline"
peridaxon spawn_reagent = "peridaxon"
bicaridine spawn_reagent = "bicaridine"
hyperzine spawn_reagent = "hyperzine"
rezadone spawn_reagent = "rezadone"
spaceacillin spawn_reagent = "spaceacillin"
ethylredox spawn_reagent = "ethylredoxrazine"
sleeptox spawn_reagent = "stoxin"
chloral spawn_reagent = "chloralhydrate"
cryoxadone spawn_reagent = "cryoxadone"
clonexadone spawn_reagent = "clonexadone"
// ERT
/obj/item/weapon/reagent_containers/chem_disp_cartridge/inaprov
spawn_reagent = "inaprovaline"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/ryetalyn
spawn_reagent = "ryetalyn"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/paracetamol
spawn_reagent = "paracetamol"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/tramadol
spawn_reagent = "tramadol"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/oxycodone
spawn_reagent = "oxycodone"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/sterilizine
spawn_reagent = "sterilizine"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/leporazine
spawn_reagent = "leporazine"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/kelotane
spawn_reagent = "kelotane"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/dermaline
spawn_reagent = "dermaline"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/dexalin
spawn_reagent = "dexalin"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/dexalin/small
volume = CARTRIDGE_VOLUME_SMALL // For the medicine cartridge crate, so it's not too easy to get large amounts of dexalin
/obj/item/weapon/reagent_containers/chem_disp_cartridge/dexalin_p
spawn_reagent = "dexalinp"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/tricord
spawn_reagent = "tricordrazine"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/dylovene
spawn_reagent = "anti_toxin"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/synaptizine
spawn_reagent = "synaptizine"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/hyronalin
spawn_reagent = "hyronalin"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/arithrazine
spawn_reagent = "arithrazine"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/alkysine
spawn_reagent = "alkysine"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/imidazoline
spawn_reagent = "imidazoline"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/peridaxon
spawn_reagent = "peridaxon"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/bicaridine
spawn_reagent = "bicaridine"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/hyperzine
spawn_reagent = "hyperzine"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/rezadone
spawn_reagent = "rezadone"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceacillin
spawn_reagent = "spaceacillin"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/ethylredox
spawn_reagent = "ethylredoxrazine"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/sleeptox
spawn_reagent = "stoxin"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/chloral
spawn_reagent = "chloralhydrate"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/cryoxadone
spawn_reagent = "cryoxadone"
/obj/item/weapon/reagent_containers/chem_disp_cartridge/clonexadone
spawn_reagent = "clonexadone"

View File

@@ -147,27 +147,23 @@
group = "Reagents"
#define SEC_PACK(_tname, _type, _name, _cname, _cost, _access)\
datum/supply_pack/dispenser_cartridges{\
_tname {\
name = _name ;\
containername = _cname ;\
containertype = /obj/structure/closet/crate/secure;\
access = list( _access );\
cost = _cost ;\
contains = list( _type , _type );\
group = "Reagent Cartridges"\
}\
/datum/supply_pack/dispenser_cartridges/##_tname {\
name = _name ;\
containername = _cname ;\
containertype = /obj/structure/closet/crate/secure;\
access = list( _access );\
cost = _cost ;\
contains = list( _type , _type );\
group = "Reagent Cartridges"\
}
#define PACK(_tname, _type, _name, _cname, _cost)\
datum/supply_pack/dispenser_cartridges{\
_tname {\
name = _name ;\
containername = _cname ;\
containertype = /obj/structure/closet/crate;\
cost = _cost ;\
contains = list( _type , _type );\
group = "Reagent Cartridges"\
}\
/datum/supply_pack/dispenser_cartridges/##_tname {\
name = _name ;\
containername = _cname ;\
containertype = /obj/structure/closet/crate;\
cost = _cost ;\
contains = list( _type , _type );\
group = "Reagent Cartridges"\
}
// Chemistry-restricted (raw reagents excluding sugar/water)

View File

@@ -200,36 +200,26 @@
///////////////////////////////
//SLIME CORES BELOW HERE///////
///////////////////////////////
/decl/chemical_reaction/instant/slime_food
name = "Slime Bork"
id = "m_tele2"
result = null
required_reagents = list("phoron" = 10, "slimejelly" = 5, "nutriment" = 20)
result_amount = 1
on_reaction(var/datum/reagents/holder)
var/list/borks = typesof(/obj/item/weapon/reagent_containers/food/snacks) - /obj/item/weapon/reagent_containers/food/snacks // BORK BORK BORK
playsound(holder.my_atom, 'sound/effects/phasein.ogg', 100, 1)
/* Removed at some point, unsure what to replace with
for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null))
if(M:eyecheck() <= 0)
flick("e_flash", M.flash)
*/
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))
/decl/chemical_reaction/instant/slime_food/on_reaction(var/datum/reagents/holder)
var/list/borks = typesof(/obj/item/weapon/reagent_containers/food/snacks) - /obj/item/weapon/reagent_containers/food/snacks // BORK BORK BORK
playsound(holder.my_atom, 'sound/effects/phasein.ogg', 100, 1)
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))
/decl/chemical_reaction/instant/materials
name = "Slime materials"
@@ -237,56 +227,52 @@
result = null
required_reagents = list("phoron" = 20, "slimejelly" = 40, "aluminum" = 20) //Woah there! You have the possibility of making diamonds! 8 ground up slimes required for one of these, and you still have a 10% chance for it to fail.
result_amount = 1
on_reaction(var/datum/reagents/holder)
var/fail_chance = rand(1,1000)
if(fail_chance == 1) // 0.1% chance of exploding, so scientists don't exclusively abuse this to obtain materials.
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("<span class='warning'>The solution begins to vibrate violently!</span>"), 1) // It was at this moment, the Xenobiologist knew... he fucked up.
sleep(30)
playsound(holder.my_atom, 'sound/items/Welder2.ogg', 100, 1)
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("<span class='warning'>The reaction begins to rapidly sizzle and swell outwards!</span>"), 1)
sleep(20)
explosion(get_turf(holder.my_atom), 0 ,4, 8) //Enough to cause severe damage in the area, but not so much that it'll instantly gib the person.
empulse(get_turf(holder.my_atom), 3, 7) //Uh oh, it produced some uranium, too! EMP blast!
return
if(fail_chance < 101) // 10% chance of it not working at all.
playsound(holder.my_atom, 'sound/items/Welder.ogg', 100, 1)
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("<span class='warning'>The slime core fizzles disappointingly.</span>"), 1)
return
/decl/chemical_reaction/instant/materials/on_reaction(var/datum/reagents/holder)
var/fail_chance = rand(1,1000)
if(fail_chance == 1) // 0.1% chance of exploding, so scientists don't exclusively abuse this to obtain materials.
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("<span class='warning'>The solution begins to vibrate violently!</span>"), 1) // It was at this moment, the Xenobiologist knew... he fucked up.
sleep(30)
playsound(holder.my_atom, 'sound/items/Welder2.ogg', 100, 1)
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("<span class='warning'>The reaction begins to rapidly sizzle and swell outwards!</span>"), 1)
sleep(20)
explosion(get_turf(holder.my_atom), 0 ,4, 8) //Enough to cause severe damage in the area, but not so much that it'll instantly gib the person.
empulse(get_turf(holder.my_atom), 3, 7) //Uh oh, it produced some uranium, too! EMP blast!
return
var/blocked = list(
/obj/item/stack/material, //Technical stacks
/obj/item/stack/hairlesshide, //Useless leather production steps
/obj/item/stack/wetleather,
/obj/item/stack/material/algae/ten) //Why is this one even a separate thing
blocked += typesof(/obj/item/stack/material/cyborg) //Borg matter synths, should only exist in borgs
blocked += typesof(/obj/item/stack/animalhide) //Hides which are only used for leather production anyway
if(fail_chance < 101) // 10% chance of it not working at all.
playsound(holder.my_atom, 'sound/items/Welder.ogg', 100, 1)
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("<span class='warning'>The slime core fizzles disappointingly.</span>"), 1)
return
var/rare_types = list(
/obj/item/stack/material/morphium, //Complex materials requiring Particle Smasher to create
/obj/item/stack/material/morphium/hull,
/obj/item/stack/material/valhollide,
/obj/item/stack/material/supermatter)
var/blocked = list(
/obj/item/stack/material, //Technical stacks
/obj/item/stack/hairlesshide, //Useless leather production steps
/obj/item/stack/wetleather,
/obj/item/stack/material/algae/ten) //Why is this one even a separate thing
blocked += typesof(/obj/item/stack/material/cyborg) //Borg matter synths, should only exist in borgs
blocked += typesof(/obj/item/stack/animalhide) //Hides which are only used for leather production anyway
var/list/material = typesof(/obj/item/stack/material) - blocked
var/rare_types = list(
/obj/item/stack/material/morphium, //Complex materials requiring Particle Smasher to create
/obj/item/stack/material/morphium/hull,
/obj/item/stack/material/valhollide,
/obj/item/stack/material/supermatter)
playsound(holder.my_atom, 'sound/effects/phasein.ogg', 100, 1)
/* Removed at some point, unsure what to replace with
for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null))
if(M:eyecheck() <= 0)
flick("e_flash", M.flash)
*/
var/spawn_amount = rand(1,50)
var/chosen = pick(material)
if(chosen in rare_types)
spawn_amount = rand(1,15)
var/obj/item/stack/material/C = new chosen
C.amount = spawn_amount
C.loc = get_turf(holder.my_atom)
var/list/material = typesof(/obj/item/stack/material) - blocked
playsound(holder.my_atom, 'sound/effects/phasein.ogg', 100, 1)
var/spawn_amount = rand(1,50)
var/chosen = pick(material)
if(chosen in rare_types)
spawn_amount = rand(1,15)
var/obj/item/stack/material/C = new chosen
C.amount = spawn_amount
C.loc = get_turf(holder.my_atom)
/decl/chemical_reaction/instant/slimelight
name = "Slime Glow"
@@ -294,11 +280,12 @@
result = null
required_reagents = list("phoron" = 5, "slimejelly" = 5, "water" = 10) //Takes 10 water so it doesn't mess with the frost oil.
result_amount = 1
on_reaction(var/datum/reagents/holder)
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("<span class='warning'> The contents of the slime core harden and begin to emit a warm, bright light.</span>"), 1)
var/obj/item/device/flashlight/slime/F = new /obj/item/device/flashlight/slime
F.loc = get_turf(holder.my_atom)
/decl/chemical_reaction/instant/slimelight/on_reaction(var/datum/reagents/holder)
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("<span class='warning'> The contents of the slime core harden and begin to emit a warm, bright light.</span>"), 1)
var/obj/item/device/flashlight/slime/F = new /obj/item/device/flashlight/slime
F.loc = get_turf(holder.my_atom)
/decl/chemical_reaction/instant/slimephoron
@@ -307,10 +294,11 @@
result = null
required_reagents = list("phoron" = 20, "uranium" = 20, "slimejelly" = 20)
result_amount = 1
on_reaction(var/datum/reagents/holder)
var/obj/item/stack/material/phoron/P = new /obj/item/stack/material/phoron
P.amount = 10
P.loc = get_turf(holder.my_atom)
/decl/chemical_reaction/instant/slimephoron/on_reaction(var/datum/reagents/holder)
var/obj/item/stack/material/phoron/P = new /obj/item/stack/material/phoron
P.amount = 10
P.loc = get_turf(holder.my_atom)
/decl/chemical_reaction/instant/slimefreeze
name = "Slime Freeze"
@@ -318,17 +306,15 @@
result = null
required_reagents = list("phoron" = 10, "coolant" = 10, "slimejelly" = 10)
result_amount = 1
on_reaction(var/datum/reagents/holder)
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("<span class='warning'>The slime extract begins to vibrate violently!</span>"), 1)
sleep(50)
playsound(holder.my_atom, 'sound/effects/phasein.ogg', 100, 1)
for(var/mob/living/M in range (get_turf(holder.my_atom), 7))
M.bodytemperature -= 140
to_chat(M, "<span class='notice'> You suddenly feel a chill!</span>")
/decl/chemical_reaction/instant/slimefreeze/on_reaction(var/datum/reagents/holder)
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("<span class='warning'>The slime extract begins to vibrate violently!</span>"), 1)
sleep(50)
playsound(holder.my_atom, 'sound/effects/phasein.ogg', 100, 1)
for(var/mob/living/M in range (get_turf(holder.my_atom), 7))
M.bodytemperature -= 140
to_chat(M, "<span class='notice'> You suddenly feel a chill!</span>")
/decl/chemical_reaction/instant/slimefrost
name = "Slime Frost Oil"
@@ -337,24 +323,21 @@
required_reagents = list("phoron" = 5, "slimejelly" = 5, "water" = 5, "coolant" = 5)
result_amount = 10
/decl/chemical_reaction/instant/slimefire
name = "Slime fire"
id = "m_fire"
result = null
required_reagents = list("phoron" = 60, "slimejelly" = 30, "potassium" = 30)
result_amount = 1
on_reaction(var/datum/reagents/holder)
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("<span class='warning'>The slime extract begins to vibrate violently!</span>"), 1)
sleep(50)
var/turf/location = get_turf(holder.my_atom.loc)
for(var/turf/simulated/floor/target_tile in range(0,location))
target_tile.assume_gas("phoron", 25, 1400)
spawn (0) target_tile.hotspot_expose(700, 400)
/decl/chemical_reaction/instant/slimefire/on_reaction(var/datum/reagents/holder)
for(var/mob/O in viewers(get_turf(holder.my_atom), null))
O.show_message(text("<span class='warning'>The slime extract begins to vibrate violently!</span>"), 1)
sleep(50)
var/turf/location = get_turf(holder.my_atom.loc)
for(var/turf/simulated/floor/target_tile in range(0,location))
target_tile.assume_gas("phoron", 25, 1400)
spawn (0) target_tile.hotspot_expose(700, 400)
/decl/chemical_reaction/instant/slimeify
name = "Advanced Mutation Toxin"
@@ -363,25 +346,22 @@
required_reagents = list("phoron" = 15, "slimejelly" = 15, "mutationtoxin" = 15) //In case a xenobiologist wants to become a fully fledged slime person.
result_amount = 1
/decl/chemical_reaction/instant/slimeheal //A slime healing mixture. Why not.
name = "Slime Health"
id = "slimeheal"
result = "null"
required_reagents = list("phoron" = 10, "bicaridine" = 10, "kelotane" = 10, "inaprovaline" = 10, "slimejelly" = 10)
on_reaction(var/datum/reagents/holder, var/created_volume)
for (var/mob/living/carbon/C in viewers(get_turf(holder.my_atom), null))
to_chat(C, "<span class='notice'>A wave of energy suddenly invigorates you.</span>")
C.adjustBruteLoss(-25)
C.adjustFireLoss(-25)
C.adjustToxLoss(-25)
C.adjustOxyLoss(-25)
C.adjustBrainLoss(-25)
C.adjustCloneLoss(-25)
C.updatehealth()
/decl/chemical_reaction/instant/slimeheal/on_reaction(var/datum/reagents/holder, var/created_volume)
for (var/mob/living/carbon/C in viewers(get_turf(holder.my_atom), null))
to_chat(C, "<span class='notice'>A wave of energy suddenly invigorates you.</span>")
C.adjustBruteLoss(-25)
C.adjustFireLoss(-25)
C.adjustToxLoss(-25)
C.adjustOxyLoss(-25)
C.adjustBrainLoss(-25)
C.adjustCloneLoss(-25)
C.updatehealth()
/decl/chemical_reaction/instant/slimejelly
name = "Slime Jam"
@@ -396,62 +376,58 @@
result = null
required_reagents = list("phoron" = 20, "nutriment" = 20, "sugar" = 20, "mutationtoxin" = 20) //Can't do slime jelly as it'll conflict with another, but mutation toxin will do.
result_amount = 1
on_reaction(var/datum/reagents/holder)
var/mob_path = /mob/living/simple_mob
var/blocked = list( //List of things we do NOT want to spawn
/mob/living/simple_mob, //Technical parent mobs
/mob/living/simple_mob/animal,
/mob/living/simple_mob/animal/passive,
/mob/living/simple_mob/animal/space,
/mob/living/simple_mob/blob,
/mob/living/simple_mob/mechanical,
/mob/living/simple_mob/mechanical/mecha,
/mob/living/simple_mob/slime,
/mob/living/simple_mob/vore,
/mob/living/simple_mob/vore/aggressive,
/mob/living/simple_mob/illusion, //Other technical mobs
/mob/living/simple_mob/animal/passive/crab/Coffee, //Unique pets/named mobs
/mob/living/simple_mob/animal/passive/cat/runtime,
/mob/living/simple_mob/animal/passive/cat/bones,
/mob/living/simple_mob/animal/passive/cat/tabiranth,
/mob/living/simple_mob/animal/passive/dog/corgi/puppy/Bockscar,
/mob/living/simple_mob/animal/passive/dog/corgi/Ian,
/mob/living/simple_mob/animal/passive/dog/corgi/Lisa,
/mob/living/simple_mob/animal/passive/dog/tamaskan/Spice,
/mob/living/simple_mob/animal/passive/fox/renault,
/mob/living/simple_mob/animal/passive/bird/azure_tit/tweeter,
/mob/living/simple_mob/animal/passive/bird/parrot/poly,
/mob/living/simple_mob/animal/sif/fluffy,
/mob/living/simple_mob/animal/sif/fluffy/silky,
/mob/living/simple_mob/animal/passive/snake/noodle,
/mob/living/simple_mob/slime/xenobio/rainbow/kendrick,
/mob/living/simple_mob/animal/space/space_worm, //Space Worm parts that aren't proper heads
/mob/living/simple_mob/animal/space/space_worm/head/severed,
/mob/living/simple_mob/animal/borer, //Event/player-control-only mobs
/mob/living/simple_mob/vore/hostile/morph
)//exclusion list for things you don't want the reaction to create.
blocked += typesof(/mob/living/simple_mob/mechanical/ward) //Wards that should be created with ward items, are mobs mostly on technicalities
blocked += typesof(/mob/living/simple_mob/construct) //Should only exist
blocked += typesof(/mob/living/simple_mob/vore/demon) //as player-controlled
blocked += typesof(/mob/living/simple_mob/shadekin) //and/or event things
blocked += typesof(/mob/living/simple_mob/horror)
var/list/voremobs = typesof(mob_path) - blocked // list of possible hostile mobs
playsound(holder.my_atom, 'sound/effects/phasein.ogg', 100, 1)
/* Removed at some point, unsure what to replace with
for(var/mob/living/carbon/human/M in viewers(get_turf(holder.my_atom), null))
if(M:eyecheck() <= 0)
flick("e_flash", M.flash)
*/
var/spawn_count = rand(1,3)
for(var/i = 1, i <= spawn_count, i++)
var/chosen = pick(voremobs)
var/mob/living/simple_mob/C = new chosen
C.faction = "slimesummon"
C.loc = get_turf(holder.my_atom)
if(prob(50))
for(var/j = 1, j <= rand(1, 3), j++)
step(C, pick(NORTH,SOUTH,EAST,WEST))
/decl/chemical_reaction/instant/slimevore/on_reaction(var/datum/reagents/holder)
var/mob_path = /mob/living/simple_mob
var/blocked = list( //List of things we do NOT want to spawn
/mob/living/simple_mob, //Technical parent mobs
/mob/living/simple_mob/animal,
/mob/living/simple_mob/animal/passive,
/mob/living/simple_mob/animal/space,
/mob/living/simple_mob/blob,
/mob/living/simple_mob/mechanical,
/mob/living/simple_mob/mechanical/mecha,
/mob/living/simple_mob/slime,
/mob/living/simple_mob/vore,
/mob/living/simple_mob/vore/aggressive,
/mob/living/simple_mob/illusion, //Other technical mobs
/mob/living/simple_mob/animal/passive/crab/Coffee, //Unique pets/named mobs
/mob/living/simple_mob/animal/passive/cat/runtime,
/mob/living/simple_mob/animal/passive/cat/bones,
/mob/living/simple_mob/animal/passive/cat/tabiranth,
/mob/living/simple_mob/animal/passive/dog/corgi/puppy/Bockscar,
/mob/living/simple_mob/animal/passive/dog/corgi/Ian,
/mob/living/simple_mob/animal/passive/dog/corgi/Lisa,
/mob/living/simple_mob/animal/passive/dog/tamaskan/Spice,
/mob/living/simple_mob/animal/passive/fox/renault,
/mob/living/simple_mob/animal/passive/bird/azure_tit/tweeter,
/mob/living/simple_mob/animal/passive/bird/parrot/poly,
/mob/living/simple_mob/animal/sif/fluffy,
/mob/living/simple_mob/animal/sif/fluffy/silky,
/mob/living/simple_mob/animal/passive/snake/noodle,
/mob/living/simple_mob/slime/xenobio/rainbow/kendrick,
/mob/living/simple_mob/animal/space/space_worm, //Space Worm parts that aren't proper heads
/mob/living/simple_mob/animal/space/space_worm/head/severed,
/mob/living/simple_mob/animal/borer, //Event/player-control-only mobs
/mob/living/simple_mob/vore/hostile/morph
)//exclusion list for things you don't want the reaction to create.
blocked += typesof(/mob/living/simple_mob/mechanical/ward) //Wards that should be created with ward items, are mobs mostly on technicalities
blocked += typesof(/mob/living/simple_mob/construct) //Should only exist
blocked += typesof(/mob/living/simple_mob/vore/demon) //as player-controlled
blocked += typesof(/mob/living/simple_mob/shadekin) //and/or event things
blocked += typesof(/mob/living/simple_mob/horror)
var/list/voremobs = typesof(mob_path) - blocked // list of possible hostile mobs
playsound(holder.my_atom, 'sound/effects/phasein.ogg', 100, 1)
var/spawn_count = rand(1,3)
for(var/i = 1, i <= spawn_count, i++)
var/chosen = pick(voremobs)
var/mob/living/simple_mob/C = new chosen
C.faction = "slimesummon"
C.loc = get_turf(holder.my_atom)
if(prob(50))
for(var/j = 1, j <= rand(1, 3), j++)
step(C, pick(NORTH,SOUTH,EAST,WEST))
/decl/chemical_reaction/instant/slime/sapphire_mutation
name = "Slime Mutation Toxins"

View File

@@ -312,7 +312,7 @@
if (!is_open_container())
add_overlay("lid_[initial(icon_state)]")
obj/item/weapon/reagent_containers/glass/bucket/wood
/obj/item/weapon/reagent_containers/glass/bucket/wood
desc = "An old wooden bucket."
name = "wooden bucket"
icon = 'icons/obj/janitor.dmi'

View File

@@ -26,7 +26,7 @@
var/affects_dead = 0 // Does this chem process inside a corpse?
var/affects_robots = 0 // Does this chem process inside a Synth?
var/allergen_type = GENERIC // What potential allergens does this contain?
var/allergen_type // What potential allergens does this contain?
var/allergen_factor = 1 // If the potential allergens are mixed and low-volume, they're a bit less dangerous. Needed for drinks because they're a single reagent compared to food which contains multiple seperate reagents.
var/cup_icon_state = null

File diff suppressed because it is too large Load Diff

View File

@@ -946,7 +946,7 @@
metabolism = REM * 0.5
overdose = REAGENTS_OVERDOSE
datum/reagent/talum_quem/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
/datum/reagent/talum_quem/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_DIONA)
return