mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
[MIRROR] Linter diagnostics + bans non-var relative pathing
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user