Aller au contenu

Photo

Changing how some mage spells calculate...


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

#1
Wyldsong

Wyldsong
  • Members
  • 460 messages
 A lot of mage spells have calculations dealing with spellpower.  I am working on figuring out customized abilities, and I want to change some of these of these spells to be usable with warriors/rogues.  What I need to know is, how do I alter these spells to go from calculating spellpower to something like cunning-10?  

For example, the spell Rock Armor calculates it's bonus based on Spellpower/4.0, but I want to try something like Cunning-10/4.0 in a modified form of the ability...is this done through the ABI_base.gda, or is this more of a script thing added via the toolset? How do I go about this?

#2
ladydesire

ladydesire
  • Members
  • 1 928 messages
The following is a case statement from the item_singletarget.nss script that handles the Lesser Health Poultice. As you can see, it indicates that the effectiveness of the health poultice is affected by Spellpower, which is governed by the Magic Stat.



case ABILITY_ITEM_LESSER_HEALTH_POULTICE:

{

float fHeal = (HEALTH_SALVE_BASE + GetCreatureSpellPower(stEvent.oCaster)) * LESSER_HEALTH_SALVE_FACTOR;

eEffect = EffectHeal(fHeal);

ApplyEffectOnObject(EFFECT_DURATION_TYPE_INSTANT, eEffect, stEvent.oTarget, 0.0f, stEvent.oCaster, stEvent.nAbility);



break;

}



This is also how the Item Property +% healing received works, and why that appears to be bugged to those that feel it should work differently than how Bioware designed it.

#3
Wyldsong

Wyldsong
  • Members
  • 460 messages

ladydesire wrote...

The following is a case statement from the item_singletarget.nss script that handles the Lesser Health Poultice. As you can see, it indicates that the effectiveness of the health poultice is affected by Spellpower, which is governed by the Magic Stat.

case ABILITY_ITEM_LESSER_HEALTH_POULTICE:
{
float fHeal = (HEALTH_SALVE_BASE + GetCreatureSpellPower(stEvent.oCaster)) * LESSER_HEALTH_SALVE_FACTOR;
eEffect = EffectHeal(fHeal);
ApplyEffectOnObject(EFFECT_DURATION_TYPE_INSTANT, eEffect, stEvent.oTarget, 0.0f, stEvent.oCaster, stEvent.nAbility);

break;
}

This is also how the Item Property +% healing received works, and why that appears to be bugged to those that feel it should work differently than how Bioware designed it.


Alright, you'll have to forgive me, because I am like a toddler still learning to walk here, but if I take your meaning correctly, this is going to be an issue, where much like the heal spell from this link:

http://social.biowar..._Spell_Tutorial

I'll need a custom script, or copy and alter the script for the original spell.  How do I open an .nss file in the toolset so I can view the scripts for spells/talents/skills? And, for using something like Cunning-10 instead of Spellpower, any idea on how that would be worded in something like this (from the bit above):  GetCreatureSpellPower

#4
Wyldsong

Wyldsong
  • Members
  • 460 messages
Alright, after a ton of trial and error, I figured out how to open spell scripts, nss files so forth and so on. The only key to the puzzle I am missing is this line:



GetCreatureSpellPower



What is the wording needed to put in place of "SpellPower" to get it to calculate based off of an attribute -10? (IE - Strength-10, Cunning-10, Willpower-10, etc, etc)

#5
Wyldsong

Wyldsong
  • Members
  • 460 messages
Got my answer.

#6
FergusM

FergusM
  • Members
  • 460 messages
For reference to anyone else reading this thread, that answer is likely something such as:



GetCreatureProperty(oCreature,PROPERTY_ATTRIBUTE_CUNNING,PROPERTY_VALUE_TOTAL) - 10

#7
Wyldsong

Wyldsong
  • Members
  • 460 messages
@FergusM - I'll try that one out as well. I was given two others to try, I just need to test them, which I'll do later today, and post some results for anyone reading.

#8
Wyldsong

Wyldsong
  • Members
  • 460 messages
Alright, for anyone following along, this is what I used:



GetAttributeModifier(stEvent.oCaster, PROPERTY_ATTRIBUTE_WILLPOWER) - 10



And it seems to be working. It was the first of three I tried, so I ran with it since it worked right off the bat.