GetTilesetResRef(object)
Returns the resref (TILESET_RESREF_*) constant of the tileset used to create the area.
string GetTilesetResRef( object oArea );
Parameters
oArea
The area for which the tileset was used.
Description
Returns the resref (TILESET_RESREF_*) constant of the tileset used to create the area.
Returns an empty string "" on an error.
Remarks
If the area was created from a custom tileset added to the module in a hak pak, it returns the resref defined for that set by the tileset's author.
Version
1.67
Example
// Area OnEnter event script
// If the area being entered was created from the Rural Winter or Frozen Wastes
// tilesets, the entering creature must make a DC 20 reflex save vs. Cold or fall
// down taking 2d6 bludgeoning damage which is reduced by 1/2 if he makes a
// successful tumble skill check at DC 18.
void main()
{
object oArea = OBJECT_SELF;
// Determine the tileset used to create the area being entered.
string sTilesetResref = GetTilesetResRef(oArea);
// If the area was created using the Rural Winter or Frozen Wastes tilesets...
if((sTilesetResref == TILESET_RESREF_RURAL_WINTER) || (sTilesetResref == TILESET_RESREF_FROZEN_WASTES))
{
// Determine who is entering the area.
object oCreature = GetEnteringObject();
// Creature must make a DC 20 reflex save vs. Cold...
if(!ReflexSave(oCreature, 20, SAVING_THROW_TYPE_COLD))
{
// The creature failed the check and will fall down. Determine if he
// falls on his face or on his back (random 50-50 chance either way)
int iFaceOrBack = ((d2() == 1) ? ANIMATION_LOOPING_DEAD_FRONT : ANIMATION_LOOPING_DEAD_BACK);
// Make the creature fall down for 2 rounds. SetCommandable is used to
// ensure the animation cannot be cancelled until the 2 rounds have passed.
// ActionPlayAnimation is used instead of applying a Knockdown effect in
// order to bypass Knockdown immunity.
AssignCommand(oCreature, ClearAllActions(TRUE));
AssignCommand(oCreature, ActionPlayAnimation(iFaceOrBack, 1.0, RoundsToSeconds(2)));
AssignCommand(oCreature, ActionDoCommand(SetCommandable(TRUE, oCreature)));
AssignCommand(oCreature, SetCommandable(FALSE, oCreature));
// Determine how much damage is taken in the fall (2d6).
int iFallDownDamage = d6(2);
// Reduce damage by 1/2 if the creature successfully passes a DC 18 tumble check.
if(GetIsSkillSuccessful(oCreature, SKILL_TUMBLE, 18))
{
iFallDownDamage /= 2;
}
// Apply the bludgeoning damage to the creature.
effect eFallDownDamage = EffectDamage(iFallDownDamage, DAMAGE_TYPE_BLUDGEONING, DAMAGE_POWER_ENERGY);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eFallDownDamage, oCreature);
}
}
}
See Also
| constants:  | TILESET_RESREF_* |
| categories:  | Area Functions |
author: bernosky, editor: Mistress, contributor: Axe Murderer