My immediate thoughts are that your script still extends
activemagiceffect. It will need to extend
ObjectReference if it is to remain on the weapon object.
Since the script is on the Ebony Blade those events will only fire if the weapon enters the bleed-out or dying states, I can't think of how this might be possible. You could script an ability to be added/removed to the wielder with OnEquipped/OnUnEquipped Events. Then your extends
activemagiceffect. script will be able to get events on the actors for OnEnterBleedout and OnDying.
The script for the scale reset is on the blade itself, not an enchantment.
Here it is:
Scriptname DA08EbonyBladeScaleReset extends activemagiceffect{The wielder should shrink back down to a specified scale when they enter bleedout or die.}Actor Property Wielder Autofloat NewScalefloat DefaultScaleEvent OnEquipped(Actor akCaster)Wielder = akCaster ;now we know who is wielding the Ebony Blade ;Debug.Notification("Wielder is" + akCaster)DefaultScale = Wielder.GetScale()EndEventEvent OnEnterBleedout (Actor akCaster) ;Starts the process when the wielder enters bleedout. Wielder.SetScale(DefaultScale)EndEventEvent OnDying (Actor akCaster) ;This is if the wielder is killed without entering bleedout first.Wielder.SetScale(DefaultScale)EndEventI meant that the new followers are getting the scale of the old followers on their first kill, once the blade is off then they do not increase in size until I give it back to them.
Sorry, I don't know what you mean by this? You have follower A who has used the weapon to reach a scale of 1.5, you then give the weapon to follower B with a scale of 1.0 who achieves a scale of 1.6 on their first kill? (assuming a growth of 0.1 per kill) Is this your problem? Somehow something must be going wrong with CurrentScale = Wielder.GetScale(). I don't see how but I'd try moving that line of code up into the
OnEffectStart Event.
*EDIT: Depending on what you need to do, you can insert a delay in the script with:
Utility.Wait(x.y)
Which will pause the script in its tracks for that value in seconds.