From 403e01722bf7ffb4dfcc9fefedea920721df5b17 Mon Sep 17 00:00:00 2001 From: uzalu Date: Tue, 15 Apr 2025 20:51:50 +0100 Subject: [PATCH] many changes --- maxima_2025.html | 490 ++++++++++++++++++++++++++++++++----------- maxima_2025_notes.md | 3 + 2 files changed, 374 insertions(+), 119 deletions(-) diff --git a/maxima_2025.html b/maxima_2025.html index 371e05c..b44d390 100644 --- a/maxima_2025.html +++ b/maxima_2025.html @@ -9,6 +9,7 @@ font-family: lexend, roboto, sans serif; color: white; background-color: rgb(22,16,18); + scroll-behavior: smooth; } body { margin: 0; @@ -37,6 +38,9 @@ width:100%; z-index:1; } + #header-spacer { + height: var(--headheight); + } #controls { text-align: right; } @@ -171,7 +175,7 @@ h1,h2,h3,h4,h5,h6 { margin-top:0; - margin-bottom:0; +/* margin-bottom:0; */ font-weight: unset; /* border-left:8pt solid white; */ /* padding-left:8pt; */ @@ -238,8 +242,8 @@ z-index:-1; background-size: cover; background-repeat: no-repeat; -/* transition:background-image 1s; */ - transition:opacity 5s; +/* transition:background-image 0.1s; */ + transition:opacity 0.5s; opacity:0; background-position: center top; } @@ -271,7 +275,25 @@ font-style: italic; opacity: .75; } - + a { + color: rgb(255,64,128); +/* color: white; */ + text-decoration: none; +/* border-radius:1em; */ +/* background-color: rgb(146,0,60); */ +/* border: 2pt solid white; */ +/* padding: 0 .5em 0 .5em; */ + } + /*#content [id]::before { + content: ''; + display:block; + position:relative; + top: -250px; + visibility: hidden; + }*/ + #content [id] { + scroll-margin-top: calc(var(--headheight) + 1em); + } .c1,.c2,.c3,.c4,.c5,.c6,.c7,.c8,.c9,.c10 { display:none; } @@ -323,6 +345,23 @@ display:revert; } + .cle1,.cle2,.cle3,.cle4,.cle5,.cle6,.cle7,.cle8,.cle9,.cle10 { + display:none; + } + .show-cle1 .cle1, + .show-cle2 .cle2, + .show-cle3 .cle3, + .show-cle4 .cle4, + .show-cle5 .cle5, + .show-cle6 .cle6, + .show-cle7 .cle7, + .show-cle8 .cle8, + .show-cle9 .cle9, + .show-cle10 .cle10 + { + display:revert; + } + @@ -389,30 +428,218 @@ Perception +3
A Modifier provided by the Source above ("Ring of Perception").

+ +
+

Modifiers

+

This section requires more work.

+

Modifiers are any attribute of a Character which increases or decreases their chance of passing a Check.
For example: skills, damage, buff and debuff effects, etc.

+ +

+ Modifier names define the 'scope' they are relevant in. +

+
+ +
+

Sources

+

Sources are anything which can provide Modifiers to a Character.
For example: items, buffs and debuffs, or the Character themselves.

+
- -
-

Modifiers

-

Modifiers are any attribute of a Character which increases or decreases their chance of passing a check.
For example: skills, damage, buffs and debuffs, etc.

+ +
+

Character Creation

+

This section requires more work.

+ +
+

Campaign Limits

+

This section requires more work.

+

+ Each Campaign can impose limits on which Characters can participate. +
+ The common means to do so are detailed below. +

+ +
+

Balance

+

This implementation is somewhat inelegant and is likely to change.

+

This section requires more work, specifically better detail levels, and some character-sheet examples.

+ +

+ Balance is the current points spent improving a Character. +
+ + It starts at zero, and can go negative. + +

+ +

+ +

+ Any Modifier or Source which is intended as a permanent part of a Character counts towards Balance. +
+ + This includes everything the Player chooses. + +

+ +

+ Modifiers contribute their total value to Balance, meaning the sum of their + and - values. +

+ +

+ Some Sources can also contribute to Balance, which are usually custom packages of Modifiers, such as racials. These are usually defined alongside a Balance-cost. +

+ +
+

+ On the Character Sheet, a Modifier or Source which contributes towards Balance can be marked with a letter b at the end of the line to make this easier to track. +

+

+ Sources with a custom Balance-contibution can be marked as, for example b+4 or b-2 for plus 4 and minus 2 Balance respectively. +

+
+ +

+ The Storyteller should set a Balance limit for each campaign. +
+ If a Character's Balance exceeds that limit, they are not allowed to participate in the Campaign. +

+ +

The recommended default limit is 25.

+ +
+ +
+

Cognia

+

This section requires more work.

+ +

+ Cognia is a measure of the mental weight required to include this Character in a campaign accurately. +

+ +

Balanced-for Modifiers and Sources with - values increase Cognia (1 per Modifier/Source).

+ +
+

+ Players are naturally motivated to remember Modifiers with + values, but not so for the - values. Given this, the Storyteller needs to always remember which Modifiers may apply, not just during Checks but during any interaction to which the Modifier might be relevant. +

+

+ A Campaign with 5 Player-Characters, each of whom have 3 Negative Modifiers, would require the Storyteller to reliably remember 15 Modifiers at all times. This would be difficult, and thus this mechanism helps regulate this potential excess. +

+
+ +

+ The Storyteller may set a Cognia limit for each campaign. +
+ If a Character's Cognia exceeds that limit, they are not allowed to participate in the Campaign. +

+ +

It is recommended to start with a conservative Cognia limit of 2 per Character.

+ +
-

- Modifier names define the 'scope' they are relevant in. +

+ +
+ +
+ +
+

Tasks

+

+ Anything a Character can attempt to do, but might not complete successfully is a Task. +
+ Tasks are usually used with Checks, and don't need to be recorded otherwise. +

+ +

+ Most Tasks are implicit, are communicated as part of a Check, are Ephemeral, and only have a Workload rating. +
+ For more advanced Tasks, such as a long project, it may be worth communicating the Task explicitly. +

+ +

+ Tasks are recorded as Sources, and defined by the following information: +

+

+ +
+

Workload

+

+ The Workload of a task is the total Progress required to complete it.

+

+ The Storyteller may choose to tell Players the Workload, especially if the Character would be able to ascertain it. +

+
-
-

Sources

-

Sources are anything which can provide Modifiers to a Character.
For example: items, enchantments, or the Character themselves.

+
+

Ephemeral or Persistent

+

+ Ephemeral Tasks either Succeed or Fail as soon as they are progressed. +
+ Most Tasks are Ephemeral. +
+ Ephemeral Tasks don't usually need to be recorded. +

+

+ Persistent Tasks can exist in a partially-completed state, and can be progressed by multiple Checks over time. +

+ +
+ +
+

Complexity Rating

+

+ A Task's Complexity Rating is the minimum Success Rating required to make any progress in it. +

+

+ For example, for a Task with a Complexity of 6, if a Check to progress the Task has a Success Rating of 5, no progress is made. +
+ If the Success Rating is 6, then 6 progress is made. +

+ +
+ +
+

Progressing a Task

+

+ First, run a Check for the Character, to determine the Success Rating in this Task. +

+

+ If the Success Rating is greater than or equal to the Task's Complexity, add the Success Rating to the Task's Progress. +

+

+ If the Progress is greater than or equal to the Workload, the Task completes. +

+ +
+

Gradient Completion

+

+ As the Progress of a Task approaches the required amount, a less-than-total conclusion can be reached, ending the Task. +

+

+ This is at the Storyteller's discretion, but should not be done if the Player wants to fully complete the Task. +

+ +
+

Checks

-

Whenever a Character may fail at something they are trying to do, run a Check.

+

Whenever a Character may fail at something they are trying to do, run a Check.

+

Checks are usually run to determine the level of success a Character has at a Task.

-
+

Difficulty

The Storyteller determines a Difficulty, usually between 1 and 10. @@ -420,16 +647,29 @@

The Storyteller may choose to tell Players the difficulty, especially if the Character would be able to ascertain it.

+

+ The Storyteller may choose to use a range of values, allowing partial success. +
+ This is called Gradient Difficulty. +
+ + For example, a Check might give a better result with a Success Rating of 3 than with 1, even though 6 is required for a complete success. + +

Performance

-

This section requires more work.

+

This section requires more work, particularly in presentation.

Find Modifiers which are relevant to this Check.
+ + Use the highest Modifier per source, one for positive, one for negative. +
+
The Storyteller determines whether Modifiers are relevant. @@ -483,30 +723,23 @@

Boost (Optional)

-

This section requires more work.

- The Character may choose to improve their chances by rolling any number of 6-sided dice. + The Character may choose to improve their chances by rolling 6-sided dice.
If the Storyteller agrees, any RNG method the Storyteller can see can be used.

-

- Thematically, the number of rolls represents exertion, and the roll results represent luck. -

-

- Any roll can be discarded at the cost of taking 1 Stress Damage. -

- -

- If any of the non-discarded rolls are 1, the Character Blunders this Check. + If two 1's are rolled in a single check, no further rolls are allowed, and the result is a Catastrophic Failure.
- Check the Blunder section below. + + This incurs a major detrimental narrative side-effect, unless none are applicable. +

- Otherwise, the Character chooses one of their results: + Otherwise, using the most recent roll, apply the given effect: @@ -533,106 +766,109 @@ - + - +
6 No Effect
1 BlunderSimple Failure

-
-

Blunder

-

- Roll a 6-sided di. -

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
6Bypass this Blunder for free, as if you had taken 1 Stress Damage to discard it
5Simple failure
4Moderate undesired side-effect
3Severe undesired side-effect
2Very severe undesired side-effect
1 - Cosmic Blunder -
- Roll another 6-sided di. -
- Every roll produces undesired side-effects which can originate from or affect anything in the universe. -
- The effect is worse the lower the roll result. -
-

-
-

+

The Success Rating is compared to the Difficulty, and if it is greater or equal, the Challenge is successful, otherwise it fails.

+
+

Completion

+

+ The Storyteller determines the outcome by comparing the Success Rating to the Difficulty. +
+ The result can be failure, partial success, or complete success. +

+

Success Rating

+

+ The Success Rating of this Check can now be used, including to progress a Task. +

+
+ +
+ +
+

Vigour

+

This section requires more work.

+

Vigour may be renamed, likely to "Cohesion" or "Stability".

+

Keep track of a Modifier called "Vigour", which starts at zero, and applies to all Checks.

+ +
+

Reprieve

+

This section requires more work.

+

When a Character enters a comfortable situation, coming from a tense or hazardous one, they gain 1-3 Vigour depending on the level of comfort.

+ +
+ +
+

Collapse

+

This section requires more work.

+

When Vigour gets low enough, the Character collapses, and cannot take actions.

+ +
+ +
+

Focus

+

This section requires more work.

+

At any time, a Character can spend 1 Vigour, to "switch focus" to a new Modifier named at their choice, which has +2.

+ +
-

Reprieve

-

This section requires more work.

- -
- -
-

Projects

-

This section requires more work.

- -
- -
-

Collapse

-

This section requires more work.

- -
- -
-

Instant Reaction

-

This section requires more work.

- -
- -

Common Tasks

This section requires more work.

This section's title should be improved.

+
+

Combat

+

This section requires more work.

+ +
+

Damage

This section requires more work.

+ +
+

Instant Reaction

+ +

+ This is intended for Characters with human-like sensory systems, in Campaigns running at relevant timescales. +

+ +

+ If a Character is confronted by a sudden change of circumstances for which they need to gather information using their senses in preparation for a potential reaction, the Storyteller can initiate an Instant Reaction. +

+ +

+ An example of an Instant Reaction scenario is opening a door whilst expecting combat. +

+ +

+ The Player is told what they can sense in the first tenth of a second. +
+ This will usually be very vague and general information about shapes, layout, etc. +

+

+ The Player can either choose to act instantly on the limited information, or wait a tiny bit longer for much more detailed information. +
+ The delay should be half a second for humans, and an equivalent time for different Characters. +

+ + +
@@ -648,11 +884,17 @@ function updateTexts(){ updateDisplay() let classes = ""; - for(let i = 1; i <= input.value; i++) { - classes += " show-c" + i; - } - for(let i = input.value; i <= 10; i++) { - classes += " show-cl" + i; + let v = input.value; + for(let i = 1; i <= 10; i++) { + if(v >= i){ + classes += " show-c" + i; + } + if(v < i){ + classes += " show-cl" + i; + } + if(v <= i){ + classes += " show-cle" + i; + } } classes += " show-ce" + input.value; body.className = classes.trim(); @@ -661,16 +903,26 @@ input.addEventListener("change", updateTexts); updateTexts(); - const header = document.querySelector("#header"); - const headerSpacer = document.querySelector("#header-spacer"); - headerSpacer.style.height = header.offsetHeight; - setInterval(() => { - headerSpacer.style.height = header.offsetHeight; - },1000); - const bg = document.querySelector("#bg"); - bg.style.backgroundImage = "url(\"images/bg/maxima_bg_" + Math.floor(Math.random() * 15) + ".jpg\")"; - bg.style.opacity = 1; + bg.style.backgroundImage = "url(\"images/bg/maxima_bg_" + Math.floor(Math.random() * 21) + ".jpg\")"; + setTimeout(() => { + bg.style.opacity = 1; + },100); + + const header = document.querySelector("#header"); + const rt = document.querySelector(":root"); + + var currentHeaderSpace = 0; + function updateHeaderSpacer() { + let oh = header.offsetHeight; + if(oh != currentHeaderSpace) { + console.log("updating header space: " + oh); + currentHeaderSpace = oh; + rt.style.setProperty("--headheight", oh + "px"); + } + } + updateHeaderSpacer(); + setInterval(updateHeaderSpacer,1000); diff --git a/maxima_2025_notes.md b/maxima_2025_notes.md index b1ef94f..7b73083 100644 --- a/maxima_2025_notes.md +++ b/maxima_2025_notes.md @@ -225,4 +225,7 @@ health - replace "strain" with a modifier "health" - better use of the modifier structure than "strain"/"fatigue"/"stress" - CAN go positive, but only from some forms of reprieve, and possibly limited to maximum positive values +- ? clear all positive health when taking damage? - 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"?