diff --git a/code/WorkInProgress/Cael_Aislinn/Economy/Accounts.dm b/code/WorkInProgress/Cael_Aislinn/Economy/Accounts.dm index 671cb9d45ca..b79b0716b9f 100644 --- a/code/WorkInProgress/Cael_Aislinn/Economy/Accounts.dm +++ b/code/WorkInProgress/Cael_Aislinn/Economy/Accounts.dm @@ -12,13 +12,13 @@ var/global/obj/machinery/account_database/centcomm_account_db station_account.owner_name = "[station_name()] Station Account" station_account.account_number = rand(111111, 999999) station_account.remote_access_pin = rand(1111, 111111) - station_account.money = 10000 + station_account.money = 75000 //create an entry in the account transaction log for when it was created var/datum/transaction/T = new() T.target_name = station_account.owner_name T.purpose = "Account creation" - T.amount = 10000 + T.amount = 75000 T.date = "2nd April, 2555" T.time = "11:24" T.source_terminal = "Biesel GalaxyNet Terminal #277" diff --git a/code/WorkInProgress/Cael_Aislinn/Economy/EFTPOS.dm b/code/WorkInProgress/Cael_Aislinn/Economy/EFTPOS.dm index 5fc619755ad..5cabdbc4624 100644 --- a/code/WorkInProgress/Cael_Aislinn/Economy/EFTPOS.dm +++ b/code/WorkInProgress/Cael_Aislinn/Economy/EFTPOS.dm @@ -1,8 +1,8 @@ /obj/item/weapon/eftpos name = "EFTPOS scanner" desc = "Swipe your ID card to pay electronically." - icon = 'icons/obj/library.dmi' - icon_state = "scanner" + icon = 'icons/obj/device.dmi' + icon_state = "eftpos" var/machine_id = "" var/eftpos_name = "Default EFTPOS scanner" var/transaction_locked = 0 @@ -18,14 +18,15 @@ machine_id = "[station_name()] EFTPOS #[num_financial_terminals++]" access_code = rand(1111,111111) reconnect_database() - print_reference() + spawn(0) + print_reference() //by default, connect to the station account //the user of the EFTPOS device can change the target account though, and no-one will be the wiser (except whoever's being charged) linked_account = station_account /obj/item/weapon/eftpos/proc/print_reference() - var/obj/item/weapon/paper/R = new(get_turf(src)) + var/obj/item/weapon/paper/R = new(src.loc) R.name = "Reference: [eftpos_name]" R.info = "[eftpos_name] reference

" R.info += "Access code: [access_code]

" @@ -40,6 +41,11 @@ R.overlays += stampoverlay R.stamps += "
This paper has been stamped by the EFTPOS device." + var/obj/item/smallDelivery/D = new(R.loc) + R.loc = D + D.wrapped = R + D.name = "small parcel - 'EFTPOS access code'" + /obj/item/weapon/eftpos/proc/reconnect_database() for(var/obj/machinery/account_database/DB in world) if(DB.z == src.z) @@ -67,7 +73,9 @@ dat += "Transaction purpose: [transaction_purpose]
" dat += "Value: $[transaction_amount]
" dat += "Linked account: [linked_account ? linked_account.owner_name : "None"]
" - dat += "Change access code" + dat += "Change access code
" + dat += "Change EFTPOS ID
" + dat += "Scan card to reset access code \[------\]" user << browse(dat,"window=eftpos") else user << browse(null,"window=eftpos") @@ -77,9 +85,12 @@ //attempt to connect to a new db, and if that doesn't work then fail if(!linked_db) reconnect_database() - if(linked_db && linked_account) - var/obj/item/weapon/card/I = O - scan_card(I) + if(linked_db) + if(linked_account) + var/obj/item/weapon/card/I = O + scan_card(I) + else + usr << "\icon[src]Unable to connect to linked account." else usr << "\icon[src]Unable to connect to accounts database." else @@ -95,13 +106,22 @@ print_reference() else usr << "\icon[src]Incorrect code entered." + if("change_id") + var/attempt_code = text2num(input("Re-enter the current EFTPOS access code", "Confirm EFTPOS code")) + if(attempt_code == access_code) + eftpos_name = input("Enter a new terminal ID for this device", "Enter new EFTPOS ID") + " EFTPOS scanner" + print_reference() + else + usr << "\icon[src]Incorrect code entered." if("link_account") + if(!linked_db) + reconnect_database() if(linked_db) var/attempt_account_num = text2num(input("Enter account number to pay EFTPOS charges into", "New account number")) var/attempt_pin = text2num(input("Enter pin code", "Account pin")) linked_account = linked_db.attempt_account_access(attempt_account_num, attempt_pin, 1) else - usr << "Unable to connect to accounts database." + usr << "\icon[src]Unable to connect to accounts database." if("trans_purpose") transaction_purpose = input("Enter reason for EFTPOS transaction", "Transaction purpose") if("trans_value") @@ -126,6 +146,14 @@ scan_card(I) else usr << "\icon[src]Unable to link accounts." + if("reset") + //reset the access code - requires HoP/captain access + var/obj/item/I = usr.get_active_hand() + if (istype(I, /obj/item/weapon/card)) + var/obj/item/weapon/card/C = I + if(access_cent_captain in C.access || access_hop in C.access || access_captain in C.access) + access_code = 0 + usr << "\icon[src]Access code reset to 0." src.attack_self(usr) @@ -149,7 +177,7 @@ //create entries in the two account transaction logs var/datum/transaction/T = new() - T.target_name = "[linked_account.owner_name] ([eftpos_name])" + T.target_name = "[linked_account.owner_name] (via [eftpos_name])" T.purpose = transaction_purpose T.amount = "([transaction_amount])" T.source_terminal = machine_id diff --git a/code/WorkInProgress/Mini/ATM.dm b/code/WorkInProgress/Mini/ATM.dm index 68a6c39942e..3394753d71c 100644 --- a/code/WorkInProgress/Mini/ATM.dm +++ b/code/WorkInProgress/Mini/ATM.dm @@ -114,11 +114,11 @@ log transactions switch(view_screen) if(CHANGE_SECURITY_LEVEL) dat += "Select a new security level for this account:

" - var/text = "Zero - Only account number or card is required to access this account. EFTPOS transactions will require a card and ask for a pin, but not verify the pin is correct." + var/text = "Zero - Either the account number or card is required to access this account. EFTPOS transactions will require a card and ask for a pin, but not verify the pin is correct." if(authenticated_account.security_level != 0) text = "[text]" dat += "[text]
" - text = "One - Both an account number and pin is required to access this account and process transactions." + text = "One - An account number and pin must be manually entered to access this account and process transactions." if(authenticated_account.security_level != 1) text = "[text]" dat += "[text]
" @@ -185,7 +185,7 @@ log transactions dat += "Unable to connect to accounts database, please retry and if the issue persists contact NanoTrasen IT support." reconnect_database() - user << browse(dat,"window=atm;size=500x650") + user << browse(dat,"window=atm;size=550x650") else user << browse(null,"window=atm") diff --git a/code/game/objects/items/weapons/storage/wallets.dm b/code/game/objects/items/weapons/storage/wallets.dm index 7c3e70420fd..86b12f693ec 100644 --- a/code/game/objects/items/weapons/storage/wallets.dm +++ b/code/game/objects/items/weapons/storage/wallets.dm @@ -1,7 +1,7 @@ /obj/item/weapon/storage/wallet name = "wallet" desc = "It can hold a few small and personal things." - storage_slots = 4 + storage_slots = 10 icon_state = "wallet" w_class = 2 can_hold = list( diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 923f3e53c36..2128d6774f7 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ