Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into cargonia

Conflicts:
	code/game/supplyshuttle.dm
This commit is contained in:
Markolie
2015-08-25 00:46:32 +02:00
39 changed files with 1048 additions and 311 deletions
+5 -4
View File
@@ -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
View File
@@ -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"
+1
View File
@@ -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"
+45 -2
View File
@@ -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"
+152
View File
@@ -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")
+29 -11
View File
@@ -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
View File
@@ -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
+1 -1
View File
@@ -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)
+53 -1
View File
@@ -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
+25 -1
View File
@@ -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
+6
View File
@@ -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
+72
View File
@@ -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
+78 -41
View File
@@ -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
+1 -1
View File
@@ -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")