From d158ec95285f53e801b72773690b431e0957d56a Mon Sep 17 00:00:00 2001 From: Kerbin-Fiber Date: Sun, 10 Sep 2017 03:42:16 -0500 Subject: [PATCH] Adds Donksoft Toy Vendor (Machine Board) to the Circuit Imprinter --- code/game/machinery/vending.dm | 61 ++++++++++++ .../circuitboards/machine_circuitboards.dm | 10 +- code/game/objects/items/vending_items.dm | 90 ++++++++++++++++++ code/modules/cargo/packs.dm | 3 +- .../boxes_magazines/external_mag.dm | 11 ++- .../modules/projectiles/guns/ballistic/toy.dm | 14 ++- .../research/designs/machine_designs.dm | 8 ++ icons/obj/vending_restock.dmi | Bin 1343 -> 1454 bytes 8 files changed, 192 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 427bc95253..e65d71e38f 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1138,6 +1138,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C /obj/item/clothing/ears/headphones = 10) contraband = list(/obj/item/clothing/under/syndicate/tacticool=1, /obj/item/clothing/mask/balaclava=1, /obj/item/clothing/head/ushanka=1, /obj/item/clothing/under/soviet=1, /obj/item/storage/belt/fannypack/black=2, /obj/item/clothing/suit/jacket/letterman_syndie=1, /obj/item/clothing/under/jabroni=1, /obj/item/clothing/suit/vapeshirt=1, /obj/item/clothing/under/geisha=1) premium = list(/obj/item/clothing/under/suit_jacket/checkered=1, /obj/item/clothing/head/mailman=1, /obj/item/clothing/under/rank/mailman=1, /obj/item/clothing/suit/jacket/leather=1, /obj/item/clothing/suit/jacket/leather/overcoat=1, /obj/item/clothing/under/pants/mustangjeans=1, /obj/item/clothing/neck/necklace/dope=3, /obj/item/clothing/suit/jacket/letterman_nanotrasen=1) +<<<<<<< HEAD refill_canister = /obj/item/vending_refill/clothing /obj/machinery/vending/toyliberationstation @@ -1169,3 +1170,63 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C #undef STANDARD_CHARGE #undef CONTRABAND_CHARGE #undef COIN_CHARGE +======= + refill_canister = /obj/item/vending_refill/clothing + +/obj/machinery/vending/toyliberationstation + name = "\improper Syndicate Donksoft Toy Vendor" + desc = "A ages 8 and up approved vendor that dispenses toys. If you were to find the right wires, you can unlock the adult mode setting!" + icon_state = "syndi" + req_access_txt = "1" + product_slogans = "Get your cool toys today!;Trigger a valid hunter today!;Quality toy weapons for cheap prices!;Give them to HoPs for all access!;Give them to HoS to get perma briged!" + product_ads = "Feel robust with your toys!;Express your inner child today!;Toy weapons don't kill people, but valid hunters do!;Who needs responsibilities when you have toy weapons?;Make your next murder FUN!" + vend_reply = "Come back for more!" + products = list(/obj/item/gun/ballistic/automatic/toy/unrestricted = 10, + /obj/item/gun/ballistic/automatic/toy/pistol/unrestricted = 10, + /obj/item/gun/ballistic/shotgun/toy/unrestricted = 10, + /obj/item/toy/sword = 10, + /obj/item/ammo_box/foambox = 20, + /obj/item/toy/foamblade = 10, + /obj/item/toy/syndicateballoon = 10, + /obj/item/clothing/suit/syndicatefake = 5, + /obj/item/clothing/head/syndicatefake = 5) //OPS IN DORMS oh wait it's just a assistant + contraband = list(/obj/item/gun/ballistic/shotgun/toy/crossbow = 10, //Congrats, you unlocked the +18 setting! + /obj/item/gun/ballistic/automatic/c20r/toy/riot/unrestricted = 10, + /obj/item/gun/ballistic/automatic/l6_saw/toy/riot/unrestricted = 10, + /obj/item/ammo_box/foambox/riot = 20, + /obj/item/toy/katana = 10, + /obj/item/twohanded/dualsaber/toy = 5, + /obj/item/toy/cards/deck/syndicate = 10) //Gambling and it hurts, making it a +18 item + armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 50) + resistance_flags = FIRE_PROOF + refill_canister = /obj/item/vending_refill/donksoft + +/obj/machinery/vending/donksofttoyvendor + name = "\improper Donksoft Toy Vendor" + desc = "Ages 8 and up approved vendor that dispenses toys." + icon_state = "syndi" + product_slogans = "Get your cool toys today!;Trigger a valid hunter today!;Quality toy weapons for cheap prices!;Give them to HoPs for all access!;Give them to HoS to get perma briged!" + product_ads = "Feel robust with your toys!;Express your inner child today!;Toy weapons don't kill people, but valid hunters do!;Who needs responsibilities when you have toy weapons?;Make your next murder FUN!" + vend_reply = "Come back for more!" + products = list(/obj/item/gun/ballistic/automatic/toy/unrestricted = 10, + /obj/item/gun/ballistic/automatic/toy/pistol/unrestricted = 10, + /obj/item/gun/ballistic/shotgun/toy/unrestricted = 10, + /obj/item/toy/sword = 10, + /obj/item/ammo_box/foambox = 20, + /obj/item/toy/foamblade = 10, + /obj/item/toy/syndicateballoon = 10, + /obj/item/clothing/suit/syndicatefake = 5, + /obj/item/clothing/head/syndicatefake = 5) + contraband = list(/obj/item/gun/ballistic/shotgun/toy/crossbow = 10, + /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted = 10, + /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted = 10, + /obj/item/toy/katana = 10, + /obj/item/twohanded/dualsaber/toy = 5) + armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 50) + resistance_flags = FIRE_PROOF + refill_canister = /obj/item/vending_refill/donksoft + +#undef STANDARD_CHARGE +#undef CONTRABAND_CHARGE +#undef COIN_CHARGE +>>>>>>> 91a9164... Adds Donksoft Toy Vendor (Machine Board) to the Circuit Imprinter (#30531) diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 645e8c05a3..cbbf1d0cb7 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -720,4 +720,12 @@ /obj/item/stock_parts/matter_bin = 1, /obj/item/stack/cable_coil = 2, /obj/item/stock_parts/console_screen = 1, - /obj/item/stack/sheet/glass = 1) \ No newline at end of file + /obj/item/stack/sheet/glass = 1) + +/obj/item/circuitboard/machine/vending/donksofttoyvendor + name = "Donksoft Toy Vendor (Machine Board)" + build_path = /obj/machinery/vending/donksofttoyvendor + origin_tech = "programming=1;syndicate=2" + req_components = list( + /obj/item/stock_parts/console_screen = 1, + /obj/item/vending_refill/donksoft = 3) diff --git a/code/game/objects/items/vending_items.dm b/code/game/objects/items/vending_items.dm index 3227228127..7837b10939 100644 --- a/code/game/objects/items/vending_items.dm +++ b/code/game/objects/items/vending_items.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD /obj/item/vending_refill name = "resupply canister" var/machine_name = "Generic" @@ -79,3 +80,92 @@ icon_state = "refill_medical" charges = list(26, 5, 3)// of 76 standard, 13 contraband, 8 premium init_charges = list(26, 5, 3) +======= +/obj/item/vending_refill + name = "resupply canister" + var/machine_name = "Generic" + + icon = 'icons/obj/vending_restock.dmi' + icon_state = "refill_snack" + item_state = "restock_unit" + lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' + flags_1 = CONDUCT_1 + force = 7 + throwforce = 10 + throw_speed = 1 + throw_range = 7 + w_class = WEIGHT_CLASS_BULKY + armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 70, acid = 30) + var/charges = list(0, 0, 0) //how many restocking "charges" the refill has for standard/contraband/coin products + var/init_charges = list(0, 0, 0) + + +/obj/item/vending_refill/New(amt = -1) + ..() + name = "\improper [machine_name] restocking unit" + if(isnum(amt) && amt > -1) + charges[1] = amt + +/obj/item/vending_refill/examine(mob/user) + ..() + if(charges[1] > 0) + to_chat(user, "It can restock [charges[1]+charges[2]+charges[3]] item(s).") + else + to_chat(user, "It's empty!") + +//NOTE I decided to go for about 1/3 of a machine's capacity + +/obj/item/vending_refill/boozeomat + machine_name = "Booze-O-Mat" + icon_state = "refill_booze" + charges = list(54, 4, 0)//of 159 standard, 12 contraband + init_charges = list(54, 4, 0) + +/obj/item/vending_refill/coffee + machine_name = "Solar's Best Hot Drinks" + icon_state = "refill_joe" + charges = list(25, 4, 0)//of 75 standard, 12 contraband + init_charges = list(25, 4, 0) + +/obj/item/vending_refill/snack + machine_name = "Getmore Chocolate Corp" + charges = list(12, 2, 0)//of 36 standard, 6 contraband + init_charges = list(12, 2, 0) + +/obj/item/vending_refill/cola + machine_name = "Robust Softdrinks" + icon_state = "refill_cola" + charges = list(30, 4, 1)//of 90 standard, 12 contraband, 1 premium + init_charges = list(30, 4, 1) + +/obj/item/vending_refill/cigarette + machine_name = "ShadyCigs Deluxe" + icon_state = "refill_smoke" + charges = list(12, 3, 2)// of 36 standard, 9 contraband, 6 premium + init_charges = list(12, 3, 2) + +/obj/item/vending_refill/autodrobe + machine_name = "AutoDrobe" + icon_state = "refill_costume" + charges = list(32, 2, 3)// of 96 standard, 6 contraband, 9 premium + init_charges = list(32, 2, 3) + +/obj/item/vending_refill/clothing + machine_name = "ClothesMate" + icon_state = "refill_clothes" + charges = list(37, 4, 4)// of 111 standard, 12 contraband, 10 premium(?) + init_charges = list(37, 4, 4) + +/obj/item/vending_refill/medical + machine_name = "NanoMed" + icon_state = "refill_medical" + charges = list(26, 5, 3)// of 76 standard, 13 contraband, 8 premium + init_charges = list(26, 5, 3) + +/obj/item/vending_refill/donksoft + machine_name = "Donksoft Toy Vendor" + icon_state = "refill_donksoft" + charges = list(32,28,0)// of 90 standard, 75 contraband, 0 premium + init_charges = list(32,28,0) +>>>>>>> 91a9164... Adds Donksoft Toy Vendor (Machine Board) to the Circuit Imprinter (#30531) diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 8bdbc328ad..ba536acdac 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -1648,7 +1648,8 @@ /obj/item/stack/tile/fakespace/loaded, /obj/item/gun/ballistic/shotgun/toy/crossbow, /obj/item/toy/redbutton, - /obj/item/toy/eightball) + /obj/item/toy/eightball, + /obj/item/vending_refill/donksoft) crate_name = "toy crate" /datum/supply_pack/misc/autodrobe diff --git a/code/modules/projectiles/boxes_magazines/external_mag.dm b/code/modules/projectiles/boxes_magazines/external_mag.dm index 3bfb90224d..525466be28 100644 --- a/code/modules/projectiles/boxes_magazines/external_mag.dm +++ b/code/modules/projectiles/boxes_magazines/external_mag.dm @@ -324,6 +324,7 @@ /obj/item/ammo_box/magazine/toy/smg name = "foam force SMG magazine" icon_state = "smg9mm-42" + ammo_type = /obj/item/ammo_casing/caseless/foam_dart max_ammo = 20 /obj/item/ammo_box/magazine/toy/smg/update_icon() @@ -348,23 +349,29 @@ /obj/item/ammo_box/magazine/toy/smgm45 name = "donksoft SMG magazine" caliber = "foam_force" - ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot + ammo_type = /obj/item/ammo_casing/caseless/foam_dart max_ammo = 20 /obj/item/ammo_box/magazine/toy/smgm45/update_icon() ..() icon_state = "c20r45-[round(ammo_count(),2)]" +/obj/item/ammo_box/magazine/toy/smgm45/riot + ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot + /obj/item/ammo_box/magazine/toy/m762 name = "donksoft box magazine" caliber = "foam_force" - ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot + ammo_type = /obj/item/ammo_casing/caseless/foam_dart max_ammo = 50 /obj/item/ammo_box/magazine/toy/m762/update_icon() ..() icon_state = "a762-[round(ammo_count(),10)]" +/obj/item/ammo_box/magazine/toy/m762/riot + ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot + diff --git a/code/modules/projectiles/guns/ballistic/toy.dm b/code/modules/projectiles/guns/ballistic/toy.dm index 135540436a..fc1ad963e4 100644 --- a/code/modules/projectiles/guns/ballistic/toy.dm +++ b/code/modules/projectiles/guns/ballistic/toy.dm @@ -89,6 +89,12 @@ /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted pin = /obj/item/device/firing_pin +/obj/item/gun/ballistic/automatic/smgm45/toy/riot + mag_type = /obj/item/ammo_box/magazine/toy/smgm45/riot + +/obj/item/gun/ballistic/automatic/c20r/toy/riot/unrestricted + pin = /obj/item/device/firing_pin + /obj/item/gun/ballistic/automatic/l6_saw/toy name = "donksoft LMG" desc = "A heavily modified toy light machine gun, designated 'L6 SAW'. Ages 8 and up." @@ -99,4 +105,10 @@ casing_ejector = 0 /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted - pin = /obj/item/device/firing_pin \ No newline at end of file + pin = /obj/item/device/firing_pin + +/obj/item/gun/ballistic/automatic/l6_saw/toy/riot + mag_type = /obj/item/ammo_box/magazine/toy/m762/riot + +/obj/item/gun/ballistic/automatic/l6_saw/toy/riot/unrestricted + pin = /obj/item/device/firing_pin diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index cee8167666..bb2887e2a1 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -418,3 +418,11 @@ req_tech = list("programming" = 1) build_path = /obj/item/circuitboard/machine/deep_fryer category = list ("Misc. Machinery") + +/datum/design/board/donksofttoyvendor + name = "Machine Design (Donksoft Toy Vendor Board)" + desc = "The circuit board for a Donksoft Toy Vendor." + id = "donksofttoyvendor" + req_tech = list("programming" = 1, "syndicate" = 2) + build_path = /obj/item/circuitboard/machine/vending/donksofttoyvendor + category = list ("Misc. Machinery") diff --git a/icons/obj/vending_restock.dmi b/icons/obj/vending_restock.dmi index eac7b8a266846d2499b22b5b6e97f7af561cf82d..7f8289a0877ff2bd07cb43f6ce9f4a87438919a6 100644 GIT binary patch delta 1220 zcmV;#1Uvh`3a$%~Bmw!6C6`EZb904-g_M+(#Fb#Oi&E@fIA+W<{{R300000pGnoJY z|7QO)0RR7)GiGKp0RJ<{4L8HTui_3W+1c5vtE)afKCKHe|Nk?Q=^hn4(ms^{0004W zQchCy3`3+~O1nNB-q&)eg<)mv8?pj1=T=e>dO&00Xf}L_t(& zf$fzvxj7>vqc@d+a_~a|FS?%bawd!aD=E2MsW^_K<}Q=w`j1re9xAE0Q>oat z?I^ilWpV-kl*wYEfA#a<0C2~#KVuDd7pgv181PkS-cuNG?$}6Sz`45s3~)Iowgs%? z4sx{Icgw(_HvI)^m>v<P-O-( zUiaPfdfJ1MVBpR38T>SG=KvbOf4hhmp!a_zJwm&{06quM zKz>B@`LbVopf#X9fCko-*b(89$e97>jxFQ#8Fo1rdQhq@z3S@{Jp!!fj-2~$%6%Wc zifYSKs$o1MhxOs34zHh?&;GJ6;6_G9Mn?aQW_{&bK*IHJ!O~+2)cHPaps*1FZoTo9 z)wQ*?vZcJff0-xl)q&+hHzyT6s?EujuCkFUTJe zB^ zEtvtW8e|567;d+Bc6PQor#+B_-wrLo`Q{c9(>2Z4e@)Nh3uq6-0=s*Ad;94QP$=?F zrxPS+P{UiOD>XRq4$}ND^ne-cQ>7d{2aI<*nFHnBLz%%r^T5;eV0s5_`3^ei4!Va& zviX1=5zqHx57_5)1L^$GXvyXSX2AL3kv!iwy)@s`9!U7^?rzG%g82c~7xTYY!2fc7 zF!OK`9lD&GImr}YO) zPRMz5@$(Gue7>jkd%FB@Q3ow25y1)rzUsKA&;Nry*79Ew*3Sn$bg9k%13c7nf=R)A zaCxQ8|9IGya6(ANNhFEy`1<$th-c5ss~c_pe;;;-A}6=Ew}f+YD(s+MAIGEXQ9Mo- zT-`{2ADB#116p6;w0^`LYWRX+FXXbM$_&mTVF#A=yd3Yx%g;%^ zQh#`q<$r53N#}#=lfcRA2B^U~>;cR7@TbA^S4l$4ajm0+@qQtVzh|7QQl4L8HTui_3W z+1c5vtE)afKCKHeDJdyhT3TJ1z8pAjy}i9BKaUnHR>na97Z(>WFfighTFU?c00DGT zPE!Ct=GbNc005wqHvuhwW^B@dOjPjn2D=m??%o?d-ezibY`cC?&8e3Uh>SF=gW9jw zQasTnm&3fH`x0M3z(a{@SbcR&ECX2h02bR1!%<-S`50rkx< zP$zVYh>l|$X}KS`Frcv^YEbitjw2}`1-rX~OEZ85@Gj!~JJl*c#T&jWuBS7oNC94r z-=ORR@GcSoj=r@Z?BbjN&f6`lKOcDE zp|<}=IMVVKKGL5LFqnbFyG{N1;pkXd-@{PUZ#V;3@8Jv}KRP~91yI*;6%fkh_Vn!R z?38ml14a4mQwz?IPq5ssX}|7x9{&KHfow21KR>^J5G%lu%=`U*nC?NHoZz7{VC0QN z|CeUK0xqZo2hRcH{r)O}^5LZ_VAL6Tni*`apr>9zU#wtwd8IlZur1>KUY-H_J6(V{ zKQz0l^8pLs{PIfO?>nC8_jCpdJ{SxHj|$EY&|mKVUI8z8elX_)BO@atqrax2eqY23 z{ny2Ray+@dz8+h-d^-C%o6brmK>x|a%Hz{tQ|ezb0Q7t6Ki2hsizbjfuYv&XG8yap z|7=Ri1;Bnk#y8sjKO^&!0kGfS+-mzjnGeeb&`L?}e%~#4_q@5i*Y^MUu=ENVjb*&J zTg1!M;Pzhm|A8bC0o1=-_hAN$IA%Yo!99L`&<4!O;|Bs3G+@C4@WYcFkfcgEc?`-2 zusuq5h#EXRJ!=CVgO{=ami4+HU&Q;bX}^DZR`q`?NyPaecqusp*6)|`+wv`5rv3g| z-T#wB^#8K{yx%XGKG^>Y1Geq|g#o7j8~xAv14w70nwsEWfB*mh07*qoM6N<$f^Xk5 A1ONa4