=0&&p+"s"||"Dispensing..."})]})})})}}},function(e,t,n){"use strict";t.__esModule=!0,t.ForbiddenLore=void 0;var o=n(0),r=n(16),a=n(34),i=n(1),c=n(3),l=n(2);t.ForbiddenLore=function(e,t){var n=(0,i.useBackend)(t),d=n.act,u=n.data,s=u.charges,p=(0,a.flow)([(0,r.sortBy)((function(e){return"Research"!==e.state}),(function(e){return"Side"===e.path}))])(u.to_know||[]);return(0,o.createComponentVNode)(2,l.Window,{width:500,height:900,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.Section,{title:"Research Eldritch Knowledge",children:["Charges left : ",s,null!==p?p.map((function(e){return(0,o.createComponentVNode)(2,c.Section,{title:e.name,level:2,children:[(0,o.createComponentVNode)(2,c.Box,{bold:!0,my:1,children:[e.path," path"]}),(0,o.createComponentVNode)(2,c.Box,{my:1,children:[(0,o.createComponentVNode)(2,c.Button,{content:e.state,disabled:e.disabled,onClick:function(){return d("research",{name:e.name,cost:e.cost})}})," ","Cost : ",e.cost]}),(0,o.createComponentVNode)(2,c.Box,{italic:!0,my:1,children:e.flavour}),(0,o.createComponentVNode)(2,c.Box,{my:1,children:e.desc})]},e.name)})):(0,o.createComponentVNode)(2,c.Box,{children:"No more knowledge can be found"})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Gateway=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.Gateway=function(){return(0,o.createComponentVNode)(2,i.Window,{resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.gateway_present,d=void 0!==l&&l,u=c.gateway_status,s=void 0!==u&&u,p=c.current_target,m=void 0===p?null:p,h=c.destinations,f=void 0===h?[]:h;return d?m?(0,o.createComponentVNode)(2,a.Section,{title:m.name,children:[(0,o.createComponentVNode)(2,a.Icon,{name:"rainbow",size:4,color:"green"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,onClick:function(){return i("deactivate")},children:"Deactivate"})]}):f.length?(0,o.createFragment)([!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Gateway Unpowered"}),f.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,children:e.availible&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,onClick:function(){return i("activate",{destination:e.ref})},children:"Activate"})||(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{m:1,textColor:"bad",children:e.reason}),!!e.timeout&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:e.timeout,children:"Calibrating..."})],0)},e.ref)}))],0):(0,o.createComponentVNode)(2,a.Section,{children:"No gateway nodes detected."}):(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No linked gateway"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,onClick:function(){return i("linkup")},children:"Linkup"})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.GlandDispenser=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.GlandDispenser=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data.glands,d=void 0===l?[]:l;return(0,o.createComponentVNode)(2,i.Window,{width:300,height:338,theme:"abductor",children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:"60px",height:"60px",m:.75,textAlign:"center",lineHeight:"55px",icon:"eject",backgroundColor:e.color,content:e.amount||"0",disabled:!e.amount,onClick:function(){return c("dispense",{gland_id:e.id})}},e.id)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Gps=void 0;var o=n(0),r=n(16),a=n(34),i=n(14),c=n(120),l=n(1),d=n(3),u=n(2),s=function(e){return(0,r.map)(parseFloat)(e.split(", "))};t.Gps=function(e,t){var n=(0,l.useBackend)(t),p=n.act,m=n.data,h=m.currentArea,f=m.currentCoords,C=m.globalmode,g=m.power,b=m.tag,N=m.updating,v=(0,a.flow)([(0,r.map)((function(e,t){var n=e.dist&&Math.round((0,c.vecLength)((0,c.vecSubtract)(s(f),s(e.coords))));return Object.assign({},e,{dist:n,index:t})})),(0,r.sortBy)((function(e){return e.dist===undefined}),(function(e){return e.entrytag}))])(m.signals||[]);return(0,o.createComponentVNode)(2,u.Window,{title:"Global Positioning System",width:470,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,u.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,d.Section,{title:"Control",buttons:(0,o.createComponentVNode)(2,d.Button,{icon:"power-off",content:g?"On":"Off",selected:g,onClick:function(){return p("power")}}),children:(0,o.createComponentVNode)(2,d.LabeledList,{children:[(0,o.createComponentVNode)(2,d.LabeledList.Item,{label:"Tag",children:(0,o.createComponentVNode)(2,d.Button,{icon:"pencil-alt",content:b,onClick:function(){return p("rename")}})}),(0,o.createComponentVNode)(2,d.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,d.Button,{icon:N?"unlock":"lock",content:N?"AUTO":"MANUAL",color:!N&&"bad",onClick:function(){return p("updating")}})}),(0,o.createComponentVNode)(2,d.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,d.Button,{icon:"sync",content:C?"MAXIMUM":"LOCAL",selected:!C,onClick:function(){return p("globalmode")}})})]})}),!!g&&(0,o.createFragment)([(0,o.createComponentVNode)(2,d.Section,{title:"Current Location",children:(0,o.createComponentVNode)(2,d.Box,{fontSize:"18px",children:[h," (",f,")"]})}),(0,o.createComponentVNode)(2,d.Section,{title:"Detected Signals",children:(0,o.createComponentVNode)(2,d.Table,{children:[(0,o.createComponentVNode)(2,d.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,d.Table.Cell,{content:"Name"}),(0,o.createComponentVNode)(2,d.Table.Cell,{collapsing:!0,content:"Direction"}),(0,o.createComponentVNode)(2,d.Table.Cell,{collapsing:!0,content:"Coordinates"})]}),v.map((function(e){return(0,o.createComponentVNode)(2,d.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,d.Table.Cell,{bold:!0,color:"label",children:e.entrytag}),(0,o.createComponentVNode)(2,d.Table.Cell,{collapsing:!0,opacity:e.dist!==undefined&&(0,i.clamp)(1.2/Math.log(Math.E+e.dist/20),.4,1),children:[e.degrees!==undefined&&(0,o.createComponentVNode)(2,d.Icon,{mr:1,size:1.2,name:"arrow-up",rotation:e.degrees}),e.dist!==undefined&&e.dist+"m"]}),(0,o.createComponentVNode)(2,d.Table.Cell,{collapsing:!0,children:e.coords})]},e.entrytag+e.coords+e.index)}))]})})],4)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GravityGenerator=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.GravityGenerator=function(e,t){var n=(0,r.useBackend)(t),l=(n.act,n.data),d=l.charging_state,u=l.operational;return(0,o.createComponentVNode)(2,i.Window,{width:400,height:165,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[!u&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No data available"}),!!u&&0!==d&&(0,o.createComponentVNode)(2,a.NoticeBox,{danger:!0,children:"WARNING - Radiation detected"}),!!u&&0===d&&(0,o.createComponentVNode)(2,a.NoticeBox,{success:!0,children:"No radiation detected"}),!!u&&(0,o.createComponentVNode)(2,c)]})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.breaker,d=c.charge_count,u=c.charging_state,s=c.on,p=c.operational;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:l?"power-off":"times",content:l?"On":"Off",selected:l,disabled:!p,onClick:function(){return i("gentoggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gravity Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d/100,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",children:[0===u&&(s&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Fully Charged"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Not Charging"})),1===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Charging"}),2===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Discharging"})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagItemReclaimer=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.GulagItemReclaimer=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.mobs,u=void 0===d?[]:d;return(0,o.createComponentVNode)(2,i.Window,{width:325,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[0===u.length&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No stored items"}),u.length>0&&(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",children:(0,o.createComponentVNode)(2,a.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:(0,o.createComponentVNode)(2,a.Button,{content:"Retrieve Items",disabled:!l.can_reclaim,onClick:function(){return c("release_items",{mobref:e.mob})}})})]},e.mob)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagTeleporterConsole=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.GulagTeleporterConsole=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.teleporter,u=l.teleporter_lock,s=l.teleporter_state_open,p=l.teleporter_location,m=l.beacon,h=l.beacon_location,f=l.id,C=l.id_name,g=l.can_teleport,b=l.goal,N=void 0===b?0:b,v=l.prisoner,V=void 0===v?{}:v;return(0,o.createComponentVNode)(2,i.Window,{width:350,height:295,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Teleporter Console",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:s?"Open":"Closed",disabled:u,selected:s,onClick:function(){return c("toggle_open")}}),(0,o.createComponentVNode)(2,a.Button,{icon:u?"lock":"unlock",content:u?"Locked":"Unlocked",selected:u,disabled:s,onClick:function(){return c("teleporter_lock")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleporter Unit",color:d?"good":"bad",buttons:!d&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return c("scan_teleporter")}}),children:d?p:"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiver Beacon",color:m?"good":"bad",buttons:!m&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return c("scan_beacon")}}),children:m?h:"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Prisoner Details",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prisoner ID",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:f?C:"No ID",onClick:function(){return c("handle_id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Point Goal",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:N,width:"48px",minValue:1,maxValue:1e3,onChange:function(e,t){return c("set_goal",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",children:V.name||"No Occupant"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Status",children:V.crimstat||"No Status"})]})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Process Prisoner",disabled:!g,textAlign:"center",color:"bad",onClick:function(){return c("teleport")}})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.Holodeck=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.can_toggle_safety,u=l.default_programs,s=void 0===u?[]:u,p=l.emag_programs,m=void 0===p?[]:p,h=l.emagged,f=l.program;return(0,o.createComponentVNode)(2,i.Window,{width:400,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Default Programs",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:h?"unlock":"lock",content:"Safeties",color:"bad",disabled:!d,selected:!h,onClick:function(){return c("safety")}}),children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),textAlign:"center",selected:e.type===f,onClick:function(){return c("load_program",{type:e.type})}},e.type)}))}),!!h&&(0,o.createComponentVNode)(2,a.Section,{title:"Dangerous Programs",children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),color:"bad",textAlign:"center",selected:e.type===f,onClick:function(){return c("load_program",{type:e.type})}},e.type)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holopad=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.Holopad=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data.calling;return(0,o.createComponentVNode)(2,i.Window,{width:440,height:245,resizable:!0,children:[!!d&&(0,o.createComponentVNode)(2,a.Modal,{fontSize:"36px",fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mr:2,mt:2,children:(0,o.createComponentVNode)(2,a.Icon,{name:"phone-alt",rotation:25})}),(0,o.createComponentVNode)(2,a.Flex.Item,{mr:2,children:"Dialing..."})]}),(0,o.createComponentVNode)(2,a.Box,{mt:2,textAlign:"center",fontSize:"24px",children:(0,o.createComponentVNode)(2,a.Button,{lineHeight:"40px",icon:"times",content:"Hang Up",color:"bad",onClick:function(){return l("hang_up")}})})]}),(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c)})]})};var c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.on_network,d=c.on_cooldown,u=c.allowed,s=c.disk,p=c.disk_record,m=c.replay_mode,h=c.loop_mode,f=c.record_mode,C=c.holo_calls,g=void 0===C?[]:C;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Holopad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"bell",content:d?"AI Presence Requested":"Request AI Presence",disabled:!l||d,onClick:function(){return i("AIrequest")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Communicator",children:(0,o.createComponentVNode)(2,a.Button,{icon:"phone-alt",content:u?"Connect To Holopad":"Call Holopad",disabled:!l,onClick:function(){return i("holocall",{headcall:u})}})}),g.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.connected?"Current Call":"Incoming Call",children:(0,o.createComponentVNode)(2,a.Button,{icon:e.connected?"phone-slash":"phone-alt",content:e.connected?"Disconnect call from "+e.caller:"Answer call from "+e.caller,color:e.connected?"bad":"good",disabled:!l,onClick:function(){return i(e.connected?"disconnectcall":"connectcall",{holopad:e.ref})}})},e.ref)}))]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holodisk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!s||m||f,onClick:function(){return i("disk_eject")}}),children:!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No holodisk"})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk Player",children:[(0,o.createComponentVNode)(2,a.Button,{icon:m?"pause":"play",content:m?"Stop":"Replay",selected:m,disabled:f||!p,onClick:function(){return i("replay_mode")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:h?"Looping":"Loop",selected:h,disabled:f||!p,onClick:function(){return i("loop_mode")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"exchange-alt",content:"Change Offset",disabled:!m,onClick:function(){return i("offset")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Recorder",children:[(0,o.createComponentVNode)(2,a.Button,{icon:f?"pause":"video",content:f?"End Recording":"Record",selected:f,disabled:p&&!f||m,onClick:function(){return i("record_mode")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Clear Recording",color:"bad",disabled:!p||m||f,onClick:function(){return i("record_clear")}})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.HypnoChair=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.HypnoChair=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data;return(0,o.createComponentVNode)(2,i.Window,{width:375,height:480,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",children:"The Enhanced Interrogation Chamber is designed to induce a deep-rooted trance trigger into the subject. Once the procedure is complete, by using the implanted trigger phrase, the authorities are able to ensure immediate and complete obedience and truthfulness."}),(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:l.occupant.name?l.occupant.name:"No Occupant"}),!!l.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===l.occupant.stat?"good":1===l.occupant.stat?"average":"bad",children:0===l.occupant.stat?"Conscious":1===l.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:l.open?"unlock":"lock",color:l.open?"default":"red",content:l.open?"Open":"Closed",onClick:function(){return c("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Phrase",children:(0,o.createComponentVNode)(2,a.Input,{value:l.trigger,onChange:function(e,t){return c("set_phrase",{phrase:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Interrogate Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:l.interrogating?"Interrupt Interrogation":"Begin Enhanced Interrogation",onClick:function(){return c("interrogate")}}),1===l.interrogating&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ImplantChair=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.ImplantChair=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data;return(0,o.createComponentVNode)(2,i.Window,{width:375,height:280,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:l.occupant.name||"No Occupant"}),!!l.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===l.occupant.stat?"good":1===l.occupant.stat?"average":"bad",children:0===l.occupant.stat?"Conscious":1===l.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:l.open?"unlock":"lock",color:l.open?"default":"red",content:l.open?"Open":"Closed",onClick:function(){return c("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implant Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:l.ready?l.special_name||"Implant":"Recharging",onClick:function(){return c("implant")}}),0===l.ready&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implants Remaining",children:[l.ready_implants,1===l.replenishing&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",color:"red",spin:!0})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.InfraredEmitter=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.InfraredEmitter=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.visible;return(0,o.createComponentVNode)(2,i.Window,{width:225,height:110,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return c("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Visibility",children:(0,o.createComponentVNode)(2,a.Button,{icon:u?"eye":"eye-slash",content:u?"Visible":"Invisible",selected:u,onClick:function(){return c("visibility")}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Intellicard=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.Intellicard=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.name,u=l.isDead,s=l.isBraindead,p=l.health,m=l.wireless,h=l.radio,f=l.wiping,C=l.laws,g=void 0===C?[]:C,b=u||s;return(0,o.createComponentVNode)(2,i.Window,{width:500,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:d||"Empty Card",buttons:!!d&&(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:f?"Stop Wiping":"Wipe",disabled:u,onClick:function(){return c("wipe")}}),children:!!d&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:b?"bad":"good",children:b?"Offline":"Operation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Software Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"Wireless Activity",selected:m,onClick:function(){return c("wireless")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:"Subspace Radio",selected:h,onClick:function(){return c("radio")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laws",children:g.map((function(e){return(0,o.createComponentVNode)(2,a.BlockQuote,{children:e},e)}))})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Jukebox=void 0;var o=n(0),r=n(16),a=n(34),i=n(1),c=n(3),l=n(2);t.Jukebox=function(e,t){var n=(0,i.useBackend)(t),d=n.act,u=n.data,s=u.active,p=u.track_selected,m=u.track_length,h=u.track_beat,f=u.volume,C=(0,a.flow)([(0,r.sortBy)((function(e){return e.name}))])(u.songs||[]);return(0,o.createComponentVNode)(2,l.Window,{width:370,height:313,children:(0,o.createComponentVNode)(2,l.Window.Content,{children:[(0,o.createComponentVNode)(2,c.Section,{title:"Song Player",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:s?"pause":"play",content:s?"Stop":"Play",selected:s,onClick:function(){return d("toggle")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Track Selected",children:(0,o.createComponentVNode)(2,c.Dropdown,{"overflow-y":"scroll",width:"240px",options:C.map((function(e){return e.name})),disabled:s,selected:p||"Select a Track",onSelected:function(e){return d("select_track",{track:e})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Track Length",children:p?m:"No Track Selected"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Track Beat",children:[p?h:"No Track Selected",1===h?" beat":" beats"]})]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Machine Settings",children:(0,o.createComponentVNode)(2,c.LabeledControls,{justify:"center",children:(0,o.createComponentVNode)(2,c.LabeledControls.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,c.Box,{position:"relative",children:[(0,o.createComponentVNode)(2,c.Knob,{size:3.2,color:f>=50?"red":"green",value:f,unit:"%",minValue:0,maxValue:100,step:1,stepPixelSize:1,disabled:s,onDrag:function(e,t){return d("set_volume",{volume:t})}}),(0,o.createComponentVNode)(2,c.Button,{fluid:!0,position:"absolute",top:"-2px",right:"-22px",color:"transparent",icon:"fast-backward",onClick:function(){return d("set_volume",{volume:"min"})}}),(0,o.createComponentVNode)(2,c.Button,{fluid:!0,position:"absolute",top:"16px",right:"-22px",color:"transparent",icon:"fast-forward",onClick:function(){return d("set_volume",{volume:"max"})}}),(0,o.createComponentVNode)(2,c.Button,{fluid:!0,position:"absolute",top:"34px",right:"-22px",color:"transparent",icon:"undo",onClick:function(){return d("set_volume",{volume:"reset"})}})]})})})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.KeycardAuth=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.KeycardAuth=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data;return(0,o.createComponentVNode)(2,i.Window,{width:375,height:125,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{children:1===l.waiting&&(0,o.createVNode)(1,"span",null,"Waiting for another device to confirm your request...",16)}),(0,o.createComponentVNode)(2,a.Box,{children:0===l.waiting&&(0,o.createFragment)([!!l.auth_required&&(0,o.createComponentVNode)(2,a.Button,{icon:"check-square",color:"red",textAlign:"center",lineHeight:"60px",fluid:!0,onClick:function(){return c("auth_swipe")},content:"Authorize"}),0===l.auth_required&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",fluid:!0,onClick:function(){return c("red_alert")},content:"Red Alert"}),(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",fluid:!0,onClick:function(){return c("emergency_maint")},content:"Emergency Maintenance Access"}),(0,o.createComponentVNode)(2,a.Button,{icon:"meteor",fluid:!0,onClick:function(){return c("bsa_unlock")},content:"Bluespace Artillery Unlock"})],4)],0)})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaborClaimConsole=void 0;var o=n(0),r=n(19),a=n(1),i=n(3),c=n(2);t.LaborClaimConsole=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.can_go_home,s=d.id_points,p=d.ores,m=d.status_info,h=d.unclaimed_points;return(0,o.createComponentVNode)(2,c.Window,{width:315,height:430,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:m}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle controls",children:(0,o.createComponentVNode)(2,i.Button,{content:"Move shuttle",disabled:!u,onClick:function(){return l("move_shuttle")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Points",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Unclaimed points",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Claim points",disabled:!h,onClick:function(){return l("claim_points")}}),children:h})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Material values",children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Material"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),p.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.ore)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.value})})]},e.ore)}))]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.LanguageMenu=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.LanguageMenu=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.admin_mode,u=l.is_living,s=l.omnitongue,p=l.languages,m=void 0===p?[]:p,h=l.unknown_languages,f=void 0===h?[]:h;return(0,o.createComponentVNode)(2,i.Window,{title:"Language Menu",width:700,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Known Languages",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([!!u&&(0,o.createComponentVNode)(2,a.Button,{content:e.is_default?"Default Language":"Select as Default",disabled:!e.can_speak,selected:e.is_default,onClick:function(){return c("select_default",{language_name:e.name})}}),!!d&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return c("grant_language",{language_name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Remove",onClick:function(){return c("remove_language",{language_name:e.name})}})],4)],0),children:[e.desc," ","Key: ,",e.key," ",e.can_understand?"Can understand.":"Cannot understand."," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})}),!!d&&(0,o.createComponentVNode)(2,a.Section,{title:"Unknown Languages",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Omnitongue "+(s?"Enabled":"Disabled"),selected:s,onClick:function(){return c("toggle_omnitongue")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:f.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return c("grant_language",{language_name:e.name})}}),children:[e.desc," ","Key: ,",e.key," ",!!e.shadow&&"(gained from mob)"," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaunchpadRemote=void 0;var o=n(0),r=n(1),a=n(3),i=n(2),c=n(181);t.LaunchpadRemote=function(e,t){var n=(0,r.useBackend)(t).data,l=n.has_pad,d=n.pad_closed;return(0,o.createComponentVNode)(2,i.Window,{title:"Briefcase Launchpad Remote",width:300,height:240,theme:"syndicate",children:(0,o.createComponentVNode)(2,i.Window.Content,{children:!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Launchpad Connected"})||d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Launchpad Closed"})||(0,o.createComponentVNode)(2,c.LaunchpadControl,{topLevel:!0})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MafiaPanel=void 0;var o=n(0),r=n(6),a=(n(19),n(1)),i=n(3),c=n(2);t.MafiaPanel=function(e,t){var n=(0,a.useBackend)(t),d=n.act,u=n.data,s=u.lobbydata,p=u.players,m=u.actions,h=u.phase,f=u.roleinfo,C=u.role_theme,g=u.admin_controls,b=u.judgement_phase,N=u.timeleft,v=u.all_roles,V=f?30*p.length:7,y=s?s.filter((function(e){return"Ready"===e.status})):null;return(0,o.createComponentVNode)(2,c.Window,{title:"Mafia",theme:C,width:650,height:293+V,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:g,children:[!f&&(0,o.createComponentVNode)(2,i.Flex,{scrollable:!0,overflowY:"scroll",direction:"column",height:"100%",grow:1,children:(0,o.createComponentVNode)(2,i.Section,{title:"Lobby",mb:1,buttons:(0,o.createComponentVNode)(2,l,{phase:h,timeleft:N,admin_controls:g}),children:(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i.NoticeBox,{info:!0,children:["The lobby currently has ",y.length,"/12 valid players signed up."]}),(0,o.createComponentVNode)(2,i.Flex,{direction:"column",children:!!s&&s.map((function(e){return(0,o.createComponentVNode)(2,i.Flex.Item,{basis:2,className:"Section__title candystripe",children:(0,o.createComponentVNode)(2,i.Flex,{height:2,align:"center",justify:"space-between",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:0,children:e.name}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:"STATUS:"}),(0,o.createComponentVNode)(2,i.Flex.Item,{width:"30%",children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{color:"Ready"===e.status?"green":"red",textAlign:"center",children:[e.status," ",e.spectating]})})})]})},e)}))})]})})}),!!f&&(0,o.createComponentVNode)(2,i.Section,{title:h,minHeight:"100px",maxHeight:"50px",buttons:(0,o.createComponentVNode)(2,i.Box,{children:[!!g&&(0,o.createComponentVNode)(2,i.Button,{color:"red",icon:"gavel",tooltipPosition:"bottom-left",tooltip:"Hello admin! If it is the admin controls you seek,\nplease notice the extra scrollbar you have that players\ndo not!"})," ",(0,o.createComponentVNode)(2,i.TimeDisplay,{auto:"down",value:N})]}),children:(0,o.createComponentVNode)(2,i.Flex,{justify:"space-between",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{align:"center",textAlign:"center",maxWidth:"500px",children:[(0,o.createVNode)(1,"b",null,[(0,o.createTextVNode)("You are the "),f.role],0),(0,o.createVNode)(1,"br"),(0,o.createVNode)(1,"b",null,f.desc,0)]}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:[(0,o.createComponentVNode)(2,i.Box,{className:(0,r.classes)(["mafia32x32",f.revealed_icon]),style:{transform:"scale(2) translate(0px, 10%)","vertical-align":"middle"}}),(0,o.createComponentVNode)(2,i.Box,{className:(0,r.classes)(["mafia32x32",f.hud_icon]),style:{transform:"scale(2) translate(-5px, -5px)","vertical-align":"middle"}})]})]})}),(0,o.createComponentVNode)(2,i.Flex,{children:!!m&&m.map((function(e){return(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return d("mf_action",{atype:e})},children:e})},e)}))}),!!f&&(0,o.createComponentVNode)(2,i.Section,{title:"Judgement",buttons:(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"info",tooltipPosition:"left",tooltip:"When someone is on trial, you are in charge of their fate.\nInnocent winning means the person on trial can live to see\nanother day... and in losing they do not. You can go back\nto abstaining with the middle button if you reconsider."}),children:[(0,o.createComponentVNode)(2,i.Flex,{justify:"space-around",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"smile-beam",content:"INNOCENT!",color:"good",disabled:!b,onClick:function(){return d("vote_innocent")}}),!b&&(0,o.createComponentVNode)(2,i.Box,{children:"There is nobody on trial at the moment."}),!!b&&(0,o.createComponentVNode)(2,i.Box,{children:"It is now time to vote, vote the accused innocent or guilty!"}),(0,o.createComponentVNode)(2,i.Button,{icon:"angry",content:"GUILTY!",color:"bad",disabled:!b,onClick:function(){return d("vote_guilty")}})]}),(0,o.createComponentVNode)(2,i.Flex,{justify:"center",children:(0,o.createComponentVNode)(2,i.Button,{icon:"meh",content:"Abstain",color:"white",disabled:!b,onClick:function(){return d("vote_abstain")}})})]}),"No Game"!==h&&(0,o.createComponentVNode)(2,i.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:2,children:(0,o.createComponentVNode)(2,i.Section,{title:"Players",buttons:(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"info",tooltip:"This is the list of all the players in\nthe game, during the day phase you may vote on them and,\ndepending on your role, select players\nat certain phases to use your ability."}),children:(0,o.createComponentVNode)(2,i.Flex,{direction:"column",children:!!p&&p.map((function(e){return(0,o.createComponentVNode)(2,i.Flex.Item,{height:"30px",className:"Section__title candystripe",children:(0,o.createComponentVNode)(2,i.Flex,{height:"18px",justify:"space-between",align:"center",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:16,children:[!!e.alive&&(0,o.createComponentVNode)(2,i.Box,{children:e.name}),!e.alive&&(0,o.createComponentVNode)(2,i.Box,{color:"red",children:e.name})]}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:!e.alive&&(0,o.createComponentVNode)(2,i.Box,{color:"red",children:"DEAD"})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:e.votes!==undefined&&!!e.alive&&(0,o.createFragment)([(0,o.createTextVNode)("Votes : "),e.votes,(0,o.createTextVNode)(" ")],0)}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:!!e.actions&&e.actions.map((function(t){return(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return d("mf_targ_action",{atype:t,target:e.ref})},children:t},t)}))})]})},e.ref)}))})})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:2,children:(0,o.createComponentVNode)(2,i.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,i.Section,{title:"Roles and Notes",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"address-book",tooltipPosition:"bottom-left",tooltip:"The top section is the roles in the game. You can\npress the question mark to get a quick blurb\nabout the role itself."}),(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"edit",tooltipPosition:"bottom-left",tooltip:"The bottom section are your notes. on some roles this\nwill just be an empty box, but on others it records the\nactions of your abilities (so for example, your\ndetective work revealing a changeling)."})],4),children:(0,o.createComponentVNode)(2,i.Flex,{direction:"column",children:!!v&&v.map((function(e){return(0,o.createComponentVNode)(2,i.Flex.Item,{height:"30px",className:"Section__title candystripe",children:(0,o.createComponentVNode)(2,i.Flex,{height:"18px",align:"center",justify:"space-between",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:e}),(0,o.createComponentVNode)(2,i.Flex.Item,{textAlign:"right",children:(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"question",onClick:function(){return d("mf_lookup",{atype:e.slice(0,-3)})}})})]})},e)}))})}),!!f&&(0,o.createComponentVNode)(2,i.Flex.Item,{height:0,grow:1,children:(0,o.createComponentVNode)(2,i.Section,{scrollable:!0,fill:!0,overflowY:"scroll",children:f!==undefined&&!!f.action_log&&f.action_log.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:e},e)}))})})]})})]}),(0,o.createComponentVNode)(2,i.Flex,{mt:1,direction:"column",children:(0,o.createComponentVNode)(2,i.Flex.Item,{children:!!g&&(0,o.createComponentVNode)(2,i.Section,{textAlign:"center",children:(0,o.createComponentVNode)(2,i.Collapsible,{title:"ADMIN CONTROLS",color:"red",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",color:"black",tooltipPosition:"top",tooltip:"Almost all of these are all built to help me debug\nthe game (ow, debugging a 12 player game!) So they are\nrudamentary and prone to breaking at the drop of a hat.\nMake sure you know what you're doing when you press one.\nAlso because an admin did it: do not gib/delete/dust\nanyone! It will runtime the game to death!",content:"A Kind, Coder Warning",onClick:function(){return d("next_phase")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-right",tooltipPosition:"top",tooltip:"This will advance the game to the next phase\n(day talk > day voting, day voting > night/trial)\npretty fun to just spam this and freak people out,\ntry that roundend!",content:"Next Phase",onClick:function(){return d("next_phase")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"home",tooltipPosition:"top",tooltip:"Hopefully you won't use this button\noften, it's a safety net just in case\nmafia players somehow escape (nullspace\nredirects to the error room then station)\nEither way, VERY BAD IF THAT HAPPENS as\ngodmoded assistants will run free. Use\nthis to recollect them then make a bug report.",content:"Send All Players Home",onClick:function(){return d("players_home")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync-alt",tooltipPosition:"top",tooltip:"This immediately ends the game, and attempts to start\nanother. Nothing will happen if another\ngame fails to start!",content:"New Game",onClick:function(){return d("new_game")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"skull",tooltipPosition:"top",tooltip:"Deletes the datum, clears all landmarks, makes mafia\nas it was roundstart: nonexistant. Use this if you\nreally mess things up. You did mess things up, didn't you.",content:"Nuke",onClick:function(){return d("nuke")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{icon:"paint-brush",tooltipPosition:"top",tooltip:"This is the custom game creator, it is... simple.\nYou put in roles and until you press CANCEL or FINISH\nit will keep letting you add more roles. Assitants\non the bottom because of pathing stuff. Resets after\nthe round finishes back to 12 player random setups.",content:"Create Custom Setup",onClick:function(){return d("debug_setup")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"paint-roller",tooltipPosition:"top",tooltip:"If you messed up and accidently didn't make it how\nyou wanted, simply just press this to reset it. The game\nwill auto reset after each game as well.",content:"Reset Custom Setup",onClick:function(){return d("cancel_setup")}})]})})})})]})})};var l=function(e,t){var n=(0,a.useBackend)(t),r=n.act,c=n.data,l=c.phase,d=c.timeleft,u=c.admin_controls;return(0,o.createComponentVNode)(2,i.Box,{children:["[Phase = ",l," | ",(0,o.createComponentVNode)(2,i.TimeDisplay,{auto:"down",value:d}),"]"," ",(0,o.createComponentVNode)(2,i.Button,{icon:"clipboard-check",tooltipPosition:"bottom-left",tooltip:"Signs you up for the next game. If there\nis an ongoing one, you will be signed up\nfor the next.",content:"Sign Up",onClick:function(){return r("mf_signup")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"eye",tooltipPosition:"bottom-left",tooltip:"Spectates games until you turn it off.\nAutomatically enabled when you die in game,\nbecause I assumed you would want to see the\nconclusion. You won't get messages if you\nrejoin SS13.",content:"Spectate",onClick:function(){return r("mf_spectate")}}),!!u&&(0,o.createComponentVNode)(2,i.Button,{color:"red",icon:"gavel",tooltipPosition:"bottom-left",tooltip:"Hello admin! If it is the admin controls you seek,\nplease notice the scrollbar you have that players\ndo not!"})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.MalfunctionModulePicker=void 0;var o=n(0),r=n(1),a=n(2),i=n(128);t.MalfunctionModulePicker=function(e,t){var n=(0,r.useBackend)(t),c=(n.act,n.data.processingTime);return(0,o.createComponentVNode)(2,a.Window,{width:620,height:525,theme:"malfunction",resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.GenericUplink,{currencyAmount:c,currencySymbol:"PT"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechBayPowerConsole=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.MechBayPowerConsole=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data.recharge_port,d=l&&l.mech,u=d&&d.cell;return(0,o.createComponentVNode)(2,i.Window,{width:400,height:200,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Mech status",textAlign:"center",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Sync",onClick:function(){return c("reconnect")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.health/d.maxhealth,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||!u&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cell is installed."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:u.charge/u.maxcharge,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u.charge})," / "+u.maxcharge]})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MedicalKiosk=void 0;var o=n(0),r=(n(19),n(1)),a=n(3),i=n(2);t.MedicalKiosk=function(e,t){var n=(0,r.useBackend)(t),m=(n.act,n.data),h=(0,r.useSharedState)(t,"scanIndex")[0],f=m.active_status_1,C=m.active_status_2,g=m.active_status_3,b=m.active_status_4;return(0,o.createComponentVNode)(2,i.Window,{width:575,height:420,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Flex,{mb:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mr:1,children:(0,o.createComponentVNode)(2,a.Section,{minHeight:"100%",children:[(0,o.createComponentVNode)(2,c,{index:1,icon:"procedures",name:"General Health Scan",description:"Reads back exact values of your general health scan."}),(0,o.createComponentVNode)(2,c,{index:2,icon:"heartbeat",name:"Symptom Based Checkup",description:"Provides information based on various non-obvious symptoms,\nlike blood levels or disease status."}),(0,o.createComponentVNode)(2,c,{index:3,icon:"radiation-alt",name:"Neurological/Radiological Scan",description:"Provides information about brain trauma and radiation."}),(0,o.createComponentVNode)(2,c,{index:4,icon:"mortar-pestle",name:"Chemical and Psychoactive Scan",description:"Provides a list of consumed chemicals, as well as potential\nside effects."})]})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,l)})]}),!!f&&1===h&&(0,o.createComponentVNode)(2,d),!!C&&2===h&&(0,o.createComponentVNode)(2,u),!!g&&3===h&&(0,o.createComponentVNode)(2,s),!!b&&4===h&&(0,o.createComponentVNode)(2,p)]})})};var c=function(e,t){var n=e.index,i=e.name,c=e.description,l=e.icon,d=(0,r.useBackend)(t),u=d.act,s=d.data,p=(0,r.useSharedState)(t,"scanIndex"),m=p[0],h=p[1],f=s["active_status_"+n];return(0,o.createComponentVNode)(2,a.Flex,{spacing:1,align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{width:"16px",textAlign:"center",children:(0,o.createComponentVNode)(2,a.Icon,{name:f?"check":"dollar-sign",color:f?"green":"grey"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:l,selected:f&&m===n,tooltip:c,tooltipPosition:"right",content:i,onClick:function(){f||u("beginScan_"+n),h(n)}})})]})},l=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.kiosk_cost,d=c.patient_name;return(0,o.createComponentVNode)(2,a.Section,{minHeight:"100%",children:[(0,o.createComponentVNode)(2,a.Box,{italic:!0,children:["Greetings Valued Employee! Please select a desired automatic health check procedure. Diagnosis costs ",(0,o.createVNode)(1,"b",null,[l,(0,o.createTextVNode)(" credits.")],0)]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:1,children:"Patient:"}),d]}),(0,o.createComponentVNode)(2,a.Button,{mt:1,tooltip:"Resets the current scanning target, cancelling current scans.",icon:"sync",color:"average",onClick:function(){return i("clearTarget")},content:"Reset Scanner"})]})},d=function(e,t){var n=(0,r.useBackend)(t).data,i=n.patient_health,c=n.brute_health,l=n.burn_health,d=n.suffocation_health,u=n.toxin_health;return(0,o.createComponentVNode)(2,a.Section,{title:"Patient Health",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i/100,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i}),"%"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brute Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Burn Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Toxin Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:u/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})})})]})})},u=function(e,t){var n=(0,r.useBackend)(t).data,i=n.patient_status,c=n.patient_illness,l=n.illness_info,d=n.bleed_status,u=n.blood_levels,s=n.blood_status;return(0,o.createComponentVNode)(2,a.Section,{title:"Symptom Based Checkup",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Patient Status",color:"good",children:i}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disease Status",children:c}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disease information",children:l}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Levels",children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:u/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})}),(0,o.createComponentVNode)(2,a.Box,{mt:1,color:"label",children:d})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Information",children:s})]})})},s=function(e,t){var n=(0,r.useBackend)(t).data,i=n.clone_health,c=n.brain_damage,l=n.brain_health,d=n.rad_contamination_status,u=n.rad_contamination_value,s=n.rad_sickness_status,p=n.rad_sickness_value,m=n.trauma_status;return(0,o.createComponentVNode)(2,a.Section,{title:"Patient Neurological and Radiological Health",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cellular Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i/100,color:"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i})})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Damage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c/100,color:"good",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Status",color:"health-0",children:l}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain Trauma Status",children:m}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Sickness Status",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Sickness Percentage",children:[p,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Contamination Status",children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Contamination Percentage",children:[u,"%"]})]})})},p=function(e,t){var n=(0,r.useBackend)(t).data,i=n.chemical_list,c=void 0===i?[]:i,l=n.overdose_list,d=void 0===l?[]:l,u=n.addict_list,s=void 0===u?[]:u,p=n.hallucinating_status;return(0,o.createComponentVNode)(2,a.Section,{title:"Chemical and Psychoactive Analysis",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Chemical Contents",children:[0===c.length&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No reagents detected."}),c.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[e.volume," units of ",e.name]},e.id)}))]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Overdose Status",color:"bad",children:[0===d.length&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Patient is not overdosing."}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:["Overdosing on ",e.name]},e.id)}))]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Addiction Status",color:"bad",children:[0===s.length&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Patient has no addictions."}),s.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:["Addicted to ",e.name]},e.id)}))]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Psychoactive Status",children:p})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MiningVendor=void 0;var o=n(0),r=n(6),a=n(1),i=n(3),c=n(2);t.MiningVendor=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=[].concat(d.product_records);return(0,o.createComponentVNode)(2,c.Window,{width:425,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"User",children:d.user&&(0,o.createComponentVNode)(2,i.Box,{children:["Welcome, ",(0,o.createVNode)(1,"b",null,d.user.name||"Unknown",0),","," ",(0,o.createVNode)(1,"b",null,d.user.job||"Unemployed",0),"!",(0,o.createVNode)(1,"br"),"Your balance is ",(0,o.createVNode)(1,"b",null,[d.user.points,(0,o.createTextVNode)(" mining points")],0),"."]})||(0,o.createComponentVNode)(2,i.Box,{color:"light-gray",children:["No registered ID card!",(0,o.createVNode)(1,"br"),"Please contact your local HoP!"]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Equipment",children:(0,o.createComponentVNode)(2,i.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:[(0,o.createVNode)(1,"span",(0,r.classes)(["vending32x32",e.path]),null,1,{style:{"vertical-align":"middle"}})," ",(0,o.createVNode)(1,"b",null,e.name,0)]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{style:{"min-width":"95px","text-align":"center"},disabled:!d.user||e.price>d.user.points,content:e.price+" points",onClick:function(){return l("purchase",{ref:e.ref})}})})]},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Mint=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.Mint=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.inserted_materials||[];return(0,o.createComponentVNode)(2,i.Window,{children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Materials",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.processing?"times":"power-off",content:l.processing?"Stop":"Start",selected:l.processing,onClick:function(){return c(l.processing?"stoppress":"startpress")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:d.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.material,buttons:(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:l.chosen_material===e.material,onClick:function(){return c("changematerial",{material_name:e.material})}}),children:[e.amount," cm\xb3"]},e.material)}))})}),(0,o.createComponentVNode)(2,a.Section,{children:["Pressed ",l.produced_coins," coins this cycle."]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Mule=void 0;var o=n(0),r=n(1),a=n(3),i=n(2),c=n(61);t.Mule=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.on,s=d.cell,p=d.cellPercent,m=d.load,h=d.mode,f=d.modeStatus,C=d.haspai,g=d.autoReturn,b=d.autoPickup,N=d.reportDelivery,v=d.destination,V=d.home,y=d.id,k=d.destinations,x=void 0===k?[]:k,_=d.locked&&!d.siliconUser;return(0,o.createComponentVNode)(2,i.Window,{width:350,height:425,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox),(0,o.createComponentVNode)(2,a.Section,{title:"Status",minHeight:"110px",buttons:!_&&(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return l("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:s?p/100:0,color:s?"good":"bad"}),(0,o.createComponentVNode)(2,a.Flex,{mt:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",color:f,children:h})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",color:m?"good":"average",children:m||"None"})})})]})]}),!_&&(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Unload",onClick:function(){return l("unload")}}),!!C&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject PAI",onClick:function(){return l("ejectpai")}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,a.Input,{value:y,onChange:function(e,t){return l("setid",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:v||"None",options:x,width:"150px",onSelected:function(e){return l("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"stop",content:"Stop",onClick:function(){return l("stop")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"play",content:"Go",onClick:function(){return l("go")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:V,options:x,width:"150px",onSelected:function(e){return l("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",content:"Go Home",onClick:function(){return l("home")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:g,content:"Auto-Return",onClick:function(){return l("autored")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:b,content:"Auto-Pickup",onClick:function(){return l("autopick")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:N,content:"Report Delivery",onClick:function(){return l("report")}})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteChamberControlContent=t.NaniteChamberControl=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.NaniteChamberControl=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:380,height:570,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.status_msg,d=c.locked,u=c.occupant_name,s=c.has_nanites,p=c.nanite_volume,m=c.regen_rate,h=c.safety_threshold,f=c.cloud_id,C=c.scan_level;if(l)return(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:l});var g=c.mob_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Chamber: "+u,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"lock":"lock-open",content:d?"Locked":"Unlocked",color:d?"bad":"default",onClick:function(){return i("toggle_lock")}}),children:s?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",content:"Destroy Nanites",color:"bad",onClick:function(){return i("remove_nanites")}}),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanite Volume",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Growth Rate",children:m})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Safety Threshold",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:h,minValue:0,maxValue:500,width:"39px",onChange:function(e,t){return i("set_safety",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:f,minValue:0,maxValue:100,step:1,stepPixelSize:3,width:"39px",onChange:function(e,t){return i("set_cloud",{value:t})}})})]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",level:2,children:g.map((function(e){var t=e.extra_settings||[],n=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:e.desc}),C>=2&&(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.activated?"good":"bad",children:e.activated?"Active":"Inactive"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanites Consumed",children:[e.use_rate,"/s"]})]})})]}),C>=2&&(0,o.createComponentVNode)(2,a.Grid,{children:[!!e.can_trigger&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Triggers",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:e.trigger_cost}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:e.trigger_cooldown}),!!e.timer_trigger_delay&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[e.timer_trigger_delay," s"]}),!!e.timer_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:[e.timer_trigger," s"]})]})})}),!(!e.timer_restart&&!e.timer_shutdown)&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[e.timer_restart&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:[e.timer_restart," s"]}),e.timer_shutdown&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:[e.timer_shutdown," s"]})]})})})]}),C>=3&&!!e.has_extra_settings&&(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:t.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:e.value},e.name)}))})}),C>=4&&(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[!!e.activation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:e.activation_code}),!!e.deactivation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:e.deactivation_code}),!!e.kill_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:e.kill_code}),!!e.can_trigger&&!!e.trigger_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:e.trigger_code})]})})}),e.has_rules&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Rules",level:2,children:n.map((function(e){return(0,o.createFragment)([e.display,(0,o.createVNode)(1,"br")],0,e.display)}))})})]})]})},e.name)}))})],4):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",textAlign:"center",fontSize:"30px",mb:1,children:"No Nanites Detected"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,icon:"syringe",content:" Implant Nanites",color:"green",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return i("nanite_injection")}})],4)})};t.NaniteChamberControlContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteCloudControl=t.NaniteCloudBackupDetails=t.NaniteCloudBackupList=t.NaniteInfoBox=t.NaniteDiskBox=void 0;var o=n(0),r=n(1),a=n(3),i=n(2),c=function(e,t){var n=(0,r.useBackend)(t).data,i=n.has_disk,c=n.has_program,d=n.disk;return i?c?(0,o.createComponentVNode)(2,l,{program:d}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Inserted disk has no program"}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No disk inserted"})};t.NaniteDiskBox=c;var l=function(e,t){var n=e.program,r=n.name,i=n.desc,c=n.activated,l=n.use_rate,d=n.can_trigger,u=n.trigger_cost,s=n.trigger_cooldown,p=n.activation_code,m=n.deactivation_code,h=n.kill_code,f=n.trigger_code,C=n.timer_restart,g=n.timer_shutdown,b=n.timer_trigger,N=n.timer_trigger_delay,v=n.extra_settings||[];return(0,o.createComponentVNode)(2,a.Section,{title:r,level:2,buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:c?"good":"bad",children:c?"Activated":"Deactivated"}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{mr:1,children:i}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:l}),!!d&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:s})],4)]})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:m}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:h}),!!d&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:f})]})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart",children:[C," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown",children:[g," s"]}),!!d&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:[b," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[N," s"]})],4)]})})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:v.map((function(e){var t={number:(0,o.createFragment)([e.value,e.unit],0),text:e.value,type:e.value,boolean:e.value?e.true_text:e.false_text};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:t[e.type]},e.name)}))})})]})};t.NaniteInfoBox=l;var d=function(e,t){var n=(0,r.useBackend)(t),i=n.act;return(n.data.cloud_backups||[]).map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Backup #"+e.cloud_id,textAlign:"center",onClick:function(){return i("set_view",{view:e.cloud_id})}},e.cloud_id)}))};t.NaniteCloudBackupList=d;var u=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,d=c.current_view,u=c.disk,s=c.has_program,p=c.cloud_backup,m=u&&u.can_rule||!1;if(!p)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"ERROR: Backup not found"});var h=c.cloud_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Backup #"+d,level:2,buttons:!!s&&(0,o.createComponentVNode)(2,a.Button,{icon:"upload",content:"Upload From Disk",color:"good",onClick:function(){return i("upload_program")}}),children:h.map((function(e){var t=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return i("remove_program",{program_id:e.id})}}),children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,l,{program:e}),(!!m||!!e.has_rules)&&(0,o.createComponentVNode)(2,a.Section,{mt:-2,title:"Rules",level:2,buttons:!!m&&(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add Rule from Disk",color:"good",onClick:function(){return i("add_rule",{program_id:e.id})}}),children:e.has_rules?t.map((function(t){return(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return i("remove_rule",{program_id:e.id,rule_id:t.id})}})," "+t.display]},t.display)})):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No Active Rules"})})]})},e.name)}))})};t.NaniteCloudBackupDetails=u;t.NaniteCloudControl=function(e,t){var n=(0,r.useBackend)(t),l=n.act,s=n.data,p=s.has_disk,m=s.current_view,h=s.new_backup_id;return(0,o.createComponentVNode)(2,i.Window,{width:375,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Program Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!p,onClick:function(){return l("eject")}}),children:(0,o.createComponentVNode)(2,c)}),(0,o.createComponentVNode)(2,a.Section,{title:"Cloud Storage",buttons:m?(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Return",onClick:function(){return l("set_view",{view:0})}}):(0,o.createFragment)(["New Backup: ",(0,o.createComponentVNode)(2,a.NumberInput,{value:h,minValue:1,maxValue:100,stepPixelSize:4,width:"39px",onChange:function(e,t){return l("update_new_backup_value",{value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return l("create_backup")}})],0),children:s.current_view?(0,o.createComponentVNode)(2,u):(0,o.createComponentVNode)(2,d)})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgramHub=void 0;var o=n(0),r=n(16),a=n(1),i=n(3),c=n(2);t.NaniteProgramHub=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.detail_view,s=d.disk,p=d.has_disk,m=d.has_program,h=d.programs,f=void 0===h?{}:h,C=(0,a.useSharedState)(t,"category"),g=C[0],b=C[1],N=f&&f[g]||[];return(0,o.createComponentVNode)(2,c.Window,{width:500,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Program Disk",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return l("eject")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus-circle",content:"Delete Program",onClick:function(){return l("clear")}})],4),children:p?m?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Program Name",children:s.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:s.desc})]}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No Program Installed"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Insert Disk"})}),(0,o.createComponentVNode)(2,i.Section,{title:"Programs",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:u?"info":"list",content:u?"Detailed":"Compact",onClick:function(){return l("toggle_details")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Sync Research",onClick:function(){return l("refresh")}})],4),children:null!==f?(0,o.createComponentVNode)(2,i.Flex,{children:[(0,o.createComponentVNode)(2,i.Flex.Item,{minWidth:"110px",children:(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){var n=t.substring(0,t.length-8);return(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:t===g,onClick:function(){return b(t)},children:n},t)}))(f)})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,basis:0,children:u?N.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!p,onClick:function(){return l("download",{program_id:e.id})}}),children:e.desc},e.id)})):(0,o.createComponentVNode)(2,i.LabeledList,{children:N.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!p,onClick:function(){return l("download",{program_id:e.id})}})},e.id)}))})})]}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No nanite programs are currently researched."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgrammerContent=t.NaniteProgrammer=t.NaniteExtraBoolean=t.NaniteExtraType=t.NaniteExtraText=t.NaniteExtraNumber=t.NaniteExtraEntry=t.NaniteDelays=t.NaniteCodes=void 0;var o=n(0),r=n(1),a=n(3),i=n(2),c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c.activation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return i("set_code",{target_code:"activation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c.deactivation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return i("set_code",{target_code:"deactivation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c.kill_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return i("set_code",{target_code:"kill",code:t})}})}),!!c.can_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c.trigger_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return i("set_code",{target_code:"trigger",code:t})}})})]})})};t.NaniteCodes=c;var l=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,ml:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c.timer_restart,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return i("set_restart_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c.timer_shutdown,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return i("set_shutdown_timer",{delay:t})}})}),!!c.can_trigger&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c.timer_trigger,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return i("set_trigger_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c.timer_trigger_delay,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return i("set_timer_trigger_delay",{delay:t})}})})],4)]})})};t.NaniteDelays=l;var d=function(e,t){var n=e.extra_setting,r=n.name,i=n.type,c={number:(0,o.createComponentVNode)(2,u,{extra_setting:n}),text:(0,o.createComponentVNode)(2,s,{extra_setting:n}),type:(0,o.createComponentVNode)(2,p,{extra_setting:n}),boolean:(0,o.createComponentVNode)(2,m,{extra_setting:n})};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:r,children:c[i]})};t.NaniteExtraEntry=d;var u=function(e,t){var n=e.extra_setting,i=(0,r.useBackend)(t).act,c=n.name,l=n.value,d=n.min,u=n.max,s=n.unit;return(0,o.createComponentVNode)(2,a.NumberInput,{value:l,width:"64px",minValue:d,maxValue:u,unit:s,onChange:function(e,t){return i("set_extra_setting",{target_setting:c,value:t})}})};t.NaniteExtraNumber=u;var s=function(e,t){var n=e.extra_setting,i=(0,r.useBackend)(t).act,c=n.name,l=n.value;return(0,o.createComponentVNode)(2,a.Input,{value:l,width:"200px",onInput:function(e,t){return i("set_extra_setting",{target_setting:c,value:t})}})};t.NaniteExtraText=s;var p=function(e,t){var n=e.extra_setting,i=(0,r.useBackend)(t).act,c=n.name,l=n.value,d=n.types;return(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:l,width:"150px",options:d,onSelected:function(e){return i("set_extra_setting",{target_setting:c,value:e})}})};t.NaniteExtraType=p;var m=function(e,t){var n=e.extra_setting,i=(0,r.useBackend)(t).act,c=n.name,l=n.value,d=n.true_text,u=n.false_text;return(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:l?d:u,checked:l,onClick:function(){return i("set_extra_setting",{target_setting:c})}})};t.NaniteExtraBoolean=m;t.NaniteProgrammer=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:420,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,h)})})};var h=function(e,t){var n=(0,r.useBackend)(t),i=n.act,u=n.data,s=u.has_disk,p=u.has_program,m=u.name,h=u.desc,f=u.use_rate,C=u.can_trigger,g=u.trigger_cost,b=u.trigger_cooldown,N=u.activated,v=u.has_extra_settings,V=u.extra_settings,y=void 0===V?{}:V;return s?p?(0,o.createComponentVNode)(2,a.Section,{title:m,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return i("eject")}}),children:[(0,o.createComponentVNode)(2,a.Section,{title:"Info",level:2,children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:h}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.7,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:f}),!!C&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:g}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:b})],4)]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Settings",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:N?"power-off":"times",content:N?"Active":"Inactive",selected:N,color:"bad",bold:!0,onClick:function(){return i("toggle_active")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,c)}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,l)})]}),!!v&&(0,o.createComponentVNode)(2,a.Section,{title:"Special",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:y.map((function(e){return(0,o.createComponentVNode)(2,d,{extra_setting:e},e.name)}))})})]})]}):(0,o.createComponentVNode)(2,a.Section,{title:"Blank Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return i("eject")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert a nanite program disk"})};t.NaniteProgrammerContent=h},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteRemoteContent=t.NaniteRemote=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.NaniteRemote=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:420,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.code,d=c.locked,u=c.mode,s=c.program_name,p=c.relay_code,m=c.comms,h=c.message,f=c.saved_settings,C=void 0===f?[]:f;return d?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This interface is locked."}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Nanite Control",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lock Interface",onClick:function(){return i("lock")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:[(0,o.createComponentVNode)(2,a.Input,{value:s,maxLength:14,width:"130px",onChange:function(e,t){return i("update_name",{name:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Save",onClick:function(){return i("save")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:m?"Comm Code":"Signal Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return i("set_code",{code:t})}})}),!!m&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",children:(0,o.createComponentVNode)(2,a.Input,{value:h,width:"270px",onChange:function(e,t){return i("set_message",{value:t})}})}),"Relay"===u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Relay Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:p,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return i("set_relay_code",{code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Signal Mode",children:["Off","Local","Targeted","Area","Relay"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,selected:u===e,onClick:function(){return i("select_mode",{mode:e})}},e)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Saved Settings",children:C.length>0?(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{width:"35%",children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{width:"20%",children:"Mode"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Code"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Relay"})]}),C.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,color:"label",children:[e.name,":"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.mode}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.code}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Relay"===e.mode&&e.relay_code}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"upload",color:"good",onClick:function(){return i("load",{save_id:e.id})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return i("remove_save",{save_id:e.id})}})]})]},e.id)}))]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No settings currently saved"})})],4)};t.NaniteRemoteContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.NotificationPreferences=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.NotificationPreferences=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=(n.data.ignore||[]).sort((function(e,t){var n=e.desc.toLowerCase(),o=t.desc.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,i.Window,{title:"Notification Preferences",width:270,height:360,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:"Ghost Role Notifications",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:e.enabled?"times":"check",content:e.desc,color:e.enabled?"bad":"good",onClick:function(){return c("toggle_ignore",{key:e.key})}},e.key)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtnetRelay=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.NtnetRelay=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.enabled,u=l.dos_capacity,s=l.dos_overload,p=l.dos_crashed;return(0,o.createComponentVNode)(2,i.Window,{title:"NtNet Quantum Relay",width:400,height:300,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Network Buffer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:d,content:d?"ENABLED":"DISABLED",onClick:function(){return c("toggle")}}),children:p?(0,o.createComponentVNode)(2,a.Box,{fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",children:"NETWORK BUFFER OVERFLOW"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",children:"OVERLOAD RECOVERY MODE"}),(0,o.createComponentVNode)(2,a.Box,{children:"This system is suffering temporary outage due to overflow of traffic buffers. Until buffered traffic is processed, all further requests will be dropped. Frequent occurences of this error may indicate insufficient hardware capacity of your network. Please contact your network planning department for instructions on how to resolve this issue."}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",color:"bad",children:"ADMINISTRATOR OVERRIDE"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",color:"bad",children:"CAUTION - DATA LOSS MAY OCCUR"}),(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"PURGE BUFFER",mt:1,color:"bad",onClick:function(){return c("restart")}})]}):(0,o.createComponentVNode)(2,a.ProgressBar,{value:s,minValue:0,maxValue:u,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:s})," GQ"," / ",u," GQ"]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosAiRestorer=void 0;var o=n(0),r=n(2),a=n(177);t.NtosAiRestorer=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:370,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.AiRestorerContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(0),r=n(60),a=n(1),i=n(3),c=n(2);t.NtosArcade=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data;return(0,o.createComponentVNode)(2,c.NtosWindow,{width:450,height:350,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,i.Box,{m:1}),(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:d.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[d.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:d.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[d.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,i.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,i.Section,{backgroundColor:1===d.PauseState?"#1b3622":"#471915",children:d.Status})]}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:[(0,o.createComponentVNode)(2,i.ProgressBar,{value:d.Hitpoints,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:d.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,i.Box,{m:1}),(0,o.createComponentVNode)(2,i.Section,{inline:!0,width:"156px",textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:(0,r.resolveAsset)(d.BossID)})})]})]}),(0,o.createComponentVNode)(2,i.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,i.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===d.GameActive||1===d.PauseState,onClick:function(){return l("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,i.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===d.GameActive||1===d.PauseState,onClick:function(){return l("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,i.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===d.GameActive||1===d.PauseState,onClick:function(){return l("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===d.GameActive,onClick:function(){return l("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,i.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===d.GameActive,onClick:function(){return l("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,i.Box,{color:d.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",d.TicketCount]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosAtmos=void 0;var o=n(0),r=n(16),a=n(34),i=n(14),c=n(1),l=n(3),d=n(30),u=n(2);t.NtosAtmos=function(e,t){var n=(0,c.useBackend)(t),s=(n.act,n.data),p=s.AirTemp,m=s.AirPressure,h=(0,a.flow)([(0,r.filter)((function(e){return e.percentage>=.01})),(0,r.sortBy)((function(e){return-e.percentage}))])(s.AirData||[]),f=Math.max.apply(Math,[1].concat(h.map((function(e){return e.percentage}))));return(0,o.createComponentVNode)(2,u.NtosWindow,{width:300,height:350,resizable:!0,children:(0,o.createComponentVNode)(2,u.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:[p,"\xb0C"]}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:[m," kPa"]})]})}),(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:h.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,d.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,d.getGasColor)(e.name),value:e.percentage,minValue:0,maxValue:f,children:(0,i.toFixed)(e.percentage,2)+"%"})},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosBountyConsole=void 0;var o=n(0),r=n(1),a=n(3),i=n(40),c=n(2);t.NtosBountyConsole=function(e,t){var n=(0,r.useBackend)(t),i=n.act,d=n.data.bountydata,u=void 0===d?[]:d;return(0,o.createComponentVNode)(2,c.NtosWindow,{width:750,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,l),buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"print",content:"Print Bounty List",onClick:function(){return i("Print")}}),children:(0,o.createComponentVNode)(2,a.Table,{border:!0,children:[(0,o.createComponentVNode)(2,a.Table.Row,{bold:!0,italic:!0,color:"label",fontSize:1.25,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{p:1,textAlign:"center",children:"Bounty Object"}),(0,o.createComponentVNode)(2,a.Table.Cell,{p:1,textAlign:"center",children:"Description"}),(0,o.createComponentVNode)(2,a.Table.Cell,{p:1,textAlign:"center",children:"Progress"}),(0,o.createComponentVNode)(2,a.Table.Cell,{p:1,textAlign:"center",children:"Value"}),(0,o.createComponentVNode)(2,a.Table.Cell,{p:1,textAlign:"center",children:"Claim"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{backgroundColor:1===e.priority?"rgba(252, 152, 3, 0.25)":"",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,p:1,children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{italic:!0,textAlign:"center",p:1,children:e.description}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,p:1,textAlign:"center",children:[1===e.priority?(0,o.createComponentVNode)(2,a.Box,{children:"High Priority"}):"",e.completion_string]}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,p:1,textAlign:"center",children:e.reward_string}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,p:1,children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,textAlign:"center",icon:1===e.claimed?"check":"",content:1===e.claimed?"Claimed":"Claim",disabled:1===e.claimed,color:1===e.can_claim?"green":"red",onClick:function(){return i("ClaimBounty",{bounty:e.bounty_ref})}})})]},e.name)}))]})})})})};var l=function(e,t){var n=(0,r.useBackend)(t),c=(n.act,n.data.stored_cash);return(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c,format:function(e){return(0,i.formatMoney)(e)}})," credits"]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCardContent=t.NtosCard=void 0;var o=n(0),r=n(1),a=n(3),i=n(2),c=n(178);t.NtosCard=function(e,t){return(0,o.createComponentVNode)(2,i.NtosWindow,{width:450,height:520,resizable:!0,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,r.useBackend)(t),i=n.act,l=n.data,d=(0,r.useLocalState)(t,"tab",1),u=d[0],s=d[1],p=l.authenticated,m=l.regions,h=void 0===m?[]:m,f=l.access_on_card,C=void 0===f?[]:f,g=l.jobs,b=void 0===g?{}:g,N=l.id_rank,v=l.id_owner,V=l.has_id,y=l.have_printer,k=l.have_id_slot,x=l.id_name,_=(0,r.useLocalState)(t,"department",Object.keys(b)[0]),w=_[0],B=_[1];if(!k)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This program requires an ID slot in order to function"});var S=b[w]||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:V&&p?(0,o.createComponentVNode)(2,a.Input,{value:v,width:"250px",onInput:function(e,t){return i("PRG_edit",{name:t})}}):v||"No Card Inserted",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"print",content:"Print",disabled:!y||!V,onClick:function(){return i("PRG_print")}}),(0,o.createComponentVNode)(2,a.Button,{icon:p?"sign-out-alt":"sign-in-alt",content:p?"Log Out":"Log In",color:p?"bad":"good",onClick:function(){i(p?"PRG_logout":"PRG_authenticate")}})],4),children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"eject",content:x,onClick:function(){return i("PRG_eject")}})}),!!V&&!!p&&(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===u,onClick:function(){return s(1)},children:"Access"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===u,onClick:function(){return s(2)},children:"Jobs"})]}),1===u&&(0,o.createComponentVNode)(2,c.AccessList,{accesses:h,selectedList:C,accessMod:function(e){return i("PRG_access",{access_target:e})},grantAll:function(){return i("PRG_grantall")},denyAll:function(){return i("PRG_denyall")},grantDep:function(e){return i("PRG_grantregion",{region:e})},denyDep:function(e){return i("PRG_denyregion",{region:e})}}),2===u&&(0,o.createComponentVNode)(2,a.Section,{title:N,buttons:(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"exclamation-triangle",content:"Terminate",color:"bad",onClick:function(){return i("PRG_terminate")}}),children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Custom...",onCommit:function(e,t){return i("PRG_assign",{assign_target:"Custom",custom_name:t})}}),(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:Object.keys(b).map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:e===w,onClick:function(){return B(e)},children:e},e)}))})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:S.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.display_name,onClick:function(){return i("PRG_assign",{assign_target:e.job})}},e.job)}))})]})]})]})],0)};t.NtosCardContent=l},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.NtosConfiguration=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.PC_device_theme,u=l.power_usage,s=l.battery_exists,p=l.battery,m=void 0===p?{}:p,h=l.disk_size,f=l.disk_used,C=l.hardware,g=void 0===C?[]:C;return(0,o.createComponentVNode)(2,i.NtosWindow,{theme:d,width:420,height:630,resizable:!0,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Power Supply",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Draw: ",u,"W"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Battery Status",color:!s&&"average",children:s?(0,o.createComponentVNode)(2,a.ProgressBar,{value:m.charge,minValue:0,maxValue:m.max,ranges:{good:[m.max/2,Infinity],average:[m.max/4,m.max/2],bad:[-Infinity,m.max/4]},children:[m.charge," / ",m.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"File System",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:f,minValue:0,maxValue:h,color:"good",children:[f," GQ / ",h," GQ"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Hardware Components",children:g.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,buttons:(0,o.createFragment)([!e.critical&&(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Enabled",checked:e.enabled,mr:1,onClick:function(){return c("PC_toggle_component",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Usage: ",e.powerusage,"W"]})],0),children:e.desc},e.name)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCrewManifest=void 0;var o=n(0),r=n(16),a=n(1),i=n(3),c=n(2);t.NtosCrewManifest=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.have_printer,s=d.manifest,p=void 0===s?{}:s;return(0,o.createComponentVNode)(2,c.NtosWindow,{width:400,height:480,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Crew Manifest",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"print",content:"Print",disabled:!u,onClick:function(){return l("PRG_print")}}),children:(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.Section,{level:2,title:t,children:(0,o.createComponentVNode)(2,i.Table,{children:e.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,i.Table.Cell,{bold:!0,children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:["(",e.rank,")"]})]},e.name)}))})},t)}))(p)})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCyborgRemoteMonitorSyndicate=void 0;var o=n(0),r=n(2),a=n(182);t.NtosCyborgRemoteMonitorSyndicate=function(e,t){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:600,height:800,theme:"syndicate",children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.NtosCyborgRemoteMonitorContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosFileManager=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.NtosFileManager=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.PC_device_theme,s=d.usbconnected,p=d.files,m=void 0===p?[]:p,h=d.usbfiles,f=void 0===h?[]:h;return(0,o.createComponentVNode)(2,i.NtosWindow,{resizable:!0,theme:u,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,c,{files:m,usbconnected:s,onUpload:function(e){return l("PRG_copytousb",{name:e})},onDelete:function(e){return l("PRG_deletefile",{name:e})},onRename:function(e,t){return l("PRG_rename",{name:e,new_name:t})},onDuplicate:function(e){return l("PRG_clone",{file:e})}})}),s&&(0,o.createComponentVNode)(2,a.Section,{title:"Data Disk",children:(0,o.createComponentVNode)(2,c,{usbmode:!0,files:f,usbconnected:s,onUpload:function(e){return l("PRG_copyfromusb",{name:e})},onDelete:function(e){return l("PRG_deletefile",{name:e})},onRename:function(e,t){return l("PRG_rename",{name:e,new_name:t})},onDuplicate:function(e){return l("PRG_clone",{file:e})}})})]})})};var c=function(e){var t=e.files,n=void 0===t?[]:t,r=e.usbconnected,i=e.usbmode,c=e.onUpload,l=e.onDelete,d=e.onRename;return(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"File"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Type"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Size"})]}),n.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.undeletable?e.name:(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:e.name,currentValue:e.name,tooltip:"Rename",onCommit:function(t,n){return d(e.name,n)}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.type}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.size}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:!e.undeletable&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"trash",confirmIcon:"times",confirmContent:"",tooltip:"Delete",onClick:function(){return l(e.name)}}),!!r&&(i?(0,o.createComponentVNode)(2,a.Button,{icon:"download",tooltip:"Download",onClick:function(){return c(e.name)}}):(0,o.createComponentVNode)(2,a.Button,{icon:"upload",tooltip:"Upload",onClick:function(){return c(e.name)}}))],0)})]},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosJobManagerContent=t.NtosJobManager=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.NtosJobManager=function(e,t){return(0,o.createComponentVNode)(2,i.NtosWindow,{width:400,height:620,resizable:!0,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.authed,d=c.cooldown,u=c.slots,s=void 0===u?[]:u,p=c.prioritized,m=void 0===p?[]:p;return l?(0,o.createComponentVNode)(2,a.Section,{children:[d>0&&(0,o.createComponentVNode)(2,a.Dimmer,{children:(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"20px",children:["On Cooldown: ",d,"s"]})}),(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Prioritized"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Slots"})]}),s.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,content:e.title,disabled:e.total<=0,checked:e.total>0&&m.includes(e.title),onClick:function(){return i("PRG_priority",{target:e.title})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[e.current," / ",e.total]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,a.Button,{content:"Open",disabled:!e.status_open,onClick:function(){return i("PRG_open_job",{target:e.title})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Close",disabled:!e.status_close,onClick:function(){return i("PRG_close_job",{target:e.title})}})]})]},e.title)}))]})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Current ID does not have access permissions to change job slots."})};t.NtosJobManagerContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(0),r=n(1),a=n(3),i=n(2),c={compconfig:"cog",ntndownloader:"download",filemanager:"folder",smmonitor:"radiation",alarmmonitor:"bell",cardmod:"id-card",arcade:"gamepad",ntnrc_client:"comment-alt",nttransfer:"exchange-alt",powermonitor:"plug",job_manage:"address-book",crewmani:"clipboard-list",robocontrol:"robot",atmosscan:"thermometer-half",shipping:"tags"};t.NtosMain=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.device_theme,s=d.programs,p=void 0===s?[]:s,m=d.has_light,h=d.light_on,f=d.comp_light_color;return(0,o.createComponentVNode)(2,i.NtosWindow,{title:"syndicate"===u?"Syndix Main Menu":"NtOS Main Menu",theme:u,width:400,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:[!!m&&(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Button,{width:"144px",icon:"lightbulb",selected:h,onClick:function(){return l("PC_toggle_light")},children:["Flashlight: ",h?"ON":"OFF"]}),(0,o.createComponentVNode)(2,a.Button,{ml:1,onClick:function(){return l("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,a.ColorBox,{ml:1,color:f})]})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,a.Table,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"transparent",icon:c[e.name]||"window-maximize-o",content:e.desc,onClick:function(){return l("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,width:"18px",children:!!e.running&&(0,o.createComponentVNode)(2,a.Button,{color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return l("PC_killprogram",{name:e.name})}})})]},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.NtosNetChat=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.can_admin,u=l.adminmode,s=l.authed,p=l.username,m=l.active_channel,h=l.is_operator,f=l.all_channels,C=void 0===f?[]:f,g=l.clients,b=void 0===g?[]:g,N=l.messages,v=void 0===N?[]:N,V=null!==m,y=s||u;return(0,o.createComponentVNode)(2,i.NtosWindow,{width:900,height:675,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,a.Section,{height:"600px",children:(0,o.createComponentVNode)(2,a.Table,{height:"580px",children:(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"200px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"537px",overflowY:"scroll",children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"New Channel...",onCommit:function(e,t){return c("PRG_newchannel",{new_channel_name:t})}}),C.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.chan,selected:e.id===m,color:"transparent",onClick:function(){return c("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,mt:1,content:p+"...",currentValue:p,onCommit:function(e,t){return c("PRG_changename",{new_name:t})}}),!!d&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(u?"ON":"OFF"),color:u?"bad":"good",onClick:function(){return c("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{height:"560px",overflowY:"scroll",children:V&&(y?v.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.msg},e.msg)})):(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",mt:4,fontSize:"40px"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,fontSize:"18px",children:"THIS CHANNEL IS PASSWORD PROTECTED"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"INPUT PASSWORD TO ACCESS"})]}))}),(0,o.createComponentVNode)(2,a.Input,{fluid:!0,selfClear:!0,mt:1,onEnter:function(e,t){return c("PRG_speak",{message:t})}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"150px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"477px",overflowY:"scroll",children:b.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.name},e.name)}))}),V&&y&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return c("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return c("PRG_leavechannel")}})],4),!!h&&s&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return c("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return c("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return c("PRG_setpassword",{new_password:t})}})],4)]})]})})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDosContent=t.NtosNetDos=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.NtosNetDos=function(e,t){return(0,o.createComponentVNode)(2,i.NtosWindow,{width:400,height:250,theme:"syndicate",children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.relays,d=void 0===l?[]:l,u=c.focus,s=c.target,p=c.speed,m=c.overload,h=c.capacity,f=c.error;if(f)return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:f}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Reset",textAlign:"center",onClick:function(){return i("PRG_reset")}})],4);var C=function(e){for(var t="",n=m/h;t.lengthn?t+="0":t+="1";return t};return s?(0,o.createComponentVNode)(2,a.Section,{fontFamily:"monospace",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:["CURRENT SPEED: ",p," GQ/s"]}),(0,o.createComponentVNode)(2,a.Box,{children:C(45)}),(0,o.createComponentVNode)(2,a.Box,{children:C(45)}),(0,o.createComponentVNode)(2,a.Box,{children:C(45)}),(0,o.createComponentVNode)(2,a.Box,{children:C(45)}),(0,o.createComponentVNode)(2,a.Box,{children:C(45)})]}):(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.id,selected:u===e.id,onClick:function(){return i("PRG_target_relay",{targid:e.id})}},e.id)}))})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"EXECUTE",color:"bad",textAlign:"center",disabled:!u,mt:1,onClick:function(){return i("PRG_execute")}})]})};t.NtosNetDosContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.NtosNetDownloader=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.PC_device_theme,s=d.disk_size,p=d.disk_used,m=d.downloadable_programs,h=void 0===m?[]:m,f=d.error,C=d.hacked_programs,g=void 0===C?[]:C,b=d.hackedavailable;return(0,o.createComponentVNode)(2,i.NtosWindow,{theme:u,width:480,height:735,resizable:!0,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:[!!f&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:f}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return l("PRG_reseterror")}})]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk usage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:s,children:p+" GQ / "+s+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:h.map((function(e){return(0,o.createComponentVNode)(2,c,{program:e},e.filename)}))}),!!b&&(0,o.createComponentVNode)(2,a.Section,{title:"UNKNOWN Software Repository",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{mb:1,children:"Please note that Nanotrasen does not recommend download of software from non-official servers."}),g.map((function(e){return(0,o.createComponentVNode)(2,c,{program:e},e.filename)}))]})]})})};var c=function(e,t){var n=e.program,i=(0,r.useBackend)(t),c=i.act,l=i.data,d=l.disk_size,u=l.disk_used,s=l.downloadcompletion,p=l.downloading,m=l.downloadname,h=l.downloadsize,f=d-u;return(0,o.createComponentVNode)(2,a.Box,{mb:3,children:[(0,o.createComponentVNode)(2,a.Flex,{align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{bold:!0,grow:1,children:n.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[n.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:n.filename===m&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:h,value:s})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:p||n.size>f,onClick:function(){return c("PRG_downloadfile",{filename:n.filename})}})})]}),"Compatible"!==n.compatibility&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Incompatible!"]}),n.size>f&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Not enough disk space!"]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,color:"label",fontSize:"12px",children:n.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetMonitor=void 0;var o=n(0),r=n(3),a=n(1),i=n(2);t.NtosNetMonitor=function(e,t){var n=(0,a.useBackend)(t),c=n.act,l=n.data,d=l.ntnetrelays,u=l.ntnetstatus,s=l.config_softwaredownload,p=l.config_peertopeer,m=l.config_communication,h=l.config_systemcontrol,f=l.idsalarm,C=l.idsstatus,g=l.ntnetmaxlogs,b=l.maxlogs,N=l.minlogs,v=l.ntnetlogs,V=void 0===v?[]:v;return(0,o.createComponentVNode)(2,i.NtosWindow,{resizable:!0,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,r.NoticeBox,{children:"WARNING: Disabling wireless transmitters when using a wireless device may prevent you from reenabling them!"}),(0,o.createComponentVNode)(2,r.Section,{title:"Wireless Connectivity",buttons:(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:u?"power-off":"times",content:u?"ENABLED":"DISABLED",selected:u,onClick:function(){return c("toggleWireless")}}),children:d?(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Active NTNet Relays",children:d})}):"No Relays Connected"}),(0,o.createComponentVNode)(2,r.Section,{title:"Firewall Configuration",children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Software Downloads",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:s?"power-off":"times",content:s?"ENABLED":"DISABLED",selected:s,onClick:function(){return c("toggle_function",{id:"1"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Peer to Peer Traffic",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:p?"power-off":"times",content:p?"ENABLED":"DISABLED",selected:p,onClick:function(){return c("toggle_function",{id:"2"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Communication Systems",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:m?"power-off":"times",content:m?"ENABLED":"DISABLED",selected:m,onClick:function(){return c("toggle_function",{id:"3"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Remote System Control",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:h?"power-off":"times",content:h?"ENABLED":"DISABLED",selected:h,onClick:function(){return c("toggle_function",{id:"4"})}})})]})}),(0,o.createComponentVNode)(2,r.Section,{title:"Security Systems",children:[!!f&&(0,o.createFragment)([(0,o.createComponentVNode)(2,r.NoticeBox,{children:"NETWORK INCURSION DETECTED"}),(0,o.createComponentVNode)(2,r.Box,{italics:!0,children:"Abnormal activity has been detected in the network. Check system logs for more information"})],4),(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"IDS Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Button,{icon:C?"power-off":"times",content:C?"ENABLED":"DISABLED",selected:C,onClick:function(){return c("toggleIDS")}}),(0,o.createComponentVNode)(2,r.Button,{icon:"sync",content:"Reset",color:"bad",onClick:function(){return c("resetIDS")}})],4)}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Max Log Count",buttons:(0,o.createComponentVNode)(2,r.NumberInput,{value:g,minValue:N,maxValue:b,width:"39px",onChange:function(e,t){return c("updatemaxlogs",{new_number:t})}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"System Log",level:2,buttons:(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:"trash",content:"Clear Logs",onClick:function(){return c("purgelogs")}}),children:V.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{className:"candystripe",children:e.entry},e.entry)}))})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosPowerMonitor=void 0;var o=n(0),r=n(2),a=n(129);t.NtosPowerMonitor=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:550,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.PowerMonitorContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRadarSyndicate=void 0;var o=n(0),r=n(2),a=n(183);t.NtosRadarSyndicate=function(e,t){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:800,height:600,theme:"syndicate",children:(0,o.createComponentVNode)(2,a.NtosRadarContent)})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRequestKiosk=void 0;var o=n(0),r=n(184),a=n(2);t.NtosRequestKiosk=function(e,t){return(0,o.createComponentVNode)(2,a.NtosWindow,{width:550,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,r.RequestKioskContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRevelation=void 0;var o=n(0),r=n(3),a=n(1),i=n(2);t.NtosRevelation=function(e,t){var n=(0,a.useBackend)(t),c=n.act,l=n.data;return(0,o.createComponentVNode)(2,i.NtosWindow,{width:400,height:250,theme:"syndicate",children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Button.Input,{fluid:!0,content:"Obfuscate Name...",onCommit:function(e,t){return c("PRG_obfuscate",{new_name:t})},mb:1}),(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Payload Status",buttons:(0,o.createComponentVNode)(2,r.Button,{content:l.armed?"ARMED":"DISARMED",color:l.armed?"bad":"average",onClick:function(){return c("PRG_arm")}})})}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,bold:!0,content:"ACTIVATE",textAlign:"center",color:"bad",disabled:!l.armed})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRoboControl=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.NtosRoboControl=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.bots,s=d.id_owner,p=d.has_id;return(0,o.createComponentVNode)(2,i.NtosWindow,{width:550,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Robot Control Console",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Id Card",children:[s,!!p&&(0,o.createComponentVNode)(2,a.Button,{ml:2,icon:"eject",content:"Eject",onClick:function(){return l("ejectcard")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Bots in range",children:d.botcount})]})}),null==u?void 0:u.map((function(e){return(0,o.createComponentVNode)(2,c,{robot:e},e.bot_ref)}))]})})};var c=function(e,t){var n=e.robot,i=(0,r.useBackend)(t),c=i.act,l=i.data,d=l.mules||[],u=!!n.mule_check&&function(e,t){return null==e?void 0:e.find((function(e){return e.mule_ref===t}))}(d,n.bot_ref),s=1===n.mule_check?"rgba(110, 75, 14, 1)":"rgba(74, 59, 140, 1)";return(0,o.createComponentVNode)(2,a.Section,{title:n.name,style:{border:"4px solid "+s},buttons:u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"play",tooltip:"Go to Destination.",onClick:function(){return c("go",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"pause",tooltip:"Stop Moving.",onClick:function(){return c("stop",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",tooltip:"Travel Home.",tooltipPosition:"bottom-left",onClick:function(){return c("home",{robot:u.mule_ref})}})],4),children:(0,o.createComponentVNode)(2,a.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Model",children:n.model}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:n.locat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:n.mode}),u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Loaded Cargo",children:l.load||"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:u.home}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:u.dest||"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:u.power,minValue:0,maxValue:100,ranges:{good:[60,Infinity],average:[20,60],bad:[-Infinity,20]}})})],4)]})}),(0,o.createComponentVNode)(2,a.Flex.Item,{width:"150px",children:[u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Set Destination",onClick:function(){return c("destination",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Set ID",onClick:function(){return c("setid",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Set Home",onClick:function(){return c("sethome",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Unload Cargo",onClick:function(){return c("unload",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,content:"Auto Return",checked:u.autoReturn,onClick:function(){return c("autoret",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,content:"Auto Pickup",checked:u.autoPickup,onClick:function(){return c("autopick",{robot:u.mule_ref})}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,content:"Delivery Report",checked:u.reportDelivery,onClick:function(){return c("report",{robot:u.mule_ref})}})],4),!u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Stop Patrol",onClick:function(){return c("patroloff",{robot:n.bot_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Start Patrol",onClick:function(){return c("patrolon",{robot:n.bot_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Summon",onClick:function(){return c("summon",{robot:n.bot_ref})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Eject PAi",onClick:function(){return c("ejectpai",{robot:n.bot_ref})}})],4)]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosShipping=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.NtosShipping=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data;return(0,o.createComponentVNode)(2,i.NtosWindow,{width:450,height:350,resizable:!0,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"NTOS Shipping Hub.",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Id",onClick:function(){return c("ejectid")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current User",children:l.current_user||"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Inserted Card",children:l.card_owner||"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available Paper",children:l.has_printer?l.paperamt:"N/A"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Profit on Sale",children:[l.barcode_split,"%"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Shipping Options",children:[(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"id-card",tooltip:"The currently ID card will become the current user.",tooltipPosition:"right",disabled:!l.has_id_slot,onClick:function(){return c("selectid")},content:"Set Current ID"})}),(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"print",tooltip:"Print a barcode to use on a wrapped package.",tooltipPosition:"right",disabled:!l.has_printer||!l.current_user,onClick:function(){return c("print")},content:"Print Barcode"})}),(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"tags",tooltip:"Set how much profit you'd like on your package.",tooltipPosition:"right",onClick:function(){return c("setsplit")},content:"Set Profit Margin"})}),(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",content:"Reset ID",onClick:function(){return c("resetid")}})})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosStationAlertConsole=void 0;var o=n(0),r=n(2),a=n(185);t.NtosStationAlertConsole=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:315,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.StationAlertConsoleContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitorContent=t.NtosSupermatterMonitor=void 0;var o=n(0),r=n(16),a=n(34),i=n(14),c=n(1),l=n(3),d=n(30),u=n(2),s=function(e){return Math.log2(16+Math.max(0,e))-4};t.NtosSupermatterMonitor=function(e,t){return(0,o.createComponentVNode)(2,u.NtosWindow,{width:600,height:350,resizable:!0,children:(0,o.createComponentVNode)(2,u.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,p)})})};var p=function(e,t){var n=(0,c.useBackend)(t),u=n.act,p=n.data,h=p.active,f=p.SM_integrity,C=p.SM_power,g=p.SM_ambienttemp,b=p.SM_ambientpressure;if(!h)return(0,o.createComponentVNode)(2,m);var N=(0,a.flow)([function(e){return e.filter((function(e){return e.amount>=.01}))},(0,r.sortBy)((function(e){return-e.amount}))])(p.gases||[]),v=Math.max.apply(Math,[1].concat(N.map((function(e){return e.amount}))));return(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"270px",children:(0,o.createComponentVNode)(2,l.Section,{title:"Metrics",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:f/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Relative EER",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:C,minValue:0,maxValue:5e3,ranges:{good:[-Infinity,5e3],average:[5e3,7e3],bad:[7e3,Infinity]},children:(0,i.toFixed)(C)+" MeV/cm3"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s(g),minValue:0,maxValue:s(1e4),ranges:{teal:[-Infinity,s(80)],good:[s(80),s(373)],average:[s(373),s(1e3)],bad:[s(1e3),Infinity]},children:(0,i.toFixed)(g)+" K"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s(b),minValue:0,maxValue:s(5e4),ranges:{good:[s(1),s(300)],average:[-Infinity,s(1e3)],bad:[s(1e3),+Infinity]},children:(0,i.toFixed)(b)+" kPa"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,basis:0,children:(0,o.createComponentVNode)(2,l.Section,{title:"Gases",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"arrow-left",content:"Back",onClick:function(){return u("PRG_clear")}}),children:(0,o.createComponentVNode)(2,l.LabeledList,{children:N.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,d.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,d.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:v,children:(0,i.toFixed)(e.amount,2)+"%"})},e.name)}))})})})]})};t.NtosSupermatterMonitorContent=p;var m=function(e,t){var n=(0,c.useBackend)(t),r=n.act,a=n.data.supermatters,i=void 0===a?[]:a;return(0,o.createComponentVNode)(2,l.Section,{title:"Detected Supermatters",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"sync",content:"Refresh",onClick:function(){return r("PRG_refresh")}}),children:(0,o.createComponentVNode)(2,l.Table,{children:i.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.uid+". "+e.area_name}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,color:"label",children:"Integrity:"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,width:"120px",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:e.integrity/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,l.Button,{content:"Details",onClick:function(){return r("PRG_set",{target:e.uid})}})})]},e.uid)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NuclearBomb=void 0;var o=n(0),r=n(6),a=n(1),i=n(3),c=n(2),l=function(e,t){var n=(0,a.useBackend)(t).act;return(0,o.createComponentVNode)(2,i.Box,{width:"185px",children:(0,o.createComponentVNode)(2,i.Grid,{width:"1px",children:[["1","4","7","C"],["2","5","8","0"],["3","6","9","E"]].map((function(e){return(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,mb:"6px",content:e,textAlign:"center",fontSize:"40px",lineHeight:1.25,width:"55px",className:(0,r.classes)(["NuclearBomb__Button","NuclearBomb__Button--keypad","NuclearBomb__Button--"+e]),onClick:function(){return n("keypad",{digit:e})}},e)}))},e[0])}))})})};t.NuclearBomb=function(e,t){var n=(0,a.useBackend)(t),r=n.act,d=n.data,u=(d.anchored,d.disk_present,d.status1),s=d.status2;return(0,o.createComponentVNode)(2,c.Window,{width:350,height:442,theme:"retro",children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,i.Box,{m:"6px",children:[(0,o.createComponentVNode)(2,i.Box,{mb:"6px",className:"NuclearBomb__displayBox",children:u}),(0,o.createComponentVNode)(2,i.Flex,{mb:1.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Box,{className:"NuclearBomb__displayBox",children:s})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",fontSize:"24px",lineHeight:1,textAlign:"center",width:"43px",ml:"6px",mr:"3px",mt:"3px",className:"NuclearBomb__Button NuclearBomb__Button--keypad",onClick:function(){return r("eject_disk")}})})]}),(0,o.createComponentVNode)(2,i.Flex,{ml:"3px",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,l)}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:"6px",width:"129px",children:(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ARM",textAlign:"center",fontSize:"28px",lineHeight:1.1,mb:"6px",className:"NuclearBomb__Button NuclearBomb__Button--C",onClick:function(){return r("arm")}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ANCHOR",textAlign:"center",fontSize:"28px",lineHeight:1.1,className:"NuclearBomb__Button NuclearBomb__Button--E",onClick:function(){return r("anchor")}}),(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",color:"#9C9987",fontSize:"80px",children:(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"})}),(0,o.createComponentVNode)(2,i.Box,{height:"80px",className:"NuclearBomb__NTIcon"})]})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(0),r=n(1),a=n(3),i=n(2),c=[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}];t.OperatingComputer=function(e,t){var n=(0,r.useSharedState)(t,"tab",1),c=n[0],u=n[1];return(0,o.createComponentVNode)(2,i.Window,{width:350,height:470,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===c,onClick:function(){return u(1)},children:"Patient State"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===c,onClick:function(){return u(2)},children:"Surgery Procedures"})]}),1===c&&(0,o.createComponentVNode)(2,l),2===c&&(0,o.createComponentVNode)(2,d)]})})};var l=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),l=i.table,d=i.procedures,u=void 0===d?[]:d,s=i.patient,p=void 0===s?{}:s;return l?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Patient State",children:p&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:p.statstate,children:p.stat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Type",children:p.blood_type}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p.health,minValue:p.minHealth,maxValue:p.maxHealth,color:p.health>=0?"good":"average",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:p.health})})}),c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p[e.type]/p.maxHealth,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:p[e.type]})})},e.type)}))]})||"No Patient Detected"}),0===u.length&&(0,o.createComponentVNode)(2,a.Section,{children:"No Active Procedures"}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Next Step",children:[e.next_step,e.chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.chems_needed],0)]}),!!i.alternative_step&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Alternative Step",children:[e.alternative_step,e.alt_chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.alt_chems_needed],0)]})]})},e.name)}))],0):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Table Detected"})},d=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.surgeries,l=void 0===c?[]:c;return(0,o.createComponentVNode)(2,a.Section,{title:"Advanced Surgery Procedures",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"download",content:"Sync Research Database",onClick:function(){return i("sync")}}),l.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,children:e.desc},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Orbit=void 0;var o=n(0),r=n(19),a=n(60),i=n(1),c=n(3),l=n(2);function d(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);nt},f=function(e,t){var n=e.name,o=t.name,r=n.match(p),a=o.match(p);return r&&a&&n.replace(p,"")===o.replace(p,"")?parseInt(r[1],10)-parseInt(a[1],10):h(n,o)},C=function(e,t){var n=(0,i.useBackend)(t).act,r=e.searchText,a=e.source,l=e.title,d=a.filter(m(r));return d.sort(f),a.length>0&&(0,o.createComponentVNode)(2,c.Section,{title:l+" - ("+a.length+")",children:d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{content:e.name.replace(s,""),onClick:function(){return n("orbit",{ref:e.ref})}},e.name)}))})},g=function(e,t){var n=(0,i.useBackend)(t).act,r=e.color,l=e.thing;return(0,o.createComponentVNode)(2,c.Button,{color:r,onClick:function(){return n("orbit",{ref:l.ref})},children:[l.name,l.orbiters&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,ml:1,children:["(",l.orbiters," ",(0,o.createComponentVNode)(2,c.Box,{as:"img",src:(0,a.resolveAsset)("ghost.png"),opacity:.7}),")"]})]})};t.Orbit=function(e,t){for(var n,r=(0,i.useBackend)(t),a=r.act,u=r.data,s=u.alive,p=u.antagonists,b=u.dead,N=u.ghosts,v=u.misc,V=u.npcs,y=(0,i.useLocalState)(t,"searchText",""),k=y[0],x=y[1],_={},w=d(p);!(n=w()).done;){var B=n.value;_[B.antag]===undefined&&(_[B.antag]=[]),_[B.antag].push(B)}var S=Object.entries(_);S.sort((function(e,t){return h(e[0],t[0])}));return(0,o.createComponentVNode)(2,l.Window,{title:"Orbit",width:350,height:700,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.Flex,{children:[(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Icon,{name:"search",mr:1})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Input,{placeholder:"Search...",autoFocus:!0,fluid:!0,value:k,onInput:function(e,t){return x(t)},onEnter:function(e,t){return function(e){for(var t=0,n=[S.map((function(e){return e[0],e[1]})),s,N,b,V,v];t0&&(0,o.createComponentVNode)(2,c.Section,{title:"Ghost-Visible Antagonists",children:S.map((function(e){var t=e[0],n=e[1];return(0,o.createComponentVNode)(2,c.Section,{title:t,level:2,children:n.filter(m(k)).sort(f).map((function(e){return(0,o.createComponentVNode)(2,g,{color:"bad",thing:e},e.name)}))},t)}))}),(0,o.createComponentVNode)(2,c.Section,{title:"Alive",children:s.filter(m(k)).sort(f).map((function(e){return(0,o.createComponentVNode)(2,g,{color:"good",thing:e},e.name)}))}),(0,o.createComponentVNode)(2,C,{title:"Ghosts",source:N,searchText:k}),(0,o.createComponentVNode)(2,C,{title:"Dead",source:b,searchText:k}),(0,o.createComponentVNode)(2,C,{title:"NPCs",source:V,searchText:k}),(0,o.createComponentVNode)(2,C,{title:"Misc",source:v,searchText:k})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreBox=void 0;var o=n(0),r=n(19),a=n(3),i=n(1),c=n(2);t.OreBox=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data.materials;return(0,o.createComponentVNode)(2,c.Window,{width:335,height:415,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Ores",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Empty",onClick:function(){return l("removeall")}}),children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Ore"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"right",children:"Amount"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,r.toTitleCase)(e.name)}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,a.Box,{color:"label",inline:!0,children:e.amount})})]},e.type)}))]})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Box,{children:["All ores will be placed in here when you are wearing a mining stachel on your belt or in a pocket while dragging the ore box.",(0,o.createVNode)(1,"br"),"Gibtonite is not accepted."]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreRedemptionMachine=void 0;var o=n(0),r=n(19),a=n(1),i=n(3),c=n(2);t.OreRedemptionMachine=function(e,t){var n=(0,a.useBackend)(t),r=n.act,d=n.data,u=d.unclaimedPoints,s=d.materials,p=d.alloys,m=d.diskDesigns,h=d.hasDisk;return(0,o.createComponentVNode)(2,c.Window,{title:"Ore Redemption Machine",width:440,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.BlockQuote,{mb:1,children:["This machine only accepts ore.",(0,o.createVNode)(1,"br"),"Gibtonite and Slag are not accepted."]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:1,children:"Unclaimed points:"}),u,(0,o.createComponentVNode)(2,i.Button,{ml:2,content:"Claim",disabled:0===u,onClick:function(){return r("Claim")}})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject design disk",onClick:function(){return r("diskEject")}})}),(0,o.createComponentVNode)(2,i.Table,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:["File ",e.index,": ",e.name]}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:!e.canupload,content:"Upload",onClick:function(){return r("diskUpload",{design:e.index})}})})]},e.index)}))})],4)||(0,o.createComponentVNode)(2,i.Button,{icon:"save",content:"Insert design disk",onClick:function(){return r("diskInsert")}})}),(0,o.createComponentVNode)(2,i.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,i.Table,{children:s.map((function(e){return(0,o.createComponentVNode)(2,l,{material:e,onRelease:function(t){return r("Release",{id:e.id,sheets:t})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Alloys",children:(0,o.createComponentVNode)(2,i.Table,{children:p.map((function(e){return(0,o.createComponentVNode)(2,l,{material:e,onRelease:function(t){return r("Smelt",{id:e.id,sheets:t})}},e.id)}))})})]})})};var l=function(e,t){var n=e.material,c=e.onRelease,l=(0,a.useLocalState)(t,"amount"+n.name,1),d=l[0],u=l[1],s=Math.floor(n.amount);return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(n.name).replace("Alloy","")}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:n.value&&n.value+" cr"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:[s," sheets"]})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.NumberInput,{width:"32px",step:1,stepPixelSize:5,minValue:1,maxValue:50,value:d,onChange:function(e,t){return u(t)}}),(0,o.createComponentVNode)(2,i.Button,{disabled:s<1,content:"Release",onClick:function(){return c(d)}})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Pandemic=t.PandemicAntibodyDisplay=t.PandemicSymptomDisplay=t.PandemicDiseaseDisplay=t.PandemicBeakerDisplay=void 0;var o=n(0),r=n(16),a=n(1),i=n(3),c=n(2),l=function(e,t){var n=(0,a.useBackend)(t),r=n.act,c=n.data,l=c.has_beaker,d=c.beaker_empty,u=c.has_blood,s=c.blood,p=!l||d;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Empty and Eject",color:"bad",disabled:p,onClick:function(){return r("empty_eject_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"trash",content:"Empty",disabled:p,onClick:function(){return r("empty_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){return r("eject_beaker")}})],4),children:l?d?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Beaker is empty"}):u?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood DNA",children:s&&s.dna||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:s&&s.type||"Unknown"})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No blood detected"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No beaker loaded"})})};t.PandemicBeakerDisplay=l;var d=function(e,t){var n=(0,a.useBackend)(t),r=n.act,c=n.data,l=c.is_ready;return(c.viruses||[]).map((function(e){var t=e.symptoms||[];return(0,o.createComponentVNode)(2,i.Section,{title:e.can_rename?(0,o.createComponentVNode)(2,i.Input,{value:e.name,onChange:function(t,n){return r("rename_disease",{index:e.index,name:n})}}):e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"flask",content:"Create culture bottle",disabled:!l,onClick:function(){return r("create_culture_bottle",{index:e.index})}}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.description}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Agent",children:e.agent}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Spread",children:e.spread}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Possible Cure",children:e.cure})]})})]}),!!e.is_adv&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Statistics",level:2,children:(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:e.resistance}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:e.stealth})]})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage speed",children:e.stage_speed}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmissibility",children:e.transmission})]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Symptoms",level:2,children:t.map((function(e){return(0,o.createComponentVNode)(2,i.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,u,{symptom:e})})},e.name)}))})],4)]},e.name)}))};t.PandemicDiseaseDisplay=d;var u=function(e,t){var n=e.symptom,a=n.name,c=n.desc,l=n.stealth,d=n.resistance,u=n.stage_speed,s=n.transmission,p=n.level,m=n.neutered,h=(0,r.map)((function(e,t){return{desc:e,label:t}}))(n.threshold_desc||{});return(0,o.createComponentVNode)(2,i.Section,{title:a,level:2,buttons:!!m&&(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",children:"Neutered"}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:2,children:c}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Level",children:p}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage Speed",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmission",children:s})]})})]}),h.length>0&&(0,o.createComponentVNode)(2,i.Section,{title:"Thresholds",level:3,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:h.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:e.desc},e.label)}))})})]})};t.PandemicSymptomDisplay=u;var s=function(e,t){var n=(0,a.useBackend)(t),r=n.act,c=n.data,l=c.resistances||[];return(0,o.createComponentVNode)(2,i.Section,{title:"Antibodies",children:l.length>0?(0,o.createComponentVNode)(2,i.LabeledList,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye-dropper",content:"Create vaccine bottle",disabled:!c.is_ready,onClick:function(){return r("create_vaccine_bottle",{index:e.id})}})},e.name)}))}):(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",mt:1,children:"No antibodies detected."})})};t.PandemicAntibodyDisplay=s;t.Pandemic=function(e,t){var n=(0,a.useBackend)(t).data;return(0,o.createComponentVNode)(2,c.Window,{width:520,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,l),!!n.has_blood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,s)],4)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PaperSheet=void 0;var o=n(0),r=n(6),a=n(120),i=s(n(570)),c=s(n(571)),l=n(1),d=n(3),u=n(2);function s(e){return e&&e.__esModule?e:{"default":e}}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function m(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}function h(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return f(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n]+)>/g,(function(e,t){return"$"+n[t]})))}if("function"==typeof t){var a=this;return o[Symbol.replace].call(this,e,(function(){var e=[];return e.push.apply(e,arguments),"object"!=typeof e[e.length-1]&&e.push(i(e,a)),t.apply(this,e)}))}return o[Symbol.replace].call(this,e,t)},C.apply(this,arguments)}function g(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&V(e,t)}function b(e){var t="function"==typeof Map?new Map:undefined;return(b=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,o)}function o(){return N(e,arguments,y(this).constructor)}return o.prototype=Object.create(e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),V(o,e)})(e)}function N(e,t,n){return(N=v()?Reflect.construct:function(e,t,n){var o=[null];o.push.apply(o,t);var r=new(Function.bind.apply(e,o));return n&&V(r,n.prototype),r}).apply(null,arguments)}function v(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function V(e,t){return(V=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(e){return(y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var k=function(e,t,n,o){return void 0===o&&(o=!1),"'+e+""},x=/\[(_+)\]/g,_=C(/\[\]/gm,{id:2}),w=/%s(?:ign)?(?=\\s|$)/gim,B=function(e,t,n,o,r){var a=e.replace(x,(function(e,a,i,c){var l=function(e,t,n){t=n+"x "+t;var o=document.createElement("canvas").getContext("2d");return o.font=t,o.measureText(e).width}(e,t,n)+"px";return function(e,t,n,o,r,a){return'['+I(n,l)+""};return(0,o.createComponentVNode)(2,d.Box,{position:"relative",backgroundColor:i,width:"100%",height:"100%",children:[(0,o.createComponentVNode)(2,d.Box,{fillPositionedParent:!0,width:"100%",height:"100%",dangerouslySetInnerHTML:s,p:"10px"}),u.map((function(e,t){return(0,o.createComponentVNode)(2,L,{image:{sprite:e[0],x:e[1],y:e[2],rotate:e[3]}},e[0]+t)}))]})},A=function(e){function t(t,n){var o;return(o=e.call(this,t,n)||this).state={x:0,y:0,rotate:0},o}p(t,e);var n=t.prototype;return n.findStampPosition=function(e){for(var t=event.pageX,n=event.pageY,o={left:e.target.offsetLeft,top:e.target.offsetTop},r=e.target.offsetParent;r;)o.left+=r.offsetLeft,o.top+=r.offsetTop,r=r.offsetParent;var i=[t-o.left,n-o.top],c=(0,a.vecScale)([121,51],.5);return(0,a.vecSubtract)(i,c)},n.componentDidMount=function(){document.onwheel=this.handleWheel.bind(this)},n.handleMouseMove=function(e){var t=this.findStampPosition(e);S(e),this.setState({x:t[0],y:t[1]})},n.handleMouseClick=function(e){var t=this.findStampPosition(e),n=(0,l.useBackend)(this.context),o=n.act;n.data,o("stamp",{x:t[0],y:t[1],r:this.state.rotate}),this.setState({x:t[0],y:t[1]})},n.handleWheel=function(e){var t=e.deltaY>0?15:-15;if(e.deltaY<0&&0===this.state.rotate)this.setState({rotate:360+t});else if(e.deltaY>0&&360===this.state.rotate)this.setState({rotate:t});else{var n={rotate:t+this.state.rotate};this.setState((function(){return n}))}S(e)},n.render=function(){var e=this.props,t=e.value,n=e.stamp_class,r=e.stamps,a=m(e,["value","stamp_class","stamps"]),i=r||[],c={sprite:n,x:this.state.x,y:this.state.y,rotate:this.state.rotate};return(0,o.normalizeProps)((0,o.createComponentVNode)(2,d.Box,Object.assign({onClick:this.handleMouseClick.bind(this),onMouseMove:this.handleMouseMove.bind(this),onwheel:this.handleWheel.bind(this)},a,{children:[(0,o.createComponentVNode)(2,T,{readOnly:1,value:t,stamps:i}),(0,o.createComponentVNode)(2,L,{opacity:.5,image:c})]})))},t}(o.Component),E=function(e){function t(t,n){var o;return(o=e.call(this,t,n)||this).state={previewSelected:"Preview",old_text:t.value||"",textarea_text:"",combined_text:t.value||""},o}p(t,e);var n=t.prototype;return n.createPreview=function(e,t){void 0===t&&(t=!1);var n,o,r=(0,l.useBackend)(this.context).data,a=r.text,d=r.pen_color,u=r.pen_font,s=r.is_crayon,p=r.field_counter,m=r.edit_usr,f={text:a};if((e=e.trim()).length>0){var C=function(e){return i["default"].sanitize(e,{FORBID_ATTR:["class","style"],ALLOWED_TAGS:["br","code","li","p","pre","span","table","td","tr","th","ul","ol","menu","font","b","center","table","tr","th"]})}(e+="\n"===e[e.length]?" \n":"\n \n"),g=(n=d,o=m,C.replace(w,(function(){return k(o,"Times New Roman",n,!0)}))),b=B(g,u,12,d,p),N=function(e){return(0,c["default"])(e,{breaks:!0,smartypants:!0,smartLists:!0,walkTokens:function(e){switch(e.type){case"url":case"autolink":case"reflink":case"link":case"image":e.type="text",e.href=""}},baseUrl:"thisshouldbreakhttp"})}(b.text),v=k(N,u,d,s);f.text+=v,f.field_counter=b.counter}if(t){var V=function(e,t,n,o,r){var a;void 0===r&&(r=!1);for(var c={},l=[];null!==(a=_.exec(e));){var d=a[0],u=a.groups.id;if(u){var s=document.getElementById(u);if(0===(s&&s.value?s.value:"").length)continue;var p=i["default"].sanitize(s.value.trim(),{ALLOWED_TAGS:[]});if(0===p.length)continue;var m=s.cloneNode(!0);p.match(w)?(m.style.fontFamily="Times New Roman",r=!0,m.defaultValue=o):(m.style.fontFamily=t,m.defaultValue=p),r&&(m.style.fontWeight="bold"),m.style.color=n,m.disabled=!0;var f=document.createElement("div");f.appendChild(m),c[u]=p,l.push({value:"["+f.innerHTML+"]",raw_text:d})}}if(l.length>0)for(var C,g=h(l);!(C=g()).done;){var b=C.value;e=e.replace(b.raw_text,b.value)}return{text:e,fields:c}}(f.text,u,d,m,s);f.text=V.text,f.form_fields=V.fields}return f},n.onInputHandler=function(e,t){var n=this;if(t!==this.state.textarea_text){var o=this.state.old_text.length+this.state.textarea_text.length;if(o>5e3&&(t=o-5e3>=t.length?"":t.substr(0,t.length-(o-5e3)))===this.state.textarea_text)return;this.setState((function(){return{textarea_text:t,combined_text:n.createPreview(t)}}))}},n.finalUpdate=function(e){var t=(0,l.useBackend)(this.context).act,n=this.createPreview(e,!0);t("save",n),this.setState((function(){return{textarea_text:"",previewSelected:"save",combined_text:n.text}}))},n.render=function(){var e=this,t=this.props,n=(t.value,t.textColor),r=t.fontFamily,a=t.stamps,i=t.backgroundColor;return m(t,["value","textColor","fontFamily","stamps","backgroundColor"]),(0,o.createComponentVNode)(2,d.Flex,{direction:"column",fillPositionedParent:!0,children:[(0,o.createComponentVNode)(2,d.Flex.Item,{children:(0,o.createComponentVNode)(2,d.Tabs,{children:[(0,o.createComponentVNode)(2,d.Tabs.Tab,{textColor:"black",backgroundColor:"Edit"===this.state.previewSelected?"grey":"white",selected:"Edit"===this.state.previewSelected,onClick:function(){return e.setState({previewSelected:"Edit"})},children:"Edit"},"marked_edit"),(0,o.createComponentVNode)(2,d.Tabs.Tab,{textColor:"black",backgroundColor:"Preview"===this.state.previewSelected?"grey":"white",selected:"Preview"===this.state.previewSelected,onClick:function(){return e.setState((function(){return{previewSelected:"Preview",textarea_text:e.state.textarea_text,combined_text:e.createPreview(e.state.textarea_text).text}}))},children:"Preview"},"marked_preview"),(0,o.createComponentVNode)(2,d.Tabs.Tab,{textColor:"black",backgroundColor:"confirm"===this.state.previewSelected?"red":"save"===this.state.previewSelected?"grey":"white",selected:"confirm"===this.state.previewSelected||"save"===this.state.previewSelected,onClick:function(){"confirm"===e.state.previewSelected?e.finalUpdate(e.state.textarea_text):"Edit"===e.state.previewSelected?e.setState((function(){return{previewSelected:"confirm",textarea_text:e.state.textarea_text,combined_text:e.createPreview(e.state.textarea_text).text}})):e.setState({previewSelected:"confirm"})},children:"confirm"===this.state.previewSelected?"confirm":"save"},"marked_done")]})}),(0,o.createComponentVNode)(2,d.Flex.Item,{grow:1,basis:1,children:"Edit"===this.state.previewSelected&&(0,o.createComponentVNode)(2,d.TextArea,{value:this.state.textarea_text,textColor:n,fontFamily:r,height:window.innerHeight-80+"px",backgroundColor:i,onInput:this.onInputHandler.bind(this)})||(0,o.createComponentVNode)(2,T,{value:this.state.combined_text,stamps:a,fontFamily:r,textColor:n})})]})},t}(o.Component);t.PaperSheet=function(e,t){var n=(0,l.useBackend)(t).data,r=n.edit_mode,a=n.text,i=n.paper_color,c=n.pen_color,s=void 0===c?"black":c,p=n.pen_font,m=void 0===p?"Verdana":p,h=n.stamps,f=n.stamp_class,C=(n.stamped,i&&"white"!==i?i:"#FFFFFF"),g=h&&null!==h?h:[];return(0,o.createComponentVNode)(2,u.Window,{theme:"paper",width:400,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,u.Window.Content,{children:(0,o.createComponentVNode)(2,d.Box,{fillPositionedParent:!0,backgroundColor:C,children:function(e){switch(e){case 0:return(0,o.createComponentVNode)(2,T,{value:a,stamps:g,readOnly:1});case 1:return(0,o.createComponentVNode)(2,E,{value:a,textColor:s,fontFamily:m,stamps:g,backgroundColor:C});case 2:return(0,o.createComponentVNode)(2,A,{value:a,stamps:g,stamp_class:f});default:return"ERROR ERROR WE CANNOT BE HERE!!"}}(r)})})})}},function(e,t,n){"use strict";e.exports=function(){var e=Object.hasOwnProperty,t=Object.setPrototypeOf,n=Object.isFrozen,o=Object.keys,r=Object.freeze,a=Object.seal,i="undefined"!=typeof Reflect&&Reflect,c=i.apply,l=i.construct;c||(c=function(e,t,n){return e.apply(t,n)}),r||(r=function(e){return e}),a||(a=function(e){return e}),l||(l=function(e,t){return new(Function.prototype.bind.apply(e,[null].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1?n-1:0),r=1;r/gm),F=a(/^data-[\-\w.\u00B7-\uFFFF]/),j=a(/^aria-[\-\w]+$/),D=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),z=a(/^(?:\w+script|data):/i),W=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g),H="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function U(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t0&&arguments[0]!==undefined?arguments[0]:G(),t=function(e){return q(e)};if(t.version="2.0.12",t.removed=[],!e||!e.document||9!==e.document.nodeType)return t.isSupported=!1,t;var n=e.document,a=!1,i=e.document,c=e.DocumentFragment,l=e.HTMLTemplateElement,k=e.Node,x=e.NodeFilter,Y=e.NamedNodeMap,$=Y===undefined?e.NamedNodeMap||e.MozNamedAttrMap:Y,X=e.Text,Q=e.Comment,Z=e.DOMParser,J=e.trustedTypes;if("function"==typeof l){var ee=i.createElement("template");ee.content&&ee.content.ownerDocument&&(i=ee.content.ownerDocument)}var te=K(J,n),ne=te&&Me?te.createHTML(""):"",oe=i,re=oe.implementation,ae=oe.createNodeIterator,ie=oe.getElementsByTagName,ce=oe.createDocumentFragment,le=n.importNode,de={};t.isSupported=re&&"undefined"!=typeof re.createHTMLDocument&&9!==i.documentMode;var ue=R,se=O,pe=F,me=j,he=z,fe=W,Ce=D,ge=null,be=_({},[].concat(U(B),U(S),U(L),U(I),U(T))),Ne=null,ve=_({},[].concat(U(A),U(E),U(M),U(P))),Ve=null,ye=null,ke=!0,xe=!0,_e=!1,we=!1,Be=!1,Se=!1,Le=!1,Ie=!1,Te=!1,Ae=!1,Ee=!1,Me=!1,Pe=!0,Re=!0,Oe=!1,Fe={},je=_({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","plaintext","script","style","svg","template","thead","title","video","xmp"]),De=null,ze=_({},["audio","video","img","source","image","track"]),We=null,He=_({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),Ue=null,Ge=i.createElement("form"),Ke=function(e){Ue&&Ue===e||(e&&"object"===(void 0===e?"undefined":H(e))||(e={}),ge="ALLOWED_TAGS"in e?_({},e.ALLOWED_TAGS):be,Ne="ALLOWED_ATTR"in e?_({},e.ALLOWED_ATTR):ve,We="ADD_URI_SAFE_ATTR"in e?_(w(He),e.ADD_URI_SAFE_ATTR):He,De="ADD_DATA_URI_TAGS"in e?_(w(ze),e.ADD_DATA_URI_TAGS):ze,Ve="FORBID_TAGS"in e?_({},e.FORBID_TAGS):{},ye="FORBID_ATTR"in e?_({},e.FORBID_ATTR):{},Fe="USE_PROFILES"in e&&e.USE_PROFILES,ke=!1!==e.ALLOW_ARIA_ATTR,xe=!1!==e.ALLOW_DATA_ATTR,_e=e.ALLOW_UNKNOWN_PROTOCOLS||!1,we=e.SAFE_FOR_JQUERY||!1,Be=e.SAFE_FOR_TEMPLATES||!1,Se=e.WHOLE_DOCUMENT||!1,Te=e.RETURN_DOM||!1,Ae=e.RETURN_DOM_FRAGMENT||!1,Ee=e.RETURN_DOM_IMPORT||!1,Me=e.RETURN_TRUSTED_TYPE||!1,Ie=e.FORCE_BODY||!1,Pe=!1!==e.SANITIZE_DOM,Re=!1!==e.KEEP_CONTENT,Oe=e.IN_PLACE||!1,Ce=e.ALLOWED_URI_REGEXP||Ce,Be&&(xe=!1),Ae&&(Te=!0),Fe&&(ge=_({},[].concat(U(T))),Ne=[],!0===Fe.html&&(_(ge,B),_(Ne,A)),!0===Fe.svg&&(_(ge,S),_(Ne,E),_(Ne,P)),!0===Fe.svgFilters&&(_(ge,L),_(Ne,E),_(Ne,P)),!0===Fe.mathMl&&(_(ge,I),_(Ne,M),_(Ne,P))),e.ADD_TAGS&&(ge===be&&(ge=w(ge)),_(ge,e.ADD_TAGS)),e.ADD_ATTR&&(Ne===ve&&(Ne=w(Ne)),_(Ne,e.ADD_ATTR)),e.ADD_URI_SAFE_ATTR&&_(We,e.ADD_URI_SAFE_ATTR),Re&&(ge["#text"]=!0),Se&&_(ge,["html","head","body"]),ge.table&&(_(ge,["tbody"]),delete Ve.tbody),r&&r(e),Ue=e)},qe=function(e){m(t.removed,{element:e});try{e.parentNode.removeChild(e)}catch(n){e.outerHTML=ne}},Ye=function(e,n){try{m(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch(o){m(t.removed,{attribute:null,from:n})}n.removeAttribute(e)},$e=function(e){var t=void 0,n=void 0;if(Ie)e=""+e;else{var o=C(e,/^[\r\n\t ]+/);n=o&&o[0]}var r=te?te.createHTML(e):e;try{t=(new Z).parseFromString(r,"text/html")}catch(l){}if(a&&_(Ve,["title"]),!t||!t.documentElement){var c=(t=re.createHTMLDocument("")).body;c.parentNode.removeChild(c.parentNode.firstElementChild),c.outerHTML=r}return e&&n&&t.body.insertBefore(i.createTextNode(n),t.body.childNodes[0]||null),ie.call(t,Se?"html":"body")[0]};t.isSupported&&function(){try{var e=$e("</title><img>");v(/<\/title/,e.querySelector("title").innerHTML)&&(a=!0)}catch(t){}}();var Xe=function(e){return ae.call(e.ownerDocument||e,e,x.SHOW_ELEMENT|x.SHOW_COMMENT|x.SHOW_TEXT,(function(){return x.FILTER_ACCEPT}),!1)},Qe=function(e){return!(e instanceof X||e instanceof Q||"string"==typeof e.nodeName&&"string"==typeof e.textContent&&"function"==typeof e.removeChild&&e.attributes instanceof $&&"function"==typeof e.removeAttribute&&"function"==typeof e.setAttribute&&"string"==typeof e.namespaceURI)},Ze=function(e){return"object"===(void 0===k?"undefined":H(k))?e instanceof k:e&&"object"===(void 0===e?"undefined":H(e))&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},Je=function(e,n,o){de[e]&&d(de[e],(function(e){e.call(t,n,o,Ue)}))},et=function(e){var n=void 0;if(Je("beforeSanitizeElements",e,null),Qe(e))return qe(e),!0;var o=f(e.nodeName);if(Je("uponSanitizeElement",e,{tagName:o,allowedTags:ge}),("svg"===o||"math"===o)&&0!==e.querySelectorAll("p, br").length)return qe(e),!0;if(!ge[o]||Ve[o]){if(Re&&!je[o]&&"function"==typeof e.insertAdjacentHTML)try{var r=e.innerHTML;e.insertAdjacentHTML("AfterEnd",te?te.createHTML(r):r)}catch(a){}return qe(e),!0}return"noscript"===o&&v(/<\/noscript/i,e.innerHTML)||"noembed"===o&&v(/<\/noembed/i,e.innerHTML)?(qe(e),!0):(!we||e.firstElementChild||e.content&&e.content.firstElementChild||!v(/
";throw l}}return ne.options=ne.setOptions=function(e){return X(ne.defaults,e),ee(ne.defaults),ne},ne.getDefaults=J,ne.defaults=te,ne.use=function(e){var t=X({},e);if(e.renderer&&function(){var n=ne.defaults.renderer||new U,o=function(t){var o=n[t];n[t]=function(){for(var r=arguments.length,a=new Array(r),i=0;i=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n50?"good":d>15&&"average")||"bad";return(0,o.createComponentVNode)(2,i.Window,{width:450,height:340,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[!l.anchored&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Generator not anchored."}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power switch",children:(0,o.createComponentVNode)(2,a.Button,{icon:l.active?"power-off":"times",onClick:function(){return c("toggle_power")},disabled:!l.ready_to_boot,children:l.active?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:l.sheet_name+" sheets",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:u,children:l.sheets}),l.sheets>=1&&(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",disabled:l.active,onClick:function(){return c("eject")},children:"Eject"})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current sheet level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.stack_percent/100,ranges:{good:[.1,Infinity],average:[.01,.1],bad:[-Infinity,.01]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat level",children:l.current_heat<100?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Nominal"}):l.current_heat<200?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",children:"Caution"}):(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"DANGER"})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current output",children:l.power_output}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",onClick:function(){return c("lower_power")},children:l.power_generated}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return c("higher_power")},children:l.power_generated})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:!l.connected&&"bad",children:l.connected?l.power_available:"Unconnected"})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortablePump=void 0;var o=n(0),r=n(1),a=n(3),i=n(2),c=n(186);t.PortablePump=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.direction,s=(d.holding,d.target_pressure),p=d.default_pressure,m=d.min_pressure,h=d.max_pressure;return(0,o.createComponentVNode)(2,i.Window,{width:300,height:315,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,c.PortableBasicInfo),(0,o.createComponentVNode)(2,a.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"sign-in-alt":"sign-out-alt",content:u?"In":"Out",selected:u,onClick:function(){return l("direction")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:s,unit:"kPa",width:"75px",minValue:m,maxValue:h,step:10,onChange:function(e,t){return l("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:s===m,onClick:function(){return l("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",disabled:s===p,onClick:function(){return l("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:s===h,onClick:function(){return l("pressure",{pressure:"max"})}})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=void 0;var o=n(0),r=n(1),a=n(3),i=n(30),c=n(2),l=n(186);t.PortableScrubber=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data.filter_types||[];return(0,o.createComponentVNode)(2,c.Window,{width:320,height:350,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,l.PortableBasicInfo),(0,o.createComponentVNode)(2,a.Section,{title:"Filters",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,i.getGasLabel)(e.gas_id,e.gas_name),selected:e.enabled,onClick:function(){return d("toggle_filter",{val:e.gas_id})}},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableTurret=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.PortableTurret=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.silicon_user,u=l.locked,s=l.on,p=l.check_weapons,m=l.neutralize_criminals,h=l.neutralize_all,f=l.neutralize_unidentified,C=l.neutralize_nonmindshielded,g=l.neutralize_cyborgs,b=l.ignore_heads,N=l.manual_control,v=l.allow_manual_control,V=l.lasertag_turret;return(0,o.createComponentVNode)(2,i.Window,{width:305,height:V?110:300,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,a.NoticeBox,{children:["Swipe an ID card to ",u?"unlock":"lock"," this interface."]}),(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",buttons:!V&&(!!v||!!N&&!!d)&&(0,o.createComponentVNode)(2,a.Button,{icon:N?"wifi":"terminal",content:N?"Remotely Controlled":"Manual Control",disabled:N,color:"bad",onClick:function(){return c("manual")}}),children:(0,o.createComponentVNode)(2,a.Button,{icon:s?"power-off":"times",content:s?"On":"Off",selected:s,disabled:u,onClick:function(){return c("power")}})})})}),!V&&(0,o.createComponentVNode)(2,a.Section,{title:"Target Settings",buttons:(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:b,content:"Ignore Heads",disabled:u,onClick:function(){return c("shootheads")}}),children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:h,content:"Non-Security and Non-Command",disabled:u,onClick:function(){return c("shootall")}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:p,content:"Unauthorized Weapons",disabled:u,onClick:function(){return c("authweapon")}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:f,content:"Unidentified Life Signs",disabled:u,onClick:function(){return c("checkxenos")}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:C,content:"Non-Mindshielded",disabled:u,onClick:function(){return c("checkloyal")}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:m,content:"Wanted Criminals",disabled:u,onClick:function(){return c("shootcriminals")}}),(0,o.createComponentVNode)(2,a.Button.Checkbox,{fluid:!0,checked:g,content:"Cyborgs",disabled:u,onClick:function(){return c("shootborgs")}})]})],0)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ProbingConsole=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.ProbingConsole=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.open,u=l.feedback,s=l.occupant,p=l.occupant_name,m=l.occupant_status;return(0,o.createComponentVNode)(2,i.Window,{width:330,height:207,theme:"abductor",children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Machine Report",children:u})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Scanner",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"sign-out-alt":"sign-in-alt",content:d?"Close":"Open",onClick:function(){return c("door")}}),children:s&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:3===m?"bad":2===m?"average":"good",children:3===m?"Deceased":2===m?"Unconcious":"Concious"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Experiments",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer",content:"Probe",onClick:function(){return c("experiment",{experiment_type:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"brain",content:"Dissect",onClick:function(){return c("experiment",{experiment_type:2})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"search",content:"Analyze",onClick:function(){return c("experiment",{experiment_type:3})}})]})]})||(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Subject"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ProximitySensor=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.ProximitySensor=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.minutes,u=l.seconds,s=l.timing,p=l.scanning,m=l.sensitivity;return(0,o.createComponentVNode)(2,i.Window,{width:250,height:185,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,a.Button,{icon:p?"lock":"unlock",content:p?"Armed":"Not Armed",selected:p,onClick:function(){return c("scanning")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Detection Range",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:p,onClick:function(){return c("sense",{range:-1})}})," ",String(m).padStart(1,"1")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:p,onClick:function(){return c("sense",{range:1})}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Auto Arm",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:s?"Stop":"Start",selected:s,disabled:p,onClick:function(){return c("time")}}),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:p||s,onClick:function(){return c("input",{adjust:-30})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:p||s,onClick:function(){return c("input",{adjust:-1})}})," ",String(d).padStart(2,"0"),":",String(u).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:p||s,onClick:function(){return c("input",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:p||s,onClick:function(){return c("input",{adjust:30})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(0),r=n(16),a=n(14),i=n(1),c=n(3),l=n(30),d=n(2);t.Radio=function(e,t){var n=(0,i.useBackend)(t),u=n.act,s=n.data,p=s.freqlock,m=s.frequency,h=s.minFrequency,f=s.maxFrequency,C=s.listening,g=s.broadcasting,b=s.command,N=s.useCommand,v=s.subspace,V=s.subspaceSwitchable,y=l.RADIO_CHANNELS.find((function(e){return e.freq===m})),k=(0,r.map)((function(e,t){return{name:t,status:!!e}}))(s.channels),x=106;return v&&(k.length>0?x+=21*k.length+6:x+=24),(0,o.createComponentVNode)(2,d.Window,{width:360,height:x,children:(0,o.createComponentVNode)(2,d.Window.Content,{children:(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Frequency",children:[p&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"light-gray",children:(0,a.toFixed)(m/10,1)+" kHz"})||(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:h/10,maxValue:f/10,value:m/10,format:function(e){return(0,a.toFixed)(e,1)},onDrag:function(e,t){return u("frequency",{adjust:t-m/10})}}),y&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:y.color,ml:2,children:["[",y.name,"]"]})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:C?"volume-up":"volume-mute",selected:C,onClick:function(){return u("listen")}}),(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:g?"microphone":"microphone-slash",selected:g,onClick:function(){return u("broadcast")}}),!!b&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:N,content:"High volume "+(N?"ON":"OFF"),onClick:function(){return u("command")}}),!!V&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:v,content:"Subspace Tx "+(v?"ON":"OFF"),onClick:function(){return u("subspace")}})]}),!!v&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Channels",children:[0===k.length&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"bad",children:"No encryption keys installed."}),k.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Button,{icon:e.status?"check-square-o":"square-o",selected:e.status,content:e.name,onClick:function(){return u("channel",{channel:e.name})}})},e.name)}))]})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RadioactiveMicrolaser=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.RadioactiveMicrolaser=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.irradiate,u=l.stealth,s=l.scanmode,p=l.intensity,m=l.wavelength,h=l.on_cooldown,f=l.cooldown;return(0,o.createComponentVNode)(2,i.Window,{title:"Radioactive Microlaser",width:320,height:335,theme:"syndicate",children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laser Status",children:(0,o.createComponentVNode)(2,a.Box,{color:h?"average":"good",children:h?"Recharging":"Ready"})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Scanner Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Irradiation",children:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return c("irradiate")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Stealth Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:u?"eye-slash":"eye",content:u?"On":"Off",disabled:!d,selected:u,onClick:function(){return c("stealth")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:s?"mortar-pestle":"heartbeat",content:s?"Scan Reagents":"Scan Health",disabled:d&&u,onClick:function(){return c("scanmode")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laser Settings",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Intensity",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return c("radintensity",{adjust:-5})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return c("radintensity",{adjust:-1})}})," ",(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(p),width:"40px",minValue:1,maxValue:20,onChange:function(e,t){return c("radintensity",{target:t})}})," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return c("radintensity",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return c("radintensity",{adjust:5})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Wavelength",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return c("radwavelength",{adjust:-5})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return c("radwavelength",{adjust:-1})}})," ",(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(m),width:"40px",minValue:0,maxValue:120,onChange:function(e,t){return c("radwavelength",{target:t})}})," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return c("radwavelength",{adjust:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return c("radwavelength",{adjust:5})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laser Cooldown",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,children:f})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=void 0;var o=n(0),r=n(6),a=n(1),i=n(3),c=n(2),l=["Atmospherics","Disposals","Transit Tubes"],d={Atmospherics:"wrench",Disposals:"trash-alt","Transit Tubes":"bus",Pipes:"grip-lines","Disposal Pipes":"grip-lines",Devices:"microchip","Heat Exchange":"thermometer-half","Station Equipment":"microchip"},u={grey:"#bbbbbb",amethyst:"#a365ff",blue:"#4466ff",brown:"#b26438",cyan:"#48eae8",dark:"#808080",green:"#1edd00",orange:"#ffa030",purple:"#b535ea",red:"#ff3333",violet:"#6e00f6",yellow:"#ffce26"},s=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e,t){var n=(0,a.useBackend)(t),p=n.act,m=n.data,h=m.category,f=m.categories,C=void 0===f?[]:f,g=m.selected_color,b=m.piping_layer,N=m.mode,v=m.preview_rows.flatMap((function(e){return e.previews})),V=(0,a.useLocalState)(t,"categoryName"),y=V[0],k=V[1],x=C.find((function(e){return e.cat_name===y}))||C[0];return(0,o.createComponentVNode)(2,c.Window,{width:425,height:515,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Category",children:l.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{selected:h===t,icon:d[e],color:"transparent",content:e,onClick:function(){return p("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Modes",children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:N&e.bitmask,content:e.name,onClick:function(){return p("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,width:"64px",color:u[g],children:g}),Object.keys(u).map((function(e){return(0,o.createComponentVNode)(2,i.ColorBox,{ml:1,color:u[e],onClick:function(){return p("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,i.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,i.Section,{children:[0===h&&(0,o.createComponentVNode)(2,i.Box,{mb:1,children:[1,2,3].map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:e===b,content:"Layer "+e,onClick:function(){return p("piping_layer",{piping_layer:e})}},e)}))}),(0,o.createComponentVNode)(2,i.Box,{width:"108px",children:v.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return p("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,i.Box,{className:(0,r.classes)(["pipes32x32",e.dir+"-"+e.icon_state]),style:{transform:"scale(1.5) translate(17%, 17%)"}})},e.dir)}))})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Tabs,{children:C.map((function(e,t){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{fluid:!0,icon:d[e.cat_name],selected:e.cat_name===x.cat_name,onClick:function(){return k(e.cat_name)},children:e.cat_name},e.cat_name)}))}),null==x?void 0:x.recipes.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:e.selected,content:e.pipe_name,title:e.pipe_name,onClick:function(){return p("pipe_type",{pipe_type:e.pipe_index,category:x.cat_name})}},e.pipe_index)}))]})})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RemoteRobotControlContent=t.RemoteRobotControl=void 0;var o=n(0),r=n(19),a=n(1),i=n(3),c=n(2);t.RemoteRobotControl=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{title:"Remote Robot Control",width:500,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,a.useBackend)(t),c=n.act,l=n.data.robots,d=void 0===l?[]:l;return d.length?d.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name+" ("+e.model+")",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"tools",content:"Interface",onClick:function(){return c("interface",{ref:e.ref})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"phone-alt",content:"Call",onClick:function(){return c("callbot",{ref:e.ref})}})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"Inactive"===(0,r.decodeHtmlEntities)(e.mode)?"bad":"Idle"===(0,r.decodeHtmlEntities)(e.mode)?"average":"good",children:(0,r.decodeHtmlEntities)(e.mode)})," ",e.hacked&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"bad",children:"(HACKED)"})||""]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Location",children:e.location})]})},e.ref)})):(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.NoticeBox,{textAlign:"center",children:"No robots detected"})})};t.RemoteRobotControlContent=l},function(e,t,n){"use strict";t.__esModule=!0,t.RoboticsControlConsole=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.RoboticsControlConsole=function(e,t){var n=(0,r.useBackend)(t),d=(n.act,n.data),u=(0,r.useSharedState)(t,"tab",1),s=u[0],p=u[1],m=d.can_hack,h=d.cyborgs,f=void 0===h?[]:h,C=d.drones,g=void 0===C?[]:C;return(0,o.createComponentVNode)(2,i.Window,{width:500,height:460,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"list",lineHeight:"23px",selected:1===s,onClick:function(){return p(1)},children:["Cyborgs (",f.length,")"]}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"list",lineHeight:"23px",selected:2===s,onClick:function(){return p(2)},children:["Drones (",g.length,")"]})]}),1===s&&(0,o.createComponentVNode)(2,c,{cyborgs:f,can_hack:m}),2===s&&(0,o.createComponentVNode)(2,l,{drones:g})]})})};var c=function(e,t){var n=e.cyborgs,i=e.can_hack,c=(0,r.useBackend)(t),l=c.act;c.data;return n.length?n.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,buttons:(0,o.createFragment)([!!i&&!e.emagged&&(0,o.createComponentVNode)(2,a.Button,{icon:"terminal",content:"Hack",color:"bad",onClick:function(){return l("magbot",{ref:e.ref})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:e.locked_down?"unlock":"lock",color:e.locked_down?"good":"default",content:e.locked_down?"Release":"Lockdown",onClick:function(){return l("stopbot",{ref:e.ref})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"bomb",content:"Detonate",color:"bad",onClick:function(){return l("killbot",{ref:e.ref})}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.status?"bad":e.locked_down?"average":"good",children:e.status?"Not Responding":e.locked_down?"Locked Down":"Nominal"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:(0,o.createComponentVNode)(2,a.Box,{color:e.charge<=30?"bad":e.charge<=70?"average":"good",children:"number"==typeof e.charge?e.charge+"%":"Not Found"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module",children:e.module}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Master AI",children:(0,o.createComponentVNode)(2,a.Box,{color:e.synchronization?"default":"average",children:e.synchronization||"None"})})]})},e.ref)})):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cyborg units detected within access parameters"})},l=function(e,t){var n=e.drones,i=(0,r.useBackend)(t).act;return n.length?n.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,buttons:(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"bomb",content:"Detonate",color:"bad",onClick:function(){return i("killdrone",{ref:e.ref})}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.status?"bad":"good",children:e.status?"Not Responding":"Nominal"})})})},e.ref)})):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No drone units detected within access parameters"})}},function(e,t,n){"use strict";t.__esModule=!0,t.Roulette=t.RouletteBetTable=t.RouletteBoard=t.RouletteNumberButton=void 0;var o=n(0),r=n(6),a=n(1),i=n(3),c=n(2),l=function(e){if(0===e)return"green";for(var t=[[1,10],[19,28]],n=!0,o=0;o=r[0]&&e<=r[1]){n=!1;break}}var a=e%2==0;return(n?a:!a)?"red":"black"},d=function(e,t){var n=e.number,r=(0,a.useBackend)(t).act;return(0,o.createComponentVNode)(2,i.Button,{bold:!0,content:n,color:l(n),width:"40px",height:"28px",fontSize:"20px",textAlign:"center",mb:0,className:"Roulette__board-extrabutton",onClick:function(){return r("ChangeBetType",{type:n})}})};t.RouletteNumberButton=d;var u=function(e,t){var n=(0,a.useBackend)(t).act;return(0,o.createVNode)(1,"table","Table",[(0,o.createVNode)(1,"tr","Roulette__board-row",[(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{content:"0",color:"transparent",height:"88px",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:0})}}),2,{rowSpan:"3"}),[3,6,9,12,15,18,21,24,27,30,33,36].map((function(e){return(0,o.createVNode)(1,"td","Roulette__board-cell Table__cell-collapsing",(0,o.createComponentVNode)(2,d,{number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2 to 1",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s3rd col"})}}),2)],0),(0,o.createVNode)(1,"tr",null,[[2,5,8,11,14,17,20,23,26,29,32,35].map((function(e){return(0,o.createVNode)(1,"td","Roulette__board-cell Table__cell-collapsing",(0,o.createComponentVNode)(2,d,{number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2 to 1",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s2nd col"})}}),2)],0),(0,o.createVNode)(1,"tr",null,[[1,4,7,10,13,16,19,22,25,28,31,34].map((function(e){return(0,o.createVNode)(1,"td","Roulette__board-cell Table__cell-collapsing",(0,o.createComponentVNode)(2,d,{number:e}),2,null,e)})),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2 to 1",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s1st col"})}}),2)],0),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"1st 12",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s1-12"})}}),2,{colSpan:"4"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"2nd 12",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s13-24"})}}),2,{colSpan:"4"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"3rd 12",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s25-36"})}}),2,{colSpan:"4"})],4),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"1-18",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s1-18"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Even",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"even"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Black",color:"black",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"black"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Red",color:"red",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"red"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"Odd",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"odd"})}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td","Roulette__board-cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"19-36",color:"transparent",className:"Roulette__board-extrabutton",onClick:function(){return n("ChangeBetType",{type:"s19-36"})}}),2,{colSpan:"2"})],4)],4,{style:{width:"1px"}})};t.RouletteBoard=u;var s=function(e,t){var n=(0,a.useBackend)(t),c=n.act,d=n.data,u=(0,a.useLocalState)(t,"customBet",500),s=u[0],p=u[1],m=d.BetType;return m.startsWith("s")&&(m=m.substring(1,m.length)),(0,o.createVNode)(1,"table","Roulette__lowertable",[(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"th",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--header"]),"Last Spun:",16),(0,o.createVNode)(1,"th",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--header"]),"Current Bet:",16)],4),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--spinresult","Roulette__lowertable--spinresult-"+l(d.LastSpin)]),d.LastSpin,0),(0,o.createVNode)(1,"td",(0,r.classes)(["Roulette","Roulette__lowertable--cell","Roulette__lowertable--betscell"]),[(0,o.createComponentVNode)(2,i.Box,{bold:!0,mt:1,mb:1,fontSize:"25px",textAlign:"center",children:[d.BetAmount," cr on ",m]}),(0,o.createComponentVNode)(2,i.Box,{ml:1,mr:1,children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 10 cr",onClick:function(){return c("ChangeBetAmount",{amount:10})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 50 cr",onClick:function(){return c("ChangeBetAmount",{amount:50})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 100 cr",onClick:function(){return c("ChangeBetAmount",{amount:100})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet 500 cr",onClick:function(){return c("ChangeBetAmount",{amount:500})}}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Bet custom amount...",onClick:function(){return c("ChangeBetAmount",{amount:s})}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{size:.1,children:(0,o.createComponentVNode)(2,i.NumberInput,{value:s,minValue:0,maxValue:1e3,step:10,stepPixelSize:4,width:"40px",onChange:function(e,t){return p(t)}})})]})]})],4)],4),(0,o.createVNode)(1,"tr",null,(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,i.Box,{bold:!0,m:1,fontSize:"14px",textAlign:"center",children:"Swipe an ID card with a connected account to spin!"}),2,{colSpan:"2"}),2),(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","Roulette__lowertable--cell",[(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,mr:1,children:"House Balance:"}),(0,o.createComponentVNode)(2,i.Box,{inline:!0,children:d.HouseBalance?d.HouseBalance+" cr":"None"})],4),(0,o.createVNode)(1,"td","Roulette__lowertable--cell",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:d.IsAnchored?"Bolted":"Unbolted",m:1,color:"transparent",textAlign:"center",onClick:function(){return c("anchor")}}),2)],4)],4)};t.RouletteBetTable=s;t.Roulette=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:603,height:475,theme:"cardtable",children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,s)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SatelliteControl=void 0;var o=n(0),r=n(1),a=n(3),i=n(175),c=n(2);t.SatelliteControl=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.satellites||[];return(0,o.createComponentVNode)(2,c.Window,{width:400,height:305,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[d.meteor_shield&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledListItem,{label:"Coverage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.meteor_shield_coverage/d.meteor_shield_coverage_max,content:100*d.meteor_shield_coverage/d.meteor_shield_coverage_max+"%",ranges:{good:[1,Infinity],average:[.3,1],bad:[-Infinity,.3]}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Satellite Controls",children:(0,o.createComponentVNode)(2,a.Box,{mr:-1,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.active,content:"#"+e.id+" "+e.mode,onClick:function(){return l("toggle",{id:e.id})}},e.id)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ScannerGate=void 0;var o=n(0),r=n(1),a=n(3),i=n(61),c=n(2),l=["Positive","Harmless","Minor","Medium","Harmful","Dangerous","BIOHAZARD"],d=[{name:"Human",value:"human"},{name:"Lizardperson",value:"lizard"},{name:"Flyperson",value:"fly"},{name:"Felinid",value:"felinid"},{name:"Plasmaman",value:"plasma"},{name:"Mothperson",value:"moth"},{name:"Jellyperson",value:"jelly"},{name:"Podperson",value:"pod"},{name:"Golem",value:"golem"},{name:"Zombie",value:"zombie"}],u=[{name:"Starving",value:150},{name:"Obese",value:600}];t.ScannerGate=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:300,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{onLockedStatusChange:function(){return a("toggle_lock")}}),!l.locked&&(0,o.createComponentVNode)(2,p)]})})};var s={Off:{title:"Scanner Mode: Off",component:function(){return m}},Wanted:{title:"Scanner Mode: Wanted",component:function(){return h}},Guns:{title:"Scanner Mode: Guns",component:function(){return f}},Mindshield:{title:"Scanner Mode: Mindshield",component:function(){return C}},Disease:{title:"Scanner Mode: Disease",component:function(){return g}},Species:{title:"Scanner Mode: Species",component:function(){return b}},Nutrition:{title:"Scanner Mode: Nutrition",component:function(){return N}},Nanites:{title:"Scanner Mode: Nanites",component:function(){return v}}},p=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.scan_mode,l=s[c]||s.off,d=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:"Off"!==c&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"back",onClick:function(){return i("set_mode",{new_mode:"Off"})}}),children:(0,o.createComponentVNode)(2,d)})},m=function(e,t){var n=(0,r.useBackend)(t).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:"Select a scanning mode below."}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{content:"Wanted",onClick:function(){return n("set_mode",{new_mode:"Wanted"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Guns",onClick:function(){return n("set_mode",{new_mode:"Guns"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Mindshield",onClick:function(){return n("set_mode",{new_mode:"Mindshield"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Disease",onClick:function(){return n("set_mode",{new_mode:"Disease"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Species",onClick:function(){return n("set_mode",{new_mode:"Species"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nutrition",onClick:function(){return n("set_mode",{new_mode:"Nutrition"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nanites",onClick:function(){return n("set_mode",{new_mode:"Nanites"})}})]})],4)},h=function(e,t){var n=(0,r.useBackend)(t).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any warrants for their arrest."]}),(0,o.createComponentVNode)(2,V)],4)},f=function(e,t){var n=(0,r.useBackend)(t).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any guns."]}),(0,o.createComponentVNode)(2,V)],4)},C=function(e,t){var n=(0,r.useBackend)(t).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","a mindshield."]}),(0,o.createComponentVNode)(2,V)],4)},g=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,d=c.reverse,u=c.disease_threshold;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",d?"does not have":"has"," ","a disease equal or worse than ",u,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e===u,content:e,onClick:function(){return i("set_disease_threshold",{new_threshold:e})}},e)}))}),(0,o.createComponentVNode)(2,V)],4)},b=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.reverse,u=c.target_species,s=d.find((function(e){return e.value===u}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned is ",l?"not":""," ","of the ",s.name," species.","zombie"===u&&" All zombie types will be detected, including dormant zombies."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===u,content:e.name,onClick:function(){return i("set_target_species",{new_species:e.value})}},e.value)}))}),(0,o.createComponentVNode)(2,V)],4)},N=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.reverse,d=c.target_nutrition,s=u.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","the ",s.name," nutrition level."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_nutrition",{new_nutrition:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,V)],4)},v=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.reverse,d=c.nanite_cloud;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","nanite cloud ",d,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:d,width:"65px",minValue:1,maxValue:100,stepPixelSize:2,onChange:function(e,t){return i("set_nanite_cloud",{new_cloud:t})}})})})}),(0,o.createComponentVNode)(2,V)],4)},V=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.reverse;return(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scanning Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:c?"Inverted":"Default",icon:c?"random":"long-arrow-alt-right",onClick:function(){return i("toggle_reverse")},color:c?"bad":"good"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SeedExtractor=void 0;var o=n(0),r=n(16),a=n(34),i=n(19),c=n(1),l=n(3),d=n(2);t.SeedExtractor=function(e,t){var n,u,s=(0,c.useBackend)(t),p=s.act,m=s.data,h=(n=m.seeds,u=Object.keys(n).map((function(e){var t=function(e){var t,n=/([^;=]+)=([^;]+)/g,o={};do{(t=n.exec(e))&&(o[t[1]]=t[2]+"")}while(t);return o}(e);return t.amount=n[e],t.key=e,t.name=(0,i.toTitleCase)(t.name.replace("pack of ","")),t})),(0,a.flow)([(0,r.sortBy)((function(e){return e.name}))])(u));return(0,o.createComponentVNode)(2,d.Window,{width:1e3,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,d.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l.Section,{title:"Stored seeds:",children:(0,o.createComponentVNode)(2,l.Table,{cellpadding:"3",textAlign:"center",children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Lifespan"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Endurance"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Maturation"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Production"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Yield"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Potency"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Instability"}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Stock"})]}),h.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{bold:!0,children:e.name}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.lifespan}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.endurance}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.maturation}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.production}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.yield}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.potency}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.instability}),(0,o.createComponentVNode)(2,l.Table.Cell,{children:[(0,o.createComponentVNode)(2,l.Button,{content:"Vend",onClick:function(){return p("select",{item:e.key})}}),"(",e.amount," left)"]})]},e.key)}))]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleManipulatorModification=t.ShuttleManipulatorTemplates=t.ShuttleManipulatorStatus=t.ShuttleManipulator=void 0;var o=n(0),r=n(16),a=n(1),i=n(3),c=n(2);t.ShuttleManipulator=function(e,t){var n=(0,a.useLocalState)(t,"tab",1),r=n[0],s=n[1];return(0,o.createComponentVNode)(2,c.Window,{title:"Shuttle Manipulator",width:800,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:1===r,onClick:function(){return s(1)},children:"Status"}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:2===r,onClick:function(){return s(2)},children:"Templates"}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:3===r,onClick:function(){return s(3)},children:"Modification"})]}),1===r&&(0,o.createComponentVNode)(2,l),2===r&&(0,o.createComponentVNode)(2,d),3===r&&(0,o.createComponentVNode)(2,u)]})})};var l=function(e,t){var n=(0,a.useBackend)(t),r=n.act,c=n.data.shuttles||[];return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Table,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"JMP",onClick:function(){return r("jump_to",{type:"mobile",id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Fly",disabled:!e.can_fly,onClick:function(){return r("fly",{id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.id}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.status}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.mode,!!e.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),e.timeleft,(0,o.createTextVNode)(")"),(0,o.createComponentVNode)(2,i.Button,{content:"Fast Travel",disabled:!e.can_fast_travel,onClick:function(){return r("fast_travel",{id:e.id})}},e.id)],0)]})]},e.id)}))})})};t.ShuttleManipulatorStatus=l;var d=function(e,t){var n,c=(0,a.useBackend)(t),l=c.act,d=c.data,u=d.templates||{},s=d.selected||{},p=(0,a.useLocalState)(t,"templateId",Object.keys(u)[0]),m=p[0],h=p[1],f=null==(n=u[m])?void 0:n.templates;return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Flex,{children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:m===t,onClick:function(){return h(t)},children:e.port_id},t)}))(u)})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,basis:0,children:f.map((function(e){var t=e.shuttle_id===s.shuttle_id;return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{content:t?"Selected":"Select",selected:t,onClick:function(){return l("select_template",{shuttle_id:e.shuttle_id})}}),children:(!!e.description||!!e.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:e.description}),!!e.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:e.admin_notes})]})},e.shuttle_id)}))})]})})};t.ShuttleManipulatorTemplates=d;var u=function(e,t){var n=(0,a.useBackend)(t),r=n.act,c=n.data,l=c.selected||{},d=c.existing_shuttle||{};return(0,o.createComponentVNode)(2,i.Section,{children:l?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{level:2,title:l.name,children:(!!l.description||!!l.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!l.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:l.description}),!!l.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:l.admin_notes})]})}),d?(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: "+d.name,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Jump To",onClick:function(){return r("jump_to",{type:"mobile",id:d.id})}}),children:[d.status,!!d.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),d.timeleft,(0,o.createTextVNode)(")")],0)]})})}):(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: None"}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Status",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Preview",onClick:function(){return r("preview",{shuttle_id:l.shuttle_id})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Load",color:"bad",onClick:function(){return r("load",{shuttle_id:l.shuttle_id})}})]})],0):"No shuttle selected"})};t.ShuttleManipulatorModification=u},function(e,t,n){"use strict";t.__esModule=!0,t.Signaler=void 0;var o=n(0),r=n(14),a=n(1),i=n(3),c=n(2);t.Signaler=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data,u=d.code,s=d.frequency,p=d.minFrequency,m=d.maxFrequency;return(0,o.createComponentVNode)(2,c.Window,{width:280,height:132,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:p/10,maxValue:m/10,value:s/10,format:function(e){return(0,r.toFixed)(e,1)},width:"80px",onDrag:function(e,t){return l("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return l("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,i.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:u,width:"80px",onDrag:function(e,t){return l("code",{code:t})}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return l("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,i.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return l("signal")}})})})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SkillPanel=void 0;var o=n(0),r=n(1),a=n(3),i=n(2),c={color:"lightgreen",fontWeight:"bold"},l={color:"#FFDB58",fontWeight:"bold"};t.SkillPanel=function(e,t){var n=(0,r.useBackend)(t),u=n.act,s=n.data,p=s.skills||[];return(0,o.createComponentVNode)(2,i.Window,{title:"Manage Skills",width:600,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:p.playername,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[(0,o.createVNode)(1,"span",null,e.desc,0,{style:l}),(0,o.createVNode)(1,"br"),!!e.level_based&&(0,o.createFragment)([(0,o.createComponentVNode)(2,d,{skill_lvl_num:e.lvl_base_num,skill_lvl:e.lvl_base}),(0,o.createVNode)(1,"br")],4),"Total Experience: [",e.value_base," XP]",(0,o.createVNode)(1,"br"),"XP To Next Level:\xa0",e.level_based?(0,o.createVNode)(1,"span",null,e.xp_next_lvl_base,0):(0,o.createVNode)(1,"span",null,"[MAXXED]",16,{style:c}),(0,o.createVNode)(1,"br"),e.base_readout,(0,o.createComponentVNode)(2,a.ProgressBar,{value:e.percent_base,color:"good"}),(0,o.createVNode)(1,"br"),!!s.admin&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Adjust Exp",onClick:function(){return u("adj_exp",{skill:e.path})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Set Exp",onClick:function(){return u("set_exp",{skill:e.path})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Set Level",onClick:function(){return u("set_lvl",{skill:e.path})}}),(0,o.createVNode)(1,"br"),(0,o.createVNode)(1,"br")],4)]},e.name)}))})})})})};var d=function(e){var t=e.skill_lvl_num,n=e.skill_lvl;return(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:["Level: [",(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,textColor:"hsl("+50*t+", 50%, 50%)",children:n}),"]"]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Sleeper=void 0;var o=n(0),r=n(1),a=n(3),i=n(2),c=[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Oxygen",type:"oxyLoss"}];t.Sleeper=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.open,s=d.occupant,p=void 0===s?{}:s,m=d.occupied,h=(d.chems||[]).sort((function(e,t){var n=e.name.toLowerCase(),o=t.name.toLowerCase();return no?1:0})),f=(d.synthchems||[]).sort((function(e,t){var n=e.name.toLowerCase(),o=t.name.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,i.Window,{width:310,height:465,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:p.name?p.name:"No Occupant",minHeight:"210px",buttons:!!p.stat&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:p.statstate,children:p.stat}),children:!!m&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.ProgressBar,{value:p.health,minValue:p.minHealth,maxValue:p.maxHealth,ranges:{good:[50,Infinity],average:[0,50],bad:[-Infinity,0]}}),(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p[e.type],minValue:0,maxValue:p.maxHealth,color:"bad"})},e.type)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood",children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.blood_levels/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d.blood_levels})}),d.blood_status]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cells",color:p.cloneLoss?"bad":"good",children:p.cloneLoss?"Damaged":"Healthy"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain",color:p.brainLoss?"bad":"good",children:p.brainLoss?"Abnormal":"Healthy"})]})],4)}),(0,o.createComponentVNode)(2,a.Section,{title:"Chemical Analysis",children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Chemical Contents",children:d.chemical_list.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[e.volume," units of ",e.name]},e.id)}))})}),(0,o.createComponentVNode)(2,a.Section,{title:"Medicines",minHeight:"205px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"door-open":"door-closed",content:u?"Open":"Closed",onClick:function(){return l("door")}}),children:h.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"flask",content:e.name,disabled:!m||!e.allowed,width:"140px",onClick:function(){return l("inject",{chem:e.id})}},e.name)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Synthesize Chemicals",children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,width:"140px",onClick:function(){return l("synth",{chem:e.id})}},e.name)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Purge Chemicals",children:h.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,disabled:!e.allowed,width:"140px",onClick:function(){return l("purge",{chem:e.id})}},e.name)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SlimeBodySwapper=t.BodyEntry=void 0;var o=n(0),r=n(1),a=n(3),i=n(2),c={Dead:"bad",Unconscious:"average",Conscious:"good"},l={owner:"You Are Here",stranger:"Occupied",available:"Swap"},d=function(e,t){var n=e.body,r=e.swapFunc;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:n.htmlcolor,children:n.name}),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:l[n.occupied],selected:"owner"===n.occupied,color:"stranger"===n.occupied&&"bad",onClick:function(){return r()}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",bold:!0,color:c[n.status],children:n.status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Jelly",children:n.exoticblood}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:n.area})]})})};t.BodyEntry=d;t.SlimeBodySwapper=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data.bodies,u=void 0===l?[]:l;return(0,o.createComponentVNode)(2,i.Window,{width:400,height:400,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{children:u.map((function(e){return(0,o.createComponentVNode)(2,d,{body:e,swapFunc:function(){return c("swap",{ref:e.ref})}},e.name)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(0),r=n(16),a=n(1),i=n(3),c=n(2);t.SmartVend=function(e,t){var n=(0,a.useBackend)(t),l=n.act,d=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:440,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Storage",buttons:!!d.isdryer&&(0,o.createComponentVNode)(2,i.Button,{icon:d.drying?"stop":"tint",onClick:function(){return l("Dry")},children:d.drying?"Stop drying":"Dry"}),children:0===d.contents.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Unfortunately, this ",d.name," is empty."]})||(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Item"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"center",children:d.verb?d.verb:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:e.amount}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.Button,{content:"One",disabled:e.amount<1,onClick:function(){return l("Release",{name:e.name,amount:1})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Many",disabled:e.amount<=1,onClick:function(){return l("Release",{name:e.name})}})]})]},t)}))(d.contents)]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(0),r=n(1),a=n(3),i=n(40),c=n(2);t.Smes=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.capacityPercent,s=(d.capacity,d.charge),p=d.inputAttempt,m=d.inputting,h=d.inputLevel,f=d.inputLevelMax,C=d.inputAvailable,g=d.outputAttempt,b=d.outputting,N=d.outputLevel,v=d.outputLevelMax,V=d.outputUsed,y=(u>=100?"good":m&&"average")||"bad",k=(b?"good":s>0&&"average")||"bad";return(0,o.createComponentVNode)(2,c.Window,{width:340,height:350,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:.01*u,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.Section,{title:"Input",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:p?"sync-alt":"times",selected:p,onClick:function(){return l("tryinput")},children:p?"Auto":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:y,children:(u>=100?"Fully Charged":m&&"Charging")||"Not Charging"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,a.Flex,{inline:!0,width:"100%",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===h,onClick:function(){return l("input",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===h,onClick:function(){return l("input",{adjust:-1e4})}})]}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,mx:1,children:(0,o.createComponentVNode)(2,a.Slider,{value:h/1e3,fillValue:C/1e3,minValue:0,maxValue:f/1e3,step:5,stepPixelSize:4,format:function(e){return(0,i.formatPower)(1e3*e,1)},onDrag:function(e,t){return l("input",{target:1e3*t})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:h===f,onClick:function(){return l("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:h===f,onClick:function(){return l("input",{target:"max"})}})]})]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available",children:(0,i.formatPower)(C)})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:g?"power-off":"times",selected:g,onClick:function(){return l("tryoutput")},children:g?"On":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:k,children:b?"Sending":s>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,a.Flex,{inline:!0,width:"100%",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===N,onClick:function(){return l("output",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===N,onClick:function(){return l("output",{adjust:-1e4})}})]}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,mx:1,children:(0,o.createComponentVNode)(2,a.Slider,{value:N/1e3,minValue:0,maxValue:v/1e3,step:5,stepPixelSize:4,format:function(e){return(0,i.formatPower)(1e3*e,1)},onDrag:function(e,t){return l("output",{target:1e3*t})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:N===v,onClick:function(){return l("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:N===v,onClick:function(){return l("output",{target:"max"})}})]})]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outputting",children:(0,i.formatPower)(V)})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmokeMachine=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.SmokeMachine=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.TankContents,u=(l.isTankLoaded,l.TankCurrentVolume),s=l.TankMaxVolume,p=l.active,m=l.setting,h=(l.screen,l.maxSetting),f=void 0===h?[]:h;return(0,o.createComponentVNode)(2,i.Window,{width:350,height:350,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Dispersal Tank",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:p?"power-off":"times",selected:p,content:p?"On":"Off",onClick:function(){return c("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:u/s,ranges:{bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{initial:0,value:u||0})," / "+s]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Range",children:[1,2,3,4,5].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:m===e,icon:"plus",content:3*e,disabled:f0?"good":"bad",children:f})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[.66,Infinity],average:[.33,.66],bad:[-Infinity,.33]},minValue:0,maxValue:1,value:u,children:d+" W"})})})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Tracking",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:0===h,onClick:function(){return c("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:"Timed",selected:1===h,onClick:function(){return c("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:2===h,disabled:!C,onClick:function(){return c("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Azimuth",children:[(0===h||1===h)&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:s,onDrag:function(e,t){return c("azimuth",{value:t})}}),1===h&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"80px",unit:"\xb0/m",step:.01,stepPixelSize:1,minValue:-m-.01,maxValue:m+.01,value:p,format:function(e){return(Math.sign(e)>0?"+":"-")+Math.abs(e)},onDrag:function(e,t){return c("azimuth_rate",{value:t})}}),2===h&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mt:"3px",children:[s+" \xb0"," (auto)"]})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.SpaceHeater=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data;return(0,o.createComponentVNode)(2,i.Window,{width:400,height:305,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!l.hasPowercell||!l.open,onClick:function(){return c("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,disabled:!l.hasPowercell,onClick:function(){return c("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!l.hasPowercell&&"bad",children:l.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.powerLevel/100,ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]},children:l.powerLevel+"%"})||"None"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Thermostat",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"18px",color:Math.abs(l.targetTemp-l.currentTemp)>50?"bad":Math.abs(l.targetTemp-l.currentTemp)>20?"average":"good",children:[l.currentTemp,"\xb0C"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:l.open&&(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(l.targetTemp),width:"65px",unit:"\xb0C",minValue:l.minTemp,maxValue:l.maxTemp,onChange:function(e,t){return c("target",{target:t})}})||l.targetTemp+"\xb0C"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:l.open?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer-half",content:"Auto",selected:"auto"===l.mode,onClick:function(){return c("mode",{mode:"auto"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fire-alt",content:"Heat",selected:"heat"===l.mode,onClick:function(){return c("mode",{mode:"heat"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fan",content:"Cool",selected:"cool"===l.mode,onClick:function(){return c("mode",{mode:"cool"})}})],4):"Auto"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider)]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SpawnersMenu=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.SpawnersMenu=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data.spawners||[];return(0,o.createComponentVNode)(2,i.Window,{title:"Spawners Menu",width:700,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" ("+e.amount_left+" left)",level:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Jump",onClick:function(){return c("jump",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Spawn",onClick:function(){return c("spawn",{name:e.name})}})],4),children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,fontSize:"20px",children:e.short_desc}),(0,o.createComponentVNode)(2,a.Box,{children:e.flavor_text}),!!e.important_info&&(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,color:"bad",fontSize:"26px",children:e.important_info})]},e.name)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SuitStorageUnit=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.SuitStorageUnit=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.locked,u=l.open,s=l.safeties,p=l.uv_active,m=l.occupied,h=l.suit,f=l.helmet,C=l.mask,g=l.storage;return(0,o.createComponentVNode)(2,i.Window,{width:400,height:305,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[!(!m||!s)&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Biological entity detected in suit chamber. Please remove before continuing with operation."}),p&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})||(0,o.createComponentVNode)(2,a.Section,{title:"Storage",minHeight:"260px",buttons:(0,o.createFragment)([!u&&(0,o.createComponentVNode)(2,a.Button,{icon:d?"unlock":"lock",content:d?"Unlock":"Lock",onClick:function(){return c("lock")}}),!d&&(0,o.createComponentVNode)(2,a.Button,{icon:u?"sign-out-alt":"sign-in-alt",content:u?"Close":"Open",onClick:function(){return c("door")}})],0),children:d&&(0,o.createComponentVNode)(2,a.Box,{mt:6,bold:!0,textAlign:"center",fontSize:"40px",children:[(0,o.createComponentVNode)(2,a.Box,{children:"Unit Locked"}),(0,o.createComponentVNode)(2,a.Icon,{name:"lock"})]})||u&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,a.Button,{icon:f?"square":"square-o",content:f||"Empty",disabled:!f,onClick:function(){return c("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,a.Button,{icon:h?"square":"square-o",content:h||"Empty",disabled:!h,onClick:function(){return c("dispense",{item:"suit"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mask",children:(0,o.createComponentVNode)(2,a.Button,{icon:C?"square":"square-o",content:C||"Empty",disabled:!C,onClick:function(){return c("dispense",{item:"mask"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Storage",children:(0,o.createComponentVNode)(2,a.Button,{icon:g?"square":"square-o",content:g||"Empty",disabled:!g,onClick:function(){return c("dispense",{item:"storage"})}})})]})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"recycle",content:"Decontaminate",disabled:m&&s,textAlign:"center",onClick:function(){return c("uv")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SyndPane=t.StatusPane=t.SyndContractorContent=t.SyndContractor=t.FakeTerminal=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);var c=function(e){var t,n;function r(t){var n;return(n=e.call(this,t)||this).timer=null,n.state={currentIndex:0,currentDisplay:[]},n}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var i=r.prototype;return i.tick=function(){var e=this.props,t=this.state;t.currentIndex<=e.allMessages.length?(this.setState((function(e){return{currentIndex:e.currentIndex+1}})),t.currentDisplay.push(e.allMessages[t.currentIndex])):(clearTimeout(this.timer),setTimeout(e.onFinished,e.finishedTimeout))},i.componentDidMount=function(){var e=this,t=this.props.linesPerSecond,n=void 0===t?2.5:t;this.timer=setInterval((function(){return e.tick()}),1e3/n)},i.componentWillUnmount=function(){clearTimeout(this.timer)},i.render=function(){return(0,o.createComponentVNode)(2,a.Box,{m:1,children:this.state.currentDisplay.map((function(e){return(0,o.createFragment)([e,(0,o.createVNode)(1,"br")],0,e)}))})},r}(o.Component);t.FakeTerminal=c;t.SyndContractor=function(e,t){return(0,o.createComponentVNode)(2,i.NtosWindow,{width:500,height:600,theme:"syndicate",resizable:!0,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,r.useBackend)(t),i=n.data,l=n.act,d=["Recording biometric data...","Analyzing embedded syndicate info...","STATUS CONFIRMED","Contacting syndicate database...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Awaiting response...","Response received, ack 4851234...","CONFIRM ACC "+Math.round(2e4*Math.random()),"Setting up private accounts...","CONTRACTOR ACCOUNT CREATED","Searching for available contracts...","Searching for available contracts...","Searching for available contracts...","Searching for available contracts...","CONTRACTS FOUND","WELCOME, AGENT"],s=!!i.error&&(0,o.createComponentVNode)(2,a.Modal,{backgroundColor:"red",children:(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mr:2,children:(0,o.createComponentVNode)(2,a.Icon,{size:4,name:"exclamation-triangle"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{mr:2,grow:1,textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{width:"260px",textAlign:"left",minHeight:"80px",children:i.error}),(0,o.createComponentVNode)(2,a.Button,{content:"Dismiss",onClick:function(){return l("PRG_clear_error")}})]})]})});return i.logged_in?i.logged_in&&i.first_load?(0,o.createComponentVNode)(2,a.Box,{backgroundColor:"rgba(0, 0, 0, 0.8)",minHeight:"525px",children:(0,o.createComponentVNode)(2,c,{allMessages:d,finishedTimeout:3e3,onFinished:function(){return l("PRG_set_first_load_finished")}})}):i.info_screen?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{backgroundColor:"rgba(0, 0, 0, 0.8)",minHeight:"500px",children:(0,o.createComponentVNode)(2,c,{allMessages:["SyndTract v2.0","","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.","","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.","","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.","","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","a standard contractor loadout, which will help cover your","identity."],linesPerSecond:10})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"CONTINUE",color:"transparent",textAlign:"center",onClick:function(){return l("PRG_toggle_info")}})],4):(0,o.createFragment)([s,(0,o.createComponentVNode)(2,u)],0):(0,o.createComponentVNode)(2,a.Section,{minHeight:"525px",children:[(0,o.createComponentVNode)(2,a.Box,{width:"100%",textAlign:"center",children:(0,o.createComponentVNode)(2,a.Button,{content:"REGISTER USER",color:"transparent",onClick:function(){return l("PRG_login")}})}),!!i.error&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:i.error})]})};t.SyndContractorContent=l;var d=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createFragment)([(0,o.createTextVNode)("Contractor Status"),(0,o.createComponentVNode)(2,a.Button,{content:"View Information Again",color:"transparent",mb:0,ml:1,onClick:function(){return i("PRG_toggle_info")}})],4),buttons:(0,o.createComponentVNode)(2,a.Box,{bold:!0,mr:1,children:[c.contract_rep," Rep"]}),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:.85,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"TC Availible",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Claim",disabled:c.redeemable_tc<=0,onClick:function(){return i("PRG_redeem_TC")}}),children:c.redeemable_tc}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"TC Earned",children:c.earned_tc})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Contracts Completed",children:c.contracts_completed}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Status",children:"ACTIVE"})]})})]})})};t.StatusPane=d;var u=function(e,t){var n=(0,r.useLocalState)(t,"tab",1),i=n[0],c=n[1];return(0,o.createFragment)([(0,o.createComponentVNode)(2,d,{state:e.state}),(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===i,onClick:function(){return c(1)},children:"Contracts"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===i,onClick:function(){return c(2)},children:"Hub"})]}),1===i&&(0,o.createComponentVNode)(2,s),2===i&&(0,o.createComponentVNode)(2,p)],0)};t.SyndPane=u;var s=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.contracts||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Availible Contracts",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Call Extraction",disabled:!c.ongoing_contract||c.extraction_enroute,onClick:function(){return i("PRG_call_extraction")}}),children:l.map((function(e){if(!c.ongoing_contract||2===e.status){var t=e.status>1;if(!(e.status>=5))return(0,o.createComponentVNode)(2,a.Section,{title:e.target?e.target+" ("+e.target_rank+")":"Invalid Target",level:t?1:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:[e.payout," (+",e.payout_bonus,") TC"]}),(0,o.createComponentVNode)(2,a.Button,{content:t?"Abort":"Accept",disabled:e.extraction_enroute,color:t&&"bad",onClick:function(){return i("PRG_contract"+(t?"_abort":"-accept"),{contract_id:e.id})}})],4),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:e.message}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.5,children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,children:"Dropoff Location:"}),(0,o.createComponentVNode)(2,a.Box,{children:e.dropoff})]})]})},e.target)}}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Dropoff Locator",textAlign:"center",opacity:c.ongoing_contract?100:0,children:(0,o.createComponentVNode)(2,a.Box,{bold:!0,children:c.dropoff_direction})})],4)},p=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.contractor_hub_items||[];return(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){var t=e.cost?e.cost+" Rep":"FREE",n=-1!==e.limited;return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" - "+t,level:2,buttons:(0,o.createFragment)([n&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:[e.limited," remaining"]}),(0,o.createComponentVNode)(2,a.Button,{content:"Purchase",disabled:c.contract_repl.user.cash),content:f?"FREE":d.price+" cr",onClick:function(){return c("vend",{ref:d.ref})}})})]})};t.Vending=function(e,t){var n,r=(0,a.useBackend)(t),d=(r.act,r.data),u=d.user,s=d.onstation,p=d.product_records,m=void 0===p?[]:p,h=d.coin_records,f=void 0===h?[]:h,C=d.hidden_records,g=void 0===C?[]:C,b=d.stock,N=!1;return d.vending_machine_input?(n=d.vending_machine_input||[],N=!0):(n=[].concat(m,f),d.extended_inventory&&(n=[].concat(n,g))),n=n.filter((function(e){return!!e})),(0,o.createComponentVNode)(2,c.Window,{title:"Vending Machine",width:450,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[!!s&&(0,o.createComponentVNode)(2,i.Section,{title:"User",children:u&&(0,o.createComponentVNode)(2,i.Box,{children:["Welcome, ",(0,o.createVNode)(1,"b",null,u.name,0),","," ",(0,o.createVNode)(1,"b",null,u.job||"Unemployed",0),"!",(0,o.createVNode)(1,"br"),"Your balance is ",(0,o.createVNode)(1,"b",null,[u.cash,(0,o.createTextVNode)(" credits")],0),"."]})||(0,o.createComponentVNode)(2,i.Box,{color:"light-grey",children:["No registered ID card!",(0,o.createVNode)(1,"br"),"Please contact your local HoP!"]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Products",children:(0,o.createComponentVNode)(2,i.Table,{children:n.map((function(e){return(0,o.createComponentVNode)(2,l,{custom:N,product:e,productStock:b[e.name]},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.VrSleeper=void 0;var o=n(0),r=n(1),a=n(3),i=n(2);t.VrSleeper=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data;return(0,o.createComponentVNode)(2,i.Window,{width:475,height:340,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:[!!l.emagged&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Safety restraints disabled."})}),(0,o.createComponentVNode)(2,a.Section,{title:"Virtual Avatar",children:!!l.vr_avatar&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:l.vr_avatar.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:l.vr_avatar.status}),!!l.vr_avatar&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.vr_avatar.health/l.vr_avatar.maxhealth,ranges:{good:[.9,Infinity],average:[.7,.8],bad:[-Infinity,.5]}})})]})||"No Virtual Avatar detected"}),(0,o.createComponentVNode)(2,a.Section,{title:"VR Commands",children:[(0,o.createComponentVNode)(2,a.Button,{content:l.toggle_open?"Close VR Sleeper":"Open VR Sleeper",icon:l.toggle_open?"unlock":"lock",disabled:l.stored
Date: Mon, 10 Aug 2020 13:10:40 +0800
Subject: [PATCH 07/10] endgame
---
code/modules/mafia/controller.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/mafia/controller.dm b/code/modules/mafia/controller.dm
index 8c4006ef90..602d697675 100644
--- a/code/modules/mafia/controller.dm
+++ b/code/modules/mafia/controller.dm
@@ -334,7 +334,7 @@
/**
* Cleans up the game, resetting variables back to the beginning and removing the map with the generator.
*/
-/datum/mafia_controller/proc/end_game(
+/datum/mafia_controller/proc/end_game()
map_deleter.generate() //remove the map, it will be loaded at the start of the next one
QDEL_LIST(all_roles)
turn = 0
From c70f1510e618aaed8d4767cada181ff15435ead9 Mon Sep 17 00:00:00 2001
From: Letter N <24603524+LetterN@users.noreply.github.com>
Date: Mon, 10 Aug 2020 16:00:38 +0800
Subject: [PATCH 08/10] fairly sure mmo mafia is not a thing and i'm lazy
---
code/modules/mafia/_defines.dm | 152 +++----------
code/modules/mafia/controller.dm | 229 +++++++++++++------
code/modules/mafia/map_pieces.dm | 7 +-
code/modules/mafia/outfits.dm | 30 ++-
code/modules/mafia/roles.dm | 362 +++++++++++++++++++++++--------
5 files changed, 496 insertions(+), 284 deletions(-)
diff --git a/code/modules/mafia/_defines.dm b/code/modules/mafia/_defines.dm
index 3833d5aefe..194851beed 100644
--- a/code/modules/mafia/_defines.dm
+++ b/code/modules/mafia/_defines.dm
@@ -1,7 +1,30 @@
+///how many people can play mafia without issues (running out of spawns, procs not expecting more than this amount of people, etc)
+#define MAFIA_MAX_PLAYER_COUNT 12
+
#define MAFIA_TEAM_TOWN "town"
#define MAFIA_TEAM_MAFIA "mafia"
#define MAFIA_TEAM_SOLO "solo"
+//types of town roles for random setup gen
+/// assistants it's just assistants filling up the rest of the roles
+#define TOWN_OVERFLOW "overflow"
+/// roles that learn info about others in the game (chaplain, detective, psych)
+#define TOWN_INVEST "invest"
+/// roles that keep other roles safe (doctor, and weirdly enough lawyer counts)
+#define TOWN_PROTECT "protect"
+/// roles that don't fit into anything else (hop)
+#define TOWN_MISC "misc"
+
+//other types (mafia team, neutrals)
+/// normal vote kill changelings
+#define MAFIA_REGULAR "regular"
+/// every other changeling role that has extra abilities
+#define MAFIA_SPECIAL "special"
+/// role that wins solo that nobody likes
+#define NEUTRAL_KILL "kill"
+/// role that upsets the game aka obsessed, usually worse for town than mafia but they can vote against mafia
+#define NEUTRAL_DISRUPT "disrupt"
+
#define MAFIA_PHASE_SETUP 1
#define MAFIA_PHASE_DAY 2
#define MAFIA_PHASE_VOTING 3
@@ -20,132 +43,23 @@
//in order of events + game end
-#define COMSIG_MAFIA_SUNDOWN "sundown" //the rest of these phases are at the end of the night when shutters raise, in a different order of resolution
+/// when the shutters fall, before the 45 second wait and night event resolution
+#define COMSIG_MAFIA_SUNDOWN "sundown"
+/// after the 45 second wait, for actions that must go first
#define COMSIG_MAFIA_NIGHT_START "night_start"
+/// most night actions now resolve
#define COMSIG_MAFIA_NIGHT_ACTION_PHASE "night_actions"
+/// now killing happens from the roles that do that. the reason this is post action phase is to ensure doctors can protect and lawyers can block
#define COMSIG_MAFIA_NIGHT_KILL_PHASE "night_kill"
+/// now undoing states like protection, actions that must happen last, etc. right before shutters raise and the day begins
#define COMSIG_MAFIA_NIGHT_END "night_end"
+/// signal sent to roles when the game is confirmed ending
#define COMSIG_MAFIA_GAME_END "game_end"
-//list of ghosts who want to play mafia, every time someone enters the list it checks to see if enough are in
+/// list of ghosts who want to play mafia, every time someone enters the list it checks to see if enough are in
GLOBAL_LIST_EMPTY(mafia_signup)
-//the current global mafia game running.
-GLOBAL_VAR(mafia_game)
/// list of ghosts who want to play mafia that have since disconnected. They are kept in the lobby, but not counted for starting a game.
GLOBAL_LIST_EMPTY(mafia_bad_signup)
-
-GLOBAL_LIST_INIT(mafia_setups,generate_mafia_setups())
-
-/proc/generate_mafia_setups()
- . = list()
- for(var/T in subtypesof(/datum/mafia_setup))
- var/datum/mafia_setup/N = new T
- . += list(N.roles)
-
-/datum/mafia_setup
- var/name = "Make subtypes with the list and a name, more readable than list(list(),list()) etc"
- var/list/roles
-
-// 12 Player
-
-/datum/mafia_setup/twelve_basic
- name = "12 Player Setup Basic"
- roles = list(
- /datum/mafia_role=6,
- /datum/mafia_role/md=1,
- /datum/mafia_role/detective=1,
- /datum/mafia_role/clown=1,
- /datum/mafia_role/mafia=3
- )
-
-/datum/mafia_setup/twelve_md
- name = "12 Player Setup MD"
- roles = list(
- /datum/mafia_role=6,
- /datum/mafia_role/md=3,
- /datum/mafia_role/mafia=3
- )
-
-/datum/mafia_setup/twelve_all
- name = "12 Player Setup All"
- roles = list(
- /datum/mafia_role=1,
- /datum/mafia_role/psychologist=1,
- /datum/mafia_role/md=1,
- /datum/mafia_role/detective=1,
- /datum/mafia_role/clown=1,
- /datum/mafia_role/chaplain=1,
- /datum/mafia_role/lawyer=1,
- /datum/mafia_role/traitor=1,
- /datum/mafia_role/mafia=3,
- /datum/mafia_role/fugitive=1,
- /datum/mafia_role/obsessed=1
- )
-
-/datum/mafia_setup/twelve_joke
- name = "12 Player Setup Funny"
- roles = list(
- /datum/mafia_role=5,
- /datum/mafia_role/detective=2,
- /datum/mafia_role/clown=2,
- /datum/mafia_role/mafia=3
- )
-
-/datum/mafia_setup/twelve_lockdown
- name = "12 Player Setup Lockdown"
- roles = list(
- /datum/mafia_role=5,
- /datum/mafia_role/md=1,
- /datum/mafia_role/detective=1,
- /datum/mafia_role/lawyer=2,
- /datum/mafia_role/mafia=3
- )
-
-/datum/mafia_setup/twelve_rip
- name = "12 Player Setup RIP"
- roles = list(
- /datum/mafia_role=6,
- /datum/mafia_role/md=1,
- /datum/mafia_role/detective=1,
- /datum/mafia_role/mafia=3,
- /datum/mafia_role/traitor=1
- )
-
-/datum/mafia_setup/twelve_double_treason
- name = "12 Player Setup Double Treason"
- roles = list(
- /datum/mafia_role=8,
- /datum/mafia_role/detective=1,
- /datum/mafia_role/traitor=1,
- /datum/mafia_role/obsessed=2
- )
-
-/datum/mafia_setup/twelve_fugitives
- name = "12 Player Fugitives"
- roles = list(
- /datum/mafia_role=6,
- /datum/mafia_role/psychologist=1,
- /datum/mafia_role/mafia=3,
- /datum/mafia_role/fugitive=2
- )
-
-/datum/mafia_setup/twelve_traitor_mafia
- name = "12 Player Traitor Mafia"
- roles = list(
- /datum/mafia_role=3,
- /datum/mafia_role/psychologist=2,
- /datum/mafia_role/md=2,
- /datum/mafia_role/detective=2,
- /datum/mafia_role/traitor=3
- )
-
-/*
-/datum/mafia_setup/three_test
- name = "3 Player Test"
- roles = list(
- /datum/mafia_role/chaplain=1,
- /datum/mafia_role/psychologist=1,
- /datum/mafia_role/mafia=1
- )
-*/
+/// the current global mafia game running.
+GLOBAL_VAR(mafia_game)
diff --git a/code/modules/mafia/controller.dm b/code/modules/mafia/controller.dm
index 602d697675..7a088dba1c 100644
--- a/code/modules/mafia/controller.dm
+++ b/code/modules/mafia/controller.dm
@@ -1,4 +1,3 @@
-/* DO NOT MERGE, REQUIRES TGUI3 MINIMUM, though the code only supports tgui4 */
/**
@@ -16,7 +15,8 @@
var/phase = MAFIA_PHASE_SETUP
///how long the game has gone on for, changes with every sunrise. day one, night one, day two, etc.
var/turn = 0
-
+ ///for debugging and testing a full game, or adminbuse. If this is not null, it will use this as a setup. clears when game is over
+ var/list/custom_setup = list()
///first day has no voting, and thus is shorter
var/first_day_phase_period = 20 SECONDS
///talk with others about the last night
@@ -193,7 +193,7 @@
*/
/datum/mafia_controller/proc/check_trial(verbose = TRUE)
var/datum/mafia_role/loser = get_vote_winner("Day")//, majority_of_town = TRUE)
- var/loser_votes = get_vote_count(loser,"Day")
+ // var/loser_votes = get_vote_count(loser,"Day")
if(loser)
// if(loser_votes > 12)
// loser.body.client?.give_award(/datum/award/achievement/mafia/universally_hated, loser.body)
@@ -267,6 +267,10 @@
* * returns TRUE if someone won the game, halting other procs from continuing in the case of a victory
*/
/datum/mafia_controller/proc/check_victory()
+ //needed for achievements
+ var/list/total_town = list()
+ var/list/total_mafia = list()
+
var/alive_town = 0
var/alive_mafia = 0
var/list/solos_to_ask = list() //need to ask after because first round is counting team sizes
@@ -276,15 +280,19 @@
///PHASE ONE: TALLY UP ALL NUMBERS OF PEOPLE STILL ALIVE
for(var/datum/mafia_role/R in all_roles)
- if(R.game_status == MAFIA_ALIVE)
- switch(R.team)
- if(MAFIA_TEAM_MAFIA)
- alive_mafia++
- if(MAFIA_TEAM_TOWN)
- alive_town++
- if(MAFIA_TEAM_SOLO)
+ switch(R.team)
+ if(MAFIA_TEAM_MAFIA)
+ total_mafia += R
+ if(R.game_status == MAFIA_ALIVE)
+ alive_mafia += R.vote_power
+ if(MAFIA_TEAM_TOWN)
+ total_town += R
+ if(R.game_status == MAFIA_ALIVE)
+ alive_town += R.vote_power
+ if(MAFIA_TEAM_SOLO)
+ if(R.game_status == MAFIA_ALIVE)
if(R.solo_counts_as_town)
- alive_town++
+ alive_town += R.vote_power
solos_to_ask += R
///PHASE TWO: SEND STATS TO SOLO ANTAGS, SEE IF THEY WON OR TEAMS CANNOT WIN
@@ -299,6 +307,8 @@
var/solo_end = FALSE
for(var/datum/mafia_role/winner in total_victors)
send_message("!! [uppertext(winner.name)] VICTORY !!")
+ // var/client/winner_client = GLOB.directory[winner.player_key]
+ // winner_client?.give_award(winner.winner_award, winner.body)
solo_end = TRUE
if(solo_end)
start_the_end()
@@ -306,10 +316,16 @@
if(blocked_victory)
return FALSE
if(alive_mafia == 0)
+ // for(var/datum/mafia_role/townie in total_town)
+ // var/client/townie_client = GLOB.directory[townie.player_key]
+ // townie_client?.give_award(townie.winner_award, townie.body)
start_the_end("!! TOWN VICTORY !!")
return TRUE
else if(alive_mafia >= alive_town) //guess could change if town nightkill is added
start_the_end("!! MAFIA VICTORY !!")
+ // for(var/datum/mafia_role/changeling in total_mafia)
+ // var/client/changeling_client = GLOB.directory[changeling.player_key]
+ // changeling_client?.give_award(changeling.winner_award, changeling.body)
return TRUE
/**
@@ -337,8 +353,13 @@
/datum/mafia_controller/proc/end_game()
map_deleter.generate() //remove the map, it will be loaded at the start of the next one
QDEL_LIST(all_roles)
+ current_setup_text = null
+ custom_setup = list()
turn = 0
votes = list()
+ //map gen does not deal with landmarks
+ QDEL_LIST(landmarks)
+ QDEL_NULL(town_center_landmark)
phase = MAFIA_PHASE_SETUP
/**
@@ -413,17 +434,17 @@
* Arguments:
* * voter: the mafia role that is trying to vote for...
* * target: the mafia role that is getting voted for
- * * vt: type of vote submitted (is this the day vote? is this the mafia night vote?)
+ * * vote_type: type of vote submitted (is this the day vote? is this the mafia night vote?)
* * teams: see mafia team defines for what to put in, makes the messages only send to a specific team (so mafia night votes only sending messages to mafia at night)
*/
-/datum/mafia_controller/proc/vote_for(datum/mafia_role/voter,datum/mafia_role/target,vt, teams)
- if(!votes[vt])
- votes[vt] = list()
- var/old_vote = votes[vt][voter]
+/datum/mafia_controller/proc/vote_for(datum/mafia_role/voter,datum/mafia_role/target,vote_type, teams)
+ if(!votes[vote_type])
+ votes[vote_type] = list()
+ var/old_vote = votes[vote_type][voter]
if(old_vote && old_vote == target)
- votes[vt] -= voter
+ votes[vote_type] -= voter
else
- votes[vt][voter] = target
+ votes[vote_type][voter] = target
if(old_vote && old_vote == target)
send_message("[voter.body.real_name] retracts their vote for [target.body.real_name]!", team = teams)
else
@@ -437,12 +458,12 @@
/**
* Clears out the votes of a certain type (day votes, mafia kill votes) while leaving others untouched
*/
-/datum/mafia_controller/proc/reset_votes(vt)
+/datum/mafia_controller/proc/reset_votes(vote_type)
var/list/bodies_to_update = list()
- for(var/vote in votes[vt])
- var/datum/mafia_role/R = votes[vt][vote]
+ for(var/vote in votes[vote_type])
+ var/datum/mafia_role/R = votes[vote_type][vote]
bodies_to_update += R.body
- votes[vt] = list()
+ votes[vote_type] = list()
for(var/mob/M in bodies_to_update)
M.update_icon()
@@ -450,38 +471,39 @@
* Returns how many people voted for the role, in whatever vote (day vote, night kill vote)
* Arguments:
* * role: the mafia role the proc tries to get the amount of votes for
- * * vt: the vote type (getting how many day votes were for the role, or mafia night votes for the role)
+ * * vote_type: the vote type (getting how many day votes were for the role, or mafia night votes for the role)
*/
-/datum/mafia_controller/proc/get_vote_count(role,vt)
+/datum/mafia_controller/proc/get_vote_count(role,vote_type)
. = 0
- for(var/votee in votes[vt])
- if(votes[vt][votee] == role)
- . += 1
+ for(var/v in votes[vote_type])
+ var/datum/mafia_role/votee = v
+ if(votes[vote_type][votee] == role)
+ . += votee.vote_power
/**
* Returns whichever role got the most votes, in whatever vote (day vote, night kill vote)
* returns null if no votes
* Arguments:
- * * vt: the vote type (getting the role that got the most day votes, or the role that got the most mafia votes)
+ * * vote_type: the vote type (getting the role that got the most day votes, or the role that got the most mafia votes)
*/
-/datum/mafia_controller/proc/get_vote_winner(vt)
+/datum/mafia_controller/proc/get_vote_winner(vote_type)
var/list/tally = list()
- for(var/votee in votes[vt])
- if(!tally[votes[vt][votee]])
- tally[votes[vt][votee]] = 1
+ for(var/votee in votes[vote_type])
+ if(!tally[votes[vote_type][votee]])
+ tally[votes[vote_type][votee]] = 1
else
- tally[votes[vt][votee]] += 1
+ tally[votes[vote_type][votee]] += 1
sortTim(tally,/proc/cmp_numeric_dsc,associative=TRUE)
return length(tally) ? tally[1] : null
/**
* Returns a random person who voted for whatever vote (day vote, night kill vote)
* Arguments:
- * * vt: vote type (getting a random day voter, or mafia night voter)
+ * * vote_type: vote type (getting a random day voter, or mafia night voter)
*/
-/datum/mafia_controller/proc/get_random_voter(vt)
- if(length(votes[vt]))
- return pick(votes[vt])
+/datum/mafia_controller/proc/get_random_voter(vote_type)
+ if(length(votes[vote_type]))
+ return pick(votes[vote_type])
/**
* Adds mutable appearances to people who get publicly voted on (so not night votes) showing how many people are picking them
@@ -604,9 +626,6 @@
basic_setup()
if("nuke")
end_game()
- for(var/i in landmarks)
- qdel(i)
- qdel(town_center_landmark)
qdel(src)
if("next_phase")
var/datum/timedevent/timer = SStimer.timer_id_dict[next_phase_timer]
@@ -623,11 +642,33 @@
continue
player.body.forceMove(get_turf(player.assigned_landmark))
if(failed.len)
- to_chat(usr, "List of players who no longer had a body (if you see this, the game is runtiming anyway so just hit \"New Game\" to end it")
+ to_chat(usr, "List of players who no longer had a body (if you see this, the game is runtiming anyway so just hit \"New Game\" to end it)")
for(var/i in failed)
var/datum/mafia_role/fail = i
to_chat(usr, fail.player_key)
- switch(action)
+ if("debug_setup")
+ var/list/debug_setup = list()
+ var/list/rolelist_dict = list()
+ var/done = FALSE
+ for(var/p in typesof(/datum/mafia_role))
+ var/datum/mafia_role/path = p
+ rolelist_dict[initial(path.name) + " ([uppertext(initial(path.team))])"] = path
+ rolelist_dict = list("CANCEL", "FINISH") + rolelist_dict
+ while(!done)
+ to_chat(usr, "You have a total player count of [assoc_value_sum(debug_setup)] in this setup.")
+ var/chosen_role_name = input(usr,"Select a role!","Custom Setup Creation",rolelist_dict[1]) as null|anything in rolelist_dict
+ if(chosen_role_name == "CANCEL")
+ return
+ if(chosen_role_name == "FINISH")
+ break
+ var/found_path = rolelist_dict[chosen_role_name]
+ var/role_count = input(usr,"How many? Zero to cancel.","Custom Setup Creation",0) as null|num
+ if(role_count > 0)
+ debug_setup[found_path] = role_count
+ custom_setup = debug_setup
+ if("cancel_setup")
+ custom_setup = list()
+ switch(action) //both living and dead
if("mf_lookup")
var/role_lookup = params["atype"]
var/datum/mafia_role/helper
@@ -662,8 +703,7 @@
spectators += C.ckey
if(user_role.game_status == MAFIA_DEAD)
return
- var/self_voting = user_role == on_trial ? TRUE : FALSE //used to block people from voting themselves innocent or guilty
- //User actions
+ //User actions (just living)
switch(action)
if("mf_action")
if(!user_role.actions.Find(params["atype"]))
@@ -678,7 +718,7 @@
if("Vote")
if(phase != MAFIA_PHASE_VOTING)
return
- vote_for(user_role,target,vt="Day")
+ vote_for(user_role,target,vote_type="Day")
if("Kill Vote")
if(phase != MAFIA_PHASE_NIGHT || user_role.team != MAFIA_TEAM_MAFIA)
return
@@ -731,31 +771,87 @@
. += L[key]
/**
- * Returns all setups that the amount of players signed up could support (so fill each role)
- * Arguments:
- * * ready_count: the amount of players signed up (not sane, so some players may have disconnected or rejoined ss13).
+ * Returns a semirandom setup, with...
+ * Town, Two invest roles, one protect role, sometimes a misc role, and the rest assistants for town.
+ * Mafia, 2 normal mafia and one special.
+ * Neutral, two disruption roles, sometimes one is a killing.
+ *
+ * See _defines.dm in the mafia folder for a rundown on what these groups of roles include.
*/
-/datum/mafia_controller/proc/find_best_setup(ready_count)
- var/list/all_setups = GLOB.mafia_setups
- var/valid_setups = list()
- for(var/S in all_setups)
- var/req_players = assoc_value_sum(S)
- if(req_players <= ready_count)
- valid_setups += list(S)
- return length(valid_setups) > 0 ? pick(valid_setups) : null
+/datum/mafia_controller/proc/generate_random_setup()
+ var/invests_left = 2
+ var/protects_left = 1
+ var/miscs_left = prob(35)
+ var/mafiareg_left = 2
+ var/mafiaspe_left = 1
+ var/killing_role = prob(50)
+ var/disruptors = killing_role ? 1 : 2 //still required to calculate overflow
+ var/overflow_left = MAFIA_MAX_PLAYER_COUNT - (invests_left + protects_left + miscs_left + mafiareg_left + mafiaspe_left + killing_role + disruptors)
+
+ var/list/random_setup = list()
+ for(var/i in 1 to MAFIA_MAX_PLAYER_COUNT) //should match the number of roles to add
+ if(overflow_left)
+ add_setup_role(random_setup, TOWN_OVERFLOW)
+ overflow_left--
+ else if(invests_left)
+ add_setup_role(random_setup, TOWN_INVEST)
+ invests_left--
+ else if(protects_left)
+ add_setup_role(random_setup, TOWN_PROTECT)
+ protects_left--
+ else if(miscs_left)
+ add_setup_role(random_setup, TOWN_MISC)
+ miscs_left--
+ else if(mafiareg_left)
+ add_setup_role(random_setup, MAFIA_REGULAR)
+ mafiareg_left--
+ else if(mafiaspe_left)
+ add_setup_role(random_setup, MAFIA_SPECIAL)
+ mafiaspe_left--
+ else if(killing_role)
+ add_setup_role(random_setup, NEUTRAL_KILL)
+ killing_role--
+ else
+ add_setup_role(random_setup, NEUTRAL_DISRUPT)
+ return random_setup
+
+/**
+ * Helper proc that adds a random role of a type to a setup. if it doesn't exist in the setup, it adds the path to the list and otherwise bumps the path in the list up one
+ */
+/datum/mafia_controller/proc/add_setup_role(setup_list, wanted_role_type)
+ var/list/role_type_paths = list()
+ for(var/path in typesof(/datum/mafia_role))
+ var/datum/mafia_role/instance = path
+ if(initial(instance.role_type) == wanted_role_type)
+ role_type_paths += instance
+
+ var/mafia_path = pick(role_type_paths)
+ var/datum/mafia_role/mafia_path_type = mafia_path
+ var/found_role
+ for(var/searched_path in setup_list)
+ var/datum/mafia_role/searched_path_type = searched_path
+ if(initial(mafia_path_type.name) == initial(searched_path_type.name))
+ found_role = searched_path
+ break
+ if(found_role)
+ setup_list[found_role] += 1
+ return
+ setup_list[mafia_path] = 1
/**
* Called when enough players have signed up to fill a setup. DOESN'T NECESSARILY MEAN THE GAME WILL START.
*
+ * Checks for a custom setup, if so gets the required players from that and if not it sets the player requirement to MAFIA_MAX_PLAYER_COUNT and generates one IF basic setup starts a game.
* Checks if everyone signed up is an observer, and is still connected. If people aren't, they're removed from the list.
* If there aren't enough players post sanity, it aborts. otherwise, it selects enough people for the game and starts preparing the game for real.
*/
/datum/mafia_controller/proc/basic_setup()
- var/ready_count = length(GLOB.mafia_signup)
- var/list/setup = find_best_setup(ready_count)
- if(!setup)
- return
- var/req_players = assoc_value_sum(setup) //12
+ var/req_players
+ var/list/setup = custom_setup
+ if(!setup.len)
+ req_players = MAFIA_MAX_PLAYER_COUNT
+ else
+ req_players = assoc_value_sum(setup)
//final list for all the players who will be in this game
var/list/filtered_keys = list()
@@ -783,8 +879,10 @@
for(var/unpicked in possible_keys)
var/client/unpicked_client = GLOB.directory[unpicked]
to_chat(unpicked_client, "Sorry, the starting mafia game has too many players and you were not picked.")
- to_chat(unpicked_client, "You're still signed up, and have another chance to join when the one starting now finishes.")
+ to_chat(unpicked_client, "You're still signed up, getting messages from the current round, and have another chance to join when the one starting now finishes.")
+ if(!setup.len) //don't actually have one yet, so generate a max player random setup. it's good to do this here instead of above so it doesn't generate one every time a game could possibly start.
+ setup = generate_random_setup()
prepare_game(setup,filtered_keys)
start_game()
@@ -794,12 +892,9 @@
* Only checks if everyone is actually valid to start (still connected and an observer) if there are enough players (basic_setup)
*/
/datum/mafia_controller/proc/try_autostart()
- if(phase != MAFIA_PHASE_SETUP)
+ if(phase != MAFIA_PHASE_SETUP) // || !(GLOB.ghost_role_flags & GHOSTROLE_MINIGAME))
return
- var/min_players = INFINITY // fairly sure mmo mafia is not a thing and i'm lazy
- for(var/setup in GLOB.mafia_setups)
- min_players = min(min_players,assoc_value_sum(setup))
- if(GLOB.mafia_signup.len >= min_players)//enough people to try and make something
+ if(GLOB.mafia_signup.len >= MAFIA_MAX_PLAYER_COUNT || custom_setup.len)//enough people to try and make something (or debug mode)
basic_setup()
/**
diff --git a/code/modules/mafia/map_pieces.dm b/code/modules/mafia/map_pieces.dm
index 1bca4467a1..d1756d7f11 100644
--- a/code/modules/mafia/map_pieces.dm
+++ b/code/modules/mafia/map_pieces.dm
@@ -14,11 +14,14 @@
name = "Mafia Game Board"
icon = 'icons/obj/mafia.dmi'
icon_state = "board"
+ anchored = TRUE
var/game_id = "mafia"
+ var/datum/mafia_controller/MF
/obj/mafia_game_board/attack_ghost(mob/user)
. = ..()
- var/datum/mafia_controller/MF = GLOB.mafia_game
+ if(!MF)
+ MF = GLOB.mafia_game
if(!MF)
MF = create_mafia_game()
MF.ui_interact(user)
@@ -30,7 +33,7 @@
requires_power = FALSE
has_gravity = STANDARD_GRAVITY
flags_1 = NONE
- //block_suicide = TRUE
+ // block_suicide = TRUE
/datum/map_template/mafia
var/description = ""
diff --git a/code/modules/mafia/outfits.dm b/code/modules/mafia/outfits.dm
index 5bdc66a219..bbc72bd120 100644
--- a/code/modules/mafia/outfits.dm
+++ b/code/modules/mafia/outfits.dm
@@ -17,7 +17,7 @@
name = "Mafia Detective"
uniform = /obj/item/clothing/under/rank/security/detective
- //neck = /obj/item/clothing/neck/tie/detective
+ // neck = /obj/item/clothing/neck/tie/detective
shoes = /obj/item/clothing/shoes/sneakers/brown
suit = /obj/item/clothing/suit/det_suit
gloves = /obj/item/clothing/gloves/color/black
@@ -42,13 +42,6 @@
uniform = /obj/item/clothing/under/rank/civilian/chaplain
-/datum/outfit/mafia/clown
- name = "Mafia Clown"
-
- uniform = /obj/item/clothing/under/rank/civilian/clown
- shoes = /obj/item/clothing/shoes/clown_shoes
- mask = /obj/item/clothing/mask/gas/clown_hat
-
/datum/outfit/mafia/lawyer
name = "Mafia Lawyer"
@@ -56,8 +49,14 @@
suit = /obj/item/clothing/suit/toggle/lawyer
shoes = /obj/item/clothing/shoes/laceup
+/datum/outfit/mafia/hop
+ name = "Mafia Head of Personnel"
-
+ uniform = /obj/item/clothing/under/rank/civilian/head_of_personnel
+ suit = /obj/item/clothing/suit/armor/vest/alt
+ shoes = /obj/item/clothing/shoes/sneakers/brown
+ head = /obj/item/clothing/head/hopcap
+ glasses = /obj/item/clothing/glasses/sunglasses
//mafia
@@ -88,9 +87,22 @@
carried_item.add_mob_blood(H)//Oh yes, there will be blood...
H.regenerate_icons()
+/datum/outfit/mafia/clown
+ name = "Mafia Clown"
+
+ uniform = /obj/item/clothing/under/rank/civilian/clown
+ shoes = /obj/item/clothing/shoes/clown_shoes
+ mask = /obj/item/clothing/mask/gas/clown_hat
+
/datum/outfit/mafia/traitor
name = "Mafia Traitor"
mask = /obj/item/clothing/mask/gas/syndicate
uniform = /obj/item/clothing/under/syndicate/tacticool
shoes = /obj/item/clothing/shoes/jackboots
+
+/datum/outfit/mafia/nightmare
+ name = "Mafia Nightmare"
+
+ uniform = null
+ shoes = null
diff --git a/code/modules/mafia/roles.dm b/code/modules/mafia/roles.dm
index 914cbb0bd3..2461a93976 100644
--- a/code/modules/mafia/roles.dm
+++ b/code/modules/mafia/roles.dm
@@ -3,20 +3,26 @@
var/desc = "You are a crewmember without any special abilities."
var/win_condition = "kill all mafia and solo killing roles."
var/team = MAFIA_TEAM_TOWN
+ ///how the random setup chooses which roles get put in
+ var/role_type = TOWN_OVERFLOW
var/player_key
var/mob/living/carbon/human/body
var/obj/effect/landmark/mafia/assigned_landmark
+ ///how many votes submitted when you vote.
+ var/vote_power = 1
+ var/detect_immune = FALSE
var/revealed = FALSE
var/datum/outfit/revealed_outfit = /datum/outfit/mafia/assistant //the assistants need a special path to call out they were in fact assistant, everything else can just use job equipment
//action = uses
var/list/actions = list()
var/list/targeted_actions = list()
+ //what the role gets when it wins a game
+ // var/winner_award = /datum/award/achievement/mafia/assistant
//so mafia have to also kill them to have a majority
var/solo_counts_as_town = FALSE //(don't set this for town)
-
var/game_status = MAFIA_ALIVE
///icon state in the mafia dmi of the hud of the role, used in the mafia ui
@@ -60,7 +66,6 @@
to_chat(body,"You are not aligned to town or mafia. Accomplish your own objectives!")
to_chat(body, "Be sure to read the wiki page to learn more, if you have no idea what's going on.")
-//please take care with this, they can break shit with their equipment unless you specifically disallow them (aka stun at the end of the game)
/datum/mafia_role/proc/reveal_role(datum/mafia_controller/game, verbose = FALSE)
if(revealed)
return
@@ -69,9 +74,13 @@
var/list/oldoutfit = body.get_equipped_items()
for(var/thing in oldoutfit)
qdel(thing)
+ special_reveal_equip(game)
body.equipOutfit(revealed_outfit)
revealed = TRUE
+/datum/mafia_role/proc/special_reveal_equip(datum/mafia_controller/game)
+ return
+
/datum/mafia_role/proc/handle_action(datum/mafia_controller/game,action,datum/mafia_role/target)
return
@@ -114,6 +123,8 @@
name = "Detective"
desc = "You can investigate a single person each night to learn their team."
revealed_outfit = /datum/outfit/mafia/detective
+ role_type = TOWN_INVEST
+ // winner_award = /datum/award/achievement/mafia/detective
hud_icon = "huddetective"
revealed_icon = "detective"
@@ -140,32 +151,109 @@
current_investigation = target
/datum/mafia_role/detective/proc/investigate(datum/mafia_controller/game)
- var/datum/mafia_role/R = current_investigation
- if(R)
- var/team_text
- var/fluff
- switch(R.team)
- if(MAFIA_TEAM_TOWN)
- team_text = "Town"
- fluff = "a true member of the station."
- if(MAFIA_TEAM_MAFIA)
- team_text = "Mafia"
- fluff = "an unfeeling, hideous changeling!"
- if(MAFIA_TEAM_SOLO)
- team_text = "Solo"
- fluff = "a rogue, with their own objectives..."
- to_chat(body,"Your investigations reveal that [R.body.real_name] is [fluff]")
- add_note("N[game.turn] - [R.body.real_name] - [team_text]")
+ var/datum/mafia_role/target = current_investigation
+ if(target)
+ if(target.detect_immune)
+ to_chat(body,"Your investigations reveal that [target.body.real_name] is a true member of the station.")
+ add_note("N[game.turn] - [target.body.real_name] - Town")
+ else
+ var/team_text
+ var/fluff
+ switch(target.team)
+ if(MAFIA_TEAM_TOWN)
+ team_text = "Town"
+ fluff = "a true member of the station."
+ if(MAFIA_TEAM_MAFIA)
+ team_text = "Mafia"
+ fluff = "an unfeeling, hideous changeling!"
+ if(MAFIA_TEAM_SOLO)
+ team_text = "Solo"
+ fluff = "a rogue, with their own objectives..."
+ to_chat(body,"Your investigations reveal that [target.body.real_name] is [fluff]")
+ add_note("N[game.turn] - [target.body.real_name] - [team_text]")
current_investigation = null
+/datum/mafia_role/psychologist
+ name = "Psychologist"
+ desc = "You can visit someone ONCE PER GAME to reveal their true role in the morning!"
+ revealed_outfit = /datum/outfit/mafia/psychologist
+ role_type = TOWN_INVEST
+ // winner_award = /datum/award/achievement/mafia/psychologist
+
+ hud_icon = "hudpsychologist"
+ revealed_icon = "psychologist"
+
+ targeted_actions = list("Reveal")
+ var/datum/mafia_role/current_target
+ var/can_use = TRUE
+
+/datum/mafia_role/psychologist/New(datum/mafia_controller/game)
+ . = ..()
+ RegisterSignal(game,COMSIG_MAFIA_NIGHT_END,.proc/therapy_reveal)
+
+/datum/mafia_role/psychologist/validate_action_target(datum/mafia_controller/game, action, datum/mafia_role/target)
+ . = ..()
+ if(!. || !can_use || game.phase == MAFIA_PHASE_NIGHT || target.game_status != MAFIA_ALIVE || target.revealed || target == src)
+ return FALSE
+
+/datum/mafia_role/psychologist/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target)
+ . = ..()
+ to_chat(body,"You will reveal [target.body.real_name] tonight.")
+ current_target = target
+
+/datum/mafia_role/psychologist/proc/therapy_reveal(datum/mafia_controller/game)
+ if(SEND_SIGNAL(src,COMSIG_MAFIA_CAN_PERFORM_ACTION,game,"reveal",current_target) & MAFIA_PREVENT_ACTION || game_status != MAFIA_ALIVE) //Got lynched or roleblocked by a lawyer.
+ current_target = null
+ if(current_target)
+ add_note("N[game.turn] - [current_target.body.real_name] - Revealed true identity")
+ to_chat(body,"You have revealed the true nature of the [current_target]!")
+ current_target.reveal_role(game, verbose = TRUE)
+ current_target = null
+ can_use = FALSE
+
+/datum/mafia_role/chaplain
+ name = "Chaplain"
+ desc = "You can communicate with spirits of the dead each night to discover dead crewmember roles."
+ revealed_outfit = /datum/outfit/mafia/chaplain
+ role_type = TOWN_INVEST
+ hud_icon = "hudchaplain"
+ revealed_icon = "chaplain"
+ // winner_award = /datum/award/achievement/mafia/chaplain
+
+ targeted_actions = list("Pray")
+ var/current_target
+
+/datum/mafia_role/chaplain/New(datum/mafia_controller/game)
+ . = ..()
+ RegisterSignal(game,COMSIG_MAFIA_NIGHT_ACTION_PHASE,.proc/commune)
+
+/datum/mafia_role/chaplain/validate_action_target(datum/mafia_controller/game, action, datum/mafia_role/target)
+ . = ..()
+ if(!.)
+ return
+ return game.phase == MAFIA_PHASE_NIGHT && target.game_status == MAFIA_DEAD && target != src && !target.revealed
+
+/datum/mafia_role/chaplain/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target)
+ to_chat(body,"You will commune with the spirit of [target.body.real_name] tonight.")
+ current_target = target
+
+/datum/mafia_role/chaplain/proc/commune(datum/mafia_controller/game)
+ var/datum/mafia_role/target = current_target
+ if(target)
+ to_chat(body,"You invoke spirit of [target.body.real_name] and learn their role was [target.name].")
+ add_note("N[game.turn] - [target.body.real_name] - [target.name]")
+ current_target = null
+
/datum/mafia_role/md
name = "Medical Doctor"
desc = "You can protect a single person each night from killing."
revealed_outfit = /datum/outfit/mafia/md // /mafia <- outfit must be readded (just make a new mafia outfits file for all of these)
+ role_type = TOWN_PROTECT
hud_icon = "hudmedicaldoctor"
revealed_icon = "medicaldoctor"
- targeted_actions = list("Protect")
+ // winner_award = /datum/award/achievement/mafia/md
+ targeted_actions = list("Protect")
var/datum/mafia_role/current_protected
/datum/mafia_role/md/New(datum/mafia_controller/game)
@@ -177,6 +265,8 @@
. = ..()
if(!.)
return
+ if(target.name == "Head of Personnel" && target.revealed)
+ return FALSE
return game.phase == MAFIA_PHASE_NIGHT && target.game_status == MAFIA_ALIVE && target != src
/datum/mafia_role/md/handle_action(datum/mafia_controller/game,action,datum/mafia_role/target)
@@ -201,44 +291,16 @@
UnregisterSignal(current_protected,COMSIG_MAFIA_ON_KILL)
current_protected = null
-/datum/mafia_role/chaplain
- name = "Chaplain"
- desc = "You can communicate with spirits of the dead each night to discover dead crewmember roles."
- revealed_outfit = /datum/outfit/mafia/chaplain
- hud_icon = "hudchaplain"
- revealed_icon = "chaplain"
- targeted_actions = list("Pray")
- var/current_target
-
-/datum/mafia_role/chaplain/New(datum/mafia_controller/game)
- . = ..()
- RegisterSignal(game,COMSIG_MAFIA_NIGHT_ACTION_PHASE,.proc/commune)
-
-/datum/mafia_role/chaplain/validate_action_target(datum/mafia_controller/game, action, datum/mafia_role/target)
- . = ..()
- if(!.)
- return
- return game.phase == MAFIA_PHASE_NIGHT && target.game_status == MAFIA_DEAD && target != src && !target.revealed
-
-/datum/mafia_role/chaplain/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target)
- to_chat(body,"You will commune with the spirit of [target.body.real_name] tonight.")
- current_target = target
-
-/datum/mafia_role/chaplain/proc/commune(datum/mafia_controller/game)
- var/datum/mafia_role/R = current_target
- if(R)
- to_chat(body,"You invoke spirit of [R.body.real_name] and learn their role was [R.name].")
- add_note("N[game.turn] - [R.body.real_name] - [R.name]")
- current_target = null
-
/datum/mafia_role/lawyer
name = "Lawyer"
desc = "You can choose a person during the day to provide extensive legal advice to during the night, preventing night actions."
revealed_outfit = /datum/outfit/mafia/lawyer
+ role_type = TOWN_PROTECT
hud_icon = "hudlawyer"
revealed_icon = "lawyer"
- targeted_actions = list("Advise")
+ // winner_award = /datum/award/achievement/mafia/lawyer
+ targeted_actions = list("Advise")
var/datum/mafia_role/current_target
/datum/mafia_role/lawyer/New(datum/mafia_controller/game)
@@ -286,41 +348,26 @@
if(game_status == MAFIA_ALIVE) //in case we got killed while imprisoning sk - bad luck edge
return MAFIA_PREVENT_ACTION
-/datum/mafia_role/psychologist
- name = "Psychologist"
- desc = "You can visit someone ONCE PER GAME to reveal their true role in the morning!"
- revealed_outfit = /datum/outfit/mafia/psychologist
-
- hud_icon = "hudpsychologist"
- revealed_icon = "psychologist"
+/datum/mafia_role/hop
+ name = "Head of Personnel"
+ desc = "You can reveal yourself once per game, tripling your vote power but becoming unable to be protected!"
+ revealed_outfit = /datum/outfit/mafia/hop
+ role_type = TOWN_MISC
+ hud_icon = "hudheadofpersonnel"
+ revealed_icon = "headofpersonnel"
+ // winner_award = /datum/award/achievement/mafia/hop
targeted_actions = list("Reveal")
- var/datum/mafia_role/current_target
- var/can_use = TRUE
-/datum/mafia_role/psychologist/New(datum/mafia_controller/game)
+/datum/mafia_role/hop/validate_action_target(datum/mafia_controller/game, action, datum/mafia_role/target)
. = ..()
- RegisterSignal(game,COMSIG_MAFIA_NIGHT_END,.proc/therapy_reveal)
-
-/datum/mafia_role/psychologist/validate_action_target(datum/mafia_controller/game, action, datum/mafia_role/target)
- . = ..()
- if(!. || !can_use || game.phase == MAFIA_PHASE_NIGHT || target.game_status != MAFIA_ALIVE || target.revealed || target == src)
+ if(!. || game.phase == MAFIA_PHASE_NIGHT || game.turn == 1 || target.game_status != MAFIA_ALIVE || target != src || revealed)
return FALSE
-/datum/mafia_role/psychologist/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target)
+/datum/mafia_role/hop/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target)
. = ..()
- to_chat(body,"You will reveal [target.body.real_name] tonight.")
- current_target = target
-
-/datum/mafia_role/psychologist/proc/therapy_reveal(datum/mafia_controller/game)
- if(SEND_SIGNAL(src,COMSIG_MAFIA_CAN_PERFORM_ACTION,game,"reveal",current_target) & MAFIA_PREVENT_ACTION || game_status != MAFIA_ALIVE) //Got lynched or roleblocked by a lawyer.
- current_target = null
- if(current_target)
- add_note("N[game.turn] - [current_target.body.real_name] - Revealed true identity")
- to_chat(body,"You have revealed the true nature of the [current_target]!")
- current_target.reveal_role(game, verbose = TRUE)
- current_target = null
- can_use = FALSE
+ reveal_role(game, TRUE)
+ vote_power = 2
///MAFIA ROLES/// only one until i rework this to allow more, they're the "anti-town" working to kill off townies to win
@@ -328,9 +375,12 @@
name = "Changeling"
desc = "You're a member of the changeling hive. Use ':j' talk prefix to talk to your fellow lings."
team = MAFIA_TEAM_MAFIA
- revealed_outfit = /datum/outfit/mafia/changeling
+ role_type = MAFIA_REGULAR
hud_icon = "hudchangeling"
revealed_icon = "changeling"
+ // winner_award = /datum/award/achievement/mafia/changeling
+
+ revealed_outfit = /datum/outfit/mafia/changeling
special_theme = "syndicate"
win_condition = "become majority over the town and no solo killing role can stop them."
@@ -341,6 +391,48 @@
/datum/mafia_role/mafia/proc/mafia_text(datum/mafia_controller/source)
to_chat(body,"Vote for who to kill tonight. The killer will be chosen randomly from voters.")
+//better detective for mafia
+/datum/mafia_role/mafia/thoughtfeeder
+ name = "Thoughtfeeder"
+ desc = "You're a changeling variant that feeds on the memories of others. Use ':j' talk prefix to talk to your fellow lings, and visit people at night to learn their role."
+ role_type = MAFIA_SPECIAL
+ hud_icon = "hudthoughtfeeder"
+ revealed_icon = "thoughtfeeder"
+ // winner_award = /datum/award/achievement/mafia/thoughtfeeder
+
+ targeted_actions = list("Learn Role")
+ var/datum/mafia_role/current_investigation
+
+/datum/mafia_role/mafia/thoughtfeeder/New(datum/mafia_controller/game)
+ . = ..()
+ RegisterSignal(game,COMSIG_MAFIA_NIGHT_ACTION_PHASE,.proc/investigate)
+
+/datum/mafia_role/mafia/thoughtfeeder/validate_action_target(datum/mafia_controller/game,action,datum/mafia_role/target)
+ . = ..()
+ if(!.)
+ return
+ return game.phase == MAFIA_PHASE_NIGHT && target.game_status == MAFIA_ALIVE && target != src
+
+/datum/mafia_role/mafia/thoughtfeeder/handle_action(datum/mafia_controller/game,action,datum/mafia_role/target)
+ to_chat(body,"You will feast on the memories of [target.body.real_name] tonight.")
+ current_investigation = target
+
+/datum/mafia_role/mafia/thoughtfeeder/proc/investigate(datum/mafia_controller/game)
+ var/datum/mafia_role/target = current_investigation
+ current_investigation = null
+ if(SEND_SIGNAL(src,COMSIG_MAFIA_CAN_PERFORM_ACTION,game,"thoughtfeed",target) & MAFIA_PREVENT_ACTION)
+ to_chat(body,"You were unable to investigate [target.body.real_name].")
+ add_note("N[game.turn] - [target.body.real_name] - Unable to investigate")
+ return
+ if(target)
+ if(target.detect_immune)
+ to_chat(body,"[target.body.real_name]'s memories reveal that they are the Assistant.")
+ add_note("N[game.turn] - [target.body.real_name] - Assistant")
+ else
+ to_chat(body,"[target.body.real_name]'s memories reveal that they are the [target.name].")
+ add_note("N[game.turn] - [target.body.real_name] - [target.name]")
+
+
///SOLO ROLES/// they range from anomalous factors to deranged killers that try to win alone.
/datum/mafia_role/traitor
@@ -348,6 +440,9 @@
desc = "You're a solo traitor. You are immune to night kills, can kill every night and you win by outnumbering everyone else."
win_condition = "kill everyone."
team = MAFIA_TEAM_SOLO
+ role_type = NEUTRAL_KILL
+ // winner_award = /datum/award/achievement/mafia/traitor
+
targeted_actions = list("Night Kill")
revealed_outfit = /datum/outfit/mafia/traitor
@@ -386,10 +481,85 @@
to_chat(body,"You will attempt to kill [target.body.real_name] tonight.")
/datum/mafia_role/traitor/proc/try_to_kill(datum/mafia_controller/source)
- if(game_status == MAFIA_ALIVE && current_victim && current_victim.game_status == MAFIA_ALIVE)
- if(!current_victim.kill(source))
- to_chat(body,"Your attempt at killing [current_victim.body] was prevented!")
+ var/datum/mafia_role/target = current_victim
current_victim = null
+ if(SEND_SIGNAL(src,COMSIG_MAFIA_CAN_PERFORM_ACTION,source,"traitor kill",target) & MAFIA_PREVENT_ACTION)
+ return
+ if(game_status == MAFIA_ALIVE && target && target.game_status == MAFIA_ALIVE)
+ if(!target.kill(source))
+ to_chat(body,"Your attempt at killing [target.body] was prevented!")
+
+/datum/mafia_role/nightmare
+ name = "Nightmare"
+ desc = "You're a solo monster that cannot be detected by detective roles. You can flicker lights of another room each night. You can instead decide to hunt, killing everyone in a flickering room. Kill everyone to win."
+ win_condition = "kill everyone."
+ revealed_outfit = /datum/outfit/mafia/nightmare
+ detect_immune = TRUE
+ team = MAFIA_TEAM_SOLO
+ role_type = NEUTRAL_KILL
+ special_theme = "neutral"
+ hud_icon = "hudnightmare"
+ revealed_icon = "nightmare"
+ // winner_award = /datum/award/achievement/mafia/nightmare
+
+ targeted_actions = list("Flicker", "Hunt")
+ var/list/flickering = list()
+ var/datum/mafia_role/flicker_target
+
+/datum/mafia_role/nightmare/New(datum/mafia_controller/game)
+ . = ..()
+ RegisterSignal(game,COMSIG_MAFIA_NIGHT_KILL_PHASE,.proc/flicker_or_hunt)
+
+/datum/mafia_role/nightmare/check_total_victory(alive_town, alive_mafia) //nightmares just want teams dead
+ return alive_town + alive_mafia <= 1
+
+/datum/mafia_role/nightmare/block_team_victory(alive_town, alive_mafia) //no team can win until they're dead
+ return TRUE //while alive, town AND mafia cannot win (though since mafia know who is who it's pretty easy to win from that point)
+
+/datum/mafia_role/nightmare/special_reveal_equip()
+ body.underwear = "Nude"
+ body.undershirt = "Nude"
+ body.socks = "Nude"
+ body.set_species(/datum/species/shadow)
+ body.update_body()
+
+/datum/mafia_role/nightmare/validate_action_target(datum/mafia_controller/game, action, datum/mafia_role/target)
+ . = ..()
+ if(!. || game.phase != MAFIA_PHASE_NIGHT || target.game_status != MAFIA_ALIVE)
+ return FALSE
+ if(action == "Flicker")
+ return target != src && !(target in flickering)
+ return target == src
+
+/datum/mafia_role/nightmare/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target)
+ . = ..()
+ if(target == flicker_target)
+ to_chat(body,"You will do nothing tonight.")
+ flicker_target = null
+ flicker_target = target
+ if(action == "Flicker")
+ to_chat(body,"You will attempt to flicker [target.body.real_name]'s room tonight.")
+ else
+ to_chat(body,"You will hunt everyone in a flickering room down tonight.")
+
+/datum/mafia_role/nightmare/proc/flicker_or_hunt(datum/mafia_controller/source)
+ if(game_status != MAFIA_ALIVE || !flicker_target)
+ return
+ if(SEND_SIGNAL(src,COMSIG_MAFIA_CAN_PERFORM_ACTION,source,"nightmare actions",flicker_target) & MAFIA_PREVENT_ACTION)
+ to_chat(flicker_target.body, "Your actions were prevented!")
+ return
+ var/datum/mafia_role/target = flicker_target
+ flicker_target = null
+ if(target != src) //flicker instead of hunt
+ to_chat(target.body, "The lights begin to flicker and dim. You're in danger.")
+ flickering += target
+ return
+ for(var/r in flickering)
+ var/datum/mafia_role/role = r
+ if(role && role.game_status == MAFIA_ALIVE)
+ to_chat(role.body, "A shadowy monster appears out of the darkness!")
+ role.kill(source)
+ flickering -= role
//just helps read better
#define FUGITIVE_NOT_PRESERVING 0//will not become night immune tonight
@@ -399,15 +569,19 @@
name = "Fugitive"
desc = "You're on the run. You can become immune to night kills exactly twice, and you win by surviving to the end of the game with anyone."
win_condition = "survive to the end of the game, with anyone"
- team = MAFIA_TEAM_SOLO
- actions = list("Self Preservation")
- var/charges = 2
- var/protection_status = FUGITIVE_NOT_PRESERVING
solo_counts_as_town = TRUE //should not count towards mafia victory, they should have the option to work with town
revealed_outfit = /datum/outfit/mafia/fugitive
+ team = MAFIA_TEAM_SOLO
+ role_type = NEUTRAL_DISRUPT
special_theme = "neutral"
hud_icon = "hudfugitive"
revealed_icon = "fugitive"
+ // winner_award = /datum/award/achievement/mafia/fugitive
+
+ actions = list("Self Preservation")
+ var/charges = 2
+ var/protection_status = FUGITIVE_NOT_PRESERVING
+
/datum/mafia_role/fugitive/New(datum/mafia_controller/game)
. = ..()
@@ -447,6 +621,8 @@
/datum/mafia_role/fugitive/proc/survived(datum/mafia_controller/game)
if(game_status == MAFIA_ALIVE)
+ // var/client/winner_client = GLOB.directory[player_key]
+ // winner_client?.give_award(winner_award, body)
game.send_message("!! FUGITIVE VICTORY !!")
#undef FUGITIVE_NOT_PRESERVING
@@ -456,11 +632,17 @@
name = "Obsessed"
desc = "You're completely lost in your own mind. You win by lynching your obsession before you get killed in this mess. Obsession assigned on the first night!"
win_condition = "lynch their obsession."
- team = MAFIA_TEAM_SOLO
revealed_outfit = /datum/outfit/mafia/obsessed // /mafia <- outfit must be readded (just make a new mafia outfits file for all of these)
+ solo_counts_as_town = TRUE //after winning or whatever, can side with whoever. they've already done their objective!
+ team = MAFIA_TEAM_SOLO
+ role_type = NEUTRAL_DISRUPT
special_theme = "neutral"
hud_icon = "hudobsessed"
revealed_icon = "obsessed"
+
+ // winner_award = /datum/award/achievement/mafia/obsessed
+
+ revealed_outfit = /datum/outfit/mafia/obsessed // /mafia <- outfit must be readded (just make a new mafia outfits file for all of these)
solo_counts_as_town = TRUE //after winning or whatever, can side with whoever. they've already done their objective!
var/datum/mafia_role/obsession
var/lynched_target = FALSE
@@ -490,6 +672,8 @@
return
if(lynch)
game.send_message("!! OBSESSED VICTORY !!")
+ // var/client/winner_client = GLOB.directory[player_key]
+ // winner_client?.give_award(winner_award, body)
reveal_role(game, FALSE)
else
to_chat(body, "You have failed your objective to lynch [obsession.body]!")
@@ -501,9 +685,11 @@
revealed_outfit = /datum/outfit/mafia/clown
solo_counts_as_town = TRUE
team = MAFIA_TEAM_SOLO
+ role_type = NEUTRAL_DISRUPT
special_theme = "neutral"
hud_icon = "hudclown"
revealed_icon = "clown"
+ // winner_award = /datum/award/achievement/mafia/clown
/datum/mafia_role/clown/New(datum/mafia_controller/game)
. = ..()
@@ -514,4 +700,6 @@
var/datum/mafia_role/victim = pick(game.judgement_guilty_votes + game.judgement_abstain_votes)
game.send_message("[body.real_name] WAS A CLOWN! HONK! They take down [victim.body.real_name] with their last prank.")
game.send_message("!! CLOWN VICTORY !!")
+ // var/client/winner_client = GLOB.directory[player_key]
+ // winner_client?.give_award(winner_award, body)
victim.kill(game,FALSE)
From afe53992b5515afb0d6c879d74a82c3fbe2da6f3 Mon Sep 17 00:00:00 2001
From: Letter N <24603524+LetterN@users.noreply.github.com>
Date: Mon, 10 Aug 2020 17:47:33 +0800
Subject: [PATCH 09/10] miniump of 5, max of 12
---
code/modules/mafia/controller.dm | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/code/modules/mafia/controller.dm b/code/modules/mafia/controller.dm
index 7a088dba1c..b0aa8774b8 100644
--- a/code/modules/mafia/controller.dm
+++ b/code/modules/mafia/controller.dm
@@ -63,6 +63,11 @@
///used for debugging in testing (doesn't put people out of the game, some other shit i forgot, who knows just don't set this in live) honestly kinda deprecated
var/debug = FALSE
+ ///Max player count
+ var/max_player = MAFIA_MAX_PLAYER_COUNT
+ ///Required player count
+ var/required_player = 5
+
/datum/mafia_controller/New()
. = ..()
GLOB.mafia_game = src
@@ -786,10 +791,10 @@
var/mafiaspe_left = 1
var/killing_role = prob(50)
var/disruptors = killing_role ? 1 : 2 //still required to calculate overflow
- var/overflow_left = MAFIA_MAX_PLAYER_COUNT - (invests_left + protects_left + miscs_left + mafiareg_left + mafiaspe_left + killing_role + disruptors)
+ var/overflow_left = max_player - (invests_left + protects_left + miscs_left + mafiareg_left + mafiaspe_left + killing_role + disruptors)
var/list/random_setup = list()
- for(var/i in 1 to MAFIA_MAX_PLAYER_COUNT) //should match the number of roles to add
+ for(var/i in 1 to max_player) //should match the number of roles to add
if(overflow_left)
add_setup_role(random_setup, TOWN_OVERFLOW)
overflow_left--
@@ -841,7 +846,7 @@
/**
* Called when enough players have signed up to fill a setup. DOESN'T NECESSARILY MEAN THE GAME WILL START.
*
- * Checks for a custom setup, if so gets the required players from that and if not it sets the player requirement to MAFIA_MAX_PLAYER_COUNT and generates one IF basic setup starts a game.
+ * Checks for a custom setup, if so gets the required players from that and if not it sets the player requirement to required_player(max_player) and generates one IF basic setup starts a game.
* Checks if everyone signed up is an observer, and is still connected. If people aren't, they're removed from the list.
* If there aren't enough players post sanity, it aborts. otherwise, it selects enough people for the game and starts preparing the game for real.
*/
@@ -849,7 +854,7 @@
var/req_players
var/list/setup = custom_setup
if(!setup.len)
- req_players = MAFIA_MAX_PLAYER_COUNT
+ req_players = required_player //max_player
else
req_players = assoc_value_sum(setup)
@@ -894,7 +899,7 @@
/datum/mafia_controller/proc/try_autostart()
if(phase != MAFIA_PHASE_SETUP) // || !(GLOB.ghost_role_flags & GHOSTROLE_MINIGAME))
return
- if(GLOB.mafia_signup.len >= MAFIA_MAX_PLAYER_COUNT || custom_setup.len)//enough people to try and make something (or debug mode)
+ if(GLOB.mafia_signup.len >= max_player || GLOB.mafia_signup.len >= required_player|| custom_setup.len)//enough people to try and make something (or debug mode)
basic_setup()
/**
From 7008dac8ddd1d83326a16bb7028b50529ed8ad96 Mon Sep 17 00:00:00 2001
From: Letter N <24603524+LetterN@users.noreply.github.com>
Date: Tue, 11 Aug 2020 11:49:25 +0800
Subject: [PATCH 10/10] what if the maps aren't causing runtims
---
_maps/map_files/Mafia/mafia_ayylmao.dmm | 2 +-
_maps/map_files/Mafia/mafia_ball.dmm | 323 ++++++------
_maps/map_files/Mafia/mafia_gothic.dmm | 3 +-
_maps/map_files/Mafia/mafia_reebe.dmm | 658 ++++++++++++++++++++++++
_maps/map_files/Mafia/mafia_snow.dmm | 107 ++--
_maps/map_files/Mafia/mafia_syndie.dmm | 3 +-
_maps/map_files/generic/CentCom.dmm | 6 +-
code/modules/mafia/controller.dm | 2 +
code/modules/mafia/map_pieces.dm | 5 +
9 files changed, 887 insertions(+), 222 deletions(-)
create mode 100644 _maps/map_files/Mafia/mafia_reebe.dmm
diff --git a/_maps/map_files/Mafia/mafia_ayylmao.dmm b/_maps/map_files/Mafia/mafia_ayylmao.dmm
index 9c4fcdf326..5d6f2aec5f 100644
--- a/_maps/map_files/Mafia/mafia_ayylmao.dmm
+++ b/_maps/map_files/Mafia/mafia_ayylmao.dmm
@@ -87,7 +87,7 @@
max_integrity = 99999;
name = "Station Night Shutters"
},
-/obj/structure/window/plasma/reinforced/plastitanium,
+/obj/effect/spawner/structure/window/plastitanium,
/turf/open/floor/plating/abductor2,
/area/mafia)
"z" = (
diff --git a/_maps/map_files/Mafia/mafia_ball.dmm b/_maps/map_files/Mafia/mafia_ball.dmm
index 9888821abf..6ca955726b 100644
--- a/_maps/map_files/Mafia/mafia_ball.dmm
+++ b/_maps/map_files/Mafia/mafia_ball.dmm
@@ -2,9 +2,6 @@
"a" = (
/turf/closed/indestructible/riveted,
/area/mafia)
-"b" = (
-/turf/closed/indestructible/riveted/plastinum,
-/area/mafia)
"c" = (
/turf/closed/wall/rust,
/area/mafia)
@@ -128,33 +125,33 @@ a
"}
(2,1,1) = {"
a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
a
"}
(3,1,1) = {"
a
-b
-b
+a
+a
c
c
c
@@ -172,14 +169,14 @@ c
c
c
c
-b
-b
+a
+a
a
"}
(4,1,1) = {"
a
-b
-b
+a
+a
c
g
h
@@ -197,67 +194,67 @@ d
h
k
c
-b
-b
+a
+a
a
"}
(5,1,1) = {"
a
-b
-b
+a
+a
c
h
d
d
e
-b
-b
+a
+a
j
-b
+a
j
-b
-b
+a
+a
d
d
i
h
c
-b
-b
+a
+a
a
"}
(6,1,1) = {"
a
-b
-b
+a
+a
c
i
-b
-b
+a
+a
j
-b
+a
l
q
-b
+a
r
o
-b
+a
j
-b
-b
+a
+a
d
c
-b
-b
+a
+a
a
"}
(7,1,1) = {"
a
-b
+a
c
c
d
-b
+a
o
r
p
@@ -269,45 +266,45 @@ n
p
q
l
-b
+a
d
c
c
-b
+a
a
"}
(8,1,1) = {"
a
-b
+a
c
d
d
-b
+a
n
r
-b
-b
+a
+a
q
-b
+a
r
-b
-b
+a
+a
q
m
-b
+a
d
d
c
-b
+a
a
"}
(9,1,1) = {"
a
-b
+a
c
d
-b
-b
+a
+a
p
r
r
@@ -319,22 +316,22 @@ p
q
q
p
-b
-b
+a
+a
d
c
-b
+a
a
"}
(10,1,1) = {"
a
-b
+a
c
d
-b
+a
l
p
-b
+a
p
p
p
@@ -342,18 +339,18 @@ p
p
p
p
-b
+a
p
o
-b
+a
d
c
-b
+a
a
"}
(11,1,1) = {"
a
-b
+a
c
d
j
@@ -373,18 +370,18 @@ n
j
e
c
-b
+a
a
"}
(12,1,1) = {"
a
-b
+a
c
e
-b
-b
+a
+a
p
-b
+a
p
p
t
@@ -392,18 +389,18 @@ u
t
p
p
-b
+a
p
-b
-b
+a
+a
d
c
-b
+a
a
"}
(13,1,1) = {"
a
-b
+a
c
d
j
@@ -423,18 +420,18 @@ m
j
d
c
-b
+a
a
"}
(14,1,1) = {"
a
-b
+a
c
d
-b
+a
o
p
-b
+a
p
p
p
@@ -442,22 +439,22 @@ p
p
p
p
-b
+a
p
l
-b
+a
i
c
-b
+a
a
"}
(15,1,1) = {"
a
-b
+a
c
d
-b
-b
+a
+a
p
q
q
@@ -469,45 +466,45 @@ p
r
r
p
-b
-b
+a
+a
d
c
-b
+a
a
"}
(16,1,1) = {"
a
-b
+a
c
f
d
-b
+a
m
q
-b
-b
+a
+a
r
-b
+a
q
-b
-b
+a
+a
r
n
-b
+a
d
d
c
-b
+a
a
"}
(17,1,1) = {"
a
-b
+a
c
c
d
-b
+a
l
q
p
@@ -519,67 +516,67 @@ m
p
r
o
-b
+a
d
c
c
-b
+a
a
"}
(18,1,1) = {"
a
-b
-b
+a
+a
c
d
-b
-b
+a
+a
j
-b
+a
o
r
-b
+a
q
l
-b
+a
j
-b
-b
+a
+a
d
c
-b
-b
+a
+a
a
"}
(19,1,1) = {"
a
-b
-b
+a
+a
c
h
i
d
d
-b
-b
+a
+a
j
-b
+a
j
-b
-b
+a
+a
d
e
d
h
c
-b
-b
+a
+a
a
"}
(20,1,1) = {"
a
-b
-b
+a
+a
c
k
h
@@ -597,14 +594,14 @@ d
h
v
c
-b
-b
+a
+a
a
"}
(21,1,1) = {"
a
-b
-b
+a
+a
c
c
c
@@ -622,33 +619,33 @@ c
c
c
c
-b
-b
+a
+a
a
"}
(22,1,1) = {"
a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
a
"}
(23,1,1) = {"
diff --git a/_maps/map_files/Mafia/mafia_gothic.dmm b/_maps/map_files/Mafia/mafia_gothic.dmm
index 3d41f9b16c..a3c19fee85 100644
--- a/_maps/map_files/Mafia/mafia_gothic.dmm
+++ b/_maps/map_files/Mafia/mafia_gothic.dmm
@@ -70,7 +70,8 @@
max_integrity = 99999;
name = "Station Night Shutters"
},
-/turf/closed/indestructible/opsglass,
+/obj/effect/spawner/structure/window/plastitanium,
+/turf/open/space/basic,
/area/mafia)
"q" = (
/turf/open/floor/carpet/red,
diff --git a/_maps/map_files/Mafia/mafia_reebe.dmm b/_maps/map_files/Mafia/mafia_reebe.dmm
new file mode 100644
index 0000000000..e82174ff93
--- /dev/null
+++ b/_maps/map_files/Mafia/mafia_reebe.dmm
@@ -0,0 +1,658 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/closed/indestructible/riveted,
+/area/mafia)
+"b" = (
+/turf/open/indestructible/reebe_void,
+/area/mafia)
+"c" = (
+/turf/open/indestructible/reebe_void/spawning/lattices,
+/area/mafia)
+"d" = (
+/obj/mafia_game_board,
+/turf/open/indestructible/reebe_void/spawning/lattices,
+/area/mafia)
+"e" = (
+/turf/closed/wall/clockwork,
+/area/mafia)
+"f" = (
+/turf/open/floor/clockwork/reebe,
+/area/mafia)
+"g" = (
+/obj/effect/landmark/mafia,
+/turf/open/floor/clockwork/reebe,
+/area/mafia)
+"h" = (
+/obj/structure/window/reinforced/clockwork/fulltile,
+/obj/structure/grille/ratvar,
+/obj/machinery/door/poddoor/preopen{
+ desc = "When it's time to sleep, the lights will go out. Remember - no one in space can hear you scream.";
+ id = "mafia";
+ max_integrity = 99999;
+ name = "Station Night Shutters"
+ },
+/turf/open/floor/clockwork/reebe,
+/area/mafia)
+"i" = (
+/obj/structure/bed,
+/obj/item/bedsheet/orange,
+/turf/open/floor/clockwork/reebe,
+/area/mafia)
+"j" = (
+/obj/structure/chair/brass{
+ dir = 4
+ },
+/turf/open/floor/clockwork/reebe,
+/area/mafia)
+"k" = (
+/obj/structure/chair/brass,
+/turf/open/floor/clockwork/reebe,
+/area/mafia)
+"l" = (
+/obj/structure/chair/brass{
+ dir = 8
+ },
+/turf/open/floor/clockwork/reebe,
+/area/mafia)
+"m" = (
+/obj/effect/baseturf_helper/asteroid,
+/obj/effect/landmark/mafia/town_center,
+/obj/structure/chair/brass,
+/turf/open/floor/clockwork/reebe,
+/area/mafia)
+"n" = (
+/obj/structure/chair/brass{
+ icon_state = "brass_chair";
+ dir = 1
+ },
+/turf/open/floor/clockwork/reebe,
+/area/mafia)
+"o" = (
+/obj/item/toy/plush/plushvar,
+/turf/open/floor/clockwork/reebe,
+/area/mafia)
+"p" = (
+/obj/structure/window/reinforced/clockwork/fulltile,
+/obj/structure/grille/ratvar,
+/turf/open/floor/clockwork/reebe,
+/area/mafia)
+"q" = (
+/obj/item/toy/plush/plushvar,
+/turf/open/indestructible/reebe_void/spawning/lattices,
+/area/mafia)
+
+(1,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
+(2,1,1) = {"
+a
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+a
+"}
+(3,1,1) = {"
+a
+b
+b
+c
+c
+c
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+c
+c
+c
+b
+b
+a
+"}
+(4,1,1) = {"
+a
+b
+b
+c
+d
+c
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+q
+d
+c
+b
+b
+a
+"}
+(5,1,1) = {"
+a
+b
+b
+c
+c
+c
+c
+b
+e
+e
+p
+e
+p
+e
+e
+b
+b
+c
+c
+c
+b
+b
+a
+"}
+(6,1,1) = {"
+a
+b
+b
+b
+b
+p
+p
+e
+e
+i
+f
+e
+f
+i
+e
+e
+p
+p
+c
+b
+b
+b
+a
+"}
+(7,1,1) = {"
+a
+b
+b
+b
+b
+p
+i
+f
+h
+g
+f
+h
+f
+g
+h
+f
+i
+p
+b
+b
+b
+b
+a
+"}
+(8,1,1) = {"
+a
+b
+b
+b
+b
+e
+g
+f
+e
+e
+f
+e
+f
+e
+e
+f
+g
+e
+b
+b
+b
+b
+a
+"}
+(9,1,1) = {"
+a
+b
+b
+b
+e
+e
+h
+f
+j
+h
+j
+h
+j
+h
+j
+f
+h
+e
+e
+b
+b
+b
+a
+"}
+(10,1,1) = {"
+a
+b
+b
+b
+e
+i
+h
+e
+h
+h
+h
+h
+h
+h
+h
+e
+h
+i
+e
+b
+b
+b
+a
+"}
+(11,1,1) = {"
+a
+b
+b
+b
+p
+g
+f
+f
+k
+h
+f
+f
+o
+h
+n
+f
+f
+g
+p
+b
+b
+b
+a
+"}
+(12,1,1) = {"
+a
+b
+b
+b
+e
+e
+h
+e
+h
+h
+f
+m
+f
+h
+h
+e
+h
+e
+e
+b
+b
+b
+a
+"}
+(13,1,1) = {"
+a
+b
+b
+b
+p
+g
+f
+f
+k
+h
+f
+f
+f
+h
+n
+f
+f
+g
+p
+b
+b
+b
+a
+"}
+(14,1,1) = {"
+a
+b
+b
+b
+e
+i
+h
+e
+h
+h
+h
+h
+h
+h
+h
+e
+h
+i
+e
+b
+b
+b
+a
+"}
+(15,1,1) = {"
+a
+b
+b
+b
+e
+e
+h
+f
+l
+h
+l
+h
+l
+h
+l
+f
+h
+e
+e
+b
+b
+b
+a
+"}
+(16,1,1) = {"
+a
+b
+b
+b
+b
+e
+g
+f
+e
+e
+f
+e
+f
+e
+e
+f
+g
+e
+b
+b
+b
+b
+a
+"}
+(17,1,1) = {"
+a
+b
+b
+b
+b
+p
+i
+f
+h
+g
+f
+h
+f
+g
+h
+f
+i
+p
+b
+b
+b
+b
+a
+"}
+(18,1,1) = {"
+a
+b
+b
+b
+b
+p
+p
+e
+e
+f
+i
+e
+i
+f
+e
+e
+p
+p
+c
+b
+b
+b
+a
+"}
+(19,1,1) = {"
+a
+b
+b
+c
+c
+c
+c
+b
+e
+e
+p
+e
+p
+e
+e
+b
+b
+c
+c
+c
+b
+b
+a
+"}
+(20,1,1) = {"
+a
+b
+b
+c
+d
+c
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+c
+d
+c
+b
+b
+a
+"}
+(21,1,1) = {"
+a
+b
+b
+c
+c
+c
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+c
+c
+c
+b
+b
+a
+"}
+(22,1,1) = {"
+a
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+a
+"}
+(23,1,1) = {"
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+"}
diff --git a/_maps/map_files/Mafia/mafia_snow.dmm b/_maps/map_files/Mafia/mafia_snow.dmm
index 079f985380..a47440f00e 100644
--- a/_maps/map_files/Mafia/mafia_snow.dmm
+++ b/_maps/map_files/Mafia/mafia_snow.dmm
@@ -2,9 +2,6 @@
"a" = (
/turf/closed/indestructible/riveted,
/area/mafia)
-"b" = (
-/turf/closed/indestructible/riveted/plastinum,
-/area/mafia)
"d" = (
/turf/open/floor/plating,
/area/mafia)
@@ -97,7 +94,7 @@
/turf/open/floor/holofloor/snow,
/area/mafia)
"w" = (
-/turf/open/lava/plasma/mafia,
+/turf/open/lava/plasma,
/area/mafia)
"x" = (
/obj/machinery/door/airlock/external{
@@ -119,7 +116,7 @@
/area/mafia)
"z" = (
/obj/structure/lattice/catwalk,
-/turf/open/lava/plasma/mafia,
+/turf/open/lava/plasma,
/area/mafia)
"A" = (
/obj/machinery/door/airlock/external{
@@ -137,7 +134,7 @@
"B" = (
/obj/effect/landmark/mafia,
/obj/structure/lattice/catwalk,
-/turf/open/lava/plasma/mafia,
+/turf/open/lava/plasma,
/area/mafia)
"C" = (
/obj/mafia_game_board,
@@ -154,7 +151,7 @@
/obj/structure/closet/crate/critter,
/obj/item/clothing/suit/hooded/wintercoat/miner,
/obj/item/clothing/shoes/winterboots,
-/turf/open/lava/plasma/mafia,
+/turf/open/lava/plasma,
/area/mafia)
"F" = (
/turf/open/floor/holofloor/wood,
@@ -208,16 +205,16 @@ a
"}
(2,1,1) = {"
a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
s
K
K
@@ -233,8 +230,8 @@ a
"}
(3,1,1) = {"
a
-b
-b
+a
+a
s
s
s
@@ -258,8 +255,8 @@ a
"}
(4,1,1) = {"
a
-b
-b
+a
+a
s
g
h
@@ -283,8 +280,8 @@ a
"}
(5,1,1) = {"
a
-b
-b
+a
+a
s
h
d
@@ -308,8 +305,8 @@ a
"}
(6,1,1) = {"
a
-b
-b
+a
+a
s
i
s
@@ -333,7 +330,7 @@ a
"}
(7,1,1) = {"
a
-b
+a
s
s
d
@@ -358,7 +355,7 @@ a
"}
(8,1,1) = {"
a
-b
+a
s
d
d
@@ -383,7 +380,7 @@ a
"}
(9,1,1) = {"
a
-b
+a
s
d
s
@@ -408,7 +405,7 @@ a
"}
(10,1,1) = {"
a
-b
+a
s
d
s
@@ -433,7 +430,7 @@ a
"}
(11,1,1) = {"
a
-b
+a
s
d
j
@@ -458,11 +455,11 @@ a
"}
(12,1,1) = {"
a
-b
+a
s
e
s
-b
+a
p
s
p
@@ -483,7 +480,7 @@ a
"}
(13,1,1) = {"
a
-b
+a
s
d
j
@@ -508,7 +505,7 @@ a
"}
(14,1,1) = {"
a
-b
+a
s
d
s
@@ -533,7 +530,7 @@ a
"}
(15,1,1) = {"
a
-b
+a
s
d
s
@@ -558,7 +555,7 @@ a
"}
(16,1,1) = {"
a
-b
+a
s
f
d
@@ -583,7 +580,7 @@ a
"}
(17,1,1) = {"
a
-b
+a
s
s
d
@@ -608,8 +605,8 @@ a
"}
(18,1,1) = {"
a
-b
-b
+a
+a
s
d
s
@@ -633,8 +630,8 @@ a
"}
(19,1,1) = {"
a
-b
-b
+a
+a
s
h
i
@@ -658,8 +655,8 @@ a
"}
(20,1,1) = {"
a
-b
-b
+a
+a
s
k
h
@@ -683,8 +680,8 @@ a
"}
(21,1,1) = {"
a
-b
-b
+a
+a
s
s
s
@@ -708,16 +705,16 @@ a
"}
(22,1,1) = {"
a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
s
K
K
diff --git a/_maps/map_files/Mafia/mafia_syndie.dmm b/_maps/map_files/Mafia/mafia_syndie.dmm
index 111df10b67..d56c3cc0c6 100644
--- a/_maps/map_files/Mafia/mafia_syndie.dmm
+++ b/_maps/map_files/Mafia/mafia_syndie.dmm
@@ -116,7 +116,8 @@
max_integrity = 99999;
name = "Station Night Shutters"
},
-/turf/closed/indestructible/opsglass,
+/obj/effect/spawner/structure/window/plastitanium,
+/turf/open/space/basic,
/area/mafia)
"q" = (
/obj/effect/turf_decal/tile/red,
diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm
index 5a14eb9041..a123ccab55 100644
--- a/_maps/map_files/generic/CentCom.dmm
+++ b/_maps/map_files/generic/CentCom.dmm
@@ -17249,6 +17249,10 @@
},
/turf/open/floor/mineral/titanium,
/area/centcom/evac)
+"Qc" = (
+/obj/effect/landmark/mafia_game_area,
+/turf/open/space/basic,
+/area/space)
"Qe" = (
/turf/open/ai_visible,
/area/ai_multicam_room)
@@ -58911,7 +58915,7 @@ aa
aa
aa
aa
-aa
+Qc
aa
aa
aa
diff --git a/code/modules/mafia/controller.dm b/code/modules/mafia/controller.dm
index b0aa8774b8..5873decb8f 100644
--- a/code/modules/mafia/controller.dm
+++ b/code/modules/mafia/controller.dm
@@ -873,6 +873,8 @@
//if there were not enough players, don't start. we already trimmed the list to now hold only valid signups
if(length(possible_keys) < req_players)
return
+ else //hacky implementation of max players
+ req_players = clamp(length(possible_keys), 1, max_player)
//if there were too many players, still start but only make filtered keys as big as it needs to be (cut excess)
//also removes people who do get into final player list from the signup so they have to sign up again when game ends
diff --git a/code/modules/mafia/map_pieces.dm b/code/modules/mafia/map_pieces.dm
index d1756d7f11..3459603f3c 100644
--- a/code/modules/mafia/map_pieces.dm
+++ b/code/modules/mafia/map_pieces.dm
@@ -72,3 +72,8 @@
name = "Vampire's Castle"
description = "Vampires and changelings clash to find out who's the superior bloodsucking monster in this creepy castle map."
mappath = "_maps/map_files/Mafia/mafia_gothic.dmm"
+
+/datum/map_template/mafia/gothic
+ name = "Reebe"
+ description = "Trouble in Reebe station! Copypaste guranteed by ClockCo™"
+ mappath = "_maps/map_files/Mafia/mafia_reebe.dmm"
\ No newline at end of file