mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-10 01:57:01 +00:00
Converted Major and Minor Crimes into Lists.
This commit is contained in:
@@ -6,6 +6,7 @@
|
|||||||
var/general[] = list()
|
var/general[] = list()
|
||||||
var/security[] = list()
|
var/security[] = list()
|
||||||
var/securityPrintCount = 0
|
var/securityPrintCount = 0
|
||||||
|
var/securityCrimeCounter = 0
|
||||||
//This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().
|
//This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().
|
||||||
var/locked[] = list()
|
var/locked[] = list()
|
||||||
|
|
||||||
@@ -16,6 +17,55 @@
|
|||||||
name = "record"
|
name = "record"
|
||||||
var/list/fields = list()
|
var/list/fields = list()
|
||||||
|
|
||||||
|
/datum/data/crime
|
||||||
|
name = "crime"
|
||||||
|
var/crimeName = ""
|
||||||
|
var/crimeDetails = ""
|
||||||
|
var/author = ""
|
||||||
|
var/time = ""
|
||||||
|
var/dataId = 0
|
||||||
|
|
||||||
|
/obj/effect/datacore/proc/createCrimeEntry(cname = "", cdetails = "", author = "", time = "")
|
||||||
|
var/datum/data/crime/c = new /datum/data/crime
|
||||||
|
c.crimeName = cname
|
||||||
|
c.crimeDetails = cdetails
|
||||||
|
c.author = author
|
||||||
|
c.time = time
|
||||||
|
c.dataId = ++securityCrimeCounter
|
||||||
|
return c
|
||||||
|
|
||||||
|
/obj/effect/datacore/proc/addMinorCrime(id = "", var/datum/data/crime/crime)
|
||||||
|
for(var/datum/data/record/R in security)
|
||||||
|
if(R.fields["id"] == id)
|
||||||
|
var/list/crimes = R.fields["mi_crim"]
|
||||||
|
crimes |= crime
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/effect/datacore/proc/removeMinorCrime(id, cDataId)
|
||||||
|
for(var/datum/data/record/R in security)
|
||||||
|
if(R.fields["id"] == id)
|
||||||
|
var/list/crimes = R.fields["mi_crim"]
|
||||||
|
for(var/datum/data/crime/crime in crimes)
|
||||||
|
if(crime.dataId == text2num(cDataId))
|
||||||
|
crimes -= crime
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/effect/datacore/proc/removeMajorCrime(id, cDataId)
|
||||||
|
for(var/datum/data/record/R in security)
|
||||||
|
if(R.fields["id"] == id)
|
||||||
|
var/list/crimes = R.fields["ma_crim"]
|
||||||
|
for(var/datum/data/crime/crime in crimes)
|
||||||
|
if(crime.dataId == text2num(cDataId))
|
||||||
|
crimes -= crime
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/effect/datacore/proc/addMajorCrime(id = "", var/datum/data/crime/crime)
|
||||||
|
for(var/datum/data/record/R in security)
|
||||||
|
if(R.fields["id"] == id)
|
||||||
|
var/list/crimes = R.fields["ma_crim"]
|
||||||
|
crimes |= crime
|
||||||
|
return
|
||||||
|
|
||||||
/obj/effect/datacore/proc/manifest(var/nosleep = 0)
|
/obj/effect/datacore/proc/manifest(var/nosleep = 0)
|
||||||
spawn()
|
spawn()
|
||||||
if(!nosleep)
|
if(!nosleep)
|
||||||
@@ -77,10 +127,8 @@ var/record_id_num = 1001
|
|||||||
S.fields["id"] = id
|
S.fields["id"] = id
|
||||||
S.fields["name"] = H.real_name
|
S.fields["name"] = H.real_name
|
||||||
S.fields["criminal"] = "None"
|
S.fields["criminal"] = "None"
|
||||||
S.fields["mi_crim"] = "None"
|
S.fields["mi_crim"] = list()
|
||||||
S.fields["mi_crim_d"] = "No minor crime convictions."
|
S.fields["ma_crim"] = list()
|
||||||
S.fields["ma_crim"] = "None"
|
|
||||||
S.fields["ma_crim_d"] = "No major crime convictions."
|
|
||||||
S.fields["notes"] = "No notes."
|
S.fields["notes"] = "No notes."
|
||||||
security += S
|
security += S
|
||||||
|
|
||||||
|
|||||||
@@ -106,7 +106,49 @@
|
|||||||
else
|
else
|
||||||
dat += "<B>General Record Lost!</B><BR>"
|
dat += "<B>General Record Lost!</B><BR>"
|
||||||
if ((istype(active2, /datum/data/record) && data_core.security.Find(active2)))
|
if ((istype(active2, /datum/data/record) && data_core.security.Find(active2)))
|
||||||
dat += text("<BR>\n<CENTER><B>Security Data</B></CENTER><BR>\nCriminal Status: <A href='?src=\ref[];choice=Edit Field;field=criminal'>[]</A><BR>\n<BR>\nMinor Crimes: <A href='?src=\ref[];choice=Edit Field;field=mi_crim'>[]</A><BR>\nDetails: <A href='?src=\ref[];choice=Edit Field;field=mi_crim_d'>[]</A><BR>\n<BR>\nMajor Crimes: <A href='?src=\ref[];choice=Edit Field;field=ma_crim'>[]</A><BR>\nDetails: <A href='?src=\ref[];choice=Edit Field;field=ma_crim_d'>[]</A><BR>\n<BR>\nImportant Notes:<BR>\n\t<A href='?src=\ref[];choice=Edit Field;field=notes'>[]</A><BR>\n<BR>\n<CENTER><B>Comments/Log</B></CENTER><BR>", src, active2.fields["criminal"], src, active2.fields["mi_crim"], src, active2.fields["mi_crim_d"], src, active2.fields["ma_crim"], src, active2.fields["ma_crim_d"], src, active2.fields["notes"])
|
dat += text("<BR>\n<CENTER><B>Security Data</B></CENTER><BR>\nCriminal Status: <A href='?src=\ref[];choice=Edit Field;field=criminal'>[]</A>",src, active2.fields["criminal"])
|
||||||
|
dat += text("<BR>\n<BR>\nMinor Crimes: <A href='?src=\ref[];choice=Edit Field;field=mi_crim_add'>Add New</A>", src)
|
||||||
|
|
||||||
|
|
||||||
|
dat +={"<table style="text-align:center;" border="1" cellspacing="0" width="100%">
|
||||||
|
<tr>
|
||||||
|
<th>Crime</th>
|
||||||
|
<th>Details</th>
|
||||||
|
<th>Author</th>
|
||||||
|
<th>Time Added</th>
|
||||||
|
<th>Del</th>
|
||||||
|
</tr>"}
|
||||||
|
for(var/datum/data/crime/c in active2.fields["mi_crim"])
|
||||||
|
dat += "<tr><td>[c.crimeName]</td>"
|
||||||
|
dat += "<td>[c.crimeDetails]</td>"
|
||||||
|
dat += "<td>[c.author]</td>"
|
||||||
|
dat += "<td>[c.time]</td>"
|
||||||
|
dat += "<td><A href='?src=\ref[src];choice=Edit Field;field=mi_crim_delete;cdataid=[c.dataId]'>\[X\]</A></td>"
|
||||||
|
dat += "</tr>"
|
||||||
|
dat += "</table>"
|
||||||
|
|
||||||
|
|
||||||
|
dat += text("<BR>\n<BR>\nMajor Crimes: <A href='?src=\ref[];choice=Edit Field;field=ma_crim_add'>Add New</A>", src)
|
||||||
|
|
||||||
|
dat +={"<table style="text-align:center;" border="1" cellspacing="0" width="100%">
|
||||||
|
<tr>
|
||||||
|
<th>Crime</th>
|
||||||
|
<th>Details</th>
|
||||||
|
<th>Author</th>
|
||||||
|
<th>Time Added</th>
|
||||||
|
<th>Del</th>
|
||||||
|
</tr>"}
|
||||||
|
for(var/datum/data/crime/c in active2.fields["ma_crim"])
|
||||||
|
dat += "<tr><td>[c.crimeName]</td>"
|
||||||
|
dat += "<td>[c.crimeDetails]</td>"
|
||||||
|
dat += "<td>[c.author]</td>"
|
||||||
|
dat += "<td>[c.time]</td>"
|
||||||
|
dat += "<td><A href='?src=\ref[src];choice=Edit Field;field=ma_crim_delete;cdataid=[c.dataId]'>\[X\]</A></td>"
|
||||||
|
dat += "</tr>"
|
||||||
|
dat += "</table>"
|
||||||
|
|
||||||
|
dat += text("<BR>\n<BR>\nImportant Notes:<BR>\n\t<A href='?src=\ref[];choice=Edit Field;field=notes'>[]</A>", src, active2.fields["notes"])
|
||||||
|
dat += text("<BR>\n<BR>\n<CENTER><B>Comments/Log</B></CENTER><BR>")
|
||||||
var/counter = 1
|
var/counter = 1
|
||||||
while(active2.fields[text("com_[]", counter)])
|
while(active2.fields[text("com_[]", counter)])
|
||||||
dat += text("[]<BR><A href='?src=\ref[];choice=Delete Entry;del_c=[]'>Delete Entry</A><BR><BR>", active2.fields[text("com_[]", counter)], src, counter)
|
dat += text("[]<BR><A href='?src=\ref[];choice=Delete Entry;del_c=[]'>Delete Entry</A><BR><BR>", active2.fields[text("com_[]", counter)], src, counter)
|
||||||
@@ -316,7 +358,42 @@ What a mess.*/
|
|||||||
else
|
else
|
||||||
P.info += "<B>General Record Lost!</B><BR>"
|
P.info += "<B>General Record Lost!</B><BR>"
|
||||||
if ((istype(active2, /datum/data/record) && data_core.security.Find(active2)))
|
if ((istype(active2, /datum/data/record) && data_core.security.Find(active2)))
|
||||||
P.info += text("<BR>\n<CENTER><B>Security Data</B></CENTER><BR>\nCriminal Status: []<BR>\n<BR>\nMinor Crimes: []<BR>\nDetails: []<BR>\n<BR>\nMajor Crimes: []<BR>\nDetails: []<BR>\n<BR>\nImportant Notes:<BR>\n\t[]<BR>\n<BR>\n<CENTER><B>Comments/Log</B></CENTER><BR>", active2.fields["criminal"], active2.fields["mi_crim"], active2.fields["mi_crim_d"], active2.fields["ma_crim"], active2.fields["ma_crim_d"], active2.fields["notes"])
|
P.info += text("<BR>\n<CENTER><B>Security Data</B></CENTER><BR>\nCriminal Status: []", active2.fields["criminal"])
|
||||||
|
|
||||||
|
P.info += "<BR>\n<BR>\nMinor Crimes:<BR>\n"
|
||||||
|
P.info +={"<table style="text-align:center;" border="1" cellspacing="0" width="100%">
|
||||||
|
<tr>
|
||||||
|
<th>Crime</th>
|
||||||
|
<th>Details</th>
|
||||||
|
<th>Author</th>
|
||||||
|
<th>Time Added</th>
|
||||||
|
</tr>"}
|
||||||
|
for(var/datum/data/crime/c in active2.fields["mi_crim"])
|
||||||
|
P.info += "<tr><td>[c.crimeName]</td>"
|
||||||
|
P.info += "<td>[c.crimeDetails]</td>"
|
||||||
|
P.info += "<td>[c.author]</td>"
|
||||||
|
P.info += "<td>[c.time]</td>"
|
||||||
|
P.info += "</tr>"
|
||||||
|
P.info += "</table>"
|
||||||
|
|
||||||
|
P.info += "<BR>\nMajor Crimes: <BR>\n"
|
||||||
|
P.info +={"<table style="text-align:center;" border="1" cellspacing="0" width="100%">
|
||||||
|
<tr>
|
||||||
|
<th>Crime</th>
|
||||||
|
<th>Details</th>
|
||||||
|
<th>Author</th>
|
||||||
|
<th>Time Added</th>
|
||||||
|
</tr>"}
|
||||||
|
for(var/datum/data/crime/c in active2.fields["ma_crim"])
|
||||||
|
P.info += "<tr><td>[c.crimeName]</td>"
|
||||||
|
P.info += "<td>[c.crimeDetails]</td>"
|
||||||
|
P.info += "<td>[c.author]</td>"
|
||||||
|
P.info += "<td>[c.time]</td>"
|
||||||
|
P.info += "</tr>"
|
||||||
|
P.info += "</table>"
|
||||||
|
|
||||||
|
|
||||||
|
P.info += text("<BR>\nImportant Notes:<BR>\n\t[]<BR>\n<BR>\n<CENTER><B>Comments/Log</B></CENTER><BR>", active2.fields["notes"])
|
||||||
var/counter = 1
|
var/counter = 1
|
||||||
while(active2.fields[text("com_[]", counter)])
|
while(active2.fields[text("com_[]", counter)])
|
||||||
P.info += text("[]<BR>", active2.fields[text("com_[]", counter)])
|
P.info += text("[]<BR>", active2.fields[text("com_[]", counter)])
|
||||||
@@ -373,10 +450,8 @@ What a mess.*/
|
|||||||
R.fields["id"] = active1.fields["id"]
|
R.fields["id"] = active1.fields["id"]
|
||||||
R.name = text("Security Record #[]", R.fields["id"])
|
R.name = text("Security Record #[]", R.fields["id"])
|
||||||
R.fields["criminal"] = "None"
|
R.fields["criminal"] = "None"
|
||||||
R.fields["mi_crim"] = "None"
|
R.fields["mi_crim"] = list()
|
||||||
R.fields["mi_crim_d"] = "No minor crime convictions."
|
R.fields["ma_crim"] = list()
|
||||||
R.fields["ma_crim"] = "None"
|
|
||||||
R.fields["ma_crim_d"] = "No major crime convictions."
|
|
||||||
R.fields["notes"] = "No notes."
|
R.fields["notes"] = "No notes."
|
||||||
data_core.security += R
|
data_core.security += R
|
||||||
active2 = R
|
active2 = R
|
||||||
@@ -431,30 +506,34 @@ What a mess.*/
|
|||||||
if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active1 != a1))
|
if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active1 != a1))
|
||||||
return
|
return
|
||||||
active1.fields["age"] = t1
|
active1.fields["age"] = t1
|
||||||
if("mi_crim")
|
if("mi_crim_add")
|
||||||
if (istype(active2, /datum/data/record))
|
if (istype(active1, /datum/data/record))
|
||||||
var/t1 = copytext(sanitize(input("Please input minor crimes list:", "Secure. records", active2.fields["mi_crim"], null) as text),1,MAX_MESSAGE_LEN)
|
var/t1 = copytext(sanitize(input("Please input minor crime names:", "Secure. records", "", null) as text),1,MAX_MESSAGE_LEN)
|
||||||
if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2))
|
var/t2 = copytext(sanitize(input("Please input minor crime details:", "Secure. records", "", null) as message),1,MAX_MESSAGE_LEN)
|
||||||
|
if ((!( t1 ) || !( t2 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2))
|
||||||
return
|
return
|
||||||
active2.fields["mi_crim"] = t1
|
var/crime = data_core.createCrimeEntry(t1, t2, scan.registered_name ? scan.registered_name : "Unknown", worldtime2text())
|
||||||
if("mi_crim_d")
|
data_core.addMinorCrime(active1.fields["id"], crime)
|
||||||
if (istype(active2, /datum/data/record))
|
if("mi_crim_delete")
|
||||||
var/t1 = copytext(sanitize(input("Please summarize minor crimes:", "Secure. records", active2.fields["mi_crim_d"], null) as message),1,MAX_MESSAGE_LEN)
|
if (istype(active1, /datum/data/record))
|
||||||
if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2))
|
if (href_list["cdataid"])
|
||||||
|
if ((!( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2))
|
||||||
|
return
|
||||||
|
data_core.removeMinorCrime(active1.fields["id"], href_list["cdataid"])
|
||||||
|
if("ma_crim_add")
|
||||||
|
if (istype(active1, /datum/data/record))
|
||||||
|
var/t1 = copytext(sanitize(input("Please input major crime names:", "Secure. records", "", null) as text),1,MAX_MESSAGE_LEN)
|
||||||
|
var/t2 = copytext(sanitize(input("Please input major crime details:", "Secure. records", "", null) as message),1,MAX_MESSAGE_LEN)
|
||||||
|
if ((!( t1 ) || !( t2 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2))
|
||||||
return
|
return
|
||||||
active2.fields["mi_crim_d"] = t1
|
var/crime = data_core.createCrimeEntry(t1, t2, scan.registered_name ? scan.registered_name : "Unknown", worldtime2text())
|
||||||
if("ma_crim")
|
data_core.addMajorCrime(active1.fields["id"], crime)
|
||||||
if (istype(active2, /datum/data/record))
|
if("ma_crim_delete")
|
||||||
var/t1 = copytext(sanitize(input("Please input major crimes list:", "Secure. records", active2.fields["ma_crim"], null) as text),1,MAX_MESSAGE_LEN)
|
if (istype(active1, /datum/data/record))
|
||||||
if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2))
|
if (href_list["cdataid"])
|
||||||
return
|
if ((!( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2))
|
||||||
active2.fields["ma_crim"] = t1
|
return
|
||||||
if("ma_crim_d")
|
data_core.removeMajorCrime(active1.fields["id"], href_list["cdataid"])
|
||||||
if (istype(active2, /datum/data/record))
|
|
||||||
var/t1 = copytext(sanitize(input("Please summarize major crimes:", "Secure. records", active2.fields["ma_crim_d"], null) as message),1,MAX_MESSAGE_LEN)
|
|
||||||
if ((!( t1 ) || !( authenticated ) || usr.stat || usr.restrained() || (!in_range(src, usr) && (!istype(usr, /mob/living/silicon))) || active2 != a2))
|
|
||||||
return
|
|
||||||
active2.fields["ma_crim_d"] = t1
|
|
||||||
if("notes")
|
if("notes")
|
||||||
if (istype(active2, /datum/data/record))
|
if (istype(active2, /datum/data/record))
|
||||||
var/t1 = copytext(sanitize(input("Please summarize notes:", "Secure. records", active2.fields["notes"], null) as message),1,MAX_MESSAGE_LEN)
|
var/t1 = copytext(sanitize(input("Please summarize notes:", "Secure. records", active2.fields["notes"], null) as message),1,MAX_MESSAGE_LEN)
|
||||||
|
|||||||
Reference in New Issue
Block a user