I was lucky in being able to fully support vampires without having to touch any scripts or anything outside of my MOD. All I had to do was check for total necks bitten in the players general status.
This isn't indicative that the player
is a vampire, only that they were one in the past. Here is the function I use to check for vampirism and set the bool property bIsVampire to True or False. The Belua Sanguinare compatibility section may or may not barf a bunch of errors into your log. It used to, but I haven't tested it in a while.
Spoiler bool function GetVampirismState() ;Approved 1.6.1 bool bIsVampire = false if VampireQuestRef.VampireStatus >= 1 bIsVampire = true else ;Belua Sanguinare Vampirism Check bool isBSRLoaded = Game.GetFormFromFile(0x02001DB8, "MM_BeluaSangunaireRevisited.esp") if (isBSRLoaded) Form isBSRVampire = Game.GetFormFromFile(0x02001DB8, "MM_BeluaSangunaireRevisited.esp") if (isBSRVampire as GlobalVariable).GetValue() >= 1.0 bIsVampire = true endif endif endif return bIsVampireendFunction
Werewolves: here's how I do it. There might be a better way. I'm still reviewing it. Maybe it will point you in the right direction.
Spoiler Scriptname _DE_WerewolfMonitor2 extends ReferenceAlias; #SUMMARY# =====================================================================================================================; Name ...................: _DE_WerewolfMonitor2; Attached To (EditorID)..:; Description ............: Monitor's the player's Werewolf state and activities to apply Exposure bonuses.; Author .................: Chesko; Last Approved (version) : 1.6b; Status .................: Needs Review; Remarks ................: Needs compatibility support for Tales of Lycanthropy; ===============================================================================================================================GlobalVariable property _DE_ExposurePoints autorace property WerewolfBeastRace autoMagicEffect property WerewolfFeedRestoreHealth autoimport debugEvent OnMagicEffectApply(ObjectReference akCaster, MagicEffect akEffect) ;notification("I am feeding") if akEffect == WerewolfFeedRestoreHealth if _DE_ExposurePoints.GetValue() <= 110.0 ;Prevent EP being set too high _DE_ExposurePoints.SetValue(_DE_ExposurePoints.GetValue() + 10.0) elseif _DE_ExposurePoints.GetValue() > 110.0 _DE_ExposurePoints.SetValue(120.0) endif endifendEvent Cannibalism - Haven't tried that yet.
Frostfall - you probably saw my other post in the Frostfall thread, but you don't need to do anything. I look for foods to be "equipped" (eaten) by the Player Alias. I don't support new food items.
Good luck!