mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-10 09:22:05 +00:00
Charge Card Cargo (#10843)
This commit is contained in:
@@ -74,10 +74,22 @@
|
||||
return TRUE
|
||||
|
||||
if(program && program.computer && program.computer.card_slot && program.computer.network_card)
|
||||
var/obj/item/card/id/id_card = program.computer.card_slot.stored_card
|
||||
var/using_id = FALSE
|
||||
var/obj/item/card/id/id_card
|
||||
if(program.computer.card_slot?.stored_card)
|
||||
using_id = TRUE
|
||||
id_card = program.computer.card_slot.stored_card
|
||||
if(!id_card?.registered_name)
|
||||
using_id = FALSE
|
||||
status_message = "Card Error: Invalid ID Card in Card Reader"
|
||||
return TRUE
|
||||
|
||||
var/obj/item/spacecash/ewallet/charge_card
|
||||
if(!using_id)
|
||||
if(isliving(usr))
|
||||
var/mob/living/L = usr
|
||||
charge_card = L.get_active_hand()
|
||||
if(!istype(charge_card))
|
||||
return TRUE
|
||||
|
||||
//Check if a payment is required
|
||||
if(order_details["needs_payment"])
|
||||
@@ -85,11 +97,19 @@
|
||||
var/transaction_purpose = "Cargo Order #[order_details["order_id"]]"
|
||||
var/transaction_terminal = "Modular Computer #[program.computer.network_card.identification_id]"
|
||||
|
||||
var/status = SSeconomy.transfer_money(id_card.associated_account_number, SScargo.supply_account.account_number,transaction_purpose,transaction_terminal,transaction_amount,null,usr)
|
||||
|
||||
if(status)
|
||||
status_message = status
|
||||
return TRUE
|
||||
if(using_id)
|
||||
var/status = SSeconomy.transfer_money(id_card.associated_account_number, SScargo.supply_account.account_number,transaction_purpose,transaction_terminal,transaction_amount,null,usr)
|
||||
if(status)
|
||||
status_message = status
|
||||
return TRUE
|
||||
else
|
||||
if(charge_card.worth < transaction_amount)
|
||||
status_message = "Insufficient Funds in Charge Card"
|
||||
return TRUE
|
||||
if(!SSeconomy.charge_to_account(SScargo.supply_account.account_number, charge_card.owner_name, transaction_purpose, transaction_terminal, transaction_amount))
|
||||
status_message = "Account Error: Failed to Deposit Credits into Cargo Account"
|
||||
return TRUE
|
||||
charge_card.worth -= transaction_amount
|
||||
|
||||
playsound(program.computer, 'sound/machines/chime.ogg', 50, TRUE)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user