Difference between revisions of "GetAC"

From NWN Lexicon
Jump to: navigation, search
Line 8: Line 8:
  
 
<nwscript>
 
<nwscript>
[[int | int ]] GetAC(
+
int GetAC(
    [[object | object ]] oObject,
+
    object oObject,
    [[int | int ]] nForFutureUse = 0
+
    int nForFutureUse = 0
);
+
);
 
</nwscript>
 
</nwscript>
  
Line 45: Line 45:
  
 
<nwscript>
 
<nwscript>
// this script can simulate an attack triggered when a door or  
+
// this script can simulate an attack triggered when a door or  
// placeable is opened.   
+
// placeable is opened.   
// this script rolls a d20 and checks the results against the  
+
// this script rolls a d20 and checks the results against the  
// person's AC; if the die roll is at least the AC of the target it  
+
// person's AC; if the die roll is at least the AC of the target it  
// does d10 damage (kind of a very unfair trap that can't be
+
// does d10 damage (kind of a very unfair trap that can't be
// searched for or disabled).
+
// searched for or disabled).
main()
+
main()
{
+
{
    object oPC = GetLastOpenedBy();
+
  object oPC = GetLastOpenedBy();
    int nDieRoll = d20();
+
  int nDieRoll = d20();
    if (nDieRoll &gt;= GetAC(oPC)) {
+
  if (nDieRoll &gt;= GetAC(oPC)) {
      effect eDamage = EffectDamage(d10(), DAMAGE_TYPE_PIERCING);
+
      effect eDamage = EffectDamage(d10(), DAMAGE_TYPE_PIERCING);
      ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oPC);
+
      ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oPC);
    }
+
  }
}
+
}
 
</nwscript>
 
</nwscript>
  

Revision as of 00:24, 26 August 2012



GetAC(object, int)

Retrieves the AC (armor class) of a creature.

int GetAC(
    object oObject,
    int nForFutureUse = 0
);

Parameters

oObject

The object to get the AC of.

nForFutureUse

Parameter reserved for future use and currently does nothing. (Default: 0)


Description

Returns the AC (armor class) of oObject if it is a creature.

Returns 0 if oObject is an item, door, or placeable.
Returns -1 if oObject is not a creature, item, door, or placeable.

nForFutureUse is not in use, and should not be changed.



Remarks

This shouldn't get any AC-versus bonuses - EG: Protection Against Evil grants +2 deflection AC against evil-only people, or AC verus a specific damage type.

It will, in reality, return the exact AC value on the character sheet - this does not include versus-bonuses, and is the "AC versus all" of the character.

Doors, Placeables can be attacked, and do actually have an AC of 0, because only a critical miss (Getting a 1 on a d20) will miss it.


Version

1.28

Example

// this script can simulate an attack triggered when a door or 
// placeable is opened.  
// this script rolls a d20 and checks the results against the 
// person's AC; if the die roll is at least the AC of the target it 
// does d10 damage (kind of a very unfair trap that can't be
// searched for or disabled).
main()
{
   object oPC = GetLastOpenedBy();
   int nDieRoll = d20();
   if (nDieRoll &gt;= GetAC(oPC)) {
      effect eDamage = EffectDamage(d10(), DAMAGE_TYPE_PIERCING);
      ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oPC);
   }
}

See Also

functions: 

GetItemACValue



 author: Tom Cassiotis, editor: Jasperre