citadelification

This commit is contained in:
Artur
2020-01-15 09:49:18 +02:00
parent 5c9b59aa74
commit 2208aa0f09
43 changed files with 624 additions and 890 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,27 +0,0 @@
<ui-display title='Acclimator'>
<ui-section>
<span> Current Temperature - {{data.chem_temp}} </span> <br/>
<span> Target Temperature - </span> <ui-button action='set_target_temperature'>{{data.target_temperature}}</ui-button> <br/>
<span> Acceptable Temperature Difference - </span> <ui-button action='set_allowed_temperature_difference'>{{data.allowed_temperature_difference}}</ui-button>
</ui-section>
</ui-display>
<ui-display title='Status'>
<ui-section>
<span> Maximum Volume - <ui-button action='change_volume'>{{data.max_volume}}</ui-button> <ui-button action='reset_volume'>Reset</ui-button></span>
<span> Current Operation - {{data.acclimate_state}} </span> <br/>
<span> Current status: {{data.emptying ? "Emptying" : "Filling"}} </span>
{{#if data.enabled}}
<ui-button state='selected' action='turn_on'>On</ui-button>
<ui-button action='turn_off'>Off</ui-button>
{{else}}
<ui-button action='turn_on'>On</ui-button>
<ui-button state='selected' action='turn_off'>Off</ui-button>
{{/if}}
</ui-section>
</ui-display>

View File

@@ -26,4 +26,20 @@
<ui-button icon='{{data.unres_direction & 4 ? "check-square-o" : "square-o"}}' style='{{data.unres_direction & 4 ? "selected" : null}}' action='direc_set' params='{"unres_direction": "4"}'>East</ui-button> <ui-button icon='{{data.unres_direction & 4 ? "check-square-o" : "square-o"}}' style='{{data.unres_direction & 4 ? "selected" : null}}' action='direc_set' params='{"unres_direction": "4"}'>East</ui-button>
<ui-button icon='{{data.unres_direction & 2 ? "check-square-o" : "square-o"}}' style='{{data.unres_direction & 2 ? "selected" : null}}' action='direc_set' params='{"unres_direction": "2"}'>South</ui-button> <ui-button icon='{{data.unres_direction & 2 ? "check-square-o" : "square-o"}}' style='{{data.unres_direction & 2 ? "selected" : null}}' action='direc_set' params='{"unres_direction": "2"}'>South</ui-button>
<ui-button icon='{{data.unres_direction & 8 ? "check-square-o" : "square-o"}}' style='{{data.unres_direction & 8 ? "selected" : null}}' action='direc_set' params='{"unres_direction": "8"}'>West</ui-button> <ui-button icon='{{data.unres_direction & 8 ? "check-square-o" : "square-o"}}' style='{{data.unres_direction & 8 ? "selected" : null}}' action='direc_set' params='{"unres_direction": "8"}'>West</ui-button>
</ui-display> </ui-display>
<style>
table {
width: 100%;
border-spacing: 2px;
}
th {
text-align: left;
}
td {
vertical-align: top;
}
td .button {
margin-top: 4px
}
</style>

View File

@@ -1,10 +0,0 @@
&.airlock_electronics
table
width: 100%
border-spacing: 2px
th
text-align: left
td
vertical-align: top
.button
margin-top: 4px

View File

@@ -27,7 +27,7 @@
{{data.inputting ? "Injecting": "Off"}}</ui-button> {{data.inputting ? "Injecting": "Off"}}</ui-button>
</ui-section> </ui-section>
<ui-section label='Input Rate'> <ui-section label='Input Rate'>
<ui-button icon='pencil' action='rate'>{{Math.round(adata.inputRate)}} L/s</ui-button> <span>{{Math.fixed(adata.inputRate)}} L/s</span>
</ui-section> </ui-section>
<ui-section label='Output Regulator'> <ui-section label='Output Regulator'>
<ui-button icon='{{data.outputting ? "power-off" : "close"}}' style='{{data.outputting ? "selected" : null}}' action='output'> <ui-button icon='{{data.outputting ? "power-off" : "close"}}' style='{{data.outputting ? "selected" : null}}' action='output'>

View File

@@ -5,22 +5,22 @@
{{/if}} {{/if}}
<ui-display title='Bluespace Artillery Control' button> <ui-display title='Bluespace Artillery Control' button>
{{#if data.connected}} {{#if data.connected}}
<ui-section label='Target'> <ui-section label='Target'>
<ui-button icon='crosshairs' action='recalibrate'>{{data.target}}</ui-button> <ui-button icon='crosshairs' action='recalibrate'>{{data.target}}</ui-button>
</ui-section> </ui-section>
<ui-section label='Controls'> <ui-section label='Controls'>
{{#if !data.unlocked}} {{#if !data.unlocked}}
<ui-notice> <ui-notice>
<span>Bluespace Artillery firing protocols must be globally unlocked from two keycard authentication devices first!</span> <span>Bluespace Artillery firing protocols must be globally unlocked from two keycard authentication devices first!</span>
</ui-notice> </ui-notice>
{{else}} {{else}}
<ui-button icon='warning' state='{{data.ready ? null : "disabled"}}' action='fire'>FIRE!</ui-button> <ui-button icon='warning' state='{{data.ready ? null : "disabled"}}' action='fire'>FIRE!</ui-button>
{{/if}} {{/if}}
</ui-section> </ui-section>
{{/if}} {{/if}}
{{#if !data.connected}} {{#if !data.connected}}
<ui-section label='Maintenance'> <ui-section label='Maintenance'>
<ui-button icon='wrench' action='build'>Complete Deployment.</ui-button> <ui-button icon='wrench' action='build'>Complete Deployment.</ui-button>
</ui-section> </ui-section>
{{/if}} {{/if}}
</ui-display> </ui-display>

View File

@@ -7,6 +7,7 @@
} }
} }
</script> </script>
<ui-display title='Cargo'> <ui-display title='Cargo'>
<ui-section label='Shuttle'> <ui-section label='Shuttle'>
{{#if data.docked && !data.requestonly}} {{#if data.docked && !data.requestonly}}
@@ -33,29 +34,25 @@
</ui-section> </ui-section>
{{/if}} {{/if}}
</ui-display> </ui-display>
<ui-tabs tabs='{{tabs}}'> {{#if !data.requestonly}}
{{#each data.supplies}} <ui-display title='Cart' button>
<tab name='{{name}}'> {{#partial button}}
<ui-button tooltip='Pay with your bank account instead of the cargo budget. Costs 10% extra for handling fees.' tooltip-side='right' <ui-button icon='close' state='{{data.cart.length ? null : "disabled"}}' action='clear'>Clear</ui-button>
icon='{{data.self_paid ? "check-square-o" : "square-o"}}' action='toggleprivate'>Buy privately</ui-button> {{/partial}}
{{#each packs}} {{#each data.cart}}
<ui-section label='{{name}}' candystripe nowrap> <ui-section candystripe nowrap>
{{#if small_item}} <div class='content'>#{{id}}</div>
<div class='content'>Small Item</div> <div class='content'>{{object}}</div>
{{else}} <div class='content'>{{cost}} Credits</div>
<div class='content'> </div> <div class='content'>
{{/if}} <ui-button icon='minus' action='remove' params='{"id": "{{id}}"}'/>
{{#if access}} </div>
<div class='content'>Restrictions Apply</div> </ui-section>
{{else}} {{else}}
<div class='content'> </div> <span>Nothing in Cart</span>
{{/if}} {{/each}}
<ui-button tooltip='{{desc}}' tooltip-side='left' action='add' params='{"id": "{{id}}"}'>{{data.self_paid ? Math.round(cost*1.1) : cost}} Credits</ui-button> </ui-display>
</ui-section> {{/if}}
{{/each}}
</tab>
{{/each}}
</ui-tabs>
<ui-display title='Requests' button> <ui-display title='Requests' button>
{{#partial button}} {{#partial button}}
{{#if !data.requestonly}} {{#if !data.requestonly}}
@@ -80,25 +77,14 @@
<span>No Requests</span> <span>No Requests</span>
{{/each}} {{/each}}
</ui-display> </ui-display>
{{#if !data.requestonly}} <ui-tabs tabs='{{tabs}}'>
<ui-display title='Cart' button> {{#each data.supplies}}
{{#partial button}} <tab name='{{name}}'>
<ui-button icon='close' state='{{data.cart.length ? null : "disabled"}}' action='clear'>Clear</ui-button> {{#each packs}}
{{/partial}} <ui-section label='{{name}}' candystripe right>
{{#each data.cart}} <ui-button tooltip='{{desc}}' tooltip-side='left' action='add' params='{"id": "{{id}}"}'>{{cost}} Credits</ui-button>
<ui-section candystripe nowrap> </ui-section>
<div class='content'>#{{id}}</div> {{/each}}
<div class='content'>{{object}}</div> </tab>
<div class='content'>{{cost}} Credits</div> {{/each}}
<div class='content'> </ui-tabs>
<ui-button icon='minus' action='remove' params='{"id": "{{id}}"}'/>
</div>
{{#if paid}}
<div class='content'><b>(Paid privately)</b></div>
{{/if}}
</ui-section>
{{else}}
<span>Nothing in Cart</span>
{{/each}}
</ui-display>
{{/if}}

View File

@@ -1,42 +1,14 @@
<script>
component.exports = {
data: {
upperCaseWrapper(lowercased) {
return lowercased.toUpperCase();
}
}
}
</script>
<ui-display title='Status'> <ui-display title='Status'>
<ui-section label='Energy'> <ui-section label='Energy'>
<ui-bar min='0' max='{{data.maxEnergy}}' value='{{data.energy}}'>{{Math.fixed(adata.energy)}} Units</ui-bar> <ui-bar min='0' max='{{data.maxEnergy}}' value='{{data.energy}}'>{{Math.fixed(adata.energy)}} Units</ui-bar>
</ui-section> </ui-section>
</ui-display> </ui-display>
{{#if data.recordingRecipe && true}}
<ui-notice>
<span class='fa fa-circle'></span> <span>Recording</span>
</ui-notice>
<ui-display>
<ui-subdisplay>
{{#each data.recordingRecipe: chemical}}
<ui-section label='{{chemical.replace(/\b\w/, upperCaseWrapper)}}'><span>{{adata.recordingRecipe[chemical]}}</span></ui-section>
{{/each}}
</ui-subdisplay>
<ui-section>
<ui-button icon='floppy-o' action='save_recording'>Save</ui-button>
<ui-button icon='ban' action='cancel_recording'>Cancel</ui-button>
</ui-section>
</ui-display>
{{/if}}
<ui-display title='Saved Recipes' button> <ui-display title='Saved Recipes' button>
<ui-section> <ui-section>
<ui-button icon='plus' action='record_recipe' state='{{data.recordingRecipe ? "disabled" : null}}'>Record Recipe</ui-button> <ui-button icon='plus' action='add_recipe'>Add Recipe</ui-button>
<ui-button icon='minus' action='clear_recipes' state='{{data.recordingRecipe ? "disabled" : null}}'>Clear Recipes</ui-button> <ui-button icon='minus' action='clear_recipes'>Clear Recipes</ui-button>
{{#each data.recipes: recipe_name}} {{#each data.recipes}}
<ui-button grid icon='tint' action='dispense_recipe' params='{"recipe": "{{recipe_name}}"}'>{{recipe_name}}</ui-button> <ui-button grid icon='tint' action='dispense_recipe' params='{"recipe": "{{contents}}"}'>{{recipe_name}}</ui-button>
{{/each}} {{/each}}
</ui-section> </ui-section>
</ui-display> </ui-display>
@@ -55,13 +27,14 @@
<ui-display title='Beaker' button> <ui-display title='Beaker' button>
{{#partial button}} {{#partial button}}
{{#each data.beakerTransferAmounts}} {{#each data.beakerTransferAmounts}}
<ui-button icon='minus' action='remove' params='{"amount": {{.}}}' state='{{data.recordingRecipe ? "disabled" : null}}'>{{.}}</ui-button> <ui-button icon='minus' action='remove' params='{"amount": {{.}}}'>{{.}}</ui-button>
{{/each}} {{/each}}
<ui-button icon='eject' state='{{data.isBeakerLoaded ? null : "disabled"}}' action='eject'>Eject</ui-button> <ui-button icon='eject' state='{{data.isBeakerLoaded ? null : "disabled"}}' action='eject'>Eject</ui-button>
{{/partial}} {{/partial}}
<ui-section label='Contents'> <ui-section label='Contents'>
{{#if data.isBeakerLoaded}} {{#if data.isBeakerLoaded}}
<span>{{Math.round(adata.beakerCurrentVolume)}}/{{data.beakerMaxVolume}} Units</span> <span>{{Math.round(adata.beakerCurrentVolume)}}/{{data.beakerMaxVolume}} Units</span>
<span>pH: {{Math.round(adata.beakerCurrentpH*adata.partRating)/adata.partRating}}</span>
<br/> <br/>
{{#each adata.beakerContents}} {{#each adata.beakerContents}}
<span class='highlight' intro-outro='fade'>{{Math.fixed(volume, 2)}} units of {{name}}</span><br/> <span class='highlight' intro-outro='fade'>{{Math.fixed(volume, 2)}} units of {{name}}</span><br/>

View File

@@ -16,9 +16,14 @@
<ui-section label='Contents'> <ui-section label='Contents'>
{{#if data.isBeakerLoaded}} {{#if data.isBeakerLoaded}}
<span>Temperature: {{Math.round(adata.currentTemp)}} K</span> <span>Temperature: {{Math.round(adata.currentTemp)}} K</span>
<br />
<span>pH: {{Math.round(adata.currentpH*adata.partRating)/adata.partRating}}</span>
<br /> <br />
{{#each adata.beakerContents}} {{#each adata.beakerContents}}
<span class='highlight' intro-outro='fade'>{{Math.fixed(volume, 2)}} units of {{name}}</span><br/> <span class='highlight' intro-outro='fade'>{{Math.fixed(volume, 2)}} units of {{name}}</span><br />
{{#if data.showPurity}}
<span class='highlight' intro-outro='fade'>Purity: {{Math.fixed(purity, 2)}}</span><br />
{{/if}}
{{else}} {{else}}
<span class='bad'>Beaker Empty</span> <span class='bad'>Beaker Empty</span>
{{/each}} {{/each}}

View File

@@ -1,4 +1,4 @@
{{#if data.screen == "home"}} {{#if data.screen == "home"}}
<ui-display title='Beaker' button> <ui-display title='Beaker' button>
<ui-button icon='{{data.isBeakerLoaded ? "Eject" : "close"}}' <ui-button icon='{{data.isBeakerLoaded ? "Eject" : "close"}}'
style='{{data.isBeakerLoaded ? "selected" : null}}' style='{{data.isBeakerLoaded ? "selected" : null}}'
@@ -17,7 +17,7 @@
<ui-button action='transferToBuffer' params='{"id": "{{id}}", "amount": 10}'>10</ui-button> <ui-button action='transferToBuffer' params='{"id": "{{id}}", "amount": 10}'>10</ui-button>
<ui-button action='transferToBuffer' params='{"id": "{{id}}", "amount": 1000}'>All</ui-button> <ui-button action='transferToBuffer' params='{"id": "{{id}}", "amount": 1000}'>All</ui-button>
<ui-button action='transferToBuffer' params='{"id": "{{id}}", "amount": -1}'>Custom</ui-button> <ui-button action='transferToBuffer' params='{"id": "{{id}}", "amount": -1}'>Custom</ui-button>
<ui-button action='analyze' params='{"id": "{{id}}"}'>Analyze</ui-button> <ui-button action='analyzeBeak' params='{"id": "{{id}}"}'>Analyze</ui-button>
</div> </div>
</ui-section> </ui-section>
{{else}} {{else}}
@@ -41,7 +41,7 @@
<ui-button action='transferFromBuffer' params='{"id": "{{id}}", "amount": 10}'>10</ui-button> <ui-button action='transferFromBuffer' params='{"id": "{{id}}", "amount": 10}'>10</ui-button>
<ui-button action='transferFromBuffer' params='{"id": "{{id}}", "amount": 1000}'>All</ui-button> <ui-button action='transferFromBuffer' params='{"id": "{{id}}", "amount": 1000}'>All</ui-button>
<ui-button action='transferFromBuffer' params='{"id": "{{id}}", "amount": -1}'>Custom</ui-button> <ui-button action='transferFromBuffer' params='{"id": "{{id}}", "amount": -1}'>Custom</ui-button>
<ui-button action='analyze' params='{"id": "{{id}}"}'>Analyze</ui-button> <ui-button action='analyzeBuff' params='{"id": "{{id}}"}'>Analyze</ui-button>
</div> </div>
</ui-section> </ui-section>
{{/each}} {{/each}}
@@ -60,6 +60,7 @@
{{else}} {{else}}
<span class='average'>No Pillbottle</span> <span class='average'>No Pillbottle</span>
{{/if}} {{/if}}
<br/> <br/>
<ui-button action='createPill' params='{"many": 0}' state='{{data.bufferContents ? null : "disabled"}}' >Create Pill (max 50µ)</ui-button> <ui-button action='createPill' params='{"many": 0}' state='{{data.bufferContents ? null : "disabled"}}' >Create Pill (max 50µ)</ui-button>
<br/> <br/>
@@ -74,6 +75,17 @@
<ui-button action='createBottle' params='{"many": 0}' state='{{data.bufferContents ? null : "disabled"}}' >Create Bottle (max 30µ)</ui-button> <ui-button action='createBottle' params='{"many": 0}' state='{{data.bufferContents ? null : "disabled"}}' >Create Bottle (max 30µ)</ui-button>
<br/> <br/>
<ui-button action='createBottle' params='{"many": 1}' state='{{data.bufferContents ? null : "disabled"}}' >Dispense Buffer to Bottles</ui-button> <ui-button action='createBottle' params='{"many": 1}' state='{{data.bufferContents ? null : "disabled"}}' >Dispense Buffer to Bottles</ui-button>
<br/>
<br/>
<ui-button action='createVial' params='{"many": 0}' state='{{data.bufferContents ? null : "disabled"}}' >Create Hypo Vial (max 60µ)</ui-button>
<br/>
<ui-button action='createVial' params='{"many": 1}' state='{{data.bufferContents ? null : "disabled"}}' >Dispense Buffer to Hypo vials </ui-button>
<br/>
<br/>
<ui-button action='createDart' params='{"many": 0}' state='{{data.bufferContents ? null : "disabled"}}' >Create SmartDart (max 20µ)</ui-button>
<br/>
<ui-button action='createDart' params='{"many": 1}' state='{{data.bufferContents ? null : "disabled"}}' >Create Multiple SmartDarts </ui-button>
<br/>
</ui-display> </ui-display>
@@ -105,6 +117,29 @@
<span class='highlight'>Addiction Threshold: </span> <span class='highlight'>Addiction Threshold: </span>
<span class='content'>{{data.analyzeVars.addicD}}</span> <span class='content'>{{data.analyzeVars.addicD}}</span>
<br/> <br/>
{{#if data.fermianalyze}}
<span class='highlight'>Minumum Reaction Temperature: </span>
<span class='content'>{{data.analyzeVars.minTemp}}K</span>
<br/>
<span class='highlight'>Optimal Reaction Temperature: </span>
<span class='content'>{{data.analyzeVars.maxTemp}}K</span>
<br/>
<span class='highlight'>Explosion Reaction Temperature: </span>
<span class='content'>{{data.analyzeVars.eTemp}}K</span>
<br/>
<span class='highlight'>Optimal reaction pH: </span>
<span class='content'>{{data.analyzeVars.pHpeak}}</span>
<br/>
<span class='highlight'>Current Purity: </span>
<span class='content'>{{data.analyzeVars.purityF}}</span>
<br/>
<span class='highlight'>Inverse Purity Threshold: </span>
<span class='content'>{{data.analyzeVars.inverseRatioF}}</span>
<br/>
<span class='highlight'>Explosion Purity Threshold: </span>
<span class='content'>{{data.analyzeVars.purityE}}</span>
<br/>
{{/if}}
<br/> <br/>
<ui-button action='goScreen' params='{"screen": "home"}'>Back</ui-button> <ui-button action='goScreen' params='{"screen": "home"}'>Back</ui-button>
</ui-display> </ui-display>

View File

@@ -1,11 +0,0 @@
<ui-display title='Pill Press' button>
<ui-display title='Pill Size'>
<span> Current Pill Volume: </span> <ui-button action='change_pill_size'>{{data.pill_size}}</ui-button>
</ui-display>
<ui-display title='Cosmetic'>
<span> Pill Name: </span> <ui-button action='change_pill_name'>{{data.pill_name}}</ui-button> <br>
{{#each data.pill_styles}}
<ui-button state='{{id==data.pill_style ? "selected" : null}}' action='change_pill_style' params='{"id": "{{id}}"}'>{{{htmltag}}}</ui-button>
{{/each}}
</ui-display>
</ui-display>

View File

@@ -1,6 +0,0 @@
<ui-display title='Splitter' button>
<ui-section>
<ui-button action='set_amount' params='{"target": "straight"}'>Straight {{data.straight}}</ui-button>
<ui-button action='set_amount' params='{"target": "side"}'>Side {{data.side}}</ui-button>
</ui-section>
</ui-display>

View File

@@ -1,20 +0,0 @@
<ui-display title='Left' button>
<ui-section>
{{#each data.left}}
<ui-button action='remove' params='{"which":"left","reagent":"{{.}}"}'>{{.}}</ui-button>
{{/each}}
</ui-section>
<ui-section>
<ui-button action='add' params='{"which":"left"}'>Add filter</ui-button>
</ui-section>
</ui-display>
<ui-display title='Right' button>
<ui-section>
{{#each data.right}}
<ui-button action='remove' params='{"which":"right","reagent":"{{.}}"}'>{{.}}</ui-button>
{{/each}}
</ui-section>
<ui-section>
<ui-button action='add' params='{"which":"right"}'>Add filter</ui-button>
</ui-section>
</ui-display>

View File

@@ -0,0 +1,43 @@
<ui-display>
<ui-button action='toggle'>{{data.recollection ? "Recital":"Recollection"}}</ui-button>
</ui-display>
{{#if data.recollection}}
<ui-display>
{{{data.rec_text}}}
{{#each data.recollection_categories}}
<br><ui-button action='rec_category' params='{"category": "{{name}}"}'>{{{name}}} - {{{desc}}}</ui-button>
{{/each}}
{{{data.rec_section}}}
{{{data.rec_binds}}}
</ui-display>
{{else}}
<ui-display title='Power' button>
<ui-section>
{{{data.power}}}
</ui-section>
</ui-display>
<ui-display>
<ui-section>
<ui-button state='{{data.selected == "Driver" ? "selected" : null}}' action='select' params='{"category": "Driver"}'>Driver</ui-button>
<ui-button state='{{data.selected == "Script" ? "selected" : null}}' action='select' params='{"category": "Script"}'>Scripts</ui-button>
<ui-button state='{{data.selected == "Application" ? "selected" : null}}' action='select' params='{"category": "Application"}'>Applications</ui-button>
<br>{{{data.tier_info}}}
</ui-section>
<ui-section>
{{{data.scripturecolors}}}
</ui-section><hr>
<ui-section>
{{#each data.scripture}}
<div><ui-button tooltip='{{{tip}}}' tooltip-side='right' action='recite' params='{"category": "{{type}}"}'>Recite {{{required}}}</ui-button>
{{#if quickbind}}
{{#if bound}}
<ui-button action='bind' params='{"category": "{{type}}"}'>Unbind {{{bound}}}</ui-button>
{{else}}
<ui-button action='bind' params='{"category": "{{type}}"}'>Quickbind</ui-button>
{{/if}}
{{/if}}
{{{name}}} {{{descname}}} {{{invokers}}}</div>
{{/each}}
</ui-section>
</ui-display>
{{/if}}

View File

@@ -0,0 +1,49 @@
<ui-display title='Occupant'>
<ui-section label='Occupant'>
<span>{{data.occupant.name ? data.occupant.name : "No Occupant"}}</span>
</ui-section>
{{#if data.items}}
<ui-section label='Items in storage'>
<span>{{data.items}}</span>
</ui-section>
{{/if}}
{{#if data.occupied}}
<ui-section label='State'>
<span class='{{data.occupant.statstate}}'>{{data.occupant.stat}}</span>
</ui-section>
<ui-section label='Health'>
<ui-bar min='{{data.occupant.minHealth}}' max='{{data.occupant.maxHealth}}' value='{{data.occupant.health}}'
state='{{data.occupant.health >= 0 ? "good" : "average"}}'>{{Math.round(adata.occupant.health)}}</ui-bar>
</ui-section>
{{#each [{label: "Brute", type: "bruteLoss"}, {label: "Respiratory", type: "oxyLoss"}, {label: "Toxin", type: "toxLoss"}, {label: "Burn", type: "fireLoss"}]}}
<ui-section label='{{label}}'>
<ui-bar min='0' max='{{data.occupant.maxHealth}}' value='{{data.occupant[type]}}' state='bad'>{{Math.round(adata.occupant[type])}}</ui-bar>
</ui-section>
{{/each}}
<ui-section label='Cells'>
<span class='{{data.occupant.cloneLoss ? "bad" : "good"}}'>{{data.occupant.cloneLoss ? "Damaged" : "Healthy"}}</span>
</ui-section>
<ui-section label='Brain'>
<span class='{{data.occupant.brainLoss ? "bad" : "good"}}'>{{data.occupant.brainLoss ? "Abnormal" : "Healthy"}}</span>
</ui-section>
<ui-section label='Bloodstream'>
{{#each adata.occupant.reagents}}
<span class='highlight' intro-outro='fade'>{{Math.fixed(volume, 1)}} units of {{name}}</span><br/>
{{else}}
<span class='good'>Pure</span>
{{/each}}
</ui-section>
{{/if}}
</ui-display>
<ui-display title='Operations'>
<ui-section label='Inject'>
{{#each data.chem}}
<ui-button icon='flask' state='{{data.occupied ? null : "disabled"}}' action='inject' params='{"chem": "{{id}}"}'>{{name}}</ui-button><br/>
{{/each}}
</ui-section>
<ui-section label='Eject'>
<ui-button icon='sign-out' action='eject'>Eject Contents</ui-button>
</ui-section>
<ui-section label='Self Cleaning'>
<ui-button icon='recycle' action='cleaning'>Self-Clean Cycle</ui-button>
</ui-display>

View File

@@ -0,0 +1,50 @@
{{#if data.sync}}
<ui-notice>
Currently syncing with the database
</ui-notice>
{{else}}
<ui-display title='Materials' button>
{{#partial button}}
<ui-button icon="eject" action="eject_all">Eject all</ui-button>
<ui-button icon="toggle-{{data.show_materials ? 'off' : 'on'}}" action="toggle_materials_visibility">
{{data.show_materials ? "Hide" : "Show"}}
</ui-button>
{{/partial}}
{{#if data.show_materials}}
<div class="display tabular">
<section class="candystripe">
<section class="cell"></section>
<section class="cell">
Mineral
</section>
<section class="cell">
Amount
</section>
<section class="cell"></section>
<section class="cell"></section>
</section>
{{#each data.all_materials}}
<section class="candystripe">
<section class="cell">
{{name}}
</section>
<section class="cell">
{{amount}}
</section>
<section class="cell">
<ui-button icon="eject">Release amount</ui-button>
</section>
<section class="cell" style='width: 40px;'>
<ui-button icon="eject">Release all</ui-button>
</section>
</section>
{{/each}}
</div>
{{/if}}
</ui-display>
<ui-display title='Categories'>
{{#data.categories}}
<ui-button>{{this}}</ui-button>
{{/data.categories}}
</ui-display>
{{/if}}

View File

@@ -5,7 +5,7 @@
</ui-button> </ui-button>
{{/partial}} {{/partial}}
{{#each data.default_programs}} {{#each data.default_programs}}
<ui-button action='load_program' params='{"type": {{type}}}' style='{{data.program == type ? "selected" : null}}'> <ui-button action='load_program' params='{"type": {{type}}}' style='{{data.program == type ? "selected" : null}}'>
{{name}} {{name}}
</ui-button><br> </ui-button><br>
{{/each}} {{/each}}

View File

@@ -1,56 +0,0 @@
{{#if data.screen == "empty"}}
<ui-notice>
<p>No launchpad connected.</p>
</ui-notice>
{{elseif data.screen == "select"}}
<ui-display title='Launchpad Selection'>
{{#each data.launchpads}}
<ui-button action='select_pad' params='{"id": "{{id}}"}' state='{{inactive ? "disabled" : null}}'>{{name}}</ui-button><br>
{{/each}}
</ui-display>
{{elseif data.screen == "control"}}
<ui-display title='Controls'>
<ui-button icon="return" action='return'>Return</ui-button>
{{#if data.pad_active}}
<ui-section label="Launchpad">
<span><b>{{data.pad_name}}</b></span><br>
<ui-button icon="pencil" action='rename'>Rename</ui-button>
<ui-button icon="remove" style="danger" action='remove'>Remove</ui-button>
</ui-section>
<ui-section label='Set Target'>
<table>
<tr>
<td style="width:25px!important"><ui-button action='up-left'>↖</ui-button></td>
<td style="width:25px!important; text-align:center"><ui-button action='up'>↑</ui-button></td>
<td style="width:25px!important; text-align:right"><ui-button action='up-right'>↗</ui-button></td>
</tr>
<tr>
<td style="width:25px!important"><ui-button action='left' style="width:35px!important">←</ui-button></td>
<td style="width:25px!important; text-align:center"><ui-button action='reset'>R</ui-button></td>
<td style="width:25px!important; text-align:right"><ui-button action='right'>→</ui-button></td>
</tr>
<tr>
<td style="width:25px!important"><ui-button action='down-left'>↙</ui-button></td>
<td style="width:25px!important; text-align:center"><ui-button action='down'>↓</ui-button></td>
<td style="width:25px!important; text-align:right"><ui-button action='down-right'>↘</ui-button></td>
</tr>
</table>
<hr>
<ui-button action='manual_x'>Set X</ui-button><ui-button action='manual_y'>Set Y</ui-button>
</ui-section>
<ui-section label='Current Target'>
<span>{{data.abs_y}} {{data.north_south}}</span><br>
<span>{{data.abs_x}} {{data.east_west}}</span>
</ui-section>
<ui-section label='Activate'>
<ui-button action='launch' tooltip='Teleport everything on the pad to the target.' tooltip-side='down'>Launch</ui-button>
<ui-button action='pull' tooltip='Teleport everything from the target to the pad.' tooltip-side='down'>Pull</ui-button>
</ui-section>
{{else}}
<ui-notice>
<p>Launchpad not responding.</p>
</ui-notice>
{{/if}}
</ui-display>
{{/if}}

View File

@@ -2,7 +2,7 @@
component.exports = { component.exports = {
data: { data: {
mechChargeState(charge) { mechChargeState(charge) {
let maxcharge = this.get('data.recharge_port.mech.cell.maxcharge') let maxcharge = this.get('data.recharge_port.mech.cell.maxcharge')
if(charge >= (maxcharge/1.5)) return 'good' if(charge >= (maxcharge/1.5)) return 'good'
else if(charge >= (maxcharge/3)) return 'average' else if(charge >= (maxcharge/3)) return 'average'
else return 'bad' else return 'bad'
@@ -21,12 +21,16 @@
{{#if data.recharge_port}} {{#if data.recharge_port}}
{{#if data.recharge_port.mech}} {{#if data.recharge_port.mech}}
<ui-section label='Integrity'> <ui-section label='Integrity'>
<ui-bar min='0' max='{{adata.recharge_port.mech.maxhealth}}' value='{{adata.recharge_port.mech.health}}'state='{{mechHealthState(adata.recharge_port.mech.health)}}'>{{Math.round(adata.recharge_port.mech.health)}}/{{adata.recharge_port.mech.maxhealth}}</ui-bar> <ui-bar min='0' max='{{adata.recharge_port.mech.maxhealth}}' value='{{adata.recharge_port.mech.health}}'state='{{mechHealthState(adata.recharge_port.mech.health)}}'>{{Math.round(adata.recharge_port.mech.health)}}/{{adata.recharge_port.mech.maxhealth}}</ui-bar>
</ui-section> </ui-section>
{{#if data.recharge_port.mech.cell}} {{#if data.recharge_port.mech.cell}}
<ui-section label='Power'> {{#if data.recharge_port.mech.cell.critfail}}
<ui-bar min='0' max='{{adata.recharge_port.mech.cell.maxcharge}}' value='{{adata.recharge_port.mech.cell.charge}}'state='{{mechChargeState(adata.recharge_port.mech.cell.charge)}}'>{{Math.round(adata.recharge_port.mech.cell.charge)}}/{{Math.round(adata.recharge_port.mech.cell.maxcharge)}}</ui-bar> <ui-section label='Power'><span class='bad'>Cell Critical Failure</span></ui-section>
</ui-section> {{else}}
<ui-section label='Power'>
<ui-bar min='0' max='{{adata.recharge_port.mech.cell.maxcharge}}' value='{{adata.recharge_port.mech.cell.charge}}'state='{{mechChargeState(adata.recharge_port.mech.cell.charge)}}'>{{Math.round(adata.recharge_port.mech.cell.charge)}}/{{Math.round(adata.recharge_port.mech.cell.maxcharge)}}</ui-bar>
</ui-section>
{{/if}}
{{else}} {{else}}
<ui-section label='Power'><span class='bad'>Cell Missing</span></ui-section> <ui-section label='Power'><span class='bad'>Cell Missing</span></ui-section>
{{/if}} {{/if}}

View File

@@ -1,50 +0,0 @@
<ui-display title='Health kiosk'>
<ui-section>Greetings, valued nanotransen employee. Insert {{data.kiosk_cost}} Credits to begin health analysis.</ui-section>
<ui-section>
<ui-button icon='power-off' state='{{data.active_status ? null : 'disabled'}}' action='beginScan'>Begin Scan (Cost: {{data.kiosk_cost}} Credits)</ui-button><br/>
</ui-section>
{{#if data.active_status == 0}}
<ui-section title='Medical Report'>
<ui-section label='Patient name'>
{{data.patient_name}}.
</ui-section>
<ui-section label='Brute'>
<ui-bar min='0' max='100' value='{{data.brute_health}}' state={{"bad"}}> {{Math.round(data.brute_health)}}%</ui-bar>
</ui-section>
<ui-section label='Burn'>
<ui-bar min='0' max='100' value='{{data.burn_health}}' state={{"bad"}}> {{Math.round(data.burn_health)}}%</ui-bar>
</ui-section>
<ui-section label='Toxin'>
<ui-bar min='0' max='100' value='{{data.toxin_health}}' state="bad"}}> {{Math.round(data.toxin_health)}}%</ui-bar>
</ui-section>
<ui-section label='Suffocation'>
<ui-bar min='0' max='100' value='{{data.suffocation_health}}' state="bad"}}> {{Math.round(data.suffocation_health)}}%</ui-bar>
</ui-section>
{{#if data.adv_active_status == 0}}
<ui-section label='Cellular'>
<ui-bar min='0' max='100' value='{{data.clone_health}}' state="bad"}}> {{Math.round(data.clone_health)}}%</ui-bar>
</ui-section>
{{/if}}
<ui-section label='Patient status'>
{{data.patient_status}}
</ui-section>
<ui-section label='Disease status'>
{{data.patient_illness}}
</ui-section>
{{#if data.adv_active_status == 0}}
<ui-section label='Brain status'>
<span class='{{data.brain_damage <= 20 ? "good" : "bad"}}'>{{data.brain_health}}</span>
</ui-section>
{{/if}}
{{#if data.upgrade_active_status == 0}}
<span></span>
<ui-section label ='Patient pre-existing conditions'>
{{data.trauma_status}}
</ui-section>
<ui-section label ='Radiation status'>
{{data.rad_status}} Target is <span class='{{data.rad_value <= 100 ? "good" : "bad"}}'>{{Math.round(data.rad_value)}}% irradiated.</span>
</ui-section>
{{/if}}
</ui-section>
{{/if}}
</ui-display>

View File

@@ -1,4 +1,43 @@
<ui-display title='Nanite Chamber Console'> <ui-display title='Nanite Chamber Console'>
<ui-display title='Program Disk'>
{{#if data.has_disk}}
<ui-button icon='eject' action='eject'>Eject Disk</ui-button><br>
{{#if data.has_program}}
<ui-section label='Program Name'>{{data.disk.name}}</ui-section>
<ui-section label='Description'>{{data.disk.desc}}</ui-section>
<ui-section label='Activation Status'>{{data.disk.activated ? "Active" : "Inactive" }}</ui-section>
{{#if data.disk.activation_delay}}
<ui-section label='Activation Delay'>{{data.disk.activation_delay}}</ui-section>
{{/if}}
{{#if data.disk.timer}}
<ui-section label='Timer'>{{data.disk.timer}}</ui-section>
<ui-section label='Timer Type '>{{data.disk.timer_type}}</ui-section>
{{/if}}
{{#if data.disk.activation_code}}
<ui-section label='Activation Code'>{{data.disk.activation_code}}</ui-section>
{{/if}}
{{#if data.disk.deactivation_code}}
<ui-section label='Deactivation Code'>{{data.disk.deactivation_code}}</ui-section>
{{/if}}
{{#if data.disk.kill_code}}
<ui-section label='Kill Code'>{{data.disk.kill_code}}</ui-section>
{{/if}}
{{#if data.disk.trigger_code}}
<ui-section label='Trigger Code'>{{data.disk.trigger_code}}</ui-section>
{{/if}}
{{#if data.disk.has_extra_settings}}
{{#each data.disk.extra_settings}}
<ui-section label='{{name}}'>{{value}}</ui-section>
{{/each}}
{{/if}}
{{else}}
<ui-notice>No program detected.</ui-notice>
{{/if}}
{{else}}
<ui-notice>Insert disk.</ui-notice>
{{/if}}
</ui-display>
<br>
{{#if data.status_msg}} {{#if data.status_msg}}
<ui-notice>{{data.status_msg}}</ui-notice> <ui-notice>{{data.status_msg}}</ui-notice>
{{else}} {{else}}
@@ -10,16 +49,20 @@
<ui-section><ui-button icon='syringe' action='nanite_injection'>Implant Nanites</ui-button></ui-section> <ui-section><ui-button icon='syringe' action='nanite_injection'>Implant Nanites</ui-button></ui-section>
{{else}} {{else}}
<ui-display title='Nanites'> <ui-display title='Nanites'>
{{#if data.has_disk}}
<ui-button icon='download' action='add_program'>Install Program From Disk</ui-button><br>
<br>
{{/if}}
<ui-section> <ui-section>
<ui-section label='Nanite Volume'>{{data.nanite_volume}}</ui-section> <ui-section label='Nanite Volume'>{{data.nanite_volume}}</ui-section>
<ui-section label='Growth Rate'>{{data.regen_rate}}</ui-section> <ui-section label='Growth Rate'>{{data.regen_rate}}</ui-section>
<ui-section label='Safety Threshold'>{{data.safety_threshold}} <ui-button icon='pencil' action='set_safety'>Set</ui-button> </ui-section> <ui-section label='Safety Threshold'>{{data.safety_threshold}} <ui-button icon='pencil' action='set_safety'>Set</ui-button> </ui-section>
<ui-section label='Cloud ID'>{{data.cloud_id ? data.cloud_id : "No Cloud" }} <ui-button icon='pencil' action='set_cloud'>Set</ui-button> </ui-section> <ui-section label='Cloud ID'>{{data.cloud_id ? data.cloud_id : "No Cloud" }} <ui-button icon='pencil' action='set_cloud'>Set</ui-button> </ui-section>
</ui-section> </ui-section>
<ui-button icon='delete' style='danger' action='remove_nanites'>Destroy Nanites</ui-button>
<ui-display title='Programs'> <ui-display title='Programs'>
{{#each data.mob_programs}} {{#each data.mob_programs}}
<ui-display title='{{name}}' button> <ui-display title='{{name}}' button>
<ui-button icon='minus' action='remove_program' params='{"program_id": "{{id}}"}'>Uninstall</ui-button>
<ui-section label='Description'>{{desc}}</ui-section> <ui-section label='Description'>{{desc}}</ui-section>
{{#if data.scan_level >= 2}} {{#if data.scan_level >= 2}}
<ui-section label='Activation Status'>{{activated ? "Active" : "Inactive" }}</ui-section> <ui-section label='Activation Status'>{{activated ? "Active" : "Inactive" }}</ui-section>
@@ -27,55 +70,36 @@
{{#if can_trigger}} {{#if can_trigger}}
<ui-section label='Trigger Cost'>{{trigger_cost}}</ui-section> <ui-section label='Trigger Cost'>{{trigger_cost}}</ui-section>
<ui-section label='Trigger Cooldown'>{{trigger_cooldown}} seconds</ui-section> <ui-section label='Trigger Cooldown'>{{trigger_cooldown}} seconds</ui-section>
{{#if timer_trigger_delay}}
<ui-section label='Trigger Delay'>{{timer_trigger_delay}} seconds</ui-section>
{{/if}}
{{#if timer_trigger}}
<ui-section label='Trigger Repeat Timer'>{{timer_trigger}} seconds</ui-section>
{{/if}}
{{/if}} {{/if}}
{{#if timer_restart}} {{#if data.scan_level >= 3}}
<ui-section label='Restart Timer'>{{timer_restart}} seconds</ui-section> {{#if activation_delay}}
{{/if}} <ui-section label='Activation Delay'>{{activation_delay}}</ui-section>
{{#if timer_shutdown}} {{/if}}
<ui-section label='Shutdown Timer'>{{timer_shutdown}} seconds</ui-section> {{#if timer}}
<ui-section label='Timer'>{{timer}}</ui-section>
<ui-section label='Timer Type'>{{timer_type}}</ui-section>
{{/if}}
{{#if has_extra_settings}}
{{#each extra_settings}}
<ui-section label='{{name}}'>{{value}}</ui-section>
{{/each}}
{{/if}}
{{#if data.scan_level >= 4}}
{{#if activation_code}}
<ui-section label='Activation Code'>{{activation_code}}</ui-section>
{{/if}}
{{#if deactivation_code}}
<ui-section label='Deactivation Code'>{{deactivation_code}}</ui-section>
{{/if}}
{{#if kill_code}}
<ui-section label='Kill Code'>{{kill_code}}</ui-section>
{{/if}}
{{#if trigger_code}}
<ui-section label='Trigger Code'>{{trigger_code}}</ui-section>
{{/if}}
{{/if}}
{{/if}} {{/if}}
{{/if}} {{/if}}
{{#if data.scan_level >= 3}}
{{#if has_extra_settings}}
{{#each extra_settings}}
<ui-section label='{{name}}'>{{value}}</ui-section>
{{/each}}
{{/if}}
{{#if has_rules}}
<ui-section label='Rules'>
{{#each rules}}
{{display}} <br>
{{/each}}
</ui-section>
{{/if}}
{{/if}}
{{#if data.scan_level >= 4}}
{{#if activation_code}}
<ui-section label='Activation Code'>{{activation_code}}</ui-section>
{{/if}}
{{#if deactivation_code}}
<ui-section label='Deactivation Code'>{{deactivation_code}}</ui-section>
{{/if}}
{{#if kill_code}}
<ui-section label='Kill Code'>{{kill_code}}</ui-section>
{{/if}}
{{#if trigger_code}}
<ui-section label='Trigger Code'>{{trigger_code}}</ui-section>
{{/if}}
{{#if has_rules}}
<ui-section label='Rules'>
{{#each rules}}
{{display}}<br>
{{/each}}
</ui-section>
{{/if}}
{{/if}}
</ui-display> </ui-display>
{{/each}} {{/each}}
</ui-display> </ui-display>

View File

@@ -7,18 +7,13 @@
<ui-section label='Program Name'>{{data.disk.name}}</ui-section> <ui-section label='Program Name'>{{data.disk.name}}</ui-section>
<ui-section label='Description'>{{data.disk.desc}}</ui-section> <ui-section label='Description'>{{data.disk.desc}}</ui-section>
<ui-section label='Activation Status'>{{data.disk.activated ? "Active" : "Inactive" }}</ui-section> <ui-section label='Activation Status'>{{data.disk.activated ? "Active" : "Inactive" }}</ui-section>
{{#if data.disk.timer_trigger_delay}} {{#if data.disk.activation_delay}}
<ui-section label='Trigger Delay'>{{data.disk.timer_trigger_delay}} seconds</ui-section> <ui-section label='Activation Delay'>{{data.disk.activation_delay}}</ui-section>
{{/if}} {{/if}}
{{#if data.disk.timer_trigger}} {{#if data.disk.timer}}
<ui-section label='Trigger Repeat Timer'>{{data.disk.timer_trigger}} seconds</ui-section> <ui-section label='Timer'>{{data.disk.timer}}</ui-section>
{{/if}} <ui-section label='Timer Type '>{{data.disk.timer_type}}</ui-section>
{{#if data.disk.timer_restart}} {{/if}}
<ui-section label='Restart Timer'>{{data.disk.timer_restart}} seconds</ui-section>
{{/if}}
{{#if data.disk.timer_shutdown}}
<ui-section label='Shutdown Timer'>{{data.disk.timer_shutdown}} seconds</ui-section>
{{/if}}
{{#if data.disk.activation_code}} {{#if data.disk.activation_code}}
<ui-section label='Activation Code'>{{data.disk.activation_code}}</ui-section> <ui-section label='Activation Code'>{{data.disk.activation_code}}</ui-section>
{{/if}} {{/if}}
@@ -67,9 +62,6 @@
<h3>{{name}}</h3> <h3>{{name}}</h3>
<div style="float:right"> <div style="float:right">
<ui-button icon='minus-circle' action='remove_program' style='danger' params='{"program_id": "{{id}}"}'>Uninstall</ui-button> <ui-button icon='minus-circle' action='remove_program' style='danger' params='{"program_id": "{{id}}"}'>Uninstall</ui-button>
{{#if data.disk.can_rule}}
<ui-button icon='ruler' action='add_rule' params='{"program_id": "{{id}}"}'>Add Rule from Disk</ui-button>
{{/if}}
</div> </div>
</ui-section> </ui-section>
<ui-section> <ui-section>
@@ -77,22 +69,16 @@
<ui-section label='Activation Status'>{{activated ? "Active" : "Inactive" }}</ui-section> <ui-section label='Activation Status'>{{activated ? "Active" : "Inactive" }}</ui-section>
<ui-section label='Nanites Consumed'>{{use_rate}}/s</ui-section> <ui-section label='Nanites Consumed'>{{use_rate}}/s</ui-section>
{{#if can_trigger}} {{#if can_trigger}}
<ui-section label='Trigger Cost'>{{trigger_cost}}</ui-section> <ui-section label='Trigger Cost'>{{trigger_cost}}/s</ui-section>
<ui-section label='Trigger Cooldown'>{{trigger_cooldown}} seconds</ui-section> <ui-section label='Trigger Cooldown'>{{trigger_cooldown}}/s</ui-section>
{{#if timer_trigger_delay}}
<ui-section label='Trigger Delay'>{{timer_trigger_delay}} seconds</ui-section>
{{/if}}
{{#if timer_trigger}}
<ui-section label='Trigger Repeat Timer'>{{timer_trigger}} seconds</ui-section>
{{/if}}
{{/if}} {{/if}}
{{#if timer_restart}} {{#if activation_delay}}
<ui-section label='Restart Timer'>{{timer_restart}} seconds</ui-section> <ui-section label='Activation Delay'>{{activation_delay}}</ui-section>
{{/if}} {{/if}}
{{#if timer_shutdown}} {{#if timer}}
<ui-section label='Shutdown Timer'>{{timer_shutdown}} seconds</ui-section> <ui-section label='Timer'>{{timer}}</ui-section>
<ui-section label='Timer Type '>{{timer_type}}</ui-section>
{{/if}} {{/if}}
{{#if activation_code}} {{#if activation_code}}
<ui-section label='Activation Code'>{{activation_code}}</ui-section> <ui-section label='Activation Code'>{{activation_code}}</ui-section>
{{/if}} {{/if}}
@@ -110,13 +96,6 @@
<ui-section label='{{name}}'>{{value}}</ui-section> <ui-section label='{{name}}'>{{value}}</ui-section>
{{/each}} {{/each}}
{{/if}} {{/if}}
{{#if has_rules}}
<ui-section label='Rules'>
{{#each rules}}
{{display}} (<ui-button icon='minus-circle' action='remove_rule' style='danger' params='{"program_id": "{{program_id}}", "rule_id": "{{id}}"}'>Remove</ui-button>)<br>
{{/each}}
</ui-section>
{{/if}}
</ui-section> </ui-section>
{{/each}} {{/each}}
</ui-display> </ui-display>

View File

@@ -1,41 +0,0 @@
<ui-display title='Nanite Control'>
{{#if data.locked}}
<ui-notice>The interface is locked.</ui-notice>
{{else}}
<ui-button icon='lock' action='lock'>Lock Interface</ui-button>
<ui-button icon='save' action='comm_save'>Save Current Setting</ui-button>
<ui-section label='Comm Code'>
<span>{{data.comm_code}}</span>
<ui-button icon='pencil' action='set_comm_code'>Set</ui-button>
</ui-section>
<ui-section label='Message'>
{{data.comm_message}}
<br>
<ui-button icon='pencil' action='set_message'>Set</ui-button>
</ui-section>
{{#if data.mode == "Relay"}}
<ui-section label='Relay Code'>
<span>{{data.relay_code}}</span>
<ui-button icon='pencil' action='set_relay_code'>Set</ui-button>
</ui-section>
{{/if}}
<ui-section label='Signal Mode'>
<span>{{data.mode}}</span>
<br>
<ui-button action='select_mode' params='{"mode": "Off"}'>Off</ui-button>
<ui-button action='select_mode' params='{"mode": "Local"}'>Local</ui-button>
<ui-button action='select_mode' params='{"mode": "Targeted"}'>Targeted</ui-button>
<ui-button action='select_mode' params='{"mode": "Area"}'>Area</ui-button>
<ui-button action='select_mode' params='{"mode": "Relay"}'>Relay</ui-button>
</ui-section>
{{/if}}
</ui-display>
<ui-display title='Saved Settings'>
{{#each data.saved_settings}}
<ui-button icon='load' action='comm_load' params='{"save_id": "{{id}}"}'>{{name}}</ui-button>
{{#if !data.locked}}
<ui-button icon='remove' action='remove_save' params='{"save_id": "{{id}}"}'>Remove</ui-button>
{{/if}}
<br>
{{/each}}
</ui-display>

View File

@@ -28,12 +28,9 @@
</ui-section> </ui-section>
<ui-section label='Settings'> <ui-section label='Settings'>
<ui-button icon='pencil' action='set_restart_timer'></ui-button> Restart Timer: {{data.timer_restart}} seconds<br> <ui-button icon='pencil' action='set_activation_delay'></ui-button> Activation Delay: {{data.activation_delay}} <br>
<ui-button icon='pencil' action='set_shutdown_timer'></ui-button> Shutdown Timer: {{data.timer_shutdown}} seconds<br> <ui-button icon='pencil' action='set_timer'></ui-button> Timer: {{data.timer}} <br>
{{#if data.can_trigger}} <ui-button icon='pencil' action='set_timer_type'></ui-button> Timer Type: {{data.timer_type}} <br>
<ui-button icon='pencil' action='set_trigger_timer'></ui-button> Trigger Repeat Timer: {{data.timer_trigger}} seconds<br>
<ui-button icon='pencil' action='set_timer_trigger_delay'></ui-button> Trigger Delay: {{data.timer_trigger_delay}} seconds<br>
{{/if}}
</ui-section> </ui-section>
<ui-section label='Codes'> <ui-section label='Codes'>

View File

@@ -3,9 +3,9 @@
This machine only accepts ore. Gibtonite and Slag are not accepted. This machine only accepts ore. Gibtonite and Slag are not accepted.
</ui-section> </ui-section>
<ui-section> <ui-section>
Current unclaimed points: {{data.unclaimedPoints}} Current unclaimed credits: {{data.unclaimedPoints}}
<ui-button action='Claim'> <ui-button action='Claim'>
Claim Points Claim
</ui-button> </ui-button>
</ui-section> </ui-section>
</ui-display> </ui-display>

View File

@@ -1,10 +1,10 @@
{{#if data.mode == 1}} {{#if data.mode == 1}}
<ui-display title='Beaker' button> <ui-display title='Beaker' button>
{{#partial button}} {{#partial button}}
<ui-button icon='remove' state='{{data.has_beaker && !data.beaker_empty ? null : "disabled"}}' action='empty_eject_beaker'> <ui-button icon='remove' state='{{data.has_beaker ? null : "disabled"}}' action='empty_eject_beaker'>
Empty and Eject Empty and eject
</ui-button> </ui-button>
<ui-button icon='trash' state='{{data.has_beaker && !data.beaker_empty ? null : "disabled"}}' action='empty_beaker'> <ui-button icon='trash' state='{{data.has_beaker ? null : "disabled"}}' action='empty_beaker'>
Empty Empty
</ui-button> </ui-button>
<ui-button icon='eject' state='{{data.has_beaker ? null : "disabled"}}' action='eject_beaker'> <ui-button icon='eject' state='{{data.has_beaker ? null : "disabled"}}' action='eject_beaker'>

View File

@@ -1,65 +0,0 @@
<script>
component.exports = {
computed: {
stackPercentState () {
const charge = this.get('data.stack_percent')
if (charge > 50) return 'good'
else if (charge > 15) return 'average'
else return 'bad'
},
sheetsAmount (){
const amount = this.get('data.sheets')
if (amount > 5) return 'good'
else if (amount > 0) return 'average'
else return 'bad'
}
}
}
</script>
{{#if !data.anchored}}
<ui-notice>
<span>Generator not anchored.</span>
</ui-notice>
{{/if}}
<ui-display title='Status'>
<ui-section label='Power switch'>
{{#if data.active}}
<ui-button icon='power-off' style='selected' action='toggle_power'>On</ui-button>
{{else}}
<ui-button icon='close' state='{{data.ready_to_boot ? null : "disabled"}}' action='toggle_power'>Off</ui-button>
{{/if}}
</ui-section>
<ui-section label='{{data.sheet_name}} sheets'>
<span class='{{sheetsAmount}}'>{{data.sheets}}</span>
{{#if data.sheets >= 1}}
<ui-button action='eject' state='{{data.active ? "disabled" : null}}'>Eject</ui-button>
{{/if}}
</ui-section>
<ui-section label='Current sheet level'>
<ui-bar min='0' max='100' value='{{data.stack_percent}}' state='{{stackPercentState}}'>{{Math.fixed(adata.stack_percent)}}%</ui-bar>
</ui-section>
<ui-section label='Heat level'>
{{#if data.current_heat < 100}}
<span class="good">Nominal</span>
{{elseif data.current_heat < 200}}
<span class="average">Caution</span>
{{else}}
<span class="bad">DANGER</span>
{{/if}}
</ui-section>
</ui-display>
<ui-display title='Output'>
<ui-section label='Current output'>
{{data.power_output}}
</ui-section>
<ui-section label='Adjust output'>
<ui-button icon='minus' action='lower_power'>{{data.power_generated}}</ui-button>
<ui-button icon='plus' action='higher_power'>{{data.power_generated}}</ui-button>
</ui-section>
<ui-section label='Power available'>
<span class='{{data.connected ? null : 'bad'}}'>{{data.connected ? data.power_available : "Unconnected" }}</span>
</ui-section>
</ui-display>

View File

@@ -1,10 +0,0 @@
<ui-display title='Reaction Chamber' button>
<ui-section>
{{#each data.reagents: reagent}}
<span>{{reagent}} : {{data.reagents[reagent]}}</span>
<ui-button action='remove' params='{"chem": {{reagent}}}'>Remove</ui-button><br>
{{/each}}
<ui-button action='add'>Add</ui-button><br>
</ui-section>
<span> Current status: {{data.emptying ? "Emptying" : "Filling"}} </span>
</ui-display>

View File

@@ -0,0 +1,43 @@
{{#if data.processing}}
<ui-notice>
<span>The grinder is currently processing and cannot be used.</span>
</ui-notice>
{{/if}}
<ui-display title='Processing Chamber' button>
{{#partial button}}
<ui-button icon='eject' state='{{(data.operating == 0) && data.contents ? null : "disabled"}}' action='eject'>Eject Contents</ui-button>
{{/partial}}
<ui-section label='Grinding'>
<span class='{{data.operating ? "average" : "good"}}'>{{data.operating ? "Busy" : "Ready"}}</span>
<ui-button icon='refresh' state='{{(data.operating == 0) && data.contents ? null : "disabled"}}' action='grind'>Activate</ui-button>
</ui-section>
<ui-section label='Contents'>
{{#if data.contents}}
{{#each adata.contentslist}}
<span class='highlight' intro-outro='fade'>The {{name}}</span><br/>
{{else}}
<span>No Contents</span>
{{/each}}
{{else}}
<span>No Contents</span>
{{/if}}
</ui-section>
</ui-display>
<ui-display title='Container' button>
{{#partial button}}
<ui-button icon='eject' state='{{(data.operating == 0) && data.isBeakerLoaded ? null : "disabled"}}' action='detach'>Detach</ui-button>
{{/partial}}
<ui-section label='Reagents'>
{{#if data.isBeakerLoaded}}
<span>{{Math.round(adata.beakerCurrentVolume)}}/{{data.beakerMaxVolume}} Units</span>
<br/>
{{#each adata.beakerContents}}
<span class='highlight' intro-outro='fade'>{{Math.fixed(volume, 2)}} units of {{name}}</span><br/>
{{else}}
<span class='bad'>Container Empty</span>
{{/each}}
{{else}}
<span class='average'>No Container</span>
{{/if}}
</ui-section>
</ui-display>

View File

@@ -1,95 +0,0 @@
<div style>
<span style="float:left;">
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 1}'>1</ui-button></span>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 2}'>2</ui-button></span>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 3}'>3</ui-button></span>
<br>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 4}'>4</ui-button></span>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 5}'>5</ui-button></span>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 6}'>6</ui-button></span>
<br>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 7}'>7</ui-button></span>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 8}'>8</ui-button></span>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 9}'>9</ui-button></span>
<br>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 10}'>10</ui-button></span>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 11}'>11</ui-button></span>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 12}'>12</ui-button></span>
<br>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 13}'>13</ui-button></span>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 14 }'>14</ui-button></span>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 15}'>15</ui-button></span>
<br>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 16}'>16</ui-button></span>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 17}'>17</ui-button></span>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 18}'>18</ui-button></span>
<br>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 19}'>19</ui-button></span>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 20}'>20</ui-button></span>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 21}'>21</ui-button></span>
<br>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 22}'>22</ui-button></span>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 23}'>23</ui-button></span>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 24}'>24</ui-button></span>
<br>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 25}'>25</ui-button></span>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 26}'>26</ui-button></span>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 27}'>27</ui-button></span>
<br>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 28}'>28</ui-button></span>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 29}'>29</ui-button></span>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 30}'>30</ui-button></span>
<br>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 31}'>31</ui-button></span>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 32}'>32</ui-button></span>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 33}'>33</ui-button></span>
<br>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 34}'>34</ui-button></span>
<span class="number black"><ui-button action='ChangeBetType' params='{"type": 35}'>35</ui-button></span>
<span class="number red"><ui-button action='ChangeBetType' params='{"type": 36}'>36</ui-button></span>
</span>
<span style="float:left; margin-top:40px;">
<ui-button class="image_button" action='ChangeBetType' params='{"type": "s1-18"}'><span class="roulette32x72 low"></ui-button>
<br>
<ui-button class="image_button" action='ChangeBetType' params='{"type": "even"}'><span class="roulette32x72 even"></ui-button>
<br>
<ui-button class="image_button" action='ChangeBetType' params='{"type": 0}'><span class="roulette32x72 zero"></ui-button>
<br>
<ui-button class="image_button" action='ChangeBetType' params='{"type": "odd"}'><span class="roulette32x72 odd"></ui-button>
<br>
<ui-button class="image_button" action='ChangeBetType' params='{"type": "s19-36"}'><span class="roulette32x72 high"></ui-button>
</span>
<span style="float:left; margin-top:160px;">
<ui-button class="image_button" action='ChangeBetType' params='{"type": "red"}'><span class="roulette32x72 red"></span></ui-button>
<br>
<ui-button class="image_button" action='ChangeBetType' params='{"type": "black"}'><span class="roulette32x72 black"></span></ui-button>
</span>
<div style="text-align:right;">
<span class="roulette64x64 nano"></span>
</div>
<span class="display" style="float:right;">
<div>
House balance: {{data.HouseBalance}}₵
<br>
Account balance: {{data.AccountBalance}}₵
<br>
Current bet: {{data.BetAmount}}₵ on {{data.BetType}}
</div>
<div class="amount" style="text-align:center;">
<ui-button action='ChangeBetAmount' params='{"amount": 10}'>Bet 10₵</ui-button>
<br>
<ui-button action='ChangeBetAmount' params='{"amount": 50}'>Bet 50₵</ui-button>
<br>
<ui-button action='ChangeBetAmount' params='{"amount": 100}'>Bet 100₵</ui-button>
<br>
<ui-button action='ChangeBetAmount' params='{"amount": 250}'>Bet 250₵</ui-button>
<br>
<ui-button action='ChangeBetAmount' params='{"amount": 500}'>Bet 500₵</ui-button>
<br>
<ui-button action='ChangeBetAmountCustom' >Bet a custom amount</ui-button>
<br>
<ui-button action='anchor'>{{data.IsAnchored ? "Unbolt" : "Bolt"}}</ui-button>
</div>
</span>
</div>

View File

@@ -1,55 +0,0 @@
&.roulette
.number .button
width 32px
height 32px
font-size 16px
margin 4px
margin-left 2px
border none
color white
.number.red
button-color-normal = #AA1818
button-color-selected = #CFBA47
@import "util/*"
@import "components/*"
.number.black
button-color-normal = #1A1A1A
@import "util/*"
@import "components/*"
.image_button
color none
width 32px
height 72px
font-size 16px
margin 4px
padding 0px
border none
.amount
.button
height 32px
font-size 16px
margin 4px
color white
width 90%
margin-top 8px
border-style ridge
border-color #06541f
button-color-normal = #146630
@import "util/*"
@import "components/*"
.display
padding 4px
margin 8px
width 200px
border-style ridge
color white
background-color #097a2d
border-color #06541f

View File

@@ -16,14 +16,6 @@
{{/each}} {{/each}}
</ui-display> </ui-display>
{{/if}} {{/if}}
{{#if data.category == 3}}
<ui-display title='Color'>
{{#each data.paint_colors}}
<ui-button state='{{@key == data.selected_color ? "selected" : null}}'
action='color' params='{"paint_color": {{@key}}}'>{{@key}}</ui-button>
{{/each}}
</ui-display>
{{/if}}
<ui-display title='Utilities'> <ui-display title='Utilities'>
<ui-button icon='{{data.mode & 1 ? "check-square-o" : "square-o"}}' <ui-button icon='{{data.mode & 1 ? "check-square-o" : "square-o"}}'
action='mode' params='{"mode": 1}'>Build</ui-button> action='mode' params='{"mode": 1}'>Build</ui-button>
@@ -36,42 +28,26 @@
action='mode' params='{"mode": 8}'>Paint</ui-button> action='mode' params='{"mode": 8}'>Paint</ui-button>
{{/if}} {{/if}}
</ui-display> </ui-display>
{{#if data.locked == 0}} <ui-display title='Category'>
<ui-display title='Category'> <ui-section>
<ui-section> <ui-button icon='{{data.category == 0 ? "check-square-o" : "square-o"}}' state='{{data.category <= 0 ? "selected" : null}}'
<ui-button icon='{{data.category == 0 ? "check-square-o" : "square-o"}}' state='{{data.category <= 0 ? "selected" : null}}' action='category' params='{"category": 0}'>Atmospherics</ui-button>
action='category' params='{"category": 0}'>Atmospherics</ui-button> <ui-button icon='{{data.category == 1 ? "check-square-o" : "square-o"}}' state='{{data.category == 1 ? "selected" : null}}'
<ui-button icon='{{data.category == 1 ? "check-square-o" : "square-o"}}' state='{{data.category == 1 ? "selected" : null}}' action='category' params='{"category": 1}'>Disposals</ui-button>
action='category' params='{"category": 1}'>Disposals</ui-button> <ui-button icon='{{data.category == 2 ? "check-square-o" : "square-o"}}' state='{{data.category == 2 ? "selected" : null}}'
<ui-button icon='{{data.category == 2 ? "check-square-o" : "square-o"}}' state='{{data.category == 2 ? "selected" : null}}' action='category' params='{"category": 2}'>Transit Tubes</ui-button>
action='category' params='{"category": 2}'>Transit Tubes</ui-button>
</ui-section>
</ui-display>
{{/if}}
{{#if data.category == 0}}
<ui-section label='Piping Layer'>
<ui-button state='{{data.piping_layer == 1 ? "selected" : null}}' action='piping_layer'
params='{"piping_layer": 1}'>1</ui-button>
<ui-button state='{{data.piping_layer == 2 ? "selected" : null}}' action='piping_layer'
params='{"piping_layer": 2}'>2</ui-button>
<ui-button state='{{data.piping_layer == 3 ? "selected" : null}}' action='piping_layer'
params='{"piping_layer": 3}'>3</ui-button>
</ui-section> </ui-section>
{{/if}} {{#if data.category == 0}}
{{#if data.category == 3}} <ui-section label='Piping Layer'>
<ui-section label='Ducting Layer'> <ui-button state='{{data.piping_layer == 1 ? "selected" : null}}' action='piping_layer'
<ui-button state='{{data.ducting_layer == 1 ? "selected" : null}}' action='ducting_layer' params='{"piping_layer": 1}'>1</ui-button>
params='{"ducting_layer": 1}'>1</ui-button> <ui-button state='{{data.piping_layer == 2 ? "selected" : null}}' action='piping_layer'
<ui-button state='{{data.ducting_layer == 2 ? "selected" : null}}' action='ducting_layer' params='{"piping_layer": 2}'>2</ui-button>
params='{"ducting_layer": 2}'>2</ui-button> <ui-button state='{{data.piping_layer == 3 ? "selected" : null}}' action='piping_layer'
<ui-button state='{{data.ducting_layer == 4 ? "selected" : null}}' action='ducting_layer' params='{"piping_layer": 3}'>3</ui-button>
params='{"ducting_layer": 4}'>3</ui-button> </ui-section>
<ui-button state='{{data.ducting_layer == 8 ? "selected" : null}}' action='ducting_layer' {{/if}}
params='{"ducting_layer": 8}'>4</ui-button> </ui-display>
<ui-button state='{{data.ducting_layer == 16 ? "selected" : null}}' action='ducting_layer'
params='{"ducting_layer": 16}'>5</ui-button>
</ui-section>
{{/if}}
{{#each data.categories}} {{#each data.categories}}
<ui-display title='{{cat_name}}'> <ui-display title='{{cat_name}}'>
{{#each recipes}} {{#each recipes}}
@@ -81,4 +57,4 @@
</ui-section> </ui-section>
{{/each}} {{/each}}
</ui-display> </ui-display>
{{/each}} {{/each}}

View File

@@ -0,0 +1,6 @@
<ui-display title='Color'>
{{#each data.paint_colors}}
<ui-button state='{{selected ? "selected" : null}}' action='color'
params='{"paint_color": {{color_name}}}'>{{color_name}}</ui-button>
{{/each}}
</ui-display>

View File

@@ -0,0 +1,10 @@
<ui-display title='Direction'>
{{#each data.preview_rows}}
<ui-section>
{{#each previews}}
<ui-button state='{{selected ? "selected" : null}}' action='setdir'
params='{"dir": {{dir}}, "flipped": {{flipped}}}'><img src='pipe.{{dir}}.{{icon_state}}.png' title='{{dir_name}}'/></ui-button>
{{/each}}
</ui-section>
{{/each}}
</ui-display>

View File

@@ -1,19 +0,0 @@
<ui-display title='Scanner Gate'>
<ui-section label='Scan Mode'><ui-button icon='pencil' action='set_mode'></ui-button> {{data.scan_mode}}</ui-section>
{{#if data.scan_mode == "Disease"}}
<ui-section label='Disease Severity'><ui-button icon='pencil' action='set_disease_threshold'></ui-button> {{data.disease_threshold}}</ui-section>
{{/if}}
{{#if data.scan_mode == "Nanites"}}
<ui-section label='Cloud ID'><ui-button icon='pencil' action='set_nanite_cloud'></ui-button> {{data.nanite_cloud}}</ui-section>
{{/if}}
{{#if data.scan_mode == "Species"}}
<ui-section label='Target Species'><ui-button icon='pencil' action='set_target_species'></ui-button> {{data.target_species}}</ui-section>
{{/if}}
{{#if data.scan_mode == "Hygiene"}}
<ui-section label='Hygiene Level'><ui-button icon='pencil' action='set_target_hygiene'></ui-button> {{data.target_hygiene}}</ui-section>
{{/if}}
{{#if data.scan_mode == "Nutrition"}}
<ui-section label='Nutrition Level'><ui-button icon='pencil' action='set_target_nutrition'></ui-button> {{data.target_nutrition}}</ui-section>
{{/if}}
<ui-section><ui-button tooltip='If inverted, the gate will detect all entities that do NOT meet the set requirements.' tooltip-side='right' action='toggle_reverse'>{{data.reverse ? "Inverted Scan" : "Regular Scan" }}</ui-button></ui-section>
</ui-display>

View File

@@ -15,12 +15,29 @@
<ui-bar min='0' max='{{data.occupant.maxHealth}}' value='{{data.occupant[type]}}' state='bad'>{{Math.round(adata.occupant[type])}}</ui-bar> <ui-bar min='0' max='{{data.occupant.maxHealth}}' value='{{data.occupant[type]}}' state='bad'>{{Math.round(adata.occupant[type])}}</ui-bar>
</ui-section> </ui-section>
{{/each}} {{/each}}
{{#if data.occupant.blood}}
<ui-section label='Blood'>
<ui-section label='Volume'>
<ui-bar min='0' max='{{data.occupant.blood.maxBloodVolume}}' value='{{data.occupant.blood.currentBloodVolume}}' state='{{data.occupant.blood.currentBloodVolume <= data.occupant.blood.dangerBloodVolume ? "bad" : "good"}}'>{{& data.occupant.blood.currentBloodVolume <= data.occupant.blood.dangerBloodVolume ? "<b>LOW</b>" : "OK"}} - {{Math.round(data.occupant.blood.currentBloodVolume)}} cl</ui-bar>
</ui-section>
<ui-section label='Type'>
<span class='highlight'>{{data.occupant.blood.bloodType}}</span>
</ui-section>
</ui-section>
{{/if}}
<ui-section label='Cells'> <ui-section label='Cells'>
<span class='{{data.occupant.cloneLoss ? "bad" : "good"}}'>{{data.occupant.cloneLoss ? "Damaged" : "Healthy"}}</span> <span class='{{data.occupant.cloneLoss ? "bad" : "good"}}'>{{data.occupant.cloneLoss ? "Damaged" : "Healthy"}}</span>
</ui-section> </ui-section>
<ui-section label='Brain'> <ui-section label='Brain'>
<span class='{{data.occupant.brainLoss ? "bad" : "good"}}'>{{data.occupant.brainLoss ? "Abnormal" : "Healthy"}}</span> <span class='{{data.occupant.brainLoss ? "bad" : "good"}}'>{{data.occupant.brainLoss ? "Abnormal" : "Healthy"}}</span>
</ui-section> </ui-section>
{{#if data.occupant.failing_organs}}
<ui-section label='Failing Organs'>
{{#each data.occupant.failing_organs}}
<span class='bad'> {{name}} </span>
{{/each}}
</ui-section>
{{/if}}
<ui-section label='Bloodstream'> <ui-section label='Bloodstream'>
{{#each adata.occupant.reagents}} {{#each adata.occupant.reagents}}
<span class='highlight' intro-outro='fade'>{{Math.fixed(volume, 1)}} units of {{name}}</span><br/> <span class='highlight' intro-outro='fade'>{{Math.fixed(volume, 1)}} units of {{name}}</span><br/>
@@ -34,9 +51,89 @@
<ui-section label='Door'> <ui-section label='Door'>
<ui-button icon='{{data.open ? "unlock" : "lock"}}' action='door'>{{data.open ? "Open" : "Closed"}}</ui-button> <ui-button icon='{{data.open ? "unlock" : "lock"}}' action='door'>{{data.open ? "Open" : "Closed"}}</ui-button>
</ui-section> </ui-section>
<ui-section label='Inject'>
{{#each data.chems}} <ui-section label='Synthesize'>
<ui-button icon='flask' state='{{data.occupied && allowed ? null : "disabled"}}' action='inject' params='{"chem": "{{id}}"}'>{{name}}</ui-button><br/> {{#each data.synthchems}}
<ui-button grid state='{{synth_allowed ? null : "disabled"}}' action='synth' params='{"chem": "{{id}}"}'>{{name}}</ui-button>
{{/each}} {{/each}}
</ui-section> </ui-section>
<ui-section label='Inject'>
<div class="display tabular">
<section class="candystripe">
<section class="compressedcell">
Name
</section>
<section class="compressedcell">
Volume
</section>
{{#if data.efficiency >= 4}}
<section class="compressedcell">
<span>Purity</span>
</section>
{{/if}}
{{#if data.efficiency >= 3}}
<section class="compressedcell">
</section>
{{/if}}
{{#if data.efficiency >= 2}}
<section class="compressedcell">
</section>
{{/if}}
<section class="compressedcell">
</section>
<section class="compressedcell">
</section>
</section>
{{#each data.chems}}
<section class="candystripe">
<section class="compressedcell">
<span><b>{{name}}</b></span>
</section>
<section class="compressedcell" align='center'>
<span>{{vol}}u</span>
</section>
{{#if data.efficiency >= 4}}
<section class="compressedcell" align='center'>
<span>{{purity}}</span>
</section>
{{/if}}
{{#if data.efficiency >= 3}}
<section class="compressedcell">
<ui-button state='{{data.occupied && allowed ? null : "disabled"}}' action='inject' params='{"chem": "{{id}}", "volume": 1}'>1</ui-button>
</section>
{{/if}}
{{#if adata.efficiency >= 2}}
<section class="compressedcell">
<ui-button state='{{data.occupied && allowed ? null : "disabled"}}' action='inject' params='{"chem": "{{id}}", "volume": 5}'>5</ui-button>
</section>
{{/if}}
<section class="compressedcell">
<ui-button state='{{data.occupied && allowed ? null : "disabled"}}' action='inject' params='{"chem": "{{id}}", "volume": 10}'>10</ui-button>
</section>
<section class="compressedcell">
<ui-button action='purge' params='{"chem": "{{id}}"}'>Purge</ui-button><br/>
</section>
</section>
{{/each}}
</div>
</ui-section>
<ui-section label='Capacity'>
<ui-bar min=0 max='{{data.tot_capacity}}' value='{{data.current_vol}}'
state='{{data.current_vol}}'>{{data.current_vol}}</ui-bar>
</ui-section>
</ui-display> </ui-display>

View File

@@ -5,7 +5,7 @@
{{/if}} {{/if}}
{{#if data.uv_active}} {{#if data.uv_active}}
<ui-notice> <ui-notice>
<span>Contents are being decontaminated. Please wait.</span> <span>Contents are being disinfected. Please wait.</span>
</ui-notice> </ui-notice>
{{else}} {{else}}
<ui-display title='Storage' button> <ui-display title='Storage' button>
@@ -35,7 +35,7 @@
action='dispense' params='{"item": "storage"}'>{{data.storage || "Empty"}}</ui-button> action='dispense' params='{"item": "storage"}'>{{data.storage || "Empty"}}</ui-button>
</ui-section> </ui-section>
{{else}} {{else}}
<ui-button icon='recycle' state='{{data.occupied && data.safeties ? "disabled" : null}}' action='uv'>Decontaminate</ui-button> <ui-button icon='recycle' state='{{data.occupied && data.safeties ? "disabled" : null}}' action='uv'>Disinfect</ui-button>
{{/if}} {{/if}}
</ui-display> </ui-display>
{{/if}} {{/if}}

View File

@@ -1,148 +0,0 @@
<link rel='ractive' href='./ntosheader.ract'>
<ntosheader/>
<ui-display>
<div style="position:relative;">
{{#if data.error}}
<div style="position:absolute; width=75%; margin:auto; padding:5px; top:2px; background-color: black; border: 1px solid #750000; text-align:center; z-index: 5000;">
<div style="color:white; font-weight: bold; font-style: italic; margin-bottom: 10px">
{{data.error}}
</div>
<div style="text-align:center; margin-bottom:3px">
<ui-button action='PRG_clear_error'>Confirm</ui-button>
</div>
</div>
{{/if}}
{{#if data.logged_in}}
{{#if data.page == "CONTRACTS"}}
<div style="position:absolute; top:2px; right:2px">
<ui-button action='PRG_contractor_hub'><div style="padding-top:6px; padding-bottom:3px"><i class="fas fa-satellite-dish fa-3x"></i></div></ui-button>
</div>
<div style="text-align:center">
<h1>Welcome Agent...</h1>
<br>
<h3>Current status: Onboard {{data.station_name}}.</h3>
</div>
<p>
We've identified potentional high-value targets that are currently
assigned to your mission area. They are believed to hold valuable information
which could be of immediate importance to our organisation.
</p>
<p>
Listed below are all of the contracts available to you. You are to bring the
specified target to the designated drop-off, and contact us via this uplink. We will send
a specialised extraction unit to put the body into.
</p>
<p>
We want targets alive - but we will sometimes pay slight amounts if they're not, you just won't
recieve the shown bonus. You can redeem your payment through this uplink in the form of raw telecrystals,
which can be put into your regular Syndicate uplink to purchase whatever you may need. We provide you with
these crystals the moment you send the target up to us, which can be collected at anytime through this system.
</p>
<p>
Targets extracted will be ransomed back to the station once their use to us is fulfilled, with us providing
you a small percentage cut. You may want to be mindful of them identifying you when they come back.
We provide you with the standard contractor loadout, which will help cover your identity.
</p>
<p>
You have {{data.redeemable_tc}} TC to redeem. <ui-button action='PRG_redeem_TC'>Collect</ui-button>
</p>
{{#if data.ongoing_contract}}
<div style="text-align:center; margin-bottom:3px">
<ui-button action='PRG_call_extraction' {{#if extraction_enroute}}state="disabled"{{/if}}>Call Extraction</ui-button>
</div>
{{/if}}
<table style="text-align:center;" border="2" cellspacing="0" width="100%">
<tr>
<th>Target</th>
<th>Payment</th>
<th>Drop-Off</th>
<th></th>
</tr>
{{#each data.contracts}}
{{#if data.ongoing_contract}}
{{#if status == 2 || status == 3 || status == 4}}
<tr>
<td>
<div>{{target}}</div>
<div>({{target_rank}})</div>
</td>
<td>{{payout}} (+{{payout_bonus}}) TC</td>
<td>{{dropoff}}</td>
<td><ui-button action='PRG_contract_abort' {{#if extraction_enroute}}state="disabled"{{/if}} params='{"contract_id": "{{id}}"}'>Cancel</ui-button></td>
</tr>
{{/if}}
{{else}}
{{#if status != 5 && status != 6}}
<tr>
<td>
<div>{{target}}</div>
<div>({{target_rank}})</div>
</td>
<td>{{payout}} (+{{payout_bonus}}) TC</td>
<td>{{dropoff}}</td>
<td><ui-button action='PRG_contract-accept' params='{"contract_id": "{{id}}"}'>Accept</ui-button></td>
</tr>
{{/if}}
{{/if}}
{{/each}}
</table>
{{#if data.ongoing_contract}}
<div style="text-align:center;">
<ui-display title='Dropoff Locator'>
Current Location: {{data.current_location}}
<br>
Dropoff Location: {{data.dropoff_direction}}
</ui-display>
</div>
{{/if}}
{{else}}
<div style="position:absolute; top:2px; left:2px"><ui-button action='PRG_hub_back'><i class="fas fa-arrow-left"></i> Back</ui-button></div>
<div style="position:absolute; top:2px; right:2px">Contractor Rep: {{data.contract_rep}}</div>
<br>
<br>
<p style="text-align: center">
The items available on the Hub are available only to contractors. They are bought using Contractor Rep, with two Rep being given on the completion of a contract.
</p>
<div class="margin-top: 10px">
{{#each data.contractor_hub_items}}
{{#if limited != 0}}
<div style="margin-top:10px; border: 1px solid white">
<div style="text-align:center; margin-top:5px; margin-bottom:3px">
{{name}}{{#if cost != 0}} - {{cost}} Rep{{/if}}
</div>
<div style="text-align:center; margin-top: 10px">
<i class="fas {{item_icon}} fa-3x"></i>
</div>
<div style="text-align:center; padding:15px">
<p>{{desc}}</p>
</div>
<div style="text-align:center; margin-bottom:5px">
<ui-button action='buy_hub' params='{"item": "{{name}}", "cost": "{{cost}}"}'>{{#if limited != -1}}Purchase - {{limited}} remaining{{else}}Purchase{{/if}}</ui-button>
</div>
</div>
{{/if}}
{{/each}}
</div>
{{/if}}
{{else}}
<div style="text-align:center">
<ui-button action='PRG_login'>Assign</ui-button><br>
{{#if data.error}}
{{data.error}}
{{/if}}
</div>
{{/if}}
</div>
</ui-display>

View File

@@ -1,12 +0,0 @@
<ui-display title='Select' button>
<ui-section>
{{#each data.possible_amounts}}
<ui-button icon='plus' state='{{data.amount == . ? "selected" : null}}' action='amount' params='{"target": {{.}}}'>{{.}}</ui-button>
{{/each}}
</ui-section>
<ui-section>
{{#each data.chemicals}}
<ui-button grid icon='tint' state='{{data.current_reagent == id ? "selected" : null}}' action='select' params='{"reagent": "{{id}}"}'>{{title}}</ui-button>
{{/each}}
</ui-section>
</ui-display>

View File

@@ -12,14 +12,14 @@
action='power'>{{data.on ? "On": "Off"}}</ui-button> action='power'>{{data.on ? "On": "Off"}}</ui-button>
</ui-section> </ui-section>
<ui-section label='Target Temperature'> <ui-section label='Target Temperature'>
<ui-button icon='fast-backward' state='{{data.target == data.min ? "disabled" : null}}' <ui-button icon='fast-backward' style='{{data.target == data.min ? "disabled" : null}}'
action='target' params='{"adjust": -20}'/> action='target' params='{"adjust": -20}'/>
<ui-button icon='backward' state='{{data.target == data.min ? "disabled" : null}}' <ui-button icon='backward' style='{{data.target == data.min ? "disabled" : null}}'
action='target' params='{"adjust": -5}'/> action='target' params='{"adjust": -5}'/>
<ui-button icon='pencil' action='target' params='{"target": "input"}'>{{Math.fixed(adata.target, 2)}}</ui-button> <ui-button icon='pencil' action='target' params='{"target": "input"}'>{{Math.fixed(adata.target, 2)}}</ui-button>
<ui-button icon='forward' state='{{data.target == data.max ? "disabled" : null}}' <ui-button icon='forward' style='{{data.target == data.max ? "disabled" : null}}'
action='target' params='{"adjust": 5}'/> action='target' params='{"adjust": 5}'/>
<ui-button icon='fast-forward' state='{{data.target == data.max ? "disabled" : null}}' <ui-button icon='fast-forward' style='{{data.target == data.max ? "disabled" : null}}'
action='target' params='{"adjust": 20}'/> action='target' params='{"adjust": 20}'/>
</ui-section> </ui-section>
</ui-display> </ui-display>

View File

@@ -1,10 +0,0 @@
<ui-display>
<ui-section label='Charge'>
<ui-bar min='0' max='{{data.max}}' value='{{data.stored}}'>{{Math.fixed(data.stored/1000)}}/{{data.max/1000}} kW</ui-bar>
</ui-section>
</ui-display>
<ui-display>
<ui-section label='Lock status'>
<ui-button state='{{data.stored < data.max ? "disabled" : null}}' action='togglelock'>{{data.doorstatus ? "Locked" : "Unlocked"}}</ui-button>
</ui-section>
</ui-display>

View File

@@ -0,0 +1,56 @@
<script>
component.exports = {
data: {
healthState(health) {
let maxhealth = this.get('data.vr_avatar.maxhealth')
if(health > (maxhealth/1.5)) return 'good'
else if(health > (maxhealth/3)) return 'average'
else return 'bad'
}
}
}
</script>
<ui-display>
{{#if data.emagged}}
<ui-notice>
<span>Safety restraints disabled.</span>
</ui-notice>
{{/if}}
{{#if data.vr_avatar}}
<ui-display title='Virtual Avatar'>
<ui-section label='Name'>
{{data.vr_avatar.name}}
</ui-section>
{{#if data.isliving}}
<ui-section label='Status'>
{{data.vr_avatar.status}}
</ui-section>
<ui-section label='Health'>
<ui-bar min='0' max='{{adata.vr_avatar.maxhealth}}' value='{{adata.vr_avatar.health}}' state='{{healthState(adata.vr_avatar.health)}}'>{{Math.round(adata.vr_avatar.health)}}/{{adata.vr_avatar.maxhealth}}</ui-bar>
</ui-section>
{{/if}}
</ui-display>
{{else}}
<ui-display title='Virtual Avatar'>
No Virtual Avatar detected
</ui-display>
{{/if}}
<ui-display title='VR Commands'>
<ui-button icon='{{data.toggle_open ? "times" : "plus"}}' action='toggle_open'>
{{data.toggle_open ? "Close" : "Open"}} the VR Sleeper
</ui-button>
{{#if data.isoccupant}}
<ui-button icon='signal' action='vr_connect'>
Connect to VR
</ui-button>
{{/if}}
{{#if data.vr_avatar}}
<ui-button icon='ban' action='delete_avatar'>
Delete Virtual Avatar
</ui-button>
{{/if}}
</ui-display>
</ui-display>