mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-17 10:03:50 +01:00
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into cargonia
Conflicts: code/game/supplyshuttle.dm
This commit is contained in:
@@ -125,13 +125,13 @@ obj/machinery/gateway/centerstation/process()
|
||||
if(!awaygate) return
|
||||
|
||||
if(awaygate.calibrated)
|
||||
M.loc = get_step(awaygate.loc, SOUTH)
|
||||
M.forceMove(get_step(awaygate.loc, SOUTH))
|
||||
M.dir = SOUTH
|
||||
return
|
||||
else
|
||||
var/obj/effect/landmark/dest = pick(awaydestinations)
|
||||
if(dest)
|
||||
M.loc = dest.loc
|
||||
M.forceMove(dest.loc)
|
||||
M.dir = SOUTH
|
||||
use_power(5000)
|
||||
return
|
||||
@@ -230,7 +230,7 @@ obj/machinery/gateway/centerstation/process()
|
||||
if(E.imp_in == M)//Checking that it's actually implanted vs just in their pocket
|
||||
M << "\black The station gate has detected your exile implant and is blocking your entry."
|
||||
return
|
||||
M.loc = get_step(stationgate.loc, SOUTH)
|
||||
M.forceMove(get_step(stationgate.loc, SOUTH))
|
||||
M.dir = SOUTH
|
||||
|
||||
|
||||
@@ -242,4 +242,5 @@ obj/machinery/gateway/centerstation/process()
|
||||
else
|
||||
user << "<span class='boldnotice'>Recalibration successful!</span>: \black This gate's systems have been fine tuned. Travel to this gate will now be on target."
|
||||
calibrated = 1
|
||||
return
|
||||
return
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/obj/item/clothing/under/pants
|
||||
gender = PLURAL
|
||||
body_parts_covered = LOWER_TORSO|LEGS
|
||||
displays_id = 0
|
||||
|
||||
/obj/item/clothing/under/pants/classicjeans
|
||||
name = "classic jeans"
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
desc = "95% Polyester, 5% Spandex!"
|
||||
gender = PLURAL
|
||||
body_parts_covered = LOWER_TORSO
|
||||
displays_id = 0
|
||||
|
||||
/obj/item/clothing/under/shorts/red
|
||||
icon_state = "redshorts"
|
||||
|
||||
@@ -14,7 +14,13 @@ var/global/list/fish_eggs_list = list("dud" = /obj/item/fish_eggs,
|
||||
"goldfish" = /obj/item/fish_eggs/goldfish,
|
||||
"clownfish" = /obj/item/fish_eggs/clownfish,
|
||||
"shark" = /obj/item/fish_eggs/shark,
|
||||
"babycarp" = /obj/item/fish_eggs/babycarp,
|
||||
"baby space carp" = /obj/item/fish_eggs/babycarp,
|
||||
"catfish" = /obj/item/fish_eggs/catfish,
|
||||
"feederfish" = /obj/item/fish_eggs/feederfish,
|
||||
"salmon" = /obj/item/fish_eggs/salmon,
|
||||
"shrimp" = /obj/item/fish_eggs/shrimp,
|
||||
"electric eel" = /obj/item/fish_eggs/electric_eel,
|
||||
"glofish" = /obj/item/fish_eggs/glofish,
|
||||
)
|
||||
|
||||
/obj/item/fish_eggs/goldfish
|
||||
@@ -39,4 +45,41 @@ var/global/list/fish_eggs_list = list("dud" = /obj/item/fish_eggs,
|
||||
name = "baby space carp eggs"
|
||||
desc = "Eggs from the substantially smaller form of the intergalactic terror."
|
||||
icon_state = "babycarp_eggs"
|
||||
fish_type = "babycarp"
|
||||
fish_type = "baby space carp"
|
||||
|
||||
/obj/item/fish_eggs/catfish
|
||||
name = "catfish eggs"
|
||||
desc = "A bottom-feeding species noted for their similarity to cats and Tajaran."
|
||||
icon_state = "catfish_eggs"
|
||||
fish_type = "catfish"
|
||||
|
||||
/obj/item/fish_eggs/feederfish
|
||||
name = "feeder fish eggs"
|
||||
desc = "These generic fish are commonly found being eaten by larger fish."
|
||||
icon_state = "feederfish_eggs"
|
||||
fish_type = "feederfish"
|
||||
|
||||
/obj/item/fish_eggs/salmon
|
||||
name = "salmon eggs"
|
||||
desc = "A collection of salmon eggs."
|
||||
icon_state = "salmon_eggs"
|
||||
fish_type = "salmon"
|
||||
|
||||
/obj/item/fish_eggs/shrimp
|
||||
name = "shrimp eggs"
|
||||
desc = "Eggs for shrimp. You figured they'd be smaller though..."
|
||||
icon_state = "shrimp_eggs"
|
||||
fish_type = "shrimp"
|
||||
|
||||
/obj/item/fish_eggs/electric_eel
|
||||
name = "electric eel eggs"
|
||||
desc = "A pile of eggs for a slimy, shocking, sea-serpent."
|
||||
icon_state = "electric_eel_eggs"
|
||||
fish_type = "electric eel"
|
||||
|
||||
/obj/item/fish_eggs/glofish
|
||||
name = "glofish eggs"
|
||||
desc = "A cluster of bright neon eggs belonging to a bio-luminescent species of fish."
|
||||
icon_state = "glofish_eggs"
|
||||
fish_type = "glofish"
|
||||
|
||||
|
||||
@@ -1,4 +1,21 @@
|
||||
|
||||
var/global/list/fish_items_list = list("goldfish" = /obj/item/weapon/fish/goldfish,
|
||||
"clownfish" = /obj/item/weapon/bananapeel/clownfish,
|
||||
"shark" = /obj/item/weapon/fish/shark,
|
||||
"baby space carp" = /obj/item/weapon/fish/babycarp,
|
||||
"catfish" = /obj/item/weapon/fish/catfish,
|
||||
"feederfish" = /obj/item/weapon/reagent_containers/food/snacks/feederfish,
|
||||
"salmon" = /obj/item/weapon/fish/salmon,
|
||||
"shrimp" = /obj/item/weapon/reagent_containers/food/snacks/shrimp,
|
||||
"electric eel" = /obj/item/weapon/fish/electric_eel,
|
||||
"glofish" = /obj/item/weapon/fish/glofish
|
||||
,
|
||||
)
|
||||
|
||||
//////////////////////////////////////////////
|
||||
// Aquarium Supplies //
|
||||
//////////////////////////////////////////////
|
||||
|
||||
/obj/item/weapon/egg_scoop
|
||||
name = "fish egg scoop"
|
||||
desc = "A small scoop to collect fish eggs with."
|
||||
@@ -50,3 +67,138 @@
|
||||
suicide_act(mob/user)
|
||||
viewers(user) << "<span class='warning'>[user] is vigorously scrubbing \himself raw with the [src.name]! It looks like \he's trying to commit suicide.</span>"
|
||||
return(BRUTELOSS|FIRELOSS)
|
||||
|
||||
//////////////////////////////////////////////
|
||||
// Fish Items //
|
||||
//////////////////////////////////////////////
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/shrimp
|
||||
name = "shrimp"
|
||||
desc = "A single raw shrimp."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "shrimp_raw"
|
||||
filling_color = "#FF1C1C"
|
||||
|
||||
New()
|
||||
..()
|
||||
desc = pick("Anyway, like I was sayin', shrimp is the fruit of the sea.", "You can barbecue it, boil it, broil it, bake it, saute it.")
|
||||
reagents.add_reagent("protein", 1)
|
||||
src.bitesize = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/feederfish
|
||||
name = "shrimp"
|
||||
desc = "A tiny feeder fish. Sure doesn't look very filling..."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "feederfish"
|
||||
filling_color = "#FF1C1C"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("protein", 1)
|
||||
src.bitesize = 1
|
||||
|
||||
/obj/item/weapon/fish
|
||||
name = "fish"
|
||||
desc = "A generic fish"
|
||||
icon = 'icons/obj/fish_items.dmi'
|
||||
icon_state = "fish"
|
||||
throwforce = 1
|
||||
w_class = 2.0
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
force = 1
|
||||
attack_verb = list("slapped", "humiliated", "hit", "rubbed")
|
||||
hitsound = 'sound/effects/snap.ogg'
|
||||
|
||||
/obj/item/weapon/fish/glofish
|
||||
name = "glofish"
|
||||
desc = "A small bio-luminescent fish. Not very bright, but at least it's pretty!"
|
||||
icon_state = "glofish"
|
||||
|
||||
/obj/item/weapon/fish/glofish/New()
|
||||
..()
|
||||
set_light(2,1,"#99FF66")
|
||||
|
||||
/obj/item/weapon/fish/electric_eel
|
||||
name = "electric eel"
|
||||
desc = "An eel capable of producing a mild electric shock. Luckily it's rather weak out of water."
|
||||
icon_state = "electric_eel"
|
||||
|
||||
/obj/item/weapon/fish/shark
|
||||
name = "shark"
|
||||
desc = "Warning: Keep away from tornadoes."
|
||||
icon_state = "shark"
|
||||
hitsound = 'sound/weapons/bite.ogg'
|
||||
force = 3
|
||||
|
||||
/obj/item/weapon/fish/shark/attackby(var/obj/item/O, var/mob/user as mob)
|
||||
if(istype(O, /obj/item/weapon/wirecutters))
|
||||
user << "You rip out the teeth of \the [src.name]!"
|
||||
new /obj/item/weapon/fish/toothless_shark(get_turf(src))
|
||||
new /obj/item/weapon/shard/shark_teeth(get_turf(src))
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/weapon/fish/toothless_shark
|
||||
name = "toothless shark"
|
||||
desc = "Looks like someone ripped it's teeth out!"
|
||||
hitsound = 'sound/effects/snap.ogg'
|
||||
|
||||
/obj/item/weapon/shard/shark_teeth
|
||||
name = "shark teeth"
|
||||
desc = "A number of teeth, supposedly from a shark."
|
||||
icon = 'icons/obj/fish_items.dmi'
|
||||
icon_state = "teeth"
|
||||
force = 2.0
|
||||
throwforce = 5.0
|
||||
g_amt = 0
|
||||
|
||||
/obj/item/weapon/fish/catfish
|
||||
name = "catfish"
|
||||
desc = "Apparently, catfish don't purr like you might have expected them to. Such a confusing name!"
|
||||
icon_state = "catfish"
|
||||
|
||||
/obj/item/weapon/fish/catfish/attackby(var/obj/item/O, var/mob/user as mob)
|
||||
if(istype(O, /obj/item/weapon/kitchenknife) || istype(O, /obj/item/weapon/butch) || istype(O, /obj/item/weapon/scalpel) || istype(O, /obj/item/weapon/kitchen/utensil/knife))
|
||||
user << "You carefully clean and gut \the [src.name]."
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/catfishmeat(get_turf(src))
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/catfishmeat(get_turf(src))
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/weapon/fish/goldfish
|
||||
name = "goldfish"
|
||||
desc = "A goldfish, just like the one you never won at the county fair."
|
||||
icon_state = "goldfish"
|
||||
|
||||
/obj/item/weapon/fish/salmon
|
||||
name = "salmon"
|
||||
desc = "The second-favorite food of Space Bears, right behind crew members."
|
||||
icon_state = "salmon"
|
||||
|
||||
/obj/item/weapon/fish/salmon/attackby(var/obj/item/O, var/mob/user as mob)
|
||||
if(istype(O, /obj/item/weapon/kitchenknife) || istype(O, /obj/item/weapon/butch) || istype(O, /obj/item/weapon/scalpel) || istype(O, /obj/item/weapon/kitchen/utensil/knife))
|
||||
user << "You carefully clean and gut \the [src.name]."
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/salmonmeat(get_turf(src))
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/salmonmeat(get_turf(src))
|
||||
qdel(src)
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/weapon/fish/babycarp
|
||||
name = "baby space carp"
|
||||
desc = "Substantially smaller than the space carp lurking outside the hull, but still unsettling."
|
||||
icon_state = "babycarp"
|
||||
hitsound = 'sound/weapons/bite.ogg'
|
||||
force = 3
|
||||
|
||||
/obj/item/weapon/bananapeel/clownfish
|
||||
name = "clown fish"
|
||||
desc = "Even underwater, you cannot escape HONKing."
|
||||
icon = 'icons/obj/fish_items.dmi'
|
||||
icon_state = "clownfish"
|
||||
throwforce = 1
|
||||
force = 1
|
||||
attack_verb = list("slapped", "humiliated", "hit", "rubbed")
|
||||
|
||||
@@ -212,8 +212,11 @@
|
||||
check_food_level()
|
||||
|
||||
if(water_level > 0) //Don't dirty the tank if it has no water
|
||||
if(filth_level < 10 && prob(25)) //Chance for the tank to get dirtier if the filth_level isn't 10
|
||||
if(ate_food && prob(30)) //If they ate this cycle, there is an additional chance they make a bigger mess
|
||||
if(fish_count == 0) //If the tank has no fish, algae growth can occur
|
||||
if(filth_level < 7.5 && prob(15)) //Algae growth is a low chance and cannot exceed filth_level of 7.5
|
||||
filth_level += 0.05 //Algae growth is slower than fish filth build-up
|
||||
else if(filth_level < 10 && prob(10)) //Chance for the tank to get dirtier if the filth_level isn't 10
|
||||
if(ate_food && prob(25)) //If they ate this cycle, there is an additional chance they make a bigger mess
|
||||
filth_level += fish_count * 0.1
|
||||
else //If they didn't make the big mess, make a little one
|
||||
filth_level += 0.1
|
||||
@@ -235,17 +238,22 @@
|
||||
//////////////////////////////
|
||||
|
||||
/obj/machinery/fishtank/proc/handle_special_interactions()
|
||||
var/glo_light = 0
|
||||
for(var/fish in fish_list)
|
||||
switch(fish)
|
||||
if("catfish") //Catfish have a small chance of cleaning some filth since they are a bottom-feeder
|
||||
if((filth_level > 0) && prob(25))
|
||||
if((filth_level > 0) && prob(30))
|
||||
filth_level -= 0.1
|
||||
if("feederfish") //Feeder fish have a small chance of sacrificing themselves to produce some food
|
||||
if(fish_count < 2) //Don't sacrifice the last fish, there's nothing to eat it
|
||||
continue
|
||||
if(food_level <= 7.5 && prob(25))
|
||||
if(food_level <= 5 && prob(25))
|
||||
kill_fish("feederfish") //Kill the fish to reflect it's sacrifice, but don't increase the filth_level
|
||||
food_level += 1 //The corpse became food for the other fish, ecology at it's finest
|
||||
if("glofish")
|
||||
glo_light++
|
||||
if(!light_switch && (glo_light > 0))
|
||||
set_light(2,glo_light,"#99FF66")
|
||||
check_food_level()
|
||||
check_filth_level()
|
||||
check_water_level()
|
||||
@@ -330,6 +338,22 @@
|
||||
|
||||
egg_list.Cut() //Destroy any excess eggs, clearing the egg_list
|
||||
|
||||
/obj/machinery/fishtank/proc/harvest_fish(var/mob/user)
|
||||
if(!fish_count) //Can't catch non-existant fish!
|
||||
usr << "There are no fish in \the [src] to catch!"
|
||||
return
|
||||
|
||||
var/caught_fish
|
||||
caught_fish = input("Select a fish to catch.", "Fishing", caught_fish) in fish_list //Select a fish from the tank
|
||||
if(caught_fish)
|
||||
var/dead_fish = null
|
||||
dead_fish = fish_items_list[caught_fish] //Locate the appropriate fish_item for the caught fish
|
||||
if(!dead_fish) //No fish_item found, possibly due to typo or not being listed. Do nothing.
|
||||
return
|
||||
kill_fish(caught_fish) //Kill the caught fish from the tank
|
||||
user.visible_message("[user.name] harvests \a [caught_fish] from \the [src].", "You scoop \a [caught_fish] out of \the [src].")
|
||||
new dead_fish(get_turf(user)) //Spawn the appropriate fish_item at the user's feet.
|
||||
|
||||
/obj/machinery/fishtank/proc/destroy(var/deconstruct = 0)
|
||||
var/turf/T = get_turf(src) //Store the tank's turf for atmos updating after deletion of tank
|
||||
if(!deconstruct) //Check if we are deconstructing or breaking the tank
|
||||
@@ -680,13 +704,7 @@
|
||||
return
|
||||
//Fish net
|
||||
if(istype(O, /obj/item/weapon/fish_net))
|
||||
if(fish_count > 0)
|
||||
var/caught_fish = pick(fish_list)
|
||||
usr << "You catch and remove a [caught_fish] from \the [src]."
|
||||
kill_fish(caught_fish)
|
||||
//TODO: Fish object spawning, need to get sprites before I can code the fish objects
|
||||
else
|
||||
usr << "There are no fish in \the [src] to catch!"
|
||||
harvest_fish(user)
|
||||
return
|
||||
//Tank brush
|
||||
if(istype(O, /obj/item/weapon/tank_brush))
|
||||
|
||||
+28
-13
@@ -14,26 +14,26 @@
|
||||
var/firechance = 0
|
||||
var/cooktime = 0
|
||||
var/foodcolor = null
|
||||
|
||||
var/has_specials = 0 //Set to 1 if the machine has specials to check, otherwise leave it at 0
|
||||
|
||||
// checks if the snack has been cooked in a certain way
|
||||
obj/machinery/cooker/proc/checkCooked(obj/item/weapon/reagent_containers/food/snacks/D)
|
||||
/obj/machinery/cooker/proc/checkCooked(obj/item/weapon/reagent_containers/food/snacks/D)
|
||||
if (D.cooktype[thiscooktype])
|
||||
return 1
|
||||
return 0
|
||||
|
||||
// Sets the new snack's cooktype list to the same as the old one - no more cooking something in the same machine more than once!
|
||||
obj/machinery/cooker/proc/setCooked(obj/item/weapon/reagent_containers/food/snacks/oldtypes, obj/item/weapon/reagent_containers/food/snacks/newtypes)
|
||||
/obj/machinery/cooker/proc/setCooked(obj/item/weapon/reagent_containers/food/snacks/oldtypes, obj/item/weapon/reagent_containers/food/snacks/newtypes)
|
||||
var/ct
|
||||
for(ct in oldtypes.cooktype)
|
||||
newtypes.cooktype[ct] = oldtypes.cooktype[ct]
|
||||
|
||||
// transfers reagents
|
||||
obj/machinery/cooker/proc/setRegents(obj/item/weapon/reagent_containers/OldReg, obj/item/weapon/reagent_containers/NewReg)
|
||||
/obj/machinery/cooker/proc/setRegents(obj/item/weapon/reagent_containers/OldReg, obj/item/weapon/reagent_containers/NewReg)
|
||||
OldReg.reagents.trans_to(NewReg, OldReg.reagents.total_volume)
|
||||
|
||||
// check if you can put it in the machine
|
||||
obj/machinery/cooker/proc/checkValid(obj/item/check, mob/user)
|
||||
/obj/machinery/cooker/proc/checkValid(obj/item/check, mob/user)
|
||||
if(on)
|
||||
user << "<span class='notice'>[src] is still active!</span>"
|
||||
return 0
|
||||
@@ -42,13 +42,13 @@ obj/machinery/cooker/proc/checkValid(obj/item/check, mob/user)
|
||||
user << "<span class ='notice'>You can only process food!</span>"
|
||||
return 0
|
||||
|
||||
obj/machinery/cooker/proc/setIcon(obj/item/copyme, obj/item/copyto)
|
||||
/obj/machinery/cooker/proc/setIcon(obj/item/copyme, obj/item/copyto)
|
||||
copyto.color = foodcolor
|
||||
copyto.icon = copyme.icon
|
||||
copyto.icon_state = copyme.icon_state
|
||||
copyto.overlays += copyme.overlays
|
||||
|
||||
obj/machinery/cooker/proc/turnoff(obj/item/olditem)
|
||||
/obj/machinery/cooker/proc/turnoff(obj/item/olditem)
|
||||
icon_state = officon
|
||||
playsound(loc, 'sound/machines/ding.ogg', 50, 1)
|
||||
on = 0
|
||||
@@ -58,7 +58,7 @@ obj/machinery/cooker/proc/turnoff(obj/item/olditem)
|
||||
// Burns the food with a chance of starting a fire - for if you try cooking something that's already been cooked that way
|
||||
// if burns = 0 then it'll just tell you that the item is already that foodtype and it would do nothing
|
||||
// if you wanted a different side effect set burns to 1 and override burn()
|
||||
obj/machinery/cooker/proc/burn(mob/user, obj/item/weapon/reagent_containers/props)
|
||||
/obj/machinery/cooker/proc/burn(mob/user, obj/item/weapon/reagent_containers/props)
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/badrecipe/burnt = new(get_turf(src))
|
||||
setRegents(props, burnt)
|
||||
user << "<span class='warning'>You smell burning coming from the [src]!</span>"
|
||||
@@ -74,11 +74,11 @@ obj/machinery/cooker/proc/burn(mob/user, obj/item/weapon/reagent_containers/prop
|
||||
location.hotspot_expose(700, 50, 1)
|
||||
//TODO have a chance of setting the tile on fire
|
||||
|
||||
obj/machinery/cooker/proc/changename(obj/item/name, obj/item/setme)
|
||||
/obj/machinery/cooker/proc/changename(obj/item/name, obj/item/setme)
|
||||
setme.name = "[thiscooktype] [name.name]"
|
||||
setme.desc = "[name.desc]. It has been [thiscooktype]"
|
||||
|
||||
obj/machinery/cooker/proc/putIn(obj/item/tocook, mob/chef)
|
||||
/obj/machinery/cooker/proc/putIn(obj/item/tocook, mob/chef)
|
||||
icon_state = onicon
|
||||
chef << "<span class='notice'>You put [tocook] into [src].</span>"
|
||||
on = 1
|
||||
@@ -86,11 +86,11 @@ obj/machinery/cooker/proc/putIn(obj/item/tocook, mob/chef)
|
||||
tocook.loc = src
|
||||
|
||||
// Override this with the correct snack type
|
||||
obj/machinery/cooker/proc/gettype()
|
||||
/obj/machinery/cooker/proc/gettype()
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/type = new(get_turf(src))
|
||||
return type
|
||||
|
||||
obj/machinery/cooker/attackby(obj/item/I, mob/user, params)
|
||||
/obj/machinery/cooker/attackby(obj/item/I, mob/user, params)
|
||||
if(stat & (NOPOWER|BROKEN))
|
||||
return
|
||||
if (!checkValid(I, user))
|
||||
@@ -103,6 +103,14 @@ obj/machinery/cooker/attackby(obj/item/I, mob/user, params)
|
||||
putIn(I, user)
|
||||
sleep(cooktime)
|
||||
if(I && I.loc == src)
|
||||
//New interaction to allow special foods to be made/cooked via deepfryer without removing original functionality
|
||||
//Define the foods/results on the specific machine --FalseIncarnate
|
||||
if(has_specials) //Checks if the machine has any special recipes that should be checked
|
||||
var/special = checkSpecials(I) //Checks if the inserted item is one of the specials
|
||||
if(special) //If the inserted item is not special, it will skip this and run normally
|
||||
cookSpecial(special) //Handle cooking the item as appropriate
|
||||
turnoff(I) //Shut off the machine and qdel the original item
|
||||
return
|
||||
if(istype(I, /obj/item/weapon/reagent_containers/food/snacks))
|
||||
if(checkCooked(I))
|
||||
burn(user, I)
|
||||
@@ -119,5 +127,12 @@ obj/machinery/cooker/attackby(obj/item/I, mob/user, params)
|
||||
turnoff(I)
|
||||
//del(I)
|
||||
|
||||
// MAKE SURE TO OVERRIDE THESE ON THE MACHINE IF IT HAS SPECIAL FOOD INTERACTIONS!
|
||||
// FAILURE TO OVERRIDE WILL RESULT IN FAILURE TO PROPERLY HANDLE SPECIAL INTERACTIONS! --FalseIncarnate
|
||||
/obj/machinery/cooker/proc/checkSpecials(obj/item/I)
|
||||
if(!I)
|
||||
return 0
|
||||
return 0
|
||||
|
||||
|
||||
/obj/machinery/cooker/proc/cookSpecial(var/special)
|
||||
return
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
/obj/item/trash/bowl
|
||||
name = "bowl"
|
||||
desc = "An empty bowl. Put some food in it to start making a soup."
|
||||
icon = 'icons/obj/food.dmi'
|
||||
icon = 'icons/obj/food/food.dmi'
|
||||
icon_state = "soup"
|
||||
|
||||
/obj/item/trash/bowl/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
|
||||
@@ -10,9 +10,61 @@
|
||||
foodcolor = "#FFAD33"
|
||||
officon = "fryer_off"
|
||||
onicon = "fryer_on"
|
||||
has_specials = 1
|
||||
|
||||
|
||||
obj/machinery/cooker/deepfryer/gettype()
|
||||
/obj/machinery/cooker/deepfryer/gettype()
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/deepfryholder/type = new(get_turf(src))
|
||||
return type
|
||||
|
||||
/obj/machinery/cooker/deepfryer/checkSpecials(obj/item/I)
|
||||
if(!I)
|
||||
return 0
|
||||
for (var/Type in subtypesof(/datum/deepfryer_special))
|
||||
var/datum/deepfryer_special/P = new Type()
|
||||
if(istype(I, /obj/item/weapon/reagent_containers/food/snacks/grown))
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/grown/G = I
|
||||
if(G.seed.kitchen_tag != P.input)
|
||||
continue
|
||||
else if (!istype(I, P.input))
|
||||
continue
|
||||
return P
|
||||
return 0
|
||||
|
||||
/obj/machinery/cooker/deepfryer/cookSpecial(special)
|
||||
if(!special)
|
||||
return 0
|
||||
var/datum/deepfryer_special/recipe = special
|
||||
if(!recipe.output)
|
||||
return 0
|
||||
new recipe.output(get_turf(src))
|
||||
|
||||
|
||||
//////////////////////////////////
|
||||
// Deepfryer Special //
|
||||
// Interaction Datums //
|
||||
//////////////////////////////////
|
||||
|
||||
/datum/deepfryer_special
|
||||
var/input //Thing that goes in
|
||||
var/output //Thing that comes out
|
||||
|
||||
/datum/deepfryer_special/shrimp
|
||||
input = /obj/item/weapon/reagent_containers/food/snacks/shrimp
|
||||
output = /obj/item/weapon/reagent_containers/food/snacks/fried_shrimp
|
||||
|
||||
/datum/deepfryer_special/banana
|
||||
input = "banana"
|
||||
output = /obj/item/weapon/reagent_containers/food/snacks/friedbanana
|
||||
|
||||
/datum/deepfryer_special/potato_chips
|
||||
input = /obj/item/weapon/reagent_containers/food/snacks/rawsticks
|
||||
output = /obj/item/weapon/reagent_containers/food/snacks/chips
|
||||
|
||||
/datum/deepfryer_special/corn_chips
|
||||
input = "corn"
|
||||
output = /obj/item/weapon/reagent_containers/food/snacks/cornchips
|
||||
|
||||
/datum/deepfryer_special/fried_tofu
|
||||
input = /obj/item/weapon/reagent_containers/food/snacks/tofu
|
||||
output = /obj/item/weapon/reagent_containers/food/snacks/fried_tofu
|
||||
|
||||
@@ -30,6 +30,13 @@
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/meatsteak
|
||||
|
||||
/datum/recipe/grill/salmonsteak
|
||||
reagents = list("sodiumchloride" = 1, "blackpepper" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/salmonmeat
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/salmonsteak
|
||||
|
||||
/datum/recipe/grill/syntisteak
|
||||
reagents = list("sodiumchloride" = 1, "blackpepper" = 1)
|
||||
items = list(
|
||||
@@ -129,4 +136,21 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofu,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofu,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/tofukabob
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/tofukabob
|
||||
|
||||
/datum/recipe/grill/sushi_Tamago
|
||||
reagents = list("sake" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledrice,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sushi_Tamago
|
||||
|
||||
/datum/recipe/grill/sushi_Unagi
|
||||
reagents = list("sake" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/fish/electric_eel,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledrice,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sushi_Unagi
|
||||
|
||||
|
||||
@@ -631,3 +631,9 @@
|
||||
reagents = list("sugar" = 5, "frostoil" = 5)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/mint
|
||||
|
||||
/datum/recipe/microwave/boiled_shrimp
|
||||
reagents = list("water" = 1)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/shrimp
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/boiled_shrimp
|
||||
|
||||
@@ -94,3 +94,75 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/friedegg = 1,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/wrap
|
||||
|
||||
/datum/table_recipe/sushi_Ebi
|
||||
name = "Ebi Sushi"
|
||||
reqs = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledrice = 1,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiled_shrimp = 1,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sushi_Ebi
|
||||
|
||||
/datum/table_recipe/sushi_Ikura
|
||||
name = "Ikura Sushi"
|
||||
reqs = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledrice = 1,
|
||||
/obj/item/fish_eggs/salmon = 1,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sushi_Ikura
|
||||
|
||||
/datum/table_recipe/sushi_Inari
|
||||
name = "Inari Sushi"
|
||||
reqs = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledrice = 1,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fried_tofu = 1,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sushi_Inari
|
||||
|
||||
/datum/table_recipe/sushi_Sake
|
||||
name = "Sake Sushi"
|
||||
reqs = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledrice = 1,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/salmonmeat = 1,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sushi_Sake
|
||||
|
||||
/datum/table_recipe/sushi_SmokedSalmon
|
||||
name = "Smoked Salmon Sushi"
|
||||
reqs = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledrice = 1,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/salmonsteak = 1,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sushi_SmokedSalmon
|
||||
|
||||
/datum/table_recipe/sushi_Masago
|
||||
name = "Masago Sushi"
|
||||
reqs = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledrice = 1,
|
||||
/obj/item/fish_eggs/goldfish = 1,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sushi_Masago
|
||||
|
||||
/datum/table_recipe/sushi_Tobiko
|
||||
name = "Tobiko Sushi"
|
||||
reqs = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledrice = 1,
|
||||
/obj/item/fish_eggs/shark = 1,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sushi_Tobiko
|
||||
|
||||
/datum/table_recipe/sushi_TobikoEgg
|
||||
name = "Tobiko and Egg Sushi"
|
||||
reqs = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sushi_Tobiko = 1,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/egg = 1,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sushi_TobikoEgg
|
||||
|
||||
/datum/table_recipe/sushi_Tai
|
||||
name = "Tai Sushi"
|
||||
reqs = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledrice = 1,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/catfishmeat = 1,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/sushi_Tai
|
||||
@@ -79,7 +79,7 @@ var/list/image/ghost_darkness_images = list() //this is a list of images for thi
|
||||
mind = body.mind //we don't transfer the mind but we keep a reference to it.
|
||||
|
||||
if(!T) T = pick(latejoin) //Safety in case we cannot find the body's position
|
||||
loc = T
|
||||
forceMove(T)
|
||||
|
||||
if(!name) //To prevent nameless ghosts
|
||||
name = capitalize(pick(first_names_male)) + " " + capitalize(pick(last_names))
|
||||
@@ -96,12 +96,12 @@ var/list/image/ghost_darkness_images = list() //this is a list of images for thi
|
||||
|
||||
/mob/dead/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||
return 1
|
||||
|
||||
|
||||
/*
|
||||
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/dead/observer/Life()
|
||||
..()
|
||||
if(!loc) return
|
||||
@@ -200,10 +200,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
return
|
||||
|
||||
|
||||
/mob/dead/observer/Move(NewLoc, direct)
|
||||
/mob/dead/observer/Move(NewLoc, direct)
|
||||
following = null
|
||||
dir = direct
|
||||
if(NewLoc)
|
||||
loc = NewLoc
|
||||
forceMove(NewLoc)
|
||||
for(var/obj/effect/step_trigger/S in NewLoc)
|
||||
S.Crossed(src)
|
||||
|
||||
@@ -212,7 +213,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
A.Entered(src)
|
||||
|
||||
return
|
||||
loc = get_turf(src) //Get out of closets and such as a ghost
|
||||
forceMove(get_turf(src)) //Get out of closets and such as a ghost
|
||||
if((direct & NORTH) && y < world.maxy)
|
||||
y++
|
||||
else if((direct & SOUTH) && y > 1)
|
||||
@@ -228,6 +229,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
var/area/A = get_area_master(src)
|
||||
if(A)
|
||||
A.Entered(src)
|
||||
|
||||
..()
|
||||
|
||||
/mob/dead/observer/experience_pressure_difference()
|
||||
return 0
|
||||
@@ -326,7 +329,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
M.antagHUD = 1
|
||||
src << "\blue <B>AntagHUD Enabled</B>"
|
||||
|
||||
/mob/dead/observer/proc/dead_tele()
|
||||
/mob/dead/observer/proc/dead_tele(A in ghostteleportlocs)
|
||||
set category = "Ghost"
|
||||
set name = "Teleport"
|
||||
set desc= "Teleport to a location"
|
||||
@@ -338,73 +341,107 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
usr.verbs -= /mob/dead/observer/proc/dead_tele
|
||||
spawn(30)
|
||||
usr.verbs += /mob/dead/observer/proc/dead_tele
|
||||
var/A
|
||||
A = input("Area to jump to", "BOOYEA", A) as null|anything in ghostteleportlocs
|
||||
|
||||
var/area/thearea = ghostteleportlocs[A]
|
||||
if(!thearea) return
|
||||
|
||||
var/list/L = list()
|
||||
for(var/turf/T in get_area_turfs(thearea.type))
|
||||
L+=T
|
||||
L += T
|
||||
|
||||
if(!L || !L.len)
|
||||
usr << "No area available."
|
||||
usr << "<span class='warning'>No area available.</span>"
|
||||
|
||||
usr.forceMove(pick(L))
|
||||
following = null
|
||||
|
||||
/mob/dead/observer/verb/follow()
|
||||
/mob/dead/observer/verb/follow(input in getmobs())
|
||||
set category = "Ghost"
|
||||
set name = "Follow" // "Haunt"
|
||||
set desc = "Follow and haunt a mob."
|
||||
|
||||
if(istype(usr, /mob/dead/observer))
|
||||
var/list/mobs = getmobs()
|
||||
var/input = input("Please, select a mob!", "Haunt", null, null) as null|anything in mobs
|
||||
var/mob/target = mobs[input]
|
||||
if(target && target != usr)
|
||||
following = target
|
||||
spawn(0)
|
||||
var/turf/pos = get_turf(src)
|
||||
while(src.loc == pos)
|
||||
var/target = getmobs()[input]
|
||||
if(!target) return
|
||||
ManualFollow(target)
|
||||
|
||||
// This is the ghost's follow verb with an argument
|
||||
/mob/dead/observer/proc/ManualFollow(var/atom/movable/target)
|
||||
if(!target)
|
||||
return
|
||||
|
||||
if(target != src)
|
||||
if(following && following == target)
|
||||
return
|
||||
following = target
|
||||
src << "<span class='notice'>Now following [target]</span>"
|
||||
if(ismob(target))
|
||||
forceMove(get_turf(target))
|
||||
var/mob/M = target
|
||||
M.following_mobs += src
|
||||
else
|
||||
spawn(0)
|
||||
while(target && following == target && client)
|
||||
var/turf/T = get_turf(target)
|
||||
if(!T)
|
||||
break
|
||||
if(following != target)
|
||||
break
|
||||
if(!client)
|
||||
break
|
||||
src.loc = T
|
||||
pos = src.loc
|
||||
// To stop the ghost flickering.
|
||||
if(loc != T)
|
||||
forceMove(T)
|
||||
sleep(15)
|
||||
following = null
|
||||
|
||||
/mob/proc/update_following()
|
||||
. = get_turf(src)
|
||||
for(var/mob/dead/observer/M in following_mobs)
|
||||
if(M.following != src)
|
||||
following_mobs -= M
|
||||
else
|
||||
if(M.loc != .)
|
||||
M.forceMove(.)
|
||||
|
||||
/mob/dead/observer/verb/jumptomob() //Moves the ghost instead of just changing the ghosts's eye -Nodrak
|
||||
/mob
|
||||
var/list/following_mobs = list()
|
||||
|
||||
/mob/Destroy()
|
||||
for(var/mob/dead/observer/M in following_mobs)
|
||||
M.following = null
|
||||
following_mobs = null
|
||||
return ..()
|
||||
|
||||
/mob/dead/observer/Destroy()
|
||||
if(ismob(following))
|
||||
var/mob/M = following
|
||||
M.following_mobs -= src
|
||||
following = null
|
||||
return ..()
|
||||
|
||||
/mob/Move()
|
||||
. = ..()
|
||||
if(.)
|
||||
update_following()
|
||||
|
||||
/mob/Life()
|
||||
// to catch teleports etc which directly set loc
|
||||
update_following()
|
||||
return ..()
|
||||
|
||||
/mob/dead/observer/verb/jumptomob(target in getmobs()) //Moves the ghost instead of just changing the ghosts's eye -Nodrak
|
||||
set category = "Ghost"
|
||||
set name = "Jump to Mob"
|
||||
set desc = "Teleport to a mob"
|
||||
|
||||
if(istype(usr, /mob/dead/observer)) //Make sure they're an observer!
|
||||
|
||||
|
||||
var/list/dest = list() //List of possible destinations (mobs)
|
||||
var/target = null //Chosen target.
|
||||
|
||||
dest += getmobs() //Fill list, prompt user with list
|
||||
target = input("Please, select a player!", "Jump to Mob", null, null) as null|anything in dest
|
||||
|
||||
if (!target)//Make sure we actually have a target
|
||||
return
|
||||
else
|
||||
var/mob/M = dest[target] //Destination mob
|
||||
var/mob/A = src //Source mob
|
||||
var/mob/M = getmobs()[target] //Destination mob
|
||||
var/turf/T = get_turf(M) //Turf of the destination mob
|
||||
|
||||
if(T && isturf(T)) //Make sure the turf exists, then move the source to that destination.
|
||||
A.loc = T
|
||||
forceMove(T)
|
||||
following = null
|
||||
else
|
||||
A << "This mob is not located in the game world."
|
||||
src << "This mob is not located in the game world."
|
||||
|
||||
|
||||
/* Now a spell. See spells.dm
|
||||
@@ -548,7 +585,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
return
|
||||
if(!client)
|
||||
return
|
||||
loc = T
|
||||
forceMove(T)
|
||||
following = null
|
||||
..()
|
||||
//END TELEPORT HREF CODE
|
||||
|
||||
@@ -452,8 +452,8 @@
|
||||
unarmed_type = /datum/unarmed_attack/punch
|
||||
|
||||
eyes = "blank_eyes"
|
||||
brute_mod = 1.5
|
||||
burn_mod = 1.5
|
||||
brute_mod = 2.5 // 100% * 2.5 * 0.6 (robolimbs) ~= 150%
|
||||
burn_mod = 2.5 // So they take 50% extra damage from brute/burn overall.
|
||||
|
||||
cold_level_1 = 50
|
||||
cold_level_2 = -1
|
||||
|
||||
@@ -526,7 +526,7 @@
|
||||
src << "You wriggle out of [M]'s grip!"
|
||||
else if(istype(H.loc,/obj/item))
|
||||
src << "You struggle free of [H.loc]."
|
||||
H.loc = get_turf(H)
|
||||
H.forceMove(get_turf(H))
|
||||
|
||||
if(istype(M))
|
||||
for(var/atom/A in M.contents)
|
||||
|
||||
@@ -269,7 +269,7 @@
|
||||
/obj/item/asteroid/hivelord_core
|
||||
name = "hivelord remains"
|
||||
desc = "All that remains of a hivelord, it seems to be what allows it to break pieces of itself off without being hurt... its healing properties will soon become inert if not used quickly. Try not to think about what you're eating."
|
||||
icon = 'icons/obj/food.dmi'
|
||||
icon = 'icons/obj/food/food.dmi'
|
||||
icon_state = "boiledrorocore"
|
||||
var/inert = 0
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/condiment
|
||||
name = "Condiment Container"
|
||||
desc = "Just your average condiment container."
|
||||
icon = 'icons/obj/food.dmi'
|
||||
icon = 'icons/obj/food/food.dmi'
|
||||
icon_state = "emptycondiment"
|
||||
flags = OPENCONTAINER
|
||||
possible_transfer_amounts = list(1,5,10)
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/drinks/flour
|
||||
name = "flour sack"
|
||||
desc = "A big bag of flour. Good for baking!"
|
||||
icon = 'icons/obj/food.dmi'
|
||||
icon = 'icons/obj/food/food.dmi'
|
||||
icon_state = "flour"
|
||||
item_state = "flour"
|
||||
New()
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks
|
||||
name = "snack"
|
||||
desc = "yummy"
|
||||
icon = 'icons/obj/food.dmi'
|
||||
icon = 'icons/obj/food/food.dmi'
|
||||
icon_state = null
|
||||
var/bitesize = 1
|
||||
var/bitecount = 0
|
||||
@@ -296,7 +296,7 @@
|
||||
///obj/item/weapon/reagent_containers/food/snacks/xenoburger //Identification path for the object.
|
||||
// name = "Xenoburger" //Name that displays in the UI.
|
||||
// desc = "Smells caustic. Tastes like heresy." //Duh
|
||||
// icon_state = "xburger" //Refers to an icon in food.dmi
|
||||
// icon_state = "xburger" //Refers to an icon in food/food.dmi
|
||||
// New() //Don't mess with this.
|
||||
// ..() //Same here.
|
||||
// reagents.add_reagent("xenomicrobes", 10) //This is what is in the food item. you may copy/paste
|
||||
@@ -368,6 +368,18 @@
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
bitesize = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cornchips
|
||||
name = "corn chips"
|
||||
desc = "Goes great with salsa! OLE!"
|
||||
icon_state = "chips"
|
||||
trash = /obj/item/trash/chips
|
||||
filling_color = "#E8C31E"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
bitesize = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cookie
|
||||
name = "cookie"
|
||||
desc = "COOKIE!!!"
|
||||
@@ -663,6 +675,17 @@
|
||||
desc = "We all love tofu."
|
||||
filling_color = "#FFFEE0"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("plantmatter", 3)
|
||||
src.bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fried_tofu
|
||||
name = "Fried Tofu"
|
||||
icon_state = "tofu"
|
||||
desc = "Proof that even vegetarians crave unhealthy foods."
|
||||
filling_color = "#FFFEE0"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
@@ -691,30 +714,6 @@
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
bitesize = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/carpmeat
|
||||
name = "carp fillet"
|
||||
desc = "A fillet of spess carp meat"
|
||||
icon_state = "fishfillet"
|
||||
filling_color = "#FFDEFE"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("protein", 3)
|
||||
reagents.add_reagent("carpotoxin", 3)
|
||||
src.bitesize = 6
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fishfingers
|
||||
name = "Fish Fingers"
|
||||
desc = "A finger of fish."
|
||||
icon_state = "fishfingers"
|
||||
filling_color = "#FFDEFE"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
reagents.add_reagent("carpotoxin", 3)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/hugemushroomslice
|
||||
name = "huge mushroom slice"
|
||||
desc = "A slice from a huge mushroom."
|
||||
@@ -896,18 +895,6 @@
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fishburger
|
||||
name = "Fillet -o- Carp Sandwich"
|
||||
desc = "Almost like a carp is yelling somewhere... Give me back that fillet -o- carp, give me that carp."
|
||||
icon_state = "fishburger"
|
||||
filling_color = "#FFDEFE"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("carpotoxin", 3)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofuburger
|
||||
name = "Tofu Burger"
|
||||
desc = "What.. is that meat?"
|
||||
@@ -1199,20 +1186,6 @@
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cubancarp
|
||||
name = "Cuban Carp"
|
||||
desc = "A grifftastic sandwich that burns your tongue and then leaves it numb!"
|
||||
icon_state = "cubancarp"
|
||||
trash = /obj/item/trash/plate
|
||||
filling_color = "#E9ADFF"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("carpotoxin", 3)
|
||||
reagents.add_reagent("capsaicin", 3)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/popcorn
|
||||
name = "Popcorn"
|
||||
desc = "Now let's find some cinema."
|
||||
@@ -1853,18 +1826,6 @@
|
||||
reagents.add_reagent("sodiumchloride", 1)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fishandchips
|
||||
name = "Fish and Chips"
|
||||
desc = "I do say so myself chap."
|
||||
icon_state = "fishandchips"
|
||||
filling_color = "#E3D796"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("carpotoxin", 3)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sandwich
|
||||
name = "Sandwich"
|
||||
desc = "A grand creation of meat, cheese, bread, and several leaves of lettuce! Arthur Dent would be proud."
|
||||
@@ -2308,7 +2269,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough_ball
|
||||
name = "ball of raw dough"
|
||||
desc = "A ball of raw dough, ready to be molded into new recipes."
|
||||
icon = 'icons/obj/food_ingredients.dmi'
|
||||
icon = 'icons/obj/food/food_ingredients.dmi'
|
||||
icon_state = "dough"
|
||||
New()
|
||||
..()
|
||||
@@ -2331,7 +2292,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough
|
||||
name = "flattened dough"
|
||||
desc = "Still raw. You resist the temptation to cover it in tomato sauce."
|
||||
icon = 'icons/obj/food_ingredients.dmi'
|
||||
icon = 'icons/obj/food/food_ingredients.dmi'
|
||||
icon_state = "flatdough"
|
||||
slice_path = /obj/item/weapon/reagent_containers/food/snacks/doughslice
|
||||
slices_num = 3
|
||||
@@ -2343,7 +2304,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/doughslice
|
||||
name = "slice of dough"
|
||||
desc = "an individual portion of raw dough, ready to be cooked."
|
||||
icon = 'icons/obj/food_ingredients.dmi'
|
||||
icon = 'icons/obj/food/food_ingredients.dmi'
|
||||
icon_state = "doughslice"
|
||||
bitesize = 2
|
||||
|
||||
@@ -2860,7 +2821,7 @@
|
||||
/obj/item/pizzabox
|
||||
name = "pizza box"
|
||||
desc = "A box suited for pizzas."
|
||||
icon = 'icons/obj/food.dmi'
|
||||
icon = 'icons/obj/food/food.dmi'
|
||||
icon_state = "pizzabox1"
|
||||
|
||||
var/open = 0 // Is the box open?
|
||||
@@ -2897,7 +2858,7 @@
|
||||
icon_state = "pizzabox_open"
|
||||
|
||||
if( pizza )
|
||||
var/image/pizzaimg = image("food.dmi", icon_state = pizza.icon_state)
|
||||
var/image/pizzaimg = image("food/food.dmi", icon_state = pizza.icon_state)
|
||||
pizzaimg.pixel_y = -3
|
||||
overlays += pizzaimg
|
||||
|
||||
@@ -2914,7 +2875,7 @@
|
||||
doimgtag = 1
|
||||
|
||||
if( doimgtag )
|
||||
var/image/tagimg = image("food.dmi", icon_state = "pizzabox_tag")
|
||||
var/image/tagimg = image("food/food.dmi", icon_state = "pizzabox_tag")
|
||||
tagimg.pixel_y = boxes.len * 3
|
||||
overlays += tagimg
|
||||
|
||||
@@ -3188,17 +3149,6 @@
|
||||
reagents.add_reagent("toxin", 3)
|
||||
bitesize = 4
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sashimi
|
||||
name = "carp sashimi"
|
||||
desc = "Celebrate surviving attack from hostile alien lifeforms by hospitalising yourself."
|
||||
icon_state = "sashimi"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("toxin", 5)
|
||||
bitesize = 3
|
||||
|
||||
|
||||
////////////////////////////////ICE CREAM///////////////////////////////////
|
||||
/obj/item/weapon/reagent_containers/food/snacks/icecream
|
||||
name = "ice cream"
|
||||
@@ -3245,7 +3195,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cereal
|
||||
name = "box of cereal"
|
||||
desc = "A box of cereal."
|
||||
icon = 'icons/obj/food.dmi'
|
||||
icon = 'icons/obj/food/food.dmi'
|
||||
icon_state = "cereal_box"
|
||||
bitesize = 2
|
||||
New()
|
||||
@@ -3254,7 +3204,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/deepfryholder
|
||||
name = "Deep Fried Foods Holder Obj"
|
||||
desc = "If you can see this description the code for the deep fryer fucked up."
|
||||
icon = 'icons/obj/food.dmi'
|
||||
icon = 'icons/obj/food/food.dmi'
|
||||
icon_state = "deepfried_holder_icon"
|
||||
bitesize = 2
|
||||
New()
|
||||
@@ -3280,7 +3230,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
name = "dough"
|
||||
desc = "A piece of dough."
|
||||
icon = 'icons/obj/food_ingredients.dmi'
|
||||
icon = 'icons/obj/food/food_ingredients.dmi'
|
||||
icon_state = "dough"
|
||||
bitesize = 2
|
||||
New()
|
||||
@@ -3303,7 +3253,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough
|
||||
name = "flat dough"
|
||||
desc = "Some flattened dough."
|
||||
icon = 'icons/obj/food_ingredients.dmi'
|
||||
icon = 'icons/obj/food/food_ingredients.dmi'
|
||||
icon_state = "flat dough"
|
||||
slice_path = /obj/item/weapon/reagent_containers/food/snacks/doughslice
|
||||
slices_num = 3
|
||||
@@ -3314,7 +3264,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/doughslice
|
||||
name = "dough slice"
|
||||
desc = "The building block of an impressive dish."
|
||||
icon = 'icons/obj/food_ingredients.dmi'
|
||||
icon = 'icons/obj/food/food_ingredients.dmi'
|
||||
icon_state = "doughslice"
|
||||
bitesize = 2
|
||||
New()
|
||||
@@ -3324,7 +3274,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bun
|
||||
name = "bun"
|
||||
desc = "The base for any self-respecting burger."
|
||||
icon = 'icons/obj/food_ingredients.dmi'
|
||||
icon = 'icons/obj/food/food_ingredients.dmi'
|
||||
icon_state = "bun"
|
||||
bitesize = 2
|
||||
New()
|
||||
@@ -3344,7 +3294,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/rawcutlet
|
||||
name = "raw cutlet"
|
||||
desc = "A thin piece of raw meat."
|
||||
icon = 'icons/obj/food_ingredients.dmi'
|
||||
icon = 'icons/obj/food/food_ingredients.dmi'
|
||||
icon_state = "rawcutlet"
|
||||
bitesize = 1
|
||||
New()
|
||||
@@ -3354,7 +3304,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cutlet
|
||||
name = "cutlet"
|
||||
desc = "A tasty meat slice."
|
||||
icon = 'icons/obj/food_ingredients.dmi'
|
||||
icon = 'icons/obj/food/food_ingredients.dmi'
|
||||
icon_state = "cutlet"
|
||||
bitesize = 2
|
||||
New()
|
||||
@@ -3364,7 +3314,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/rawmeatball
|
||||
name = "raw meatball"
|
||||
desc = "A raw meatball."
|
||||
icon = 'icons/obj/food_ingredients.dmi'
|
||||
icon = 'icons/obj/food/food_ingredients.dmi'
|
||||
icon_state = "rawmeatball"
|
||||
bitesize = 2
|
||||
New()
|
||||
@@ -3383,7 +3333,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flatbread
|
||||
name = "flatbread"
|
||||
desc = "Bland but filling."
|
||||
icon = 'icons/obj/food_ingredients.dmi'
|
||||
icon = 'icons/obj/food/food_ingredients.dmi'
|
||||
icon_state = "flatbread"
|
||||
bitesize = 2
|
||||
New()
|
||||
@@ -3402,7 +3352,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/rawsticks
|
||||
name = "raw potato sticks"
|
||||
desc = "Raw fries, not very tasty."
|
||||
icon = 'icons/obj/food_ingredients.dmi'
|
||||
icon = 'icons/obj/food/food_ingredients.dmi'
|
||||
icon_state = "rawsticks"
|
||||
bitesize = 2
|
||||
New()
|
||||
|
||||
@@ -0,0 +1,266 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/carpmeat
|
||||
name = "carp fillet"
|
||||
desc = "A fillet of spess carp meat"
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "fishfillet"
|
||||
filling_color = "#FFDEFE"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("protein", 3)
|
||||
reagents.add_reagent("carpotoxin", 3)
|
||||
src.bitesize = 6
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/salmonmeat
|
||||
name = "raw salmon"
|
||||
desc = "A fillet of raw salmon"
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "fishfillet"
|
||||
filling_color = "#FFDEFE"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("protein", 3)
|
||||
src.bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/salmonsteak
|
||||
name = "Salmon steak"
|
||||
desc = "A piece of freshly-grilled salmon meat."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "salmonsteak"
|
||||
trash = /obj/item/trash/plate
|
||||
filling_color = "#7A3D11"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
reagents.add_reagent("sodiumchloride", 1)
|
||||
reagents.add_reagent("blackpepper", 1)
|
||||
bitesize = 3
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/catfishmeat
|
||||
name = "raw catfish"
|
||||
desc = "A fillet of raw catfish"
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "fishfillet"
|
||||
filling_color = "#FFDEFE"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("protein", 3)
|
||||
src.bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fishfingers
|
||||
name = "Fish Fingers"
|
||||
desc = "A finger of fish."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "fishfingers"
|
||||
filling_color = "#FFDEFE"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
reagents.add_reagent("carpotoxin", 3)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fishburger
|
||||
name = "Fillet -o- Carp Sandwich"
|
||||
desc = "Almost like a carp is yelling somewhere... Give me back that fillet -o- carp, give me that carp."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "fishburger"
|
||||
filling_color = "#FFDEFE"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("carpotoxin", 3)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cubancarp
|
||||
name = "Cuban Carp"
|
||||
desc = "A grifftastic sandwich that burns your tongue and then leaves it numb!"
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "cubancarp"
|
||||
trash = /obj/item/trash/plate
|
||||
filling_color = "#E9ADFF"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("carpotoxin", 3)
|
||||
reagents.add_reagent("capsaicin", 3)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fishandchips
|
||||
name = "Fish and Chips"
|
||||
desc = "I do say so myself chap."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "fishandchips"
|
||||
filling_color = "#E3D796"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("carpotoxin", 3)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sashimi
|
||||
name = "carp sashimi"
|
||||
desc = "Celebrate surviving attack from hostile alien lifeforms by hospitalising yourself."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "sashimi"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
reagents.add_reagent("toxin", 5)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fried_shrimp
|
||||
name = "fried shrimp"
|
||||
desc = "Just one of the many things you can do with shrimp!"
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "shrimp_fried"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
src.bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiled_shrimp
|
||||
name = "boiled shrimp"
|
||||
desc = "Just one of the many things you can do with shrimp!"
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "shrimp_cooked"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
src.bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sushi_Ebi
|
||||
name = "Ebi Sushi"
|
||||
desc = "A simple sushi consisting of cooked shrimp and rice."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "sushi_Ebi"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sushi_Ikura
|
||||
name = "Ikura Sushi"
|
||||
desc = "A simple sushi consisting of salmon roe."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "sushi_Ikura"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("protien", 1)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sushi_Sake
|
||||
name = "Sake Sushi"
|
||||
desc = "A simple sushi consisting of raw salmon and rice."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "sushi_Sake"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sushi_SmokedSalmon
|
||||
name = "Smoked Salmon Sushi"
|
||||
desc = "A simple sushi consisting of cooked salmon and rice."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "sushi_SmokedSalmon"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sushi_Tamago
|
||||
name = "Tamago Sushi"
|
||||
desc = "A simple sushi consisting of egg and rice."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "sushi_Tamago"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sushi_Inari
|
||||
name = "Inari Sushi"
|
||||
desc = "A piece of fried tofu stuffed with rice."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "sushi_Inari"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sushi_Masago
|
||||
name = "Masago Sushi"
|
||||
desc = "A simple sushi consisting of goldfish roe."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "sushi_Masago"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("protien", 1)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sushi_Tobiko
|
||||
name = "Ikura Sushi"
|
||||
desc = "A simple sushi consisting of shark roe."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "sushi_Tobiko"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("protien", 1)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sushi_TobikoEgg
|
||||
name = "Tobiko and Egg Sushi"
|
||||
desc = "A sushi consisting of shark roe and an egg."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "sushi_TobikoEgg"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("protien", 1)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sushi_Tai
|
||||
name = "Tai Sushi"
|
||||
desc = "A simple sushi consisting of catfish and rice."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "sushi_Tai"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sushi_Unagi
|
||||
name = "Unagi Sushi"
|
||||
desc = "A simple sushi consisting of eel and rice."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "sushi_Hokki"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
bitesize = 3
|
||||
@@ -22,6 +22,16 @@
|
||||
build_path = /obj/item/weapon/circuitboard/smes
|
||||
category = list ("Engineering Machinery")
|
||||
|
||||
/datum/design/emitter
|
||||
name = "Machine Board (Emitter)"
|
||||
desc = "The circuit board for an emitter."
|
||||
id = "emitter"
|
||||
req_tech = list("programming" = 4, "powerstorage" = 5, "engineering" = 5)
|
||||
build_type = IMPRINTER
|
||||
materials = list("$glass" = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/emitter
|
||||
category = list ("Engineering Machinery")
|
||||
|
||||
/datum/design/telepad
|
||||
name = "Machine Board (Telepad Board)"
|
||||
desc = "Allows for the construction of circuit boards used to build a Telepad."
|
||||
|
||||
@@ -969,4 +969,31 @@
|
||||
build_path =/obj/item/mecha_parts/mecha_tracking
|
||||
materials = list("$metal"=500)
|
||||
construction_time = 50
|
||||
category = list("Misc")
|
||||
|
||||
/datum/design/ipc_head
|
||||
name = "IPC Head"
|
||||
id = "ipc_head"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/organ/external/head/ipc
|
||||
materials = list("$metal"=15000, "$glass"=5000)
|
||||
construction_time = 350
|
||||
category = list("Misc")
|
||||
|
||||
/datum/design/ipc_cell
|
||||
name = "IPC Microbattery"
|
||||
id = "ipc_cell"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/organ/cell
|
||||
materials = list("$metal"=2000, "$glass"=750)
|
||||
construction_time = 200
|
||||
category = list("Misc")
|
||||
|
||||
/datum/design/ipc_optics
|
||||
name = "IPC Optical Sensor"
|
||||
id = "ipc_optics"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/organ/optical_sensor
|
||||
materials = list("$metal"=1000, "$glass"=2500)
|
||||
construction_time = 200
|
||||
category = list("Misc")
|
||||
Reference in New Issue
Block a user