
As does Albert's!

Thanks
Thank you
Yes, definitely. I will play it more extensively (i.e. the quests) when I have finished the follower mod.
Code: Select all
Actor Property Samuel Auto
Actor Property PlayerRef Auto
Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)
if akSourceContainer == PlayerRef
if (akBaseItem as Weapon) || (akBaseItem as Ammo)
Samuel.equipitem(akBaseItem)
endif
UpdateCombatSkills()
endif
EndEvent
Code: Select all
Event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)
if akDestContainer == PlayerRef
if (akBaseItem as Weapon)
UpdateCombatSkills()
endif
endif
EndEvent
Code: Select all
GlobalVariable Property CombatSpellGlobal Auto
GlobalVariable Property CombatStyleGlobal Auto
Spell Property SpellSignature Auto
Spell Property SpellFire Auto
Spell Property SpellFrost Auto
Spell Property SpellShock Auto
Function UpdateCombatSkills()
int CombatSpellInt = CombatSpellGlobal.getvalueint()
Samuel.removespell(SpellSignature)
Samuel.removespell(SpellFire)
Samuel.removespell(SpellFrost)
Samuel.removespell(SpellShock)
;=== setting the appropriate combat styles, spells and skills
if Samuel.GetEquippedItemType(0) == 0 && Samuel.GetEquippedItemType(1) == 0
;debug.notification("no weapon")
Samuel.forceav("destruction", Samuel.getbaseav("destruction"))
Samuel.forceav("destruction", Samuel.getbaseav("destruction") + 50)
Samuel.forceav("onehanded", Samuel.getbaseav("onehanded"))
Samuel.forceav("onehanded", Samuel.getbaseav("onehanded") - Samuel.getbaseav("onehanded") * 0.5)
Samuel.forceav("twohanded", Samuel.getbaseav("twohanded"))
Samuel.forceav("twohanded", Samuel.getbaseav("twohanded") - Samuel.getbaseav("twohanded") * 0.5)
Samuel.forceav("marksman", Samuel.getbaseav("marksman"))
Samuel.forceav("marksman", Samuel.getbaseav("marksman") - Samuel.getbaseav("marksman") * 0.5)
CombatStyleGlobal.setvalue(0)
; signature spell
if CombatSpellInt == 1
Samuel.AddSpell(SpellSignature)
; fire spell
elseif CombatSpellInt == 2
Samuel.AddSpell(SpellFire)
; frost spell
elseif CombatSpellInt == 3
Samuel.AddSpell(SpellFrost)
; shock spell
elseif CombatSpellInt == 4
Samuel.AddSpell(SpellShock)
endif
;--- one-handed swords, daggers, axes and maces
elseif (Samuel.GetEquippedItemType(1) > 0 && Samuel.GetEquippedItemType(1) < 5)
;debug.notification("one-handed")
Samuel.forceav("destruction", Samuel.getbaseav("destruction"))
Samuel.forceav("destruction", Samuel.getbaseav("destruction") + 25)
Samuel.forceav("onehanded", Samuel.getbaseav("onehanded"))
Samuel.forceav("onehanded", Samuel.getbaseav("onehanded") +50)
Samuel.forceav("twohanded", Samuel.getbaseav("twohanded"))
Samuel.forceav("twohanded", Samuel.getbaseav("twohanded") - Samuel.getbaseav("twohanded") * 0.5)
Samuel.forceav("marksman", Samuel.getbaseav("marksman"))
Samuel.forceav("marksman", Samuel.getbaseav("marksman") - Samuel.getbaseav("marksman") * 0.5)
CombatStyleGlobal.setvalue(1)
; signature spell
if CombatSpellInt == 1
Samuel.AddSpell(SpellSignature)
; fire spell
elseif CombatSpellInt == 2
Samuel.AddSpell(SpellFire)
; frost spell
elseif CombatSpellInt == 3
Samuel.AddSpell(SpellFrost)
; shock spell
elseif CombatSpellInt == 4
Samuel.AddSpell(SpellShock)
endif
;--- two-handed swords and axes/maces
elseif Samuel.GetEquippedItemType(1) > 4 && Samuel.GetEquippedItemType(1) < 7
;debug.notification("two-handed")
Samuel.forceav("twohanded", Samuel.getbaseav("twohanded"))
Samuel.forceav("twohanded", Samuel.getbaseav("twohanded") +50)
Samuel.forceav("marksman", Samuel.getbaseav("marksman"))
Samuel.forceav("marksman", Samuel.getbaseav("marksman") - Samuel.getbaseav("marksman") * 0.5)
Samuel.forceav("onehanded", Samuel.getbaseav("onehanded"))
Samuel.forceav("onehanded", Samuel.getbaseav("onehanded") - Samuel.getbaseav("onehanded") * 0.5)
CombatStyleGlobal.setvalue(2)
;--- bows
elseif Samuel.GetEquippedItemType(0) == 7
;debug.notification("bow")
Samuel.forceav("marksman", Samuel.getbaseav("marksman"))
Samuel.forceav("marksman", Samuel.getbaseav("marksman") +50)
Samuel.forceav("onehanded", Samuel.getbaseav("onehanded"))
Samuel.forceav("onehanded", Samuel.getbaseav("onehanded") - Samuel.getbaseav("onehanded") * 0.5)
Samuel.forceav("twohanded", Samuel.getbaseav("twohanded"))
Samuel.forceav("twohanded", Samuel.getbaseav("twohanded") - Samuel.getbaseav("twohanded") * 0.5)
CombatStyleGlobal.setvalue(3)
;--- staffs
elseif Samuel.GetEquippedItemType(1) == 8 || Samuel.GetEquippedItemType(0) == 8
;debug.notification("staffs")
Samuel.forceav("destruction", Samuel.getbaseav("destruction"))
Samuel.forceav("destruction", Samuel.getbaseav("destruction") + 25)
Samuel.forceav("onehanded", Samuel.getbaseav("onehanded"))
Samuel.forceav("onehanded", Samuel.getbaseav("onehanded") +50)
Samuel.forceav("twohanded", Samuel.getbaseav("twohanded"))
Samuel.forceav("twohanded", Samuel.getbaseav("twohanded") - Samuel.getbaseav("twohanded") * 0.5)
Samuel.forceav("marksman", Samuel.getbaseav("marksman"))
Samuel.forceav("marksman", Samuel.getbaseav("marksman") - Samuel.getbaseav("marksman") * 0.5)
CombatStyleGlobal.setvalue(1)
; signature spell
if CombatSpellInt == 1
Samuel.AddSpell(SpellSignature)
; fire spell
elseif CombatSpellInt == 2
Samuel.AddSpell(SpellFire)
; frost spell
elseif CombatSpellInt == 3
Samuel.AddSpell(SpellFrost)
; shock spell
elseif CombatSpellInt == 4
Samuel.AddSpell(SpellShock)
endif
;--- crossbows
elseif Samuel.GetEquippedItemType(1) == 12 || Samuel.GetEquippedItemType(0) == 12
;debug.notification("crossbows")
Samuel.forceav("marksman", Samuel.getbaseav("marksman"))
Samuel.forceav("marksman", Samuel.getbaseav("marksman") +50)
Samuel.forceav("onehanded", Samuel.getbaseav("onehanded"))
Samuel.forceav("onehanded", Samuel.getbaseav("onehanded") - Samuel.getbaseav("onehanded") * 0.5)
Samuel.forceav("twohanded", Samuel.getbaseav("twohanded"))
Samuel.forceav("twohanded", Samuel.getbaseav("twohanded") - Samuel.getbaseav("twohanded") * 0.5)
CombatStyleGlobal.setvalue(3)
endif
EndFunction
You can still disable his combat spells via his settings menu