Vladoshi's quick and dirty planar effects
* updated to include OnHit cast. There sequence in the spellhook is to fiddly to publish as seperates.
* skills get the proper skill constant now
Is close enough is good enough? This implements most planar effects area by area. It applies effects on entry, inflict damage per round, casts spells at and then remove the effect on exit. Each area depends on if you set it. And you only set what you need.
No hak paks or lagging, intense scipting. It simple and if you scipt you could modify it easily. It does not do it strictly, hopefully just enough. You might find it useful that instead of making increasingly powerful creatures, you can handicap the players and get more out of your module.
Uses: put vl_areaenter, vl_areahb and vl_areaexit on your area and on yor module set the local string variable X2_S_UD_SPELLSCRIPT = vl_spellhook or copy can paste it into your spell hook.
This lets you make an area inflict planar traits on players with local integers on the areas. Planes can have 4 traits
Alignment traits
----------------
You can set the alignments that are punished by the plane's natural alignment with -2 to all saves and -2 to all skills
Set "VL_PLANAR_LC" = 1 (neutral), 2(lawful) or 3 (chaotic)
Set "VL_PLANAR_GE"= 1 (neutral), 4 (good) or 5 (evil)
Physical traits
---------------
Slow or hasten players to reflect time, gravity or general impediment
Set "VL_PLANAR_MOVEMENT" = -50 -> 50, negatives slow, positve fastetr, at 50 the effects of slow or hasten are apllied, which also modify AC and attacks per round. 50 is maximum.
Energy/Elemental traits
-----------------------
Damage players per round with an energy damage type, no save. This does not effect associates/henchmen because it could lag with so many damn checks to get the right creature objects.
set "VL_PLANAR_DAMAGE" = the numeric value of a DAMAGE_TYPE_ constant.
set "VL_PLANAR_DAMAGE_AMOUNT" = how much damage
Cast a spell on random players with a 10% chance per round to reflect the environment
set "VL_PLANAR_SPELL" = the numberic value of a SPELL_ constant. 0 (Acid Fog) is not allowed.
Magic traits
------------
set "VL_IMPEDE_TYPE" = the numberic value of a SAVING_THROW_TYPE_ constant. Many spells use this for saving throws. If they do, the spell caster must have Spellcraft vs 15 + spell level.
set "VL_LIMIT_SCHOOL" = the numeric value of a SPELL_SCHOOL_ to ban this spell school from the plane.
set "VL_LIMIT_LEVEL" = 1 -> 9 for the level (and above) spells tha cannot cast
set "VL_DEAD_MAGIC" = for no spells to cast
set "VL_WILD_MAGIC" = 1 for a wild magic. Casters must past spell craft versus 15 + spell level or random effects can occur.
Presets
-------
Instead of the above settings you can get elemental presets by setting "VL_PLANAR_PRESET" = to:
(AIR) 1 - 25% speed increase, lightning bolt spell effect
(EARTH) 2 - 40% slowed, earthquake spell effect, electrical save spells impeded
(FIRE) 3 - 5 fire damage per round, combust spell, cold save spells impeded
(WATER) 4 - 25% slowed since you are meant to be running in water, fire save spells impeded, drown spell effect
(negative) 5 - divine spells impeded, energy drai spell effect
(positive) 6 - negative spells impeded, cure light wounds spell effect
10 - A Masterpiece, Genuinely Groundbreaking 9 - Outstanding, a Must Have 8 - Excellent, Recommended to Anyone 7 - Very Good, Deserves a Look 6 - Good, Qualified Recommendation 5 - Fair, Solid yet Unremarkable 4 - Some Merit, Requires Improvements 3 - Poor Execution, Potential Unrealized 2 - Very Little Appeal 1 - Not Recommended to Anyone