[Home]Vitenka/WeaponsTesting

www.vitenka.com | ToothyWiki | Vitenka | RecentChanges | Login | Webcomic

What happens in the weapons testing facility?  Only the AwfullyGreenThingsFromOuterSpace know.  And they're terribly green, so they probably aren't saying.  But I guess you can find out if you try hard enough.

[Go ahead...]


Code follows.



// Include the tech generator
option ::= include = Vitenka/TechnologyGenerator
option ::= spaces = 1
tech_gen_adjectives ::= colour_model | acronym_model | common_spaced_modifier_list | rare_spaced_modifier_list

// Intro
intro ::= weaponsTestingHeader hr inCharacterIntro
footer ::= "The End."

weaponsTestingHeader ::= "Weapons testing BNF generator, builds on the /TechnologyGenerator."

inCharacterIntro ::= greet newline whatHappensHere newline getOnWithIt

greet ::= welcomeOrWhere whoseFacility maybeGreat facilityName
welcomeOrWhere ::= "Welcome to" | "This is" | "You are in" | "Hello and welcome to"
whoseFacility ::= "the" | "our"
maybeGreat ::= NOTHING | "famous" | "great"
facilityName ::= "weapons testing facility." | "test facility." | "facility for the testing of dangerous devices." | "testing facility." | "museum of pointy things." | "dangerous place." | "zone of pain."

whatHappensHere ::= "Here you will test many great devices." | "This is where we test the weapons." | "Alien devices aplenty await you." | "Death lies within."

getOnWithIt ::= "So - here you go:" | "And now it's your turn:" | "Why don't you try one?" | "And here's what you've been waiting for:" | "Your fate awaits you."

// The device

whatItIs ::= whatIntro build_me_a_technology
whatIntro ::= "Before you stands a" | "The menacing device is a" | "Today you must test the" | "Use our"

// You pull the trigger.

triggerActionSequence ::= singularTriggerActionSequence | pluralTriggerActionSequence

pluralTriggerActionSequence ::= haplessUser maybeTriggerAdverb triggerAction maybePlural maybeTriggerAdjective triggerPluralNoun maybeTriggerPostAdverb
singularTriggerActionSequence ::= haplessUser maybeTriggerAdverb triggerAction maybeSingular maybeTriggerAdjective triggerSingularNoun maybeTriggerPostAdverb

haplessUser ::= maybeUserAdjective userName enforced | "You" maybeYouForced
maybeUserAdjective ::= NOTHING | userAdjective
userAdjective ::= "The poor" | "Some" | "Foolish" | "Reluctantly" | "Quickly" | "Irrationally" | "Unfortunately" | "The"
maybeYouForced ::= NOTHING | NOTHING | youForced
enforced ::= "has to" | "must" | "is forced to" | "wants to" | "tries to" | "attempts to"
youForced ::= "have to" | "must" | "are forced to" | "want to" | "try to"
userName ::= "tester" | "twit" | "fool" | "muggins" | "idiot"
maybeSingular ::= "a" | "a" | "a random" | "the"
maybePlural ::= "the" | "the" | "some" | "random" | "all of the" | "some of the" | "some random" | "a few"

maybeTriggerAdverb ::= NOTHING | NOTHING | triggerPreAdverb

triggerPreAdverb ::= "firmly" | "carefully" | "desperately" | "close your eyes and" | "helplessly" | "nearly"

triggerAction ::= "pull" | "twist" | "press" | "activate" | "smack" | "grip" | "shove" | "force" | "tug at" | "turn" | "remove" | "break"

maybeTriggerAdjective ::= NOTHING | triggerAdjective
triggerAdjective ::= tech_gen_adjectives | "awful" | "big" | "strange" | "giant" | "menacing" | "complicated" | "firing" | "activation" | "emergency" | "activation" | "abort" | "release" | "safety" | "odd" | "worrying"

triggerSingularNoun ::= "trigger" | "button" | "lever" | "pad" | "control" | "catch" | "release" | "dial" | "slide" | "lock"
triggerPluralNoun ::= "triggers" | "buttons" | "levers" | "controls" | "locks" | "slides" | "dials" | "catches" | "releases"

maybeTriggerPostAdverb ::= NOTHING | NOTHING | NOTHING | triggerPostAdverb
triggerPostAdverb ::= "hard" | "with glee" | "tightly" | "in a panic"

// What (visually) happens?
// TODO
weaponActionSequence ::= "The" weaponPart weaponPartVisuals | "The" weaponPart weaponPartVisuals "and the" weaponPart weaponPartVisuals | "The" weaponPart weaponPartVisuals newline "Then the" weaponPart weaponPartVisuals | "The" weaponPart weaponPartVisuals "and it" weaponPartVisuals

weaponPart ::= maybeWeaponPartDescriptor weaponPartName maybeWeaponPartType | whatsit
maybeWeaponPartDescriptor ::= NOTHING | triggerAdjective | weaponPartAdjective
weaponPartDescriptor ::= NOTHING | weaponPartAdjective
maybeWeaponPartType ::= NOTHING | NOTHING | weaponPartType | triggerSingularNoun 
weaponPartType ::= "guide" | "line" | "mechanism" | "slide" | "slot" | "guard" | "piece"
weaponPartAdjective ::= tech_gen_adjectives | "safety" | "spare" | "alternate" | "emergency" | "sighting" | "nifty"
weaponPartName ::= "trigger" | "control" | "casing" | "barrel" | "flange" | "circuitry" | "tubing" | "support" | "grommet" | "shielding" | "mechanism" | "gadget" | "whole thing" | "gasket" 
weaponPartVisuals ::= maybeWeaponPartStartInfinitive weaponPartVerbInfinitive | maybeWeaponPartStartLy weaponPartVerbLy | maybeWeaponPartStarting
maybeWeaponPartStartInfinitive ::= weaponPartStartInfinitive
maybeWeaponPartStartLy ::= NOTHING | weaponPartStartLy

weaponPartStartLy ::= "suddenly" | "unexpectedly" | "rapidly" | "without warning" | "slowly" | "gradually" | "increasingly" | "flange"
weaponPartVerbLy ::= "glows" | "rotates" | "rumbles" | "expands" | "makes odd noises" | "activates" | "blows"

weaponPartStartInfinitive ::= "starts to" | "begins to" | "happens to"
weaponPartVerbInfinitive ::= "glow" | "rotate" | "rumble" | "heat up" | "bubble" | "melt" | "freeze" | "spin"

maybeWeaponPartStarting ::= weaponPartStarting weaponPartVerbing | weaponPartStartLy weaponPartStarting weaponPartVerbing | weaponPartStarting weaponPartVerbing weaponPartStartLy
weaponPartStarting ::= "is" | "starts" | "suddenly stops" | "seems to be"
weaponPartVerbing ::= "glowing" | "rotating" | "spinning" | "growling" | "flashing" | "wobbling"

// What does it actually do?

weaponResultSequence ::= nothingHappens | somethingHappens 
nothingHappens ::= nothingMuchHappens | nothingAtAllHappens

// Nothing (important) happens.
// TODO: Make bits of scenery do stuff.
nothingMuchHappens ::= maybeSeemsInfinitive weaponPartVerbInfinitive | maybeSeemsLy nothingThing weaponPartVerbLy | maybeSeemsLy nothingAtAllHappens
maybeSeemsInfinitive ::= "It seems to" | "It appears to"
nothingThing ::= "it" | "the device" | "the weapon" | "everything"
maybeSeemsLy ::= NOTHING | "Apparently" | "Seemingly" | "Oddly"
nothingAtAllHappens ::= "It all goes quiet." | "It suddenly stops." | "The whole thing just vanishes." | "It loses power and dies." | "Nothing much happens." | "Nothing continues to happen." | "Nothing appears to happen." | "Nothing happens." | "Nothing at all happens." | "Nothing appears to continue to happen." | "It breaks." | "It just stops."

// Something does happen!  Is it good or bad, and who does it happen to?
somethingHappens ::= somethingGoodHappens | somethingBadHappens
somethingGoodHappens ::= somethingGoodHappensToYou | somethingBadHappensToHim
somethingBadHappens ::= somethingBadHappensToYou | somethingGoodHappensToHim

somethingGoodHappensToYou ::= somethingGood happenLink toYou
somethingBadHappensToYou ::= somethingBad happenLink toYou
somethingGoodHappensToHim ::= somethingGood happenLink toHim
somethingBadHappensToHim ::= somethingBad happenLink toHim

// TODO: Describe the 'something's, the method of transmission and the targets.
somethingGood ::= "Something good" | "Good things" | "Improving rays" | "The power of heat" | "New ability" | "Energising power" | "Mind expansion waves" | "Waves of goodness" | "Strange power" | known_physical_thing
somethingBad ::= "Something icky" | "Bad things" | "Death" | "Explosion" | "A hideous fate" | "Things worse than death" | known_physical_thing | "Plasma" | "Evil" | "Goo" | "Pain" | "Destrution"
happenLink ::= "happens to" | "is projected to" | "infuses" | "affects"
toYou ::= "you." | "yourself." | "the hapless user." | "the guy who pulled the trigger."
toHim ::= "your target." | "the target." | "the guy in front." | "the 'lucky' guy who isn't you."

// Various delays
pause ::= "...a pregnant pause, and..." | "...a worried delay, and..." | "...some time passes, then..." | "Immediately afterwards:" | "...a short time later..." | "...without warning:" | "...eventually..." | "...soon..." | "...it isn't long before..."

// Useful stuff
newline ::= "<br>"
NOTHING ::= ""

// The actual generator line
weapons_test ::= whatItIs newline triggerActionSequence newline weaponActionSequence newline pause newline weaponResultSequence

bnf ::= intro newline weapons_test hr footer



www.vitenka.com | ToothyWiki | Vitenka | RecentChanges | Login | Webcomic
This page is read-only | View other revisions | Recently used referrers
Last edited March 19, 2007 12:30 pm (viewing revision 43, which is the newest) (diff)
Search: