From bdab7c2f4b74e44c862f61470a68089cab2ae22f Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Tue, 19 Jan 2021 03:30:18 -0700
Subject: [PATCH 01/47] Update species.dm
---
code/modules/mob/living/carbon/human/species.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 94d7e84c6b..4fdd48b506 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1434,7 +1434,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if(!SEND_SIGNAL(target, COMSIG_COMBAT_MODE_CHECK, COMBAT_MODE_INACTIVE))
damage *= 1.2
if(!CHECK_MOBILITY(user, MOBILITY_STAND))
- damage *= 0.8
+ damage *= 0.65
if(SEND_SIGNAL(user, COMSIG_COMBAT_MODE_CHECK, COMBAT_MODE_INACTIVE))
damage *= 0.8
//END OF CITADEL CHANGES
@@ -1456,7 +1456,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
else if(HAS_TRAIT(user, TRAIT_PUGILIST)) //pugilists, being good at Punching People, also never miss
miss_chance = 0
else
- miss_chance = min(10 + max(puncherstam * 0.5, puncherbrute * 0.5), 100) //probability of miss has a base of 10, and modified based on half brute total. Capped at max 100 to prevent weirdness in prob()
+ miss_chance = min(5 + max(puncherstam * 0.15, puncherbrute * 0.15), 100) //probability of miss has a base of 10, and modified based on half brute total. Capped at max 100 to prevent weirdness in prob()
if(!damage || !affecting || prob(miss_chance))//future-proofing for species that have 0 damage/weird cases where no zone is targeted
playsound(target.loc, user.dna.species.miss_sound, 25, TRUE, -1)
From e514db4bbbb8258ccb26fbf90fa9978aad9d4d82 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Tue, 19 Jan 2021 03:33:31 -0700
Subject: [PATCH 02/47] Update species.dm
---
code/modules/mob/living/carbon/human/species.dm | 16 +---------------
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 4fdd48b506..9c36a7a2bc 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1425,8 +1425,6 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
var/damage = rand(user.dna.species.punchdamagelow, user.dna.species.punchdamagehigh)
var/punchwoundbonus = user.dna.species.punchwoundbonus
- var/puncherstam = user.getStaminaLoss()
- var/puncherbrute = user.getBruteLoss()
var/punchedstam = target.getStaminaLoss()
var/punchedbrute = target.getBruteLoss()
@@ -1446,19 +1444,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if(!affecting) //Maybe the bodypart is missing? Or things just went wrong..
affecting = target.get_bodypart(BODY_ZONE_CHEST) //target chest instead, as failsafe. Or hugbox? You decide.
- var/miss_chance = 100//calculate the odds that a punch misses entirely. considers stamina and brute damage of the puncher. punches miss by default to prevent weird cases
- if(attackchain_flags & ATTACK_IS_PARRY_COUNTERATTACK)
- miss_chance = 0
- else
- if(user.dna.species.punchdamagelow)
- if(atk_verb == ATTACK_EFFECT_KICK) //kicks never miss (provided your species deals more than 0 damage)
- miss_chance = 0
- else if(HAS_TRAIT(user, TRAIT_PUGILIST)) //pugilists, being good at Punching People, also never miss
- miss_chance = 0
- else
- miss_chance = min(5 + max(puncherstam * 0.15, puncherbrute * 0.15), 100) //probability of miss has a base of 10, and modified based on half brute total. Capped at max 100 to prevent weirdness in prob()
-
- if(!damage || !affecting || prob(miss_chance))//future-proofing for species that have 0 damage/weird cases where no zone is targeted
+ if(!damage || !affecting)//future-proofing for species that have 0 damage/weird cases where no zone is targeted
playsound(target.loc, user.dna.species.miss_sound, 25, TRUE, -1)
target.visible_message("[user]'s [atk_verb] misses [target]!", \
"You avoid [user]'s [atk_verb]!", "You hear a swoosh!", null, COMBAT_MESSAGE_RANGE, null, \
From d8da062ce80f1b1e07347fc92bbd3ba93e420a76 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Tue, 26 Jan 2021 07:25:52 -0700
Subject: [PATCH 03/47] fix
---
tgui/packages/tgui-panel/chat/renderer.js | 2 +-
tgui/public/tgui-panel.bundle.js | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tgui/packages/tgui-panel/chat/renderer.js b/tgui/packages/tgui-panel/chat/renderer.js
index 10b1c6e024..f16ed9046a 100644
--- a/tgui/packages/tgui-panel/chat/renderer.js
+++ b/tgui/packages/tgui-panel/chat/renderer.js
@@ -176,7 +176,7 @@ class ChatRenderer {
this.highlightColor = null;
return;
}
- const allowedRegex = /^[a-z0-9_\-\s]+$/ig;
+ const allowedRegex = /^[a-z0-9_\-\s]+$/i; // citadel update - ig changed to i for flags, to fix issues with highlighting only working for every other word.
const lines = String(text)
.split(',')
.map(str => str.trim())
diff --git a/tgui/public/tgui-panel.bundle.js b/tgui/public/tgui-panel.bundle.js
index b1e3955f8b..1969b65f42 100644
--- a/tgui/public/tgui-panel.bundle.js
+++ b/tgui/public/tgui-panel.bundle.js
@@ -1 +1 @@
-!function(e){function t(t){for(var o,a,c=t[0],s=t[1],l=t[2],d=0,g=[];d=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 a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n=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);n=a.IMAGE_RETRY_LIMIT)d.error("failed to load an image after "+n+" attempts");else{var o=t.src;t.src=null,t.src=o+"#"+n,t.setAttribute("data-reload-n",n+1)}}),a.IMAGE_RETRY_DELAY)},m=function(e){var t=e.node,n=e.times;if(t&&n){var o=t.querySelector(".Chat__badge"),i=o||document.createElement("div");i.textContent=n,i.className=(0,r.classes)(["Chat__badge","Chat__badge--animate"]),requestAnimationFrame((function(){i.className="Chat__badge"})),o||t.appendChild(i)}},v=function(){function t(){var e=this;this.loaded=!1,this.rootNode=null,this.queue=[],this.messages=[],this.visibleMessages=[],this.page=null,this.events=new o.EventEmitter,this.scrollNode=null,this.scrollTracking=!0,this.handleScroll=function(t){var n=e.scrollNode,o=n.scrollHeight,r=n.scrollTop+n.offsetHeight,i=Math.abs(o-r)<24;i!==e.scrollTracking&&(e.scrollTracking=i,e.events.emit("scrollTrackingChanged",i),d.debug("tracking",e.scrollTracking))},this.ensureScrollTracking=function(){e.scrollTracking&&e.scrollToBottom()},setInterval((function(){return e.pruneMessages()}),a.MESSAGE_PRUNE_INTERVAL)}var n=t.prototype;return n.isReady=function(){return this.loaded&&this.rootNode&&this.page},n.mount=function(t){var n=this;this.rootNode?t.appendChild(this.rootNode):this.rootNode=t,this.scrollNode=function(e){for(var t=document.body,n=e;n&&n!==t;){if(n.scrollWidth0&&(this.processBatch(this.queue),this.queue=[])},n.assignStyle=function(e){void 0===e&&(e={});for(var t=0,n=Object.keys(e);t1&&n.test(e)}));if(0===o.length)return this.highlightRegex=null,void(this.highlightColor=null);this.highlightRegex=new RegExp("("+o.join("|")+")","gi"),this.highlightColor=t},n.scrollToBottom=function(){this.scrollNode.scrollTop=this.scrollNode.scrollHeight},n.changePage=function(e){if(!this.isReady())return this.page=e,void this.tryFlushQueue();this.page=e,this.rootNode.textContent="",this.visibleMessages=[];for(var t,n,o=document.createDocumentFragment(),r=l(this.messages);!(n=r()).done;){var i=n.value;(0,c.canPageAcceptType)(e,i.type)&&(t=i.node,o.appendChild(t),this.visibleMessages.push(i))}t&&(this.rootNode.appendChild(o),t.scrollIntoView())},n.getCombinableMessage=function(e){for(var t=Date.now(),n=this.visibleMessages.length,o=n-1,r=Math.max(0,n-a.COMBINE_MAX_MESSAGES),i=o;i>=r;i--){var s=this.visibleMessages[i];if(!s.type.startsWith(a.MESSAGE_TYPE_INTERNAL)&&(0,c.isSameMessage)(s,e)&&t0){this.visibleMessages=e.slice(t);for(var n=0;n0&&(this.messages=this.messages.slice(r),d.log("pruned "+r+" stored messages"))}else d.debug("pruning delayed")},n.rebuildChat=function(){if(this.isReady()){for(var e,t=Math.max(0,this.messages.length-a.MAX_PERSISTED_MESSAGES),n=this.messages.slice(t),o=l(n);!(e=o()).done;)e.value.node=undefined;this.rootNode.textContent="",this.messages=[],this.visibleMessages=[],this.processBatch(n,{notifyListeners:!1})}},n.saveToDisk=function(){if(!Byond.IS_LTE_IE10){for(var e="",t=document.styleSheets,n=0;n\n\n\nSS13 Chat Log\n\n\n\n\n'+a+"
\n\n\n"]),d=(new Date).toISOString().substring(0,19).replace(/[-:]/g,"").replace("T","-");window.navigator.msSaveBlob(u,"ss13-chatlog-"+d+".html")}},t}();window.__chatRenderer__||(window.__chatRenderer__=new v);var E=window.__chatRenderer__;t.chatRenderer=E}).call(this,n(101).setImmediate)},217:function(e,t,n){"use strict";t.__esModule=!0,t.gameReducer=t.gameMiddleware=t.useGame=void 0;var o=n(687);t.useGame=o.useGame;var r=n(688);t.gameMiddleware=r.gameMiddleware;var i=n(690);t.gameReducer=i.gameReducer},218:function(e,t,n){"use strict";t.__esModule=!0,t.selectGame=void 0;t.selectGame=function(e){return e.game}},219:function(e,t,n){"use strict";t.__esModule=!0,t.connectionRestored=t.connectionLost=t.roundRestarted=void 0;var o=n(22),r=(0,o.createAction)("roundrestart");t.roundRestarted=r;var i=(0,o.createAction)("game/connectionLost");t.connectionLost=i;var a=(0,o.createAction)("game/connectionRestored");t.connectionRestored=a},220:function(e,t,n){"use strict";t.__esModule=!0,t.pingReducer=t.PingIndicator=t.pingMiddleware=void 0;var o=n(692);t.pingMiddleware=o.pingMiddleware;var r=n(693);t.PingIndicator=r.PingIndicator;var i=n(696);t.pingReducer=i.pingReducer},221:function(e,t,n){"use strict";t.__esModule=!0,t.PING_ROUNDTRIP_WORST=t.PING_ROUNDTRIP_BEST=t.PING_QUEUE_SIZE=t.PING_MAX_FAILS=t.PING_TIMEOUT=t.PING_INTERVAL=void 0;t.PING_INTERVAL=2500;t.PING_TIMEOUT=2e3;t.PING_MAX_FAILS=3;t.PING_QUEUE_SIZE=8;t.PING_ROUNDTRIP_BEST=50;t.PING_ROUNDTRIP_WORST=200},65:function(e,t,n){"use strict";t.__esModule=!0,t.openChatSettings=t.toggleSettings=t.changeSettingsTab=t.loadSettings=t.updateSettings=void 0;var o=n(22),r=(0,o.createAction)("settings/update");t.updateSettings=r;var i=(0,o.createAction)("settings/load");t.loadSettings=i;var a=(0,o.createAction)("settings/changeTab");t.changeSettingsTab=a;var c=(0,o.createAction)("settings/toggle");t.toggleSettings=c;var s=(0,o.createAction)("settings/openChatTab");t.openChatSettings=s},668:function(e,t,n){n(148),e.exports=n(669)},669:function(e,t,n){"use strict";var o=n(0);n(670),n(671);var r,i,a=n(99),c=n(22),s=(n(100),n(57)),l=n(186),u=n(136),d=n(187),g=n(212),p=n(145),h=n(217),f=n(691),m=n(220),v=n(144),E=n(697);function y(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}a.perf.mark("inception",null==(r=window.performance)||null==(i=r.timing)?void 0:i.navigationStart),a.perf.mark("init");var b=(0,d.configureStore)({reducer:(0,c.combineReducers)({audio:g.audioReducer,chat:p.chatReducer,game:h.gameReducer,ping:m.pingReducer,settings:v.settingsReducer}),middleware:{pre:[p.chatMiddleware,m.pingMiddleware,E.telemetryMiddleware,v.settingsMiddleware,g.audioMiddleware,h.gameMiddleware]}}),S=(0,u.createRenderer)((function(){var e=n(698).Panel;return(0,o.createComponentVNode)(2,d.StoreProvider,{store:b,children:(0,o.createComponentVNode)(2,e)})})),_=function(){var e,t=(e=regeneratorRuntime.mark((function n(e){var t;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return void 0===e&&(e="output"),n.next=3,Byond.winget(e);case 3:t=n.sent,Byond.winset("browseroutput",{size:t.size});case 5:case"end":return n.stop()}}),n)})),function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function a(e){y(i,o,r,a,c,"next",e)}function c(e){y(i,o,r,a,c,"throw",e)}a(undefined)}))});return function(e){return t.apply(this,arguments)}}();!function C(){if("loading"!==document.readyState){for((0,s.setupGlobalEvents)({ignoreWindowFocus:!0}),(0,f.setupPanelFocusHacks)(),(0,l.captureExternalLinks)(),b.subscribe(S),window.update=function(e){return b.dispatch(Byond.parseJson(e))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}Byond.winset("output",{"is-visible":!1}),Byond.winset("browseroutput",{"is-visible":!0,"is-disabled":!1,pos:"0x0",size:"0x0"}),_()}else document.addEventListener("DOMContentLoaded",C)}()},670:function(e,t,n){},671:function(e,t,n){},672:function(e,t,n){"use strict";t.__esModule=!0,t.useAudio=void 0;var o=n(22),r=n(213);t.useAudio=function(e){var t=(0,o.useSelector)(e,r.selectAudio),n=(0,o.useDispatch)(e);return Object.assign({},t,{toggle:function(){return n({type:"audio/toggle"})}})}},673:function(e,t,n){"use strict";t.__esModule=!0,t.audioMiddleware=void 0;var o=n(674);t.audioMiddleware=function(e){var t=new o.AudioPlayer;return t.onPlay((function(){e.dispatch({type:"audio/playing"})})),t.onStop((function(){e.dispatch({type:"audio/stopped"})})),function(e){return function(n){var o=n.type,r=n.payload;if("audio/playMusic"===o){var i=r.url,a=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(r,["url"]);return t.play(i,a),e(n)}if("audio/stopMusic"===o)return t.stop(),e(n);if("settings/update"===o||"settings/load"===o){var c=null==r?void 0:r.adminMusicVolume;return"number"==typeof c&&t.setVolume(c),e(n)}return e(n)}}}},674:function(e,t,n){"use strict";function o(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 r(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 r(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 r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&e.node.currentTime>=e.options.end&&e.stop())}),1e3))}var t=e.prototype;return t.destroy=function(){this.node&&(this.node.stop(),document.removeChild(this.node),clearInterval(this.playbackInterval))},t.play=function(e,t){void 0===t&&(t={}),this.node&&(i.log("playing",e,t),this.options=t,this.node.src=e)},t.stop=function(){if(this.node){if(this.playing)for(var e,t=o(this.onStopSubscribers);!(e=t()).done;)(0,e.value)();i.log("stopping"),this.playing=!1,this.node.src=""}},t.setVolume=function(e){this.node&&(this.volume=e,this.node.volume=e)},t.onPlay=function(e){this.node&&this.onPlaySubscribers.push(e)},t.onStop=function(e){this.node&&this.onStopSubscribers.push(e)},e}();t.AudioPlayer=a},675:function(e,t,n){"use strict";t.__esModule=!0,t.NowPlayingWidget=void 0;var o=n(0),r=n(9),i=n(22),a=n(1),c=n(144),s=n(213);t.NowPlayingWidget=function(e,t){var n,l=(0,i.useSelector)(t,s.selectAudio),u=(0,i.useDispatch)(t),d=(0,c.useSettings)(t),g=null==(n=l.meta)?void 0:n.title;return(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[l.playing&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:0,mx:.5,color:"label",children:"Now playing:"}),(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,grow:1,style:{"white-space":"nowrap",overflow:"hidden","text-overflow":"ellipsis"},children:g||"Unknown Track"})],4)||(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,color:"label",children:"Nothing to play."}),l.playing&&(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,fontSize:"0.9em",children:(0,o.createComponentVNode)(2,a.Button,{tooltip:"Stop",icon:"stop",onClick:function(){return u({type:"audio/stopMusic"})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,fontSize:"0.9em",children:(0,o.createComponentVNode)(2,a.Knob,{minValue:0,maxValue:1,value:d.adminMusicVolume,step:.0025,stepPixelSize:1,format:function(e){return(0,r.toFixed)(100*e)+"%"},onDrag:function(e,t){return d.update({adminMusicVolume:t})}})})]})}},676:function(e,t,n){"use strict";t.__esModule=!0,t.useSettings=void 0;var o=n(22),r=n(65),i=n(104);t.useSettings=function(e){var t=(0,o.useSelector)(e,i.selectSettings),n=(0,o.useDispatch)(e);return Object.assign({},t,{visible:t.view.visible,toggle:function(){return n((0,r.toggleSettings)())},update:function(e){return n((0,r.updateSettings)(e))}})}},677:function(e,t,n){"use strict";t.__esModule=!0,t.settingsMiddleware=void 0;var o=n(79),r=n(214),i=n(65),a=n(104);t.settingsMiddleware=function(e){var t=!1;return function(n){return function(c){var s,l=c.type,u=c.payload;if(t||(t=!0,o.storage.get("panel-settings").then((function(t){e.dispatch((0,i.loadSettings)(t))}))),l===i.updateSettings.type||l===i.loadSettings.type){var d=null==u?void 0:u.theme;d&&(0,r.setClientTheme)(d),n(c);var g=(0,a.selectSettings)(e.getState());return s=g.fontSize,document.documentElement.style.setProperty("font-size",s+"px"),document.body.style.setProperty("font-size",s+"px"),void o.storage.set("panel-settings",g)}return n(c)}}}},678:function(e,t,n){"use strict";t.__esModule=!0,t.settingsReducer=void 0;var o=n(65),r={version:1,fontSize:13,lineHeight:1.2,theme:"default",adminMusicVolume:.5,highlightText:"",highlightColor:"#ffdd44",view:{visible:!1,activeTab:n(215).SETTINGS_TABS[0].id}};t.settingsReducer=function(e,t){void 0===e&&(e=r);var n=t.type,i=t.payload;if(n===o.updateSettings.type)return Object.assign({},e,i);if(n===o.loadSettings.type)return(null==i?void 0:i.version)?(delete i.view,Object.assign({},e,i)):e;if(n===o.toggleSettings.type)return Object.assign({},e,{view:Object.assign({},e.view,{visible:!e.view.visible})});if(n===o.openChatSettings.type)return Object.assign({},e,{view:Object.assign({},e.view,{visible:!0,activeTab:"chatPage"})});if(n===o.changeSettingsTab.type){var a=i.tabId;return Object.assign({},e,{view:Object.assign({},e.view,{activeTab:a})})}return e}},679:function(e,t,n){"use strict";t.__esModule=!0,t.SettingsGeneral=t.SettingsPanel=void 0;var o=n(0),r=n(9),i=n(22),a=n(1),c=n(145),s=n(80),l=n(214),u=n(65),d=n(215),g=n(104);t.SettingsPanel=function(e,t){var n=(0,i.useSelector)(t,g.selectActiveTab),r=(0,i.useDispatch)(t);return(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mr:1,children:(0,o.createComponentVNode)(2,a.Section,{fitted:!0,fill:!0,minHeight:"8em",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:d.SETTINGS_TABS.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:e.id===n,onClick:function(){return r((0,u.changeSettingsTab)({tabId:e.id}))},children:e.name},e.id)}))})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:["general"===n&&(0,o.createComponentVNode)(2,p),"chatPage"===n&&(0,o.createComponentVNode)(2,c.ChatPageSettings)]})]})};var p=function(e,t){var n=(0,i.useSelector)(t,g.selectSettings),c=n.theme,d=n.fontSize,p=n.lineHeight,h=n.highlightText,f=n.highlightColor,m=(0,i.useDispatch)(t);return(0,o.createComponentVNode)(2,a.Section,{fill:!0,children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Theme",children:(0,o.createComponentVNode)(2,a.Dropdown,{selected:c,options:l.THEMES,onSelected:function(e){return m((0,u.updateSettings)({theme:e}))}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Font size",children:(0,o.createComponentVNode)(2,a.NumberInput,{width:"4em",step:1,stepPixelSize:10,minValue:8,maxValue:32,value:d,unit:"px",format:function(e){return(0,r.toFixed)(e)},onChange:function(e,t){return m((0,u.updateSettings)({fontSize:t}))}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Line height",children:(0,o.createComponentVNode)(2,a.NumberInput,{width:"4em",step:.01,stepPixelSize:2,minValue:.8,maxValue:5,value:p,format:function(e){return(0,r.toFixed)(e,2)},onDrag:function(e,t){return m((0,u.updateSettings)({lineHeight:t}))}})})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Flex,{mb:1,color:"label",align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:"Highlight words (comma separated):"}),(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:0,children:[(0,o.createComponentVNode)(2,a.ColorBox,{mr:1,color:f}),(0,o.createComponentVNode)(2,a.Input,{width:"5em",monospace:!0,placeholder:"#ffffff",value:f,onInput:function(e,t){return m((0,u.updateSettings)({highlightColor:t}))}})]})]}),(0,o.createComponentVNode)(2,a.TextArea,{height:"3em",value:h,onChange:function(e,t){return m((0,u.updateSettings)({highlightText:t}))}})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check",onClick:function(){return m((0,s.rebuildChat)())},children:"Apply now"}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,fontSize:"0.9em",ml:1,color:"label",children:"Can freeze the chat for a while."})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){return m((0,s.saveChatToDisk)())},children:"Save chat log"})]})};t.SettingsGeneral=p},680:function(e,t,n){"use strict";t.__esModule=!0,t.ChatPageSettings=void 0;var o=n(0),r=n(22),i=n(1),a=n(80),c=n(106),s=n(146);t.ChatPageSettings=function(e,t){var n=(0,r.useSelector)(t,s.selectCurrentChatPage),l=(0,r.useDispatch)(t);return(0,o.createComponentVNode)(2,i.Section,{fill:!0,children:[(0,o.createComponentVNode)(2,i.Flex,{mx:-.5,align:"center",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{mx:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Input,{fluid:!0,value:n.name,onChange:function(e,t){return l((0,a.updateChatPage)({pageId:n.id,name:t}))}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"red",onClick:function(){return l((0,a.removeChatPage)({pageId:n.id}))},children:"Remove"})})]}),(0,o.createComponentVNode)(2,i.Divider),(0,o.createComponentVNode)(2,i.Section,{title:"Messages to display",level:2,children:[c.MESSAGE_TYPES.filter((function(e){return!e.important&&!e.admin})).map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:n.acceptedTypes[e.type],onClick:function(){return l((0,a.toggleAcceptedType)({pageId:n.id,type:e.type}))},children:e.name},e.type)})),(0,o.createComponentVNode)(2,i.Collapsible,{mt:1,color:"transparent",title:"Admin stuff",children:c.MESSAGE_TYPES.filter((function(e){return!e.important&&e.admin})).map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:n.acceptedTypes[e.type],onClick:function(){return l((0,a.toggleAcceptedType)({pageId:n.id,type:e.type}))},children:e.name},e.type)}))})]})]})}},681:function(e,t,n){"use strict";t.__esModule=!0,t.ChatPanel=void 0;var o=n(0),r=n(6),i=n(1),a=n(216);var c=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).ref=(0,o.createRef)(),t.state={scrollTracking:!0},t.handleScrollTrackingChange=function(e){return t.setState({scrollTracking:e})},t}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentDidMount=function(){a.chatRenderer.mount(this.ref.current),a.chatRenderer.events.on("scrollTrackingChanged",this.handleScrollTrackingChange),this.componentDidUpdate()},s.componentWillUnmount=function(){a.chatRenderer.events.off("scrollTrackingChanged",this.handleScrollTrackingChange)},s.componentDidUpdate=function(e){requestAnimationFrame((function(){a.chatRenderer.ensureScrollTracking()})),(!e||(0,r.shallowDiffers)(this.props,e))&&a.chatRenderer.assignStyle({width:"100%","white-space":"pre-wrap","font-size":this.props.fontSize,"line-height":this.props.lineHeight})},s.render=function(){var e=this.state.scrollTracking;return(0,o.createFragment)([(0,o.createVNode)(1,"div","Chat",null,1,null,null,this.ref),!e&&(0,o.createComponentVNode)(2,i.Button,{className:"Chat__scrollButton",icon:"arrow-down",onClick:function(){return a.chatRenderer.scrollToBottom()},children:"Scroll to bottom"})],0)},c}(o.Component);t.ChatPanel=c},682:function(e,t,n){"use strict";t.__esModule=!0,t.linkifyNode=t.highlightNode=t.replaceInTextNode=void 0;var o=function(e,t){return function(n){for(var o,r,i=n.textContent,a=i.length,c=0,s=0;o=e.exec(i);){s+=1,r||(r=document.createDocumentFragment());var l=o[0],u=l.length,d=o.index;c0&&(0,o.createComponentVNode)(2,l,{value:e.unreadCount}),onClick:function(){return d((0,a.changeChatPage)({pageId:e.id}))},children:e.name},e.id)}))})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,children:(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"plus",onClick:function(){d((0,a.addChatPage)()),d((0,s.openChatSettings)())}})})]})}},684:function(e,t,n){"use strict";t.__esModule=!0,t.chatMiddleware=void 0;var o=n(79),r=n(65),i=n(104),a=n(80),c=n(106),s=n(105),l=n(216),u=n(146);n(29);function d(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}function g(e){return function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function a(e){d(i,o,r,a,c,"next",e)}function c(e){d(i,o,r,a,c,"throw",e)}a(undefined)}))}}var p=function(){var e=g(regeneratorRuntime.mark((function t(e){var n,r,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=(0,u.selectChat)(e.getState()),r=Math.max(0,l.chatRenderer.messages.length-c.MAX_PERSISTED_MESSAGES),i=l.chatRenderer.messages.slice(r).map((function(e){return(0,s.serializeMessage)(e)})),o.storage.set("chat-state",n),o.storage.set("chat-messages",i);case 5:case"end":return t.stop()}}),t)})));return function(t){return e.apply(this,arguments)}}(),h=function(){var e=g(regeneratorRuntime.mark((function t(e){var n,r,i,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Promise.all([o.storage.get("chat-state"),o.storage.get("chat-messages")]);case 2:if(n=t.sent,r=n[0],i=n[1],!(r&&r.version<=4)){t.next=8;break}return e.dispatch((0,a.loadChat)()),t.abrupt("return");case 8:i&&(c=[].concat(i,[(0,s.createMessage)({type:"internal/reconnected"})]),l.chatRenderer.processBatch(c,{prepend:!0})),e.dispatch((0,a.loadChat)(r));case 10:case"end":return t.stop()}}),t)})));return function(t){return e.apply(this,arguments)}}();t.chatMiddleware=function(e){var t=!1,n=!1;return l.chatRenderer.events.on("batchProcessed",(function(t){n&&e.dispatch((0,a.updateMessageCount)(t))})),l.chatRenderer.events.on("scrollTrackingChanged",(function(t){e.dispatch((0,a.changeScrollTracking)(t))})),setInterval((function(){return p(e)}),c.MESSAGE_SAVE_INTERVAL),function(o){return function(c){var s=c.type,d=c.payload;if(t||(t=!0,h(e)),"chat/message"!==s){if(s===a.loadChat.type){o(c);var g=(0,u.selectCurrentChatPage)(e.getState());return l.chatRenderer.changePage(g),l.chatRenderer.onStateLoaded(),void(n=!0)}if(s!==a.changeChatPage.type&&s!==a.addChatPage.type&&s!==a.removeChatPage.type&&s!==a.toggleAcceptedType.type){if(s===a.rebuildChat.type)return l.chatRenderer.rebuildChat(),o(c);if(s!==r.updateSettings.type&&s!==r.loadSettings.type){if("roundrestart"===s)return p(e),o(c);if(s!==a.saveChatToDisk.type)return o(c);l.chatRenderer.saveToDisk()}else{o(c);var f=(0,i.selectSettings)(e.getState());l.chatRenderer.setHighlight(f.highlightText,f.highlightColor)}}else{o(c);var m=(0,u.selectCurrentChatPage)(e.getState());l.chatRenderer.changePage(m)}}else{var v=Array.isArray(d)?d:[d];l.chatRenderer.processBatch(v)}}}}},685:function(e,t,n){"use strict";t.__esModule=!0,t.chatReducer=t.initialState=void 0;var o,r=n(80),i=n(105);function a(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 c(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 c(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 c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&(_[A.id]=Object.assign({},A,{unreadCount:A.unreadCount+M}))}return Object.assign({},e,{pageById:_})}if(o===r.addChatPage.type)return Object.assign({},e,{currentPageId:c.id,pages:[].concat(e.pages,[c.id]),pageById:Object.assign({},e.pageById,(n={},n[c.id]=c,n))});if(o===r.changeChatPage.type){var I,P=c.pageId,x=Object.assign({},e.pageById[P],{unreadCount:0});return Object.assign({},e,{currentPageId:P,pageById:Object.assign({},e.pageById,(I={},I[P]=x,I))})}if(o===r.updateChatPage.type){var k,R=c.pageId,O=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(c,["pageId"]),V=Object.assign({},e.pageById[R],O);return Object.assign({},e,{pageById:Object.assign({},e.pageById,(k={},k[R]=V,k))})}if(o===r.toggleAcceptedType.type){var G,B=c.pageId,L=c.type,D=Object.assign({},e.pageById[B]);return D.acceptedTypes=Object.assign({},D.acceptedTypes),D.acceptedTypes[L]=!D.acceptedTypes[L],Object.assign({},e,{pageById:Object.assign({},e.pageById,(G={},G[B]=D,G))})}if(o===r.removeChatPage.type){var F=c.pageId,j=Object.assign({},e,{pages:[].concat(e.pages),pageById:Object.assign({},e.pageById)});return delete j.pageById[F],j.pages=j.pages.filter((function(e){return e!==F})),0===j.pages.length&&(j.pages.push(s.id),j.pageById[s.id]=s,j.currentPageId=s.id),j.currentPageId&&j.currentPageId!==F||(j.currentPageId=j.pages[0]),j}return e}},686:function(e,t,n){"use strict";t.__esModule=!0,t.audioReducer=void 0;var o={visible:!1,playing:!1,track:null};t.audioReducer=function(e,t){void 0===e&&(e=o);var n=t.type,r=t.payload;return"audio/playing"===n?Object.assign({},e,{visible:!0,playing:!0}):"audio/stopped"===n?Object.assign({},e,{visible:!1,playing:!1}):"audio/playMusic"===n?Object.assign({},e,{meta:r}):"audio/stopMusic"===n?Object.assign({},e,{visible:!1,playing:!1,meta:null}):"audio/toggle"===n?Object.assign({},e,{visible:!e.visible}):e}},687:function(e,t,n){"use strict";t.__esModule=!0,t.useGame=void 0;var o=n(22),r=n(218);t.useGame=function(e){return(0,o.useSelector)(e,r.selectGame)}},688:function(e,t,n){"use strict";t.__esModule=!0,t.gameMiddleware=void 0;var o=n(147),r=n(219),i=n(218),a=n(689),c=function(e){return Object.assign({},e,{meta:Object.assign({},e.meta,{now:Date.now()})})};t.gameMiddleware=function(e){var t;return setInterval((function(){var n=e.getState();if(n){var o=(0,i.selectGame)(n),s=t&&Date.now()>=t+a.CONNECTION_LOST_AFTER;!o.connectionLostAt&&s&&e.dispatch(c((0,r.connectionLost)())),o.connectionLostAt&&!s&&e.dispatch(c((0,r.connectionRestored)()))}}),1e3),function(e){return function(n){var i=n.type,a=(n.payload,n.meta);return i===o.pingSuccess.type?(t=a.now,e(n)):i===r.roundRestarted.type?e(c(n)):e(n)}}}},689:function(e,t,n){"use strict";t.__esModule=!0,t.CONNECTION_LOST_AFTER=void 0;t.CONNECTION_LOST_AFTER=15e3},690:function(e,t,n){"use strict";t.__esModule=!0,t.gameReducer=void 0;var o=n(219),r={roundId:null,roundTime:null,roundRestartedAt:null,connectionLostAt:null};t.gameReducer=function(e,t){void 0===e&&(e=r);var n=t.type,i=(t.payload,t.meta);return"roundrestart"===n?Object.assign({},e,{roundRestartedAt:i.now}):n===o.connectionLost.type?Object.assign({},e,{connectionLostAt:i.now}):n===o.connectionRestored.type?Object.assign({},e,{connectionLostAt:null}):e}},691:function(e,t,n){"use strict";(function(e){t.__esModule=!0,t.setupPanelFocusHacks=void 0;var o=n(102),r=n(57),i=n(189),a=function(){return e((function(){return(0,i.focusMap)()}))};t.setupPanelFocusHacks=function(){var e=!1,t=null;window.addEventListener("focusin",(function(t){e=(0,r.canStealFocus)(t.target)})),window.addEventListener("mousedown",(function(e){t=[e.screenX,e.screenY]})),window.addEventListener("mouseup",(function(n){if(t){var r=[n.screenX,n.screenY];(0,o.vecLength)((0,o.vecSubtract)(r,t))>=10&&(e=!0)}e||a()})),r.globalEvents.on("keydown",(function(e){e.isModifierKey()||a()}))}}).call(this,n(101).setImmediate)},692:function(e,t,n){"use strict";t.__esModule=!0,t.pingMiddleware=void 0;var o=n(2),r=n(147),i=n(221);t.pingMiddleware=function(e){var t=!1,n=0,a=[],c=function(){for(var t=0;ti.PING_TIMEOUT&&(a[t]=null,e.dispatch((0,r.pingFail)()))}var s={index:n,sentAt:Date.now()};a[n]=s,(0,o.sendMessage)({type:"ping",payload:{index:n}}),n=(n+1)%i.PING_QUEUE_SIZE};return function(e){return function(n){var o=n.type,s=n.payload;if(t||(t=!0,setInterval(c,i.PING_INTERVAL),c()),"pingReply"===o){var l=s.index,u=a[l];if(!u)return;return a[l]=null,e((0,r.pingSuccess)(u))}return e(n)}}}},693:function(e,t,n){"use strict";t.__esModule=!0,t.PingIndicator=void 0;var o=n(0),r=n(694),i=n(9),a=n(22),c=n(1),s=n(695);t.PingIndicator=function(e,t){var n=(0,a.useSelector)(t,s.selectPing),l=r.Color.lookup(n.networkQuality,[new r.Color(220,40,40),new r.Color(220,200,40),new r.Color(60,220,40)]),u=n.roundtrip?(0,i.toFixed)(n.roundtrip):"--";return(0,o.createVNode)(1,"div","Ping",[(0,o.createComponentVNode)(2,c.Box,{className:"Ping__indicator",backgroundColor:l}),u],0)}},694:function(e,t,n){"use strict";t.__esModule=!0,t.Color=void 0;var o=function(){function e(e,t,n,o){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),void 0===o&&(o=1),this.r=e,this.g=t,this.b=n,this.a=o}return e.prototype.toString=function(){return"rgba("+(0|this.r)+", "+(0|this.g)+", "+(0|this.b)+", "+(0|this.a)+")"},e}();t.Color=o,o.fromHex=function(e){return new o(parseInt(e.substr(1,2),16),parseInt(e.substr(3,2),16),parseInt(e.substr(5,2),16))},o.lerp=function(e,t,n){return new o((t.r-e.r)*n+e.r,(t.g-e.g)*n+e.g,(t.b-e.b)*n+e.b,(t.a-e.a)*n+e.a)},o.lookup=function(e,t){void 0===t&&(t=[]);var n=t.length;if(n<2)throw new Error("Needs at least two colors!");var r=e*(n-1);if(e<1e-4)return t[0];if(e>=.9999)return t[n-1];var i=r%1,a=0|r;return o.lerp(t[a],t[a+1],i)}},695:function(e,t,n){"use strict";t.__esModule=!0,t.selectPing=void 0;t.selectPing=function(e){return e.ping}},696:function(e,t,n){"use strict";t.__esModule=!0,t.pingReducer=void 0;var o=n(9),r=n(147),i=n(221);t.pingReducer=function(e,t){void 0===e&&(e={});var n=t.type,a=t.payload;if(n===r.pingSuccess.type){var c=a.roundtrip,s=e.roundtripAvg||c,l=Math.round(.4*s+.6*c);return{roundtrip:c,roundtripAvg:l,failCount:0,networkQuality:1-(0,o.scale)(l,i.PING_ROUNDTRIP_BEST,i.PING_ROUNDTRIP_WORST)}}if(n===r.pingFail.type){var u=e.failCount,d=void 0===u?0:u,g=(0,o.clamp01)(e.networkQuality-d/i.PING_MAX_FAILS),p=Object.assign({},e,{failCount:d+1,networkQuality:g});return d>i.PING_MAX_FAILS&&(p.roundtrip=undefined,p.roundtripAvg=undefined),p}return e}},697:function(e,t,n){"use strict";t.__esModule=!0,t.telemetryMiddleware=void 0;var o=n(2),r=n(79);function i(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}var a=(0,n(29).createLogger)("telemetry");t.telemetryMiddleware=function(e){var t,n;return function(c){return function(s){var l,u=s.type,d=s.payload;if("telemetry/request"!==u)return"backend/update"===u?(c(s),void(l=regeneratorRuntime.mark((function h(){var o,i,c,s;return regeneratorRuntime.wrap((function(l){for(;;)switch(l.prev=l.next){case 0:if(i=null==d||null==(o=d.config)?void 0:o.client){l.next=4;break}return a.error("backend/update payload is missing client data!"),l.abrupt("return");case 4:if(t){l.next=13;break}return l.next=7,r.storage.get("telemetry");case 7:if(l.t0=l.sent,l.t0){l.next=10;break}l.t0={};case 10:(t=l.t0).connections||(t.connections=[]),a.debug("retrieved telemetry from storage",t);case 13:c=!1,t.connections.find((function(e){return n=i,(t=e).ckey===n.ckey&&t.address===n.address&&t.computer_id===n.computer_id;var t,n}))||(c=!0,t.connections.unshift(i),t.connections.length>10&&t.connections.pop()),c&&(a.debug("saving telemetry to storage",t),r.storage.set("telemetry",t)),n&&(s=n,n=null,e.dispatch({type:"telemetry/request",payload:s}));case 18:case"end":return l.stop()}}),h)})),function(){var e=this,t=arguments;return new Promise((function(n,o){var r=l.apply(e,t);function a(e){i(r,n,o,a,c,"next",e)}function c(e){i(r,n,o,a,c,"throw",e)}a(undefined)}))})()):c(s);if(!t)return a.debug("deferred"),void(n=d);a.debug("sending");var g=(null==d?void 0:d.limits)||{},p=t.connections.slice(0,g.connections);(0,o.sendMessage)({type:"telemetry",payload:{connections:p}})}}}},698:function(e,t,n){"use strict";t.__esModule=!0,t.Panel=void 0;var o=n(0),r=n(1),i=n(3),a=n(212),c=n(145),s=n(217),l=n(699),u=n(220),d=n(144);t.Panel=function(e,t){if(Byond.IS_LTE_IE10)return(0,o.createComponentVNode)(2,g);var n=(0,a.useAudio)(t),p=(0,d.useSettings)(t),h=(0,s.useGame)(t);return(0,o.createComponentVNode)(2,i.Pane,{theme:"default"===p.theme?"light":p.theme,children:(0,o.createComponentVNode)(2,r.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Section,{fitted:!0,children:(0,o.createComponentVNode)(2,r.Flex,{mx:.5,align:"center",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,grow:1,overflowX:"auto",children:(0,o.createComponentVNode)(2,c.ChatTabs)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,u.PingIndicator)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,r.Button,{color:"grey",selected:n.visible,icon:"music",tooltip:"Music player",tooltipPosition:"bottom-left",onClick:function(){return n.toggle()}})}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,r.Button,{icon:p.visible?"times":"cog",selected:p.visible,tooltip:p.visible?"Close settings":"Open settings",tooltipPosition:"bottom-left",onClick:function(){return p.toggle()}})})]})})}),n.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,r.Section,{children:(0,o.createComponentVNode)(2,a.NowPlayingWidget)})}),p.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,d.SettingsPanel)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,grow:1,children:(0,o.createComponentVNode)(2,r.Section,{fill:!0,fitted:!0,position:"relative",children:[(0,o.createComponentVNode)(2,i.Pane.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.ChatPanel,{lineHeight:p.lineHeight})}),(0,o.createComponentVNode)(2,l.Notifications,{children:[h.connectionLostAt&&(0,o.createComponentVNode)(2,l.Notifications.Item,{rightSlot:(0,o.createComponentVNode)(2,r.Button,{color:"white",onClick:function(){return Byond.command(".reconnect")},children:"Reconnect"}),children:"You are either AFK, experiencing lag or the connection has closed."}),h.roundRestartedAt&&(0,o.createComponentVNode)(2,l.Notifications.Item,{children:"The connection has been closed because the server is restarting. Please wait while you automatically reconnect."})]})]})})]})})};var g=function(e,t){var n=(0,d.useSettings)(t);return(0,o.createComponentVNode)(2,i.Pane,{theme:"default"===n.theme?"light":n.theme,children:(0,o.createComponentVNode)(2,i.Pane.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,r.Button,{style:{position:"fixed",top:"1em",right:"2em","z-index":1e3},selected:n.visible,onClick:function(){return n.toggle()},children:"Settings"}),n.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,d.SettingsPanel)})||(0,o.createComponentVNode)(2,c.ChatPanel,{lineHeight:n.lineHeight})]})})}},699:function(e,t,n){"use strict";t.__esModule=!0,t.Notifications=void 0;var o=n(0),r=n(1),i=function(e){var t=e.children;return(0,o.createVNode)(1,"div","Notifications",t,0)};t.Notifications=i;i.Item=function(e){var t=e.rightSlot,n=e.children;return(0,o.createComponentVNode)(2,r.Flex,{align:"center",className:"Notification",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{className:"Notification__content",grow:1,children:n}),t&&(0,o.createComponentVNode)(2,r.Flex.Item,{className:"Notification__rightSlot",children:t})]})}},80:function(e,t,n){"use strict";t.__esModule=!0,t.saveChatToDisk=t.changeScrollTracking=t.removeChatPage=t.toggleAcceptedType=t.updateChatPage=t.changeChatPage=t.addChatPage=t.updateMessageCount=t.rebuildChat=t.loadChat=void 0;var o=n(22),r=n(105),i=(0,o.createAction)("chat/load");t.loadChat=i;var a=(0,o.createAction)("chat/rebuild");t.rebuildChat=a;var c=(0,o.createAction)("chat/updateMessageCount");t.updateMessageCount=c;var s=(0,o.createAction)("chat/addPage",(function(){return{payload:(0,r.createPage)()}}));t.addChatPage=s;var l=(0,o.createAction)("chat/changePage");t.changeChatPage=l;var u=(0,o.createAction)("chat/updatePage");t.updateChatPage=u;var d=(0,o.createAction)("chat/toggleAcceptedType");t.toggleAcceptedType=d;var g=(0,o.createAction)("chat/removePage");t.removeChatPage=g;var p=(0,o.createAction)("chat/changeScrollTracking");t.changeScrollTracking=p;var h=(0,o.createAction)("chat/saveToDisk");t.saveChatToDisk=h}});
\ No newline at end of file
+!function(e){function t(t){for(var o,a,c=t[0],s=t[1],l=t[2],d=0,g=[];d=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 a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n=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);n=a.IMAGE_RETRY_LIMIT)d.error("failed to load an image after "+n+" attempts");else{var o=t.src;t.src=null,t.src=o+"#"+n,t.setAttribute("data-reload-n",n+1)}}),a.IMAGE_RETRY_DELAY)},m=function(e){var t=e.node,n=e.times;if(t&&n){var o=t.querySelector(".Chat__badge"),i=o||document.createElement("div");i.textContent=n,i.className=(0,r.classes)(["Chat__badge","Chat__badge--animate"]),requestAnimationFrame((function(){i.className="Chat__badge"})),o||t.appendChild(i)}},v=function(){function t(){var e=this;this.loaded=!1,this.rootNode=null,this.queue=[],this.messages=[],this.visibleMessages=[],this.page=null,this.events=new o.EventEmitter,this.scrollNode=null,this.scrollTracking=!0,this.handleScroll=function(t){var n=e.scrollNode,o=n.scrollHeight,r=n.scrollTop+n.offsetHeight,i=Math.abs(o-r)<24;i!==e.scrollTracking&&(e.scrollTracking=i,e.events.emit("scrollTrackingChanged",i),d.debug("tracking",e.scrollTracking))},this.ensureScrollTracking=function(){e.scrollTracking&&e.scrollToBottom()},setInterval((function(){return e.pruneMessages()}),a.MESSAGE_PRUNE_INTERVAL)}var n=t.prototype;return n.isReady=function(){return this.loaded&&this.rootNode&&this.page},n.mount=function(t){var n=this;this.rootNode?t.appendChild(this.rootNode):this.rootNode=t,this.scrollNode=function(e){for(var t=document.body,n=e;n&&n!==t;){if(n.scrollWidth0&&(this.processBatch(this.queue),this.queue=[])},n.assignStyle=function(e){void 0===e&&(e={});for(var t=0,n=Object.keys(e);t1&&n.test(e)}));if(0===o.length)return this.highlightRegex=null,void(this.highlightColor=null);this.highlightRegex=new RegExp("("+o.join("|")+")","gi"),this.highlightColor=t},n.scrollToBottom=function(){this.scrollNode.scrollTop=this.scrollNode.scrollHeight},n.changePage=function(e){if(!this.isReady())return this.page=e,void this.tryFlushQueue();this.page=e,this.rootNode.textContent="",this.visibleMessages=[];for(var t,n,o=document.createDocumentFragment(),r=l(this.messages);!(n=r()).done;){var i=n.value;(0,c.canPageAcceptType)(e,i.type)&&(t=i.node,o.appendChild(t),this.visibleMessages.push(i))}t&&(this.rootNode.appendChild(o),t.scrollIntoView())},n.getCombinableMessage=function(e){for(var t=Date.now(),n=this.visibleMessages.length,o=n-1,r=Math.max(0,n-a.COMBINE_MAX_MESSAGES),i=o;i>=r;i--){var s=this.visibleMessages[i];if(!s.type.startsWith(a.MESSAGE_TYPE_INTERNAL)&&(0,c.isSameMessage)(s,e)&&t0){this.visibleMessages=e.slice(t);for(var n=0;n0&&(this.messages=this.messages.slice(r),d.log("pruned "+r+" stored messages"))}else d.debug("pruning delayed")},n.rebuildChat=function(){if(this.isReady()){for(var e,t=Math.max(0,this.messages.length-a.MAX_PERSISTED_MESSAGES),n=this.messages.slice(t),o=l(n);!(e=o()).done;)e.value.node=undefined;this.rootNode.textContent="",this.messages=[],this.visibleMessages=[],this.processBatch(n,{notifyListeners:!1})}},n.saveToDisk=function(){if(!Byond.IS_LTE_IE10){for(var e="",t=document.styleSheets,n=0;n\n\n\nSS13 Chat Log\n\n\n\n\n'+a+"
\n\n\n"]),d=(new Date).toISOString().substring(0,19).replace(/[-:]/g,"").replace("T","-");window.navigator.msSaveBlob(u,"ss13-chatlog-"+d+".html")}},t}();window.__chatRenderer__||(window.__chatRenderer__=new v);var E=window.__chatRenderer__;t.chatRenderer=E}).call(this,n(101).setImmediate)},217:function(e,t,n){"use strict";t.__esModule=!0,t.gameReducer=t.gameMiddleware=t.useGame=void 0;var o=n(687);t.useGame=o.useGame;var r=n(688);t.gameMiddleware=r.gameMiddleware;var i=n(690);t.gameReducer=i.gameReducer},218:function(e,t,n){"use strict";t.__esModule=!0,t.selectGame=void 0;t.selectGame=function(e){return e.game}},219:function(e,t,n){"use strict";t.__esModule=!0,t.connectionRestored=t.connectionLost=t.roundRestarted=void 0;var o=n(22),r=(0,o.createAction)("roundrestart");t.roundRestarted=r;var i=(0,o.createAction)("game/connectionLost");t.connectionLost=i;var a=(0,o.createAction)("game/connectionRestored");t.connectionRestored=a},220:function(e,t,n){"use strict";t.__esModule=!0,t.pingReducer=t.PingIndicator=t.pingMiddleware=void 0;var o=n(692);t.pingMiddleware=o.pingMiddleware;var r=n(693);t.PingIndicator=r.PingIndicator;var i=n(696);t.pingReducer=i.pingReducer},221:function(e,t,n){"use strict";t.__esModule=!0,t.PING_ROUNDTRIP_WORST=t.PING_ROUNDTRIP_BEST=t.PING_QUEUE_SIZE=t.PING_MAX_FAILS=t.PING_TIMEOUT=t.PING_INTERVAL=void 0;t.PING_INTERVAL=2500;t.PING_TIMEOUT=2e3;t.PING_MAX_FAILS=3;t.PING_QUEUE_SIZE=8;t.PING_ROUNDTRIP_BEST=50;t.PING_ROUNDTRIP_WORST=200},65:function(e,t,n){"use strict";t.__esModule=!0,t.openChatSettings=t.toggleSettings=t.changeSettingsTab=t.loadSettings=t.updateSettings=void 0;var o=n(22),r=(0,o.createAction)("settings/update");t.updateSettings=r;var i=(0,o.createAction)("settings/load");t.loadSettings=i;var a=(0,o.createAction)("settings/changeTab");t.changeSettingsTab=a;var c=(0,o.createAction)("settings/toggle");t.toggleSettings=c;var s=(0,o.createAction)("settings/openChatTab");t.openChatSettings=s},668:function(e,t,n){n(148),e.exports=n(669)},669:function(e,t,n){"use strict";var o=n(0);n(670),n(671);var r,i,a=n(99),c=n(22),s=(n(100),n(57)),l=n(186),u=n(136),d=n(187),g=n(212),p=n(145),h=n(217),f=n(691),m=n(220),v=n(144),E=n(697);function y(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}a.perf.mark("inception",null==(r=window.performance)||null==(i=r.timing)?void 0:i.navigationStart),a.perf.mark("init");var b=(0,d.configureStore)({reducer:(0,c.combineReducers)({audio:g.audioReducer,chat:p.chatReducer,game:h.gameReducer,ping:m.pingReducer,settings:v.settingsReducer}),middleware:{pre:[p.chatMiddleware,m.pingMiddleware,E.telemetryMiddleware,v.settingsMiddleware,g.audioMiddleware,h.gameMiddleware]}}),S=(0,u.createRenderer)((function(){var e=n(698).Panel;return(0,o.createComponentVNode)(2,d.StoreProvider,{store:b,children:(0,o.createComponentVNode)(2,e)})})),_=function(){var e,t=(e=regeneratorRuntime.mark((function n(e){var t;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return void 0===e&&(e="output"),n.next=3,Byond.winget(e);case 3:t=n.sent,Byond.winset("browseroutput",{size:t.size});case 5:case"end":return n.stop()}}),n)})),function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function a(e){y(i,o,r,a,c,"next",e)}function c(e){y(i,o,r,a,c,"throw",e)}a(undefined)}))});return function(e){return t.apply(this,arguments)}}();!function C(){if("loading"!==document.readyState){for((0,s.setupGlobalEvents)({ignoreWindowFocus:!0}),(0,f.setupPanelFocusHacks)(),(0,l.captureExternalLinks)(),b.subscribe(S),window.update=function(e){return b.dispatch(Byond.parseJson(e))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}Byond.winset("output",{"is-visible":!1}),Byond.winset("browseroutput",{"is-visible":!0,"is-disabled":!1,pos:"0x0",size:"0x0"}),_()}else document.addEventListener("DOMContentLoaded",C)}()},670:function(e,t,n){},671:function(e,t,n){},672:function(e,t,n){"use strict";t.__esModule=!0,t.useAudio=void 0;var o=n(22),r=n(213);t.useAudio=function(e){var t=(0,o.useSelector)(e,r.selectAudio),n=(0,o.useDispatch)(e);return Object.assign({},t,{toggle:function(){return n({type:"audio/toggle"})}})}},673:function(e,t,n){"use strict";t.__esModule=!0,t.audioMiddleware=void 0;var o=n(674);t.audioMiddleware=function(e){var t=new o.AudioPlayer;return t.onPlay((function(){e.dispatch({type:"audio/playing"})})),t.onStop((function(){e.dispatch({type:"audio/stopped"})})),function(e){return function(n){var o=n.type,r=n.payload;if("audio/playMusic"===o){var i=r.url,a=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(r,["url"]);return t.play(i,a),e(n)}if("audio/stopMusic"===o)return t.stop(),e(n);if("settings/update"===o||"settings/load"===o){var c=null==r?void 0:r.adminMusicVolume;return"number"==typeof c&&t.setVolume(c),e(n)}return e(n)}}}},674:function(e,t,n){"use strict";function o(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 r(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 r(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 r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&e.node.currentTime>=e.options.end&&e.stop())}),1e3))}var t=e.prototype;return t.destroy=function(){this.node&&(this.node.stop(),document.removeChild(this.node),clearInterval(this.playbackInterval))},t.play=function(e,t){void 0===t&&(t={}),this.node&&(i.log("playing",e,t),this.options=t,this.node.src=e)},t.stop=function(){if(this.node){if(this.playing)for(var e,t=o(this.onStopSubscribers);!(e=t()).done;)(0,e.value)();i.log("stopping"),this.playing=!1,this.node.src=""}},t.setVolume=function(e){this.node&&(this.volume=e,this.node.volume=e)},t.onPlay=function(e){this.node&&this.onPlaySubscribers.push(e)},t.onStop=function(e){this.node&&this.onStopSubscribers.push(e)},e}();t.AudioPlayer=a},675:function(e,t,n){"use strict";t.__esModule=!0,t.NowPlayingWidget=void 0;var o=n(0),r=n(9),i=n(22),a=n(1),c=n(144),s=n(213);t.NowPlayingWidget=function(e,t){var n,l=(0,i.useSelector)(t,s.selectAudio),u=(0,i.useDispatch)(t),d=(0,c.useSettings)(t),g=null==(n=l.meta)?void 0:n.title;return(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[l.playing&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:0,mx:.5,color:"label",children:"Now playing:"}),(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,grow:1,style:{"white-space":"nowrap",overflow:"hidden","text-overflow":"ellipsis"},children:g||"Unknown Track"})],4)||(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,color:"label",children:"Nothing to play."}),l.playing&&(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,fontSize:"0.9em",children:(0,o.createComponentVNode)(2,a.Button,{tooltip:"Stop",icon:"stop",onClick:function(){return u({type:"audio/stopMusic"})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,fontSize:"0.9em",children:(0,o.createComponentVNode)(2,a.Knob,{minValue:0,maxValue:1,value:d.adminMusicVolume,step:.0025,stepPixelSize:1,format:function(e){return(0,r.toFixed)(100*e)+"%"},onDrag:function(e,t){return d.update({adminMusicVolume:t})}})})]})}},676:function(e,t,n){"use strict";t.__esModule=!0,t.useSettings=void 0;var o=n(22),r=n(65),i=n(104);t.useSettings=function(e){var t=(0,o.useSelector)(e,i.selectSettings),n=(0,o.useDispatch)(e);return Object.assign({},t,{visible:t.view.visible,toggle:function(){return n((0,r.toggleSettings)())},update:function(e){return n((0,r.updateSettings)(e))}})}},677:function(e,t,n){"use strict";t.__esModule=!0,t.settingsMiddleware=void 0;var o=n(79),r=n(214),i=n(65),a=n(104);t.settingsMiddleware=function(e){var t=!1;return function(n){return function(c){var s,l=c.type,u=c.payload;if(t||(t=!0,o.storage.get("panel-settings").then((function(t){e.dispatch((0,i.loadSettings)(t))}))),l===i.updateSettings.type||l===i.loadSettings.type){var d=null==u?void 0:u.theme;d&&(0,r.setClientTheme)(d),n(c);var g=(0,a.selectSettings)(e.getState());return s=g.fontSize,document.documentElement.style.setProperty("font-size",s+"px"),document.body.style.setProperty("font-size",s+"px"),void o.storage.set("panel-settings",g)}return n(c)}}}},678:function(e,t,n){"use strict";t.__esModule=!0,t.settingsReducer=void 0;var o=n(65),r={version:1,fontSize:13,lineHeight:1.2,theme:"default",adminMusicVolume:.5,highlightText:"",highlightColor:"#ffdd44",view:{visible:!1,activeTab:n(215).SETTINGS_TABS[0].id}};t.settingsReducer=function(e,t){void 0===e&&(e=r);var n=t.type,i=t.payload;if(n===o.updateSettings.type)return Object.assign({},e,i);if(n===o.loadSettings.type)return(null==i?void 0:i.version)?(delete i.view,Object.assign({},e,i)):e;if(n===o.toggleSettings.type)return Object.assign({},e,{view:Object.assign({},e.view,{visible:!e.view.visible})});if(n===o.openChatSettings.type)return Object.assign({},e,{view:Object.assign({},e.view,{visible:!0,activeTab:"chatPage"})});if(n===o.changeSettingsTab.type){var a=i.tabId;return Object.assign({},e,{view:Object.assign({},e.view,{activeTab:a})})}return e}},679:function(e,t,n){"use strict";t.__esModule=!0,t.SettingsGeneral=t.SettingsPanel=void 0;var o=n(0),r=n(9),i=n(22),a=n(1),c=n(145),s=n(80),l=n(214),u=n(65),d=n(215),g=n(104);t.SettingsPanel=function(e,t){var n=(0,i.useSelector)(t,g.selectActiveTab),r=(0,i.useDispatch)(t);return(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mr:1,children:(0,o.createComponentVNode)(2,a.Section,{fitted:!0,fill:!0,minHeight:"8em",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:d.SETTINGS_TABS.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:e.id===n,onClick:function(){return r((0,u.changeSettingsTab)({tabId:e.id}))},children:e.name},e.id)}))})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:["general"===n&&(0,o.createComponentVNode)(2,p),"chatPage"===n&&(0,o.createComponentVNode)(2,c.ChatPageSettings)]})]})};var p=function(e,t){var n=(0,i.useSelector)(t,g.selectSettings),c=n.theme,d=n.fontSize,p=n.lineHeight,h=n.highlightText,f=n.highlightColor,m=(0,i.useDispatch)(t);return(0,o.createComponentVNode)(2,a.Section,{fill:!0,children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Theme",children:(0,o.createComponentVNode)(2,a.Dropdown,{selected:c,options:l.THEMES,onSelected:function(e){return m((0,u.updateSettings)({theme:e}))}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Font size",children:(0,o.createComponentVNode)(2,a.NumberInput,{width:"4em",step:1,stepPixelSize:10,minValue:8,maxValue:32,value:d,unit:"px",format:function(e){return(0,r.toFixed)(e)},onChange:function(e,t){return m((0,u.updateSettings)({fontSize:t}))}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Line height",children:(0,o.createComponentVNode)(2,a.NumberInput,{width:"4em",step:.01,stepPixelSize:2,minValue:.8,maxValue:5,value:p,format:function(e){return(0,r.toFixed)(e,2)},onDrag:function(e,t){return m((0,u.updateSettings)({lineHeight:t}))}})})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Flex,{mb:1,color:"label",align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:"Highlight words (comma separated):"}),(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:0,children:[(0,o.createComponentVNode)(2,a.ColorBox,{mr:1,color:f}),(0,o.createComponentVNode)(2,a.Input,{width:"5em",monospace:!0,placeholder:"#ffffff",value:f,onInput:function(e,t){return m((0,u.updateSettings)({highlightColor:t}))}})]})]}),(0,o.createComponentVNode)(2,a.TextArea,{height:"3em",value:h,onChange:function(e,t){return m((0,u.updateSettings)({highlightText:t}))}})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check",onClick:function(){return m((0,s.rebuildChat)())},children:"Apply now"}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,fontSize:"0.9em",ml:1,color:"label",children:"Can freeze the chat for a while."})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){return m((0,s.saveChatToDisk)())},children:"Save chat log"})]})};t.SettingsGeneral=p},680:function(e,t,n){"use strict";t.__esModule=!0,t.ChatPageSettings=void 0;var o=n(0),r=n(22),i=n(1),a=n(80),c=n(106),s=n(146);t.ChatPageSettings=function(e,t){var n=(0,r.useSelector)(t,s.selectCurrentChatPage),l=(0,r.useDispatch)(t);return(0,o.createComponentVNode)(2,i.Section,{fill:!0,children:[(0,o.createComponentVNode)(2,i.Flex,{mx:-.5,align:"center",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{mx:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Input,{fluid:!0,value:n.name,onChange:function(e,t){return l((0,a.updateChatPage)({pageId:n.id,name:t}))}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"red",onClick:function(){return l((0,a.removeChatPage)({pageId:n.id}))},children:"Remove"})})]}),(0,o.createComponentVNode)(2,i.Divider),(0,o.createComponentVNode)(2,i.Section,{title:"Messages to display",level:2,children:[c.MESSAGE_TYPES.filter((function(e){return!e.important&&!e.admin})).map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:n.acceptedTypes[e.type],onClick:function(){return l((0,a.toggleAcceptedType)({pageId:n.id,type:e.type}))},children:e.name},e.type)})),(0,o.createComponentVNode)(2,i.Collapsible,{mt:1,color:"transparent",title:"Admin stuff",children:c.MESSAGE_TYPES.filter((function(e){return!e.important&&e.admin})).map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:n.acceptedTypes[e.type],onClick:function(){return l((0,a.toggleAcceptedType)({pageId:n.id,type:e.type}))},children:e.name},e.type)}))})]})]})}},681:function(e,t,n){"use strict";t.__esModule=!0,t.ChatPanel=void 0;var o=n(0),r=n(6),i=n(1),a=n(216);var c=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).ref=(0,o.createRef)(),t.state={scrollTracking:!0},t.handleScrollTrackingChange=function(e){return t.setState({scrollTracking:e})},t}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentDidMount=function(){a.chatRenderer.mount(this.ref.current),a.chatRenderer.events.on("scrollTrackingChanged",this.handleScrollTrackingChange),this.componentDidUpdate()},s.componentWillUnmount=function(){a.chatRenderer.events.off("scrollTrackingChanged",this.handleScrollTrackingChange)},s.componentDidUpdate=function(e){requestAnimationFrame((function(){a.chatRenderer.ensureScrollTracking()})),(!e||(0,r.shallowDiffers)(this.props,e))&&a.chatRenderer.assignStyle({width:"100%","white-space":"pre-wrap","font-size":this.props.fontSize,"line-height":this.props.lineHeight})},s.render=function(){var e=this.state.scrollTracking;return(0,o.createFragment)([(0,o.createVNode)(1,"div","Chat",null,1,null,null,this.ref),!e&&(0,o.createComponentVNode)(2,i.Button,{className:"Chat__scrollButton",icon:"arrow-down",onClick:function(){return a.chatRenderer.scrollToBottom()},children:"Scroll to bottom"})],0)},c}(o.Component);t.ChatPanel=c},682:function(e,t,n){"use strict";t.__esModule=!0,t.linkifyNode=t.highlightNode=t.replaceInTextNode=void 0;var o=function(e,t){return function(n){for(var o,r,i=n.textContent,a=i.length,c=0,s=0;o=e.exec(i);){s+=1,r||(r=document.createDocumentFragment());var l=o[0],u=l.length,d=o.index;c0&&(0,o.createComponentVNode)(2,l,{value:e.unreadCount}),onClick:function(){return d((0,a.changeChatPage)({pageId:e.id}))},children:e.name},e.id)}))})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,children:(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"plus",onClick:function(){d((0,a.addChatPage)()),d((0,s.openChatSettings)())}})})]})}},684:function(e,t,n){"use strict";t.__esModule=!0,t.chatMiddleware=void 0;var o=n(79),r=n(65),i=n(104),a=n(80),c=n(106),s=n(105),l=n(216),u=n(146);n(29);function d(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}function g(e){return function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function a(e){d(i,o,r,a,c,"next",e)}function c(e){d(i,o,r,a,c,"throw",e)}a(undefined)}))}}var p=function(){var e=g(regeneratorRuntime.mark((function t(e){var n,r,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=(0,u.selectChat)(e.getState()),r=Math.max(0,l.chatRenderer.messages.length-c.MAX_PERSISTED_MESSAGES),i=l.chatRenderer.messages.slice(r).map((function(e){return(0,s.serializeMessage)(e)})),o.storage.set("chat-state",n),o.storage.set("chat-messages",i);case 5:case"end":return t.stop()}}),t)})));return function(t){return e.apply(this,arguments)}}(),h=function(){var e=g(regeneratorRuntime.mark((function t(e){var n,r,i,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Promise.all([o.storage.get("chat-state"),o.storage.get("chat-messages")]);case 2:if(n=t.sent,r=n[0],i=n[1],!(r&&r.version<=4)){t.next=8;break}return e.dispatch((0,a.loadChat)()),t.abrupt("return");case 8:i&&(c=[].concat(i,[(0,s.createMessage)({type:"internal/reconnected"})]),l.chatRenderer.processBatch(c,{prepend:!0})),e.dispatch((0,a.loadChat)(r));case 10:case"end":return t.stop()}}),t)})));return function(t){return e.apply(this,arguments)}}();t.chatMiddleware=function(e){var t=!1,n=!1;return l.chatRenderer.events.on("batchProcessed",(function(t){n&&e.dispatch((0,a.updateMessageCount)(t))})),l.chatRenderer.events.on("scrollTrackingChanged",(function(t){e.dispatch((0,a.changeScrollTracking)(t))})),setInterval((function(){return p(e)}),c.MESSAGE_SAVE_INTERVAL),function(o){return function(c){var s=c.type,d=c.payload;if(t||(t=!0,h(e)),"chat/message"!==s){if(s===a.loadChat.type){o(c);var g=(0,u.selectCurrentChatPage)(e.getState());return l.chatRenderer.changePage(g),l.chatRenderer.onStateLoaded(),void(n=!0)}if(s!==a.changeChatPage.type&&s!==a.addChatPage.type&&s!==a.removeChatPage.type&&s!==a.toggleAcceptedType.type){if(s===a.rebuildChat.type)return l.chatRenderer.rebuildChat(),o(c);if(s!==r.updateSettings.type&&s!==r.loadSettings.type){if("roundrestart"===s)return p(e),o(c);if(s!==a.saveChatToDisk.type)return o(c);l.chatRenderer.saveToDisk()}else{o(c);var f=(0,i.selectSettings)(e.getState());l.chatRenderer.setHighlight(f.highlightText,f.highlightColor)}}else{o(c);var m=(0,u.selectCurrentChatPage)(e.getState());l.chatRenderer.changePage(m)}}else{var v=Array.isArray(d)?d:[d];l.chatRenderer.processBatch(v)}}}}},685:function(e,t,n){"use strict";t.__esModule=!0,t.chatReducer=t.initialState=void 0;var o,r=n(80),i=n(105);function a(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 c(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 c(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 c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&(_[A.id]=Object.assign({},A,{unreadCount:A.unreadCount+M}))}return Object.assign({},e,{pageById:_})}if(o===r.addChatPage.type)return Object.assign({},e,{currentPageId:c.id,pages:[].concat(e.pages,[c.id]),pageById:Object.assign({},e.pageById,(n={},n[c.id]=c,n))});if(o===r.changeChatPage.type){var I,P=c.pageId,x=Object.assign({},e.pageById[P],{unreadCount:0});return Object.assign({},e,{currentPageId:P,pageById:Object.assign({},e.pageById,(I={},I[P]=x,I))})}if(o===r.updateChatPage.type){var k,R=c.pageId,O=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(c,["pageId"]),V=Object.assign({},e.pageById[R],O);return Object.assign({},e,{pageById:Object.assign({},e.pageById,(k={},k[R]=V,k))})}if(o===r.toggleAcceptedType.type){var G,B=c.pageId,L=c.type,D=Object.assign({},e.pageById[B]);return D.acceptedTypes=Object.assign({},D.acceptedTypes),D.acceptedTypes[L]=!D.acceptedTypes[L],Object.assign({},e,{pageById:Object.assign({},e.pageById,(G={},G[B]=D,G))})}if(o===r.removeChatPage.type){var F=c.pageId,j=Object.assign({},e,{pages:[].concat(e.pages),pageById:Object.assign({},e.pageById)});return delete j.pageById[F],j.pages=j.pages.filter((function(e){return e!==F})),0===j.pages.length&&(j.pages.push(s.id),j.pageById[s.id]=s,j.currentPageId=s.id),j.currentPageId&&j.currentPageId!==F||(j.currentPageId=j.pages[0]),j}return e}},686:function(e,t,n){"use strict";t.__esModule=!0,t.audioReducer=void 0;var o={visible:!1,playing:!1,track:null};t.audioReducer=function(e,t){void 0===e&&(e=o);var n=t.type,r=t.payload;return"audio/playing"===n?Object.assign({},e,{visible:!0,playing:!0}):"audio/stopped"===n?Object.assign({},e,{visible:!1,playing:!1}):"audio/playMusic"===n?Object.assign({},e,{meta:r}):"audio/stopMusic"===n?Object.assign({},e,{visible:!1,playing:!1,meta:null}):"audio/toggle"===n?Object.assign({},e,{visible:!e.visible}):e}},687:function(e,t,n){"use strict";t.__esModule=!0,t.useGame=void 0;var o=n(22),r=n(218);t.useGame=function(e){return(0,o.useSelector)(e,r.selectGame)}},688:function(e,t,n){"use strict";t.__esModule=!0,t.gameMiddleware=void 0;var o=n(147),r=n(219),i=n(218),a=n(689),c=function(e){return Object.assign({},e,{meta:Object.assign({},e.meta,{now:Date.now()})})};t.gameMiddleware=function(e){var t;return setInterval((function(){var n=e.getState();if(n){var o=(0,i.selectGame)(n),s=t&&Date.now()>=t+a.CONNECTION_LOST_AFTER;!o.connectionLostAt&&s&&e.dispatch(c((0,r.connectionLost)())),o.connectionLostAt&&!s&&e.dispatch(c((0,r.connectionRestored)()))}}),1e3),function(e){return function(n){var i=n.type,a=(n.payload,n.meta);return i===o.pingSuccess.type?(t=a.now,e(n)):i===r.roundRestarted.type?e(c(n)):e(n)}}}},689:function(e,t,n){"use strict";t.__esModule=!0,t.CONNECTION_LOST_AFTER=void 0;t.CONNECTION_LOST_AFTER=15e3},690:function(e,t,n){"use strict";t.__esModule=!0,t.gameReducer=void 0;var o=n(219),r={roundId:null,roundTime:null,roundRestartedAt:null,connectionLostAt:null};t.gameReducer=function(e,t){void 0===e&&(e=r);var n=t.type,i=(t.payload,t.meta);return"roundrestart"===n?Object.assign({},e,{roundRestartedAt:i.now}):n===o.connectionLost.type?Object.assign({},e,{connectionLostAt:i.now}):n===o.connectionRestored.type?Object.assign({},e,{connectionLostAt:null}):e}},691:function(e,t,n){"use strict";(function(e){t.__esModule=!0,t.setupPanelFocusHacks=void 0;var o=n(102),r=n(57),i=n(189),a=function(){return e((function(){return(0,i.focusMap)()}))};t.setupPanelFocusHacks=function(){var e=!1,t=null;window.addEventListener("focusin",(function(t){e=(0,r.canStealFocus)(t.target)})),window.addEventListener("mousedown",(function(e){t=[e.screenX,e.screenY]})),window.addEventListener("mouseup",(function(n){if(t){var r=[n.screenX,n.screenY];(0,o.vecLength)((0,o.vecSubtract)(r,t))>=10&&(e=!0)}e||a()})),r.globalEvents.on("keydown",(function(e){e.isModifierKey()||a()}))}}).call(this,n(101).setImmediate)},692:function(e,t,n){"use strict";t.__esModule=!0,t.pingMiddleware=void 0;var o=n(2),r=n(147),i=n(221);t.pingMiddleware=function(e){var t=!1,n=0,a=[],c=function(){for(var t=0;ti.PING_TIMEOUT&&(a[t]=null,e.dispatch((0,r.pingFail)()))}var s={index:n,sentAt:Date.now()};a[n]=s,(0,o.sendMessage)({type:"ping",payload:{index:n}}),n=(n+1)%i.PING_QUEUE_SIZE};return function(e){return function(n){var o=n.type,s=n.payload;if(t||(t=!0,setInterval(c,i.PING_INTERVAL),c()),"pingReply"===o){var l=s.index,u=a[l];if(!u)return;return a[l]=null,e((0,r.pingSuccess)(u))}return e(n)}}}},693:function(e,t,n){"use strict";t.__esModule=!0,t.PingIndicator=void 0;var o=n(0),r=n(694),i=n(9),a=n(22),c=n(1),s=n(695);t.PingIndicator=function(e,t){var n=(0,a.useSelector)(t,s.selectPing),l=r.Color.lookup(n.networkQuality,[new r.Color(220,40,40),new r.Color(220,200,40),new r.Color(60,220,40)]),u=n.roundtrip?(0,i.toFixed)(n.roundtrip):"--";return(0,o.createVNode)(1,"div","Ping",[(0,o.createComponentVNode)(2,c.Box,{className:"Ping__indicator",backgroundColor:l}),u],0)}},694:function(e,t,n){"use strict";t.__esModule=!0,t.Color=void 0;var o=function(){function e(e,t,n,o){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),void 0===o&&(o=1),this.r=e,this.g=t,this.b=n,this.a=o}return e.prototype.toString=function(){return"rgba("+(0|this.r)+", "+(0|this.g)+", "+(0|this.b)+", "+(0|this.a)+")"},e}();t.Color=o,o.fromHex=function(e){return new o(parseInt(e.substr(1,2),16),parseInt(e.substr(3,2),16),parseInt(e.substr(5,2),16))},o.lerp=function(e,t,n){return new o((t.r-e.r)*n+e.r,(t.g-e.g)*n+e.g,(t.b-e.b)*n+e.b,(t.a-e.a)*n+e.a)},o.lookup=function(e,t){void 0===t&&(t=[]);var n=t.length;if(n<2)throw new Error("Needs at least two colors!");var r=e*(n-1);if(e<1e-4)return t[0];if(e>=.9999)return t[n-1];var i=r%1,a=0|r;return o.lerp(t[a],t[a+1],i)}},695:function(e,t,n){"use strict";t.__esModule=!0,t.selectPing=void 0;t.selectPing=function(e){return e.ping}},696:function(e,t,n){"use strict";t.__esModule=!0,t.pingReducer=void 0;var o=n(9),r=n(147),i=n(221);t.pingReducer=function(e,t){void 0===e&&(e={});var n=t.type,a=t.payload;if(n===r.pingSuccess.type){var c=a.roundtrip,s=e.roundtripAvg||c,l=Math.round(.4*s+.6*c);return{roundtrip:c,roundtripAvg:l,failCount:0,networkQuality:1-(0,o.scale)(l,i.PING_ROUNDTRIP_BEST,i.PING_ROUNDTRIP_WORST)}}if(n===r.pingFail.type){var u=e.failCount,d=void 0===u?0:u,g=(0,o.clamp01)(e.networkQuality-d/i.PING_MAX_FAILS),p=Object.assign({},e,{failCount:d+1,networkQuality:g});return d>i.PING_MAX_FAILS&&(p.roundtrip=undefined,p.roundtripAvg=undefined),p}return e}},697:function(e,t,n){"use strict";t.__esModule=!0,t.telemetryMiddleware=void 0;var o=n(2),r=n(79);function i(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}var a=(0,n(29).createLogger)("telemetry");t.telemetryMiddleware=function(e){var t,n;return function(c){return function(s){var l,u=s.type,d=s.payload;if("telemetry/request"!==u)return"backend/update"===u?(c(s),void(l=regeneratorRuntime.mark((function h(){var o,i,c,s;return regeneratorRuntime.wrap((function(l){for(;;)switch(l.prev=l.next){case 0:if(i=null==d||null==(o=d.config)?void 0:o.client){l.next=4;break}return a.error("backend/update payload is missing client data!"),l.abrupt("return");case 4:if(t){l.next=13;break}return l.next=7,r.storage.get("telemetry");case 7:if(l.t0=l.sent,l.t0){l.next=10;break}l.t0={};case 10:(t=l.t0).connections||(t.connections=[]),a.debug("retrieved telemetry from storage",t);case 13:c=!1,t.connections.find((function(e){return n=i,(t=e).ckey===n.ckey&&t.address===n.address&&t.computer_id===n.computer_id;var t,n}))||(c=!0,t.connections.unshift(i),t.connections.length>10&&t.connections.pop()),c&&(a.debug("saving telemetry to storage",t),r.storage.set("telemetry",t)),n&&(s=n,n=null,e.dispatch({type:"telemetry/request",payload:s}));case 18:case"end":return l.stop()}}),h)})),function(){var e=this,t=arguments;return new Promise((function(n,o){var r=l.apply(e,t);function a(e){i(r,n,o,a,c,"next",e)}function c(e){i(r,n,o,a,c,"throw",e)}a(undefined)}))})()):c(s);if(!t)return a.debug("deferred"),void(n=d);a.debug("sending");var g=(null==d?void 0:d.limits)||{},p=t.connections.slice(0,g.connections);(0,o.sendMessage)({type:"telemetry",payload:{connections:p}})}}}},698:function(e,t,n){"use strict";t.__esModule=!0,t.Panel=void 0;var o=n(0),r=n(1),i=n(3),a=n(212),c=n(145),s=n(217),l=n(699),u=n(220),d=n(144);t.Panel=function(e,t){if(Byond.IS_LTE_IE10)return(0,o.createComponentVNode)(2,g);var n=(0,a.useAudio)(t),p=(0,d.useSettings)(t),h=(0,s.useGame)(t);return(0,o.createComponentVNode)(2,i.Pane,{theme:"default"===p.theme?"light":p.theme,children:(0,o.createComponentVNode)(2,r.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Section,{fitted:!0,children:(0,o.createComponentVNode)(2,r.Flex,{mx:.5,align:"center",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,grow:1,overflowX:"auto",children:(0,o.createComponentVNode)(2,c.ChatTabs)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,u.PingIndicator)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,r.Button,{color:"grey",selected:n.visible,icon:"music",tooltip:"Music player",tooltipPosition:"bottom-left",onClick:function(){return n.toggle()}})}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,r.Button,{icon:p.visible?"times":"cog",selected:p.visible,tooltip:p.visible?"Close settings":"Open settings",tooltipPosition:"bottom-left",onClick:function(){return p.toggle()}})})]})})}),n.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,r.Section,{children:(0,o.createComponentVNode)(2,a.NowPlayingWidget)})}),p.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,d.SettingsPanel)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,grow:1,children:(0,o.createComponentVNode)(2,r.Section,{fill:!0,fitted:!0,position:"relative",children:[(0,o.createComponentVNode)(2,i.Pane.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.ChatPanel,{lineHeight:p.lineHeight})}),(0,o.createComponentVNode)(2,l.Notifications,{children:[h.connectionLostAt&&(0,o.createComponentVNode)(2,l.Notifications.Item,{rightSlot:(0,o.createComponentVNode)(2,r.Button,{color:"white",onClick:function(){return Byond.command(".reconnect")},children:"Reconnect"}),children:"You are either AFK, experiencing lag or the connection has closed."}),h.roundRestartedAt&&(0,o.createComponentVNode)(2,l.Notifications.Item,{children:"The connection has been closed because the server is restarting. Please wait while you automatically reconnect."})]})]})})]})})};var g=function(e,t){var n=(0,d.useSettings)(t);return(0,o.createComponentVNode)(2,i.Pane,{theme:"default"===n.theme?"light":n.theme,children:(0,o.createComponentVNode)(2,i.Pane.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,r.Button,{style:{position:"fixed",top:"1em",right:"2em","z-index":1e3},selected:n.visible,onClick:function(){return n.toggle()},children:"Settings"}),n.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,d.SettingsPanel)})||(0,o.createComponentVNode)(2,c.ChatPanel,{lineHeight:n.lineHeight})]})})}},699:function(e,t,n){"use strict";t.__esModule=!0,t.Notifications=void 0;var o=n(0),r=n(1),i=function(e){var t=e.children;return(0,o.createVNode)(1,"div","Notifications",t,0)};t.Notifications=i;i.Item=function(e){var t=e.rightSlot,n=e.children;return(0,o.createComponentVNode)(2,r.Flex,{align:"center",className:"Notification",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{className:"Notification__content",grow:1,children:n}),t&&(0,o.createComponentVNode)(2,r.Flex.Item,{className:"Notification__rightSlot",children:t})]})}},80:function(e,t,n){"use strict";t.__esModule=!0,t.saveChatToDisk=t.changeScrollTracking=t.removeChatPage=t.toggleAcceptedType=t.updateChatPage=t.changeChatPage=t.addChatPage=t.updateMessageCount=t.rebuildChat=t.loadChat=void 0;var o=n(22),r=n(105),i=(0,o.createAction)("chat/load");t.loadChat=i;var a=(0,o.createAction)("chat/rebuild");t.rebuildChat=a;var c=(0,o.createAction)("chat/updateMessageCount");t.updateMessageCount=c;var s=(0,o.createAction)("chat/addPage",(function(){return{payload:(0,r.createPage)()}}));t.addChatPage=s;var l=(0,o.createAction)("chat/changePage");t.changeChatPage=l;var u=(0,o.createAction)("chat/updatePage");t.updateChatPage=u;var d=(0,o.createAction)("chat/toggleAcceptedType");t.toggleAcceptedType=d;var g=(0,o.createAction)("chat/removePage");t.removeChatPage=g;var p=(0,o.createAction)("chat/changeScrollTracking");t.changeScrollTracking=p;var h=(0,o.createAction)("chat/saveToDisk");t.saveChatToDisk=h}});
\ No newline at end of file
From 4525b1b64ff9e8e30f5aae5cfa24addf49e30bc4 Mon Sep 17 00:00:00 2001
From: Hatterhat
Date: Fri, 29 Jan 2021 20:19:58 -0600
Subject: [PATCH 04/47] ooOOooOO today i wont test my code again
---
code/game/objects/items/handcuffs.dm | 21 ++++++++++++++++++++-
code/modules/mob/living/carbon/carbon.dm | 3 +++
icons/obj/items_and_weapons.dmi | Bin 127783 -> 127851 bytes
3 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm
index 296b46bf85..f54e03e265 100644
--- a/code/game/objects/items/handcuffs.dm
+++ b/code/game/objects/items/handcuffs.dm
@@ -245,6 +245,9 @@
slowdown = 7
breakouttime = 300 //Deciseconds = 30s = 0.5 minute
+/obj/item/restraints/legcuffs/proc/on_removed()
+ return
+
/obj/item/restraints/legcuffs/beartrap
name = "bear trap"
throw_speed = 1
@@ -376,4 +379,20 @@
icon_state = "ebola"
hitsound = 'sound/weapons/taserhit.ogg'
w_class = WEIGHT_CLASS_SMALL
- breakouttime = 60
+ breakouttime = 20
+
+/obj/item/restraints/legcuffs/bola/energy/on_removed()
+ new /obj/item/restraints/legcuffs/bola/energy/used(src)
+ qdel(src)
+
+/obj/item/restraints/legcuffs/bola/energy/used
+ name = "energy bola fragments"
+ icon_state = "ebola_used"
+ desc = "The shattered fragments of a specialized hard-light bola. Probably won't ensnare fleeing criminals, nor will it aid in arrests - or exist, actually."
+
+/obj/item/restraints/legcuffs/bola/energy/used/Initialize()
+ . = ..()
+ QDEL_IN(src, 10)
+
+/obj/item/restraints/legcuffs/bola/energy/used/ensnare(mob/living/carbon/C)
+ return
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 979baeb065..f143f6302d 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -434,6 +434,9 @@
legcuffed.forceMove(drop_location())
legcuffed = null
I.dropped(src)
+ if(istype(I, /obj/item/restraints/legcuffs))
+ var/obj/item/restraints/legcuffs/lgcf = I
+ lgcf.on_removed()
update_inv_legcuffed()
return
else
diff --git a/icons/obj/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi
index e832bf64d3e0b4535ed677b2d9de06a07c1fbc6a..978ffbda27638d76e18b408e65458e3672b74db2 100644
GIT binary patch
delta 61943
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