Volume - It Is By My Hand You Will Rise from the Ashes Of This World
Rule for printing a parser error:
gangform instead;
maestroing is an action applying to nothing. Understand "maestro" or "m" as maestroing.
Instead of maestroing:
now autofiddle is "maestro";
gangform;
hardholding is an action applying to nothing. Understand "hardhold" or "hold" or "h" as hardholding.
Instead of hardholding:
now autofiddle is "hold";
gangform;
culting is an action applying to nothing. Understand "cult" or "c" as culting.
Instead of culting:
now autofiddle is "cult";
gangform;
ganging is an action applying to nothing. Understand "gang" as ganging.
Instead of ganging:
now autofiddle is "gang";
gangform;
naming is an action applying to nothing. Understand "name" or "names" as naming.
Instead of naming:
place an "hr" element;
let X be 20;
while X > 0 begin;
say "[b][pop allnames][/b][br]";
now X is X - 1;
end while;
show option-links;
nerdage is a truth state that varies. nerdage is false.
tempnerd is a truth state that varies. tempnerd is false.
To say statoff:
if nerdage is true, now tempnerd is true;
now nerdage is false;
To say staton:
if tempnerd is true, now nerdage is true;
now tempnerd is false.
[Nerdage is the switch for whether to display stats. But there are some contexts where we might not want stats at all; in that case, we bracket the statement with statoff and staton, using tempnerd to see whether we should turn nerdage on again afterwards.]
onstatting is an action applying to nothing. Understand "stats on" as onstatting.
Instead of onstatting:
say "Stats reporting on.";
now nerdage is true;
offstatting is an action applying to nothing. Understand "stats off" as offstatting.
Instead of offstatting:
say "Stats reporting off.";
now nerdage is false;
A gang is a kind of thing.
There are 20 gangs.
The current gang is a gang that varies.
A gang-type is a kind of thing.
nomads is a gang-type. The description of nomads is "[the current gang] are [b]nomads[/b], making only temporary camps. "
hardhold is a gang-type. The description of hardhold is "[current gang] is a [b]hardhold[/b]. "
faction is a gang-type. The description of faction is "[the current gang] are a [b]faction[/b] within a larger hardhold. "
alliance is a gang-type. The description of alliance is "[the current gang] are an [b]allied gang[/b], associated with a hardhold but keeping some independence from it. "
rovers is a gang-type. The description of rovers is "[the current gang] are semi-nomadic [b]rovers[/b], establishing semi-permanent settlements but accustomed to moving on. "
maestrod is a gang-type. The description of maestrod is "[current gang] is a [b]Maestro D's establishment[/b], [one of]within a larger hardhold[or]at the fringes of a hardhold, its status questionable[or]out in the wastes, free and vulnerable[or]travelling from hold to hold in a caravan[purely at random]. "
cult is a gang-type. The description of cult is "[current gang] are a [b]cult[/b], [one of]integrated into the local population[or]very distinct from the local population[or]integrated into the local population and gone crypto[or]large or influential enough to control a hardhold[or]exiled and wandering the waste[purely at random]. "
A gang has a gang-type called variety.
autofiddle is some text that varies.
To gangform:
place an "hr" element;
now poplist is {};
now usednames is {};
now blocknames is {};
now the temp-text is "";
now clusterbutt is false;
now the-flag is false;
let Z be a random gang;
now the current gang is Z;
now the armor of Z is 1;
now the harm of Z is 2;
let N be a random gang-type;
if autofiddle is "" begin;
now the variety of Z is N;
otherwise if autofiddle is "maestro";
now the variety of Z is maestrod;
otherwise if autofiddle is "hold";
now the variety of Z is hardhold;
otherwise if autofiddle is "cult";
now the variety of Z is cult;
otherwise if autofiddle is "gang";
let XPQ be {nomads, faction, alliance, rovers};
sort XPQ in random order;
let XPA be entry 1 in XPQ;
now the variety of Z is XPA;
end if;
now autofiddle is "";
let Q be the variety of the current gang;
christen Z;
say the description of Q;
if Q is hardhold begin;
hardhold-define;
otherwise if Q is maestrod begin;
maestro-define;
otherwise if Q is cult begin;
cult-define;
otherwise;
say "They are ";
gang-define;
end if;
NPCify;
show option-links;
scroll to the end of the page;
A gang has a number called size.
To christen (N - a gang):
now the temp-text is "";
if the variety of N is hardhold begin;
let Q be "[pop hardnames]";
now the printed name of N is Q;
otherwise if the variety of N is maestrod begin;
let Q be "[pop pubnames]";
now the printed name of N is Q;
otherwise if the variety of N is cult begin;
let Z be the substituted form of "[one of][pop hocusnames][or][pop hocusnames][or][pop allbasicnames][purely at random]";
now temp-hocus is Z;
let Q be "The [pop churchnames]";
now the printed name of N is Q;
otherwise;
let Q be "[pop mobnames]";
now the printed name of N is Q;
end if;
To hardhold-define:
let X be a random number between 1 and 4;
now the size of the current gang is X;
if X is 1, say "It is small - a total population of 50-60 souls. ";
if X is 2, say "It's a regular size for a hardhold - perhaps 75-150 souls. ";
if X is 3, say "It has a large population - 200-300 souls. ";
if X is 4, say "It's the largest settlement the PCs have ever seen - at least 500 souls, perhaps many more. ";
let Y be a random number between 1 and 3;
if Y is 3, say "It is [b]heavily fortified[/b], [pop hardfort]. ";
if Y is 2, say "";
if Y is 1, say "It is [b]poorly-fortified[/b], [pop softfort]. ";
let Z be a random number between 1 and 3;
if Z is 1, say "Its [b]garage is for shit[/b], with only 2 combat and 2 utility vehicles. ";
if Z is 2, say "The hold has about 4 combat and 4 utility vehicles. ";
if Z is 3, say "It has a [b]powerful fleet[/b]: at least 7 combat vehicles, and as many utility vehicles. ";
let Q be a random number between 1 and 3;
let QZX be hardvantage;
sort QZX in random order;
while Q > 0 begin;
say entry 1 in QZX;
say ". ";
remove entry 1 from QZX;
now Q is Q - 1;
end while;
say "[pop harddetail]. ";
let GOV be a random government;
if a random chance of 1 in 5 succeeds, now GOV is chiefdom;
if a random chance of 1 in 5 succeeds, now GOV is tyranny;
say "[p]It is [b][a GOV][/b]: [the description of GOV]. ";
if GOV is led begin;
say "It marches under the [pop leadershipstyles] leadership of [b][bosspop Hardholders][/b].";
otherwise;
end if;
quickgang;
To quickgang:
let ATT be a list of texts;
say "[br]Its [one of]gang[or]defensive force[or]militia[or]posse[or]constabulary[or]guard corps[purely at random] is ";
let HA be 2;
let AR be 1;
let SI be "medium";
let DI be " unruly";
let Z be a random number between 1 and 4;
if Z is 1 begin;
say "poorly-armed, ";
now HA is 1;
otherwise if Z is 4;
add "heavily-armed" to ATT;
now HA is 3;
end if;
now Z is a random number between 1 and 4;
if the size of the current gang > 2, now Z is Z + 1;
if Z is 1 begin;
add "large (60+ violent bastards)" to ATT;
now SI is "large";
otherwise if Z is 4;
add "small (10-20 violent bastards)" to ATT;
now SI is "small";
otherwise if Z is 5;
add "massive (100+ violent bastards)" to ATT;
now SI is "large+";
otherwise;
add "of average size (40-odd violent bastards)" to ATT;
end if;
now Z is a random number between 1 and 4;
if Z is 1 begin;
add "disciplined" to ATT;
now DI is "";
otherwise if Z is 4;
add "savage" to ATT;
now DI is " savage";
otherwise;
add "ill-disciplined" to ATT;
end if;
say "[ATT][if nerdage is true] ([HA]-harm gang [SI][DI] [AR]-armor)[end if].[br]";
To NPCify:
if the variety of the current gang is maestrod begin;
let nmaelist be a list of texts;
say "[br][b]Cast and crew:[/b][br]";
let P be a random number between 3 and 5;
[add "the most [pop pcquals] player-character" to maelist;]
while P > 0 begin;
let Q be the substituted form of "[one of][pop maestrotitles][or][pop gangertitle][purely at random]";
add Q to maelist;
add Q to nmaelist;
now P is P - 1;
end while;
repeat with F running through nmaelist begin;
say "[b][F][/b]: [pop gangerbrief][one of][or]; [pop gangerbrief][purely at random]; ";
say "[pop crewdrama][if a random chance of 1 in 6 succeeds] the [one of][downpop peopleadjs] [or][pop famtroubles] [or][purely at random][pop fam] of[end if] ";
let Z be maelist;
remove F from Z;
sort Z in random order;
say "[entry 1 in Z]";
if a random chance of 1 in 3 succeeds, say "; [pop crewdrama][if a random chance of 1 in 6 succeeds] the [one of][downpop peopleadjs] [or][pop famtroubles] [or][purely at random][pop fam] of[end if] [entry 2 in Z]";
say "[br]";
end repeat;
otherwise;
say "[br]Notable members:[br]";
let Z be a random number between 1 and 3;
while Z > 0 begin;
say "[b][pop gangertitle][/b]: [pop gangerbrief][one of][or]; [pop gangerbrief][purely at random][br]";
now Z is Z - 1;
end while;
end if;
[The old method of crew-listing. Too clumsy to read.
let P be a random number between 3 and 5;
let CREW be a list of texts;
while P > 0 begin;
let Q be the substituted form of "[one of][pop maestrotitles][or][pop gangertitle][purely at random]";
add Q to CREW;
now P is P - 1;
end while;
let J be 0;
repeat with X running through CREW begin;
now J is J + 1;
say "[b][X][/b] ([pop gangerbrief])";
if J > 1, say ", who";
say " [pop crewdrama][if a random chance of 1 in 6 succeeds] the [one of][downpop peopleadjs] [or][pop famtroubles] [or][purely at random][pop fam] of[end if] ";
if J is the number of entries in CREW begin;
let F be CREW;
let FQ be the number of entries in F - 2;
truncate F to the first FQ entries;
sort F in random order;
say "[b][entry 1 in F][/b].";
[This is a bit neater than I'd prefer, but whatev. I should also possibly throw the Maestro themself into the mix?]
end if;
end repeat;
]