Mod Description Edit
This is an add-on for Vampiric Hunger III by Zennorious. The idea comes from the wonderful Basil stories by AlienSlof et al., in which Basil is able to hide his vampiric visage using Illusion magic.
One should note that this mod will make the game more difficult than with normal Vampiric Hunger III, where a vampire player is not recognized as vampire by default unless he does something stupid. This mod will let NPCs recognize the player as vampire by default, except he hides his vampiric features using magic or other means.
The optional MWSE addon offers a much more realistic and sophisticated detection check instead of using the rather primitive "GetDetected" function in the non-MWSE version, which will report the player regardless of who sees you.
A new spell "Vampire Mask" is available after the player acquired some practise with the "Vampire Dazzle" spell. It is available to all three clans, and so cheap even a Quarra can cast it. :-) "Vampire Mask" is a toggle, so when cast it will turn the mask on and when cast again the mask is turned off. The spell will always succeed and costs no magicka, but the effect is paid in blood and magicka as long it lasts. The blood costs are calculated in game time, not real time. Sleeping with this effect activated is hence a good way to run out of blood quickly. I personally play with the "Triple speed" setting from NOM, that is timescale = 10.0, which drains blood slower than default timescale.
IMPORTANT: If you install this mod with an older character who already has cast "Vampire Dazzle" many times, then the "Vampire Mask" spell would not be added. In this case, do in the console: startscript VH_MaskAdd (Simply adding the spell in the console is not sufficient, as a script needs to be started as well to make the spell working. Above VH_MaskAdd script takes care of everything. You only need to do this once.)
The blood cost can be configured in the console: set VH_Setting_MaskBlood to # 0 = Disabled, 1 = 1 point per minute, 2 = 2 points per minute etc. Default: 10
There are two ways how the mask takes effect: Not changing your face so you keep the vampire face, and changing back to your original mortal face by removing the Vampirism spelleffect. While the latter sounds cool, it comes with some problems. Technically, you are not a vampire anymore as far as the dialog system is concerned. So all the "Blood drinking", "Blood thrall company" and whatnot topics disappear. This is a quite dramatic effect, so decide yourself which way you prefer. Using the mortal face comes with the additional (originally unintented) benefit of fixing the TalkedToPC problem of Vampire Embrace and some questmods. For gameplay reasons, if you are using the mortal face option, once you are a known vampire the mask is forcefully stopped. While this is somewhat illogical, it is required as otherwise NPCs would never react to your known vampire status. When keeping the vampire face, the mask can be maintained when being a known vampire, though has no effect.
Change in the console: set VH_Setting_Mask to # 0 = Keep vampire face, 1 = change to mortal face Default: 1
NEVER change this setting when the mask is active !!! Make sure the mask is deactivated when changing this in the console. Check the spell icons or watch the messages when masking/demasking if in doubt.
Why use this mod when it makes unlife more difficult? Well, this is a roleplay mod. Not a power-up. While I absolutely love Vampiric Hunger III, I was somewhat unsatisfied with the fact that you can run around as vampire without ever becoming recognized, unless you do something stupid like force-drinking. I didn't want to give this up, just make it a bit more difficult. So if the illusion mask is active, you get the behaviour just like in Vampiric Hunger III Extended: Nobody knows you are a vampire except you tell them or do something dumb. If the mask is inactive, you get the behaviour like in Vampire Embrace: "I curse you, vampire" and you need to convince them to talk to you.
Even worse, if walking around unmasked, you will be discovered as vampire just by being seen. Either use the Illusion mask, or wear a full helmet to cover your visage. Another way is to simply avoid being seen: Sneak or use invisibility. Wearing a helmet will not protect you when initiating dialog with a NPC. In that case you are getting too close to them, and only the Illusion mask will help.
When discovered, NPCs might even attack the player. This feature is disabled by default in the non-MWSE version, as discovery happens too often. In the MWSE version this feature is enabled, but you can still disable it if desired.
Casting either the "Vampire Dazzle" or "Vampire Charm" spell on a NPC will also prevent discovery when initiating dialog with this NPC.
When you are activating or deactivating the Illusion mask, make sure you are not seen. This might lead to being discovered as vampire. Again, wearing a helmet or being sneaky helps to avoid this.
However, being discoverd isn't a disaster. In that case NPC behaviour is changed to the standard Vampire Embrace reactions. You still *can* talk to people, but you might need to butter them up first. If you are loved in a certain area (like Sadrith Mora as high-up Telvanni), there is no real reason to keep up the illusion. People will accept you anyways. The idea of this mod is to avoid discovery if you are careful and don't interact too much with people, like running through Khuul from Silt Strider to docks without talking to anybody. On the other hand, if you spend a lot of time in an area and talk to many people, chances are high your vampiric nature gets known sooner or later. Discovery *will* happen, so don't see it as an accident. Hence, having friends is a good idea, even as vampire.
Great care has been taken to avoid FPS penalties. Scripts only run when needed and timers make sure expensive checks only run every couple of seconds instead of each frame. However, this comes with some problems. See below.
Because of the way the discovery detection works (GetDetect function), your slaves, cattle, children, thralls and other friends *will* report you as known vampire if they see you, unless they are currently following you. This is obviously stupid, but difficult to change. As workaround, you can mark cells as your vampire hideout. In those marked cells you will not be discovered by just being seen or when activating/deactivating the Illusion mask. You receive the ring when loading the mod for the first time. As I don't consider this ring in-character, there is no way to buy or get it otherwise in-game. Equip the ring and a messagebox lets you mark or unmark the current cell as hideout. Now, of course you could go and mark the middle of Balmora marketplace as your vampire hideout to avoid being detected there. Alas, in that case you probably would not be using this mod anyways. Admittedly this ring is somewhat out-of-character, but I consider it rather a technical workaround than an in-character item.
MWSE-addon: In the non-MWSE version discovery will happen if any NPC sees the player, even if that NPC might be a VE victim, another vampire or a fellow guildmember. The MWSE addon provides much more detailed checks. NPCs will not report the player as vampire if they have a high disposition, are vampires themselves, cannot see the player because they are too far away, are currently fighting the player (assuming either one doesn't survive the battle) and much more. Fellow guildmembers will receive a disposition bonus, so they should not report the player unless you managed to insult them. :) The vampire hideout marker is still available, even though not really necessary when using the MWSE-addon. Thanks to the more sophisticated checks, the attack feature should be (and is by default) enabled when using the MWSE addon.
New in the MWSE-addon with version 1.3: As it annoyed me that various pieces of armour from mods like necklaces count as full "helmet", thus preventing discovery, I added a new feature to ignore special armour IDs for the helmet check. To avoid dependancy on all and every armour/clothing mod, which would be a nightmare, the MWSE-addon can dynamically test for some worn specific IDs. For this to work, there must be a file: Data Files\MWSE\VH_InvalidHelmet.txt with exactly one object ID per line. There can be a maximum of 5 lines, anything more will be ignored. Note these have to be the object IDs, not names. You can figure the ID out in the construction set or by dropping the item on the ground and checking the ID in the console.
Example: as_goth_necklace2 as_goth_necklace5
Both these armours are technically helmets, but if you equipped one of those two, it will not count as a full helmet and protect you from discovery. Due to the lack of arrays in the scripting language, there needs to be a maximum amount of IDs. I suppose 5 should be enough, just put in those "helmets" you usually use. If you look into the script, you will understand why having more than 5 would be a scripting nightmare. As I can impossibly add armour IDs from all and every mod out there, this exercise is left to you: Manually edit this file with any texteditor and fill in the lines with armour IDs from your mods, which you do not want to count as full helmet. The provided VH_InvalidHelmet.txt file is meant as example. It is meant to be further filled by you. Please don't ask me to add IDs for this and that mod. There are simply too many great armour and clothing mods. Do it yourself for the mods you use.
The VH_Setting_NoInvalidHelmCheck option controls this feature. If set to 1, the whole armour ID testing is disabled. If set to 0, it is enabled. Attention: If the file does not exist or is empty, this option will automatically be set to 1 disabling the feature. If you later fill in the your file yourself, you must manually set it to 0 again. The checks are fairly fast, how often they run is controlled by VH_Setting_CheckDelay (see below). By default this is 1 second, but increasing the delay to 2 or 3 seconds should be okay.
New in version 1.4: Similar to the invalid armor id test as described above, 1.4 offers a second list of valid armor ids. Those armors will hide your face without being a helmet. I got the idea when using Kalikuts masked and hooded robes, which cover the face but would be ignored by this mod becaue they are a robe, not a helmet. So if you have such armors, add their IDs to the VH_ValidArmor.txt file, as shown in the example. Like above, you have a maximum of 5 lines. The feature is controlled by the VH_Setting_NoValidArmorCheck: Set it to 1 to disable, 0 to enable. Default is 0.
Installation, Requirements & Compatibility
- Vampiric Hunger III v1.1 or v1.2 by Zennorious
- Vampire Embrace 2.4 by Cortex
- Scripted Spells 1.5 by Cortex
- MWSE 0.92 (optional)
This mod must load after Scripted Spells, Vampire Embrace and Vampiric Hunger III, else things won't work.
As this mod depends on Vampiric Hunger and Vampire Embrace, it is obviously compatible with them. However, watch the above version numbers, as this mod is NOT compatible with older versions of those two mods.
This mod is fully compatible with Vampire Realism II. The load order relation to Vampire Realism should be irrelevant. I personally use the following load order: - Scripted Spells - Vampire Embrace - Vampire Realism - Vampiric Hunger - Vampiric Illusion
The MWSE addon is optional. If used, it must load additional and after the VampiricIllusion.esp base file.
If you use the MWSE addon - and only then, without it makes no sense -, consider installing the FleeAIFixes.esp additionally. Otherwise the MWSE addon assigns weaker NPCs a high flee value, but due to the idiotic flee settings in the unmodded game those won't show any results. FleeAIFixes.esp has *exactly the same* flee modifications as in Wakims Game Improvements, so if you run WGI you do not need FleeAIFixes. I included it for those people who do not use WGI. If you have any other mod which changes the flee settings, you also should not install FleeAIFixes.esp.
Issues and problems
- This mod modifies scripts from Scripted Spells, Vampire Embrace and Vampiric Hunger
Extended. So when either of these three mods get updated and the modified scritps are changed, this mod needs to be updated as well. However, the modifications are trivial, so this is no big problem.
- When being seen unmasked, the mod simply checks if you are wearing a helmet or
not. Unfortunately I don't know a way to check if you wear a closed helmet without altering all and every helmet in the game (leave aside all the helmets added by mods). So a full-face chitin helmet will work the same as an open Legion helmet (which leaves the face visible). Even various necklaces or somesuch from mods which cover the head slot will count as helmet and "hide" the face. If someone knows a solution, let me know. Roleplay it. Wear a full helmet, or one of the fancy scarfs or hoods added by some mods. Note: The new MWSE addon since version 1.3 offers a workaround, see above.
- When casting the "Vampire Mask" spell it will take about 2 seconds to trigger the
effect. This is because spelleffect checks run delayed for better performance. No need to check for the spell every frame. This is a trade-off, and I personally prefer the little delay but no FPS penalty. If for whatever reason casting the "Vampire Mask" spell has no effect even after a couple of seconds, type this in the console: startscript vh_e_maskcheck
- You should manually set a vampire hideout marker in your Aundae/Berne/Quarra HQ to
avoid those "You are discovered" messages, even though you are not discovered (Vampiric Hunger scripts avoid known vampire status in these cells). However, I did not want to modify these cells due to yet another game engine bug (mismatched reference indices when two mods modify the same cell, ask Wyre for details). Just use the marker ring in your clans HQ cell once and the problem is solved.
Hints & Tips
- Remember, wearing a helm protects you from being discovered while walking around,
but not when initiating dialog.
- Listen to the voice greetings of NPCs. As more they dislike you, as higher the chance
for discovery. This should help you decide when using the Illusion mask is a good idea.
- Never cast the Vampiric Mask spell when being seen without wearing a helmet.
- Watch your magicka and blood level with the Vampire Mask active. If any of the two
run out and you are in a crowd not wearing a helmet, you will be discovered.
- If you are discovered, don't panic. It will happen, sooner or later. In that case
speechcraft, personality and charm spells are helpful. Thanks to Vampiric Hunger, being discovered only applies to one region, not globally, and resets after a given number of days.
- Use the vampire hideout ring to mark your hideout(s) to avoid being detected by
cattle, thralls and other companions who are not in follow mode but lingering at home.
- Make use of your "Vampire Dazzle" and "Vampire Charm" spells.
- Use the MWSE addon. Much more fun.
VH_Setting_AttackThreshold [[[MWSE]] only] NPC will attack when player is discovered and disposition (after applying faction and darkelf modifiers) is below this value. Default: 50
VH_Setting_CheckDelay Delay for invisible/chameleon/helmet checks in seconds Default: 1
VH_Setting_DarkElfMalus [[[MWSE]] only] Disposition malus for Dark Elves Default: 10
VH_Setting_DiscoverThreshold [[[MWSE]] only] NPC will report player as vampire if disposition (after applying faction and darkelf modifiers) is below this value. Default: 80
VH_Setting_DiscoveryDistance [[[MWSE]] only] Max distance to NPC for discovery Default: 500
VH_Setting_FactionBonus [[[MWSE]] only] Disposition bonus for NPCs in same faction Default: 20
VH_Setting_FleeBase [[[MWSE]] only] Base value which determines if a NPC attacks or flees when he discovers the player as vampire. Forumla: VH_Setting_FleeBase + (player_level - NPC_level) * 3 Default: 40
VH_Setting_LoopDelay1 Non-MWSE version: Delay in frames between two GetDetected checks MWSE version: Delay in frames between two runs through all NPCs in the current cell Default: 100 Recommended: Depends on how fast your computer is and how many other mods are running.
As higher, as less FPS is affected, but the checks get less accurate.
VH_Setting_LoopDelay2 [[[MWSE]] only] Delay in frames between processing two NPCs Default: 10 Recommended: see above
VH_Setting_Mask 0 = Do not change to mortal face when masking 1 = Change to mortal face when masking; removes some vampire dialog topics Default: 1
VH_Setting_MaskBlood Cost of blood points per 1 minute gametime when masked Default: 10 Recommended: Depends on your timescale setting. If you use a much lower timescale, you might increase this value to compensate, else the mask gets too cheap.
VH_Setting_NoDiscoveryAttack 0 = Non-MWSE version: NPCs always attack when player is discovered as vampire
MWSE version: NPCs might be indifferent, attack or flee when player is discovered. Depends on their disposition, level and player level.
VH_Setting_NoInvalidHelmCheck 0 = Check for invalid helmets when the MWSE addon is installed 1 = Do not check for invalid helmets, even when the MWSE addon is installed Default: 1 in non-MWSE version, 0 in MWSE version Attention: If the MWSE\VH_InvalidHelmet.txt file is empty or does not exist, this setting is automatically set to 1. So if you fix your file, you must manually set this option to 0 again!
VH_Setting_NoValidArmorCheck 0 = Check for valid non-helmet armor ids when the MWSE addon is installed 1 = Do not check Default: 1 in non-MWSE version, 0 in MWSE version Attention: If the MWSE\VH_ValidArmor.txt file is empty or does not exist, this setting is automatically set to 1. So if you fix your file, you must manually set this option to 0 again!
VH_Setting_WarningDistance [[[MWSE]] only] Distance to NPC to show a warning message that discovery *almost* happens. For a warning to appear, distance must be greater than VH_Setting_DiscoveryDistance and smaller than VH_Setting_WarningDistance. Additional, there is a random roll to avoid messagebox spam. Default: 700
Before removing this mod, type the following in the console: set VH_E_MaskCheck.ForceStop to 1 Wait a second or two. This will trigger a cleanup and stop all scripts of this mod. Drop the vampire hideout mark ring if you have it. Now save the game and deactivate the mod.
If you have trouble with crashing savegames after upgrading, go into the Details window of the construction set (see Emmas FAQ for details) and set the Ignore flag on VH_E_Add_Mask, VH_E_Remove_Mask and the VH_E_Mask.... scripts. NOT (!!!) on all VH_E_... scripts, which are from Vampiric Hunger!
With version 1.4 I abandoned the esp without the Scripted Spells dependancy. I doubt anyone sane would want to play a vampire without Scripted Spells.
Changes to Vampiric Hunger Extended III v1.1
- VH_E_Global, line 16 and 25
- VH_E_SmallTasks, lines 58-62, 71 and 78-82
Changes to Vampire Embrace 2.4
- emb_registergreeting, lines 184-203
Changes to Scripted Spells 1.5 (not included in NoSS.esp)
- vmet_stealspellscript, line 61
1.4 - Added MWSE valid armor id check
- Minor script cleanup and optimization
1.3 - Added MWSE invalid helmet id check
- NPCs under influence of Vampire Charm and Dazzle spells won't report you (MWSE). - NPCs under influence of any calm spell won't report you (MWSE). - Included fix for brainscan/mindrip from Scripted Spells, so you are not discovered in this dialog. - Don't discover the player during combat feeding after combat stopped while drinking. - Added optional FleeAIFixes.esp, which includes exactly the changes to flee as done in WGI.
1.2 - Added optional MWSE addon with better detection checks.
Vampire NPCs won't reveal the player in dialog anymore.
1.1 - Bugfix: If you didn't know the Vampire Mask spell yet, leaving a cell marked
by the hideout ring would not unset the vampire-hideout flag.
1.0 - Initial release
(Taken from the Vampiric Illusion readme)