Skip to content

Torg Eternity: Character Generator, Custom Data, Prerequisites

July 9, 2018

This is part of the continuing discussion on how to customize the game data in the TOCG character generator for the Torg Eternity roleplaying game. Please go here for the start of the series. This post is going to examine how to define prerequisites for perks, items, and special abilities.

Prerequisites

In this post we’ll go over the different kinds of prerequisites that can be applied to certain game elements. “Prereqs” are mainly used by perks, but can also be applied to items and special abilities.

To recap, one of the optional nested XML elements that can be included in the Perk element is the Prereqs element. Here is an example perk with a racial prerequisite:

<Perks>

<Perk name=“Unblinking” category=“Stalenger” contradiction=“false” takeAgain=“false” limitations=“false” enhancements=“false”>

<Summary>Win stare downs (no eyes), with Active Defense gain +10 vs. Intimidate.</Summary>
<Description>Please see The Stalenger Uprising PDF on the Torg website.</Description>

<Prereqs>

<Race name=“Stalenger” />

</Prereqs>

</Perk>

</Perks>

In this case, the character would have to belong to the “Stalenger” race before this perk could be selected.

The available XML elements that can be nested inside of a Prereqs element are:

  • <Attribute name=“(attribute shortName)”>(minimum number)</Attribute> The character must have at least the (minimum number) in a particular game attribute. The (attribute shortName) has to be set to the shortName XML attribute of the an Attribute element. It’s hard to talk about “attributes” without getting confused here…
    • Example: <Attribute name=“Spi”>10</Attribute>
    • Meaning: The character must have a 10+ Spirit.
  • <CharacterType type=“(type name)” /> The character must be of the appropriate type. The (type name) has to be set to one of “PC”, “NPC”, or “Follower”. Generally this is just used to restrict a game item to being only for player characters, as they have specific game rules that others don’t; e.g. Destiny cards.
    • Example: <CharacterType type=“PC” />
    • Meaning: The character must be a player character.
  • <Clearance name=“(clearance name)” /> The character must have at least a clearance level of (clearance name). The (clearance name) has to be set to the name XML attribute of a ClearanceLevel element.
    • Example: <Clearance name=“Beta” />
    • Meaning: The character must have a clearance level of Beta or higher.
  • <Faith name=“(faith name)” minAdds=“(minimum number)” /> The character must belong to a particular faith. The (faith name) has to be set to the name XML attribute of a Faith element. Since you only get to chose a faith if you have a miracle-granting perk (e.g. Miracles, Optant, etc.), not every character will have one. In that case the prerequisite can check if the character has some (minimum number) of adds in the faith skill to qualify. The minAdds XML attribute is optional; if it is omitted, its value will default to “1”.
    • Example: <Faith name=“Keta Kalles” />
    • Meaning: The character must belong to the Keta Kalles faith, or if the character has no chosen faith, must have at least one add in the faith skill.
  • <Glory personal=“(true or false)” /> The character must have either been part of a group that played a Glory card (if the personal attribute is “false”) or must have personally played such a card (if the personal attribute is “true”).
    • Example: <Glory personal=“true” />
    • Meaning: The character must have personally played a Glory card.
  • <HomeCosm name=“(cosm shortName)” /> The character must be from a particular cosm. The (cosm shortName) has to be set to the shortName XML attribute of a Cosm element.
    • Example: <HomeCosm name=“LL” />
    • Meaning: The character must be from the Living Land.
  • <IgnoreCategoryPrereq /> This special element will cause the cosm prerequisite on the perk’s category to be ignored. It can only be used by perks.
    • Example: <IgnoreCategoryPrereq />
    • Meaning: The character does not have to be from any of the cosms associated with the perk’s PerkCategory.
  • <LogicalAnd>(nested prerequisite elements)</LogicalAnd> This prerequisite is unusual in that it’s a collection of other prerequisites. Normally, the character must meet all of the prerequisites nested inside of the <Prereqs> </Prereqs> element. But sometimes there are different paths to qualify for a perk or other game bit. The LogicalAnd is only needed if you need to model a prerequisite such as: (A and B) or C. That is, the character meets the prerequisites if A and B are true, or if C is true. In that case you would create a series of nested elements, placing the LogicalAnd element inside of a LogicalOr element (see below), like in the following example.
    • Example: <LogicalOr info=“Beta clearance and Realm Runner, or Gamma clearance”>
      <LogicalAnd>
      <Clearance name=“Beta” />
      <Perk name=“Realm Runner” />
      </LogicalAnd>
      <Clearance name=“Gamma” />
      </LogicalOr>
    • Meaning: The character must have Beta clearance and the Realm Runner perk, or must have Gamma clearance.
  • <LogicalOr info=“(summary)”>(nested prerequisite elements)</LogicalOr> This prerequisite is unusual in that it’s a collection of other prerequisites. Normally, the character must meet all of the prerequisites nested inside of the <Prereqs> </Prereqs> element. But what if there are different paths to qualify for the perk, item, etc. and the character only needs to meet one of the prerequisites? Those different criteria can be placed inside of the LogicalOr, and the character will pass if it meets any of the prerequisites therein. The (summary) is a short description of what the overall requirement is, so that it can be communicated to the user.
    • Example: <LogicalOr info=“at least 3 adds in Melee Weapons or Unarmed Combat”>
      <SkillAdds name=“Melee Weapons”>3</SkillAdds>
      <SkillAdds name=“Unarmed Combat”>3</SkillAdds>
      </LogicalOr>
    • Meaning: As the info attribute says, the character must have at least 3 adds in either the melee weapons or the unarmed combat skill.
  • <NoCategory name=“(perk category name)” /> The character cannot have any perks of the specified category. The (perk category name) has to be set to the name XML attribute of a PerkCategory element.
    • Example: <NoCategory name=“Light” />
    • Meaning: The character cannot have any perks from the Light category.
  • <NoPerk name=“(perk name)” /> The character cannot have a particular perk. The (perk name) has to be set to the name XML attribute of a Perk element.
    • Example: <NoPerk name=“Spellcaster” />
    • Meaning: The character cannot have the Spellcaster perk.
  • <NoSkillAdds name=“(skill name)” /> The character cannot have any adds in a particular skill. The (skill name) has to be set to the name XML attribute of a Skill element.
    • Example: <NoSkillAdds name=“Faith” />
    • Meaning: The character cannot have any adds in the faith skill.
  • <NoSpecialAbility name=“(special ability name)” /> The character cannot have a particular special ability. The (special ability name) has to be set to the name XML attribute of a SpecialAbility element.
    • Example: <NoSpecialAbility name=“Large” />
    • Meaning: The character cannot have the Large special ability.
  • <NumCategory name=“(perk category name)”>(minimum number)</NumCategory> The character must have at least (minimum number) perks from a particular category. The (perk category name) has to be set to the name XML attribute of a PerkCategory element.
    • Example: <NumCategory name=“Light”>3</NumCategory>
    • Meaning: The character must have at least 3 Light perks.
  • <NumFollowers>(minimum number)</NumFollowers> The character must have at least (minimum number) followers or companions.
    • Example: <NumFollowers>1</NumFollowers>
    • Meaning: The character must have at least 1 follower or companion.
  • <NumSpells type=“(spell type)”>(minimum number)</NumSpells> The character must know at least (minimum number) “spells” of a particular type. The (spell type) must be “Miracle”, “PsiPower”, or “Spell”.
    • Example: <NumSpells type=“PsiPowers”>5</NumSpells>
    • Meaning: The character must know at least 5 psionic powers.
  • <Perk name=“(perk name)” /> The character must have a particular perk. The (perk name) has to be set to the name XML attribute of a Perk element.
    • Example: <Perk name=“Spellcaster” />
    • Meaning: The character must have the Spellcaster perk.
  • <RealityRated>(true or false)</RealityRated> The character must either be reality-rated (if the text inside the element is true), or not be reality-rated (if the text inside the element is false).
    • Example: <RealityRated>true</RealityRated>
    • Meaning: The character must be reality-rated.
  • <Race name=“(race name)” /> The character must be of a particular race. The (race name) has to be set to the name XML attribute of a Race element.
    • Example: <Race name=“Edeinos” />
    • Meaning: The character must be an edeinos.
  • <SkillAdds name=“(skill name)”>(minimum number)</SkillAdds> The character must have at least (minimum number) adds in a particular skill. The (skill name) has to be set to the name XML attribute of a Skill element.
    • Example: <SkillAdds name=“Survival”>2</SkillAdds>
    • Meaning: The character must have at least 2 adds in the survival skill.

Phew! Next up, we’ll talk about the choices that a user might have to make after selecting a perk.

Advertisements

From → Gaming, Software, Torg

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: