Charge Card Cargo (#10843)

This commit is contained in:
Geeves
2020-12-25 15:15:48 +02:00
committed by GitHub
parent 7c34b16238
commit 3807baab7f
3 changed files with 34 additions and 8 deletions

View File

@@ -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)