diff --git a/code/game/machinery/casino_ch.dm b/code/game/machinery/casino_ch.dm index 34adb38328..65d744abcf 100644 --- a/code/game/machinery/casino_ch.dm +++ b/code/game/machinery/casino_ch.dm @@ -900,7 +900,7 @@ /////////////CASINO PRIZE DISPENSER//////////////////////// - +/* /obj/machinery/casino_prize_dispenser //WIP sprites and variables and prize lists name = "Casino Prize Exchanger" desc = "Exchange your chips to obtain wonderful prizes! Hoepfully you'll get to keep some of them for a while." @@ -920,13 +920,27 @@ var/status_message = "" // Status screen messages like "insufficient funds", displayed in NanoUI var/status_error = 0 // Set to 1 if status_message is an error - var/list/weapons = list() // For each, use the following pattern: - var/list/gear = list() // list(/type/path = amount,/type/path2 = amount2) - var/list/clothing = list() // No specified amount = only one in stock - var/list/misc = list() - var/list/drinks = list() + var/list/list_weapons = list() + var/list/list_gear = list() + var/list/list_clothing = list() + var/list/list_misc = list() + var/list/list_drinks = list() var/list/prices = list() // Prices for each item, list(/type/path = price), items not in the list don't have a price. + var/category_weapons = 1 //For listing categories, if false then prizes of this categories cant be obtained nor bought for post-shift enjoyment + var/category_gear = 1 + var/category_clothing = 1 + var/category_misc = 1 + var/category_drinks = 1 + + var/list/product_categories = list( + list_weapons, + category_gear, + category_clothing, + category_misc, + category_drinks + ) + // List of vending_product items available. var/list/product_records = list() @@ -941,7 +955,7 @@ var/list/log = list() var/req_log_access = access_cargo //default access for checking logs is cargo var/has_logs = 0 //defaults to 0, set to anything else for vendor to have logs - +*/ /* var/list/all_products = list( @@ -952,16 +966,12 @@ list("Booze", CAT_DRINKS)) */ +/* /obj/machinery/casino_prize_dispenser/Initialize() build_inventory() /obj/machinery/casino_prize_dispenser/proc/build_inventory() //WIP - var/list/all_products = list( - list(weapons, CAT_WEAPONS), - list(gear, CAT_GEAR), - list(clothing, CAT_CLOTHING), - list(misc, CAT_MISC), - list(drinks, CAT_DRINKS)) + for(var/current_list in all_products) var/category = current_list[2] @@ -971,7 +981,8 @@ product.price = (entry in prices) ? prices[entry] : 0 product.category = category - +*/ +/* /obj/machinery/casino_prize_dispenser/Destroy() for(var/datum/stored_item/vending_product/R in product_records) qdel(R) @@ -1056,6 +1067,7 @@ "color" = I.display_color))) data["products"] = listed_products + data["categories"] = all_products ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) @@ -1116,4 +1128,49 @@ /obj/machinery/casino_prize_dispenser/proc/do_logging(datum/stored_item/vending_product/R, mob/user, var/vending = 0) //WIP? var/prize_log = "[user.ckey] playing as [user.name] bought a INSERT PORODUCT HERE." log[++log.len] = prize_log - //Currently doesnt have in game way to show, to ensure theres no chance of players ckeys exposed - Jack \ No newline at end of file + //Currently doesnt have in game way to show, to ensure theres no chance of players ckeys exposed - Jack +*/ +/* + + +{{if data.mode == 0}} +

Items available

+
+ {{for data.products}} +
+
+ {{if value.price > 0}} + {{:helper.link('Buy (' + value.price + ')', 'cart', { "vend" : value.key }}} + {{else}} + {{:helper.link('Vend', 'circle-arrow-s', { "vend" : value.key }}} + {{/if}} +
+
+ {{if value.color}}{{:value.name}} + {{else}}{{:value.name}} +
+
+ {{empty}} + No items available! + {{/for}} +
+{{/if}} +{{else data.mode == 1}} +

Item selected

+
+
+
Item selected:
{{:data.product}}
+
Charge:
{{:data.price}}
+
+
+ {{if data.message_err}} {{/if}} {{:data.message}} +
+
+ {{:helper.link('Cancel', 'arrowreturn-1-w', {'cancelpurchase' : 1})}} +
+
+{{/if}} +*/ \ No newline at end of file diff --git a/code/game/objects/effects/effect_system_ch.dm b/code/game/objects/effects/effect_system_ch.dm new file mode 100644 index 0000000000..08e80a19d5 --- /dev/null +++ b/code/game/objects/effects/effect_system_ch.dm @@ -0,0 +1,64 @@ + +///////////////////////////////////////////// +// Confetti and Glitter +// Uses same system as smoke so can have directional travel +///////////////////////////////////////////// + +/obj/effect/effect/confetti + name = "confetti" + icon = 'icons/effects/effects_ch.dmi' + icon_state = "confetti" + opacity = 1 + anchored = 0.0 + mouse_opacity = 0 + var/amount = 6.0 + var/time_to_live = 100 + +/obj/effect/effect/confetti/New() + ..() + if(time_to_live) + spawn (time_to_live) + if(!QDELETED(src)) + qdel(src) + +/datum/effect/effect/system/confetti_spread + var/total_confetti = 0 // To stop it being spammed and lagging! + var/direction + var/confetti_type = /obj/effect/effect/confetti + +/datum/effect/effect/system/confetti_spread/set_up(n = 5, c = 0, loca, direct) + if(n > 10) + n = 10 + number = n + cardinals = c + if(istype(loca, /turf/)) + location = loca + else + location = get_turf(loca) + if(direct) + direction = direct + +/datum/effect/effect/system/confetti_spread/start(var/I) + var/i = 0 + for(i=0, i 20) + return + spawn(0) + if(holder) + src.location = get_turf(holder) + var/obj/effect/effect/confetti/confetti = new confetti_type(src.location) + src.total_confetti++ + if(I) + confetti.color = I //Allows us to do differently colored confetti + var/direction = src.direction + if(!direction) + if(src.cardinals) + direction = pick(cardinal) + else + direction = pick(alldirs) + for(i=0, i {{if data.mode == 0}} -

Items available

+

Prize categories

- {{for data.products}} -
-
- {{if value.price > 0}} - {{:helper.link('Buy (' + value.price + ')', 'cart', { "vend" : value.key }}} - {{else}} - {{:helper.link('Vend', 'circle-arrow-s', { "vend" : value.key }}} - {{/if}} -
-
- {{if value.color}}{{:value.name}} - {{else}}{{:value.name}} -
+ {{for data.categories}}
{{empty}} No items available! {{/for}}
-{{/if}} -{{else data.mode == 1}} -

Item selected

-
-
-
Item selected:
{{:data.product}}
-
Charge:
{{:data.price}}
-
-
- {{if data.message_err}} {{/if}} {{:data.message}} -
-
- {{:helper.link('Cancel', 'arrowreturn-1-w', {'cancelpurchase' : 1})}} -
-{{/if}} \ No newline at end of file +{{/if}} diff --git a/vorestation.dme b/vorestation.dme index 8bf6899fe9..11dbedfaa2 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -986,6 +986,7 @@ #include "code\game\objects\weapons.dm" #include "code\game\objects\effects\bump_teleporter.dm" #include "code\game\objects\effects\effect_system.dm" +#include "code\game\objects\effects\effect_system_ch.dm" #include "code\game\objects\effects\explosion_particles.dm" #include "code\game\objects\effects\gibs.dm" #include "code\game\objects\effects\glowshroom.dm" @@ -1215,6 +1216,7 @@ #include "code\game\objects\items\weapons\grenades\anti_photon_grenade.dm" #include "code\game\objects\items\weapons\grenades\chem_grenade.dm" #include "code\game\objects\items\weapons\grenades\concussion.dm" +#include "code\game\objects\items\weapons\grenades\confetti_grenade.dm" #include "code\game\objects\items\weapons\grenades\emgrenade.dm" #include "code\game\objects\items\weapons\grenades\explosive.dm" #include "code\game\objects\items\weapons\grenades\flashbang.dm" @@ -2103,6 +2105,7 @@ #include "code\modules\games\cah_white_cards.dm" #include "code\modules\games\cardemon.dm" #include "code\modules\games\cards.dm" +#include "code\modules\games\cards_ch.dm" #include "code\modules\games\dice.dm" #include "code\modules\games\spaceball_cards.dm" #include "code\modules\games\tarot.dm"