mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
-You can now store donuts in the donut box. The next donut you pull out will be the last one you put in.
-Changed the class type of donuts. donut/normal is now the regular donut. All other donuts have been made this way. (I.E: donut/chaos) -Hopefully the merged records proc will now not spit out runtimes. -You cannot enter a name without any character now. This way you can also click on the link. -Added some coloured caps to their respected coloured wardrobes. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4123 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -8,35 +8,35 @@
|
|||||||
* * reagents are reagents. Acid, milc, booze, etc.
|
* * reagents are reagents. Acid, milc, booze, etc.
|
||||||
* * items are objects. Fruits, tools, circuit boards.
|
* * items are objects. Fruits, tools, circuit boards.
|
||||||
* * result is type to create as new object
|
* * result is type to create as new object
|
||||||
* * time is optional parameter, you shall use in in your machine,
|
* * time is optional parameter, you shall use in in your machine,
|
||||||
default /datum/recipe/ procs does not rely on this parameter.
|
default /datum/recipe/ procs does not rely on this parameter.
|
||||||
*
|
*
|
||||||
* Functions you need:
|
* Functions you need:
|
||||||
* /datum/recipe/proc/make(var/obj/container as obj)
|
* /datum/recipe/proc/make(var/obj/container as obj)
|
||||||
* Creates result inside container,
|
* Creates result inside container,
|
||||||
* deletes prerequisite reagents,
|
* deletes prerequisite reagents,
|
||||||
* transfers reagents from prerequisite objects,
|
* transfers reagents from prerequisite objects,
|
||||||
* deletes all prerequisite objects (even not needed for recipe at the moment).
|
* deletes all prerequisite objects (even not needed for recipe at the moment).
|
||||||
*
|
*
|
||||||
* /proc/select_recipe(list/datum/recipe/avaiable_recipes, obj/obj as obj, exact = 1)
|
* /proc/select_recipe(list/datum/recipe/avaiable_recipes, obj/obj as obj, exact = 1)
|
||||||
* Wonderful function that select suitable recipe for you.
|
* Wonderful function that select suitable recipe for you.
|
||||||
* obj is a machine (or magik hat) with prerequisites,
|
* obj is a machine (or magik hat) with prerequisites,
|
||||||
* exact = 0 forces algorithm to ignore superfluous stuff.
|
* exact = 0 forces algorithm to ignore superfluous stuff.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* Functions you do not need to call directly but could:
|
* Functions you do not need to call directly but could:
|
||||||
* /datum/recipe/proc/check_reagents(var/datum/reagents/avail_reagents)
|
* /datum/recipe/proc/check_reagents(var/datum/reagents/avail_reagents)
|
||||||
* //1=precisely, 0=insufficiently, -1=superfluous
|
* //1=precisely, 0=insufficiently, -1=superfluous
|
||||||
*
|
*
|
||||||
* /datum/recipe/proc/check_items(var/obj/container as obj)
|
* /datum/recipe/proc/check_items(var/obj/container as obj)
|
||||||
* //1=precisely, 0=insufficiently, -1=superfluous
|
* //1=precisely, 0=insufficiently, -1=superfluous
|
||||||
*
|
*
|
||||||
* */
|
* */
|
||||||
|
|
||||||
/datum/recipe
|
/datum/recipe
|
||||||
var/list/reagents // example: = list("berryjuice" = 5) // do not list same reagent twice
|
var/list/reagents // example: = list("berryjuice" = 5) // do not list same reagent twice
|
||||||
var/list/items // example: =list(/obj/item/weapon/crowbar, /obj/item/weapon/welder) // place /foo/bar before /foo
|
var/list/items // example: =list(/obj/item/weapon/crowbar, /obj/item/weapon/welder) // place /foo/bar before /foo
|
||||||
var/result //example: = /obj/item/weapon/reagent_containers/food/snacks/donut
|
var/result //example: = /obj/item/weapon/reagent_containers/food/snacks/donut/normal
|
||||||
var/time = 100 // 1/10 part of second
|
var/time = 100 // 1/10 part of second
|
||||||
|
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
if ((reagents?(reagents.len):(0)) < avail_reagents.reagent_list.len)
|
if ((reagents?(reagents.len):(0)) < avail_reagents.reagent_list.len)
|
||||||
return -1
|
return -1
|
||||||
return .
|
return .
|
||||||
|
|
||||||
/datum/recipe/proc/check_items(var/obj/container as obj) //1=precisely, 0=insufficiently, -1=superfluous
|
/datum/recipe/proc/check_items(var/obj/container as obj) //1=precisely, 0=insufficiently, -1=superfluous
|
||||||
if (!items)
|
if (!items)
|
||||||
if (locate(/obj/) in container)
|
if (locate(/obj/) in container)
|
||||||
|
|||||||
@@ -176,7 +176,7 @@
|
|||||||
icon_state = "sec"
|
icon_state = "sec"
|
||||||
icon_deny = "sec-deny"
|
icon_deny = "sec-deny"
|
||||||
req_access_txt = "1"
|
req_access_txt = "1"
|
||||||
product_paths = "/obj/item/weapon/handcuffs;/obj/item/weapon/grenade/flashbang;/obj/item/device/flash;/obj/item/weapon/reagent_containers/food/snacks/donut;/obj/item/weapon/storage/box/evidence"
|
product_paths = "/obj/item/weapon/handcuffs;/obj/item/weapon/grenade/flashbang;/obj/item/device/flash;/obj/item/weapon/reagent_containers/food/snacks/donut/normal;/obj/item/weapon/storage/box/evidence"
|
||||||
product_amounts = "8;4;5;12;6"
|
product_amounts = "8;4;5;12;6"
|
||||||
product_hidden = "/obj/item/clothing/glasses/sunglasses;/obj/item/kitchen/donut_box"
|
product_hidden = "/obj/item/clothing/glasses/sunglasses;/obj/item/kitchen/donut_box"
|
||||||
product_hideamt = "2;2"
|
product_hideamt = "2;2"
|
||||||
|
|||||||
@@ -272,7 +272,9 @@
|
|||||||
return (result + R.Copy(Ri, 0))
|
return (result + R.Copy(Ri, 0))
|
||||||
|
|
||||||
/proc/sortRecord(var/list/datum/data/record/L, var/field = "name", var/order = 1)
|
/proc/sortRecord(var/list/datum/data/record/L, var/field = "name", var/order = 1)
|
||||||
if(isnull(L) || L.len < 2)
|
if(isnull(L))
|
||||||
|
return list()
|
||||||
|
if(L.len < 2)
|
||||||
return L
|
return L
|
||||||
var/middle = L.len / 2 + 1
|
var/middle = L.len / 2 + 1
|
||||||
return mergeRecordLists(sortRecord(L.Copy(0, middle), field, order), sortRecord(L.Copy(middle), field, order), field, order)
|
return mergeRecordLists(sortRecord(L.Copy(0, middle), field, order), sortRecord(L.Copy(middle), field, order), field, order)
|
||||||
@@ -282,16 +284,23 @@
|
|||||||
var/Li=1
|
var/Li=1
|
||||||
var/Ri=1
|
var/Ri=1
|
||||||
var/list/result = new()
|
var/list/result = new()
|
||||||
while(Li <= L.len && Ri <= R.len)
|
if(!isnull(L) && !isnull(R))
|
||||||
var/datum/data/record/rL = L[Li]
|
while(Li <= L.len && Ri <= R.len)
|
||||||
var/datum/data/record/rR = R[Ri]
|
var/datum/data/record/rL = L[Li]
|
||||||
if(sorttext(rL.fields[field], rR.fields[field]) == order)
|
if(isnull(rL))
|
||||||
result += L[Li++]
|
L -= rL
|
||||||
else
|
continue
|
||||||
result += R[Ri++]
|
var/datum/data/record/rR = R[Ri]
|
||||||
|
if(isnull(rR))
|
||||||
|
R -= rR
|
||||||
|
continue
|
||||||
|
if(sorttext(rL.fields[field], rR.fields[field]) == order)
|
||||||
|
result += L[Li++]
|
||||||
|
else
|
||||||
|
result += R[Ri++]
|
||||||
|
|
||||||
if(Li <= L.len)
|
if(Li <= L.len)
|
||||||
return (result + L.Copy(Li, 0))
|
return (result + L.Copy(Li, 0))
|
||||||
return (result + R.Copy(Ri, 0))
|
return (result + R.Copy(Ri, 0))
|
||||||
|
|
||||||
/proc/sortList(var/list/L)
|
/proc/sortList(var/list/L)
|
||||||
|
|||||||
@@ -45,9 +45,10 @@
|
|||||||
"}
|
"}
|
||||||
if(2.0)
|
if(2.0)
|
||||||
dat += "<B>Record List</B>:<HR>"
|
dat += "<B>Record List</B>:<HR>"
|
||||||
for(var/datum/data/record/R in sortRecord(data_core.general))
|
if(!isnull(data_core.general))
|
||||||
dat += text("<A href='?src=\ref[];d_rec=\ref[]'>[]: []<BR>", src, R, R.fields["id"], R.fields["name"])
|
for(var/datum/data/record/R in sortRecord(data_core.general))
|
||||||
//Foreach goto(132)
|
dat += text("<A href='?src=\ref[];d_rec=\ref[]'>[]: []<BR>", src, R, R.fields["id"], R.fields["name"])
|
||||||
|
//Foreach goto(132)
|
||||||
dat += text("<HR><A href='?src=\ref[];screen=1'>Back</A>", src)
|
dat += text("<HR><A href='?src=\ref[];screen=1'>Back</A>", src)
|
||||||
if(3.0)
|
if(3.0)
|
||||||
dat += text("<B>Records Maintenance</B><HR>\n<A href='?src=\ref[];back=1'>Backup To Disk</A><BR>\n<A href='?src=\ref[];u_load=1'>Upload From disk</A><BR>\n<A href='?src=\ref[];del_all=1'>Delete All Records</A><BR>\n<BR>\n<A href='?src=\ref[];screen=1'>Back</A>", src, src, src, src)
|
dat += text("<B>Records Maintenance</B><HR>\n<A href='?src=\ref[];back=1'>Backup To Disk</A><BR>\n<A href='?src=\ref[];u_load=1'>Upload From disk</A><BR>\n<A href='?src=\ref[];del_all=1'>Delete All Records</A><BR>\n<BR>\n<A href='?src=\ref[];screen=1'>Back</A>", src, src, src, src)
|
||||||
|
|||||||
@@ -69,32 +69,33 @@
|
|||||||
<th><A href='?src=\ref[src];choice=Sorting;sort=fingerprint'>Fingerprints</A></th>
|
<th><A href='?src=\ref[src];choice=Sorting;sort=fingerprint'>Fingerprints</A></th>
|
||||||
<th>Criminal Status</th>
|
<th>Criminal Status</th>
|
||||||
</tr>"}
|
</tr>"}
|
||||||
for(var/datum/data/record/R in sortRecord(data_core.general, sortBy, order))
|
if(!isnull(data_core.general))
|
||||||
var/crimstat = ""
|
for(var/datum/data/record/R in sortRecord(data_core.general, sortBy, order))
|
||||||
for(var/datum/data/record/E in data_core.security)
|
var/crimstat = ""
|
||||||
if ((E.fields["name"] == R.fields["name"] && E.fields["id"] == R.fields["id"]))
|
for(var/datum/data/record/E in data_core.security)
|
||||||
crimstat = E.fields["criminal"]
|
if ((E.fields["name"] == R.fields["name"] && E.fields["id"] == R.fields["id"]))
|
||||||
var/background
|
crimstat = E.fields["criminal"]
|
||||||
switch(crimstat)
|
var/background
|
||||||
if("*Arrest*")
|
switch(crimstat)
|
||||||
background = "'background-color:#DC143C;'"
|
if("*Arrest*")
|
||||||
if("Incarcerated")
|
background = "'background-color:#DC143C;'"
|
||||||
background = "'background-color:#CD853F;'"
|
if("Incarcerated")
|
||||||
if("Parolled")
|
background = "'background-color:#CD853F;'"
|
||||||
background = "'background-color:#CD853F;'"
|
if("Parolled")
|
||||||
if("Released")
|
background = "'background-color:#CD853F;'"
|
||||||
background = "'background-color:#3BB9FF;'"
|
if("Released")
|
||||||
if("None")
|
background = "'background-color:#3BB9FF;'"
|
||||||
background = "'background-color:#00FF7F;'"
|
if("None")
|
||||||
if("")
|
background = "'background-color:#00FF7F;'"
|
||||||
background = "'background-color:#FFFFFF;'"
|
if("")
|
||||||
crimstat = "No Record."
|
background = "'background-color:#FFFFFF;'"
|
||||||
dat += text("<tr style=[]><td><A href='?src=\ref[];choice=Browse Record;d_rec=\ref[]'>[]</a></td>", background, src, R, R.fields["name"])
|
crimstat = "No Record."
|
||||||
dat += text("<td>[]</td>", R.fields["id"])
|
dat += text("<tr style=[]><td><A href='?src=\ref[];choice=Browse Record;d_rec=\ref[]'>[]</a></td>", background, src, R, R.fields["name"])
|
||||||
dat += text("<td>[]</td>", R.fields["rank"])
|
dat += text("<td>[]</td>", R.fields["id"])
|
||||||
dat += text("<td>[]</td>", R.fields["fingerprint"])
|
dat += text("<td>[]</td>", R.fields["rank"])
|
||||||
dat += text("<td>[]</td></tr>", crimstat)
|
dat += text("<td>[]</td>", R.fields["fingerprint"])
|
||||||
dat += "</table><hr width='75%' />"
|
dat += text("<td>[]</td></tr>", crimstat)
|
||||||
|
dat += "</table><hr width='75%' />"
|
||||||
dat += text("<A href='?src=\ref[];choice=Record Maintenance'>Record Maintenance</A><br><br>", src)
|
dat += text("<A href='?src=\ref[];choice=Record Maintenance'>Record Maintenance</A><br><br>", src)
|
||||||
dat += text("<A href='?src=\ref[];choice=Log Out'>{Log Out}</A>",src)
|
dat += text("<A href='?src=\ref[];choice=Log Out'>{Log Out}</A>",src)
|
||||||
if(2.0)
|
if(2.0)
|
||||||
@@ -400,7 +401,7 @@ What a mess.*/
|
|||||||
if("name")
|
if("name")
|
||||||
if (istype(active1, /datum/data/record))
|
if (istype(active1, /datum/data/record))
|
||||||
var/t1 = input("Please input name:", "Secure. records", active1.fields["name"], null) as text
|
var/t1 = input("Please input name:", "Secure. records", active1.fields["name"], null) as text
|
||||||
if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon)))) || active1 != a1)
|
if ((!( t1 ) || !length(trim(t1)) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon)))) || active1 != a1)
|
||||||
return
|
return
|
||||||
active1.fields["name"] = t1
|
active1.fields["name"] = t1
|
||||||
if("id")
|
if("id")
|
||||||
|
|||||||
@@ -12,4 +12,5 @@
|
|||||||
new /obj/item/weapon/caution(src)
|
new /obj/item/weapon/caution(src)
|
||||||
new /obj/item/weapon/caution(src)
|
new /obj/item/weapon/caution(src)
|
||||||
new /obj/item/weapon/trashbag(src)
|
new /obj/item/weapon/trashbag(src)
|
||||||
new /obj/item/device/lightreplacer(src)
|
new /obj/item/device/lightreplacer(src)
|
||||||
|
new /obj/item/clothing/head/soft/purple(src)
|
||||||
@@ -66,6 +66,9 @@
|
|||||||
new /obj/item/clothing/shoes/black(src)
|
new /obj/item/clothing/shoes/black(src)
|
||||||
new /obj/item/clothing/shoes/black(src)
|
new /obj/item/clothing/shoes/black(src)
|
||||||
new /obj/item/clothing/shoes/black(src)
|
new /obj/item/clothing/shoes/black(src)
|
||||||
|
new /obj/item/clothing/head/soft/green(src)
|
||||||
|
new /obj/item/clothing/head/soft/green(src)
|
||||||
|
new /obj/item/clothing/head/soft/green(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/structure/closet/wardrobe/orange/New()
|
/obj/structure/closet/wardrobe/orange/New()
|
||||||
@@ -75,6 +78,9 @@
|
|||||||
new /obj/item/clothing/shoes/orange(src)
|
new /obj/item/clothing/shoes/orange(src)
|
||||||
new /obj/item/clothing/shoes/orange(src)
|
new /obj/item/clothing/shoes/orange(src)
|
||||||
new /obj/item/clothing/shoes/orange(src)
|
new /obj/item/clothing/shoes/orange(src)
|
||||||
|
new /obj/item/clothing/head/soft/orange(src)
|
||||||
|
new /obj/item/clothing/head/soft/orange(src)
|
||||||
|
new /obj/item/clothing/head/soft/orange(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/structure/closet/wardrobe/yellow/New()
|
/obj/structure/closet/wardrobe/yellow/New()
|
||||||
@@ -84,6 +90,9 @@
|
|||||||
new /obj/item/clothing/shoes/orange(src)
|
new /obj/item/clothing/shoes/orange(src)
|
||||||
new /obj/item/clothing/shoes/orange(src)
|
new /obj/item/clothing/shoes/orange(src)
|
||||||
new /obj/item/clothing/shoes/orange(src)
|
new /obj/item/clothing/shoes/orange(src)
|
||||||
|
new /obj/item/clothing/head/soft/yellow(src)
|
||||||
|
new /obj/item/clothing/head/soft/yellow(src)
|
||||||
|
new /obj/item/clothing/head/soft/yellow(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/structure/closet/wardrobe/atmospherics_yellow/New()
|
/obj/structure/closet/wardrobe/atmospherics_yellow/New()
|
||||||
@@ -93,6 +102,9 @@
|
|||||||
new /obj/item/clothing/shoes/black(src)
|
new /obj/item/clothing/shoes/black(src)
|
||||||
new /obj/item/clothing/shoes/black(src)
|
new /obj/item/clothing/shoes/black(src)
|
||||||
new /obj/item/clothing/shoes/black(src)
|
new /obj/item/clothing/shoes/black(src)
|
||||||
|
new /obj/item/clothing/head/soft/yellow(src)
|
||||||
|
new /obj/item/clothing/head/soft/yellow(src)
|
||||||
|
new /obj/item/clothing/head/soft/yellow(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/structure/closet/wardrobe/engineering_yellow/New()
|
/obj/structure/closet/wardrobe/engineering_yellow/New()
|
||||||
@@ -102,6 +114,9 @@
|
|||||||
new /obj/item/clothing/shoes/orange(src)
|
new /obj/item/clothing/shoes/orange(src)
|
||||||
new /obj/item/clothing/shoes/orange(src)
|
new /obj/item/clothing/shoes/orange(src)
|
||||||
new /obj/item/clothing/shoes/orange(src)
|
new /obj/item/clothing/shoes/orange(src)
|
||||||
|
new /obj/item/clothing/head/soft/yellow(src)
|
||||||
|
new /obj/item/clothing/head/soft/yellow(src)
|
||||||
|
new /obj/item/clothing/head/soft/yellow(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/structure/closet/wardrobe/white/New()
|
/obj/structure/closet/wardrobe/white/New()
|
||||||
@@ -185,6 +200,13 @@
|
|||||||
new /obj/item/clothing/shoes/black(src)
|
new /obj/item/clothing/shoes/black(src)
|
||||||
new /obj/item/clothing/shoes/brown(src)
|
new /obj/item/clothing/shoes/brown(src)
|
||||||
new /obj/item/clothing/shoes/white(src)
|
new /obj/item/clothing/shoes/white(src)
|
||||||
|
new /obj/item/clothing/head/soft/mime(src)
|
||||||
|
new /obj/item/clothing/head/soft/blue(src)
|
||||||
|
new /obj/item/clothing/head/soft/yellow(src)
|
||||||
|
new /obj/item/clothing/head/soft/green(src)
|
||||||
|
new /obj/item/clothing/head/soft/orange(src)
|
||||||
|
new /obj/item/clothing/head/soft/purple(src)
|
||||||
|
if(prob(10)) new /obj/item/clothing/head/soft/rainbow(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/structure/closet/lawcloset/New()
|
/obj/structure/closet/lawcloset/New()
|
||||||
|
|||||||
@@ -260,9 +260,9 @@ Code:
|
|||||||
|
|
||||||
menu = "<h4><img src=pda_notes.png> Crew Manifest</h4>"
|
menu = "<h4><img src=pda_notes.png> Crew Manifest</h4>"
|
||||||
menu += "Entries cannot be modified from this terminal.<br><br>"
|
menu += "Entries cannot be modified from this terminal.<br><br>"
|
||||||
|
if(!isnull(data_core.general))
|
||||||
for (var/datum/data/record/t in sortRecord(data_core.general))
|
for (var/datum/data/record/t in sortRecord(data_core.general))
|
||||||
menu += "[t.fields["name"]] - [t.fields["rank"]]<br>"
|
menu += "[t.fields["name"]] - [t.fields["rank"]]<br>"
|
||||||
menu += "<br>"
|
menu += "<br>"
|
||||||
|
|
||||||
|
|
||||||
@@ -335,8 +335,9 @@ Code:
|
|||||||
|
|
||||||
if (44) //medical records //This thing only displays a single screen so it's hard to really get the sub-menu stuff working.
|
if (44) //medical records //This thing only displays a single screen so it's hard to really get the sub-menu stuff working.
|
||||||
menu = "<h4><img src=pda_medical.png> Medical Record List</h4>"
|
menu = "<h4><img src=pda_medical.png> Medical Record List</h4>"
|
||||||
for (var/datum/data/record/R in sortRecord(data_core.general))
|
if(!isnull(data_core.general))
|
||||||
menu += "<a href='byond://?src=\ref[src];choice=Medical Records;target=\ref[R]'>[R.fields["id"]]: [R.fields["name"]]<br>"
|
for (var/datum/data/record/R in sortRecord(data_core.general))
|
||||||
|
menu += "<a href='byond://?src=\ref[src];choice=Medical Records;target=\ref[R]'>[R.fields["id"]]: [R.fields["name"]]<br>"
|
||||||
menu += "<br>"
|
menu += "<br>"
|
||||||
if(441)
|
if(441)
|
||||||
menu = "<h4><img src=pda_medical.png> Medical Record</h4>"
|
menu = "<h4><img src=pda_medical.png> Medical Record</h4>"
|
||||||
@@ -377,9 +378,9 @@ Code:
|
|||||||
menu += "<br>"
|
menu += "<br>"
|
||||||
if (45) //security records
|
if (45) //security records
|
||||||
menu = "<h4><img src=pda_cuffs.png> Security Record List</h4>"
|
menu = "<h4><img src=pda_cuffs.png> Security Record List</h4>"
|
||||||
|
if(!isnull(data_core.general))
|
||||||
for (var/datum/data/record/R in sortRecord(data_core.general))
|
for (var/datum/data/record/R in sortRecord(data_core.general))
|
||||||
menu += "<a href='byond://?src=\ref[src];choice=Security Records;target=\ref[R]'>[R.fields["id"]]: [R.fields["name"]]<br>"
|
menu += "<a href='byond://?src=\ref[src];choice=Security Records;target=\ref[R]'>[R.fields["id"]]: [R.fields["name"]]<br>"
|
||||||
|
|
||||||
menu += "<br>"
|
menu += "<br>"
|
||||||
if(451)
|
if(451)
|
||||||
|
|||||||
@@ -10,62 +10,70 @@ MONKEY CUBE BOX
|
|||||||
/mob/living/carbon/var/last_eating = 0
|
/mob/living/carbon/var/last_eating = 0
|
||||||
|
|
||||||
/obj/item/kitchen/donut_box
|
/obj/item/kitchen/donut_box
|
||||||
var/amount = 6
|
var/const/max_amount = 6
|
||||||
|
var/list/obj/item/weapon/reagent_containers/food/snacks/donut/donuts = list()
|
||||||
icon = 'food.dmi'
|
icon = 'food.dmi'
|
||||||
icon_state = "donutbox"
|
icon_state = "donutbox6"
|
||||||
name = "donut box"
|
name = "donut box"
|
||||||
|
|
||||||
/obj/item/kitchen/egg_box
|
/obj/item/kitchen/egg_box
|
||||||
var/amount = 12
|
var/amount = 12
|
||||||
icon = 'food.dmi'
|
icon = 'food.dmi'
|
||||||
icon_state = "eggbox"
|
icon_state = "eggbox"
|
||||||
name = "egg box"
|
name = "egg box"
|
||||||
|
|
||||||
|
/obj/item/kitchen/donut_box/New()
|
||||||
|
for(var/i = 0; i < max_amount; i++)
|
||||||
|
donuts += new /obj/item/weapon/reagent_containers/food/snacks/donut/normal(src)
|
||||||
|
update()
|
||||||
|
..()
|
||||||
|
|
||||||
/obj/item/kitchen/donut_box/proc/update()
|
/obj/item/kitchen/donut_box/proc/update()
|
||||||
src.icon_state = text("donutbox[]", src.amount)
|
src.icon_state = text("donutbox[]", src.donuts.len)
|
||||||
return
|
return
|
||||||
|
|
||||||
/*
|
/obj/item/kitchen/donut_box/attackby(obj/item/weapon/W as obj, mob/living/user as mob)
|
||||||
/obj/item/kitchen/donut_box/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
if (istype(W, /obj/item/weapon/reagent_containers/food/snacks/donut) && (donuts.len < max_amount))
|
||||||
if (istype(W, /obj/item/weapon/reagent_containers/food/snacks/donut) && (amount < 6))
|
|
||||||
user.drop_item()
|
user.drop_item()
|
||||||
W.loc = src
|
W.loc = src
|
||||||
|
donuts += W
|
||||||
usr << "You place a donut back into the box."
|
usr << "You place a donut back into the box."
|
||||||
src.update()
|
src.update()
|
||||||
return
|
return
|
||||||
*/
|
|
||||||
|
|
||||||
/obj/item/kitchen/donut_box/MouseDrop(mob/user as mob)
|
/obj/item/kitchen/donut_box/MouseDrop(mob/living/user as mob)
|
||||||
if ((user == usr && (!( usr.restrained() ) && (!( usr.stat ) && (usr.contents.Find(src) || in_range(src, usr))))))
|
if ((user == usr && (!( usr.restrained() ) && (!( usr.stat ) && (usr.contents.Find(src) || in_range(src, usr))))))
|
||||||
if(!istype(user, /mob/living/carbon/metroid))
|
if(!istype(user, /mob/living/carbon/metroid))
|
||||||
if( !usr.get_active_hand() )
|
if( !usr.get_active_hand() )
|
||||||
src.attack_hand(usr, usr.hand, 1)
|
src.attack_hand(usr, usr.hand, 1)
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/kitchen/donut_box/attack_paw(mob/user as mob)
|
/obj/item/kitchen/donut_box/attack_paw(mob/living/user as mob)
|
||||||
return src.attack_hand(user)
|
return src.attack_hand(user)
|
||||||
|
|
||||||
/obj/item/kitchen/donut_box/attack_hand(mob/user as mob, unused, flag)
|
/obj/item/kitchen/donut_box/attack_hand(mob/living/user as mob, unused, flag)
|
||||||
if (flag)
|
if (flag)
|
||||||
return ..()
|
return ..()
|
||||||
src.add_fingerprint(user)
|
src.add_fingerprint(user)
|
||||||
|
|
||||||
var/obj/item/weapon/reagent_containers/food/snacks/donut/P = locate() in src
|
var/last = donuts.len
|
||||||
if(!P && (amount >= 1))
|
if(last <= 0)
|
||||||
P = new /obj/item/weapon/reagent_containers/food/snacks/donut( src )
|
user << "Oh no! No donuts left!"
|
||||||
|
return
|
||||||
|
//world.log << last
|
||||||
|
var/obj/item/weapon/reagent_containers/food/snacks/donut/P = donuts[last] // Get the last donut.
|
||||||
if(P)
|
if(P)
|
||||||
usr.put_in_hands(P)
|
P.loc = user.loc
|
||||||
usr << "You take a donut out of the box."
|
user.put_in_hands(P)
|
||||||
src.amount--
|
donuts -= P
|
||||||
|
user << "You take a donut out of the box."
|
||||||
src.update()
|
src.update()
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/kitchen/donut_box/examine()
|
/obj/item/kitchen/donut_box/examine()
|
||||||
set src in oview(1)
|
set src in oview(1)
|
||||||
|
|
||||||
src.amount = round(src.amount)
|
var/n = src.donuts.len
|
||||||
var/n = src.amount
|
|
||||||
for(var/obj/item/weapon/reagent_containers/food/snacks/donut/P in src)
|
|
||||||
n++
|
|
||||||
if (n <= 0)
|
if (n <= 0)
|
||||||
n = 0
|
n = 0
|
||||||
usr << "There are no donuts left in the box."
|
usr << "There are no donuts left in the box."
|
||||||
|
|||||||
@@ -110,8 +110,8 @@
|
|||||||
"/obj/item/clothing/glasses",
|
"/obj/item/clothing/glasses",
|
||||||
"/obj/item/ammo_casing/shotgun",
|
"/obj/item/ammo_casing/shotgun",
|
||||||
"/obj/item/ammo_magazine",
|
"/obj/item/ammo_magazine",
|
||||||
"/obj/item/weapon/reagent_containers/food/snacks/donut",
|
"/obj/item/weapon/reagent_containers/food/snacks/donut/normal",
|
||||||
"/obj/item/weapon/reagent_containers/food/snacks/jellydonut"
|
"/obj/item/weapon/reagent_containers/food/snacks/donut/jelly"
|
||||||
)
|
)
|
||||||
|
|
||||||
/obj/item/weapon/storage/belt/soulstone
|
/obj/item/weapon/storage/belt/soulstone
|
||||||
|
|||||||
@@ -104,6 +104,11 @@
|
|||||||
name = "donut"
|
name = "donut"
|
||||||
desc = "Goes great with Robust Coffee."
|
desc = "Goes great with Robust Coffee."
|
||||||
icon_state = "donut1"
|
icon_state = "donut1"
|
||||||
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/donut/normal
|
||||||
|
name = "donut"
|
||||||
|
desc = "Goes great with Robust Coffee."
|
||||||
|
icon_state = "donut1"
|
||||||
New()
|
New()
|
||||||
..()
|
..()
|
||||||
reagents.add_reagent("nutriment", 3)
|
reagents.add_reagent("nutriment", 3)
|
||||||
@@ -114,12 +119,12 @@
|
|||||||
src.name = "frosted donut"
|
src.name = "frosted donut"
|
||||||
reagents.add_reagent("sprinkles", 2)
|
reagents.add_reagent("sprinkles", 2)
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/chaosdonut
|
/obj/item/weapon/reagent_containers/food/snacks/donut/chaos
|
||||||
name = "Chaos Donut"
|
name = "Chaos Donut"
|
||||||
desc = "Like life, it never quite tastes the same."
|
desc = "Like life, it never quite tastes the same."
|
||||||
icon_state = "donut1"
|
icon_state = "donut1"
|
||||||
New()
|
New()
|
||||||
..()
|
|
||||||
reagents.add_reagent("nutriment", 2)
|
reagents.add_reagent("nutriment", 2)
|
||||||
reagents.add_reagent("sprinkles", 1)
|
reagents.add_reagent("sprinkles", 1)
|
||||||
bitesize = 10
|
bitesize = 10
|
||||||
@@ -150,7 +155,8 @@
|
|||||||
src.name = "Frosted Chaos Donut"
|
src.name = "Frosted Chaos Donut"
|
||||||
reagents.add_reagent("sprinkles", 2)
|
reagents.add_reagent("sprinkles", 2)
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/jellydonut
|
|
||||||
|
/obj/item/weapon/reagent_containers/food/snacks/donut/jelly
|
||||||
name = "Jelly Donut"
|
name = "Jelly Donut"
|
||||||
desc = "You jelly?"
|
desc = "You jelly?"
|
||||||
icon_state = "jdonut1"
|
icon_state = "jdonut1"
|
||||||
|
|||||||
@@ -45,14 +45,14 @@
|
|||||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/egg
|
/obj/item/weapon/reagent_containers/food/snacks/egg
|
||||||
)
|
)
|
||||||
result = /obj/item/weapon/reagent_containers/food/snacks/jellydonut
|
result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly
|
||||||
|
|
||||||
/datum/recipe/donut
|
/datum/recipe/donut
|
||||||
items = list(
|
items = list(
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/egg
|
/obj/item/weapon/reagent_containers/food/snacks/egg
|
||||||
)
|
)
|
||||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut
|
result = /obj/item/weapon/reagent_containers/food/snacks/donut/normal
|
||||||
|
|
||||||
/datum/recipe/human
|
/datum/recipe/human
|
||||||
//invalid recipe
|
//invalid recipe
|
||||||
@@ -414,7 +414,7 @@
|
|||||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/egg
|
/obj/item/weapon/reagent_containers/food/snacks/egg
|
||||||
)
|
)
|
||||||
result = /obj/item/weapon/reagent_containers/food/snacks/chaosdonut
|
result = /obj/item/weapon/reagent_containers/food/snacks/donut/chaos
|
||||||
|
|
||||||
/datum/recipe/human/kabob
|
/datum/recipe/human/kabob
|
||||||
items = list(
|
items = list(
|
||||||
|
|||||||
@@ -413,9 +413,10 @@
|
|||||||
var/dat = ""
|
var/dat = ""
|
||||||
dat += "<h2>Crew Manifest</h2><br><br>"
|
dat += "<h2>Crew Manifest</h2><br><br>"
|
||||||
var/list/L = list()
|
var/list/L = list()
|
||||||
for (var/datum/data/record/t in sortRecord(data_core.general))
|
if(!isnull(data_core.general))
|
||||||
var/R = t.fields["name"] + " - " + t.fields["rank"]
|
for (var/datum/data/record/t in sortRecord(data_core.general))
|
||||||
L += R
|
var/R = t.fields["name"] + " - " + t.fields["rank"]
|
||||||
|
L += R
|
||||||
for(var/R in sortList(L))
|
for(var/R in sortList(L))
|
||||||
dat += "[R]<br>"
|
dat += "[R]<br>"
|
||||||
dat += "</body></html>"
|
dat += "</body></html>"
|
||||||
@@ -426,8 +427,9 @@
|
|||||||
var/dat = ""
|
var/dat = ""
|
||||||
if(src.subscreen == 0)
|
if(src.subscreen == 0)
|
||||||
dat += "<h3>Medical Records</h3><HR>"
|
dat += "<h3>Medical Records</h3><HR>"
|
||||||
for(var/datum/data/record/R in sortRecord(data_core.general))
|
if(!isnull(data_core.general))
|
||||||
dat += text("<A href='?src=\ref[];med_rec=\ref[];software=medicalrecord;sub=1'>[]: []<BR>", src, R, R.fields["id"], R.fields["name"])
|
for(var/datum/data/record/R in sortRecord(data_core.general))
|
||||||
|
dat += text("<A href='?src=\ref[];med_rec=\ref[];software=medicalrecord;sub=1'>[]: []<BR>", src, R, R.fields["id"], R.fields["name"])
|
||||||
//dat += text("<HR><A href='?src=\ref[];screen=0;softFunction=medical records'>Back</A>", src)
|
//dat += text("<HR><A href='?src=\ref[];screen=0;softFunction=medical records'>Back</A>", src)
|
||||||
if(src.subscreen == 1)
|
if(src.subscreen == 1)
|
||||||
dat += "<CENTER><B>Medical Record</B></CENTER><BR>"
|
dat += "<CENTER><B>Medical Record</B></CENTER><BR>"
|
||||||
@@ -448,8 +450,9 @@
|
|||||||
var/dat = ""
|
var/dat = ""
|
||||||
if(src.subscreen == 0)
|
if(src.subscreen == 0)
|
||||||
dat += "<h3>Security Records</h3><HR>"
|
dat += "<h3>Security Records</h3><HR>"
|
||||||
for(var/datum/data/record/R in sortRecord(data_core.general))
|
if(!isnull(data_core.general))
|
||||||
dat += text("<A href='?src=\ref[];sec_rec=\ref[];software=securityrecord;sub=1'>[]: []<BR>", src, R, R.fields["id"], R.fields["name"])
|
for(var/datum/data/record/R in sortRecord(data_core.general))
|
||||||
|
dat += text("<A href='?src=\ref[];sec_rec=\ref[];software=securityrecord;sub=1'>[]: []<BR>", src, R, R.fields["id"], R.fields["name"])
|
||||||
if(src.subscreen == 1)
|
if(src.subscreen == 1)
|
||||||
dat += "<h3>Security Record</h3>"
|
dat += "<h3>Security Record</h3>"
|
||||||
if ((istype(src.securityActive1, /datum/data/record) && data_core.general.Find(src.securityActive1)))
|
if ((istype(src.securityActive1, /datum/data/record) && data_core.general.Find(src.securityActive1)))
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
Reference in New Issue
Block a user