Aller au contenu

Photo

Improving AA abilities


  • Veuillez vous connecter pour répondre
27 réponses à ce sujet

#26
Lazarus Magni

Lazarus Magni
  • Members
  • 1 134 messages
Thanks for sharing the code Shadooow, but I am not sure what I would do with this? I will try to look it over in more depth though.

[quote]ShaDoOoW wrote...

Lazarus: you aksed for ideas, well my idea is to abadon this solution and rather choose a balance change that would work for you, its easier to implement and also easier to balance. For example on Antiworld, physical damage is added to magical which works for them very well and makes from AAs mage killers.

BTW I tried to implement something similar in past for fake attacks with any weapon, but I never implemented it and because of new NWNX features in past year I also abadoned this solution.

However maybe my old code could be some of use to you, so there is it:[quote]

Modifié par Lazarus Magni, 06 décembre 2011 - 10:11 .


#27
Shadooow

Shadooow
  • Members
  • 4 470 messages
What would you do? Probably reuse some knowhow that is there and you missed it like massive damage, ranger favored enemy etc. at least if you are still going this route.

To implement post 40 bonus into AA arrows is easy, try this:

int Post40DMGBonusForAA(object oPC)
{
// Modifier introduced for barbarian rage
float fBonusMod = GetLocalFloat(oPC, "core_post_modifier");
int nXP = GetXP( oPC );
int nLevel = pf_GetLevelFromXP( nXP );
if ( nLevel < 40 )
{
return 0;
}
int nStrMod = GetAbilityModifier( ABILITY_STRENGTH, oPC );

int nPost = ( nLevel - 40 );
int nPureBonus = 0;
int nRequiredXP = ((( nLevel * ( nLevel + 1 )) / 2 ) * 1000 );
float fMeleeFactor = calcMeleeFactor( oPC );

if ( fMeleeFactor == 1.0 )
{
nPureBonus = nPost/8;
}
fMeleeFactor += fBonusMod;

int nAB = FloatToInt( IntToFloat( nPost )/ 2.0 * fMeleeFactor );

if ( GetIsObjectValid( GetItemPossessedBy( oPC, "GrtrMeleeRunV2" )))
{
fMeleeFactor *= 1.0 + (0.5);
}
else if ( GetIsObjectValid( GetItemPossessedBy( oPC, "LesrMeleeRunV2" )))
{
fMeleeFactor *= 1.0 + (0.25);
}

int nBonus = FloatToInt( IntToFloat( nPost ) / 2.0 * fMeleeFactor ) + nPureBonus;
return nBonus;
}


and then add the value of
int post40dmg = Post40DMGBonusForAA(oPC);
into AA arrow damage calculation as a piercing for example.

Modifié par ShaDoOoW, 06 décembre 2011 - 11:01 .


#28
Lazarus Magni

Lazarus Magni
  • Members
  • 1 134 messages
Ahh that's cool, thank you shadooow, I will look into this.