mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
when players arrive, they are assigned a new account with random starting funds and the info for it is stored in their memory + ID card. id computer can now modify the account number associated with id cards
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
@@ -2,6 +2,7 @@ var/global/current_date_string
|
|||||||
var/global/num_financial_terminals = 1
|
var/global/num_financial_terminals = 1
|
||||||
var/global/datum/money_account/station_account
|
var/global/datum/money_account/station_account
|
||||||
var/global/next_account_number = 0
|
var/global/next_account_number = 0
|
||||||
|
var/global/obj/machinery/account_database/centcomm_account_db
|
||||||
|
|
||||||
/proc/create_station_account()
|
/proc/create_station_account()
|
||||||
if(!station_account)
|
if(!station_account)
|
||||||
@@ -266,11 +267,12 @@ var/global/next_account_number = 0
|
|||||||
R.overlays += stampoverlay
|
R.overlays += stampoverlay
|
||||||
R.stamps += "<HR><i>This paper has been stamped by the Accounts Database.</i>"
|
R.stamps += "<HR><i>This paper has been stamped by the Accounts Database.</i>"
|
||||||
|
|
||||||
|
|
||||||
//add the account
|
//add the account
|
||||||
M.transaction_log.Add(T)
|
M.transaction_log.Add(T)
|
||||||
accounts.Add(M)
|
accounts.Add(M)
|
||||||
|
|
||||||
|
return M
|
||||||
|
|
||||||
/obj/machinery/account_database/proc/charge_to_account(var/attempt_account_number, var/source_name, var/purpose, var/terminal_id, var/amount)
|
/obj/machinery/account_database/proc/charge_to_account(var/attempt_account_number, var/source_name, var/purpose, var/terminal_id, var/amount)
|
||||||
for(var/datum/money_account/D in accounts)
|
for(var/datum/money_account/D in accounts)
|
||||||
if(D.account_number == attempt_account_number)
|
if(D.account_number == attempt_account_number)
|
||||||
|
|||||||
@@ -61,6 +61,8 @@ datum/mind
|
|||||||
New(var/key)
|
New(var/key)
|
||||||
src.key = key
|
src.key = key
|
||||||
|
|
||||||
|
//put this here for easier tracking ingame
|
||||||
|
var/datum/money_account/initial_account
|
||||||
|
|
||||||
proc/transfer_to(mob/living/new_character)
|
proc/transfer_to(mob/living/new_character)
|
||||||
if(!istype(new_character))
|
if(!istype(new_character))
|
||||||
|
|||||||
@@ -112,6 +112,13 @@ var/global/datum/controller/gameticker/ticker
|
|||||||
else
|
else
|
||||||
src.mode.announce()
|
src.mode.announce()
|
||||||
|
|
||||||
|
//setup the money accounts
|
||||||
|
if(!centcomm_account_db)
|
||||||
|
for(var/obj/machinery/account_database/check_db in world)
|
||||||
|
if(check_db.z == 2)
|
||||||
|
centcomm_account_db = check_db
|
||||||
|
break
|
||||||
|
|
||||||
create_characters() //Create player characters and transfer them
|
create_characters() //Create player characters and transfer them
|
||||||
collect_minds()
|
collect_minds()
|
||||||
equip_characters()
|
equip_characters()
|
||||||
|
|||||||
@@ -385,13 +385,20 @@ var/global/datum/controller/occupations/job_master
|
|||||||
C.rank = rank
|
C.rank = rank
|
||||||
C.assignment = title ? title : rank
|
C.assignment = title ? title : rank
|
||||||
C.name = "[C.registered_name]'s ID Card ([C.assignment])"
|
C.name = "[C.registered_name]'s ID Card ([C.assignment])"
|
||||||
|
|
||||||
|
//put the player's account number onto the ID
|
||||||
|
if(H.mind && H.mind.initial_account)
|
||||||
|
C.associated_account_number = H.mind.initial_account.account_number
|
||||||
|
|
||||||
H.equip_to_slot_or_del(C, slot_wear_id)
|
H.equip_to_slot_or_del(C, slot_wear_id)
|
||||||
|
|
||||||
H.equip_to_slot_or_del(new /obj/item/device/pda(H), slot_belt)
|
H.equip_to_slot_or_del(new /obj/item/device/pda(H), slot_belt)
|
||||||
if(locate(/obj/item/device/pda,H))
|
if(locate(/obj/item/device/pda,H))
|
||||||
var/obj/item/device/pda/pda = locate(/obj/item/device/pda,H)
|
var/obj/item/device/pda/pda = locate(/obj/item/device/pda,H)
|
||||||
pda.owner = H.real_name
|
pda.owner = H.real_name
|
||||||
pda.ownjob = C.assignment
|
pda.ownjob = C.assignment
|
||||||
pda.name = "PDA-[H.real_name] ([pda.ownjob])"
|
pda.name = "PDA-[H.real_name] ([pda.ownjob])"
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -124,6 +124,14 @@
|
|||||||
var nameField = document.getElementById('namefield');
|
var nameField = document.getElementById('namefield');
|
||||||
nameField.style.backgroundColor = "#DDFFDD";
|
nameField.style.backgroundColor = "#DDFFDD";
|
||||||
}
|
}
|
||||||
|
function markAccountGreen(){
|
||||||
|
var nameField = document.getElementById('accountfield');
|
||||||
|
nameField.style.backgroundColor = "#DDFFDD";
|
||||||
|
}
|
||||||
|
function markAccountRed(){
|
||||||
|
var nameField = document.getElementById('accountfield');
|
||||||
|
nameField.style.backgroundColor = "#FFDDDD";
|
||||||
|
}
|
||||||
function showAll(){
|
function showAll(){
|
||||||
var allJobsSlot = document.getElementById('alljobsslot');
|
var allJobsSlot = document.getElementById('alljobsslot');
|
||||||
allJobsSlot.innerHTML = "<a href='#' onclick='hideAll()'>hide</a><br>"+ "[jobs_all]";
|
allJobsSlot.innerHTML = "<a href='#' onclick='hideAll()'>hide</a><br>"+ "[jobs_all]";
|
||||||
@@ -139,10 +147,16 @@
|
|||||||
carddesc += "<b>registered_name:</b> <input type='text' id='namefield' name='reg' value='[target_owner]' style='width:250px; background-color:white;' onchange='markRed()'>"
|
carddesc += "<b>registered_name:</b> <input type='text' id='namefield' name='reg' value='[target_owner]' style='width:250px; background-color:white;' onchange='markRed()'>"
|
||||||
carddesc += "<input type='submit' value='Rename' onclick='markGreen()'>"
|
carddesc += "<input type='submit' value='Rename' onclick='markGreen()'>"
|
||||||
carddesc += "</form>"
|
carddesc += "</form>"
|
||||||
|
|
||||||
|
carddesc += "<form name='accountnum' action='?src=\ref[src]' method='get'>"
|
||||||
|
carddesc += "<input type='hidden' name='src' value='\ref[src]'>"
|
||||||
|
carddesc += "<input type='hidden' name='choice' value='account'>"
|
||||||
|
carddesc += "<b>Stored account number:</b> <input type='text' id='accountfield' name='account' value='[modify.associated_account_number]' style='width:250px; background-color:white;' onchange='markAccountRed()'>"
|
||||||
|
carddesc += "<input type='submit' value='Rename' onclick='markAccountGreen()'>"
|
||||||
|
carddesc += "</form>"
|
||||||
|
|
||||||
carddesc += "<b>Assignment:</b> "
|
carddesc += "<b>Assignment:</b> "
|
||||||
|
|
||||||
var/jobs = "<span id='alljobsslot'><a href='#' onclick='showAll()'>[target_rank]</a></span>" //CHECK THIS
|
var/jobs = "<span id='alljobsslot'><a href='#' onclick='showAll()'>[target_rank]</a></span>" //CHECK THIS
|
||||||
|
|
||||||
var/accesses = ""
|
var/accesses = ""
|
||||||
if(istype(src,/obj/machinery/computer/card/centcom))
|
if(istype(src,/obj/machinery/computer/card/centcom))
|
||||||
accesses += "<h5>Central Command:</h5>"
|
accesses += "<h5>Central Command:</h5>"
|
||||||
@@ -270,6 +284,13 @@
|
|||||||
modify.registered_name = temp_name
|
modify.registered_name = temp_name
|
||||||
else
|
else
|
||||||
src.visible_message("<span class='notice'>[src] buzzes rudely.</span>")
|
src.visible_message("<span class='notice'>[src] buzzes rudely.</span>")
|
||||||
|
if ("account")
|
||||||
|
if (authenticated)
|
||||||
|
var/t2 = modify
|
||||||
|
//var/t1 = input(usr, "What name?", "ID computer", null) as text
|
||||||
|
if ((authenticated && modify == t2 && (in_range(src, usr) || (istype(usr, /mob/living/silicon))) && istype(loc, /turf)))
|
||||||
|
var/account_num = text2num(href_list["account"])
|
||||||
|
modify.associated_account_number = account_num
|
||||||
if ("mode")
|
if ("mode")
|
||||||
mode = text2num(href_list["mode_target"])
|
mode = text2num(href_list["mode_target"])
|
||||||
if ("print")
|
if ("print")
|
||||||
|
|||||||
@@ -370,6 +370,21 @@
|
|||||||
|
|
||||||
new_character.key = key //Manually transfer the key to log them in
|
new_character.key = key //Manually transfer the key to log them in
|
||||||
|
|
||||||
|
//give them an account in the station database
|
||||||
|
if(centcomm_account_db)
|
||||||
|
var/datum/money_account/M = centcomm_account_db.add_account(new_character.name, pre_existing = 1)
|
||||||
|
if(mind)
|
||||||
|
var/remembered_info = "<b>Your account pin is:</b> [M.remote_access_pin]<br>"
|
||||||
|
remembered_info += "<b>Your account number is:</b> [M.account_number]<br>"
|
||||||
|
remembered_info += "<b>Your account funds are:</b> [M.money]<br>"
|
||||||
|
|
||||||
|
if(M.transaction_log.len)
|
||||||
|
var/datum/transaction/T = M.transaction_log[1]
|
||||||
|
remembered_info += "<b>Your account was created on:</b> [T.time], [T.date] <b>at</b> [T.source_terminal]<br>"
|
||||||
|
mind.store_memory(remembered_info)
|
||||||
|
|
||||||
|
mind.initial_account = M
|
||||||
|
|
||||||
return new_character
|
return new_character
|
||||||
|
|
||||||
proc/ViewManifest()
|
proc/ViewManifest()
|
||||||
|
|||||||
Reference in New Issue
Block a user