various: visuals, examples, rolls
Gameplay: - changed "Boost" section to "Roll", including necessary detail Page: - background gradient fades more gradually - extended character sheet example - added an "important" aside format some more minor changes not listed here
This commit is contained in:
136
maxima_2025.html
136
maxima_2025.html
@@ -47,8 +47,8 @@
|
||||
/* background: rgba(20,20,20,0.5); */
|
||||
/* backdrop-filter: blur(30px); */
|
||||
/* transition: transform .5s ease, backdrop-filter 2s ease; */
|
||||
transition: all .5s ease;
|
||||
background: linear-gradient(to bottom, rgba(0,0,0,1), rgba(0,0,0,0));
|
||||
/* transition: all 2s ease; */
|
||||
/* background: linear-gradient(to bottom, rgba(0,0,0,1), rgba(0,0,0,0)); */
|
||||
/* background: linear-gradient(to bottom, rgba(0,0,0,1), rgba(0,0,0,0)); */
|
||||
/* background: linear-gradient(to bottom, rgba(0,0,0,1), rgba(0,0,0,0) 25%, rgba(0,0,0,.75) 75%); */
|
||||
/* background: rgba(0,0,0,.5); */
|
||||
@@ -58,15 +58,27 @@
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
cursor: default;
|
||||
/* transition: opacity .5s ease; */
|
||||
}
|
||||
#header-spacer {
|
||||
height: var(--headheight);
|
||||
/* background: linear-gradient(to bottom, rgba(0,0,0,1), rgba(0,0,0,0)); */
|
||||
transition: height .5s ease;
|
||||
}
|
||||
/*#title-intro-container {
|
||||
transition: opacity .25s ease;
|
||||
}*/
|
||||
#gradient {
|
||||
position:fixed;
|
||||
width:100%;
|
||||
background: linear-gradient(to bottom, rgba(0,0,0,1), rgba(0,0,0,0));
|
||||
height:100vh;
|
||||
transition: opacity .5s ease;
|
||||
opacity: calc(1 - (var(--scrollratioboundedslower) / 2));
|
||||
}
|
||||
#title-intro-container {
|
||||
opacity: calc(1 - var(--scrollratioboundedslow));
|
||||
/* transition: filter .5s ease; */
|
||||
/* backdrop-filter: blur(5px); */
|
||||
/* border-radius: 10pt; */
|
||||
}
|
||||
#controls {
|
||||
text-align: right;
|
||||
position:fixed;
|
||||
@@ -159,13 +171,17 @@
|
||||
/* #controls.scrolled { */
|
||||
/* backdrop-filter: blur(30px); */
|
||||
/* } */
|
||||
.past-header #title-intro-container {
|
||||
|
||||
/*.past-header #title-intro-container {
|
||||
opacity:0;
|
||||
}
|
||||
.bottom #header {
|
||||
/* background: unset; */
|
||||
}*/
|
||||
/*.past-header #header {
|
||||
opacity:0;
|
||||
}*/
|
||||
.bottom #gradient {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/*.scrolled #header {
|
||||
min-height:0;
|
||||
align-items: start;
|
||||
@@ -220,7 +236,7 @@
|
||||
}
|
||||
|
||||
.aside.caution {
|
||||
background: rgba(255,192,0,0.1);
|
||||
background: rgba(255,160,0,0.1);
|
||||
font-size: 1em;
|
||||
}
|
||||
.aside.caution::before {
|
||||
@@ -259,6 +275,25 @@
|
||||
font-size: .8em;
|
||||
}
|
||||
|
||||
.aside.important {
|
||||
/* background: rgba(255,255,0,0.1); */
|
||||
background: linear-gradient(to bottom right, rgba(255,255,0,0.2), rgba(255,255,0,0.02) 50%);
|
||||
font-size: 1em;
|
||||
font-weight: bold;
|
||||
}
|
||||
.aside.important::before {
|
||||
content: 'Important';
|
||||
/* margin-left:8pt; */
|
||||
/* margin-right:8pt; */
|
||||
/* color: rgba(255,255,255,.35); */
|
||||
color: rgba(255,255,128,.75);
|
||||
letter-spacing: .35em;
|
||||
text-transform: uppercase;
|
||||
font-size: .75em;
|
||||
margin-bottom:.25em;
|
||||
display:block;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5,h6 {
|
||||
margin-top:0;
|
||||
/* margin-bottom:0; */
|
||||
@@ -530,6 +565,7 @@
|
||||
</head>
|
||||
<body class="show-c1 show-c2 show-c3 show-c4">
|
||||
<div id="bg"></div>
|
||||
<div id="gradient"></div>
|
||||
<div id="header">
|
||||
|
||||
<div id="title-intro-container">
|
||||
@@ -561,6 +597,9 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="header-spacer"></div>
|
||||
|
||||
<div id="controls">
|
||||
<label id="complexity-label">
|
||||
<div class="complexity-text">
|
||||
@@ -573,9 +612,6 @@
|
||||
</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="header-spacer"></div>
|
||||
|
||||
<div id="footer">
|
||||
<div id="logo">
|
||||
<img src="images/uzalu.png"></img>
|
||||
@@ -594,6 +630,7 @@
|
||||
<div class="section">
|
||||
<h2>Character Sheet</h2>
|
||||
<p class="c10 aside notes">This section requires more work, particularly expanding the example table.</p>
|
||||
<p class="c2 aside caution">Some of the contents of this section are in flux.</p>
|
||||
<p class="c2">
|
||||
Characters are recorded using only 2 types of information: Modifiers and Sources.
|
||||
<br />
|
||||
@@ -642,6 +679,43 @@
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="c4">
|
||||
<td class="mono">
|
||||
Arthritis -1
|
||||
</td>
|
||||
<td class="sbs-desc">
|
||||
A <a href="#modifiers">Modifier</a> with scope "Arthritis", and a Malus of -1. <br />
|
||||
<span>This will reduce the Character's performance in <a href="#checks">Checks</a> which suffer from "Arthritis" by 1 point.</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="c4">
|
||||
<td class="mono">
|
||||
Fat +3 -3
|
||||
</td>
|
||||
<td class="sbs-desc">
|
||||
A <a href="#modifiers">Modifier</a> with scope "Fat", a Bonus of +3, and a Malus of -3. <br />
|
||||
<span>This will improve the Character's performance in <a href="#checks">Checks</a> which benefit from "Fat" by 3 points.</span>
|
||||
<br />
|
||||
<span>This will reduce the Character's performance in <a href="#checks">Checks</a> which suffer from "Fat" by 3 points.</span>
|
||||
<br />
|
||||
For example, if the Check relates to bodily insulation, the +3 applies, but if the check relates to mobility, the -3 applies.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="c4">
|
||||
<td class="mono">
|
||||
- Positive and Negative must be equal
|
||||
</td>
|
||||
<td class="sbs-desc">
|
||||
An official clarification line, defining the bounds of the above line.
|
||||
<br />
|
||||
The Storyteller must approve all lines starting with a single dash.
|
||||
<br />
|
||||
For user-notes, which don't require approval, use two dashes.
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="c2">
|
||||
<td class="mono">
|
||||
|
||||
@@ -712,7 +786,7 @@
|
||||
<div class="section">
|
||||
<h3 id="modifiers">Modifiers</h3>
|
||||
<p class="c10 aside notes">This section requires more work.</p>
|
||||
<p>Modifiers are any attribute of a Character which increases or decreases their chance of passing a Check.<span class="minor"><br />For example: skills, traits, damage, buff and debuff effects, etc.</span></p>
|
||||
<p>Modifiers are any attribute of a Character which increases or decreases their chance of passing a <a href="#checks">Check</a>.<span class="minor"><br />For example: skills, traits, damage, buff and debuff effects, etc.</span></p>
|
||||
|
||||
<p class="c3">
|
||||
Modifier names define the 'scope' they are relevant in.
|
||||
@@ -942,6 +1016,7 @@
|
||||
<div class="section">
|
||||
<h2>Performance</h2>
|
||||
<p class="c10 aside notes">This section requires more work, particularly in presentation.</p>
|
||||
<p class="c10 aside notes">This section, along with the term "Success Rating" may be renamed "Score" for conciseness, clarity, and simplicity.</p>
|
||||
|
||||
<p class="c1">
|
||||
Find Modifiers which are relevant to this Check.
|
||||
@@ -1003,12 +1078,24 @@
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>Boost (Optional)</h3>
|
||||
<h3>Roll</h3>
|
||||
|
||||
<p class="c2 aside">
|
||||
The Storyteller may waive the Roll requirement if the Character's Success Rating is already enough to easily pass this Check.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The Character may choose to improve their chances by rolling 6-sided dice.
|
||||
Roll one-or-more 6-sided dice for the Character<span class="ce1"> if they might fail this Check</span>.
|
||||
|
||||
<span class="c4 minor">
|
||||
<br />
|
||||
<span class="c4 minor"> If the Storyteller agrees, any RNG method the Storyteller can see can be used.</span>
|
||||
If the Character is controlled by a Player, that Player should perform the dice-roll.
|
||||
</span>
|
||||
|
||||
<span class="c4 minor">
|
||||
<br />
|
||||
If the Storyteller agrees, any RNG method the Storyteller can see can be used.
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -1170,6 +1257,7 @@
|
||||
const display = document.querySelector("#complexity-display");
|
||||
const input = document.querySelector("#complexity");
|
||||
const body = document.querySelector("body");
|
||||
const rt = document.querySelector(":root");
|
||||
function updateDisplay(){
|
||||
display.textContent = input.value;
|
||||
}
|
||||
@@ -1206,6 +1294,7 @@
|
||||
input.addEventListener("input", updateDisplay);
|
||||
input.addEventListener("change", updateTexts);
|
||||
updateTexts();
|
||||
setTimeout(updateTexts,100);
|
||||
|
||||
const bg = document.querySelector("#bg");
|
||||
bg.style.backgroundImage = "url(\"images/bg/maxima_bg_" + Math.floor(Math.random() * 23) + ".jpg\")";
|
||||
@@ -1269,12 +1358,21 @@
|
||||
body.classList.remove("past-header");
|
||||
pastHeaderSpace = 0;
|
||||
}
|
||||
|
||||
let scrollEnd = body.scrollHeight - body.clientHeight;
|
||||
let scrollTop = body.scrollTop;
|
||||
let scrollEndBounded = scrollEnd - body.clientHeight;
|
||||
let scrollStartBounded = body.clientHeight;
|
||||
let scrollTopBounded = scrollTop - scrollStartBounded;
|
||||
// rt.style.setProperty("--scrollpercent",(100 / scrollEnd) * scrollTop);
|
||||
let scrollRatioBounded = Math.min(1,(1 / (scrollEndBounded - scrollStartBounded)) * scrollTopBounded);
|
||||
rt.style.setProperty("--scrollratiobounded",scrollRatioBounded);
|
||||
rt.style.setProperty("--scrollratioboundedslow",scrollRatioBounded.toFixed(2));
|
||||
rt.style.setProperty("--scrollratioboundedslower",scrollRatioBounded.toFixed(1));
|
||||
}
|
||||
document.addEventListener("scroll", updateHeaderState);
|
||||
setTimeout(updateHeaderState,50);
|
||||
|
||||
const rt = document.querySelector(":root");
|
||||
|
||||
var currentHeaderSpace = 0;
|
||||
function updateHeaderSpacer() {
|
||||
let oh = header.offsetHeight;
|
||||
|
||||
@@ -229,3 +229,24 @@ health
|
||||
- some principled way to prevent acquiring this must exist, or at least a clear special case
|
||||
- the word "health", given its wide use in other contexts, may imply death at zero
|
||||
- perhaps it's time to bring back "vigor"?
|
||||
|
||||
2025-04-27
|
||||
|
||||
over-flexible repetition of checks
|
||||
- players can try a check once to see if they can succeed without the boost, then if not, try it again
|
||||
- this is only applicable to some checks, but it is a problem
|
||||
- sometimes the character would be able to determine to difficulty in these cases, but not always
|
||||
|
||||
when rating things, eg. modifiers
|
||||
- three scales to consider:
|
||||
- as proportion of this character's total pool
|
||||
- for comparing to other characters of the same type
|
||||
- for comparing on a universal scale.
|
||||
- all 3 of these have to be factored in, with the third one being the most vital as its what checks are compared with
|
||||
|
||||
positive/negative modifiers, features
|
||||
- it is very rare that a modifier needs both, where they are not equal
|
||||
- besides which, whether some rating is positive or negative is context-dependant
|
||||
- thus, perhaps modifiers should just use a single number to determine how strongly the term applies as a description
|
||||
- ! main problem with this is that it makes it harder to reward players for taking negative modifiers, though the current method to do that is not accurate
|
||||
- by this schema, modifiers become more "features", since they are simply words used to describe the character, instead of directly defining its strengths and weaknesses
|
||||
|
||||
Reference in New Issue
Block a user