- {{:~displayBar(scanner_temperature, 0, 1273, (scanner_temperature > 250 ? (scanner_temperature > 1000 ? 'bad' : 'average') : 'good')))}}
- {{:scanner_temperature}} K
+ {{:helper.displayBar(data.scanner_temperature, 0, 1273, (data.scanner_temperature > 250 ? (data.scanner_temperature > 1000 ? 'bad' : 'average') : 'good')))}}
+ {{:data.scanner_temperature}} K
- {{if scanner_temperature > 1000}}
+ {{if data.scanner_temperature > 1000}}
Warning! Exceeding 1200K will result in scan failure!
{{/if}}
@@ -123,12 +123,12 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
Ambient radiation:
- {{:~displayBar(radiation, 0, 100, (radiation > 15 ? (radiation > 65 ? 'bad' : 'average') : 'good'))}}
- {{:radiation}} mSv
+ {{:helper.displayBar(data.radiation, 0, 100, ((data.radiation > 15) ? ((data.radiation > 65) ? 'bad' : 'average') : 'good'))}}
+ {{:data.radiation}} mSv
- {{:~link(rad_shield_on ? 'Disable Radiation Shielding' : 'Enable Radiation Shielding', 'radiation', {'toggle_rad_shield' : 1}, null)}}
- {{if rad_shield_on}}
+ {{:helper.link(data.rad_shield_on ? 'Disable Radiation Shielding' : 'Enable Radiation Shielding', 'radiation', {'toggle_rad_shield' : 1}, null)}}
+ {{if data.rad_shield_on}}
Shield blocking scanner.
{{/if}}
@@ -138,11 +138,11 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
Coolant remaining:
- {{:~displayBar(unused_coolant_per, 0, 100, (unused_coolant_per < 66 ? (unused_coolant_per < 33 ? 'bad' : 'average') : 'good'))}}
- {{:unused_coolant_abs}} u
+ {{:helper.displayBar(data.unused_coolant_per, 0, 100, ((data.unused_coolant_per < 66) ? ((data.unused_coolant_per < 33) ? 'bad' : 'average') : 'good'))}}
+ {{:data.unused_coolant_abs}} u
- {{if unused_coolant_per < 20}}
+ {{if data.unused_coolant_per < 20}}
Warning! Coolant stocks low!
{{/if}}
@@ -150,28 +150,28 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
Coolant flow rate:
- {{:~displayBar(coolant_usage_rate, 0, 10, 'good')}}
- {{:coolant_usage_rate}} u/s
+ {{:helper.displayBar(data.coolant_usage_rate, 0, 10, 'good')}}
+ {{:data.coolant_usage_rate}} u/s
- {{:~link('Min u/s', null, {'coolantRate' : -10}, null)}}
- {{:~link('-3 u/s', null, {'coolantRate' : -3}, null)}}
- {{:~link('-1 u/s', null, {'coolantRate' : -1}, null)}}
+ {{:helper.link('Min u/s', null, {'coolantRate' : -10}, null)}}
+ {{:helper.link('-3 u/s', null, {'coolantRate' : -3}, null)}}
+ {{:helper.link('-1 u/s', null, {'coolantRate' : -1}, null)}}
- {{:~link('+1 u/s', null, {'coolantRate' : 1}, null)}}
- {{:~link('+3 u/s', null, {'coolantRate' : 3}, null)}}
- {{:~link('Max u/s', null, {'coolantRate' : 10}, null)}}
+ {{:helper.link('+1 u/s', null, {'coolantRate' : 1}, null)}}
+ {{:helper.link('+3 u/s', null, {'coolantRate' : 3}, null)}}
+ {{:helper.link('Max u/s', null, {'coolantRate' : 10}, null)}}
Coolant purity:
- {{:~displayBar(coolant_purity, 0, 100, (coolant_purity < 66 ? (coolant_purity < 33 ? 'bad' : 'average') : 'good'))}}
- {{:coolant_purity}} %
+ {{:helper.displayBar(data.coolant_purity, 0, 100, ((data.coolant_purity < 66) ? ((data.coolant_purity < 33) ? 'bad' : 'average') : 'good'))}}
+ {{:data.coolant_purity}} %
- {{if coolant_purity < 0.5}}
+ {{if data.coolant_purity < 0.5}}
Warning! Check coolant for contaminants!
{{/if}}
@@ -180,6 +180,6 @@ Used In File(s): \code\modules\research\xenoarchaeology\machinery\geosample_scan
Latest Results
- {{:last_scan_data}}
+ {{:data.last_scan_data}}
diff --git a/nano/templates/layout_default.tmpl b/nano/templates/layout_default.tmpl
new file mode 100644
index 00000000000..ad63ff3bfe5
--- /dev/null
+++ b/nano/templates/layout_default.tmpl
@@ -0,0 +1,30 @@
+
+
+
+
+
+

+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/nano/templates/pda.tmpl b/nano/templates/pda.tmpl
index 3f7ee3d3146..8b59e4ac124 100644
--- a/nano/templates/pda.tmpl
+++ b/nano/templates/pda.tmpl
@@ -1,18 +1,18 @@
-
-{{if owner}}
+{{if data.owner}}
Functions:
-
- {{:~link('Close', 'gear', {'choice' : "Close"}, null, 'fixedLeft')}}
- {{if idInserted}} {{:~link('Update PDA Info', 'eject', {'choice' : "UpdateInfo"}, null, 'fixedLeftWide')}} {{/if}}
- {{if mode != 0}} {{:~link('Return', 'arrowreturn-1-w', {'choice' : "Return"}, null, 'fixedLeft')}} {{/if}}
+
+ {{:helper.link('Close', 'gear', {'choice' : "Close"}, null, 'fixedLeft')}}
+ {{if data.idInserted}} {{:helper.link('Update PDA Info', 'eject', {'choice' : "UpdateInfo"}, null, 'fixedLeftWide')}} {{/if}}
+ {{if data.mode != 0}} {{:helper.link('Return', 'arrowreturn-1-w', {'choice' : "Return"}, null, 'fixedLeft')}} {{/if}}
@@ -21,913 +21,933 @@ Used In File(s): \code\game\objects\items\devices\PDA\PDA.dm
Station Time:
- {{:stationTime}}
+ {{:data.stationTime}}
- {{if mode == 0}}
-
-
- Owner:
-
-
- {{:owner}}, {{:ownjob}}
-
-
-
-
-
- ID:
-
-
- {{:~link(idLink, 'eject', {'choice' : "Authenticate"}, idInserted ? null : 'disabled', idInserted ? 'fixedLeftWidest' : 'fixedLeft')}}
-
-
-
-
-
- Cartridge:
-
-
- {{if cart_loaded==1}}
- {{:~link(cartridge.name, 'eject', {'choice' : "Eject"},null,null)}}
- {{else}}
- {{:~link('None', 'eject', {'choice' : "Eject"},'disabled',null)}}
- {{/if}}
-
-
-
-
Functions
-
-
-
- General:
-
-
- {{:~link('Notekeeper', 'note', {'choice' : "1"}, null, 'fixedLeftWide')}}
- {{:~link('Messenger', newMessage ? 'mail-closed' : 'mail-open', {'choice' : "2"}, null, 'fixedLeftWide')}}
- {{:~link('Crew Manifest', 'contact', {'choice' : "41"}, null, 'fixedLeftWide')}}
-
-
-
- {{if cartridge}}
- {{if cartridge.access.access_clown == 1}}
+
+
+ {{if data.mode == 0}}
-
- Clown:
-
-
- {{:~link('Honk Synthesizer', 'gear', {'choice' : "Honk"}, null, 'fixedLeftWide')}}
-
-
-
- {{/if}}
- {{if cartridge.access.access_engine == 1}}
-
-
- Engineering:
-
-
- {{:~link('Power Monitor', 'alert', {'choice' : "43"}, null, 'fixedLeftWide')}}
-
-
-
- {{/if}}
- {{if cartridge.access.access_medical == 1}}
-
-
- Medical:
-
-
- {{:~link('Medical Records', 'gear', {'choice' : "44"}, null, 'fixedLeftWide')}}
- {{:~link(scanmode == 1 ? 'Disable Med Scanner' : 'Enable Med Scanner', 'gear', {'choice' : "Medical Scan"}, null , 'fixedLeftWide')}}
-
-
-
- {{/if}}
- {{if cartridge.access.access_security == 1}}
-
-
- Security:
-
-
- {{:~link('Security Records', 'gear', {'choice' : "45"}, null, 'fixedLeftWide')}}
- {{if cartridge.radio ==1}} {{:~link('Security Bot Access', 'gear', {'choice' : "46"}, null, 'fixedLeftWide')}} {{/if}}
-
-
-
-
- {{/if}}
- {{if cartridge.access.access_quartermaster == 1}}
-
-
- Quartermaster:
-
-
- {{:~link('Supply Records', 'gear', {'choice' : "47"}, null, 'fixedLeftWide')}}
- {{if cartridge.radio == 3}} {{:~link('Delivery Bot Control', 'gear', {'choice' : "48"}, null, 'fixedLeftWide')}} {{/if}}
-
-
-
-
- {{/if}}
- {{/if}}
-
-
-
- Utilities:
-
-
- {{if cartridge}}
- {{if cartridge.access.access_status_display == 1}} {{:~link('Status Display', 'gear', {'choice' : "42"}, null, 'fixedLeftWide')}}{{/if}}
- {{if cartridge.access.access_janitor==1}} {{:~link('Custodial Locator', 'gear', {'choice' : "49"}, null, 'fixedLeftWide')}} {{/if}}
- {{if cartridge.radio == 2}} {{:~link('Signaler System', 'gear', {'choice' : "40"}, null, 'fixedLeftWide')}} {{/if}}
- {{if cartridge.access.access_reagent_scanner==1}} {{:~link(scanmode == 3 ? 'Disable Reagent Scanner' : 'Enable Reagent Scanner', 'gear', {'choice' : "Reagent Scan"}, null, 'fixedLeftWider')}} {{/if}}
- {{if cartridge.access.access_engine==1}} {{:~link(scanmode == 4 ? 'Disable Halogen Counter' : 'Enable Halogen Counter', 'gear', {'choice' : "Halogen Counter"}, null, 'fixedLeftWider')}} {{/if}}
- {{if cartridge.access.access_atmos==1}} {{:~link(scanmode == 5 ? 'Disable Gas Scanner' : 'Enable Gas Scanner', 'gear', {'choice' : "Gas Scan"}, null, 'fixedLeftWide')}} {{/if}}
- {{if cartridge.access.access_remote_door==1}}{{:~link('Toggle Door', 'gear', {'choice' : "Toggle Door"}, null, 'fixedLeftWide')}} {{/if}}
- {{/if}}
- {{:~link('Atmospheric Scan', 'gear', {'choice' : "3"}, null, 'fixedLeftWide')}}
- {{:~link(fon==1 ? 'Disable Flashlight' : 'Enable Flashlight', 'lightbulb', {'choice' : "Light"}, null,'fixedLeftWide')}}
-
-
- {{if pai}}
-
-
- PAI Utilities:
-
-
- {{:~link('Configuration', 'gear', {'choice' : "pai", 'option' : "1"}, null, 'fixedLeft')}}
- {{:~link('Eject pAI', 'eject', {'choice' : "pai", 'option' : "2"}, null, 'fixedLeft')}}
-
-
- {{/if}}
- {{/if}}
- {{if mode == 1}}
-
-
-
-
- {{:~link('Edit Notes', 'gear', {'choice' : "Edit"}, null, 'fixedLeft')}}
-
-
-
-
- {{else mode == 2}}
-
SpaceMessenger V4.0.1
-
-
- Messenger Functions:
-
-
-
- {{:~link(silent==1 ? 'Ringer: Off' : 'Ringer: On', silent==1 ? 'volume-off' : 'volume-on', {'choice' : "Toggle Ringer"}, null, 'fixedLeftWide')}}
- {{:~link(toff==1 ? 'Messenger: Off' : 'Messenger: On',toff==1 ? 'close':'check', {'choice' : "Toggle Messenger"}, null, 'fixedLeftWide')}}
- {{:~link('Set Ringtone', 'comment', {'choice' : "Ringtone"}, null, 'fixedLeftWide')}}
- {{:~link('Delete all Conversations', 'trash', {'choice' : "Clear", 'option' : "All"}, null, 'fixedLeftWider')}}
-
-
- {{if toff == 0}}
-
- {{if cartridge}}
- {{if cartridge.charges}}
-
- {{:cartridge.charges}}
- {{if cartridge.type == "/obj/item/weapon/cartridge/syndicate"}} detonation charges left. {{/if}}
- {{if cartridge.type == "/obj/item/weapon/cartridge/clown" || cartridge.type == "/obj/item/weapon/cartridge/mime"}} viral files left. {{/if}}
-
-
- {{/if}}
- {{/if}}
-
- {{if pda_count == 0}}
No other PDAS located
- {{else}}
-
Current Conversations
- {{for convopdas}}
-
- {{:~link(Name, 'circle-arrow-s', {'choice' : "Select Conversation", 'convo' : Reference } , null, fixedLeftWider)}}
- {{if ~root.cartridge}}
- {{if ~root.cartridge.type == "/obj/item/weapon/cartridge/syndicate" && Detonate == 1}} {{:~link('*Detonate*', 'radiation', {'choice' : "Detonate", 'target' : Reference}, null, 'fixedLeft')}} {{/if}}
- {{if ~root.cartridge.type == "/obj/item/weapon/cartridge/clown"}} {{:~link('*Send Virus*', 'star', {'choice' : "Send Honk", 'target' : Reference}, null, 'fixedLeft')}} {{/if}}
- {{if ~root.cartridge.type == "/obj/item/weapon/cartridge/mime"}} {{:~link('*Send Virus*', 'circle-arrow-s', {'choice' : "Send Silence", 'target' : Reference}, null, 'fixedLeft')}} {{/if}}
- {{/if}}
-
- {{/for}}
-
Other PDAs
- {{for pdas}}
-
- {{:~link(Name, 'circle-arrow-s', {'choice' : "Message", 'target' : Reference}, null, fixedLeftWider)}}
- {{if ~root.cartridge}}
- {{if ~root.cartridge.type == "/obj/item/weapon/cartridge/syndicate" && Detonate == 1}} {{:~link('*Detonate*', 'radiation', {'choice' : "Detonate", 'target' : Reference}, null, 'fixedLeft')}} {{/if}}
- {{if ~root.cartridge.type == "/obj/item/weapon/cartridge/clown"}} {{:~link('*Send Virus*', 'star', {'choice' : "Send Honk", 'target' : Reference}, null, 'fixedLeft')}} {{/if}}
- {{if ~root.cartridge.type == "/obj/item/weapon/cartridge/mime"}} {{:~link('*Send Virus*', 'circle-arrow-s', {'choice' : "Send Silence", 'target' : Reference}, null, 'fixedLeft')}} {{/if}}
- {{/if}}
-
- {{/for}}
- {{/if}}
- {{/if}}
-
- {{else mode == 21}}
-
SpaceMessenger V4.0.1
-
-
- Messenger Functions:
-
-
-
- {{:~link('Delete Conversation', 'trash', {'choice' : "Clear", 'option' : "Convo"}, null, 'fixedLeftWide')}}
-
-
-
-
Conversation with: {{:convo_name}} ({{:convo_job}})
-
-
-
- {{for messages}}
- {{if ~root.active_conversation == target}}
- {{if sent==0}}
- Them: {{:message}}
- {{else}}
- You: {{:message}}
- {{/if}}
- {{/if}}
- {{/for}}
-
-
-
-
- {{:~link('Reply', 'comment', {'choice' : "Message", 'target': active_conversation}, null, 'fixedLeft')}}
-
- {{else mode== 41}}
-
-
- {{if manifest.heads.length}}
- | Command |
- {{for manifest["heads"]}}
- {{if rank == "Captain"}}
- | {{:name}} | {{:rank}} | {{:active}} |
- {{else}}
- | {{:name}} | {{:rank}} | {{:active}} |
- {{/if}}
- {{/for}}
- {{/if}}
- {{if manifest.sec.length}}
- | Security |
- {{for manifest["sec"]}}
- {{if rank == "Head of Security"}}
- | {{:name}} | {{:rank}} | {{:active}} |
- {{else}}
- | {{:name}} | {{:rank}} | {{:active}} |
- {{/if}}
- {{/for}}
- {{/if}}
- {{if manifest.eng.length}}
- | Engineering |
- {{for manifest["eng"]}}
- {{if rank == "Chief Engineer"}}
- | {{:name}} | {{:rank}} | {{:active}} |
- {{else}}
- | {{:name}} | {{:rank}} | {{:active}} |
- {{/if}}
-
- {{/for}}
- {{/if}}
- {{if manifest.med.length}}
- | Medical |
- {{for manifest["med"]}}
- {{if rank == "Chief Medical Officer"}}
- | {{:name}} | {{:rank}} | {{:active}} |
- {{else}}
- | {{:name}} | {{:rank}} | {{:active}} |
- {{/if}}
- {{/for}}
- {{/if}}
- {{if manifest.sci.length}}
- | Science |
- {{for manifest["sci"]}}
- {{if rank == "Research Director"}}
- | {{:name}} | {{:rank}} | {{:active}} |
- {{else}}
- | {{:name}} | {{:rank}} | {{:active}} |
- {{/if}}
- {{/for}}
- {{/if}}
- {{if manifest.civ.length}}
- | Civilian |
- {{for manifest["civ"]}}
- {{if rank == "Head of Personnel"}}
- | {{:name}} | {{:rank}} | {{:active}} |
- {{else}}
- | {{:name}} | {{:rank}} | {{:active}} |
- {{/if}}
- {{/for}}
- {{/if}}
- {{if manifest.misc.length}}
- | Misc |
- {{for manifest["misc"]}}
- | {{:name}} | {{:rank}} | {{:active}} |
- {{/for}}
- {{/if}}
-
-
-
-
- {{else mode == 3}}
-
-
Atmospheric Scan
-
-
- {{if aircontents.reading == 1}}
-
- Pressure:
-
-
- {{:~string('{1} kPa', aircontents.pressure < 80 || aircontents.pressure > 120 ? 'bad' : aircontents.pressure < 95 || aircontents.pressure > 110 ? 'average' : 'good' , aircontents.pressure)}}
-
-
- Temperature:
-
-
- {{:~string('{1} °C', aircontents.temp < 5 || aircontents.temp > 35 ? 'bad' : aircontents.temp < 15 || aircontents.temp > 25 ? 'average' : 'good' , aircontents.temp)}}
-
-
-
- Oxygen:
-
-
- {{:~string('{1}%', aircontents.oxygen < 17 ? 'bad' : aircontents.oxygen < 19 ? 'average' : 'good' , aircontents.oxygen)}}
-
-
- Nitrogen:
-
-
- {{:~string('{1}%', aircontents.nitrogen > 82 ? 'bad' : aircontents.nitrogen > 80 ? 'average' : 'good' , aircontents.nitrogen)}}
-
-
- Carbon Dioxide:
-
-
- {{:~string('{1}%', aircontents.carbon_dioxide > 5 ? 'bad' : 'good' , aircontents.carbon_dioxide)}}
-
-
- Plasma:
-
-
- {{:~string('{1}%', aircontents.plasma > 0 ? 'bad' : 'good' , aircontents.plasma)}}
-
-
- {{if aircontents.other > 0}}
-
- Unknown:
-
-
- {{:aircontents.other}}%
-
- {{/if}}
- {{else}}
-
- Unable to get air reading
-
- {{/if}}
-
-
-
- {{else mode == 40}}
-
Remote Signaling System
-
-
- Frequency:
-
-
- {{:records.signal_freq}}
-
- {{:~link('-1', null, {'cartmenu' : "1", 'choice' : "Signal Frequency", 'sfreq' : "-10"}, null, null)}}
- {{:~link('-.2', null, {'cartmenu' : "1", 'choice' : "Signal Frequency", 'sfreq' : "-2"}, null, null)}}
-
- {{:~link('+.2', null, {'cartmenu' : "1", 'choice' : "Signal Frequency", 'sfreq' : "2"}, null, null)}}
- {{:~link('+1', null, {'cartmenu' : "1", 'choice' : "Signal Frequency", 'sfreq' : "10"}, null, null)}}
-
-
-
-
-
- Code:
-
-
-
- {{:records.signal_code}}
-
- {{:~link('-5', null, {'cartmenu' : "1", 'choice' : "Signal Code", 'scode' : "-5"}, null, null)}}
- {{:~link('-1', null, {'cartmenu' : "1", 'choice' : "Signal Code", 'scode' : "-1"}, null, null)}}
- {{:~link('+1', null, {'cartmenu' : "1", 'choice' : "Signal Code", 'scode' : "1"}, null, null)}}
- {{:~link('+5', null, {'cartmenu' : "1", 'choice' : "Signal Code", 'scode' : "5"}, null, null)}}
-
-
-
- {{:~link('Send Signal', 'radiation', {'cartmenu' : "1", 'choice' : "Send Signal"}, null, null)}}
-
-
- {{else mode == 42}}
-
Station Status Displays Interlink
-
-
- Code:
-
-
- {{:~link('Clear', 'trash', {'cartmenu' : "1", 'choice' : "Status", 'statdisp' : "blank"}, null, null)}}
- {{:~link('Shuttle ETA', 'gear', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "shuttle"}, null, null)}}
- {{:~link('Message', 'gear', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "message"}, null, null)}}
-
-
-
-
-
- Message line 1
-
-
- {{:~link(records.message1 + ' (set)', 'pencil', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "setmsg1"}, null, null)}}
-
-
-
-
- Message line 2
-
-
- {{:~link(records.message2 + ' (set)', 'pencil', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "setmsg2"}, null, null)}}
-
-
-
-
-
-
- ALERT!:
-
-
- {{:~link('None', 'alert', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "alert", 'alert' : "default"}, null, null)}}
- {{:~link('Red Alert', 'alert', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "alert", 'alert' : "redalert"}, null, null)}}
- {{:~link('Lockdown', 'caution', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "alert", 'alert' : "lockdown"}, null, null)}}
- {{:~link('Biohazard', 'radiation', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "alert", 'alert' : "biohazard"}, null, null)}}
-
-
-
- {{else mode == 43}}
-
-
Station Powermonitors
-
- Select A power monitor:
-
- {{for records.powermonitors}}
-
- {{:~link(Name, 'radiation', {'cartmenu' : "1", 'choice' : "Power Select",'target' : ref}, null, null)}}
-
- {{/for}}
-
- {{else mode == 433}}
-
Powernet Status
-
-
- Current Load:
-
-
- {{:records.powerload}} W
-
-
-
-
- Total Power:
-
-
- {{:records.poweravail}} W
-
-
-
-
-
- {{for records.apcs}}
- {{if #index % 20 === 0}}
- | Area | Eqp. | Lgt. | Env | Cell |
- {{/if}}
-
- | {{:Name}} |
- {{:~string(' | ', Equipment==1 ? '#4f7529' : '#8f1414')}}
- {{:~string(' | ', Lights==1 ? '#4f7529' : '#8f1414')}}
- {{:~string(' | ', Environment==1 ? '#4f7529' : '#8f1414')}}
- {{:~string('{1} | ', CellStatus==1 ? '#4f7529' : '#8f1414', CellStatus==-1 ? 'No Cell' : CellPct + '%')}}
-
- {{/for}}
-
-
-
- {{else mode == 44}}
-
Medical Record List
-
- Select A record
-
-
- {{for records.medical_records}}
-
- {{:~link(Name, 'gear', {'cartmenu' : "1", 'choice' : "Medical Records",'target' : ref}, null, null)}}
-
- {{/for}}
-
-
-
- {{else mode == 441}}
-
Medical Record
-
-
-
- {{if records.general_exists == 1}}
- Name: {{:records.general.name}}
- Sex: {{:records.general.sex}}
- Species: {{:records.general.species}}
- Age: {{:records.general.age}}
- Rank: {{:records.general.rank}}
- Fingerprint: {{:records.general.fingerprint}}
- Physical Status: {{:records.general.p_stat}}
- Mental Status: {{:records.general.m_stat}}
- {{else}}
-
- General Record Lost!
-
- {{/if}}
- {{if records.medical_exists == 1}}
- Medical Data:
- Blood Type: {{:records.medical.b_type}}
- Minor Disabilities: {{:records.medical.mi_dis}}
- Details: {{:records.medical.mi_dis_d}}
- Major Disabilities: {{:records.medical.ma_dis}}
- Details: {{:records.medical.ma_dis_d}}
- Allergies: {{:records.medical.alg}}
- Details: {{:records.medical.alg_d}}
- Current Disease: {{:records.medical.cdi}}
- Details: {{:records.medical.alg_d}}
- Important Notes: {{:records.medical.notes}}
- {{else}}
-
- Medical Record Lost!
-
- {{/if}}
-
-
-
-
-
- {{else mode == 45}}
-
Security Record List
-
- Select A record
+
+ Owner:
+
+
+ {{:data.owner}}, {{:data.ownjob}}
+
- {{for records.security_records}}
- {{:~link(Name, 'gear', {'cartmenu' : "1", 'choice' : "Security Records",'target' : ref}, null, null)}}
+
+ ID:
+
+
+ {{:helper.link(data.idLink, 'eject', {'choice' : "Authenticate"}, data.idInserted ? null : 'disabled', data.idInserted ? 'fixedLeftWidest' : 'fixedLeft')}}
+
- {{/for}}
-
-
-
- {{else mode == 451}}
-
Security Record
-
-
-
- {{if records.general_exists == 1}}
-
Name: {{:records.general.name}}
-
Sex: {{:records.general.sex}}
-
Species: {{:records.general.species}}
-
Age: {{:records.general.age}}
-
Rank: {{:records.general.rank}}
-
Fingerprint: {{:records.general.fingerprint}}
-
Physical Status: {{:records.general.p_stat}}
-
Mental Status: {{:records.general.m_stat}}
+
+
+
+ Cartridge:
+
+
+ {{if data.cart_loaded==1}}
+ {{:helper.link(data.cartridge.name, 'eject', {'choice' : "Eject"},null,null)}}
{{else}}
-
- General Record Lost!
-
+ {{:helper.link('None', 'eject', {'choice' : "Eject"},'disabled',null)}}
{{/if}}
- {{if records.security_exists == 1}}
- Security Data:
- Criminal Status: {{:records.security.criminal}}
- Minor Crimes: {{:records.security.mi_crim}}
- Details: {{:records.security.mi_crim_d}}
- Major Crimes: {{:records.security.ma_crim}}
- Details: {{:records.security.ma_crim_d}}
- Important Notes: {{:records.security.notes}}
- {{else}}
-
- Security Record Lost!
-
- {{/if}}
-
-
+
- {{else mode == 46}}
-
Security Bot Control
- {{if records.beepsky.active == null || records.beepsky.active == 0}}
- {{if records.beepsky.count == 0}}
+
+
Functions
+
+
+
+ General:
+
+
+ {{:helper.link('Notekeeper', 'note', {'choice' : "1"}, null, 'fixedLeftWide')}}
+ {{:helper.link('Messenger', data.newMessage ? 'mail-closed' : 'mail-open', {'choice' : "2"}, null, 'fixedLeftWide')}}
+ {{:helper.link('Crew Manifest', 'contact', {'choice' : "41"}, null, 'fixedLeftWide')}}
+
+
+
+ {{if data.cartridge}}
+ {{if data.cartridge.access.access_clown == 1}}
+
+
+ Clown:
+
+
+ {{:helper.link('Honk Synthesizer', 'gear', {'choice' : "Honk"}, null, 'fixedLeftWide')}}
+
+
+
+ {{/if}}
+ {{if data.cartridge.access.access_engine == 1}}
+
+
+ Engineering:
+
+
+ {{:helper.link('Power Monitor', 'alert', {'choice' : "43"}, null, 'fixedLeftWide')}}
+
+
+
+ {{/if}}
+ {{if data.cartridge.access.access_medical == 1}}
+
+
+ Medical:
+
+
+ {{:helper.link('Medical Records', 'gear', {'choice' : "44"}, null, 'fixedLeftWide')}}
+ {{:helper.link(data.scanmode == 1 ? 'Disable Med Scanner' : 'Enable Med Scanner', 'gear', {'choice' : "Medical Scan"}, null , 'fixedLeftWide')}}
+
+
+
+ {{/if}}
+ {{if data.cartridge.access.access_security == 1}}
+
+
+ Security:
+
+
+ {{:helper.link('Security Records', 'gear', {'choice' : "45"}, null, 'fixedLeftWide')}}
+ {{if data.cartridge.radio ==1}} {{:helper.link('Security Bot Access', 'gear', {'choice' : "46"}, null, 'fixedLeftWide')}} {{/if}}
+
+
+
+
+ {{/if}}
+ {{if data.cartridge.access.access_quartermaster == 1}}
+
+
+ Quartermaster:
+
+
+ {{:helper.link('Supply Records', 'gear', {'choice' : "47"}, null, 'fixedLeftWide')}}
+ {{if data.cartridge.radio == 3}} {{:helper.link('Delivery Bot Control', 'gear', {'choice' : "48"}, null, 'fixedLeftWide')}} {{/if}}
+
+
+
+
+ {{/if}}
+ {{/if}}
+
+
+
+ Utilities:
+
+
+ {{if data.cartridge}}
+ {{if data.cartridge.access.access_status_display == 1}}
+ {{:helper.link('Status Display', 'gear', {'choice' : "42"}, null, 'fixedLeftWide')}}
+ {{/if}}
+ {{if data.cartridge.access.access_janitor==1}}
+ {{:helper.link('Custodial Locator', 'gear', {'choice' : "49"}, null, 'fixedLeftWide')}}
+ {{/if}}
+ {{if data.cartridge.radio == 2}}
+ {{:helper.link('Signaler System', 'gear', {'choice' : "40"}, null, 'fixedLeftWide')}}
+ {{/if}}
+ {{if data.cartridge.access.access_reagent_scanner==1}}
+ {{:helper.link(data.scanmode == 3 ? 'Disable Reagent Scanner' : 'Enable Reagent Scanner', 'gear', {'choice' : "Reagent Scan"}, null, 'fixedLeftWider')}}
+ {{/if}}
+ {{if data.cartridge.access.access_engine==1}}
+ {{:helper.link(data.scanmode == 4 ? 'Disable Halogen Counter' : 'Enable Halogen Counter', 'gear', {'choice' : "Halogen Counter"}, null, 'fixedLeftWider')}}
+ {{/if}}
+ {{if data.cartridge.access.access_atmos==1}}
+ {{:helper.link(data.scanmode == 5 ? 'Disable Gas Scanner' : 'Enable Gas Scanner', 'gear', {'choice' : "Gas Scan"}, null, 'fixedLeftWide')}}
+ {{/if}}
+ {{if data.cartridge.access.access_remote_door==1}}
+ {{:helper.link('Toggle Door', 'gear', {'choice' : "Toggle Door"}, null, 'fixedLeftWide')}}
+ {{/if}}
+ {{/if}}
+ {{:helper.link('Atmospheric Scan', 'gear', {'choice' : "3"}, null, 'fixedLeftWide')}}
+ {{:helper.link(data.fon==1 ? 'Disable Flashlight' : 'Enable Flashlight', 'lightbulb', {'choice' : "Light"}, null,'fixedLeftWide')}}
+
+
+ {{if data.pai}}
+
+
+ PAI Utilities:
+
+
+ {{:helper.link('Configuration', 'gear', {'choice' : "pai", 'option' : "1"}, null, 'fixedLeft')}}
+ {{:helper.link('Eject pAI', 'eject', {'choice' : "pai", 'option' : "2"}, null, 'fixedLeft')}}
+
+
+ {{/if}}
+
+
+ {{else data.mode == 1}}
+
+
+
+
+ {{:helper.link('Edit Notes', 'gear', {'choice' : "Edit"}, null, 'fixedLeft')}}
+
+
+
+
+ {{else data.mode == 2}}
+
SpaceMessenger V4.0.1
+
+
+ Messenger Functions:
+
+
+ {{:helper.link(data.silent==1 ? 'Ringer: Off' : 'Ringer: On', data.silent==1 ? 'volume-off' : 'volume-on', {'choice' : "Toggle Ringer"}, null, 'fixedLeftWide')}}
+ {{:helper.link(data.toff==1 ? 'Messenger: Off' : 'Messenger: On',data.toff==1 ? 'close':'check', {'choice' : "Toggle Messenger"}, null, 'fixedLeftWide')}}
+ {{:helper.link('Set Ringtone', 'comment', {'choice' : "Ringtone"}, null, 'fixedLeftWide')}}
+ {{:helper.link('Delete all Conversations', 'trash', {'choice' : "Clear", 'option' : "All"}, null, 'fixedLeftWider')}}
+
+
+ {{if data.toff == 0}}
+
+ {{if data.cartridge}}
+ {{if data.cartridge.charges}}
+
+ {{:data.cartridge.charges}}
+ {{if data.cartridge.type == "/obj/item/weapon/cartridge/syndicate"}} detonation charges left. {{/if}}
+ {{if data.cartridge.type == "/obj/item/weapon/cartridge/clown" || data.cartridge.type == "/obj/item/weapon/cartridge/mime"}} viral files left. {{/if}}
+
+
+
+ {{/if}}
+ {{/if}}
+
+ {{if data.pda_count == 0}}
+
No other PDAS located
+ {{else}}
+
Current Conversations
+ {{for data.convopdas}}
+
+ {{:helper.link(value.Name, 'circle-arrow-s', {'choice' : "Select Conversation", 'convo' : value.Reference } , null, value.fixedLeftWider)}}
+ {{if value.cartridge}}
+ {{if value.cartridge.type == "/obj/item/weapon/cartridge/syndicate" && value.Detonate == 1}}
+ {{:helper.link('*Detonate*', 'radiation', {'choice' : "Detonate", 'target' : value.Reference}, null, 'fixedLeft')}}
+ {{/if}}
+ {{if value.cartridge.type == "/obj/item/weapon/cartridge/clown"}}
+ {{:helper.link('*Send Virus*', 'star', {'choice' : "Send Honk", 'target' : value.Reference}, null, 'fixedLeft')}}
+ {{/if}}
+ {{if value.cartridge.type == "/obj/item/weapon/cartridge/mime"}}
+ {{:helper.link('*Send Virus*', 'circle-arrow-s', {'choice' : "Send Silence", 'target' : value.Reference}, null, 'fixedLeft')}}
+ {{/if}}
+ {{/if}}
+
+ {{/for}}
+
Other PDAs
+ {{for data.pdas}}
+
+ {{:helper.link(value.Name, 'circle-arrow-s', {'choice' : "Message", 'target' : value.Reference}, null, value.fixedLeftWider)}}
+ {{if value.cartridge}}
+ {{if value.cartridge.type == "/obj/item/weapon/cartridge/syndicate" && value.Detonate == 1}} {{:helper.link('*Detonate*', 'radiation', {'choice' : "Detonate", 'target' : value.Reference}, null, 'fixedLeft')}} {{/if}}
+ {{if value.cartridge.type == "/obj/item/weapon/cartridge/clown"}} {{:helper.link('*Send Virus*', 'star', {'choice' : "Send Honk", 'target' : value.Reference}, null, 'fixedLeft')}} {{/if}}
+ {{if value.cartridge.type == "/obj/item/weapon/cartridge/mime"}} {{:helper.link('*Send Virus*', 'circle-arrow-s', {'choice' : "Send Silence", 'target' : value.Reference}, null, 'fixedLeft')}} {{/if}}
+ {{/if}}
+
+ {{/for}}
+ {{/if}}
+ {{/if}}
+
+
+ {{else data.mode == 21}}
+
SpaceMessenger V4.0.1
+
+
+ Messenger Functions:
+
+
+ {{:helper.link('Delete Conversation', 'trash', {'choice' : "Clear", 'option' : "Convo"}, null, 'fixedLeftWide')}}
+
+
+
+
+
Conversation with: {{:data.convo_name}} ({{:data.convo_job}})
+
+
+
+ {{for data.messages}}
+ {{if data.active_conversation == value.target}}
+ {{if value.sent==0}}
+ Them: {{:value.message}}
+ {{else}}
+ You: {{:value.message}}
+ {{/if}}
+ {{/if}}
+ {{/for}}
+
+
+
+ {{:helper.link('Reply', 'comment', {'choice' : "Message", 'target': data.active_conversation}, null, 'fixedLeft')}}
+
+
+ {{else data.mode== 41}}
+
+
+ {{if data.manifest.heads}}
+ | Command |
+ {{for data.manifest["heads"]}}
+ {{if value.rank == "Captain"}}
+ | {{:value.name}} | {{:value.rank}} | {{:value.active}} |
+ {{else}}
+ | {{:value.name}} | {{:value.rank}} | {{:value.active}} |
+ {{/if}}
+ {{/for}}
+ {{/if}}
+ {{if data.manifest.sec}}
+ | Security |
+ {{for data.manifest["sec"]}}
+ {{if value.rank == "Head of Security"}}
+ | {{:value.name}} | {{:value.rank}} | {{:value.active}} |
+ {{else}}
+ | {{:value.name}} | {{:value.rank}} | {{:value.active}} |
+ {{/if}}
+ {{/for}}
+ {{/if}}
+ {{if data.manifest.eng}}
+ | Engineering |
+ {{for data.manifest["eng"]}}
+ {{if value.rank == "Chief Engineer"}}
+ | {{:value.name}} | {{:value.rank}} | {{:value.active}} |
+ {{else}}
+ | {{:value.name}} | {{:value.rank}} | {{:value.active}} |
+ {{/if}}
+ {{/for}}
+ {{/if}}
+ {{if data.manifest.med}}
+ | Medical |
+ {{for data.manifest["med"]}}
+ {{if value.rank == "Chief Medical Officer"}}
+ | {{:value.name}} | {{:value.rank}} | {{:value.active}} |
+ {{else}}
+ | {{:value.name}} | {{:value.rank}} | {{:value.active}} |
+ {{/if}}
+ {{/for}}
+ {{/if}}
+ {{if data.manifest.sci}}
+ | Science |
+ {{for data.manifest["sci"]}}
+ {{if value.rank == "Research Director"}}
+ | {{:value.name}} | {{:value.rank}} | {{:value.active}} |
+ {{else}}
+ | {{:value.name}} | {{:value.rank}} | {{:value.active}} |
+ {{/if}}
+ {{/for}}
+ {{/if}}
+ {{if data.manifest.civ}}
+ | Civilian |
+ {{for data.manifest["civ"]}}
+ {{if value.rank == "Head of Personnel"}}
+ | {{:value.name}} | {{:value.rank}} | {{:value.active}} |
+ {{else}}
+ | {{:value.name}} | {{:value.rank}} | {{:value.active}} |
+ {{/if}}
+ {{/for}}
+ {{/if}}
+ {{if data.manifest.misc}}
+ | Misc |
+ {{for data.manifest["misc"]}}
+ | {{:value.name}} | {{:value.rank}} | {{:value.active}} |
+ {{/for}}
+ {{/if}}
+
+
+
+
+ {{else data.mode == 3}}
+
Atmospheric Scan
+
+
+ {{if data.aircontents.reading == 1}}
+
+ Pressure:
+
+
+ {{:helper.string('{1} kPa', data.aircontents.pressure < 80 || data.aircontents.pressure > 120 ? 'bad' : data.aircontents.pressure < 95 || data.aircontents.pressure > 110 ? 'average' : 'good' , data.aircontents.pressure)}}
+
+
+ Temperature:
+
+
+ {{:helper.string('{1} °C', data.aircontents.temp < 5 || data.aircontents.temp > 35 ? 'bad' : data.aircontents.temp < 15 || data.aircontents.temp > 25 ? 'average' : 'good' , data.aircontents.temp)}}
+
+
+
+ Oxygen:
+
+
+ {{:helper.string('{1}%', data.aircontents.oxygen < 17 ? 'bad' : data.aircontents.oxygen < 19 ? 'average' : 'good' , data.aircontents.oxygen)}}
+
+
+ Nitrogen:
+
+
+ {{:helper.string('{1}%', data.aircontents.nitrogen > 82 ? 'bad' : data.aircontents.nitrogen > 80 ? 'average' : 'good' , data.aircontents.nitrogen)}}
+
+
+ Carbon Dioxide:
+
+
+ {{:helper.string('{1}%', data.aircontents.carbon_dioxide > 5 ? 'bad' : 'good' , data.aircontents.carbon_dioxide)}}
+
+
+ Plasma:
+
+
+ {{:helper.string('{1}%', data.aircontents.plasma > 0 ? 'bad' : 'good' , data.aircontents.plasma)}}
+
+
+ {{if data.aircontents.other > 0}}
+
+ Unknown:
+
+
+ {{:data.aircontents.other}}%
+
+ {{/if}}
+ {{else}}
+
+ Unable to get air reading
+
+ {{/if}}
+
+
+
+
+ {{else data.mode == 40}}
+
Remote Signaling System
+
+
+ Frequency:
+
+
+ {{:data.records.signal_freq}}
+
+
+ {{:helper.link('-1', null, {'cartmenu' : "1", 'choice' : "Signal Frequency", 'sfreq' : "-10"}, null, null)}}
+ {{:helper.link('-.2', null, {'cartmenu' : "1", 'choice' : "Signal Frequency", 'sfreq' : "-2"}, null, null)}}
+
+ {{:helper.link('+.2', null, {'cartmenu' : "1", 'choice' : "Signal Frequency", 'sfreq' : "2"}, null, null)}}
+ {{:helper.link('+1', null, {'cartmenu' : "1", 'choice' : "Signal Frequency", 'sfreq' : "10"}, null, null)}}
+
+
+
+
+
+
+ Code:
+
+
+
+ {{:data.records.signal_code}}
+
+ {{:helper.link('-5', null, {'cartmenu' : "1", 'choice' : "Signal Code", 'scode' : "-5"}, null, null)}}
+ {{:helper.link('-1', null, {'cartmenu' : "1", 'choice' : "Signal Code", 'scode' : "-1"}, null, null)}}
+ {{:helper.link('+1', null, {'cartmenu' : "1", 'choice' : "Signal Code", 'scode' : "1"}, null, null)}}
+ {{:helper.link('+5', null, {'cartmenu' : "1", 'choice' : "Signal Code", 'scode' : "5"}, null, null)}}
+
+
+
+ {{:helper.link('Send Signal', 'radiation', {'cartmenu' : "1", 'choice' : "Send Signal"}, null, null)}}
+
+
+
+ {{else data.mode == 42}}
+
Station Status Displays Interlink
+
+
+ Code:
+
+
+ {{:helper.link('Clear', 'trash', {'cartmenu' : "1", 'choice' : "Status", 'statdisp' : "blank"}, null, null)}}
+ {{:helper.link('Shuttle ETA', 'gear', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "shuttle"}, null, null)}}
+ {{:helper.link('Message', 'gear', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "message"}, null, null)}}
+
+
+
+
+
+ Message line 1
+
+
+ {{:helper.link(data.records.message1 + ' (set)', 'pencil', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "setmsg1"}, null, null)}}
+
+
+
+
+ Message line 2
+
+
+ {{:helper.link(data.records.message2 + ' (set)', 'pencil', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "setmsg2"}, null, null)}}
+
+
+
+
+
+
+ ALERT!:
+
+
+ {{:helper.link('None', 'alert', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "alert", 'alert' : "default"}, null, null)}}
+ {{:helper.link('Red Alert', 'alert', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "alert", 'alert' : "redalert"}, null, null)}}
+ {{:helper.link('Lockdown', 'caution', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "alert", 'alert' : "lockdown"}, null, null)}}
+ {{:helper.link('Biohazard', 'radiation', {'cartmenu' : "1", 'choice' : "Status",'statdisp' : "alert", 'alert' : "biohazard"}, null, null)}}
+
+
+
+
+ {{else data.mode == 43}}
+
Station Powermonitors
+
+ Select A power monitor:
+
+ {{for data.records.powermonitors}}
+
+ {{:helper.link(value.Name, 'radiation', {'cartmenu' : "1", 'choice' : "Power Select",'target' : value.ref}, null, null)}}
+
+ {{/for}}
+
+
+ {{else data.mode == 433}}
+
Powernet Status
+
+
+ Current Load:
+
+
+ {{:data.records.powerload}} W
+
+
+
+
+ Total Power:
+
+
+ {{:data.records.poweravail}} W
+
+
+
+
+
+ {{for data.records.apcs}}
+ {{if index % 20 === 0}}
+ | Area | Eqp. | Lgt. | Env | Cell |
+ {{/if}}
+ | {{:value.Name}} |
+ {{:helper.string(' | ', value.Equipment==1 ? '#4f7529' : '#8f1414')}}
+ {{:helper.string(' | ', value.Lights==1 ? '#4f7529' : '#8f1414')}}
+ {{:helper.string(' | ', value.Environment==1 ? '#4f7529' : '#8f1414')}}
+ {{:helper.string('{1} | ', value.CellStatus==1 ? '#4f7529' : '#8f1414', value.CellStatus==-1 ? 'No Cell' : CellPct + '%')}}
+
+ {{/for}}
+
+
+
+
+ {{else data.mode == 44}}
+
Medical Record List
+
+ Select A record
+
+
+ {{for data.records.medical_records}}
+
+ {{:helper.link(value.Name, 'gear', {'cartmenu' : "1", 'choice' : "Medical Records",'target' : value.ref}, null, null)}}
+
+ {{/for}}
+
+
+ {{else data.mode == 441}}
+
Medical Record
+
+
+
+ {{if data.records.general_exists == 1}}
+ Name: {{:data.records.general.name}}
+ Sex: {{:data.records.general.sex}}
+ Species: {{:data.records.general.species}}
+ Age: {{:data.records.general.age}}
+ Rank: {{:data.records.general.rank}}
+ Fingerprint: {{:data.records.general.fingerprint}}
+ Physical Status: {{:data.records.general.p_stat}}
+ Mental Status: {{:data.records.general.m_stat}}
+ {{else}}
+
+ General Record Lost!
+
+ {{/if}}
+ {{if data.records.medical_exists == 1}}
+ Medical Data:
+ Blood Type: {{:data.records.medical.b_type}}
+ Minor Disabilities: {{:data.records.medical.mi_dis}}
+ Details: {{:data.records.medical.mi_dis_d}}
+ Major Disabilities: {{:data.records.medical.ma_dis}}
+ Details: {{:data.records.medical.ma_dis_d}}
+ Allergies: {{:data.records.medical.alg}}
+ Details: {{:data.records.medical.alg_d}}
+ Current Disease: {{:data.records.medical.cdi}}
+ Details: {{:data.records.medical.alg_d}}
+ Important Notes: {{:data.records.medical.notes}}
+ {{else}}
+
+ Medical Record Lost!
+
+
+
+ {{/if}}
+
+
+
+
+
+ {{else data.mode == 45}}
+
Security Record List
+
+ Select A record
+
+
+ {{for data.records.security_records}}
+
+ {{:helper.link(value.Name, 'gear', {'cartmenu' : "1", 'choice' : "Security Records",'target' : value.ref}, null, null)}}
+
+ {{/for}}
+
+
+ {{else data.mode == 451}}
+
Security Record
+
+
+
+ {{if data.records.general_exists == 1}}
+ Name: {{:data.records.general.name}}
+ Sex: {{:data.records.general.sex}}
+ Species: {{:data.records.general.species}}
+ Age: {{:data.records.general.age}}
+ Rank: {{:data.records.general.rank}}
+ Fingerprint: {{:data.records.general.fingerprint}}
+ Physical Status: {{:data.records.general.p_stat}}
+ Mental Status: {{:data.records.general.m_stat}}
+ {{else}}
+
+ General Record Lost!
+
+ {{/if}}
+ {{if data.records.security_exists == 1}}
+ Security Data:
+ Criminal Status: {{:data.records.security.criminal}}
+ Minor Crimes: {{:data.records.security.mi_crim}}
+ Details: {{:data.records.security.mi_crim_d}}
+ Major Crimes: {{:data.records.security.ma_crim}}
+ Details: {{:data.records.security.ma_crim_d}}
+ Important Notes: {{:data.records.security.notes}}
+ {{else}}
+
+ Security Record Lost!
+
+ {{/if}}
+
+
+
+
+
+ {{else data.mode == 46}}
+
Security Bot Control
+ {{if data.records.beepsky.active == null || data.records.beepsky.active == 0}}
+ {{if data.records.beepsky.count == 0}}
No bots found.
{{else}}
-
+
Select A Bot.
-
-
- {{for records.beepsky.bots}}
+
+
+ {{for data.records.beepsky.bots}}
- {{:~link(Name, 'gear', {'radiomenu' : "1", 'op' : "control",'bot' : ref}, null, null)}} (Location: {{:Location}})
+ {{:helper.link(value.Name, 'gear', {'radiomenu' : "1", 'op' : "control",'bot' : value.ref}, null, null)}} (Location: {{:value.Location}})
- {{/for}}
+ {{/for}}
{{/if}}
- {{:~link('Scan for Bots','gear', {'radiomenu' : "1", 'op' : "scanbots"}, null, null)}}
-
+ {{:helper.link('Scan for Bots','gear', {'radiomenu' : "1", 'op' : "scanbots"}, null, null)}}
{{else}}
-
{{:records.beepsky.active}}
+
{{:data.records.beepsky.active}}
- {{if records.beepsky.botstatus.mode == -1}}
-
Waiting for response...
+ {{if data.records.beepsky.botstatus.mode == -1}}
+
Waiting for response...
{{else}}
-
Status:
-
-
-
- Location:
-
-
- {{:records.beepsky.botstatus.loca}}
-
-
-
-
- Mode:
-
-
-
- {{if records.beepsky.botstatus.mode ==0}} Ready
- {{else records.beepsky.botstatus.mode == 1}}
- Apprehending target
- {{else records.beepsky.botstatus.mode ==2 || records.beepsky.botstatus.mode == 3}}
- Arresting target
- {{else records.beepsky.botstatus.mode ==4}}
- Starting patrol
- {{else records.beepsky.botstatus.mode ==5}}
- On Patrol
- {{else records.beepsky.botstatus.mode ==6}}
- Responding to summons
- {{/if}}
-
-
-
-
- {{:~link('Stop Patrol', 'gear', {'radiomenu' : "1", 'op' : "stop"}, null, null)}}
- {{:~link('Start Patrol', 'gear', {'radiomenu' : "1", 'op' : "go"}, null, null)}}
- {{:~link('Summon Bot', 'gear', {'radiomenu' : "1", 'op' : "summon"}, null, null)}}
-
- {{/if}}
- {{:~link('Return to Bot list', 'gear', {'radiomenu' : "1", 'op' : "botlist"}, null, null)}}
+
Status:
+
+
+
+ Location:
+
+
+ {{:data.records.beepsky.botstatus.loca}}
+
+
+
+
+ Mode:
+
+
+
+ {{if data.records.beepsky.botstatus.mode ==0}}
+ Ready
+ {{else data.records.beepsky.botstatus.mode == 1}}
+ Apprehending target
+ {{else data.records.beepsky.botstatus.mode ==2 || data.records.beepsky.botstatus.mode == 3}}
+ Arresting target
+ {{else data.records.beepsky.botstatus.mode ==4}}
+ Starting patrol
+ {{else data.records.beepsky.botstatus.mode ==5}}
+ On Patrol
+ {{else data.records.beepsky.botstatus.mode ==6}}
+ Responding to summons
+ {{/if}}
+
+
+
+
+ {{:helper.link('Stop Patrol', 'gear', {'radiomenu' : "1", 'op' : "stop"}, null, null)}}
+ {{:helper.link('Start Patrol', 'gear', {'radiomenu' : "1", 'op' : "go"}, null, null)}}
+ {{:helper.link('Summon Bot', 'gear', {'radiomenu' : "1", 'op' : "summon"}, null, null)}}
+
+ {{/if}}
+ {{:helper.link('Return to Bot list', 'gear', {'radiomenu' : "1", 'op' : "botlist"}, null, null)}}
{{/if}}
- {{else mode == 47}}
+
+
+ {{else data.mode == 47}}
Supply Record Interlink
-
+
Location:
- {{if records.supply.shuttle_moving}}
- Moving to station ({{:records.supply.shuttle_eta}})
+ {{if data.records.supply.shuttle_moving}}
+ Moving to station ({{:data.records.supply.shuttle_eta}})
{{else}}
- Shuttle at {{:records.supply.shuttle_loc}}
+ Shuttle at {{:data.records.supply.shuttle_loc}}
{{/if}}
-
-
-
-
Current Approved Orders
- {{if records.supply.approved_count == 0}}
-
No current approved orders
- {{else}}
- {{for records.supply.approved}}
-
#{{:Number}} - {{:Name}} approved by {{:OrderedBy}}
{{if Comment != ""}} {{:Comment}}
{{/if}}
- {{/for}}
- {{/if}}
-
-
Current Requested Orders
- {{if records.supply.requests_count == 0}}
-
No current requested orders
- {{else}}
- {{for records.supply.requests}}
-
#{{:Number}} - {{:Name}} requested by {{:OrderedBy}}
{{if Comment != ""}} {{:Comment}}
{{/if}}
- {{/for}}
- {{/if}}
+
+
+
+ Current Approved Orders
+ {{if data.records.supply.approved_count == 0}}
+ No current approved orders
+ {{else}}
+ {{for data.records.supply.approved}}
+ #{{:value.Number}} - {{:value.Name}} approved by {{:value.OrderedBy}}
{{if value.Comment != ""}} {{:value.Comment}}
{{/if}}
+ {{/for}}
+ {{/if}}
+
+ Current Requested Orders
+ {{if data.records.supply.requests_count == 0}}
+ No current requested orders
+ {{else}}
+ {{for data.records.supply.requests}}
+ #{{:value.Number}} - {{:value.Name}} requested by {{:value.OrderedBy}}
{{if value.Comment != ""}} {{:value.Comment}}
{{/if}}
+ {{/for}}
+ {{/if}}
-
- {{else mode == 48}}
+
+
+ {{else data.mode == 48}}
Mule Control
- {{if records.mulebot.active == null || records.mulebot.active == 0}}
- {{if records.mulebot.count == 0}}
-
No bots found.
-
- {{else}}
-
Mule List
-
- Select A Mulebot
-
-
- {{for records.mulebot.bots}}
-
- {{:~link(Name, 'gear', {'radiomenu' : "1", 'op' : "control",'bot' : ref}, null, null)}} (Location: {{:Location}})
-
- {{/for}}
- {{/if}}
-
- {{:~link('Scan for Bots','gear', {'radiomenu' : "1", 'op' : "scanbots"}, null, null)}}
- {{else}}
- {{if records.mulebot.botstatus.mode == -1}}
-
Waiting for response...
- {{else}}
-
Status:
-
-
-
- Location:
-
-
- {{:records.mulebot.botstatus.loca}}
-
-
-
-
- Mode:
-
-
-
- {{if records.mulebot.botstatus.mode ==0}} Ready
- {{else records.mulebot.botstatus.mode == 1}}
- Loading/Unloading
- {{else records.mulebot.botstatus.mode ==2}}
- Navigating to Delivery Location
- {{else records.mulebot.botstatus.mode == 3}}
- Navigating to Home
- {{else records.mulebot.botstatus.mode ==4}}
- Waiting for Clear Path
- {{else records.mulebot.botstatus.mode ==5 || records.mulebot.botstatus.mode == 6}}
- Calculating navigation Path
-
- {{else records.mulebot.botstatus.mode ==7}}
- Unable to locate destination
- {{/if}}
-
-
-
-
-
- Current Load:
-
-
-
- {{:~link(records.mulebot.botstatus.load == null ? 'None (Unload)' : records.mulebot.botstatus.load + ' (Unload)', 'gear', {'radiomenu' : "1", 'op' : "unload"},records.mulebot.botstatus.load == null ? 'disabled' : null, null)}}
-
-
-
-
-
- Power:
-
-
-
- {{:records.mulebot.botstatus.powr}}%
-
-
-
-
-
-
- Destination:
-
-
- {{:~link(records.mulebot.botstatus.dest == null || records.mulebot.botstatus.dest == "" ? 'None (Set)': records.mulebot.botstatus.dest+ ' (Set)', 'gear', {'radiomenu' : "1", 'op' : "setdest"}, null, null)}}
-
-
-
-
-
- Home:
-
-
- {{if records.mulebot.botstatus.home == null}} None {{else}} {{:records.mulebot.botstatus.home}} {{/if}}
-
-
-
-
- Auto Return:
-
-
- {{:~link(records.mulebot.botstatus.retn == 1 ? 'ON' : 'OFF', 'gear', {'radiomenu' : "1", 'op' : records.mulebot.botstatus.retn==1 ? "retoff" : "reton"}, null, null)}}
-
-
-
-
- Auto Pickup:
-
-
- {{:~link(records.mulebot.botstatus.pick==1? 'ON' : 'OFF', 'gear', {'radiomenu' : "1", 'op' : records.mulebot.botstatus.pick==1 ? "pickoff" : "pickon"}, null, null)}}
-
-
-
-
- Functions:
-
-
- {{:~link('Stop', 'gear', {'radiomenu' : "1", 'op' : "stop"}, null, null)}}
- {{:~link('Proceed', 'gear', {'radiomenu' : "1", 'op' : "go"}, null, null)}}
- {{:~link('Return Home', 'gear', {'radiomenu' : "1", 'op' : "home"}, null, null)}}
-
-
-
- {{:~link('Return to Bot list', 'gear', {'radiomenu' : "1", 'op' : "botlist"}, null, null)}}
-
-
- {{/if}}
- {{/if}}
-
-
-
- {{else mode == 49}}
-
Janatorial Supplies Locator
-
- Current Location:
- {{if records.janitor.user_loc.x == 0}}
- Unknown
- {{else}}
- {{:records.janitor.user_loc.x}} / {{:records.janitor.user_loc.y}}
- {{/if}}
-
-
- {{for records.janitor.mops}}
- {{if x==0}}
-
Unable to locate Mop
- {{else}}
-
Mop Location:
-
({{:x}} / {{:y}}) - {{:dir}} - Status: {{:status}}
- {{/if}}
+ {{if data.records.mulebot.active == null || data.records.mulebot.active == 0}}
+ {{if data.records.mulebot.count == 0}}
+
No bots found.
+ {{else}}
+
Mule List
+
+ Select A Mulebot
+
+
+ {{for data.records.mulebot.bots}}
+
+ {{:helper.link(value.Name, 'gear', {'radiomenu' : "1", 'op' : "control",'bot' : value.ref}, null, null)}} (Location: {{:value.Location}})
+
{{/for}}
-
-
- {{for records.janitor.buckets}}
- {{if x==0}}
- Unable to locate Water Buckets
- {{else}}
- Water Buckets Location:
- ({{:x}} / {{:y}}) - {{:dir}} - Water Level: {{:status}}
- {{/if}}
- {{/for}}
-
-
- {{for records.janitor.cleanbots}}
- {{if x==0}}
- Unable to locate Clean Bots
- {{else}}
- Clean Bots Location:
- ({{:x}} / {{:y}}) - {{:dir}} - Status: {{:status}}
- {{/if}}
-
- {{/for}}
-
-
- {{for records.janitor.carts}}
- {{if x==0}}
- Unable to locate Janitorial Cart
- {{else}}
- Janitorial cart Location:
- ({{:x}} / {{:y}}) - {{:dir}} - Status: {{:status}}
- {{/if}}
-
- {{/for}}
-
-
-
-
-
+ {{/if}}
+
+ {{:helper.link('Scan for Bots','gear', {'radiomenu' : "1", 'op' : "scanbots"}, null, null)}}
+ {{else}}
+ {{if data.records.mulebot.botstatus.mode == -1}}
+
Waiting for response...
+ {{else}}
+
Status:
+
+
+
+ Location:
+
+
+ {{:data.records.mulebot.botstatus.loca}}
+
+
+
+
+ Mode:
+
+
+
+ {{if data.records.mulebot.botstatus.mode ==0}}
+ Ready
+ {{else data.records.mulebot.botstatus.mode == 1}}
+ Loading/Unloading
+ {{else data.records.mulebot.botstatus.mode ==2}}
+ Navigating to Delivery Location
+ {{else data.records.mulebot.botstatus.mode == 3}}
+ Navigating to Home
+ {{else data.records.mulebot.botstatus.mode ==4}}
+ Waiting for Clear Path
+ {{else data.records.mulebot.botstatus.mode ==5 || data.records.mulebot.botstatus.mode == 6}}
+ Calculating navigation Path
+ {{else data.records.mulebot.botstatus.mode ==7}}
+ Unable to locate destination
+ {{/if}}
+
+
+
+
+
+ Current Load:
+
+
+
+ {{:helper.link(data.records.mulebot.botstatus.load == null ? 'None (Unload)' : data.records.mulebot.botstatus.load + ' (Unload)', 'gear', {'radiomenu' : "1", 'op' : "unload"},data.records.mulebot.botstatus.load == null ? 'disabled' : null, null)}}
+
+
+
+
+
+ Power:
+
+
+
+ {{:data.records.mulebot.botstatus.powr}}%
+
+
+
+
+
+ Destination:
+
+
+ {{:helper.link(data.records.mulebot.botstatus.dest == null || data.records.mulebot.botstatus.dest == "" ? 'None (Set)': data.records.mulebot.botstatus.dest+ ' (Set)', 'gear', {'radiomenu' : "1", 'op' : "setdest"}, null, null)}}
+
+
+
+
+ Home:
+
+
+ {{if data.records.mulebot.botstatus.home == null}} None {{else}} {{:data.records.mulebot.botstatus.home}} {{/if}}
+
+
+
+
+ Auto Return:
+
+
+ {{:helper.link(data.records.mulebot.botstatus.retn == 1 ? 'ON' : 'OFF', 'gear', {'radiomenu' : "1", 'op' : data.records.mulebot.botstatus.retn==1 ? "retoff" : "reton"}, null, null)}}
+
+
+
+
+ Auto Pickup:
+
+
+ {{:helper.link(data.records.mulebot.botstatus.pick==1? 'ON' : 'OFF', 'gear', {'radiomenu' : "1", 'op' : data.records.mulebot.botstatus.pick==1 ? "pickoff" : "pickon"}, null, null)}}
+
+
+
+
+ Functions:
+
+
+ {{:helper.link('Stop', 'gear', {'radiomenu' : "1", 'op' : "stop"}, null, null)}}
+ {{:helper.link('Proceed', 'gear', {'radiomenu' : "1", 'op' : "go"}, null, null)}}
+ {{:helper.link('Return Home', 'gear', {'radiomenu' : "1", 'op' : "home"}, null, null)}}
+
+
+
+ {{:helper.link('Return to Bot list', 'gear', {'radiomenu' : "1", 'op' : "botlist"}, null, null)}}
+ {{/if}}
{{/if}}
+ {{else data.mode == 49}}
+
Janatorial Supplies Locator
+
+ Current Location:
+ {{if data.records.janitor.user_loc.x == 0}}
+ Unknown
+ {{else}}
+ {{:data.records.janitor.user_loc.x}} / {{:data.records.janitor.user_loc.y}}
+ {{/if}}
+
+
+ {{for data.records.janitor.mops}}
+ {{if value.x==0}}
+ Unable to locate Mop
+ {{else}}
+ Mop Location:
+ ({{:value.x}} / {{:value.y}}) - {{:value.dir}} - Status: {{:value.status}}
+ {{/if}}
+ {{/for}}
+
+
+ {{for data.records.janitor.buckets}}
+ {{if value.x==0}}
+ Unable to locate Water Buckets
+ {{else}}
+ Water Buckets Location:
+ ({{:value.x}} / {{:value.y}}) - {{:value.dir}} - Water Level: {{:value.status}}
+ {{/if}}
+ {{/for}}
+
+
+ {{for data.records.janitor.cleanbots}}
+ {{if value.x==0}}
+ Unable to locate Clean Bots
+ {{else}}
+ Clean Bots Location:
+ ({{:value.x}} / {{:value.y}}) - {{:value.dir}} - Status: {{:value.status}}
+ {{/if}}
+ {{/for}}
+
+
+ {{for data.records.janitor.carts}}
+ {{if value.x==0}}
+ Unable to locate Janitorial Cart
+ {{else}}
+ Janitorial cart Location:
+ ({{:value.x}} / {{:value.y}}) - {{:value.dir}} - Status: {{:value.status}}
+ {{/if}}
+ {{/for}}
+
+ {{/if}}
{{else}}
-
No Owner information found, please swipe ID
-
+
+
No Owner information found, please swipe ID
+
{{/if}}
diff --git a/nano/templates/smes.tmpl b/nano/templates/smes.tmpl
index 760228e4cd5..04b93b41480 100644
--- a/nano/templates/smes.tmpl
+++ b/nano/templates/smes.tmpl
@@ -3,9 +3,9 @@
Stored Capacity:
- {{:~displayBar(storedCapacity, 0, 100, charging ? 'good' : 'average')}}
+ {{:helper.displayBar(data.storedCapacity, 0, 100, data.charging ? 'good' : 'average')}}
- {{:~round(storedCapacity)}}%
+ {{:helper.round(data.storedCapacity)}}%
@@ -16,9 +16,9 @@
Charge Mode:
- {{:~link('Auto', 'refresh', {'cmode' : 1}, chargeMode ? 'selected' : null)}}{{:~link('Off', 'close', {'cmode' : 1}, chargeMode ? null : 'selected')}}
+ {{:helper.link('Auto', 'refresh', {'cmode' : 1}, data.chargeMode ? 'selected' : null)}}{{:helper.link('Off', 'close', {'cmode' : 1}, data.chargeMode ? null : 'selected')}}
- {{if charging}}
+ {{if data.charging}}
[Charging]
{{else}}
[Not Charging]
@@ -31,12 +31,12 @@
Input Level:
- {{:~displayBar(chargeLevel, 0, chargeMax)}}
+ {{:helper.displayBar(data.chargeLevel, 0, data.chargeMax)}}
- {{:~link('MIN', null, {'input' : 'min'}, (chargeLevel > 0) ? null : 'disabled')}}
- {{:~link('SET', null, {'input' : 'set'}, null)}}
- {{:~link('MAX', null, {'input' : 'max'}, (chargeLevel < chargeMax) ? null : 'disabled')}}
-
{{:chargeLevel}} W
+ {{:helper.link('MIN', null, {'input' : 'min'}, (data.chargeLevel > 0) ? null : 'disabled')}}
+ {{:helper.link('SET', null, {'input' : 'set'}, null)}}
+ {{:helper.link('MAX', null, {'input' : 'max'}, (data.chargeLevel < data.chargeMax) ? null : 'disabled')}}
+
{{:data.chargeLevel}} W
@@ -47,7 +47,7 @@
Output Status:
- {{:~link('Online', 'power', {'online' : 1}, outputOnline ? 'selected' : null)}}{{:~link('Offline', 'close', {'online' : 1}, outputOnline ? null : 'selected')}}
+ {{:helper.link('Online', 'power', {'online' : 1}, data.outputOnline ? 'selected' : null)}}{{:helper.link('Offline', 'close', {'online' : 1}, data.outputOnline ? null : 'selected')}}