mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
upgrades ID computer
This commit is contained in:
@@ -601,3 +601,18 @@ SUBSYSTEM_DEF(jobs)
|
||||
|
||||
spawn(0)
|
||||
to_chat(H, "<span class='boldnotice'>Your account number is: [M.account_number], your account pin is: [M.remote_access_pin]</span>")
|
||||
|
||||
/datum/controller/subsystem/jobs/proc/format_jobs_for_id_computer(obj/item/card/id/tgtcard)
|
||||
var/list/jobs_to_formats = list()
|
||||
if(tgtcard)
|
||||
var/mob/M = tgtcard.getPlayer()
|
||||
for(var/datum/job/job in occupations)
|
||||
if(tgtcard.assignment && tgtcard.assignment == job.title)
|
||||
jobs_to_formats[job.title] = "disabled" // the job they already have is pre-selected
|
||||
else if(!job.would_accept_job_transfer_from_player(M))
|
||||
jobs_to_formats[job.title] = "linkDiscourage" // karma jobs they don't have available are discouraged
|
||||
else if(job.total_positions && !job.current_positions && job.title != "Civilian")
|
||||
jobs_to_formats[job.title] = "linkEncourage" // jobs with nobody doing them at all are encouraged
|
||||
else if(job.total_positions >= 0 && job.current_positions >= job.total_positions)
|
||||
jobs_to_formats[job.title] = "linkDiscourage" // jobs that are full (no free positions) are discouraged
|
||||
return jobs_to_formats
|
||||
@@ -29,6 +29,7 @@
|
||||
var/memory
|
||||
|
||||
var/assigned_role //assigned role is what job you're assigned to when you join the station.
|
||||
var/playtime_role //if set, overrides your assigned_role for the purpose of playtime awards. Set by IDcomputer when your ID is changed.
|
||||
var/special_role //special roles are typically reserved for antags or roles like ERT. If you want to avoid a character being automatically announced by the AI, on arrival (becuase they're an off station character or something); ensure that special_role and assigned_role are equal.
|
||||
var/offstation_role = FALSE //set to true for ERT, deathsquad, abductors, etc, that can go from and to z2 at will and shouldn't be antag targets
|
||||
var/list/restricted_roles = list()
|
||||
|
||||
@@ -256,6 +256,8 @@
|
||||
|
||||
if(H.mind && H.mind.initial_account)
|
||||
C.associated_account_number = H.mind.initial_account.account_number
|
||||
C.owner_uid = H.UID()
|
||||
C.owner_ckey = H.ckey
|
||||
|
||||
/datum/outfit/job/proc/imprint_pda(mob/living/carbon/human/H)
|
||||
var/obj/item/pda/PDA = H.wear_pda
|
||||
@@ -265,3 +267,10 @@
|
||||
PDA.ownjob = C.assignment
|
||||
PDA.ownrank = C.rank
|
||||
PDA.name = "PDA-[H.real_name] ([PDA.ownjob])"
|
||||
|
||||
/datum/job/proc/would_accept_job_transfer_from_player(mob/player)
|
||||
if(!guest_jobbans(title)) // actually checks if job is a whitelisted position
|
||||
return TRUE
|
||||
if(!istype(player))
|
||||
return FALSE
|
||||
return is_job_whitelisted(player, title)
|
||||
|
||||
@@ -257,13 +257,14 @@ var/global/list/role_playtime_requirements = list(
|
||||
play_records[rtype] = text2num(read_records[rtype])
|
||||
else
|
||||
play_records[rtype] = 0
|
||||
if(mob.stat == CONSCIOUS && mob.mind.assigned_role)
|
||||
var/myrole = mob.mind.playtime_role ? mob.mind.playtime_role : mob.mind.assigned_role
|
||||
if(mob.stat == CONSCIOUS && myrole)
|
||||
play_records[EXP_TYPE_LIVING] += minutes
|
||||
if(announce_changes)
|
||||
to_chat(mob,"<span class='notice'>You got: [minutes] Living EXP!")
|
||||
for(var/category in exp_jobsmap)
|
||||
if(exp_jobsmap[category]["titles"])
|
||||
if(mob.mind.assigned_role in exp_jobsmap[category]["titles"])
|
||||
if(myrole in exp_jobsmap[category]["titles"])
|
||||
play_records[category] += minutes
|
||||
if(announce_changes)
|
||||
to_chat(mob,"<span class='notice'>You got: [minutes] [category] EXP!")
|
||||
|
||||
@@ -66,14 +66,15 @@ var/time_last_changed_position = 0
|
||||
/obj/machinery/computer/card/proc/get_target_rank()
|
||||
return modify && modify.assignment ? modify.assignment : "Unassigned"
|
||||
|
||||
/obj/machinery/computer/card/proc/format_jobs(list/jobs)
|
||||
/obj/machinery/computer/card/proc/format_jobs(list/jobs, targetrank, list/jobformats)
|
||||
var/list/formatted = list()
|
||||
for(var/job in jobs)
|
||||
if(job_in_department(SSjobs.GetJob(job)))
|
||||
formatted.Add(list(list(
|
||||
"display_name" = replacetext(job, " ", " "),
|
||||
"target_rank" = get_target_rank(),
|
||||
"job" = job)))
|
||||
"target_rank" = targetrank,
|
||||
"job" = job,
|
||||
"jlinkformat" = jobformats[job] ? jobformats[job] : null)))
|
||||
|
||||
return formatted
|
||||
|
||||
@@ -249,15 +250,19 @@ var/time_last_changed_position = 0
|
||||
data["all_centcom_access"] = null
|
||||
data["regions"] = null
|
||||
data["target_dept"] = target_dept
|
||||
data["card_is_owned"] = modify && modify.owner_ckey
|
||||
|
||||
data["engineering_jobs"] = format_jobs(engineering_positions)
|
||||
data["medical_jobs"] = format_jobs(medical_positions)
|
||||
data["science_jobs"] = format_jobs(science_positions)
|
||||
data["security_jobs"] = format_jobs(security_positions)
|
||||
data["support_jobs"] = format_jobs(support_positions)
|
||||
data["civilian_jobs"] = format_jobs(civilian_positions)
|
||||
data["special_jobs"] = format_jobs(whitelisted_positions)
|
||||
data["centcom_jobs"] = format_jobs(get_all_centcom_jobs())
|
||||
var/list/job_formats = SSjobs.format_jobs_for_id_computer(modify)
|
||||
|
||||
data["top_jobs"] = format_jobs(list("Captain", "Custom"), data["target_rank"], job_formats)
|
||||
data["engineering_jobs"] = format_jobs(engineering_positions, data["target_rank"], job_formats)
|
||||
data["medical_jobs"] = format_jobs(medical_positions, data["target_rank"], job_formats)
|
||||
data["science_jobs"] = format_jobs(science_positions, data["target_rank"], job_formats)
|
||||
data["security_jobs"] = format_jobs(security_positions, data["target_rank"], job_formats)
|
||||
data["support_jobs"] = format_jobs(support_positions, data["target_rank"], job_formats)
|
||||
data["civilian_jobs"] = format_jobs(civilian_positions, data["target_rank"], job_formats)
|
||||
data["special_jobs"] = format_jobs(whitelisted_positions, data["target_rank"], job_formats)
|
||||
data["centcom_jobs"] = format_jobs(get_all_centcom_jobs(), data["target_rank"], job_formats)
|
||||
data["card_skins"] = format_card_skins(get_station_card_skins())
|
||||
|
||||
data["job_slots"] = format_job_slots()
|
||||
@@ -361,7 +366,7 @@ var/time_last_changed_position = 0
|
||||
if("assign")
|
||||
if(is_authenticated(usr) && modify)
|
||||
var/t1 = href_list["assign_target"]
|
||||
if(target_dept && modify.assignment == "Unassigned")
|
||||
if(target_dept && modify.assignment == "Demoted")
|
||||
visible_message("<span class='notice'>[src]: Demoted individuals must see the HoP for a new job.</span>")
|
||||
return 0
|
||||
if(!job_in_department(SSjobs.GetJob(modify.rank), FALSE))
|
||||
@@ -397,6 +402,13 @@ var/time_last_changed_position = 0
|
||||
if(t1 == "Civilian")
|
||||
message_admins("[key_name_admin(usr)] has reassigned \"[modify.registered_name]\" from \"[jobnamedata]\" to \"[t1]\".")
|
||||
|
||||
var/mob/living/carbon/human/H = modify.getPlayer()
|
||||
if(istype(H))
|
||||
if(jobban_isbanned(H, t1))
|
||||
message_admins("[ADMIN_FULLMONTY(H)] has been assigned the job [t1], in possible violation of their job ban.")
|
||||
if(H.mind)
|
||||
H.mind.playtime_role = t1
|
||||
|
||||
modify.access = access
|
||||
modify.rank = t1
|
||||
modify.assignment = t1
|
||||
@@ -470,8 +482,8 @@ var/time_last_changed_position = 0
|
||||
|
||||
if("demote")
|
||||
if(is_authenticated(usr))
|
||||
if(modify.assignment == "Unassigned")
|
||||
visible_message("<span class='notice'>[src]: Unassigned crew cannot be demoted any further. If further action is warranted, ask the Captain about Termination.</span>")
|
||||
if(modify.assignment == "Demoted")
|
||||
visible_message("<span class='notice'>[src]: Demoted crew cannot be demoted any further. If further action is warranted, ask the Captain about Termination.</span>")
|
||||
return 0
|
||||
if(!job_in_department(SSjobs.GetJob(modify.rank), FALSE))
|
||||
visible_message("<span class='notice'>[src]: Heads may only demote members of their own department.</span>")
|
||||
@@ -482,12 +494,12 @@ var/time_last_changed_position = 0
|
||||
access = jobdatum.get_access()
|
||||
|
||||
var/jobnamedata = modify.getRankAndAssignment()
|
||||
log_game("[key_name(usr)] has demoted \"[modify.registered_name]\" the \"[jobnamedata]\" to \"Civilian (Unassigned)\".")
|
||||
message_admins("[key_name_admin(usr)] has demoted \"[modify.registered_name]\" the \"[jobnamedata]\" to \"Civilian (Unassigned)\".")
|
||||
log_game("[key_name(usr)] has demoted \"[modify.registered_name]\" the \"[jobnamedata]\" to \"Civilian (Demoted)\".")
|
||||
message_admins("[key_name_admin(usr)] has demoted \"[modify.registered_name]\" the \"[jobnamedata]\" to \"Civilian (Demoted)\".")
|
||||
|
||||
modify.access = access
|
||||
modify.rank = "Civilian"
|
||||
modify.assignment = "Unassigned"
|
||||
modify.assignment = "Demoted"
|
||||
modify.icon_state = "id"
|
||||
|
||||
if("make_job_available")
|
||||
|
||||
@@ -98,6 +98,8 @@
|
||||
//alt titles are handled a bit weirdly in order to unobtrusively integrate into existing ID system
|
||||
var/assignment = null //can be alt title or the actual job
|
||||
var/rank = null //actual job
|
||||
var/owner_uid
|
||||
var/owner_ckey
|
||||
var/dorm = 0 // determines if this ID has claimed a dorm already
|
||||
|
||||
var/sex
|
||||
@@ -195,6 +197,19 @@
|
||||
jobnamedata += " (" + assignment + ")"
|
||||
return jobnamedata
|
||||
|
||||
/obj/item/card/id/proc/getPlayer()
|
||||
if(owner_uid)
|
||||
var/mob/living/carbon/human/H = locateUID(owner_uid)
|
||||
if(istype(H) && H.ckey == owner_ckey)
|
||||
return H
|
||||
owner_uid = null
|
||||
if(owner_ckey)
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
if(M.ckey && M.ckey == owner_ckey)
|
||||
owner_uid = M.UID()
|
||||
return M
|
||||
owner_ckey = null
|
||||
|
||||
/obj/item/card/id/proc/is_untrackable()
|
||||
return untrackable
|
||||
|
||||
|
||||
@@ -137,18 +137,17 @@
|
||||
return 1
|
||||
return -1
|
||||
|
||||
/datum/computer_file/program/card_mod/proc/format_jobs(list/jobs)
|
||||
/datum/computer_file/program/card_mod/proc/format_jobs(list/jobs, targetrank, list/jobformats)
|
||||
var/obj/item/computer_hardware/card_slot/card_slot = computer.all_components[MC_CARD]
|
||||
if(!card_slot || !card_slot.stored_card)
|
||||
return null
|
||||
var/obj/item/card/id/id_card = card_slot.stored_card
|
||||
var/list/formatted = list()
|
||||
for(var/job in jobs)
|
||||
formatted.Add(list(list(
|
||||
"display_name" = replacetext(job, " ", " "),
|
||||
"target_rank" = id_card && id_card.assignment ? id_card.assignment : "Unassigned",
|
||||
"job" = job)))
|
||||
|
||||
"target_rank" = targetrank,
|
||||
"job" = job,
|
||||
"jlinkformat" = jobformats[job] ? jobformats[job] : null)))
|
||||
return formatted
|
||||
|
||||
|
||||
@@ -249,6 +248,13 @@
|
||||
if(t1 == "Civilian")
|
||||
message_admins("[key_name_admin(usr)] has reassigned \"[modify.registered_name]\" from \"[jobnamedata]\" to \"[t1]\".")
|
||||
|
||||
var/mob/living/carbon/human/H = modify.getPlayer()
|
||||
if(istype(H))
|
||||
if(jobban_isbanned(H, t1))
|
||||
message_admins("[ADMIN_FULLMONTY(H)] has been assigned the job [t1], in possible violation of their job ban.")
|
||||
if(H.mind)
|
||||
H.mind.playtime_role = t1
|
||||
|
||||
modify.access = access
|
||||
modify.assignment = t1
|
||||
modify.rank = t1
|
||||
@@ -405,14 +411,17 @@
|
||||
data["all_centcom_access"] = null
|
||||
data["regions"] = null
|
||||
|
||||
data["engineering_jobs"] = format_jobs(engineering_positions)
|
||||
data["medical_jobs"] = format_jobs(medical_positions)
|
||||
data["science_jobs"] = format_jobs(science_positions)
|
||||
data["security_jobs"] = format_jobs(security_positions)
|
||||
data["support_jobs"] = format_jobs(support_positions)
|
||||
data["civilian_jobs"] = format_jobs(civilian_positions)
|
||||
data["special_jobs"] = format_jobs(whitelisted_positions)
|
||||
data["centcom_jobs"] = format_jobs(get_all_centcom_jobs())
|
||||
var/list/job_formats = SSjobs.format_jobs_for_id_computer(modify)
|
||||
|
||||
data["top_jobs"] = format_jobs(list("Captain", "Custom"), data["target_rank"], job_formats)
|
||||
data["engineering_jobs"] = format_jobs(engineering_positions, data["target_rank"], job_formats)
|
||||
data["medical_jobs"] = format_jobs(medical_positions, data["target_rank"], job_formats)
|
||||
data["science_jobs"] = format_jobs(science_positions, data["target_rank"], job_formats)
|
||||
data["security_jobs"] = format_jobs(security_positions, data["target_rank"], job_formats)
|
||||
data["support_jobs"] = format_jobs(support_positions, data["target_rank"], job_formats)
|
||||
data["civilian_jobs"] = format_jobs(civilian_positions, data["target_rank"], job_formats)
|
||||
data["special_jobs"] = format_jobs(whitelisted_positions, data["target_rank"], job_formats)
|
||||
data["centcom_jobs"] = format_jobs(get_all_centcom_jobs(), data["target_rank"], job_formats)
|
||||
data["card_skins"] = format_card_skins(get_station_card_skins())
|
||||
|
||||
data["job_slots"] = format_job_slots()
|
||||
|
||||
File diff suppressed because one or more lines are too long
+22
-1
@@ -1,4 +1,4 @@
|
||||
.link, .linkOn, .linkOff, .selected, .disabled, .yellowButton, .redButton {
|
||||
.link, .linkOn, .linkOff, .selected, .disabled, .yellowButton, .redButton, .linkEncourage, .linkDiscourage {
|
||||
float: left;
|
||||
min-width: 15px;
|
||||
height: 16px;
|
||||
@@ -82,6 +82,27 @@ a.icon img, .linkOn.icon img, .linkOff.icon img, .selected.icon img, .disabled.i
|
||||
background-color: #ff6666;
|
||||
}
|
||||
|
||||
.linkEncourage, a.linkEncourage:link, a.linkEncourage:visited, a.linkEncourage:active {
|
||||
color: #99ff33;
|
||||
background-color: #40628a;
|
||||
border-color: #161616;
|
||||
}
|
||||
|
||||
.linkEncourage.hover {
|
||||
background-color: #507aac;
|
||||
}
|
||||
|
||||
.linkDiscourage, a.linkDiscourage:link, a.linkDiscourage:visited, a.linkDiscourage:active {
|
||||
color: #8c8c8c;
|
||||
background-color: #40628a;
|
||||
border-color: #161616;
|
||||
}
|
||||
|
||||
.linkDiscourage.hover {
|
||||
color: #ff0000;
|
||||
background-color: #507aac;
|
||||
}
|
||||
|
||||
.inactive, a.inactive:link, a.inactive:visited, a.inactive:active, a.inactive.hover {
|
||||
color: #ffffff;
|
||||
background: #999999;
|
||||
|
||||
@@ -149,7 +149,11 @@
|
||||
Terminations:
|
||||
</div>
|
||||
<div class='itemContent'>
|
||||
{{:helper.link('Terminate ' + data.target_owner, 'gear', {'action' : 'PRG_terminate'}, data.target_rank == "Terminated" ? 'disabled' : null, data.target_rank == "Terminated" ? 'disabled' : 'linkDanger')}}
|
||||
{{if data.target_rank == "Terminated"}}
|
||||
<span class='bad'>{{:data.target_owner}} has already been terminated!</span>
|
||||
{{else}}
|
||||
{{:helper.link('Terminate ' + data.target_owner, 'gear', {'choice' : 'terminate'}, data.target_rank == "Terminated" ? 'disabled' : null, data.target_rank == "Terminated" ? 'disabled' : 'linkDanger')}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -168,15 +172,16 @@
|
||||
<tr>
|
||||
<th>Special</th>
|
||||
<td>
|
||||
{{:helper.link("Captain", '', {'action' : 'PRG_assign', 'assign_target' : 'Captain'}, data.target_rank == 'Captain' ? 'disabled' : null)}}
|
||||
{{:helper.link("Custom", '', {'action' : 'PRG_assign', 'assign_target' : 'Custom'})}}
|
||||
{{for data.top_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="color: '#FFA500';">Engineering</th>
|
||||
<td>
|
||||
{{for data.engineering_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'action' : 'PRG_assign', 'assign_target' : value.job}, data.target_rank == value.job ? 'disabled' : null)}}
|
||||
{{:helper.link(value.display_name, '', {'action' : 'PRG_assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -184,7 +189,7 @@
|
||||
<th style="color: '#008000';">Medical</th>
|
||||
<td>
|
||||
{{for data.medical_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'action' : 'PRG_assign', 'assign_target' : value.job}, data.target_rank == value.job ? 'disabled' : null)}}
|
||||
{{:helper.link(value.display_name, '', {'action' : 'PRG_assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -192,7 +197,7 @@
|
||||
<th style="color: '#DD0000';">Security</th>
|
||||
<td>
|
||||
{{for data.security_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'action' : 'PRG_assign', 'assign_target' : value.job}, data.target_rank == value.job ? 'disabled' : null)}}
|
||||
{{:helper.link(value.display_name, '', {'action' : 'PRG_assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -200,7 +205,7 @@
|
||||
<th style="color: '#C060C0';">Science</th>
|
||||
<td>
|
||||
{{for data.science_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'action' : 'PRG_assign', 'assign_target' : value.job}, data.target_rank == value.job ? 'disabled' : null)}}
|
||||
{{:helper.link(value.display_name, '', {'action' : 'PRG_assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -208,7 +213,7 @@
|
||||
<th style="color: '#A0A0A0';">Support</th>
|
||||
<td>
|
||||
{{for data.support_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'action' : 'PRG_assign', 'assign_target' : value.job}, data.target_rank == value.job ? 'disabled' : null)}}
|
||||
{{:helper.link(value.display_name, '', {'action' : 'PRG_assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -216,7 +221,7 @@
|
||||
<th style="color: '#808080';">Civilian</th>
|
||||
<td>
|
||||
{{for data.civilian_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'action' : 'PRG_assign', 'assign_target' : value.job}, data.target_rank == value.job ? 'disabled' : null)}}
|
||||
{{:helper.link(value.display_name, '', {'action' : 'PRG_assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -225,7 +230,7 @@
|
||||
<th style="color: '#A52A2A';">CentComm</th>
|
||||
<td>
|
||||
{{for data.centcom_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'action' : 'PRG_assign', 'assign_target' : value.job}, data.target_rank == value.job ? 'disabled' : null)}}
|
||||
{{:helper.link(value.display_name, '', {'action' : 'PRG_assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -145,21 +145,31 @@
|
||||
</div>
|
||||
</form>
|
||||
{{/if}}
|
||||
<div class='item'>
|
||||
{{if data.target_rank != "Terminated"}}
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>
|
||||
Demotions:
|
||||
</div>
|
||||
<div class='itemContent'>
|
||||
{{:helper.link('Demote ' + data.target_owner, 'gear', {'choice' : 'demote'}, (data.target_rank == "Civilian" || data.target_rank == "Unassigned" || data.target_rank == "Terminated") ? 'disabled' : null, (data.target_rank == "Civilian" || data.target_rank == "Unassigned" || data.target_rank == "Terminated") ? 'disabled' : 'linkDanger')}}
|
||||
{{if data.target_rank == "Demoted"}}
|
||||
<span class='bad'>{{:data.target_owner}} has already been demoted!</span>
|
||||
{{else}}
|
||||
{{:helper.link('Demote ' + data.target_owner, 'gear', {'choice' : 'demote'}, (data.target_rank == "Civilian" || data.target_rank == "Unassigned") ? 'disabled' : null, (data.target_rank == "Civilian" || data.target_rank == "Unassigned") ? 'disabled' : 'linkDanger')}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if !data.target_dept}}
|
||||
<div class='item'>
|
||||
<div class='itemLabel'>
|
||||
Terminations:
|
||||
</div>
|
||||
<div class='itemContent'>
|
||||
{{:helper.link('Terminate ' + data.target_owner, 'gear', {'choice' : 'terminate'}, data.target_rank == "Terminated" ? 'disabled' : null, data.target_rank == "Terminated" ? 'disabled' : 'linkDanger')}}
|
||||
{{if data.target_rank == "Terminated"}}
|
||||
<span class='bad'>{{:data.target_owner}} has already been terminated!</span>
|
||||
{{else}}
|
||||
{{:helper.link('Terminate ' + data.target_owner, 'gear', {'choice' : 'terminate'}, data.target_rank == "Terminated" ? 'disabled' : null, data.target_rank == "Terminated" ? 'disabled' : 'linkDanger')}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -187,8 +197,9 @@
|
||||
<tr>
|
||||
<th>Special</th>
|
||||
<td>
|
||||
{{:helper.link("Captain", '', {'choice' : 'assign', 'assign_target' : 'Captain'}, data.target_rank == 'Captain' ? 'disabled' : null)}}
|
||||
{{:helper.link("Custom", '', {'choice' : 'assign', 'assign_target' : 'Custom'})}}
|
||||
{{for data.top_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/if}}
|
||||
@@ -197,7 +208,7 @@
|
||||
<th style="color: '#FFA500';">Engineering</th>
|
||||
<td>
|
||||
{{for data.engineering_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, data.target_rank == value.job ? 'disabled' : null)}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -207,7 +218,7 @@
|
||||
<th style="color: '#008000';">Medical</th>
|
||||
<td>
|
||||
{{for data.medical_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, data.target_rank == value.job ? 'disabled' : null)}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -217,7 +228,7 @@
|
||||
<th style="color: '#DD0000';">Security</th>
|
||||
<td>
|
||||
{{for data.security_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, data.target_rank == value.job ? 'disabled' : null)}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -227,9 +238,9 @@
|
||||
<th style="color: '#C060C0';">Science</th>
|
||||
<td>
|
||||
{{for data.science_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, data.target_rank == value.job ? 'disabled' : null)}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
{{/if}}
|
||||
{{if !data.target_dept}}
|
||||
@@ -237,7 +248,7 @@
|
||||
<th style="color: '#A0A0A0';">Support</th>
|
||||
<td>
|
||||
{{for data.support_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, data.target_rank == value.job ? 'disabled' : null)}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -246,7 +257,7 @@
|
||||
<th style="color: '#808080';">Civilian</th>
|
||||
<td>
|
||||
{{for data.civilian_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, data.target_rank == value.job ? 'disabled' : null)}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
@@ -255,7 +266,7 @@
|
||||
<th style="color: '#A52A2A';">CentComm</th>
|
||||
<td>
|
||||
{{for data.centcom_jobs}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, data.target_rank == value.job ? 'disabled' : null)}}
|
||||
{{:helper.link(value.display_name, '', {'choice' : 'assign', 'assign_target' : value.job}, value.jlinkformat == 'disabled' ? 'disabled' : null, value.jlinkformat ? value.jlinkformat : null)}}
|
||||
{{/for}}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
Reference in New Issue
Block a user