diff --git a/code/__DEFINES/logging.dm b/code/__DEFINES/logging.dm index 7decaa9df70..8d49140c141 100644 --- a/code/__DEFINES/logging.dm +++ b/code/__DEFINES/logging.dm @@ -37,6 +37,7 @@ #define LOG_VIRUS (1 << 16) #define LOG_CLONING (1 << 17) #define LOG_SHUTTLE (1 << 18) +#define LOG_ECON (1 << 19) //Individual logging panel pages #define INDIVIDUAL_ATTACK_LOG (LOG_ATTACK) @@ -45,7 +46,7 @@ #define INDIVIDUAL_COMMS_LOG (LOG_PDA | LOG_CHAT | LOG_COMMENT | LOG_TELECOMMS) #define INDIVIDUAL_OOC_LOG (LOG_OOC | LOG_ADMIN) #define INDIVIDUAL_OWNERSHIP_LOG (LOG_OWNERSHIP) -#define INDIVIDUAL_SHOW_ALL_LOG (LOG_ATTACK | LOG_SAY | LOG_WHISPER | LOG_EMOTE | LOG_DSAY | LOG_PDA | LOG_CHAT | LOG_COMMENT | LOG_TELECOMMS | LOG_OOC | LOG_ADMIN | LOG_OWNERSHIP | LOG_GAME | LOG_ADMIN_PRIVATE | LOG_ASAY | LOG_MECHA | LOG_VIRUS | LOG_CLONING | LOG_SHUTTLE) +#define INDIVIDUAL_SHOW_ALL_LOG (LOG_ATTACK | LOG_SAY | LOG_WHISPER | LOG_EMOTE | LOG_DSAY | LOG_PDA | LOG_CHAT | LOG_COMMENT | LOG_TELECOMMS | LOG_OOC | LOG_ADMIN | LOG_OWNERSHIP | LOG_GAME | LOG_ADMIN_PRIVATE | LOG_ASAY | LOG_MECHA | LOG_VIRUS | LOG_CLONING | LOG_SHUTTLE | LOG_ECON) #define LOGSRC_CLIENT "Client" #define LOGSRC_MOB "Mob" diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index b30975c14e3..7e681045bc6 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -90,6 +90,10 @@ if (CONFIG_GET(flag/log_attack)) WRITE_LOG(GLOB.world_attack_log, "ATTACK: [text]") +/proc/log_econ(text) + if (CONFIG_GET(flag/log_econ)) + WRITE_LOG(GLOB.world_attack_log, "MONEY: [text]") + /proc/log_manifest(ckey, datum/mind/mind,mob/body, latejoin = FALSE) if (CONFIG_GET(flag/log_manifest)) WRITE_LOG(GLOB.world_manifest_log, "[ckey] \\ [body.real_name] \\ [mind.assigned_role] \\ [mind.special_role ? mind.special_role : "NONE"] \\ [latejoin ? "LATEJOIN":"ROUNDSTART"]") diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm index 6eb1171e7d1..9fb82476755 100644 --- a/code/controllers/configuration/entries/general.dm +++ b/code/controllers/configuration/entries/general.dm @@ -73,6 +73,8 @@ /datum/config_entry/flag/log_emote // log emotes +/datum/config_entry/flag/log_econ // log economy actions + /datum/config_entry/flag/log_adminchat // log admin chat messages protection = CONFIG_ENTRY_LOCKED diff --git a/code/game/atoms.dm b/code/game/atoms.dm index cef025e834c..8a2ddfe24b0 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1164,6 +1164,8 @@ log_comment(log_text) if(LOG_TELECOMMS) log_telecomms(log_text) + if(LOG_ECON) + log_econ(log_text) if(LOG_OOC) log_ooc(log_text) if(LOG_ADMIN) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 83c2d64f2be..a1e9542e97e 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -183,6 +183,7 @@ registered_account.adjust_money(cash_money) SSblackbox.record_feedback("amount", "credits_inserted", cash_money) + log_econ("[cash_money] credits were inserted into [src] owned by [src.registered_name]") if(physical_currency) to_chat(user, "You stuff [I] into [src]. It disappears in a small puff of bluespace smoke, adding [cash_money] credits to the linked account.") else @@ -204,6 +205,7 @@ registered_account.adjust_money(cash_money) SSblackbox.record_feedback("amount", "credits_inserted", total) + log_econ("[total] credits were inserted into [src] owned by [src.registered_name]") QDEL_LIST(money) return total @@ -273,6 +275,7 @@ user.put_in_hands(holochip) to_chat(user, "You withdraw [amount_to_remove] credits into a holochip.") SSblackbox.record_feedback("amount", "credits_removed", amount_to_remove) + log_econ("[amount_to_remove] credits were removed from [src] owned by [src.registered_name]") return else var/difference = amount_to_remove - registered_account.account_balance diff --git a/code/modules/economy/account.dm b/code/modules/economy/account.dm index f5c0e09d3e4..0d26bb6ca14 100644 --- a/code/modules/economy/account.dm +++ b/code/modules/economy/account.dm @@ -44,6 +44,7 @@ if(from.has_money(amount)) adjust_money(amount) SSblackbox.record_feedback("amount", "credits_transferred", amount) + log_econ("[amount] credits were transferred from [from.account_holder]'s account to [src.account_holder]") from.adjust_money(-amount) return TRUE return FALSE @@ -53,6 +54,7 @@ if(free) adjust_money(money_to_transfer) SSblackbox.record_feedback("amount", "free_income", money_to_transfer) + log_econ("[money_to_transfer] credits were given to [src.account_holder]'s account from income.") else var/datum/bank_account/D = SSeconomy.get_dep_account(account_job.paycheck_department) if(D) diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm index 51dc728e92e..e5e0ee6cb48 100644 --- a/code/modules/mining/mint.dm +++ b/code/modules/mining/mint.dm @@ -117,6 +117,8 @@ switch(action) if ("startpress") if (!processing) + if(produced_coins > 0) + log_econ("[produced_coins] coins were created by [src] in the last cycle.") produced_coins = 0 processing = TRUE begin_processing() diff --git a/code/modules/research/bepis.dm b/code/modules/research/bepis.dm index c6ce45f1606..48e74376568 100644 --- a/code/modules/research/bepis.dm +++ b/code/modules/research/bepis.dm @@ -101,6 +101,7 @@ return account.adjust_money(-deposit_value) //The money vanishes, not paid to any accounts. SSblackbox.record_feedback("amount", "BEPIS_credits_spent", deposit_value) + log_econ("[deposit_value] credits were inserted into [src] by [account.account_holder]") banked_cash += deposit_value use_power(1000 * power_saver) say("Cash deposit successful. There is [banked_cash] in the chamber.") diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index b3d2d56b847..4c37fd3d6a2 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -820,6 +820,7 @@ GLOBAL_LIST_EMPTY(vending_products) if(D) D.adjust_money(price_to_use) SSblackbox.record_feedback("amount", "vending_spent", price_to_use) + log_econ("[price_to_use] credits were inserted into [src] by [D.account_holder] to buy [R].") if(last_shopper != usr || purchase_message_cooldown < world.time) say("Thank you for shopping with [src]!") purchase_message_cooldown = world.time + 5 SECONDS @@ -1052,6 +1053,7 @@ GLOBAL_LIST_EMPTY(vending_products) if(owner) owner.adjust_money(S.custom_price) SSblackbox.record_feedback("amount", "vending_spent", S.custom_price) + log_econ("[S.custom_price] credits were spent on [src] buying a [S] by [owner.account_holder], owned by [private_a.account_holder].") vending_machine_input[N] = max(vending_machine_input[N] - 1, 0) S.forceMove(drop_location()) loaded_items-- diff --git a/config/config.txt b/config/config.txt index 4f50ee5dbb3..5284febf00a 100644 --- a/config/config.txt +++ b/config/config.txt @@ -115,6 +115,9 @@ LOG_PRAYER ## log lawchanges LOG_LAW +## log economy actions +LOG_ECON + ## log crew manifest to seperate file LOG_MANIFEST