Initial upload.
Adding base PRC 4.19a files to repository.
This commit is contained in:
72
trunk/scripts/prc_fh_ranc.nss
Normal file
72
trunk/scripts/prc_fh_ranc.nss
Normal file
@@ -0,0 +1,72 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Foe Hunter
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Foe Hunter Rancor Attack
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Oni5115
|
||||
//:: Created On: July 12, 2004
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "prc_inc_combat"
|
||||
|
||||
int GetRancorDice(object oPC)
|
||||
{
|
||||
int iFHLevel = GetLevelByClass(CLASS_TYPE_FOE_HUNTER, oPC);
|
||||
int iRancorDice = FloatToInt( (( iFHLevel + 1.0 ) /2) );
|
||||
|
||||
return iRancorDice;
|
||||
}
|
||||
|
||||
int GetRancorDamage(int iNumDice)
|
||||
{
|
||||
int rDam = d6(iNumDice);
|
||||
|
||||
return rDam;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
object oPC = OBJECT_SELF;
|
||||
object oWeapR = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
|
||||
|
||||
int iWeapRDamageType = GetWeaponDamageType(oWeapR);
|
||||
int DamagePower = GetDamagePowerConstant(oWeapR, oTarget, oPC);
|
||||
|
||||
// damage vars
|
||||
int iRancDice = GetRancorDice(oPC);
|
||||
int iRancorDamage = GetRancorDamage(iRancDice);
|
||||
int bIsRangedAttack = GetWeaponRanged(oWeapR);
|
||||
|
||||
if(!bIsRangedAttack)
|
||||
{
|
||||
AssignCommand(oPC, ActionMoveToLocation(GetLocation(oTarget), TRUE) );
|
||||
}
|
||||
|
||||
if(GetHasFeat(FEAT_RANCOR))
|
||||
{
|
||||
string sSuccess = "*Rancor Attack Hit*";
|
||||
string sMiss = "*Rancor Attack Miss*";
|
||||
|
||||
if(GetLocalInt(oPC, "HatedFoe") != MyPRCGetRacialType(oTarget) )
|
||||
{
|
||||
iRancorDamage = 0;
|
||||
sSuccess = "*Not Hated Foe: Rancor Attack Not Possible*";
|
||||
}
|
||||
|
||||
effect eBonusDamage = EffectDamage(iRancorDamage, iWeapRDamageType, DamagePower);
|
||||
|
||||
// gives player a few seconds to run at enemy from distance
|
||||
if(!bIsRangedAttack)
|
||||
{
|
||||
DelayCommand( 2.0, PerformAttackRound(oTarget, oPC, eBonusDamage, 0.0, 0, 0, 0, FALSE, sSuccess, sMiss) );
|
||||
}
|
||||
else
|
||||
{
|
||||
PerformAttackRound(oTarget, oPC, eBonusDamage, 0.0, 0, 0, 0, FALSE, sSuccess, sMiss);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user