GetBlightDisease (returns Boolean/short)
GetCommonDisease (returns Boolean/short)
If ( Actor->GetBlightDisease == 1 )
Both functions return 1 if the calling Actor has the appropriate type of disease, otherwise 0. These are used in the disease scripts that give diseased or blighted creatures their disease:
Sample Script:
Begin diseaseBlackHeart
DontSaveObject
if ( CellChanged == 0 )
return
endif
if ( GetBlightDisease == 0 )
AddSpell "black-heart blight"
endif
End
Testing player blight disease (forum info / Rocket):
Any time the current weather is blight, the player will have blight diseases added to them without any effects evident. They cannot be removed with cure blight spells and getBlightDisease will continue to return 1 for ever after unless they're removed by removeSpell. Next time you see blight weather though, they will be back. The engine picks random blight diseases, including any added by mods, with the exception of those that contain the corprus spell effect. You end up with them all very quickly.
As a guess, I would say it's a feature (according to lore, you can catch blight disease from exposure to blight storms) that is bugged and was subsequently disabled, without the code being removed. So we have this side effect. It actually breaks Bethesda's own game elements in that the Tribunal Shrines no longer give the message that you are not infected by blight when they should. The reason I suggest it is bugged is that the chance to catch blight disease from blight storms is 0.10 and yet you get them very quickly. Way too quickly. It would get annoying, even if the chance was reduced further. You catch it often enough just from the creatures as it is.
To disable this you need to modify the ini file. In the section [Weather Blight] you will find Disease Chance=.10 Set this to zero. If you then load a game where the player is currently in Red Mountain region, it appears that you will need to wait for a weather change to occur before the new setting takes hold (from blight to blight). Until then, you will continue to have them added by the engine.
Further notes:
Auto-added blight diseases that aren't showing effects make the player effectively immune to those diseases, since the spell cannot be re-added without first removing it (use RemoveSpell).
The dialogue function PC Blight Disease is still a reliable test, as it only returns 1 if disease effects are present. I don't know of any reliable way of testing player blight disease by script without modifying the ini file, but GetSpellEffects can be used for individual diseases (there are only four besides Corprus in the unmodded game) if necessary.