@opencharacter/swn-revised
v0.3.0
Published
Open Character Format pack for Stars Without Number: Revised Edition's character rules, with Free Edition text used by permission.
Maintainers
Readme
Stars Without Number: Revised Edition
@opencharacter/swn-revised is an unofficial Open Character Format
pack for the character rules of Stars Without Number: Revised Edition by Kevin Crawford (Sine
Nomine Publishing), built from the game's free edition. It is for apps that build, show and play
its characters with an OCF engine: attributes, backgrounds, skills, the four classes and the
partial classes, foci, psionics, advancement to 10th level and beyond, saving throws, combat,
System Strain, and the free edition's armor, weapons, gear and cyberware.
It is not affiliated with or endorsed by Sine Nomine Publishing. Its text comes from the free edition only, with the author's permission; nothing from the paid deluxe edition is included.
Install and load
pnpm add @opencharacter/swn-revised @opencharacter/engineThis release needs spec 0.4: @opencharacter/engine 0.4.0 or later. An engine for an older
spec refuses it (spec-version-unsupported).
The package's default export is the pack's release, ready for loadRuleset; its English text is
@opencharacter/swn-revised/i18n/en (also as JSON, release.json and i18n/en.json).
import { applyChanges, computeSheet, loadRuleset, startAction } from '@opencharacter/engine';
import scifi from '@opencharacter/swn-revised';
const loaded = loadRuleset([scifi]);
if (!loaded.ok) throw new Error(loaded.errors.map((e) => e.code).join(', '));
const { ruleset } = loaded;
// A random character from the quick creation tables: every table is rolled.
const blank = {
specVersion: '0.4.0',
id: 'basil',
packs: [{ id: 'swn-revised', version: '0.3.0' }],
creating: true,
};
const run = startAction(ruleset, blank, {
action: { id: 'swn-revised:quick-character' },
params: { random: true },
policy: { dice: 'auto', choices: 'auto', allocations: 'auto' },
});
if (!('status' in run) || run.status !== 'finished') throw new Error('creation paused');
const made = applyChanges(
ruleset,
blank,
run.proposedChanges.map((p) => p.change),
);
if (!made.ok) throw new Error('creation failed');
const sheet = computeSheet(ruleset, made.character);
sheet.values['swn-revised:saves.physical']?.value; // 15 less the better of Str and Con modifiersLicense
License:
LicenseRef-sine-nomine-free-edition. The free edition's text is used with the author's permission, and apps that show this pack's content pass on itscredit:Text from Stars Without Number: Revised Edition (Free Edition), © 2017 Sine Nomine Publishing, Inc., by Kevin Crawford. Used with the author's permission.
Notices:
permission(the free edition's content is reproduced with the author's permission; nothing from the paid edition is included) andnot-affiliated.LICENSEgives the terms. The contributors' own work in the pack (its data, and the names and labels written for it) is under CC0 1.0; the free edition's text and names belong to Sine Nomine Publishing.Text: names and labels are in
i18n/en.yamlandi18n/en/. Descriptions are the free edition's own text: the skills, backgrounds, classes and partial classes, every focus and every psionic technique.
What's modeled
- Attributes: the six scores (3–18) and their modifiers (−2 to +2).
- Skills: the 19 skills and the six psychic disciplines, each a level from −1 (untrained) to 4.
skill-checkrolls 2d6 + skill + an attribute modifier against a difficulty; untrained is −1. Foci that roll 3d6 or 4d6 and keep the best two raise the skill'sdice. - Saving throws: Physical, Evasion and Mental, 16 less the level less the better of two
modifiers.
saving-throwsucceeds on a d20 at or over it; a natural 1 always fails and a natural 20 always succeeds. - Creation: three starts.
standard, the full procedure: roll 3d6 in order (and set one score to 14) or assign 14, 12, 11, 10, 9, 7; a background and its free skill; the quick skills, two picks from the Learning table, or three rolls split between the Growth and Learning tables; a class (an Adventurer picks two partial classes); a Psychic's two disciplines or a Partial Psychic's one; one focus level, plus the Expert's non-combat and the Warrior's combat one; a hobby skill; hit points; an equipment package or 2d6 × 100 credits (the class's own package, itskit, recommended).quickandrandom, the quick creation tables: class and style (the eight styles, d8), background (d20), two disciplines for a psychic (d6), foci from the style's row (d6) and a bonus skill (d20).randomrolls every table, so an automatic run finishes the character; the equipment package is drawn among the ten packages and the credits roll.- Every skill pick follows the book: a skill's first pick is level-0, the second level-1, and a third is any other non-psychic skill below level-1. A psychic skill raised to level-1 brings a free level-1 technique.
- Classes: Expert (a non-combat focus, a reroll of a failed skill check once a scene, a
bonus non-combat skill point each level), Psychic (unrestricted psionics, Effort), Warrior (a
combat focus, +2 hit points a level, attack bonus equal to the level, and once a scene either
a missed attack turned into a hit, an option on the attack, or a hit against them negated,
the
warriorLucksituational choice on the hit's damage; damage doesn't say whether an attack roll dealt it, so whether it may be negated is the table's call) and Adventurer, with two of Partial Expert, Partial Psychic (one discipline) and Partial Warrior (+1 attack bonus at 1st and 5th level). - Foci: all 25 of the free edition, each with its bonus skill; their mechanical benefits are modeled where the sheet can show them (Ironhide's AC, Die Hard's hit points, Specialist's, Healer's, Hacker's and Sniper's dice, Armsman's and Gunslinger's damage, Unarmed Combatant's fists, Shocking Assault's Shock, Psychic Training's Effort, Wild Psychic Talent). Specialist's and Healer's extra dice don't add up: the larger pool applies.
- Situational choices the app offers on a roll:
hackingon Program checks (Hacker),negotiationon checks (Diplomat),executionShoton Shoot checks (Sniper),telepathyon Mental saves (Neurointruder Alert), andwarriorLuckon damage (above). - Psionics: the six disciplines, their core techniques (held while the skill is level-0 or
better) and 63 techniques, each needing its skill level. Effort is 1 + the highest psychic
skill + the better of Wisdom and Constitution modifiers (at least 1);
commit-effortcommits it for the scene or the day,sustain-techniquecommits a point to a technique that lasts for as long as its Effort stays Committed (sustained: Cloak Powers, Concert of Minds, Kinetic Transversal, Metamorph, Neural Trap, Pressure Field (its shield for comrades), Prophecy, Spatial Awareness, Stutterjump, Telekinetic Armory and Telekinetic Flight), held on the technique's copy, the pick of a Wild Psychic Talent, or an add-on's core technique's grant, untilrelease-techniquereclaims it, andtorchrolls the torching table for a free point. Cursed Luck'scursecommits Effort for the scene and applies the technique to its target: their attacks, damage, checks and saves roll twice and keep the worse, attacks and damage against them roll twice and keep the better, and theirthrow-offmakes the Mental save that ends it. The psychic'send-sceneandrestend it too, on whoever holds it (a removalto: applied, which the app applies to the characters the psychic cursed). Psychic Succor'ssuccorCommits Effort for the day on its first use in a scene (scene.succormarks it paid; none with Mastered Succor) and shows its healing at the biopsion's level on the technique (healDiced6 +healBonus). - Advancement: the experience table (a
level-upfollow-up to 10th level; later levels are the GM's call).level-uprolls the hit dice, grants three skill points (one psychic for a psychic, plus the Expert's), and a focus level at 2nd, 5th, 7th and 10th.raise-skill,learn-techniqueandboost-attributespend the points at the book's costs and level limits. A focus's bonus skill taken on advancement is three points toward that skill; what doesn't buy a level is saved as the skill'scredit, whichraise-skillspends first. - Combat: attack bonus,
attack(d20 + attack bonus + combat skill, −2 untrained, + modifier, +1 for energy weapons) against the target's AC, damage, Shock on a miss, ammunition andreload; Armor Class from the best armor, a shield and Dexterity. Each weapon shows its hit bonus, damage bonus and Shock damage as computed values. Burst fire is aburstparameter of a burst weapon's own attacks: with three rounds left it spends them for +2 to hit and damage, else it fires one. - System Strain: permanent from cyberware, temporary from drugs;
use-drug,trigger-cyberwareand Psychic Succor (given the target'sstrain.totalandstrain.max) refuse what would pass Constitution.restrestores hit points, Strain, Effort and the once-a-scene abilities. - Encumbrance: Readied (equipped) items up to half Strength, Stowed up to Strength, and the lightly and heavily encumbered bands. An equipment package readies its items, then stows readied gear and all but one weapon while they fit, so a weak character starts within the limits where the package allows; armor stays worn.
- Equipment: every armor, ranged, melee and heavy weapon, general equipment and pharmaceutical, and cyberware item of the free edition, with the equipment packages.
Add-on packs
A pack that depends on swn-revised can add content of its types, and creation offers it with the
core's, in the guided picks and in the random draws (a die with a face per option, the book's die
with the core content alone):
Classes and backgrounds join the full procedure. A class names its recommended package in
kit.Styles (
style) join the quick tables: the class, the six scores and, for the book's styles only,table, the style's column of the quick foci table. A style without one picks its foci as the full procedure does (one of any kind, plus the class's extra non-combat and combat ones).Equipment packages (
kit) are content: a package's ownunpackaction (listed: false) adds its gear and sets the credits. The starting-gear action adds the package as the entrykit, runs itsunpack, then removes it, so only the gear stays.Foci join every focus pick; the tags
needs-psionicsandno-psionicslimit one to characters with psionic access or without it.Open enums: weapon
ammo, gearcategoryandkind(what a weapon reloads with), and armorcategory. An add-on lists new values inextendEnums('swn-revised:types.weapon.fields.ammo': [spikes]) and names them in its text.Naming what an add-on adds: it names each added value, option or key in its own text, under the key this pack would use, and
createTextfinds it there when the app passes the ruleset'senumOrigins,optionOriginsandfamilyOrigins. For example,spikesadded toswn-revised:types.weapon.fields.ammoistypes.weapon.fields.ammo.values.spikes.name: Spike magazine(throughenumOrigins).Tagged steps take an add-on's rules-level
optionandchangeseffects:attack.fire(the attack's step before the roll, which setsflags.burst),creation.kit(the starting package pick: an added option replaces the package),creation.focusandlevel-up.focus(a focus pick at creation or on advancement: an added option is taken instead of a focus),creation.finish(the last changes of both creation actions, before creation ends),level-up.level(each new level's skill points),rest.night(a night's rest) andrest.scene(the end of a scene).Skills and psychic disciplines are families: an added skill joins
skillandgeneralorcombat(families: { 'swn-revised:skill': [xenology], 'swn-revised:general': [xenology] }), a disciplineskillandpsychic, and the add-on declares itsskills.<key>.level(taggedskillandskill.general,skill.combatorskill.psychic),.diceand.credit, and its check tag (check.<key>). The core's changes reach them throughfieldId, so creation,raise-skill, focus points andskill-checkgain, raise and roll them. The enums that hold a skill are open and take its key: a background's entries (freeSkill,quick1,quick2,growth1–growth6,learning1–learning8), a focus'sskill, a weapon'sskill, and the parametersgain-skill.entry,focus-skill-points.entry,raise-skill.skillandskill-check.skill; a discipline's alsopsionics.discipline, a technique'sdisciplineandpick-technique.discipline, so a new skill level picks its techniques. The Partial Psychic's and Psychic Training's discipline choices take it throughextendChoices. The psychic classes grant each trained discipline's core technique (core: true, itsdisciplinethe key), so an added discipline's core technique comes with it.
Limitations
- Starships, vehicles, drones and gear mods are not modeled.
- Most psionic techniques change no number on the sheet: their use is the table's. Effort, sustained techniques, Cursed Luck and Psychic Succor are modeled.
- Foci whose benefits are narrative (Assassin, Authority, Connected, Savage Fray, Star Captain, Starfarer, Tinker, Wanderer) give their bonus skill; the rest is text, as is Unique Gift.
- Situational modifiers are the
modifierparameters ofattackandsaving-throw, and the difficulty ofskill-check.
