I'm using a method of override event type equip to cast spells when items are equipped on pc's
I have it working I've already got a speed item, a rock armor item and a spell wisp item.
Well I have been trying to get a hood to cast combat magic. Now I get the spell animation, and vfx. but the damage modifier isn't getting updated in the inventory or character screen. So I can't tell if the spell if doing its job or not.
I know my method works, as I have it going on other spells.
Not to mention.
I copied the combat magic spell straight from the modal script.
Anybody work with or customize that spell, and know if there is something funky about it that would cause custom versions to not be reflected in your stats?
combat magic spell can't get gui damage to update.
Débuté par
mutantspicy
, oct. 17 2010 12:38
#1
Posté 17 octobre 2010 - 12:38
#2
Posté 17 octobre 2010 - 04:54
Ok. I verified the attack modifier is getting updated. As I tried the item on a rogue that I gave some artificial spell power. The attack mod updates. The damage doesn't
Now I noticed that std Combat Magic calls for passive ability 102. Which I am assuming thats where the damage gets changed from using strength to magic. But the odd thing is that row is filled with zeros. The original spell Combat Magics call this passive ability and properly updates the damage, but I did notice. That you have to open the character sheet to get the damage update. If you open inventory nothing happens. Click character the damage update is there, and when you go back to inventory that change is now reflected. So I'm wondering why that is. And why my custom version doesn't do it even though, I'm calling the same passive ability ID 102.
Now I noticed that std Combat Magic calls for passive ability 102. Which I am assuming thats where the damage gets changed from using strength to magic. But the odd thing is that row is filled with zeros. The original spell Combat Magics call this passive ability and properly updates the damage, but I did notice. That you have to open the character sheet to get the damage update. If you open inventory nothing happens. Click character the damage update is there, and when you go back to inventory that change is now reflected. So I'm wondering why that is. And why my custom version doesn't do it even though, I'm calling the same passive ability ID 102.
Modifié par mutantspicy, 17 octobre 2010 - 04:54 .
#3
Posté 17 octobre 2010 - 05:54
Edit: nm, should learn to read
Modifié par TimelordDC, 17 octobre 2010 - 05:55 .
#4
Posté 17 octobre 2010 - 06:23
Well I just figured out the issue. In Core_h.nss, there is this little nugget.
float Combat_Damage_GetAttributeBonus(object oCreature, int nHand = HAND_MAIN, object oWeapon = OBJECT_INVALID, int bDeterministic = FALSE)
{
int nAttribute = PROPERTY_ATTRIBUTE_STRENGTH;
int nAttribute1 = 0;
// -------------------------------------------------------------------------
// some
// -------------------------------------------------------------------------
if (IsObjectValid(oWeapon))
{
int nBaseItemType = GetBaseItemType(oWeapon);
if (nBaseItemType>0)
{
nAttribute = GetM2DAInt(TABLE_ITEMSTATS,"Attribute0",nBaseItemType);
nAttribute1 = GetM2DAInt(TABLE_ITEMSTATS,"Attribute1",nBaseItemType);
}
}
// -------------------------------------------------------------------------
// Combat Magic: Using SpellPower (magic modifier) intead.
// -------------------------------------------------------------------------
if (IsModalAbilityActive(oCreature, ABILITY_SPELL_COMBAT_MAGIC))
{
nAttribute = PROPERTY_ATTRIBUTE_MAGIC;
}
float Combat_Damage_GetAttributeBonus(object oCreature, int nHand = HAND_MAIN, object oWeapon = OBJECT_INVALID, int bDeterministic = FALSE)
{
int nAttribute = PROPERTY_ATTRIBUTE_STRENGTH;
int nAttribute1 = 0;
// -------------------------------------------------------------------------
// some
// -------------------------------------------------------------------------
if (IsObjectValid(oWeapon))
{
int nBaseItemType = GetBaseItemType(oWeapon);
if (nBaseItemType>0)
{
nAttribute = GetM2DAInt(TABLE_ITEMSTATS,"Attribute0",nBaseItemType);
nAttribute1 = GetM2DAInt(TABLE_ITEMSTATS,"Attribute1",nBaseItemType);
}
}
// -------------------------------------------------------------------------
// Combat Magic: Using SpellPower (magic modifier) intead.
// -------------------------------------------------------------------------
if (IsModalAbilityActive(oCreature, ABILITY_SPELL_COMBAT_MAGIC))
{
nAttribute = PROPERTY_ATTRIBUTE_MAGIC;
}
Modifié par mutantspicy, 17 octobre 2010 - 06:23 .
#5
Posté 17 octobre 2010 - 06:28
Now the problem is my custom version of the spell uses the constant.
ABILITY_SPELL_COMBAT_MAGIC_FS
This above script is easy to understand. But I don't want to override core_h. I'm trying to figure out an alternate way of doing the same thing.
If I basically copy the above script and have run off ABILITY_SPELL_CAST_IMPACT. I'm afraid that may cause some serious game bugs.
I don't really know how to go about creating this temporary affect, without simply adding the line to core_h.
ABILITY_SPELL_COMBAT_MAGIC_FS
This above script is easy to understand. But I don't want to override core_h. I'm trying to figure out an alternate way of doing the same thing.
If I basically copy the above script and have run off ABILITY_SPELL_CAST_IMPACT. I'm afraid that may cause some serious game bugs.
I don't really know how to go about creating this temporary affect, without simply adding the line to core_h.
Modifié par mutantspicy, 17 octobre 2010 - 06:31 .
#6
Posté 17 octobre 2010 - 09:33
nm, I came up with something.
I just applied the damage bonus inside the spell.
I just applied the damage bonus inside the spell.





Retour en haut







