- invented new machine for botanists: Biogenerator. Biogenerator converts unneeded biomass to useful substances like milk. Avaylable only trough admin powers at the moment.

- added roller bed (for medics). Place human, buckle him to this bed, the bed raises and can be pulled.

- eggs and tomatoes can be smashed of wall, floor [s]or captain's face[/s] not yes.

Code by Balagi, sprites by Farart.

-some fixes for the crew monitoring computer. It can be disassembled now.
-added crew monitoring circuit board. Requires programming  3, biotech 2, magnets 2.
-Mech Bay Power Control Console и Solar Control can be disassembled now.
-added crew Mech Bay Power Control Console circuit. Requirements are programming=2, powerstorage=3.
-Solar Control circuit boardcan be researched. Requirements are programming=2, powerstorage=2.
-R&D Console can be researched and created (requires programming 6). But R&D Console cannot be deconstructed for tech points. That's intended.
Code by Jack Rost.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1880 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
rastaf.zero@gmail.com
2011-07-18 03:48:37 +00:00
parent 1f31f809cd
commit 338c826d1c
15 changed files with 495 additions and 14 deletions

View File

@@ -203,6 +203,44 @@
name = "Magix System IV" name = "Magix System IV"
desc = "An arcane artifact that holds much magic. Running E-Knock 2.2: Sorceror's Edition" desc = "An arcane artifact that holds much magic. Running E-Knock 2.2: Sorceror's Edition"
/*/obj/machinery/computer/scan_consolenew //Coming Soon
name = "DNA Modifier Access Console"
desc = "Scand DNA."
icon = 'computer.dmi'
icon_state = "scanner"
density = 1
var/uniblock = 1.0
var/strucblock = 1.0
var/subblock = 1.0
var/status = null
var/radduration = 2.0
var/radstrength = 1.0
var/radacc = 1.0
var/buffer1 = null
var/buffer2 = null
var/buffer3 = null
var/buffer1owner = null
var/buffer2owner = null
var/buffer3owner = null
var/buffer1label = null
var/buffer2label = null
var/buffer3label = null
var/buffer1type = null
var/buffer2type = null
var/buffer3type = null
var/buffer1iue = 0
var/buffer2iue = 0
var/buffer3iue = 0
var/delete = 0
var/injectorready = 1
var/temphtml = null
var/obj/machinery/dna_scanner/connected = null
var/obj/item/weapon/disk/data/diskette = null
anchored = 1.0
use_power = 1
idle_power_usage = 10
active_power_usage = 400 */
/obj/machinery/computer/secure_data /obj/machinery/computer/secure_data
name = "Security Records" name = "Security Records"
desc = "Beepsky. ARREST!!!" desc = "Beepsky. ARREST!!!"
@@ -270,4 +308,12 @@
desc = "Use this to set your destination...hopefully..." desc = "Use this to set your destination...hopefully..."
icon_state = "teleport" icon_state = "teleport"
locked = null locked = null
id = null id = null
/obj/machinery/computer/crew
name = "Crew monitoring computer"
icon_state = "crew"
use_power = 1
idle_power_usage = 250
active_power_usage = 500
var/list/tracked = list( )

View File

@@ -253,4 +253,23 @@
Del() Del()
for(var/datum/disease/D in viruses) for(var/datum/disease/D in viruses)
D.cure(0) D.cure(0)
..() ..()
/obj/decal/cleanable/tomato_smudge
name = "Tomato smooth"
desc = "It's red"
density = 0
anchored = 1
layer = 2
icon = 'tomatodecal.dmi'
random_icon_states = list("tomato_floor1", "tomato_floor2", "tomato_floor3")
/obj/decal/cleanable/egg_smudge
name = "Smashed egg"
desc = ""
density = 0
anchored = 1
layer = 2
icon = 'tomatodecal.dmi'
random_icon_states = list("smashed_egg1", "smashed_egg2", "smashed_egg3")

View File

@@ -1289,6 +1289,13 @@
..() ..()
reagents.add_reagent("nutriment", 2) reagents.add_reagent("nutriment", 2)
throw_impact(atom/hit_atom)
..()
new/obj/decal/cleanable/tomato_smudge(src.loc)
src.visible_message("\red [src.name] has been squashed.","\red You hear a smack.")
del(src)
return
/obj/item/weapon/reagent_containers/food/snacks/grown/killertomato /obj/item/weapon/reagent_containers/food/snacks/grown/killertomato
seed = "/obj/item/seeds/killertomatoseed" seed = "/obj/item/seeds/killertomatoseed"
name = "Killer Tomato" name = "Killer Tomato"
@@ -1844,4 +1851,4 @@
yieldmod = 2 yieldmod = 2
New() New()
src.pixel_x = rand(-5.0, 5) src.pixel_x = rand(-5.0, 5)
src.pixel_y = rand(-5.0, 5) src.pixel_y = rand(-5.0, 5)

View File

@@ -0,0 +1,177 @@
/obj/machinery/biogenerator
name = "Biogenerator"
desc = ""
icon = 'biogenerator.dmi'
icon_state = "biogen-stand"
density = 1
anchored = 1
use_power = 1
idle_power_usage = 40
var/processing = 0
var/obj/item/weapon/reagent_containers/glass/beaker = null
var/points = 0
var/menustat = "menu"
New()
..()
var/datum/reagents/R = new/datum/reagents(1000)
reagents = R
R.my_atom = src
beaker = new /obj/item/weapon/reagent_containers/glass/large(src)
on_reagent_change() //When the reagents change, change the icon as well.
update_icon()
update_icon()
if(!src.beaker)
icon_state = "biogen-empty"
else if(!src.processing)
icon_state = "biogen-stand"
else
icon_state = "biogen-work"
return
/obj/machinery/biogenerator/attackby(var/obj/item/O as obj, var/mob/user as mob)
if(istype(O, /obj/item/weapon/reagent_containers/glass))
if(beaker)
user << "\red Biogenerator already occuped."
else
user.before_take_item(O)
O.loc = src
beaker = O
updateUsrDialog()
else if(!istype(O, /obj/item/weapon/reagent_containers/food/snacks/grown))
user << "\red You cannot put this in [src.name]"
else if(processing)
user << "\red Biogenerator is processing."
else
var/i = 0
for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in contents)
i++
if(i >= 10)
user << "\red Biogenerator is fulled! Activate it."
else
user.before_take_item(O)
O.loc = src
user << "\blue You put [O.name] in [src.name]"
update_icon()
return
/obj/machinery/biogenerator/proc/interact(mob/user as mob)
if(stat & BROKEN)
return
user.machine = src
var/dat = "<TITLE>Biogenerator</TITLE>Biogenerator:<BR>"
if (processing)
dat += "<FONT COLOR=red>Biogenerator is processing! Please wait...</FONT>"
else
dat += "Biomass: [points] points.<HR>"
switch(menustat)
if("menu")
if (beaker)
dat += "<A href='?src=\ref[src];action=activate'>Activate Biogenerator!</A><BR>"
dat += "<A href='?src=\ref[src];action=detach'>Detach Container</A><BR><BR>"
dat += "Food<BR>"
dat += "<A href='?src=\ref[src];action=create;item=milk;cost=20'>10 milk</A> <FONT COLOR=blue>(20)</FONT><BR>"
dat += "<A href='?src=\ref[src];action=create;item=meat;cost=50'>Slab of meat</A> <FONT COLOR=blue>(50)</FONT><BR>"
dat += "Nutrient<BR>"
dat += "<A href='?src=\ref[src];action=create;item=ez;cost=10'>E-Z-Nutrient</A> <FONT COLOR=blue>(10)</FONT><BR>"
dat += "<A href='?src=\ref[src];action=create;item=l4z;cost=20'>Left 4 Zed</A> <FONT COLOR=blue>(20)</FONT><BR>"
dat += "<A href='?src=\ref[src];action=create;item=rh;cost=25'>Robust Harvest</A> <FONT COLOR=blue>(25)</FONT><BR>"
//dat += "Other<BR>"
//dat += "<A href='?src=\ref[src];action=create;item=monkey;cost=500'>Monkey</A> <FONT COLOR=blue>(500)</FONT><BR>"
else
dat += "<BR><FONT COLOR=red>No beaker inside. Please insert a beaker.</FONT><BR>"
if("nopoints")
dat += "You do not have biomass to create products.<BR>Please, put growns into reactor and activate it.<BR>"
dat += "<A href='?src=\ref[src];action=menu'>Return to menu</A>"
if("complete")
dat += "Operation complete.<BR>"
dat += "<A href='?src=\ref[src];action=menu'>Return to menu</A>"
if("void")
dat += "<FONT COLOR=red>Error: No growns inside.</FONT><BR>Please, put growns into reactor.<BR>"
dat += "<A href='?src=\ref[src];action=menu'>Return to menu</A>"
user << browse(dat, "window=biogenerator")
onclose(user, "biogenerator")
return
/obj/machinery/biogenerator/attack_hand(mob/user as mob)
interact(user)
/obj/machinery/biogenerator/proc/activate()
if (usr.stat != 0)
return
if (src.stat != 0) //NOPOWER etc
return
if(src.processing)
usr << "\red The biogenerator is in the process of working."
return
var/S = 0
for(var/obj/item/weapon/reagent_containers/food/snacks/grown/I in contents)
//I.reagents.trans_to(src)
S += 5
if(I.potency == -1)
points += 10
else points += I.potency
del(I)
if(S)
processing = 1
update_icon()
updateUsrDialog()
playsound(src.loc, 'blender.ogg', 50, 1)
use_power(S*30)
sleep(S+15)
//points += src.reagents.get_reagent_amount("nutriment")
//src.reagents.del_reagent("nutriment")
processing = 0
update_icon()
else
menustat = "void"
return
/obj/machinery/biogenerator/proc/create_product(var/item,var/cost)
if(cost > points)
menustat = "nopoints"
return 0
processing = 1
update_icon()
updateUsrDialog()
points -= cost
sleep(30)
switch(item)
if("milk")
beaker.reagents.add_reagent("milk",10)
if("meat")
new/obj/item/weapon/reagent_containers/food/snacks/meat(src.loc)
if("ez")
new/obj/item/nutrient/ez(src.loc)
if("l4z")
new/obj/item/nutrient/l4z(src.loc)
if("rh")
new/obj/item/nutrient/rh(src.loc)
if("monkey")
new/mob/living/carbon/monkey(src.loc)
processing = 0
menustat = "complete"
update_icon()
return 1
/obj/machinery/biogenerator/Topic(href, href_list)
if(stat & BROKEN) return
if(usr.stat || usr.restrained()) return
if(!in_range(src, usr)) return
usr.machine = src
switch(href_list["action"])
if("activate")
activate()
if("detach")
beaker.loc = src.loc
beaker = null
update_icon()
if("create")
create_product(href_list["item"],text2num(href_list["cost"]))
if("menu")
menustat = "menu"
updateUsrDialog()

View File

@@ -108,6 +108,7 @@
/obj/item/weapon/circuitboard/solar_control /obj/item/weapon/circuitboard/solar_control
name = "Circuit board (Solar Control)" //name fixed 250810 name = "Circuit board (Solar Control)" //name fixed 250810
build_path = "/obj/machinery/power/solar_control" build_path = "/obj/machinery/power/solar_control"
origin_tech = "programming=2;powerstorage=2"
/obj/item/weapon/circuitboard/powermonitor /obj/item/weapon/circuitboard/powermonitor
name = "Circuit board (Power Monitor)" //name fixed 250810 name = "Circuit board (Power Monitor)" //name fixed 250810
build_path = "/obj/machinery/power/monitor" build_path = "/obj/machinery/power/monitor"
@@ -132,7 +133,14 @@
/obj/item/weapon/circuitboard/rdservercontrol /obj/item/weapon/circuitboard/rdservercontrol
name = "Circuit Board (R&D Server Control)" name = "Circuit Board (R&D Server Control)"
build_path = "/obj/machinery/computer/rdservercontrol" build_path = "/obj/machinery/computer/rdservercontrol"
/obj/item/weapon/circuitboard/crew
name = "Circuit board (Crew monitoring computer)"
build_path = "/obj/machinery/computer/crew"
origin_tech = "programming=3;biotech=2;magnets=2"
/obj/item/weapon/circuitboard/mech_bay_power_console
name = "Circuit board (Mech Bay Power Control Console)"
build_path = "/obj/machinery/computer/mech_bay_power_console"
origin_tech = "programming=2;powerstorage=3"
/obj/computerframe/attackby(obj/item/P as obj, mob/user as mob) /obj/computerframe/attackby(obj/item/P as obj, mob/user as mob)

View File

@@ -1,13 +1,35 @@
/obj/machinery/computer/crew/attackby(I as obj, user as mob)
if(istype(I, /obj/item/weapon/screwdriver))
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
if(do_after(user, 20))
if (src.stat & BROKEN)
user << "\blue The broken glass falls out."
var/obj/computerframe/A = new /obj/computerframe( src.loc )
new /obj/item/weapon/shard( src.loc )
var/obj/item/weapon/circuitboard/crew/M = new /obj/item/weapon/circuitboard/crew( A )
for (var/obj/C in src)
C.loc = src.loc
A.circuit = M
A.state = 3
A.icon_state = "3"
A.anchored = 1
del(src)
else
user << "\blue You disconnect the monitor."
var/obj/computerframe/A = new /obj/computerframe( src.loc )
var/obj/item/weapon/circuitboard/crew/M = new /obj/item/weapon/circuitboard/crew( A )
for (var/obj/C in src)
C.loc = src.loc
A.circuit = M
A.state = 4
A.icon_state = "4"
A.anchored = 1
del(src)
else
src.attack_hand(user)
return
/obj/machinery/computer/crew /obj/machinery/computer/crew
name = "crew monitoring computer"
icon_state = "crew"
use_power = 1
idle_power_usage = 250
active_power_usage = 500
var
list/tracked
New() New()
tracked = list() tracked = list()
..() ..()

View File

@@ -171,6 +171,36 @@
if(recharge_port) if(recharge_port)
recharge_port.stop_charge() recharge_port.stop_charge()
attackby(I as obj, user as mob)
if(istype(I, /obj/item/weapon/screwdriver))
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
if(do_after(user, 20))
if (src.stat & BROKEN)
user << "\blue The broken glass falls out."
var/obj/computerframe/A = new /obj/computerframe( src.loc )
new /obj/item/weapon/shard( src.loc )
var/obj/item/weapon/circuitboard/mech_bay_power_console/M = new /obj/item/weapon/circuitboard/mech_bay_power_console( A )
for (var/obj/C in src)
C.loc = src.loc
A.circuit = M
A.state = 3
A.icon_state = "3"
A.anchored = 1
del(src)
else
user << "\blue You disconnect the monitor."
var/obj/computerframe/A = new /obj/computerframe( src.loc )
var/obj/item/weapon/circuitboard/mech_bay_power_console/M = new /obj/item/weapon/circuitboard/mech_bay_power_console( A )
for (var/obj/C in src)
C.loc = src.loc
A.circuit = M
A.state = 4
A.icon_state = "4"
A.anchored = 1
del(src)
else
src.attack_hand(user)
return
attack_hand(mob/user as mob) attack_hand(mob/user as mob)
if(..()) return if(..()) return

View File

@@ -258,3 +258,67 @@
if (manual_unbuckle_all(user)) if (manual_unbuckle_all(user))
src.add_fingerprint(user) src.add_fingerprint(user)
return return
//roller bed
/obj/stool/bed/roller
name = "roller bed"
icon = 'rollerbed.dmi'
icon_state = "down"
anchored = 0
Move()
..()
for(var/mob/M in src:buckled_mobs)
if (M.buckled == src)
M.loc = src.loc
buckle_mob(mob/M as mob, mob/user as mob)
if (!ticker)
user << "You can't buckle anyone in before the game starts."
return 0
if ((!( istype(M, /mob) ) || get_dist(src, user) > 1 || M.loc != src.loc || user.restrained() || usr.stat || M.buckled))
return 0
if (M == usr)
M.visible_message(\
"\blue [M.name] buckles in!",\
"You buckle yourself to [src].",\
"You hear metal clanking")
else
M.visible_message(\
"\blue [M.name] is buckled in to [src] by [user.name]!",\
"You buckled in to [src] by [user.name].",\
"You hear metal clanking")
M.anchored = 1
M.buckled = src
M.loc = src.loc
M.pixel_y = 6
M.update_clothing()
src:buckled_mobs += M
src.add_fingerprint(user)
density = 1
icon_state = "up"
return 1
manual_unbuckle_all(mob/user as mob)
var/N = 0;
for(var/mob/M in src:buckled_mobs)
if (M.buckled == src)
if (M != user)
M.visible_message(\
"\blue [M.name] was unbuckled by [user.name]!",\
"You unbuckled from [src] by [user.name].",\
"You hear metal clanking")
else
M.visible_message(\
"\blue [M.name] was unbuckled himself!",\
"You unbuckle yourself from [src].",\
"You hear metal clanking")
M.pixel_y = 0
M.anchored = 0
M.buckled = null
N++
if(N)
density = 0
icon_state = "down"
return N

View File

@@ -147,6 +147,15 @@ datum
materials = list("$glass" = 2000, "acid" = 20) materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/card" build_path = "/obj/item/weapon/circuitboard/card"
crewconsole
name = "Circuit Design (Crew monitoring computer)"
desc = "Allows for the construction of circuit boards used to build an Crew monitoring computer."
id = "crewconsole"
req_tech = list("programming" = 3, "magnets" = 2, "biotech" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/crew"
teleconsole teleconsole
name = "Circuit Design (Teleporter Console)" name = "Circuit Design (Teleporter Console)"
desc = "Allows for the construction of circuit boards used to build a teleporter control console." desc = "Allows for the construction of circuit boards used to build a teleporter control console."
@@ -228,6 +237,15 @@ datum
materials = list("$glass" = 2000, "acid" = 20) materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/powermonitor" build_path = "/obj/item/weapon/circuitboard/powermonitor"
solarcontrol
name = "Circuit Design (Solar Control)"
desc = "Allows for the construction of circuit boards used to build a solar control console"
id = "solarcontrol"
req_tech = list("programming" = 2, "powerstorage" = 2)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/solar_control"
prisonmanage prisonmanage
name = "Circuit Design (Prisoner Management Console)" name = "Circuit Design (Prisoner Management Console)"
desc = "Allows for the construction of circuit boards used to build a prisoner management console." desc = "Allows for the construction of circuit boards used to build a prisoner management console."
@@ -246,6 +264,24 @@ datum
materials = list("$glass" = 2000, "acid" = 20) materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/mecha_control" build_path = "/obj/item/weapon/circuitboard/mecha_control"
mechapower
name = "Circuit Design (Mech Bay Power Control Console)"
desc = "Allows for the construction of circuit boards used to build an mech bay power control console."
id = "mechapower"
req_tech = list("programming" = 2, "powerstorage" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/mech_bay_power_console"
rdconsole
name = "Circuit Design (R&D Console)"
desc = "Allows for the construction of circuit boards used to build an new R&D console."
id = "rdconsole"
req_tech = list("programming" = 6)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/rdconsole"
/////////////////////////////////// ///////////////////////////////////
//////////AI Module Disks////////// //////////AI Module Disks//////////
/////////////////////////////////// ///////////////////////////////////
@@ -561,7 +597,6 @@ datum
req_tech = list("magnets" = 3, "programming" = 3, "engineering" = 3) req_tech = list("magnets" = 3, "programming" = 3, "engineering" = 3)
build_path = "/obj/item/mecha_parts/mecha_equipment/repair_droid" build_path = "/obj/item/mecha_parts/mecha_equipment/repair_droid"
//////////////////////////////////////// ////////////////////////////////////////
//////////Disk Construction Disks/////// //////////Disk Construction Disks///////
//////////////////////////////////////// ////////////////////////////////////////

View File

@@ -30,6 +30,7 @@
name = "candy" name = "candy"
desc = "Nougat love it or hate it." desc = "Nougat love it or hate it."
icon_state = "candy" icon_state = "candy"
trash = "candy"
New() New()
..() ..()
reagents.add_reagent("nutriment", 1) reagents.add_reagent("nutriment", 1)
@@ -50,6 +51,7 @@
name = "chips" name = "chips"
desc = "Commander Riker's What-The-Crisps" desc = "Commander Riker's What-The-Crisps"
icon_state = "chips" icon_state = "chips"
trash = "chips"
New() New()
..() ..()
reagents.add_reagent("nutriment", 3) reagents.add_reagent("nutriment", 3)
@@ -88,6 +90,12 @@
..() ..()
reagents.add_reagent("nutriment", 1) reagents.add_reagent("nutriment", 1)
throw_impact(atom/hit_atom)
..()
new/obj/decal/cleanable/egg_smudge(src.loc)
src.visible_message("\red [src.name] has been squashed.","\red You hear a smack.")
del(src)
/obj/item/weapon/reagent_containers/food/snacks/flour /obj/item/weapon/reagent_containers/food/snacks/flour
name = "flour" name = "flour"
desc = "Some flour" desc = "Some flour"
@@ -381,6 +389,7 @@
name = "Berry Clafoutis" name = "Berry Clafoutis"
desc = "No black birds, this is a good sign." desc = "No black birds, this is a good sign."
icon_state = "berryclafoutis" icon_state = "berryclafoutis"
trash = "plate"
New() New()
..() ..()
reagents.add_reagent("nutriment", 4) reagents.add_reagent("nutriment", 4)
@@ -391,6 +400,7 @@
name = "waffles" name = "waffles"
desc = "Mmm, waffles" desc = "Mmm, waffles"
icon_state = "waffles" icon_state = "waffles"
trash = "waffles"
New() New()
..() ..()
reagents.add_reagent("nutriment", 8) reagents.add_reagent("nutriment", 8)
@@ -400,6 +410,7 @@
name = "Eggplant Parmigiana" name = "Eggplant Parmigiana"
desc = "The only good recipe for eggplant." desc = "The only good recipe for eggplant."
icon_state = "eggplantparm" icon_state = "eggplantparm"
trash = "plate"
New() New()
..() ..()
reagents.add_reagent("nutriment", 6) reagents.add_reagent("nutriment", 6)
@@ -446,6 +457,7 @@
// var/job = null // var/job = null
icon_state = "meatpie" icon_state = "meatpie"
desc = "The best meatpies on station." desc = "The best meatpies on station."
trash = "plate"
New() New()
..() ..()
reagents.add_reagent("nutriment", 10) reagents.add_reagent("nutriment", 10)
@@ -455,6 +467,7 @@
name = "Meat-pie" name = "Meat-pie"
icon_state = "meatpie" icon_state = "meatpie"
desc = "A delicious meatpie." desc = "A delicious meatpie."
trash = "plate"
New() New()
..() ..()
reagents.add_reagent("nutriment", 10) reagents.add_reagent("nutriment", 10)
@@ -464,6 +477,7 @@
name = "Tofu-pie" name = "Tofu-pie"
icon_state = "meatpie" icon_state = "meatpie"
desc = "A delicious tofu pie." desc = "A delicious tofu pie."
trash = "plate"
New() New()
..() ..()
reagents.add_reagent("nutriment", 10) reagents.add_reagent("nutriment", 10)
@@ -499,6 +513,7 @@
name = "Xeno-pie" name = "Xeno-pie"
icon_state = "xenomeatpie" icon_state = "xenomeatpie"
desc = "A delicious meatpie. Probably heretical." desc = "A delicious meatpie. Probably heretical."
trash = "plate"
New() New()
..() ..()
reagents.add_reagent("nutriment", 2) reagents.add_reagent("nutriment", 2)
@@ -509,6 +524,7 @@
name = "Wing Fang Chu" name = "Wing Fang Chu"
desc = "A savory dish of alien wing wang in soy." desc = "A savory dish of alien wing wang in soy."
icon_state = "wingfangchu" icon_state = "wingfangchu"
trash = "snack_bowl"
New() New()
..() ..()
reagents.add_reagent("nutriment", 1) reagents.add_reagent("nutriment", 1)
@@ -578,6 +594,7 @@
name = "Cuban Carp" name = "Cuban Carp"
desc = "A grifftastic sandwich that burns your tongue and then leaves it numb!" desc = "A grifftastic sandwich that burns your tongue and then leaves it numb!"
icon_state = "cubancarp" icon_state = "cubancarp"
trash = "plate"
New() New()
..() ..()
reagents.add_reagent("nutriment", 6) reagents.add_reagent("nutriment", 6)
@@ -589,6 +606,7 @@
name = "Popcorm" //not a typo name = "Popcorm" //not a typo
desc = "Now let's find some cinema." desc = "Now let's find some cinema."
icon_state = "popcorn" icon_state = "popcorn"
trash = "popcorn"
var/unpopped = 0 var/unpopped = 0
New() New()
..() ..()
@@ -599,12 +617,14 @@
if(prob(unpopped)) if(prob(unpopped))
usr << "\red You bite down on an un-popped kernel!" usr << "\red You bite down on an un-popped kernel!"
unpopped = max(0, unpopped-1) unpopped = max(0, unpopped-1)
..()
/obj/item/weapon/reagent_containers/food/snacks/sosjerky /obj/item/weapon/reagent_containers/food/snacks/sosjerky
name = "Scaredy's Private Reserve Beef Jerky" name = "Scaredy's Private Reserve Beef Jerky"
icon_state = "sosjerky" icon_state = "sosjerky"
desc = "Beef jerky made from the finest space cows." desc = "Beef jerky made from the finest space cows."
trash = "sosjerky"
New() New()
..() ..()
reagents.add_reagent("nutriment", 4) reagents.add_reagent("nutriment", 4)
@@ -614,6 +634,7 @@
name = "4no Raisins" name = "4no Raisins"
icon_state = "4no_raisins" icon_state = "4no_raisins"
desc = "Best raisins in the universe. Not sure why." desc = "Best raisins in the universe. Not sure why."
trash = "raisins"
New() New()
..() ..()
reagents.add_reagent("nutriment", 6) reagents.add_reagent("nutriment", 6)
@@ -631,6 +652,7 @@
name = "Cheesie Honkers" name = "Cheesie Honkers"
icon_state = "cheesie_honkers" icon_state = "cheesie_honkers"
desc = "Bite sized cheesie snacks that will honk all over your mouth" desc = "Bite sized cheesie snacks that will honk all over your mouth"
trash = "cheesie"
New() New()
..() ..()
reagents.add_reagent("nutriment", 4) reagents.add_reagent("nutriment", 4)
@@ -640,6 +662,7 @@
name = "Syndi-Cakes" name = "Syndi-Cakes"
icon_state = "syndi_cakes" icon_state = "syndi_cakes"
desc = "An extremely moist snack cake that tastes just as good after being nuked." desc = "An extremely moist snack cake that tastes just as good after being nuked."
trash = "syndi_cakes"
New() New()
..() ..()
reagents.add_reagent("nutriment", 4) reagents.add_reagent("nutriment", 4)
@@ -650,6 +673,7 @@
name = "Loaded Baked Potato" name = "Loaded Baked Potato"
desc = "Totally baked." desc = "Totally baked."
icon_state = "loadedbakedpotato" icon_state = "loadedbakedpotato"
trash = "loadedbakedpotato"
New() New()
..() ..()
reagents.add_reagent("nutriment", 6) reagents.add_reagent("nutriment", 6)
@@ -688,6 +712,7 @@
name = "Cheesy Fries" name = "Cheesy Fries"
desc = "Fries. Covered in cheese. Duh." desc = "Fries. Covered in cheese. Duh."
icon_state = "cheesyfries" icon_state = "cheesyfries"
trash = "plate"
New() New()
..() ..()
reagents.add_reagent("nutriment", 6) reagents.add_reagent("nutriment", 6)
@@ -726,6 +751,7 @@
name = "Meat steak" name = "Meat steak"
desc = "A piece of hot spicy meat." desc = "A piece of hot spicy meat."
icon_state = "meatstake" icon_state = "meatstake"
trash = "plate"
New() New()
..() ..()
reagents.add_reagent("nutriment", 4) reagents.add_reagent("nutriment", 4)
@@ -737,6 +763,7 @@
name = "Spacy Liberty Duff" name = "Spacy Liberty Duff"
desc = "Jello gelatin, if Alfred Hubbard were a confectionist" //TODO desc = "Jello gelatin, if Alfred Hubbard were a confectionist" //TODO
icon_state = "spacylibertyduff" icon_state = "spacylibertyduff"
trash = "snack_bowl"
New() New()
..() ..()
reagents.add_reagent("nutriment", 6) reagents.add_reagent("nutriment", 6)
@@ -747,6 +774,7 @@
name = "Amanita Jelly" name = "Amanita Jelly"
desc = "Looks curiously toxic" desc = "Looks curiously toxic"
icon_state = "amanitajelly" icon_state = "amanitajelly"
trash = "snack_bowl"
New() New()
..() ..()
reagents.add_reagent("nutriment", 6) reagents.add_reagent("nutriment", 6)
@@ -769,6 +797,7 @@
name = "Meatball soup" name = "Meatball soup"
desc = "" //TODO desc = "" //TODO
icon_state = "meatballsoup" icon_state = "meatballsoup"
trash = "snack_bowl"
New() New()
..() ..()
reagents.add_reagent("nutriment", 10) reagents.add_reagent("nutriment", 10)
@@ -811,6 +840,7 @@
name = "Vegetable soup" name = "Vegetable soup"
desc = "" //TODO desc = "" //TODO
icon_state = "vegetablesoup" icon_state = "vegetablesoup"
trash = "snack_bowl"
New() New()
..() ..()
reagents.add_reagent("nutriment", 10) reagents.add_reagent("nutriment", 10)
@@ -821,6 +851,7 @@
name = "Nettle soup" name = "Nettle soup"
desc = "" //TODO desc = "" //TODO
icon_state = "nettlesoup" icon_state = "nettlesoup"
trash = "snack_bowl"
New() New()
..() ..()
reagents.add_reagent("nutriment", 10) reagents.add_reagent("nutriment", 10)
@@ -842,6 +873,7 @@
name = "Hot Chili" name = "Hot Chili"
desc = "" //TODO desc = "" //TODO
icon_state = "hotchili" icon_state = "hotchili"
trash = "snack_bowl"
New() New()
..() ..()
reagents.add_reagent("nutriment", 6) reagents.add_reagent("nutriment", 6)
@@ -854,6 +886,7 @@
name = "Cold Chili" name = "Cold Chili"
desc = "" //TODO desc = "" //TODO
icon_state = "coldchili" icon_state = "coldchili"
trash = "snack_bowl"
New() New()
..() ..()
reagents.add_reagent("nutriment", 6) reagents.add_reagent("nutriment", 6)
@@ -1231,6 +1264,7 @@
name = "meatbread slice" name = "meatbread slice"
desc = "A slice of delicious meatbread." desc = "A slice of delicious meatbread."
icon_state = "meatbreadslice" icon_state = "meatbreadslice"
trash = "plate"
bitesize = 2 bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread /obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread
@@ -1249,6 +1283,7 @@
name = "xenomeatbread slice" name = "xenomeatbread slice"
desc = "A slice of delicious meatbread. Extra Heretical." desc = "A slice of delicious meatbread. Extra Heretical."
icon_state = "xenobreadslice" icon_state = "xenobreadslice"
trash = "plate"
bitesize = 2 bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread
@@ -1267,6 +1302,7 @@
name = "Banana-nut bread slice" name = "Banana-nut bread slice"
desc = "A slice of delicious banana bread." desc = "A slice of delicious banana bread."
icon_state = "bananabreadslice" icon_state = "bananabreadslice"
trash = "plate"
bitesize = 2 bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/tofubread /obj/item/weapon/reagent_containers/food/snacks/sliceable/tofubread
@@ -1284,6 +1320,7 @@
name = "Tofubread slice" name = "Tofubread slice"
desc = "A slice of delicious tofubread." desc = "A slice of delicious tofubread."
icon_state = "tofubreadslice" icon_state = "tofubreadslice"
trash = "plate"
bitesize = 2 bitesize = 2
@@ -1303,6 +1340,7 @@
name = "Carrot Cake slice" name = "Carrot Cake slice"
desc = "Carrotty slice of Carrot Cake, carrots are good for your eyes! Also not a lie." desc = "Carrotty slice of Carrot Cake, carrots are good for your eyes! Also not a lie."
icon_state = "carrotcake_slice" icon_state = "carrotcake_slice"
trash = "plate"
bitesize = 2 bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake
@@ -1320,6 +1358,7 @@
name = "Cheese Cake slice" name = "Cheese Cake slice"
desc = "Slice of pure cheestisfaction" desc = "Slice of pure cheestisfaction"
icon_state = "cheesecake_slice" icon_state = "cheesecake_slice"
trash = "plate"
bitesize = 2 bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/plaincake /obj/item/weapon/reagent_containers/food/snacks/sliceable/plaincake
@@ -1336,6 +1375,7 @@
name = "Vanilla Cake slice" name = "Vanilla Cake slice"
desc = "Just a slice of cake, it is enough for everyone." desc = "Just a slice of cake, it is enough for everyone."
icon_state = "plaincake_slice" icon_state = "plaincake_slice"
trash = "plate"
bitesize = 2 bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake /obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake

View File

@@ -158,6 +158,37 @@
interact(user) interact(user)
/obj/machinery/power/solar_control/attackby(I as obj, user as mob)
if(istype(I, /obj/item/weapon/screwdriver))
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
if(do_after(user, 20))
if (src.stat & BROKEN)
user << "\blue The broken glass falls out."
var/obj/computerframe/A = new /obj/computerframe( src.loc )
new /obj/item/weapon/shard( src.loc )
var/obj/item/weapon/circuitboard/solar_control/M = new /obj/item/weapon/circuitboard/solar_control( A )
for (var/obj/C in src)
C.loc = src.loc
A.circuit = M
A.state = 3
A.icon_state = "3"
A.anchored = 1
del(src)
else
user << "\blue You disconnect the monitor."
var/obj/computerframe/A = new /obj/computerframe( src.loc )
var/obj/item/weapon/circuitboard/solar_control/M = new /obj/item/weapon/circuitboard/solar_control( A )
for (var/obj/C in src)
C.loc = src.loc
A.circuit = M
A.state = 4
A.icon_state = "4"
A.anchored = 1
del(src)
else
src.attack_hand(user)
return
/obj/machinery/power/solar_control/process() /obj/machinery/power/solar_control/process()
lastgen = gen lastgen = gen
gen = 0 gen = 0

BIN
icons/obj/biogenerator.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
icons/obj/rollerbed.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
icons/obj/tomatodecal.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@@ -41,6 +41,7 @@
#define FILE_DIR "code/game/gamemodes/revolution" #define FILE_DIR "code/game/gamemodes/revolution"
#define FILE_DIR "code/game/gamemodes/sandbox" #define FILE_DIR "code/game/gamemodes/sandbox"
#define FILE_DIR "code/game/gamemodes/traitor" #define FILE_DIR "code/game/gamemodes/traitor"
#define FILE_DIR "code/game/gamemodes/traitor_pair"
#define FILE_DIR "code/game/gamemodes/wizard" #define FILE_DIR "code/game/gamemodes/wizard"
#define FILE_DIR "code/game/jobs" #define FILE_DIR "code/game/jobs"
#define FILE_DIR "code/game/machinery" #define FILE_DIR "code/game/machinery"
@@ -361,6 +362,7 @@
#include "code\game\machinery\alarm.dm" #include "code\game\machinery\alarm.dm"
#include "code\game\machinery\atmo_control.dm" #include "code\game\machinery\atmo_control.dm"
#include "code\game\machinery\autolathe.dm" #include "code\game\machinery\autolathe.dm"
#include "code\game\machinery\biogenerator.dm"
#include "code\game\machinery\camera.dm" #include "code\game\machinery\camera.dm"
#include "code\game\machinery\cell_charger.dm" #include "code\game\machinery\cell_charger.dm"
#include "code\game\machinery\constructable_frame.dm" #include "code\game\machinery\constructable_frame.dm"