Merge branch 'master' into slime-puddle
This commit is contained in:
+31
-60
@@ -50,6 +50,37 @@
|
||||
-->
|
||||
<div class="commit sansserif">
|
||||
|
||||
<h2 class="date">04 October 2020</h2>
|
||||
<h3 class="author">DeltaFire15 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Synths / IPCs are no longer wound immune.</li>
|
||||
<li class="bugfix">Husked IPCs / Synths should now be rendered correctly.</li>
|
||||
<li class="bugfix">Falling vendors now squish synths / IPCs' limbs again.</li>
|
||||
<li class="bugfix">Synths and IPCs now do not have some fun roundstart oversights anymore.</li>
|
||||
<li class="bugfix">Regenerate_limbs now works for carbons with the ROBOTIC_LIMBS trait.</li>
|
||||
<li class="bugfix">Pacifists no longer counterattack on parries if that attack would be harmful.</li>
|
||||
<li class="tweak">Heretic sacrifices now husk with the reason of burn, and deal some additional damage.</li>
|
||||
<li class="bugfix">Neovgre can no longer become invincible on clock tiles.</li>
|
||||
<li class="bugfix">Plushlings no longer break when absorbing snowflake plushies.</li>
|
||||
</ul>
|
||||
<h3 class="author">Detective-Google updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">the snow cabin doors actually bolt now</li>
|
||||
</ul>
|
||||
<h3 class="author">Putnam3145 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Ghosts are no longer incapable of going away.</li>
|
||||
</ul>
|
||||
<h3 class="author">monster860 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">The slimeperson swap-body UI stays open when you switch bodies</li>
|
||||
</ul>
|
||||
<h3 class="author">timothyteakettle updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">limb id entry in mutant bodyparts now supports switching to/from species with gendered body parts</li>
|
||||
<li class="tweak">the minimum brightness of mutant parts is now a define</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">02 October 2020</h2>
|
||||
<h3 class="author">ArcaneMusic, with minor tweaks by TheObserver-sys updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
@@ -910,66 +941,6 @@
|
||||
<li class="balance">explosive stand bombs can now be examined from any distance</li>
|
||||
<li class="code_imp">explosive stand bombs are now a component.</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">02 August 2020</h2>
|
||||
<h3 class="author">Auris456852 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Added B.O.O.P. Remote Control cartridges to the PTech.</li>
|
||||
</ul>
|
||||
<h3 class="author">Hatterhat updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Durathread reinforcement kits! Sprites by Toriate, sets jumpsuit armor to durathread levels, craft in the crafting menu.</li>
|
||||
</ul>
|
||||
<h3 class="author">KeRSedChaplain updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">The belligerent scripture and a brass multitool, and a new marauder variant which act similar to holoparasites/guardian spirits.</li>
|
||||
<li class="rscdel">Removed the abductor teleport consoles they get, removes abscond for the time being as I've not seen much use for it other than just spamming it and hoping you end up in the armory.</li>
|
||||
<li class="tweak">moved around scriptures to make the cult work better as being based around the station, makes the Ark scream more often and work as a summonable object, clockwork armor now has a flat 0 defense up to 10 instead of negatives against laser damage. Makes the Ark work better in a station based setting, as well as the Heralds beacon in case It works for the mode.</li>
|
||||
<li class="soundadd">added powerloaderstep.ogg for Neovgre</li>
|
||||
<li class="tweak">changes 'Dread_Ipad.dmi' to 'clockwork_slab.dmi'</li>
|
||||
</ul>
|
||||
<h3 class="author">MrJWhit updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">Adjusts abductor spawntext</li>
|
||||
</ul>
|
||||
<h3 class="author">Seris02 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">fixed replica pods</li>
|
||||
</ul>
|
||||
<h3 class="author">dapnee updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">fixed active turfs on wizard ruin and space hermit, fixed missing APC's and added a light on Delta</li>
|
||||
</ul>
|
||||
<h3 class="author">ike709 and bobbahbrown updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Admins can now see your bans on (some) other servers.</li>
|
||||
</ul>
|
||||
<h3 class="author">kappa-sama updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">chaplain cultists being able to convert people to full clockwork cult status</li>
|
||||
</ul>
|
||||
<h3 class="author">timothyteakettle updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">combat mode now has weaker buffs in terms of damage dealt and took for being or not being in the mode</li>
|
||||
<li class="tweak">damage debuff for laying down has been decreased from 0.5x to 0.7x</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">01 August 2020</h2>
|
||||
<h3 class="author">dapnee updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">added cake hat to bar, adds another atmostech spawn</li>
|
||||
<li class="bugfix">sinks point in the right direction, APC won't spawn off the wall in circuits</li>
|
||||
<li class="bugfix">changes commissary APC so it actually powers the room, adds a missing AIR alarm, arrivals no longer has active atmos tiles.</li>
|
||||
</ul>
|
||||
<h3 class="author">silicons updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">toy shotguns no longer need 2 hands to fire</li>
|
||||
<li class="bugfix">being on fire works again.</li>
|
||||
</ul>
|
||||
<h3 class="author">timothyteakettle updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">monkeys no longer continuously bleed everywhere</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<b>GoonStation 13 Development Team</b>
|
||||
|
||||
@@ -27502,3 +27502,25 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
|
||||
as you move from the epicentre
|
||||
zeroisthebiggay:
|
||||
- rscadd: ratvar gf is complete
|
||||
2020-10-04:
|
||||
DeltaFire15:
|
||||
- bugfix: Synths / IPCs are no longer wound immune.
|
||||
- bugfix: Husked IPCs / Synths should now be rendered correctly.
|
||||
- bugfix: Falling vendors now squish synths / IPCs' limbs again.
|
||||
- bugfix: Synths and IPCs now do not have some fun roundstart oversights anymore.
|
||||
- bugfix: Regenerate_limbs now works for carbons with the ROBOTIC_LIMBS trait.
|
||||
- bugfix: Pacifists no longer counterattack on parries if that attack would be harmful.
|
||||
- tweak: Heretic sacrifices now husk with the reason of burn, and deal some additional
|
||||
damage.
|
||||
- bugfix: Neovgre can no longer become invincible on clock tiles.
|
||||
- bugfix: Plushlings no longer break when absorbing snowflake plushies.
|
||||
Detective-Google:
|
||||
- bugfix: the snow cabin doors actually bolt now
|
||||
Putnam3145:
|
||||
- bugfix: Ghosts are no longer incapable of going away.
|
||||
monster860:
|
||||
- tweak: The slimeperson swap-body UI stays open when you switch bodies
|
||||
timothyteakettle:
|
||||
- bugfix: limb id entry in mutant bodyparts now supports switching to/from species
|
||||
with gendered body parts
|
||||
- tweak: the minimum brightness of mutant parts is now a define
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "timothyteakettle"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "looking at loadout equips loadout items on your preview image instead of job items"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Detective-Google"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "arcade carpet"
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "LetterN"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "minimap text"
|
||||
- code_imp: "ports cinematic upgrades"
|
||||
@@ -0,0 +1,6 @@
|
||||
author: "DeltaFire15"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "the blacksmithing skill now works properly"
|
||||
- tweak: "Anvils cannot be interacted with with hammers whilst they are already being used"
|
||||
- tweak: "If someone has no gloves when interacting with heated ingots, they no longer ignore their effects."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "DeltaFire15"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "The Revenant self-revive ability is no longer broken."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "DeltaFire15"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "People installing KA modkits in miner borgs is no longer broken."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Detective-Google"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "explosions now get broadcasted to deadchat."
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "Bhijn"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "Changeling loudness is now determined as an average of all their abilities, rather than the sum"
|
||||
- tweak: "To compensate for this, blood tests now require a loudness value of 1 or higher to detect ling blood. Additionally, blood test explosions are now triggered only when the loudness value is higher than 2."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Toilet loot spawners don't lag the server on server start with forced hard dels."
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "LetterN"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "2 more ways to get up from z1"
|
||||
- tweak: "tweaked the z2 garden to be less blank"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Holofirelocks work now."
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "Hatterhat"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Survival daggers! A slightly more expensive survival knife that comes with a brighter flashlight. On the blade."
|
||||
- tweak: "Luxury pod capsules look different from normal capsules."
|
||||
@@ -0,0 +1,6 @@
|
||||
author: "zeroisthebiggay"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "gravitokinetic stands from tg"
|
||||
- balance: "buffs stands overall"
|
||||
- bugfix: "protector stands no longer become tposing invisible apes sometimes"
|
||||
@@ -0,0 +1,6 @@
|
||||
author: "EmeraldSundisk"
|
||||
delete-after: True
|
||||
changes:
|
||||
- balance: "The \"Skelter ruin\" now has stechkins as opposed to M1911s"
|
||||
- tweak: "Skelter's decorative bullet casings replaced to factor in the change in caliber"
|
||||
- rscadd: "Skelter now has a combat knife and fluff note"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Hatterhat"
|
||||
delete-after: True
|
||||
changes:
|
||||
- imageadd: "The Syndicate appear to be issuing new revolver variants."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Hatterhat"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Cryogenics now screams on common again when your fuckbuddy heads out."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "timothyteakettle"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "you can now pick your eye sprites from customization"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Thalpy"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "fixes some bugs in jacqs code from edits to the codebase"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "yorii"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "fixed botany rounding error that caused grass and other plants to misbehave"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "silicons"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "simple mobs are now immune to radioactive contamination"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "TheObserver-sys"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Drake? Where's the dead fairygrass sprite?"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Detective-Google"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Lick radial"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Detective-Google"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "arcade carpets now actually work"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "vore prefs save now"
|
||||
+265
-177
@@ -7,149 +7,172 @@
|
||||
<meta http-equiv="Cache-Control" content="max-age=15; must-revalidate" />
|
||||
<link id="goonStyle" rel="stylesheet" type="text/css" href="browserOutput_white.css" media="all" />
|
||||
<style>
|
||||
body {
|
||||
font-family: Verdana, Geneva, Tahoma, sans-serif;
|
||||
font-size: 12px !important;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
body.dark {
|
||||
background-color: #131313;
|
||||
color: #abc6ec;
|
||||
}
|
||||
body {
|
||||
font-family: Verdana, Geneva, Tahoma, sans-serif;
|
||||
font-size: 12px !important;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
body.dark {
|
||||
background-color: #131313;
|
||||
color: #abc6ec;
|
||||
}
|
||||
|
||||
#menu {
|
||||
background-color: white;
|
||||
position: fixed;
|
||||
padding: 7px;
|
||||
width: 100%;
|
||||
}
|
||||
.dark #menu {
|
||||
background-color: #131313;
|
||||
}
|
||||
#menu {
|
||||
background-color: #F0F0F0;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#statcontent {
|
||||
padding: 0 7px 7px 7px;
|
||||
}
|
||||
.dark #menu {
|
||||
background-color: #202020;
|
||||
}
|
||||
|
||||
a {
|
||||
color: black;
|
||||
text-decoration: none
|
||||
}
|
||||
.dark a {
|
||||
color: #abc6ec;
|
||||
}
|
||||
a:hover, .dark a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
#statcontent {
|
||||
padding: 7px 7px 7px 7px;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: #333;
|
||||
}
|
||||
a {
|
||||
color: black;
|
||||
text-decoration: none
|
||||
}
|
||||
|
||||
li {
|
||||
float: left;
|
||||
}
|
||||
.dark a {
|
||||
color: #abc6ec;
|
||||
}
|
||||
|
||||
li a {
|
||||
display: block;
|
||||
color: white;
|
||||
text-align: center;
|
||||
padding: 14px 16px;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover, .dark a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
li a:hover:not(.active) {
|
||||
background-color: #111;
|
||||
}
|
||||
ul {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: #333;
|
||||
}
|
||||
|
||||
.button-container {
|
||||
display: inline-flex;
|
||||
flex-wrap: wrap;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
.button {
|
||||
background-color: #FFFFFE;
|
||||
border-color: rgba(255, 255, 254, 0.5);
|
||||
border-width: 1px;
|
||||
color: black;
|
||||
padding: 7px 14px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
font-size: 12px;
|
||||
margin: 2px 2px;
|
||||
cursor: pointer;
|
||||
border-radius: 10%;
|
||||
transition-duration: 0.25s;
|
||||
order: 3;
|
||||
}
|
||||
.dark button {
|
||||
background-color: #252525;
|
||||
border-color: rgba(37, 37, 36, 0.5);
|
||||
color: white;
|
||||
}
|
||||
.button:hover {
|
||||
border-color: rgba(255, 255, 254, 0.5);
|
||||
background-color: #252525;
|
||||
color: white;
|
||||
}
|
||||
.dark button:hover {
|
||||
border-color: rgba(37, 37, 36, 0.5);
|
||||
background-color: #FFFFFE;
|
||||
color: #252525;
|
||||
}
|
||||
.button:active, .button.active {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.grid-container {
|
||||
display: inline-flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
.grid-item {
|
||||
color: black;
|
||||
width: 150px;
|
||||
font-size: 11px;
|
||||
line-height: 24px;
|
||||
text-align: left;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
white-space: pre-wrap;
|
||||
padding-right: 12px; /* A little more than two spaces, to look good in IE8 where flex-justify does nothing */
|
||||
}
|
||||
.link {
|
||||
display: inline;
|
||||
background: none;
|
||||
border: none;
|
||||
padding: 7px 14px;
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
font-size: 13px;
|
||||
margin: 2px 2px;
|
||||
}
|
||||
.dark .link {
|
||||
color: #abc6ec;
|
||||
}
|
||||
.link:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
img {
|
||||
-ms-interpolation-mode: nearest-neighbor;
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
li {
|
||||
float: left;
|
||||
}
|
||||
|
||||
li a {
|
||||
display: block;
|
||||
color: white;
|
||||
text-align: center;
|
||||
padding: 14px 16px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
li a:hover:not(.active) {
|
||||
background-color: #111;
|
||||
}
|
||||
|
||||
.button-container {
|
||||
display: inline-flex;
|
||||
flex-wrap: wrap-reverse;
|
||||
flex-direction: row;
|
||||
align-items: flex-start;
|
||||
overflow-x: hidden;
|
||||
white-space: pre-wrap;
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
.button {
|
||||
background-color: #dfdfdf;
|
||||
border-color: #cecece;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
color: rgba(0, 0, 0, 0.7);
|
||||
padding: 6px 4px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
font-size: 12px;
|
||||
margin: 0;
|
||||
cursor: pointer;
|
||||
transition-duration: 0.25s;
|
||||
order: 3;
|
||||
min-width: 40px;
|
||||
}
|
||||
|
||||
.dark button {
|
||||
background-color: #444444;
|
||||
border-color: #343434;
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
background-color: #ececec;
|
||||
}
|
||||
|
||||
.dark button:hover {
|
||||
background-color: #4d4d4d;
|
||||
}
|
||||
|
||||
.button:active, .button.active {
|
||||
background-color: #ffffff;
|
||||
color: black;
|
||||
border-top: 1px solid #cecece;
|
||||
border-left: 1px solid #cecece;
|
||||
border-right: 1px solid #cecece;
|
||||
border-bottom: 1px solid #ffffff;
|
||||
}
|
||||
|
||||
.dark .button:active, .dark .button.active {
|
||||
background-color: #131313;
|
||||
color: white;
|
||||
border-top: 1px solid #343434;
|
||||
border-left: 1px solid #343434;
|
||||
border-right: 1px solid #343434;
|
||||
border-bottom: 1px solid #131313;
|
||||
}
|
||||
|
||||
.grid-container {
|
||||
display: inline-flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.grid-item {
|
||||
color: black;
|
||||
width: 150px;
|
||||
font-size: 11px;
|
||||
line-height: 24px;
|
||||
text-align: left;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
white-space: pre-wrap;
|
||||
padding-right: 12px; /* A little more than two spaces, to look good in IE8 where flex-justify does nothing */
|
||||
}
|
||||
|
||||
.link {
|
||||
display: inline;
|
||||
background: none;
|
||||
border: none;
|
||||
padding: 7px 14px;
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
font-size: 13px;
|
||||
margin: 2px 2px;
|
||||
}
|
||||
|
||||
.dark .link {
|
||||
color: #abc6ec;
|
||||
}
|
||||
|
||||
.link:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
img {
|
||||
-ms-interpolation-mode: nearest-neighbor;
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@@ -267,9 +290,10 @@ if (window.location) {
|
||||
}); */
|
||||
|
||||
// Status panel implementation ------------------------------------------------
|
||||
var status_tab_parts = ["loading..."];
|
||||
var status_tab_parts = ["Loading..."];
|
||||
var current_tab = null;
|
||||
var mc_tab_parts = [["loading...", ""]];
|
||||
var mc_tab_parts = [["Loading...", ""]];
|
||||
var vote_parts = [[null]];
|
||||
var href_token = null;
|
||||
var spells = [];
|
||||
var spell_tabs = [];
|
||||
@@ -288,6 +312,8 @@ var statcontentdiv = document.querySelector('#statcontent');
|
||||
var storedimages = [];
|
||||
|
||||
function createStatusTab(name) {
|
||||
if (name.indexOf(".") != -1)
|
||||
name = name.split(".")[0];
|
||||
if(document.getElementById(name) || name.trim() == "")
|
||||
return;
|
||||
if(!verb_tabs.includes(name) && !permanent_tabs.includes(name))
|
||||
@@ -302,12 +328,8 @@ function createStatusTab(name) {
|
||||
B.className = "button";
|
||||
//ORDERING ALPHABETICALLY
|
||||
B.style.order = name.charCodeAt(0);
|
||||
if(name == "Status" || name == "MC") {
|
||||
if(name == "Status")
|
||||
B.style.order = 1;
|
||||
else
|
||||
B.style.order = 2;
|
||||
}
|
||||
if(name == "Status" || name == "MC")
|
||||
B.style.order = name == "Status" ? 1 : 2;
|
||||
//END ORDERING
|
||||
menu.appendChild(B);
|
||||
SendTabToByond(name);
|
||||
@@ -327,6 +349,19 @@ function removeStatusTab(name) {
|
||||
under_menu.style.height = menu.clientHeight + 'px';
|
||||
}
|
||||
|
||||
function sortVerbs() {
|
||||
verbs.sort(function (a, b) {
|
||||
var selector = a[0] == b[0] ? 1 : 0;
|
||||
if (a[selector].toUpperCase() < b[selector].toUpperCase()) {
|
||||
return 1;
|
||||
}
|
||||
else if (a[selector].toUpperCase() > b[selector].toUpperCase()) {
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
})
|
||||
}
|
||||
|
||||
window.onresize = function () {
|
||||
under_menu.style.height = menu.clientHeight + 'px';
|
||||
}
|
||||
@@ -365,19 +400,19 @@ function check_verbs() {
|
||||
for(var v = verb_tabs.length - 1; v >= 0; v--){
|
||||
verbs_cat_check(verb_tabs[v]);
|
||||
}
|
||||
//checkStatusTab(); // removes any empty status tabs
|
||||
}
|
||||
|
||||
function verbs_cat_check(cat) {
|
||||
var tabCat = cat.indexOf(".") != -1 ? cat.split(".")[0] : cat;
|
||||
var verbs_in_cat = 0;
|
||||
var verbcat = "";
|
||||
if(!verb_tabs.includes(cat)){
|
||||
removeStatusTab(cat);
|
||||
if(!verb_tabs.includes(tabCat)){
|
||||
removeStatusTab(tabCat);
|
||||
return;
|
||||
}
|
||||
for(var v = 0; v < verbs.length; v++){
|
||||
var part = verbs[v];
|
||||
verbcat = part[0];
|
||||
verbcat = part[0].indexOf(".") != -1 ? part[0].split(".") : part[0];
|
||||
if(verbcat != cat || verbcat.trim() == ""){
|
||||
continue;
|
||||
}
|
||||
@@ -387,8 +422,8 @@ function verbs_cat_check(cat) {
|
||||
}
|
||||
}
|
||||
if(verbs_in_cat != 1) {
|
||||
removeStatusTab(cat);
|
||||
if(current_tab == cat)
|
||||
removeStatusTab(tabCat);
|
||||
if(current_tab == tabCat)
|
||||
tab_change("Status");
|
||||
}
|
||||
}
|
||||
@@ -411,17 +446,20 @@ function add_verb_list(v) {
|
||||
to_add.sort(); // sort what we're adding
|
||||
for(var i = 0; i < to_add.length; i++) {
|
||||
var part = to_add[i];
|
||||
if (!part[0])
|
||||
continue;
|
||||
var category = part[0].indexOf(".") == -1 ? part[0] : part[0].split(".")[0]
|
||||
if(findVerbindex(part[1], verbs))
|
||||
continue;
|
||||
if(verb_tabs.includes(part[0])){
|
||||
if(verb_tabs.includes(category)){
|
||||
verbs.push(part);
|
||||
if(current_tab == part[0]) {
|
||||
draw_verbs(part[0]); // redraw if we added a verb to the tab we're currently in
|
||||
if(current_tab == category) {
|
||||
draw_verbs(category); // redraw if we added a verb to the tab we're currently in
|
||||
}
|
||||
} else if(part[0]) {
|
||||
verb_tabs.push(part[0]);
|
||||
} else if(category) {
|
||||
verb_tabs.push(category);
|
||||
verbs.push(part);
|
||||
createStatusTab(part[0]);
|
||||
createStatusTab(category);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -432,7 +470,7 @@ function remove_verb_list(v) {
|
||||
remove_verb(to_remove[i]);
|
||||
}
|
||||
check_verbs();
|
||||
verbs.sort();
|
||||
sortVerbs();
|
||||
if(verb_tabs.includes(current_tab))
|
||||
draw_verbs(current_tab);
|
||||
}
|
||||
@@ -455,7 +493,7 @@ function init_verbs(c, v) {
|
||||
}
|
||||
if(v) {
|
||||
add_verb_list(v);
|
||||
verbs.sort(); // sort them
|
||||
sortVerbs(); // sort them
|
||||
if(do_update) {
|
||||
draw_verbs(current_tab);
|
||||
}
|
||||
@@ -491,6 +529,12 @@ function update(global_data, ping_entry, other_entries) {
|
||||
else if(current_tab == "Debug Stat Panel")
|
||||
draw_debug();
|
||||
}
|
||||
/// citadel statvoting
|
||||
function update_voting(vote_data) {
|
||||
vote_parts = JSON.parse(vote_data);
|
||||
if(current_tab == "Status")
|
||||
draw_status();
|
||||
}
|
||||
|
||||
function update_mc(global_mc_data, coords_entry) {
|
||||
mc_tab_parts = JSON.parse(global_mc_data);
|
||||
@@ -586,7 +630,7 @@ function tab_change(tab) {
|
||||
}else if(tab == turfname) {
|
||||
draw_listedturf();
|
||||
} else {
|
||||
statcontentdiv[textContentKey] = "loading...";
|
||||
statcontentdiv[textContentKey] = "Loading...";
|
||||
}
|
||||
window.location.href = "byond://winset?statbrowser.is-visible=true";
|
||||
}
|
||||
@@ -667,6 +711,33 @@ function draw_status() {
|
||||
document.getElementById("statcontent").appendChild(div);
|
||||
}
|
||||
}
|
||||
//voting shitcode. See mc for more info.
|
||||
if(vote_parts && vote_parts[0][0]) { //null verification.
|
||||
var table = document.createElement("table");
|
||||
for(var i = 0; i < vote_parts.length; i++) {
|
||||
var part = vote_parts[i];
|
||||
var tr = document.createElement("tr");
|
||||
var td1 = document.createElement("td");
|
||||
td1[textContentKey] = part[0];
|
||||
var td2 = document.createElement("td");
|
||||
if(part[2]) {
|
||||
var a = document.createElement("a");
|
||||
if(part[2] === "disabled") {
|
||||
a.href = "byond://winset?command=Vote";
|
||||
} else {
|
||||
a.href = "?src=" + part[2];
|
||||
}
|
||||
a[textContentKey] = part[1];
|
||||
td2.appendChild(a);
|
||||
} else {
|
||||
td2[textContentKey] = part[1];
|
||||
}
|
||||
tr.appendChild(td1);
|
||||
tr.appendChild(td2);
|
||||
table.appendChild(tr);
|
||||
}
|
||||
document.getElementById("statcontent").appendChild(table);
|
||||
}
|
||||
if(verb_tabs.length == 0 || !verbs)
|
||||
{
|
||||
window.location.href = "byond://winset?command=Fix-Stat-Panel";
|
||||
@@ -912,29 +983,46 @@ function draw_spells(cat) {
|
||||
|
||||
function draw_verbs(cat){
|
||||
statcontentdiv[textContentKey] = "";
|
||||
var table = document.createElement("newdiv");
|
||||
var table = document.createElement("div");
|
||||
var additions = {}; // additional sub-categories to be rendered
|
||||
table.className = "grid-container";
|
||||
var command = ""; // typecast name to string
|
||||
verbs.sort();
|
||||
sortVerbs();
|
||||
verbs.reverse(); // sort verbs backwards before we draw
|
||||
for(var i = verbs.length - 1; i >= 0; i--) {
|
||||
var part = verbs[i]; // should be a list containing category and command
|
||||
if(!part[1]) continue;
|
||||
if(part[0] != cat){
|
||||
continue;
|
||||
for (var i = 0; i < verbs.length; ++i) {
|
||||
var part = verbs[i];
|
||||
var name = part[0];
|
||||
var command = part[1];
|
||||
|
||||
if (command && name.lastIndexOf(cat, 0) != -1 && (name.length == cat.length || name.charAt(cat.length) == ".")) {
|
||||
var subCat = name.lastIndexOf(".") != -1 ? name.split(".")[1] : null;
|
||||
if (subCat && !additions[subCat]) {
|
||||
var newTable = document.createElement("div");
|
||||
newTable.className = "grid-container";
|
||||
additions[subCat] = newTable;
|
||||
}
|
||||
|
||||
var a = document.createElement("a");
|
||||
a.href = "byond://winset?command=" + command.replace(/\s/g, "-");
|
||||
a[textContentKey] = command;
|
||||
a.className = "grid-item";
|
||||
(subCat ? additions[subCat] : table).appendChild(a);
|
||||
}
|
||||
}
|
||||
|
||||
// Append base table to view
|
||||
var content = document.getElementById("statcontent");
|
||||
content.appendChild(table);
|
||||
|
||||
// Append additional sub-categories if relevant
|
||||
for (var cat in additions) {
|
||||
if (additions.hasOwnProperty(cat)) {
|
||||
// do addition here
|
||||
var header = document.createElement("h3");
|
||||
header[textContentKey] = cat;
|
||||
content.appendChild(header);
|
||||
content.appendChild(additions[cat]);
|
||||
}
|
||||
if(part[0].trim() == ""){
|
||||
verbs.splice(i, 1);
|
||||
continue;
|
||||
}
|
||||
command = part[1];
|
||||
var a = document.createElement("a");
|
||||
a.href = "byond://winset?command=" + command.replace(/\s/g, "-");
|
||||
a[textContentKey] = command;
|
||||
a.className = "grid-item";
|
||||
table.appendChild(a);
|
||||
}
|
||||
document.getElementById("statcontent").appendChild(table);
|
||||
}
|
||||
|
||||
function set_theme(which) {
|
||||
|
||||
Reference in New Issue
Block a user