mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-10 10:01:40 +00:00
- 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:
@@ -203,6 +203,44 @@
|
||||
name = "Magix System IV"
|
||||
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
|
||||
name = "Security Records"
|
||||
desc = "Beepsky. ARREST!!!"
|
||||
@@ -271,3 +309,11 @@
|
||||
icon_state = "teleport"
|
||||
locked = 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( )
|
||||
@@ -254,3 +254,22 @@
|
||||
for(var/datum/disease/D in viruses)
|
||||
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")
|
||||
|
||||
|
||||
@@ -1289,6 +1289,13 @@
|
||||
..()
|
||||
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
|
||||
seed = "/obj/item/seeds/killertomatoseed"
|
||||
name = "Killer Tomato"
|
||||
|
||||
177
code/game/machinery/biogenerator.dm
Normal file
177
code/game/machinery/biogenerator.dm
Normal 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()
|
||||
@@ -108,6 +108,7 @@
|
||||
/obj/item/weapon/circuitboard/solar_control
|
||||
name = "Circuit board (Solar Control)" //name fixed 250810
|
||||
build_path = "/obj/machinery/power/solar_control"
|
||||
origin_tech = "programming=2;powerstorage=2"
|
||||
/obj/item/weapon/circuitboard/powermonitor
|
||||
name = "Circuit board (Power Monitor)" //name fixed 250810
|
||||
build_path = "/obj/machinery/power/monitor"
|
||||
@@ -132,7 +133,14 @@
|
||||
/obj/item/weapon/circuitboard/rdservercontrol
|
||||
name = "Circuit Board (R&D Server Control)"
|
||||
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)
|
||||
|
||||
@@ -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
|
||||
name = "crew monitoring computer"
|
||||
icon_state = "crew"
|
||||
use_power = 1
|
||||
idle_power_usage = 250
|
||||
active_power_usage = 500
|
||||
|
||||
var
|
||||
list/tracked
|
||||
|
||||
New()
|
||||
tracked = list()
|
||||
..()
|
||||
|
||||
@@ -171,6 +171,36 @@
|
||||
if(recharge_port)
|
||||
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)
|
||||
if(..()) return
|
||||
|
||||
@@ -258,3 +258,67 @@
|
||||
if (manual_unbuckle_all(user))
|
||||
src.add_fingerprint(user)
|
||||
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
|
||||
|
||||
@@ -147,6 +147,15 @@ datum
|
||||
materials = list("$glass" = 2000, "acid" = 20)
|
||||
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
|
||||
name = "Circuit Design (Teleporter 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)
|
||||
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
|
||||
name = "Circuit Design (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)
|
||||
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//////////
|
||||
///////////////////////////////////
|
||||
@@ -561,7 +597,6 @@ datum
|
||||
req_tech = list("magnets" = 3, "programming" = 3, "engineering" = 3)
|
||||
build_path = "/obj/item/mecha_parts/mecha_equipment/repair_droid"
|
||||
|
||||
|
||||
////////////////////////////////////////
|
||||
//////////Disk Construction Disks///////
|
||||
////////////////////////////////////////
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
name = "candy"
|
||||
desc = "Nougat love it or hate it."
|
||||
icon_state = "candy"
|
||||
trash = "candy"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 1)
|
||||
@@ -50,6 +51,7 @@
|
||||
name = "chips"
|
||||
desc = "Commander Riker's What-The-Crisps"
|
||||
icon_state = "chips"
|
||||
trash = "chips"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
@@ -88,6 +90,12 @@
|
||||
..()
|
||||
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
|
||||
name = "flour"
|
||||
desc = "Some flour"
|
||||
@@ -381,6 +389,7 @@
|
||||
name = "Berry Clafoutis"
|
||||
desc = "No black birds, this is a good sign."
|
||||
icon_state = "berryclafoutis"
|
||||
trash = "plate"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
@@ -391,6 +400,7 @@
|
||||
name = "waffles"
|
||||
desc = "Mmm, waffles"
|
||||
icon_state = "waffles"
|
||||
trash = "waffles"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 8)
|
||||
@@ -400,6 +410,7 @@
|
||||
name = "Eggplant Parmigiana"
|
||||
desc = "The only good recipe for eggplant."
|
||||
icon_state = "eggplantparm"
|
||||
trash = "plate"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
@@ -446,6 +457,7 @@
|
||||
// var/job = null
|
||||
icon_state = "meatpie"
|
||||
desc = "The best meatpies on station."
|
||||
trash = "plate"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 10)
|
||||
@@ -455,6 +467,7 @@
|
||||
name = "Meat-pie"
|
||||
icon_state = "meatpie"
|
||||
desc = "A delicious meatpie."
|
||||
trash = "plate"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 10)
|
||||
@@ -464,6 +477,7 @@
|
||||
name = "Tofu-pie"
|
||||
icon_state = "meatpie"
|
||||
desc = "A delicious tofu pie."
|
||||
trash = "plate"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 10)
|
||||
@@ -499,6 +513,7 @@
|
||||
name = "Xeno-pie"
|
||||
icon_state = "xenomeatpie"
|
||||
desc = "A delicious meatpie. Probably heretical."
|
||||
trash = "plate"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
@@ -509,6 +524,7 @@
|
||||
name = "Wing Fang Chu"
|
||||
desc = "A savory dish of alien wing wang in soy."
|
||||
icon_state = "wingfangchu"
|
||||
trash = "snack_bowl"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 1)
|
||||
@@ -578,6 +594,7 @@
|
||||
name = "Cuban Carp"
|
||||
desc = "A grifftastic sandwich that burns your tongue and then leaves it numb!"
|
||||
icon_state = "cubancarp"
|
||||
trash = "plate"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
@@ -589,6 +606,7 @@
|
||||
name = "Popcorm" //not a typo
|
||||
desc = "Now let's find some cinema."
|
||||
icon_state = "popcorn"
|
||||
trash = "popcorn"
|
||||
var/unpopped = 0
|
||||
New()
|
||||
..()
|
||||
@@ -599,12 +617,14 @@
|
||||
if(prob(unpopped))
|
||||
usr << "\red You bite down on an un-popped kernel!"
|
||||
unpopped = max(0, unpopped-1)
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sosjerky
|
||||
name = "Scaredy's Private Reserve Beef Jerky"
|
||||
icon_state = "sosjerky"
|
||||
desc = "Beef jerky made from the finest space cows."
|
||||
trash = "sosjerky"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
@@ -614,6 +634,7 @@
|
||||
name = "4no Raisins"
|
||||
icon_state = "4no_raisins"
|
||||
desc = "Best raisins in the universe. Not sure why."
|
||||
trash = "raisins"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
@@ -631,6 +652,7 @@
|
||||
name = "Cheesie Honkers"
|
||||
icon_state = "cheesie_honkers"
|
||||
desc = "Bite sized cheesie snacks that will honk all over your mouth"
|
||||
trash = "cheesie"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
@@ -640,6 +662,7 @@
|
||||
name = "Syndi-Cakes"
|
||||
icon_state = "syndi_cakes"
|
||||
desc = "An extremely moist snack cake that tastes just as good after being nuked."
|
||||
trash = "syndi_cakes"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
@@ -650,6 +673,7 @@
|
||||
name = "Loaded Baked Potato"
|
||||
desc = "Totally baked."
|
||||
icon_state = "loadedbakedpotato"
|
||||
trash = "loadedbakedpotato"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
@@ -688,6 +712,7 @@
|
||||
name = "Cheesy Fries"
|
||||
desc = "Fries. Covered in cheese. Duh."
|
||||
icon_state = "cheesyfries"
|
||||
trash = "plate"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
@@ -726,6 +751,7 @@
|
||||
name = "Meat steak"
|
||||
desc = "A piece of hot spicy meat."
|
||||
icon_state = "meatstake"
|
||||
trash = "plate"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 4)
|
||||
@@ -737,6 +763,7 @@
|
||||
name = "Spacy Liberty Duff"
|
||||
desc = "Jello gelatin, if Alfred Hubbard were a confectionist" //TODO
|
||||
icon_state = "spacylibertyduff"
|
||||
trash = "snack_bowl"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
@@ -747,6 +774,7 @@
|
||||
name = "Amanita Jelly"
|
||||
desc = "Looks curiously toxic"
|
||||
icon_state = "amanitajelly"
|
||||
trash = "snack_bowl"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
@@ -769,6 +797,7 @@
|
||||
name = "Meatball soup"
|
||||
desc = "" //TODO
|
||||
icon_state = "meatballsoup"
|
||||
trash = "snack_bowl"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 10)
|
||||
@@ -811,6 +840,7 @@
|
||||
name = "Vegetable soup"
|
||||
desc = "" //TODO
|
||||
icon_state = "vegetablesoup"
|
||||
trash = "snack_bowl"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 10)
|
||||
@@ -821,6 +851,7 @@
|
||||
name = "Nettle soup"
|
||||
desc = "" //TODO
|
||||
icon_state = "nettlesoup"
|
||||
trash = "snack_bowl"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 10)
|
||||
@@ -842,6 +873,7 @@
|
||||
name = "Hot Chili"
|
||||
desc = "" //TODO
|
||||
icon_state = "hotchili"
|
||||
trash = "snack_bowl"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
@@ -854,6 +886,7 @@
|
||||
name = "Cold Chili"
|
||||
desc = "" //TODO
|
||||
icon_state = "coldchili"
|
||||
trash = "snack_bowl"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
@@ -1231,6 +1264,7 @@
|
||||
name = "meatbread slice"
|
||||
desc = "A slice of delicious meatbread."
|
||||
icon_state = "meatbreadslice"
|
||||
trash = "plate"
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread
|
||||
@@ -1249,6 +1283,7 @@
|
||||
name = "xenomeatbread slice"
|
||||
desc = "A slice of delicious meatbread. Extra Heretical."
|
||||
icon_state = "xenobreadslice"
|
||||
trash = "plate"
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread
|
||||
@@ -1267,6 +1302,7 @@
|
||||
name = "Banana-nut bread slice"
|
||||
desc = "A slice of delicious banana bread."
|
||||
icon_state = "bananabreadslice"
|
||||
trash = "plate"
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/tofubread
|
||||
@@ -1284,6 +1320,7 @@
|
||||
name = "Tofubread slice"
|
||||
desc = "A slice of delicious tofubread."
|
||||
icon_state = "tofubreadslice"
|
||||
trash = "plate"
|
||||
bitesize = 2
|
||||
|
||||
|
||||
@@ -1303,6 +1340,7 @@
|
||||
name = "Carrot Cake slice"
|
||||
desc = "Carrotty slice of Carrot Cake, carrots are good for your eyes! Also not a lie."
|
||||
icon_state = "carrotcake_slice"
|
||||
trash = "plate"
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake
|
||||
@@ -1320,6 +1358,7 @@
|
||||
name = "Cheese Cake slice"
|
||||
desc = "Slice of pure cheestisfaction"
|
||||
icon_state = "cheesecake_slice"
|
||||
trash = "plate"
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/plaincake
|
||||
@@ -1336,6 +1375,7 @@
|
||||
name = "Vanilla Cake slice"
|
||||
desc = "Just a slice of cake, it is enough for everyone."
|
||||
icon_state = "plaincake_slice"
|
||||
trash = "plate"
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake
|
||||
|
||||
@@ -158,6 +158,37 @@
|
||||
|
||||
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()
|
||||
lastgen = gen
|
||||
gen = 0
|
||||
|
||||
BIN
icons/obj/biogenerator.dmi
Normal file
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
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
BIN
icons/obj/tomatodecal.dmi
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.2 KiB |
@@ -41,6 +41,7 @@
|
||||
#define FILE_DIR "code/game/gamemodes/revolution"
|
||||
#define FILE_DIR "code/game/gamemodes/sandbox"
|
||||
#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/jobs"
|
||||
#define FILE_DIR "code/game/machinery"
|
||||
@@ -361,6 +362,7 @@
|
||||
#include "code\game\machinery\alarm.dm"
|
||||
#include "code\game\machinery\atmo_control.dm"
|
||||
#include "code\game\machinery\autolathe.dm"
|
||||
#include "code\game\machinery\biogenerator.dm"
|
||||
#include "code\game\machinery\camera.dm"
|
||||
#include "code\game\machinery\cell_charger.dm"
|
||||
#include "code\game\machinery\constructable_frame.dm"
|
||||
|
||||
Reference in New Issue
Block a user