mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +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:
@@ -36,7 +36,7 @@
|
||||
/datum/recipe
|
||||
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/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
|
||||
|
||||
|
||||
|
||||
@@ -176,7 +176,7 @@
|
||||
icon_state = "sec"
|
||||
icon_deny = "sec-deny"
|
||||
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_hidden = "/obj/item/clothing/glasses/sunglasses;/obj/item/kitchen/donut_box"
|
||||
product_hideamt = "2;2"
|
||||
|
||||
@@ -272,7 +272,9 @@
|
||||
return (result + R.Copy(Ri, 0))
|
||||
|
||||
/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
|
||||
var/middle = L.len / 2 + 1
|
||||
return mergeRecordLists(sortRecord(L.Copy(0, middle), field, order), sortRecord(L.Copy(middle), field, order), field, order)
|
||||
@@ -282,9 +284,16 @@
|
||||
var/Li=1
|
||||
var/Ri=1
|
||||
var/list/result = new()
|
||||
if(!isnull(L) && !isnull(R))
|
||||
while(Li <= L.len && Ri <= R.len)
|
||||
var/datum/data/record/rL = L[Li]
|
||||
if(isnull(rL))
|
||||
L -= rL
|
||||
continue
|
||||
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
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
"}
|
||||
if(2.0)
|
||||
dat += "<B>Record List</B>:<HR>"
|
||||
if(!isnull(data_core.general))
|
||||
for(var/datum/data/record/R in sortRecord(data_core.general))
|
||||
dat += text("<A href='?src=\ref[];d_rec=\ref[]'>[]: []<BR>", src, R, R.fields["id"], R.fields["name"])
|
||||
//Foreach goto(132)
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
<th><A href='?src=\ref[src];choice=Sorting;sort=fingerprint'>Fingerprints</A></th>
|
||||
<th>Criminal Status</th>
|
||||
</tr>"}
|
||||
if(!isnull(data_core.general))
|
||||
for(var/datum/data/record/R in sortRecord(data_core.general, sortBy, order))
|
||||
var/crimstat = ""
|
||||
for(var/datum/data/record/E in data_core.security)
|
||||
@@ -400,7 +401,7 @@ What a mess.*/
|
||||
if("name")
|
||||
if (istype(active1, /datum/data/record))
|
||||
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
|
||||
active1.fields["name"] = t1
|
||||
if("id")
|
||||
|
||||
@@ -13,3 +13,4 @@
|
||||
new /obj/item/weapon/caution(src)
|
||||
new /obj/item/weapon/trashbag(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/head/soft/green(src)
|
||||
new /obj/item/clothing/head/soft/green(src)
|
||||
new /obj/item/clothing/head/soft/green(src)
|
||||
return
|
||||
|
||||
/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/head/soft/orange(src)
|
||||
new /obj/item/clothing/head/soft/orange(src)
|
||||
new /obj/item/clothing/head/soft/orange(src)
|
||||
return
|
||||
|
||||
/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/head/soft/yellow(src)
|
||||
new /obj/item/clothing/head/soft/yellow(src)
|
||||
new /obj/item/clothing/head/soft/yellow(src)
|
||||
return
|
||||
|
||||
/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/head/soft/yellow(src)
|
||||
new /obj/item/clothing/head/soft/yellow(src)
|
||||
new /obj/item/clothing/head/soft/yellow(src)
|
||||
return
|
||||
|
||||
/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/head/soft/yellow(src)
|
||||
new /obj/item/clothing/head/soft/yellow(src)
|
||||
new /obj/item/clothing/head/soft/yellow(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/wardrobe/white/New()
|
||||
@@ -185,6 +200,13 @@
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/shoes/brown(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
|
||||
|
||||
/obj/structure/closet/lawcloset/New()
|
||||
|
||||
@@ -260,7 +260,7 @@ Code:
|
||||
|
||||
menu = "<h4><img src=pda_notes.png> Crew Manifest</h4>"
|
||||
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))
|
||||
menu += "[t.fields["name"]] - [t.fields["rank"]]<br>"
|
||||
menu += "<br>"
|
||||
@@ -335,6 +335,7 @@ Code:
|
||||
|
||||
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>"
|
||||
if(!isnull(data_core.general))
|
||||
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>"
|
||||
@@ -377,7 +378,7 @@ Code:
|
||||
menu += "<br>"
|
||||
if (45) //security records
|
||||
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))
|
||||
menu += "<a href='byond://?src=\ref[src];choice=Security Records;target=\ref[R]'>[R.fields["id"]]: [R.fields["name"]]<br>"
|
||||
|
||||
|
||||
@@ -10,62 +10,70 @@ MONKEY CUBE BOX
|
||||
/mob/living/carbon/var/last_eating = 0
|
||||
|
||||
/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_state = "donutbox"
|
||||
icon_state = "donutbox6"
|
||||
name = "donut box"
|
||||
|
||||
/obj/item/kitchen/egg_box
|
||||
var/amount = 12
|
||||
icon = 'food.dmi'
|
||||
icon_state = "eggbox"
|
||||
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()
|
||||
src.icon_state = text("donutbox[]", src.amount)
|
||||
src.icon_state = text("donutbox[]", src.donuts.len)
|
||||
return
|
||||
|
||||
/*
|
||||
/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) && (amount < 6))
|
||||
/obj/item/kitchen/donut_box/attackby(obj/item/weapon/W as obj, mob/living/user as mob)
|
||||
if (istype(W, /obj/item/weapon/reagent_containers/food/snacks/donut) && (donuts.len < max_amount))
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
donuts += W
|
||||
usr << "You place a donut back into the box."
|
||||
src.update()
|
||||
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(!istype(user, /mob/living/carbon/metroid))
|
||||
if( !usr.get_active_hand() )
|
||||
src.attack_hand(usr, usr.hand, 1)
|
||||
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)
|
||||
|
||||
/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)
|
||||
return ..()
|
||||
src.add_fingerprint(user)
|
||||
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/donut/P = locate() in src
|
||||
if(!P && (amount >= 1))
|
||||
P = new /obj/item/weapon/reagent_containers/food/snacks/donut( src )
|
||||
var/last = donuts.len
|
||||
if(last <= 0)
|
||||
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)
|
||||
usr.put_in_hands(P)
|
||||
usr << "You take a donut out of the box."
|
||||
src.amount--
|
||||
P.loc = user.loc
|
||||
user.put_in_hands(P)
|
||||
donuts -= P
|
||||
user << "You take a donut out of the box."
|
||||
src.update()
|
||||
return
|
||||
|
||||
/obj/item/kitchen/donut_box/examine()
|
||||
set src in oview(1)
|
||||
|
||||
src.amount = round(src.amount)
|
||||
var/n = src.amount
|
||||
for(var/obj/item/weapon/reagent_containers/food/snacks/donut/P in src)
|
||||
n++
|
||||
var/n = src.donuts.len
|
||||
if (n <= 0)
|
||||
n = 0
|
||||
usr << "There are no donuts left in the box."
|
||||
|
||||
@@ -110,8 +110,8 @@
|
||||
"/obj/item/clothing/glasses",
|
||||
"/obj/item/ammo_casing/shotgun",
|
||||
"/obj/item/ammo_magazine",
|
||||
"/obj/item/weapon/reagent_containers/food/snacks/donut",
|
||||
"/obj/item/weapon/reagent_containers/food/snacks/jellydonut"
|
||||
"/obj/item/weapon/reagent_containers/food/snacks/donut/normal",
|
||||
"/obj/item/weapon/reagent_containers/food/snacks/donut/jelly"
|
||||
)
|
||||
|
||||
/obj/item/weapon/storage/belt/soulstone
|
||||
|
||||
@@ -104,6 +104,11 @@
|
||||
name = "donut"
|
||||
desc = "Goes great with Robust Coffee."
|
||||
icon_state = "donut1"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/donut/normal
|
||||
name = "donut"
|
||||
desc = "Goes great with Robust Coffee."
|
||||
icon_state = "donut1"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
@@ -114,12 +119,12 @@
|
||||
src.name = "frosted donut"
|
||||
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"
|
||||
desc = "Like life, it never quite tastes the same."
|
||||
icon_state = "donut1"
|
||||
New()
|
||||
..()
|
||||
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("sprinkles", 1)
|
||||
bitesize = 10
|
||||
@@ -150,7 +155,8 @@
|
||||
src.name = "Frosted Chaos Donut"
|
||||
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"
|
||||
desc = "You jelly?"
|
||||
icon_state = "jdonut1"
|
||||
|
||||
@@ -45,14 +45,14 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/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
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/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
|
||||
//invalid recipe
|
||||
@@ -414,7 +414,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/flour,
|
||||
/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
|
||||
items = list(
|
||||
|
||||
@@ -413,6 +413,7 @@
|
||||
var/dat = ""
|
||||
dat += "<h2>Crew Manifest</h2><br><br>"
|
||||
var/list/L = list()
|
||||
if(!isnull(data_core.general))
|
||||
for (var/datum/data/record/t in sortRecord(data_core.general))
|
||||
var/R = t.fields["name"] + " - " + t.fields["rank"]
|
||||
L += R
|
||||
@@ -426,6 +427,7 @@
|
||||
var/dat = ""
|
||||
if(src.subscreen == 0)
|
||||
dat += "<h3>Medical Records</h3><HR>"
|
||||
if(!isnull(data_core.general))
|
||||
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)
|
||||
@@ -448,6 +450,7 @@
|
||||
var/dat = ""
|
||||
if(src.subscreen == 0)
|
||||
dat += "<h3>Security Records</h3><HR>"
|
||||
if(!isnull(data_core.general))
|
||||
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)
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
Reference in New Issue
Block a user