mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-17 02:54:44 +01:00
Merge remote-tracking branch 'tgstation/master' into upstream-12-15
# Conflicts: # .github/workflows/compile_all_maps.yml # .github/workflows/run_integration_tests.yml # _maps/map_files/CatwalkStation/CatwalkStation_2023.dmm # code/_onclick/hud/credits.dm # code/controllers/subsystem/networks/id_access.dm # code/datums/diseases/advance/advance.dm # code/datums/diseases/advance/symptoms/heal.dm # code/game/machinery/doors/door.dm # code/game/objects/structures/crates_lockers/closets/secure/medical.dm # code/game/objects/structures/crates_lockers/closets/secure/security.dm # code/modules/antagonists/malf_ai/malf_ai_modules.dm # code/modules/jobs/job_types/_job.dm # code/modules/loadout/categories/accessories.dm # code/modules/loadout/loadout_helpers.dm # code/modules/loadout/loadout_items.dm # code/modules/loadout/loadout_preference.dm # code/modules/mob/living/silicon/robot/robot_defense.dm # code/modules/mod/mod_theme.dm # code/modules/projectiles/ammunition/energy/laser.dm # code/modules/reagents/reagent_containers/cups/drinks.dm # code/modules/shuttle/mobile_port/variants/supply.dm # code/modules/surgery/organs/internal/eyes/_eyes.dm # code/modules/unit_tests/screenshots/screenshot_antag_icons_heretic.png # icons/hud/screen_full.dmi
This commit is contained in:
@@ -234,7 +234,7 @@ GLOBAL_LIST_EMPTY_TYPED(active_bets, /datum/active_bet)
|
||||
//they only made their money back, don't tell them they won anything.
|
||||
if((money_won - text2num(winner[2])) == 0)
|
||||
continue
|
||||
winner_account.bank_card_talk("You won [money_won]cr from having a correct guess on [name]!")
|
||||
winner_account.bank_card_talk("You won [money_won][MONEY_SYMBOL] from having a correct guess on [name]!")
|
||||
|
||||
///Puts a bank account's money bet on a given option.
|
||||
/datum/active_bet/proc/bet_money(datum/bank_account/better, money_betting, option_betting)
|
||||
@@ -255,7 +255,7 @@ GLOBAL_LIST_EMPTY_TYPED(active_bets, /datum/active_bet)
|
||||
if(!better.adjust_money(-money_adding_in, "Gambling on [name]."))
|
||||
return
|
||||
total_amount_bet += money_adding_in
|
||||
better.bank_card_talk("Additional [money_adding_in]cr deducted for your bet on [name].")
|
||||
better.bank_card_talk("Additional [money_adding_in][MONEY_SYMBOL] deducted for your bet on [name].")
|
||||
existing_bets[2] = "[money_betting]"
|
||||
return
|
||||
//taking it all out, we remove them from the list so they aren't a winner with bets of 0.
|
||||
@@ -269,7 +269,7 @@ GLOBAL_LIST_EMPTY_TYPED(active_bets, /datum/active_bet)
|
||||
if(text2num(existing_bets[2]) > money_betting)
|
||||
var/money_taking_out = text2num(existing_bets[2]) - money_betting
|
||||
total_amount_bet -= money_taking_out
|
||||
better.bank_card_talk("Refunded [money_taking_out]cr for taking money out of your bet on [name].")
|
||||
better.bank_card_talk("Refunded [money_taking_out][MONEY_SYMBOL] for taking money out of your bet on [name].")
|
||||
better.adjust_money(money_taking_out, "Refund from gambling on [name].")
|
||||
existing_bets[2] = "[money_betting]"
|
||||
return
|
||||
@@ -278,7 +278,7 @@ GLOBAL_LIST_EMPTY_TYPED(active_bets, /datum/active_bet)
|
||||
return
|
||||
total_amount_bet += money_betting
|
||||
options[option_betting] += list(list(better, "[money_betting]"))
|
||||
better.bank_card_talk("Deducted [money_betting]cr for your bet on [name].")
|
||||
better.bank_card_talk("Deducted [money_betting][MONEY_SYMBOL] for your bet on [name].")
|
||||
|
||||
///Cancels your bet, removing your bet and refunding your money.
|
||||
/datum/active_bet/proc/cancel_bet(datum/bank_account/better)
|
||||
@@ -287,7 +287,7 @@ GLOBAL_LIST_EMPTY_TYPED(active_bets, /datum/active_bet)
|
||||
if(existing_bets[1] == better)
|
||||
var/money_refunding = text2num(existing_bets[2])
|
||||
total_amount_bet -= money_refunding
|
||||
better.bank_card_talk("Refunded [money_refunding]cr for cancelling your bet on [name].")
|
||||
better.bank_card_talk("Refunded [money_refunding][MONEY_SYMBOL] for cancelling your bet on [name].")
|
||||
better.adjust_money(money_refunding, "Refunded: changed bet for [name].")
|
||||
options[option] -= list(existing_bets)
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
playsound(computer, 'sound/machines/buzz/buzz-sigh.ogg', 30, TRUE)
|
||||
return
|
||||
request_target.transfer_money(current_user, active_request.value, "Bounties: Request Completed")
|
||||
computer.say("Paid out [active_request.value] credits.")
|
||||
computer.say("Paid out [active_request.value] [MONEY_NAME].")
|
||||
GLOB.request_list.Remove(active_request)
|
||||
return TRUE
|
||||
if("clear")
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
var/obj/item/card/id/id_card = computer.stored_id?.GetID()
|
||||
if(id_card?.registered_account)
|
||||
buyer = SSeconomy.get_dep_account(id_card?.registered_account.account_job.paycheck_department)
|
||||
if((ACCESS_COMMAND in id_card.access))
|
||||
if((ACCESS_BUDGET in id_card.access))
|
||||
requestonly = FALSE
|
||||
can_approve_requests = TRUE
|
||||
// If buyer is a departmental budget, replaces "Cargo" with that budget - we're not using the cargo budget here
|
||||
@@ -89,14 +89,16 @@
|
||||
data["supplies"] = list()
|
||||
for(var/pack in SSshuttle.supply_packs)
|
||||
var/datum/supply_pack/P = SSshuttle.supply_packs[pack]
|
||||
if(!is_visible_pack(user, P.access_view , null, P.contraband) || P.hidden)
|
||||
if(P.order_flags & ORDER_INVISIBLE)
|
||||
continue
|
||||
if(!is_visible_pack(user, P.access_view , null, (P.order_flags & ORDER_CONTRABAND)) || (P.order_flags & ORDER_EMAG_ONLY))
|
||||
continue
|
||||
if(!data["supplies"][P.group])
|
||||
data["supplies"][P.group] = list(
|
||||
"name" = P.group,
|
||||
"packs" = list()
|
||||
)
|
||||
if((P.hidden && (P.contraband && !contraband) || (P.special && !P.special_enabled) || P.drop_pod_only))
|
||||
if(((P.order_flags & ORDER_EMAG_ONLY) && ((P.order_flags & ORDER_CONTRABAND) && !contraband) || ((P.order_flags & ORDER_SPECIAL) && !(P.order_flags & ORDER_SPECIAL_ENABLED)) || (P.order_flags & ORDER_POD_ONLY)))
|
||||
continue
|
||||
|
||||
var/obj/item/first_item = length(P.contains) > 0 ? P.contains[1] : null
|
||||
@@ -107,7 +109,7 @@
|
||||
"desc" = P.desc || P.name, // If there is a description, use it. Otherwise use the pack's name.
|
||||
"first_item_icon" = first_item?.icon,
|
||||
"first_item_icon_state" = first_item?.icon_state,
|
||||
"goody" = P.goody,
|
||||
"goody" = P.order_flags & ORDER_GOODY,
|
||||
"access" = P.access,
|
||||
"contains" = P.get_contents_ui_data(),
|
||||
))
|
||||
@@ -216,7 +218,7 @@
|
||||
var/datum/supply_pack/pack = SSshuttle.supply_packs[id]
|
||||
if(!istype(pack))
|
||||
return
|
||||
if(pack.hidden || pack.contraband || pack.drop_pod_only || (pack.special && !pack.special_enabled))
|
||||
if((pack.order_flags & (ORDER_EMAG_ONLY | ORDER_POD_ONLY | ORDER_CONTRABAND)) || ((pack.order_flags & ORDER_SPECIAL) && !(pack.order_flags & ORDER_SPECIAL_ENABLED)))
|
||||
return
|
||||
|
||||
var/name = "*None Provided*"
|
||||
@@ -267,7 +269,7 @@
|
||||
if(dept_choice == "Cargo Budget")
|
||||
personal_department = null
|
||||
|
||||
if(pack.goody && !self_paid)
|
||||
if((pack.order_flags & ORDER_GOODY) && !self_paid)
|
||||
playsound(computer, 'sound/machines/buzz/buzz-sigh.ogg', 50, FALSE)
|
||||
computer.say("ERROR: Small crates may only be purchased by private accounts.")
|
||||
return
|
||||
|
||||
@@ -105,13 +105,11 @@ GLOBAL_VAR(department_cd_override)
|
||||
/// Checks if we can "see" the passed supply pack
|
||||
/datum/computer_file/program/department_order/proc/can_see_pack(datum/supply_pack/to_check)
|
||||
PROTECTED_PROC(TRUE)
|
||||
if(to_check.hidden && !(computer.obj_flags & EMAGGED))
|
||||
if((to_check.order_flags & ORDER_EMAG_ONLY) && !(computer.obj_flags & EMAGGED))
|
||||
return FALSE
|
||||
if(to_check.special && !to_check.special_enabled)
|
||||
if((to_check.order_flags & ORDER_SPECIAL) && !(to_check.order_flags & ORDER_SPECIAL_ENABLED))
|
||||
return FALSE
|
||||
if(to_check.drop_pod_only)
|
||||
return FALSE
|
||||
if(to_check.goody)
|
||||
if(to_check.order_flags & (ORDER_INVISIBLE | ORDER_POD_ONLY | ORDER_GOODY | ORDER_NOT_DEPARTMENTAL))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -606,6 +606,13 @@
|
||||
for(var/datum/computer_file/program/messenger/messenger as anything in targets)
|
||||
stringified_targets += get_messenger_name(messenger)
|
||||
|
||||
var/sent_prob = 0
|
||||
if(ishuman(source))
|
||||
var/mob/living/carbon/human/oldie = source
|
||||
sent_prob = (0.025 * oldie.age) ** 3 // 25 y/o = ~0.25% chance, 85 y/o = ~10% chance
|
||||
if (computer && prob(sent_prob))
|
||||
message = "[message] [computer.get_messenger_ending()]"
|
||||
|
||||
var/datum/signal/subspace/messaging/tablet_message/signal = new(computer, list(
|
||||
"ref" = REF(src),
|
||||
"message" = message,
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
return NT_PAY_STATUS_INVALID_MONEY
|
||||
if(token == current_user.pay_token)
|
||||
if(user)
|
||||
to_chat(user, span_notice("You can't send credits to yourself."))
|
||||
to_chat(user, span_notice("You can't send [MONEY_NAME] to yourself."))
|
||||
return NT_PAY_SATUS_SENDER_IS_RECEIVER
|
||||
|
||||
for(var/account in SSeconomy.bank_accounts_by_id)
|
||||
@@ -100,12 +100,12 @@
|
||||
current_user.bank_card_talk("You cannot afford it.")
|
||||
return NT_PAY_STATUS_INVALID_MONEY
|
||||
|
||||
recipient.bank_card_talk("You received [money_to_send] credit(s). Reason: transfer from [current_user.account_holder]")
|
||||
recipient.bank_card_talk("You received [money_to_send] [MONEY_NAME](s). Reason: transfer from [current_user.account_holder]")
|
||||
recipient.transfer_money(current_user, money_to_send)
|
||||
for(var/obj/item/card/id/id_card as anything in recipient.bank_cards)
|
||||
SEND_SIGNAL(id_card, COMSIG_ID_CARD_NTPAY_MONEY_RECEIVED, computer, money_to_send)
|
||||
|
||||
current_user.bank_card_talk("You send [money_to_send] credit(s) to [recipient.account_holder]. Now you have [current_user.account_balance] credit(s)")
|
||||
current_user.bank_card_talk("You send [money_to_send] [MONEY_NAME](s) to [recipient.account_holder]. Now you have [current_user.account_balance] [MONEY_NAME](s)")
|
||||
|
||||
return NT_PAY_STATUS_SUCCESS
|
||||
|
||||
|
||||
Reference in New Issue
Block a user