A Proposal for a Shadowrun XML Standard

Shadowrun Third Edition instance of rpgcharacter

The rpgcharacter schema is used to define a character in any role-playing system. As such, it is a fairly loose standard. To avoid this standard from being applied in different ways for the Shadowrun Third Edition system, this document provides additional restrictions on the standard when used to described characters from that system. Other such documents may be defined for other gaming systems.

The following table describes subtags of the schema and the additional restrictions that apply for Shadowrun Third Edition characters:

realworld/system/name Must be set to "Shadowrun".
realworld/system/edition Must be set to "3".
realworld/system/reference If used, should be set to "http://www.shadowrunrpg.com/".
realworld/generation Must contain one of the following values:
  • Priority
  • Sum to 10
  • Points
  • BeCKS
bio/identity/level If the identity is forged, this value is the rating or the forgery.
bio/identity/id If used, this tag should contain the identity's SIN.
bio/race/name Must contain one of the following values:
  • Dwarf
  • Elf
  • Human
  • Ork
  • Shapeshifter
  • Troll
bio/race/variant If the bio/race/name is set to "Dwarf", the variant may be one of the following:
  • Gnome
  • Koborokuru
  • Menehune
If the bio/race/name is set to "Elf", the variant may be one of the following:
  • Dryad
  • Night One
  • Wakyambi
If the bio/race/name is set to "Ork", the variant may be one of the following:
  • Hobgoblin
  • Oni
  • Ogre
  • Satyr
If the bio/race/name is set to "Troll", the variant may be one of the following:
  • Cyclops
  • Fomori
  • Giant
  • Minotaurs
If the bio/race/name is set to "Shapeshifter", the variant may be one of the following:
  • Bear
  • Eagle
  • Fox
  • Leopard
  • Seal
  • Tiger
  • Wolf
bio/race/alternate Tags may be present with any or all of the following values:
  • Albino
  • Ghoul
bio/earnedtotal Contains the total number of Karma earned by the character.
bio/earnedremaining Contains the number of unspent Karma the character has.
bio/assets/asset/variation If used to record a lifestyle asset, this may contain one of the following values:
  • Street
  • Squatter
  • Low
  • Middle
  • High
  • Luxury
attribute/name Must be one of the following.
  • Body
  • Quickness
  • Strength
  • Charisma
  • Intelligence
  • Willpower
  • Reaction
  • Initiative
  • Essence
  • Body Index
  • Magic
skills/skill/refid This tag references a skilldef and is used instead of the name tag.
skills/skill/variation Used for maneuvers for martial arts skills. Also used with value of either "Spoken" or "Read/Write" with language skills.
skills/skill/concentration/refid This tag references a concentrationdef and is used instead of the name tag.
properties/property/name Must be any or all of the following (with the required type of the property in parens):
  • MagicalInitiation (int) - The value of a magician's initiatory grade, if any. The details tag is used for this property, as described in below (next row).
  • MagicalGroup (string) - The name of the magical group to which the magician belongs, if any. The details tag is used for this property, as described in below (row after next). There may be more then one properties in the (unlikely) event that the magician belongs to more than one group.
  • MagicalTradition (string) - Typical values are:
    • Adept
    • Aspected Path
    • Elementalist
    • Hermetic
    • Houngan
    • Obeyifa
    • Obeyifa
    • Path
    • Shaman
    • Shamanist Conjurer
    • Shamanist
    • Sorcerer
    • Voodounista
    • Wujen Conjurer
    • Wujen Sorcerer
    • Wujen
  • MagicalSpecialty (string) - Holds the specicality of the the magical tradition, if any. For a shaman or shamanist, this would be set to his or her totem. A full hermetic mage who specializes in a specific school or element would list that school or element here. A full or aspected path magician would list their path. Adepts would list their way.
  • MoveRun (int) - Running movement rate
  • MoveSwim (int) - Swimming movement rate
  • MoveWalk (int) - Walking movement rate
  • PoolAstral (int) - The value of the astral pool, if any
  • PoolAstralCombat (int) - The value of the astral combat pool, if any
  • PoolCombat (int) - The value of the combat pool
  • PoolControl (int) - The value of the control pool, if any
  • PoolKarma (int) - The value of the karma pool
  • PoolHacking (int) - The value of the hacking pool, if any
  • PoolSpell (int) - The value of the spell pool, if any
  • PoolTask (int) - The value of the task pool, if any
  • PriorityAttribute (int) - The value of the attribute priority, if used (A=4, B=3, etc.)
  • PriorityMagic (int) - The value of the magic priority, if used (A=4, B=3, etc.)
  • PriorityRace (int) - The value of the race priority, if used (A=4, B=3, etc.)
  • PriorityResources (int) - The value of the resources priority, if used (A=4, B=3, etc.)
  • PrioritySkill (int) - The value of the skill priority, if used (A=4, B=3, etc.)
properties/property/name=
MagicalInitiation/details
For each grade of initiation, this tag contains a node with a name tag of "Grade Detail" and a value of the grade level the details are about. Each of these tags has a further node tags providing specifics about that grade. These child nodes are are as follows (with the node type list in parens):
  • Type (string) - The value is set to either "Group" or "Self" to reflect the type of initiation done.
  • Cost (int) - The karma cost of the initiation.
  • Ordeal (string) - The value is set to the ordeal undertaken to reach this grade, if any. The value can be one of the following:
    • Astral Quest
    • Asceticism
    • Deed
    • Familiar
    • Geas
    • Meditation
    • Oath
    • Thesis
  • OrdealDetails (string) - Details of the ordeal, if any.
  • Benefit (string) - Benefit taken when acheiving this grade. The value can be one of the following:
    • Alter Astral Signature
    • Shed Geas
    • Anchoring
    • Centering
    • Clensing
    • Divining
    • Invoking
    • Masking
    • Posessing
    • Quickening
    • Reflecting
    • Sheilding
properties/property/name=
MagicalGroup/details
The node tags within this tag are as follows (with the node type list in parens):
  • Purpose (string) - The value is set to either "Initiatory", "Dedicated" or "Conspiratorial".
  • Strictures (int) - The value is set to the number of strictures in the group. This node tag contains child node tags, one for each stricture. The name of these nodes is the stricture itself. The type of these child nodes is always string. The possible names are:
    • Attendance - The value details the specific attendance rules.
    • Belief - The value details the belief structure.
    • Deed - The value details nature of the deed.
    • Exclusive Membership - The value details the restructions.
    • Exclusive Ritual - The value is empty.
    • Fraternity - The value is empty.
    • Geasa - The value is empty.
    • Limited Membership - The value describes the limitation.
    • Material Link - The value decscribes the nature of the link.
    • Oath - The value is empty.
    • Obedience - The value is empty.
    • Sacrifice - The value is empty.
    • Secrecy - The value is empty.
  • Members (int) - The number of members in the group.
  • Customs (string) - Details of the customs of the group, if any.
  • Dues (int) - The amount (in nuyen) the character contribues to monthly dues
  • Resources (string) - Must be one of the lifestyle values (see above).
  • Patron (string) - The name of the group's patron, if any.
augmentations/augmentation/refid This tag references a cyberdef, biowaredef or nanotechdef.
augmentations/augmentation/quality Must be one of the following:
  • Standard
  • Used
  • Alphaware
  • Betaware
  • Deltaware
  • Cultured
augmentations/augmentation/condition Holds the stress points of the item.
augmentations/augmentation/impact Holds the Essence or Body Index cost.
advantages/advantage Holds edges, flaws, and racial abilities.
powers/power/refid This tag references a powerdef and is used instead of the name tag.
spells/spell/refid This tag references a spelldef and is used instead of the name tag.
equipmentlist/equipment/refid This tag references a armordef, compounddef, cyberdeckdef, explosivedef, geardef, programdef, weaponaccdef or weapondef and is used instead of the name tag.
equipmentlist/equipment/unique In addition to any unique properties the item has, a number of set namevaluepair may show up for certain items.
name value type purpose
Bind Cost Karma cost of bound focus int Appears for any focus that is bound.
Sustaining spelldef of spell being sustained string  Appears for any sustaining focus that is bound and sustaining a spell.
SustainingForce Force of sustained spell int Appears for any sustaining focus that is bound and sustaining a spell.
transports/transport/refid This tag references a vehciledef or vesseldef and is used instead of the name tag.