Security Fines (#4634)

Allows security to fine criminals with the sentencing console
Prints a human readable copy of the charges and the applied sentence
This commit is contained in:
Werner
2018-04-29 20:34:49 +03:00
committed by Erki
parent ed504cbe20
commit cfd1900ee4
10 changed files with 253 additions and 70 deletions
+23 -12
View File
@@ -134,14 +134,25 @@
return max
/datum/crime_incident/proc/renderGuilty( var/mob/living/user )
//type: 0 - brig sentence, 1 - fine, 2 - prison sentence
/datum/crime_incident/proc/renderGuilty( var/mob/living/user, var/type=0 )
if( !criminal )
return
created_by = "[user.ckey] - [user.real_name]"
if(type == 0)
prison_sentence = 0
fine = 0
else if(type == 1)
brig_sentence = 0
prison_sentence = 0
else if(type == 2)
brig_sentence = 0
fine = 0
saveCharInfraction()
generateReport()
return generateReport()
/datum/crime_incident/proc/generateReport()
. = "<center>Security Incident Report</center><hr>"
@@ -149,18 +160,18 @@
. += "<br>"
. += "<b>CRIMINAL</b>: <i>[criminal]</i><br><br>"
. += "[criminal] was found guilty of the following crimes on [time2text(world.realtime, "DD/MMM")]/[game_year]. "
. += "[criminal] was found guilty of the following crimes on [game_year]-[time2text(world.realtime, "MMM-DD")].<br>"
if( !brig_sentence && !prison_sentence )
. += "As decided by the arbiter(s), they will serve no time for their crimes."
else
if( brig_sentence != 0 )
. += "As decided by the arbiter(s), they will serve the following sentence:<br>"
if( brig_sentence )
if( brig_sentence >= PERMABRIG_SENTENCE )
. += "\t<b>BRIG</b>: <i>Holding until transfer</i><br>"
else
. += "\t<b>BRIG</b>: <i>[brig_sentence] minutes</i><br>"
if( brig_sentence >= PERMABRIG_SENTENCE )
. += "\t<b>BRIG</b>: <i>Holding until transfer</i><br>"
else
. += "\t<b>BRIG</b>: <i>[brig_sentence] minutes</i><br>"
else if ( fine != 0 )
. += "As decided by the arbiter(s), they have been fined [fine] credits.<br>"
else
. += "As decided by the arbiter(s), they will serve no time for their crimes.<br>"
. += "<br><table>"
. += "<tr><th colspan='2'>CHARGES</th></tr>"
for( var/datum/law/L in charges )
+19 -1
View File
@@ -30,4 +30,22 @@ $PRISONER_NAME was found guilty of $CRIME on $DATE. Their sentence was $SENTENCE
var/max_prison_time = 0 A sentence totalling 60 days or more is a life sentence*/
var/severity = 0 // 1 - Low, 2 - Medium, 3 - High
var/felony = 0 // Does this law carry a felony conviction?
var/felony = 0 // Does this law carry a felony conviction?
/datum/law/proc/can_fine()
if(max_fine == 0)
return FALSE
return TRUE
/datum/law/proc/get_fine_string()
if(max_fine == 0)
return "n.a."
return "[min_fine] - [max_fine] cR"
/datum/law/proc/get_brig_time_string()
if(min_brig_time >= PERMABRIG_SENTENCE)
return "HuT"
if(max_brig_time >= PERMABRIG_SENTENCE)
return "[min_brig_time] minutes - HuT"
else
return "[min_brig_time] - [max_brig_time] minutes"