Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions _maps/map_files/Deltastation/DeltaStation2.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -17940,7 +17940,7 @@
/obj/effect/landmark/start/hangover,
/obj/structure/table/wood,
/obj/machinery/door/firedoor,
/obj/structure/displaycase/forsale/kitchen{
/obj/structure/tipjar/prefilled{
pixel_y = 6
},
/turf/open/floor/iron/dark/smooth_half{
Expand Down Expand Up @@ -72330,7 +72330,7 @@
id = "cafe_counter";
name = "Kitchen Counter Shutters"
},
/obj/structure/displaycase/forsale/kitchen,
/obj/structure/tipjar/prefilled,
/turf/open/floor/iron/white/smooth_corner{
dir = 8
},
Expand Down
4 changes: 2 additions & 2 deletions _maps/map_files/IceBoxStation/IceBoxStation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -79857,7 +79857,7 @@
id = "kitchencounter";
name = "Kitchen Counter Shutters"
},
/obj/structure/displaycase/forsale/kitchen,
/obj/structure/tipjar/prefilled,
/turf/open/floor/iron/white/smooth_large,
/area/station/service/kitchen)
"xEE" = (
Expand Down Expand Up @@ -81791,7 +81791,7 @@
/obj/structure/sign/picture_frame/portrait/bar{
pixel_x = 32
},
/obj/structure/displaycase/forsale/kitchen{
/obj/structure/tipjar/prefilled{
pixel_y = 8
},
/turf/open/floor/iron,
Expand Down
4 changes: 2 additions & 2 deletions _maps/map_files/KiloStation/KiloStation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -7936,7 +7936,7 @@
/area/station/hallway/primary/central/fore)
"aSq" = (
/obj/structure/table/wood,
/obj/structure/displaycase/forsale/kitchen{
/obj/structure/tipjar/prefilled{
pixel_y = 4
},
/obj/structure/sign/picture_frame/portrait/bar{
Expand Down Expand Up @@ -61959,7 +61959,7 @@
/area/station/cargo/storage)
"pLA" = (
/obj/structure/table/reinforced,
/obj/structure/displaycase/forsale/kitchen{
/obj/structure/tipjar/prefilled{
pixel_y = 4
},
/obj/machinery/door/firedoor,
Expand Down
6 changes: 3 additions & 3 deletions _maps/map_files/MetaStation/MetaStation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -8800,7 +8800,7 @@
dir = 4;
id = "abandoned_kitchen"
},
/obj/structure/displaycase/forsale/kitchen{
/obj/structure/tipjar{
pixel_y = 8
},
/turf/open/floor/plating,
Expand Down Expand Up @@ -18326,7 +18326,7 @@
/area/station/engineering/atmos)
"eSv" = (
/obj/structure/table/reinforced,
/obj/structure/displaycase/forsale/kitchen{
/obj/structure/tipjar/prefilled{
pixel_y = 8
},
/obj/machinery/computer/security/telescreen/entertainment/directional/west,
Expand Down Expand Up @@ -49209,7 +49209,7 @@
},
/obj/effect/turf_decal/tile/bar/opposingcorners,
/obj/structure/table/reinforced,
/obj/structure/displaycase/forsale/kitchen{
/obj/structure/tipjar/prefilled{
pixel_y = 8
},
/obj/effect/turf_decal/siding/wood{
Expand Down
4 changes: 2 additions & 2 deletions _maps/map_files/NebulaStation/NebulaStation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -56700,7 +56700,7 @@
/obj/machinery/light_switch/directional/west,
/obj/machinery/status_display/evac/directional/north,
/obj/structure/table/wood/fancy/red,
/obj/structure/displaycase/forsale/kitchen{
/obj/structure/tipjar/prefilled{
pixel_y = 8
},
/turf/open/floor/wood/large,
Expand Down Expand Up @@ -120892,7 +120892,7 @@
/area/space/nearstation)
"rVX" = (
/obj/structure/table/wood/fancy/red,
/obj/structure/displaycase/forsale/kitchen{
/obj/structure/tipjar/prefilled{
pixel_y = 8
},
/obj/machinery/newscaster/directional/south,
Expand Down
4 changes: 2 additions & 2 deletions _maps/map_files/NorthStar/north_star.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -12870,7 +12870,7 @@
/obj/effect/turf_decal/siding/wood{
dir = 8
},
/obj/structure/displaycase/forsale/kitchen{
/obj/structure/tipjar/prefilled{
pixel_y = 8
},
/turf/open/floor/iron/dark/smooth_large,
Expand Down Expand Up @@ -78561,7 +78561,7 @@
/area/station/engineering/atmos)
"umZ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/structure/displaycase/forsale/kitchen,
/obj/structure/tipjar/prefilled,
/obj/structure/table/reinforced,
/turf/open/floor/iron/kitchen/herringbone,
/area/station/service/kitchen)
Expand Down
4 changes: 2 additions & 2 deletions _maps/map_files/PubbyStation/PubbyStation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -43350,7 +43350,7 @@
dir = 4
},
/obj/machinery/door/firedoor,
/obj/structure/displaycase/forsale/kitchen,
/obj/structure/tipjar/prefilled,
/turf/open/floor/iron/dark,
/area/station/service/bar)
"lMm" = (
Expand Down Expand Up @@ -52569,7 +52569,7 @@
/obj/effect/turf_decal/tile/red{
dir = 8
},
/obj/structure/displaycase/forsale/kitchen,
/obj/structure/tipjar/prefilled,
/obj/machinery/door/firedoor,
/obj/machinery/door/poddoor/shutters/preopen{
id = "kitchenshutters";
Expand Down
6 changes: 3 additions & 3 deletions _maps/map_files/tramstation/tramstation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -25109,7 +25109,7 @@
id = "playerscantreadthis";
name = "Kitchen Counter Shutters"
},
/obj/structure/displaycase/forsale/kitchen{
/obj/structure/tipjar/prefilled{
pixel_y = 8
},
/turf/open/floor/iron/checker,
Expand Down Expand Up @@ -28146,7 +28146,7 @@
/area/station/solars/starboard/fore)
"jgn" = (
/obj/structure/table/reinforced,
/obj/structure/displaycase/forsale/kitchen{
/obj/structure/tipjar/prefilled{
pixel_y = 8
},
/obj/machinery/light/warm/directional/east,
Expand Down Expand Up @@ -53585,7 +53585,7 @@
"sct" = (
/obj/structure/table/reinforced,
/obj/structure/window/spawner/directional/north,
/obj/structure/displaycase/forsale/kitchen{
/obj/structure/tipjar/prefilled{
pixel_y = 8
},
/obj/machinery/light/warm/directional/west,
Expand Down
134 changes: 0 additions & 134 deletions code/game/objects/items/cards_ids.dm
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
/// Fallback time if none of the config entries are set for USE_LOW_LIVING_HOUR_INTERN
#define INTERN_THRESHOLD_FALLBACK_HOURS 15

/// Max time interval between projecting holopays
#define HOLOPAY_PROJECTION_INTERVAL (7 SECONDS)

/* Cards
* Contains:
* DATA CARD
Expand Down Expand Up @@ -73,27 +70,6 @@
/// Linked bank account.
var/datum/bank_account/registered_account

/// Linked holopay.
var/obj/structure/holopay/my_store
/// Cooldown between projecting holopays
COOLDOWN_DECLARE(last_holopay_projection)
/// List of logos available for holopay customization - via font awesome 5
var/static/list/available_logos = list("angry", "ankh", "bacon", "band-aid", "cannabis", "cat", "cocktail", "coins", "comments-dollar",
"cross", "cut", "dog", "donate", "dna", "fist-raised", "flask", "glass-cheers", "glass-martini-alt", "hamburger", "hand-holding-usd",
"hat-wizard", "head-side-cough-slash", "heart", "heart-broken", "laugh-beam", "leaf", "money-check-alt", "music", "piggy-bank",
"pizza-slice", "prescription-bottle-alt", "radiation", "robot", "smile", "skull-crossbones", "smoking", "space-shuttle", "tram",
"trash", "user-ninja", "utensils", "wrench")
/// Replaces the "pay whatever" functionality with a set amount when non-zero.
var/holopay_fee = 0
/// The holopay icon chosen by the user
var/holopay_logo = "donate"
/// Maximum forced fee. It's unlikely for a user to encounter this type of money, much less pay it willingly.
var/holopay_max_fee = 5000
/// Minimum forced fee for holopay stations. Registers as "pay what you want."
var/holopay_min_fee = 0
/// The holopay name chosen by the user
var/holopay_name = "holographic pay stand"

/// Registered owner's age.
var/registered_age = 30

Expand Down Expand Up @@ -153,8 +129,6 @@
/obj/item/card/id/Destroy()
if (registered_account)
registered_account.bank_cards -= src
if (my_store)
QDEL_NULL(my_store)
return ..()

/obj/item/card/id/equipped(mob/user, slot, initial = FALSE)
Expand Down Expand Up @@ -481,24 +455,9 @@
user.visible_message(span_notice("[user] shows you: [icon2html(src, viewers(user))] [src.name][minor]."), span_notice("You show \the [src.name][minor]."))
add_fingerprint(user)

/obj/item/card/id/interact_with_atom_secondary(atom/interacting_with, mob/living/user, list/modifiers)
if(!check_allowed_items(interacting_with) || !isfloorturf(interacting_with))
return NONE
try_project_paystand(user, interacting_with)
return ITEM_INTERACT_SUCCESS

/obj/item/card/id/attack_self_secondary(mob/user, modifiers)
. = ..()
if(. == SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN)
return
try_project_paystand(user)
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN

/obj/item/card/id/add_context(atom/source, list/context, obj/item/held_item, mob/user)
. = ..()

context[SCREENTIP_CONTEXT_LMB] = "Show ID"
context[SCREENTIP_CONTEXT_RMB] = "Project pay stand"
if(isnull(registered_account) || registered_account.replaceable) //Same check we use when we check if we can assign an account
context[SCREENTIP_CONTEXT_ALT_RMB] = "Assign account"
if(!registered_account.replaceable || registered_account.account_balance > 0)
Expand All @@ -507,98 +466,6 @@
context[SCREENTIP_CONTEXT_CTRL_LMB] = "Toggle honorific"
return CONTEXTUAL_SCREENTIP_SET

/obj/item/card/id/proc/try_project_paystand(mob/user, turf/target)
if(!COOLDOWN_FINISHED(src, last_holopay_projection))
balloon_alert(user, "still recharging")
return
if(!registered_account || !registered_account.account_job)
balloon_alert(user, "no account")
to_chat(user, span_warning("You need a valid bank account to do this."))
return
/// Determines where the holopay will be placed based on tile contents
var/turf/projection
var/turf/step_ahead = get_step(user, user.dir)
var/turf/user_loc = user.loc
if(target && can_proj_holopay(target))
projection = target
else if(can_proj_holopay(step_ahead))
projection = step_ahead
else if(can_proj_holopay(user_loc))
projection = user_loc
if(!projection)
balloon_alert(user, "no space")
to_chat(user, span_warning("You need to be standing on or near an open tile to do this."))
return
/// Success: Valid tile for holopay placement
if(my_store)
my_store.dissipate()
var/obj/structure/holopay/new_store = new(projection)
if(new_store?.assign_card(projection, src))
COOLDOWN_START(src, last_holopay_projection, HOLOPAY_PROJECTION_INTERVAL)
playsound(projection, 'sound/effects/empulse.ogg', 40, TRUE)
my_store = new_store

/**
* Determines whether a new holopay can be placed on the given turf.
* Checks if there are dense contents, too many contents, or another
* holopay already exists on the turf.
*
* Arguments:
* * turf/target - The target turf to be checked for dense contents
* Returns:
* * TRUE if the target is a valid holopay location, FALSE otherwise.
*/
/obj/item/card/id/proc/can_proj_holopay(turf/target)
if(!isfloorturf(target))
return FALSE
if(target.density)
return FALSE
if(length(target.contents) > 5)
return FALSE
for(var/obj/checked_obj in target.contents)
if(checked_obj.density)
return FALSE
if(istype(checked_obj, /obj/structure/holopay))
return FALSE
return TRUE

/**
* Setter for the shop logo on linked holopays
*
* Arguments:
* * new_logo - The new logo to be set.
*/
/obj/item/card/id/proc/set_holopay_logo(new_logo)
if(!available_logos.Find(new_logo))
CRASH("User input a holopay shop logo that didn't exist.")
holopay_logo = new_logo

/**
* Setter for changing the force fee on a holopay.
*
* Arguments:
* * new_fee - The new fee to be set.
*/
/obj/item/card/id/proc/set_holopay_fee(new_fee)
if(!isnum(new_fee))
CRASH("User input a non number into the holopay fee field.")
if(new_fee < holopay_min_fee || new_fee > holopay_max_fee)
CRASH("User input a number outside of the valid range into the holopay fee field.")
holopay_fee = new_fee

/**
* Setter for changing the holopay name.
*
* Arguments:
* * new_name - The new name to be set.
*/
/obj/item/card/id/proc/set_holopay_name(name)
if(length(name) < 3 || length(name) > MAX_NAME_LEN)
to_chat(usr, span_warning("Must be between 3 - 42 characters."))
else
holopay_name = html_encode(trim(name, MAX_NAME_LEN))


/obj/item/card/id/vv_edit_var(var_name, var_value)
. = ..()
if(.)
Expand Down Expand Up @@ -1881,7 +1748,6 @@
icon_state = "ctf_green"

#undef INTERN_THRESHOLD_FALLBACK_HOURS
#undef HOLOPAY_PROJECTION_INTERVAL

#define INDEX_NAME_COLOR 1
#define INDEX_ASSIGNMENT_COLOR 2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1344,13 +1344,6 @@
greyscale_colors = CIRCUIT_COLOR_SERVICE
build_path = /obj/machinery/rnd/production/techfab/department/service

/obj/item/circuitboard/machine/vendatray
name = "Vend-A-Tray"
greyscale_colors = CIRCUIT_COLOR_SERVICE
build_path = /obj/structure/displaycase/forsale
req_components = list(
/datum/stock_part/card_reader = 1)

/obj/item/circuitboard/machine/fishing_portal_generator
name = "Fishing Portal Generator"
greyscale_colors = CIRCUIT_COLOR_SERVICE
Expand Down
6 changes: 4 additions & 2 deletions code/game/objects/items/stacks/sheets/glass.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ GLOBAL_LIST_INIT(glass_recipes, list ( \
new/datum/stack_recipe("directional window", /obj/structure/window/unanchored, time = 0.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_CHECK_DIRECTION, category = CAT_WINDOWS), \
new/datum/stack_recipe("fulltile window", /obj/structure/window/fulltile/unanchored, 2, time = 1 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_IS_FULLTILE, category = CAT_WINDOWS), \
new/datum/stack_recipe("glass shard", /obj/item/shard, time = 0, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND, category = CAT_MISC), \
new/datum/stack_recipe("glass tile", /obj/item/stack/tile/glass, 1, 4, 20, category = CAT_TILES) \
new/datum/stack_recipe("glass tile", /obj/item/stack/tile/glass, 1, 4, 20, category = CAT_TILES), \
new/datum/stack_recipe("tip jar", /obj/structure/tipjar, req_amount = 2, time = 3 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE), \
))

/obj/item/stack/sheet/glass
Expand Down Expand Up @@ -88,7 +89,8 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \
new/datum/stack_recipe("directional window", /obj/structure/window/plasma/unanchored, time = 0.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_CHECK_DIRECTION, category = CAT_WINDOWS), \
new/datum/stack_recipe("fulltile window", /obj/structure/window/plasma/fulltile/unanchored, 2, time = 2 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND | CRAFT_IS_FULLTILE, category = CAT_WINDOWS), \
new/datum/stack_recipe("plasma glass shard", /obj/item/shard/plasma, time = 20, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND, category = CAT_MISC), \
new/datum/stack_recipe("plasma glass tile", /obj/item/stack/tile/glass/plasma, 1, 4, 20, category = CAT_TILES) \
new/datum/stack_recipe("plasma glass tile", /obj/item/stack/tile/glass/plasma, 1, 4, 20, category = CAT_TILES), \
new/datum/stack_recipe("tip jar", /obj/structure/tipjar/plasma, req_amount = 2, time = 3 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE), \
))

/obj/item/stack/sheet/plasmaglass
Expand Down
Loading
Loading