So a little about my project: I am creating replacement racial powers which proc automatically on certain conditions. I am generally using the below layout for my replacements.
Ability (constant on self) > Scripted Proc Effect > Created Spell > Original Power effect* + Dummy cooldown effect.
*I may need to change wood elf one a bit to an AoE.
Below is a brief outline of each race
Argonian: Trigger the Hist healing effect on hit when hp is below a threshold.
Orc: Trigger the Berserk effect on hit when hp is below a threshold.
Nord: Trigger the Battle Cry effect on hit when hp is below a threshold. ***
Dunmer: Trigger the Ancestors Wrath effect on hit when hp is below a threshold.
Redguard: Trigger Adrenaline rush effect on hit when hp is below a threshold (I wanted to make it on a power attack by the Redgaurd, but I couldn’t get this to work).
Altmer: Trigger the magicka regen on a spell cast when magicka is below a threshold.
Breton: Trigger the dragonskin effect when hit by a harmful spell.***
Imperial: Trigger Calm effect when hit by a human NPC***
Bosmer: Trigger Command effect when hit by a beast.***
Kajiit: I didnt make any changes, NightEye counting as a minor power and I have no idea if I can script it to proc in dark areas only!
So the *** represent races I have problems with.
1. The Nord Problem: This isnt so much an issue with the ability (I think) becuase it seems to be proccing a lot when I am hitting the nords in Helgen, but for some reason, it isn't showing up on a player Nord. On teh off chance that the script is the problem, it is below.
Spoiler
Scriptname modNordProcEffect extends activemagiceffectactor property selfRef auto hiddenfloat property HPthreshold = 0.70 auto{Below this HP we have a chance of the special effects. }float property effectChance = 0.20 auto{Chance effect may happen. }spell property BattleCry automagicEffect property CryPresent autoEVENT OnEffectStart(Actor Target, Actor Caster)selfRef = casterendEVENTEVENT onHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)if (selfRef.getActorValuePercentage("Health") < HPthreshold) && \!(selfRef.HasMagicEffect(CryPresent)) && \ !(selfRef.isDead()) float dice = utility.RandomFloat(0,1) if dice <= effectChance BattleCry.cast(selfRef,selfRef) endifendifendEVENT2. The Imperial Problem (and wood elf too I guess).
I haven't spent too much time on this, but I have tried the below script, but it wont compile can anyone think of a way how I can have a scripted effect that will result in a spell cast when struck by a beast/human NPC?
Spoiler
actor property selfRef auto hiddenfloat property effectChance = 0.70 autospell property FortifyEffect automagicEffect property FortifyPresent autoEVENT OnEffectStart(Actor Target, Actor Caster) selfRef = caster endEVENTEVENT onHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)if (akAggressor.HasKeyword(ActorTypeNPC)) && \!(selfRef.HasMagicEffect(FortifyPresent)) && \ !(selfRef.isDead()) float dice = utility.RandomFloat(0,1) if dice <= effectChance FortifyEffect.cast(selfRef,selfRef) endifendifendEVENT
3. The Breton Problem:
I have barely thought about this, but I am considering using a onMagicEffectApply event, but it doesnt appear to allow for any checks to define an attack as a harmful spell or not (I could be wrong though).
Can anyone provide some feedback? (this post took me an hour to write, so please dont let it sink to page 8 in 2 minutes!!)


