mirror of
https://github.com/KabKebab/GS13.git
synced 2026-02-09 15:17:41 +00:00
final touches to part 1
final touches to part 1
This commit is contained in:
@@ -444,7 +444,8 @@ SUBSYSTEM_DEF(job)
|
||||
|
||||
if(ishuman(H))
|
||||
var/mob/living/carbon/human/wageslave = H
|
||||
to_chat(M, "<b><span class = 'big'>Your account ID is [wageslave.account_id].</span></b>")
|
||||
to_chat(M, "<b><span class = 'big'>Your account ID is [wageslave.account_id]</span></b>")
|
||||
to_chat(M, "<b><span class = 'notice'>You do not have a pin, can set your pin at a ATM.</b>")
|
||||
H.add_memory("Your account ID is [wageslave.account_id].")
|
||||
|
||||
if(job && H)
|
||||
|
||||
@@ -19,6 +19,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
var/mode = 0
|
||||
var/printing = null
|
||||
var/target_dept = 0 //Which department this computer has access to. 0=all departments
|
||||
var/datum/bank_account/account/selectedbank
|
||||
|
||||
//Cooldown for closing positions in seconds
|
||||
//if set to -1: No cooldown... probably a bad idea
|
||||
@@ -250,6 +251,16 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
|
||||
dat += "</td></tr>"
|
||||
dat += "</table>"
|
||||
// Bank management
|
||||
else if(mode == 4)
|
||||
dat += {"<a href='?src=[REF(src)];choice=return'>Return</a>
|
||||
<table><tr><td style='width:25%'><b>Bank Accounts</b></td><td style='width:25%'></td></tr>"}
|
||||
for(var/datum/bank_account/account in SSeconomy.bank_accounts)
|
||||
dat += {"<td>[account.account_holder] - [account.account_id]"}
|
||||
dat += "<a href='?src=[REF(src)];choice=bankassign;assign_bank=[REF(account)]'>Assign to ID</a></td>"
|
||||
dat += "</td><tr>"
|
||||
|
||||
dat += "</table>"
|
||||
else
|
||||
var/list/header = list()
|
||||
var/scan_name = inserted_scan_id ? html_encode(inserted_scan_id.name) : "--------"
|
||||
@@ -266,6 +277,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
Target: <a href='?src=[REF(src)];choice=inserted_modify_id'>Remove [target_name]</a> ||
|
||||
Confirm Identity: <a href='?src=[REF(src)];choice=inserted_scan_id'>Remove [scan_name]</a><br>
|
||||
<a href='?src=[REF(src)];choice=mode;mode_target=1'>Access Crew Manifest</a><br>
|
||||
<a href='?src=[REF(src)];choice=mode;mode_target=4'>Access Bank Accounts</a><br>
|
||||
[!target_dept ? "<a href='?src=[REF(src)];choice=mode;mode_target=2'>Job Management</a><br>" : ""]
|
||||
<a href='?src=[REF(src)];choice=logout'>Log Out</a></div>"}
|
||||
|
||||
@@ -443,6 +455,17 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
if(access_allowed == 1)
|
||||
inserted_modify_id.access += access_type
|
||||
playsound(src, "terminal_type", 50, FALSE)
|
||||
if ("bankassign")
|
||||
if (authenticated == 2)
|
||||
var/datum/bank_account/account = locate(href_list["assign_bank"])
|
||||
if (inserted_modify_id && account)
|
||||
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, FALSE)
|
||||
to_chat(usr, "<span class='alert'>Bank account: [account.account_id], has been assigned to the ID.</span>")
|
||||
inserted_modify_id.registered_account = account
|
||||
else
|
||||
to_chat(usr, "<span class='alert'>There is no id inserted to modify.</span>")
|
||||
|
||||
|
||||
if ("assign")
|
||||
if (authenticated == 2)
|
||||
var/t1 = href_list["assign_target"]
|
||||
|
||||
@@ -94,7 +94,9 @@
|
||||
var/datum/bank_account/bank_account = new(H.real_name, src)
|
||||
bank_account.account_holder = H.real_name
|
||||
bank_account.account_job = src
|
||||
bank_account.account_id = rand(111111,999999)
|
||||
bank_account.account_id = rand(111111,999999) //give account ID!
|
||||
//bank_account.account_pin = rand(1000,9999) //give random pin!
|
||||
bank_account.account_balance = 50
|
||||
H.account_id = bank_account.account_id
|
||||
|
||||
if(CONFIG_GET(flag/enforce_human_authority) && (title in GLOB.command_positions))
|
||||
|
||||
@@ -1,33 +1,4 @@
|
||||
#define STARTING_PAYCHECKS 5
|
||||
|
||||
#define PAYCHECK_ASSISTANT 25
|
||||
#define PAYCHECK_MINIMAL 75
|
||||
#define PAYCHECK_EASY 125
|
||||
#define PAYCHECK_MEDIUM 175
|
||||
#define PAYCHECK_HARD 200
|
||||
#define PAYCHECK_COMMAND 250
|
||||
|
||||
#define MAX_GRANT_CIV 2500
|
||||
#define MAX_GRANT_ENG 3000
|
||||
#define MAX_GRANT_SCI 5000
|
||||
#define MAX_GRANT_SECMEDSRV 3000
|
||||
|
||||
#define ACCOUNT_CIV "CIV"
|
||||
#define ACCOUNT_CIV_NAME "Civil Budget"
|
||||
#define ACCOUNT_ENG "ENG"
|
||||
#define ACCOUNT_ENG_NAME "Engineering Budget"
|
||||
#define ACCOUNT_SCI "SCI"
|
||||
#define ACCOUNT_SCI_NAME "Scientific Budget"
|
||||
#define ACCOUNT_MED "MED"
|
||||
#define ACCOUNT_MED_NAME "Medical Budget"
|
||||
#define ACCOUNT_SRV "SRV"
|
||||
#define ACCOUNT_SRV_NAME "Service Budget"
|
||||
#define ACCOUNT_CAR "CAR"
|
||||
#define ACCOUNT_CAR_NAME "Cargo Budget"
|
||||
#define ACCOUNT_SEC "SEC"
|
||||
#define ACCOUNT_SEC_NAME "Defense Budget"
|
||||
|
||||
#define NO_FREEBIES "commies go home"
|
||||
#define STARTING_PAYCHECK 50
|
||||
|
||||
//ID bank account support defines.
|
||||
#define ID_NO_BANK_ACCOUNT 0
|
||||
|
||||
@@ -5,12 +5,5 @@ SUBSYSTEM_DEF(economy)
|
||||
runlevels = RUNLEVEL_GAME
|
||||
var/roundstart_paychecks = 5
|
||||
var/budget_pool = 35000
|
||||
var/list/department_accounts = list(ACCOUNT_CIV = ACCOUNT_CIV_NAME,
|
||||
ACCOUNT_ENG = ACCOUNT_ENG_NAME,
|
||||
ACCOUNT_SCI = ACCOUNT_SCI_NAME,
|
||||
ACCOUNT_MED = ACCOUNT_MED_NAME,
|
||||
ACCOUNT_SRV = ACCOUNT_SRV_NAME,
|
||||
ACCOUNT_CAR = ACCOUNT_CAR_NAME,
|
||||
ACCOUNT_SEC = ACCOUNT_SEC_NAME)
|
||||
var/list/generated_accounts = list()
|
||||
var/list/bank_accounts = list() //List of normal accounts (not department accounts)
|
||||
@@ -3,6 +3,7 @@
|
||||
/datum/bank_account
|
||||
var/account_holder = "Some pleb"
|
||||
var/account_balance = 0
|
||||
var/account_offstation_balance = 0
|
||||
var/account_pin = 0
|
||||
var/account_dna = ""
|
||||
var/datum/job/account_job
|
||||
|
||||
@@ -37,17 +37,19 @@
|
||||
else
|
||||
dat += "<p>Error, this account number does not exsist, please contact your local administration.</b>"
|
||||
|
||||
if(!idcard.registered_account.account_pin || pin == idcard.registered_account.account_pin)
|
||||
dat += "<p>Balance: <b>$[idcard.registered_account.account_balance]</b>"
|
||||
dat += "<p>"
|
||||
dat += "<a href='byond://?src=[REF(src)];withdraw=1'>Withdraw</A>"
|
||||
dat += "<a href='byond://?src=[REF(src)];changepin=1'>Change Pin</A>"
|
||||
dat += "<a href='byond://?src=[REF(src)];settings=1'>Account Settings</A>"
|
||||
dat += "<a href='byond://?src=[REF(src)];card=1'>Eject</A>"
|
||||
else
|
||||
dat += "<p>Please enter your bank pin to continue!"
|
||||
dat += "<p>"
|
||||
dat += "<a href='byond://?src=[REF(src)];pin=1'>[pin ? pin : "----"]</a><br><br>"
|
||||
if(idcard.registered_account)
|
||||
if(!idcard.registered_account.account_pin || pin == idcard.registered_account.account_pin)
|
||||
dat += "<p>Balance: <b>$[idcard.registered_account.account_balance]</b>"
|
||||
//dat += "<p>Offstation Balance: <b()</b>"
|
||||
dat += "<p>"
|
||||
dat += "<a href='byond://?src=[REF(src)];withdraw=1'>Withdraw</A>"
|
||||
dat += "<a href='byond://?src=[REF(src)];changepin=1'>Change Pin</A>"
|
||||
//dat += "<a href='byond://?src=[REF(src)];settings=1'>Account Settings</A>"
|
||||
dat += "<a href='byond://?src=[REF(src)];card=1'>Eject</A>"
|
||||
else
|
||||
dat += "<p>Please enter your bank pin to continue!"
|
||||
dat += "<p>"
|
||||
dat += "<a href='byond://?src=[REF(src)];pin=1'>[pin ? pin : "----"]</a><br><br>"
|
||||
|
||||
dat += "<p></center>"
|
||||
|
||||
@@ -61,7 +63,7 @@
|
||||
popup.open()
|
||||
|
||||
/obj/machinery/atm/attackby(obj/item/I, mob/living/user)
|
||||
if(istype(I, /obj/item/card))
|
||||
if(istype(I, /obj/item/card)) //input id!
|
||||
if(!held_card)
|
||||
var/obj/item/card/id/idcard = I
|
||||
if(!user.transferItemToLoc(I, src)) //check if you can put it in
|
||||
@@ -72,6 +74,15 @@
|
||||
playsound(src, 'sound/machines/button.ogg', 50, FALSE)
|
||||
src.ui_interact(usr)
|
||||
|
||||
if(istype(I, /obj/item/stack/credits)) //feed money back into the machine! dont need a pin to donate stuff.
|
||||
if(held_card)
|
||||
var/obj/item/stack/credits/cred = I
|
||||
var/obj/item/card/id/idcard = held_card
|
||||
idcard.registered_account.account_balance = (idcard.registered_account.account_balance+cred.amount)
|
||||
to_chat(usr, "<span class='notice'>You insert [cred] into the ATM.</span>")
|
||||
src.ui_interact(usr)
|
||||
del(cred)
|
||||
|
||||
/obj/machinery/atm/Topic(href, href_list)
|
||||
. = ..()
|
||||
if(..())
|
||||
@@ -126,13 +137,14 @@
|
||||
var/obj/item/card/id/idcard = held_card
|
||||
if(idcard.registered_account)
|
||||
var/amount = input(user, "Choose amount", "Withdraw") as num|null
|
||||
if(amount)
|
||||
if(amount>0)
|
||||
amount = max(min( round(text2num(amount)), idcard.registered_account.account_balance),0) //make sure they aint taking out more then what they have
|
||||
to_chat(usr, "<span class='notice'>The machine prints out [amount] credits.</span>")
|
||||
idcard.registered_account.account_balance = (idcard.registered_account.account_balance-amount) //subtract the amount they took out.
|
||||
var/obj/item/stack/credits/C = new /obj/item/stack/credits/(loc)
|
||||
C.amount = amount
|
||||
C.update_desc()
|
||||
if(usr.put_in_hands(C))
|
||||
to_chat(usr, "<span class='notice'>You take [C] out of the ATM.</span>")
|
||||
|
||||
src.ui_interact(usr)
|
||||
|
||||
@@ -143,10 +155,11 @@
|
||||
/obj/item/stack/credits
|
||||
name = "credits"
|
||||
singular_name = "credit"
|
||||
desc = "Legal tender, a bundle of shiny metalic looking notes."
|
||||
icon = 'hyperstation/icons/obj/economy.dmi'
|
||||
icon_state = "cash"
|
||||
amount = 1
|
||||
max_amount = 100
|
||||
max_amount = 99999999
|
||||
throwforce = 0
|
||||
throw_speed = 2
|
||||
throw_range = 2
|
||||
@@ -154,7 +167,3 @@
|
||||
full_w_class = WEIGHT_CLASS_TINY
|
||||
resistance_flags = FLAMMABLE
|
||||
var/value = 1
|
||||
|
||||
/obj/item/stack/credits/proc/update_desc()
|
||||
var/total_worth = amount*value
|
||||
desc = "Legal tender, It's worth [total_worth] credit[( total_worth > 1 ) ? "s" : ""]"
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 780 B After Width: | Height: | Size: 817 B |
Reference in New Issue
Block a user