.. -=- EGSRefer -=- ######## EGSRefer ######## datestamp: 201706100119 Being an unofficial protocol for referring to El Goonish Shive characters in transcripts et cetera. Transparent syntax ================== This syntax should not affect the parsing of the name itself, but should be used to determine which parts should be displayed to the reader. They should not be merely whited out but completely omitted, unless spoiler-showing is enabled. During parsing for understanding the begin-spoiler and end-spoiler tags should be ignored, not rejected, just skipped over (hence "transparent"). Syntax |Meaning ---------|--------------------------------------------------------------------------- `/*` |Begin spoiler `*/` |End spoiler e.g. - `/*Noah->"ShadowNoah"(*/"ChildLeftBehind"/*)*/` - `"FriendOfTony"/*("Ronin")*/` before Ronin's identity revealed, `"Ronin"("FriendOfTony")` subsequent for one dialogue, then just `"Ronin"`. This shall become deprecated once Ronin's real name becomes known. Parsed syntax ============= Top-level syntax ---------------- Syntax |Meaning ---------|--------------------------------------------------------------------------- `X` |(where X contains no whitespace) X(name) `X Y` |(as a list) X (name), Y (name) (i.e. egsrefer IDs are space delimited) A "name" can be: ---------------- Syntax |Meaning ---------|--------------------------------------------------------------------------- `X` |(where X is alphabetical, w/out spaces) X(charname) `X`\|`Y` |X(name) through Y(name) avatar `X.Y` |Y(aspect) aspect of X(name), e.g. `Susan.Curiosity` `X->Y` |X(name) as the form identified as Y(form) `X->!==Y`|X(name) self-visualising as Y(form) but actually saying/doing the thing **and is NOTHING to do with the C inequality operator!**, e.g. `Sarah->!=="WizardSarah"` `X->!!Y` |X(name) visualised as Y(form) by another but also actually doing the action e.g. `Grace->!!"WarrierAngelGrace"` `X->!Y` |Can mean either of the previous two. "Legacy, deprecated" since long before I published this so I dunno why left it in… `X::Y` |Being identified as Y(name) in the namespace of the X(universe) universe `"X"` |Thing nicknamed X(nickname), name not known `X("Y")` |Thing identified as X(name) but nicknamed Y(nickname) `"X"(?Y)`|Thing nicknamed X(nickname) but which probably equals Y(name) `!!X` |A fantasy or dream instance of X(name), actual X(name) has no association `!==X` |A fantasy or dream instance of X(name), according to X(name)'s own thoughts **and is NOTHING to do with the C inequality operator!** `!X` |Can mean either of the previous two. "Legacy, deprecated" since long before I published this so I dunno why left it in… `X(=Y)` |X(name), later renamed to or previously renamed from Y(name) `?->X` |An unknown being, in form X(form) A "form" can be: ---------------- Syntax |Meaning ---------|--------------------------------------------------------------------------- `X` |(where X is alphabetical, w/out spaces) transformed into X(charname) `~X` |An approximation of form or character X(form) `"X"` |X(formname), not a resemblance of anyone in particular `X.Y` |Y(aspect) secret identity of X(name) `X(Y)` |X(form) which is also known as Y(form) `[X]` |X(tfmode), not a scanned clone form `X(=Y)` |X(form), later dewitcheried resulting in Y(charname) A "tfmode" can be: ------------------ - a valid "tfgvar" - a "filename" If neither of these can be applied to a given TFG transformation, use a "nickname" as a "formname" instead of using a "tfmode". If it is a scanned clone form of somebody else, use the appropriate syntax instead. A "tfgvar" can be: ------------------ A "tfgvar" is made of up to four parts: - an optional single letter (case insensitive) followed by a double-colon, indicating which TF-gun is being indexed (this should not be used until it becomes clear which gun is which, however). - a capital M or F denoting male or female respectively. - a capital V, denoting variant. - a number, consisting of one or more digits. e.g. `Tedd->[FV1]` `Tedd->[FV5]` Grace's Birthday Party male forms are designated thusly: - `Grace->[MV2]` - `Susan->[MV3]` - `Nanase->[MV4]("Manase")` - `Sarah->[MV5]` A "filename" can be: -------------------- A filename is designated by beginning with `/` (for absolute paths) or `./` (for just the filename or some other relative path) or potentially `../` (for up-one-or-more-levels relative paths). No backslashes unless you want to look like you have been brainwashed by Microsoft and IBM into using the ubiquitous character-escape character in your file paths! A filename: `./sarah.bak` Currently, this is not used as the only known filename that I am aware of is a clone form (which is represented as e.g. `Tedd->Sarah` - not that that ever happened as far as we know at the time of writing ;-). A "formname" can be: -------------------- - Manase, Heidi, Gracelyn, etc. - A "nickname" may be used if no properly official formname exists. e.g. - `!!Tedd->"BeachGirl"` - `Noah->"ShadowNoah"` Grace's Birthday Party female forms are designated thusly: - `Tedd->"GraceBirthdayTedd"` - `Elliot->"GraceBirthdayElliot"` - `Justin->"GraceBirthdayJustin"` An "aspect" can be: ------------------- So far have we seen the following. This will probably not always/still/forever be an exhaustive list in the future: - (of Susan) Nature, Nurture, Logic, Curiosity, Ego - (of Elliot) "Confusion", "Timidity", "Inquisitive", "Analyst", Libido, Superego, MildMannered, Angsty, PartyAnimal - (of Sarah) FantasyVampire, FantasyWerewolf, Ego A "universe" can be: -------------------- - In continuity: Alpha, Beta, Main, SecondLife (or SL), "MagusUniverse" - Meta (outside fourth wall): "DanUniverse", "GermahnLabs", "IntroductionsUniverse" - EGS\:NP only: "Goonmanji", "PreOblivious", "PostOblivious", AF04 At the moment, at least. I may have forgotten something, also. A "charname" can be: -------------------- - The primary identifier: whatever the character is most known as, typically a first name. - Titles are not included before forenames unless absolutely necessary. E.g. `Alpha::Tedd` should be used rather than `Alpha::LordTedd` as the universe namespace makes the Tedd referred to obvious. - Grace Sciuridae the Elder is `GraceSr` and Grace "Shade Tail" Sciuridae is `Grace` whereas, in the Alpha namespace, Shade Tail should be written as one word (`Alpha::Shadetail`) (TODO re-evaluate this). See also my comments above about not including non-essential titles. - Adrian Raven is `Raven` - Pandora Chaos Raven is `Pandora` - Edward Verres is `MrVerres` - `DrGermahn` A "nickname" can be: -------------------- - Anything that is either a. used in-universe to refer to the being of then-unknown name or identity, b. wildly used to refer to the character in question, c. obvious regarding which character of then-unknown name or identity it refers to, or d. a valid identifier but not the primary one. Some examples: - `/*"Ronin"*/` - `"MaleFrenchImmortal"` - `Pandora("Chaos")` - Please, be consistent with your use of nicknames (do not say `"MaleFrenchImmortal"` the one time and `"MaleAmnesiacImmortal"` the next). Also (in editable transcripts) mark a name up properly after it becomes apparent e.g. `Ashley("PonytailGirl")` or `Demetrius("MaleFrenchImmortal")` Unambiguity measures -------------------- - In using `X("Y")` to mean the "nickname" of a being, and when that being happens on an unrelated note to be morphed into a specific form, do *not* insert the parenthetical after the "form", as that should only be done of it is the "formname" of the "form". e.g. `Pandora("Chaos")-->"ChildOfChaos"` vs `Elliot->Elliot.PartyAnimal("Heidi")`. This is also relevant to `X(=Y)`. - If two or more beings/forms/etc. can be referred to by one name, more specificity is needed. Talking in a universe namespace =============================== `(Universe X){Y}` This is a signal to interpret anything in Y (which is text containing one or more egsrefer IDs) in relation to X(universe). e.g. - The sentence > `Alpha::Nioi` believes that `Alpha::Shadetail` (who differs exceedingly from `Grace`) may be corrupting `Alpha::Tedd`. could be replaced by the following: - `(Universe Alpha){` `Nioi` believes that `Shadetail` (who differs exceedingly from `Main::Grace`) may be corrupting `Tedd`.\ `}`