Here is the script as it is now.. Obviously I'm still working on it and I'll try using AkTarget as Actor but as it stands now the script is..
Scriptname PsiDiseaseScript1 extends activemagiceffect PsiNecromancyQuestScript Property PsiNecroQuest AutoSpell Property DisBloodLung autoSpell Property DisBoneBreakFever autoSpell Property DisBrainRot autoSpell Property DisMonkeyFinger autoSpell Property DisRockJoint autoSpell Property DisWitBane autoSpell Property Rattles autoPerk Property CurseMastery autoInt Property MonkeyFinger autoInt property DiseaseChanceBonus autoInt Property DiseaseBonus autoInt Property HasBoneBreakFever autoInt Property HasBrainRot autoInt Property HasMonkeyFinger autoInt Property HasRattles autoInt Property HasRockJoint autoInt Property HasWitbane autoInt Property HasBloodLung autoInt Property DiseasedStamina autoInt Property DiseasedMagicka autoInt Property DiseasedEnemyCarryWeight autoInt Property DiseasedOneHandSkills autoInt Property DiseasedTwoHandSkills autoInt Property DiseasedDisResist autoInt Property DiseasedOneHandedSkills autoInt Property DiseasedTwoHandedSkills autofloat Diseasebonusfloatfloat DiseasedMagickaRegenFloat ApplyOnceEvent OnInit()ApplyOnce = 0EndEvent;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Events Starting Magick Effect;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Event OnEffectStart(Actor AkTarget, Actor Caster)actor myTargetmyTarget = akTarget as Actor;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Get Player Perk Bonuses;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;if (Game.GetPlayer().HasPerk(CurseMastery)) DiseaseChanceBonus = 100 DiseaseBonus = 10Endif;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Get Random Ints for resist and such;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; int EnemyResist = Utility.RandomInt(1, EnemyHealth) as int int DiseaseChance = Utility.RandomInt(1, 100 + (DiseaseChanceBonus)) as int DiseaseChance = (DiseaseChance + MonkeyFinger) int DiseaseScale = Utility.RandomInt(1, 100) as int Actor TargetActor = GetTargetActor();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Define Enemy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; int EnemyHealth = TargetActor.GetAV("Health") as int int EnemyMagicka = TargetActor.GetAV("Magicka") as int int EnemyHealthRegen = TargetActor.GetAV("HealRate") as int int EnemyMagickaRegen = TargetActor.GetAV("MagickaRate") as int int EnemyStamina = TargetActor.GetAV("Stamina") as int int EnemyStaminaRate = TargetActor.GetAV("StaminaRate") as int int EnemyCarryWeight = TargetActor.GetAV("CarryWeight") as int int EnemyOnehand = TargetActor.GetAV("OneHanded") as int int EnemyTwohand = TargetActor.GetAV("TwoHanded") as int int EnemyDiseaseResist = TargetActor.GetAV("DiseaseResist") as int;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; What happens if enemy gets diseased;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;if DiseaseChance > EnemyResist int WhichDisease = Utility.RandomInt(1, 100 + (DiseaseBonus)) as int ;Debug.Messagebox("The enemy failed Resist check");;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; if WhichDisease < 20 DiseasedStamina = 0 if AkTarget.HasSpell(DisBloodLung) HasBloodLung = 1 WhichDisease = (WhichDisease + 10) endif if HasBloodLung == 0 Int BloodLung = Utility.RandomInt(1, 10) as int BloodLung = (BloodLung + DiseaseBonus) DiseasedStamina = (EnemyStamina - BloodLung) as Int AkTarget.SetAV("Stamina", DiseasedStamina) HasBloodLung = 1 Debug.Messagebox("Your target has been afflicted with Blood Lung! Stamina reduced by" + BloodLung) Endif endif;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; If WhichDisease < 19 If WhichDisease < 40 If HasBoneBreakFever == 1 WhichDisease = (WhichDisease + 10) endif If HasBoneBreakFever == 0 Int BoneBreakFever = Utility.RandomInt(10, 50 ) as int if DiseaseBonus == 10 DiseaseBonus = (DiseaseBonus + 30) endif BoneBreakFever = (BoneBreakFever + DiseaseBonus) DiseasedEnemyCarryWeight = (EnemyCarryWeight - BoneBreakFever) as int AkTarget.SetAV("CarryWeight", DiseasedEnemyCarryWeight) HasBoneBreakFever = 1 Debug.Messagebox("Your target has been afflicted with BoneBreakFever! Carry Weight reduced by" + BoneBreakFever) endif endif endif;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; If WhichDisease > 39 If WhichDisease < 60 If HasBrainRot == 1 WhichDisease = (WhichDisease + 10) endif If HasBrainRot == 0 If ApplyOnce == 0 int BrainRot = Utility.RandomInt(10, 50) as Int BrainRot = (BrainRot + DiseaseBonus) DiseasedMagicka = (EnemyMagicka - BrainRot) as int AkTarget.SetAV("Magicka", DiseasedMagicka) HasBrainRot = 1 Debug.Messagebox("Your target has been afflicted with Brain Rot! Magicka Reduced by" + BrainRot) ApplyOnce = 1 endif endif endif endif;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; If WhichDisease > 59 If WhichDisease < 80 If HasWitbane == 1 WhichDisease = (WhichDisease + 10) endif If HasWitbane == 0 if ApplyOnce == 0 if DiseaseBonus == 10 DiseaseBonusfloat = 0.1 endif DiseasedMagickaRegen = ( 0.5 - DiseaseBonusfloat) AkTarget.SetAV("MagickaRegen", DiseasedMagickaRegen) HasWitbane = 1 Debug.Messagebox("Your target has been afflicted with Witbane! Magicka Regen is at" + DiseasedMagickaRegen) ApplyOnce = 1 endif endif endif endif;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; If WhichDisease > 79 if WhichDisease < 96 if HasRockJoint == 1 WhichDisease = (WhichDisease + 10) endif if HasRockJoint == 0 if ApplyOnce == 0 int RockJoint = Utility.RandomInt(5, 25) as int RockJoint = (RockJoint + DiseaseBonus) DiseasedOneHandSkills = (EnemyOneHand - RockJoint) as int DiseasedTwoHandSkills = (EnemyTwoHand - RockJoint) as int AkTarget.SetAV("OneHanded", DiseasedOneHandedSkills) AkTarget.SetAV("TwoHanded", DiseasedTwoHandedSkills) Debug.Messagebox("Your target has been afflicted with Rock Joint! Weapon Skills Reduced by" + RockJoint) HasRockJoint = 1 ApplyOnce = 1 endif endif endif endif;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; If WhichDisease > 95 if HasMonkeyFinger == 0 if ApplyOnce == 0 MonkeyFinger = (25 + DiseaseBonus) DiseasedDisResist = (EnemyDiseaseResist - MonkeyFinger) AkTarget.SetAV("DiseaseResistance", DiseasedDisResist) HasMonkeyFinger = 1 Debug.Messagebox("Your target has been afflicted with Monkey Finger! Disease Resistance has been reduced by" + MonkeyFinger) ApplyOnce = 1 Endif Endif endifendif;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Check to see if has all diseases;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;if HasMonkeyFinger == 1 if HasRockJoint ==1 if HasWitbane == 1 if HasBrainRot == 1 if HasBoneBreakFever == 1 if HasBloodLung == 1 Debug.Messagebox("Your target has been afflicted with All diseases known to you!") endif endif endif endif endifendifEndEventEvent OnEffectFinish(Actor Target, Actor Caster)EndEventI do like doing it through scripting because I can give the player message's telling them what disease they gave the enemy as well as what the effects were, not to mention I can increase the effect in the script through the use of perks.