Further file organization
Further file organization
This commit is contained in:
60
nwn/nwnprc/trunk/newspellbook/moi_mld_lndshrkt.nss
Normal file
60
nwn/nwnprc/trunk/newspellbook/moi_mld_lndshrkt.nss
Normal file
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
6/1/20 by Stratovarius
|
||||
|
||||
Landshark Boots Chakra Bind (Totem)
|
||||
|
||||
Your hands as well as your feet gain the heavy claws of a bulette, including one prominent central claw and two smaller claws on the sides.
|
||||
These massive claws emerge from the backs of your hands so you can bring them to bear while making a fist.
|
||||
|
||||
You can use the claws on your hands as natural weapons that deal 1d6 points of damage. You cannot use a shield while these claws are in place.
|
||||
For every point of essentia you invest in your landshark boots, you gain a +1 enhancement bonus on attack rolls and damage rolls with these claws.
|
||||
If you achieve a Jump check result good enough to jump over an opponent, you can attack that opponent with all four claws as a standard action.
|
||||
You cannot make any other attacks in the same round, whether from natural weapons or manufactured weapons.
|
||||
*/
|
||||
|
||||
#include "moi_inc_moifunc"
|
||||
#include "prc_inc_combat"
|
||||
|
||||
void SharkAttack(object oTarget, object oMeldshaper)
|
||||
{
|
||||
effect eNone;
|
||||
PerformAttack(oTarget, oMeldshaper, eNone, 0.0, 0, 0, 0, "Landshark Attack Hit", "Landshark Attack Miss");
|
||||
PerformAttack(oTarget, oMeldshaper, eNone, 0.0, 0, 0, 0, "Landshark Attack Hit", "Landshark Attack Miss");
|
||||
PerformAttack(oTarget, oMeldshaper, eNone, 0.0, 0, 0, 0, "Landshark Attack Hit", "Landshark Attack Miss");
|
||||
PerformAttack(oTarget, oMeldshaper, eNone, 0.0, 0, 0, 0, "Landshark Attack Hit", "Landshark Attack Miss");
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
object oMeldshaper = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int iJumpRoll = d20() + GetSkillRank(SKILL_JUMP, oMeldshaper) + GetAbilityModifier(ABILITY_STRENGTH, oMeldshaper);
|
||||
int nDC = 12;
|
||||
int nSizePenalty;
|
||||
int nSize = PRCGetCreatureSize(oTarget);
|
||||
effect eNone;
|
||||
|
||||
if(nSize == CREATURE_SIZE_MEDIUM) nSizePenalty = 5;
|
||||
if(nSize == CREATURE_SIZE_LARGE) nSizePenalty = 10;
|
||||
if(nSize == CREATURE_SIZE_HUGE) nSizePenalty = 15;
|
||||
if(nSize == CREATURE_SIZE_GARGANTUAN) nSizePenalty = 20;
|
||||
if(nSize == CREATURE_SIZE_COLOSSAL) nSizePenalty = 25;
|
||||
|
||||
nDC += nSizePenalty;
|
||||
// Claws only, and need to make the jump
|
||||
if(iJumpRoll >= nDC && !GetIsObjectValid(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oMeldshaper)))
|
||||
{
|
||||
AssignCommand(oMeldshaper, ClearAllActions(TRUE));
|
||||
effect eJump = EffectDisappearAppear(GetLocation(oMeldshaper));
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eJump, oMeldshaper, 3.1);
|
||||
|
||||
DelayCommand(0.0, SharkAttack(oTarget, oMeldshaper));
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
FloatingTextStringOnCreature("Jump check failed.", oMeldshaper);
|
||||
DelayCommand(0.0, PerformAttack(oTarget, oMeldshaper, eNone, 0.0, 0, 0, 0, "Hit", "Miss"));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user