Skip to content

Commit

Permalink
Казино Грейтайд (#13834)
Browse files Browse the repository at this point in the history
* Начало

* Сломаная хрень, посмотреть вечерком.

* Готово

* Небольшие доработки.
  • Loading branch information
DarthSidiousPalpatine authored Mar 1, 2025
1 parent 6c3be96 commit 2106baa
Show file tree
Hide file tree
Showing 6 changed files with 310 additions and 86 deletions.
107 changes: 107 additions & 0 deletions code/game/objects/items/toys.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1472,6 +1472,113 @@ Owl & Griffin toys
return
Flip()

/obj/item/toy/singlecard/AltClick(mob/user)
if(!ishuman(usr) || usr.incapacitated())
return
Flip()

/*
* Casino Caps
*/
/obj/item/toy/caps
name = "caps"
desc = "Маленькие разноцветные фишки."

icon = 'icons/obj/casino.dmi'
icon_state = "caps_2"

w_class = SIZE_MIDGET

var/capsAmount = 1

/obj/item/toy/caps/atom_init(mapload, capsAmount = 1)
. = ..()

if(capsAmount <= 0)
capsAmount = 1
src.capsAmount = capsAmount
update_icon()

/obj/item/toy/caps/update_icon()
switch(capsAmount)
if(1)
icon_state = "caps_1_[pick(list("r", "g", "y", "b"))]"
if(2 to 9)
icon_state = "caps_2"
w_class = SIZE_MINUSCULE
if(10 to 25)
icon_state = "caps_3"
w_class = SIZE_TINY
if(25 to 99)
icon_state = "caps_4"
w_class = SIZE_TINY
if(100 to 249)
icon_state = "caps_5"
w_class = SIZE_SMALL
else
icon_state = "caps_6"
w_class = SIZE_SMALL

/obj/item/toy/caps/examine(mob/user)
..()
to_chat(user, "Фишек в стопке: [capsAmount].")

/obj/item/toy/caps/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/toy/caps))
var/obj/item/toy/caps/Caps = I

capsAmount += Caps.capsAmount
qdel(Caps)
update_icon()

/obj/item/toy/caps/attack_hand(mob/user)
if(capsAmount == 1)
user.put_in_active_hand(src)
return

var/static/icon/radial_icons = 'icons/hud/radial.dmi'
var/static/radial_pickAll = image(icon = radial_icons, icon_state = "radial_pickup")
var/static/radial_pickFew = image(icon = radial_icons, icon_state = "radial_split")
var/list/options = list()

options["Взять всё"] = radial_pickAll
options["Взять часть"] = radial_pickFew

var/choice = show_radial_menu(user, src, options, require_near = TRUE, tooltips = TRUE)

if(choice == "Взять всё")
user.put_in_active_hand(src)
return

var/pickupAmount = text2num(input(user, "Сколько фишек взять?", "1") as text)
if(pickupAmount <= 0 || pickupAmount > capsAmount)
return

var/obj/item/toy/caps/Caps = new(get_turf(src), pickupAmount)
Caps.pickup(user)
user.put_in_active_hand(Caps)

user.visible_message("<span class='notice'>[user] берёт [pickupAmount] [pluralize_russian(pickupAmount, "фишку", "фишки", "фишек")] из стопки.</span>", "<span class='notice'>Вы берёте [pickupAmount] [pluralize_russian(pickupAmount, "фишку", "фишки", "фишек")] из стопки.</span>")

if(pickupAmount == capsAmount)
qdel(src)
return

capsAmount -= pickupAmount
update_icon()

/obj/item/toy/caps/MouseDrop(atom/over_object)
. = ..()
var/mob/M = usr
if(over_object == M && iscarbon(usr) && !usr.incapacitated())
if(Adjacent(usr))
M.put_in_hands(src)
else
to_chat(usr, "<span class='notice'>Вы не можете дотянуться.</span>")

if(M.l_hand == src || M.r_hand == src)
to_chat(usr, "<span class='notice'>Вы берёте [capsAmount] [pluralize_russian(capsAmount, "фишку", "фишки", "фишек")].</span>")


/*
* Poly prizes
Expand Down
10 changes: 10 additions & 0 deletions code/modules/cargo/packs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1859,6 +1859,16 @@ var/global/list/all_supply_groups = list("Operations","Security","Hospitality","
/obj/item/clothing/suit/lasertag/bluetag)
group = "Miscellaneous"

/datum/supply_pack/casino
name = "Casino Starter Pack"
contains = list(/obj/item/device/cardpay/casino,
/obj/item/toy/cards,
/obj/item/toy/cards,
/obj/item/weapon/storage/pill_bottle/dice,
/obj/item/weapon/storage/pill_bottle/dice,
/obj/item/weapon/cane)
group = "Miscellaneous"

//----------------------------------------------
//-----------------RANDOMISED-------------------
//----------------------------------------------
Expand Down
Loading

0 comments on commit 2106baa

Please sign in to comment.