Natural Weapons (Savage)

From HLKitWiki
Revision as of 21:34, 9 February 2009 by Rob (Talk | contribs) (Defining the Natural Weapons)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Context: HL KitAuthoring Examples … Savage Worlds Walk-Through 


When we added races earlier, we made a note to add their natural weapons after everything was in place for weapons. We've reached that point, so we might as well get the natural weapons working now.

General Approach

Many game systems have races that confer special nuances to the unarmed attacks of its members. Consequently, the "Unarmed Strike" weapon (unique id "wpUnarmed") has been designed so that it can be readily overridden for situations like this. Fields like the weapon damage can be changed via an Eval script, and new tags for special abilities can be easily assigned as well.

For each race with a natural weapon, an appropriate ability is already defined and bootstrapped by the race. This ability can have an Eval script defined for it that properly overrides the "Unarmed Attack" weapon with the appropriate behaviors for the race. A separate Eval script on the ability will manage any other special behaviors associated with the natural weapon. This approach works well for situations like the Rakashan race, where their claws serve both as a natural weapon and confer a bonus when climbing.

Defining the Natural Weapons

The Rakashans possess a natural weapon in the form of "Claws", and they do "Str+d6" damage. So we'll start by adding a new Eval script to the Rakashan Claws ability (unique id "abClawsRk"), which can be found in the file "thing_races.dat". The only thing we need to do for this ability is change the name and damage of the "Unarmed Strike" weapon to something more appropriate. Changing the damage requires that we forward the appropriate "WeaponDie" tag before it is referenced. We'll use the "focus" mechanism so that we only need to identify the "Unarmed Strike" weapon a single time and can then operate on it easily. This yields a new Eval script that looks similar to the one below.

<eval index="2" phase="Initialize" priority="1000"><![CDATA[
  perform hero.child[wpUnarmed].setfocus
  focus.field[livename].text = "Claws"
  perform focus.assign[WeaponDie.3]

At this point, anytime the Rakashan race is selected, the built-in "Unarmed Strike" attack will be customized so that it appears to be a completely different attack for the character.

The Saurian race is very similar to the Rakashans. All that is needed is to revise the name and damage of the "Unarmed Strike" to yield an appropriate replacement. If the natural weapon confers special abilities that require new weapon tags, those can be assigned to the "Unarmed Strike" weapon in the same way that fields are being overridden.