~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Apprentice-Mage Yovaneth's Icewind Dale II Scripts
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BETA NOTES:
As of Beta version 0.9.00 I have stopped active development. This is for three main reasons and a host of minor ones, all connected to IWD2 itself. The three major reasons are the many broken trigger ids, the lack of scripting support for feats and also the sheer flexibility of the 3E character progression. In the case of the latter it occurred to me that the only way to cover all possibilities was one huge script for all class progressions; that is without doubt a guaranteed framerate killer. The best way to treat these scripts then is to consider them as 'class helpers'; pick the best one to suit your class. If you get caught up trying to do something with a single character then these scripts should at least keep the rest of the party out of trouble while you're away or perhaps in the middle of a large melee. It will be worth checking here at irregular intervals for small updates but don't bother coming by too often any more. The final thing left on the agenda is to figure out a better ShapeShift trigger for Druids.Acknowledgments
These scripts owe their origins to Sarkyn's gSeries scripts for Baldur's Gate II: Shadows Of Amn and are heavily based upon their structures. Sarkyn was the first scripter to really push what could and couldn't be done with the Infinity Engine and all subsequent scripting owes much to his pioneering work. I also owe a debt of gratitude to Cirrerek for help and information on IWD II.
Introduction
These scripts support spells for Icewind Dale II only. Not all spells have been scripted; in these cases the conditions for safe use could not be met and so I elected to leave them out.
Features
|
Pause Game
The game will auto-pause if a character is poisoned or is near-death. If the GUI bars are hidden then they will be automatically recalled.
Bards
Bards will use whatever songs are available to them to the greatest effect depending on threat level and party state. They do not sing continuously through a battle so that they can attack and defend as needed.
Clerics
The Icewind Dale clerics are smart enough to register when a party member is killed and will automatically cast Raise Dead or Resurrection if either is available. No character is ever deliberately completely healed (although it does happen depending on how the calls are registered) as this is considered to be wasteful of healing spells. However, you may also get the opposite effect where you think that a character should be healed but the clerics are ignoring him/her; this occurs mostly with low-level parties and happens when the number of hitpoints of that character fall outside the boundaries of the healing routines. Manually casting a healing spell on that character will usually move the character's hitpoints within the automatic scripting boundaries and the clerics will react correctly again. Healers will heal themselves first and then concentrate on the most injured. Potion use is restricted to combat only as they are considered too precious to use otherwise.
Druids
Shapeshifting is triggered by threatlevel if the druid is out of ranged ammunition - this means that shapeshifting may occur even if the druid is attacking with a staff. The druid will shift back after ten seconds of no combat – usually just in time to start healing. There is a huge bug in IWD2 with regard to Innate Abilities: they do not respond to a HaveSpell() check. Bioware state that this was an oversight on their part. To get round this problem, a series of checks is carried out to determine if the Druid is of a level to have the requisite innate ability and also how many times a shapeshift may be called during one day. This brought to light another bug in IWD2; the trigger event PartyRested() is also broken, so it could not be used to determine when to reset the shapeshift script. Instead, a hard-wired time-of-day has been used (05.00 hours) as in general, most parties will be asleep at this time. If you aren't, then you'll get back the Druid innate abilities FOC - but there's not much I can do about that...
Hide'n'Detect
When not in combat, all classes that have some level of Hide will automatically attempt to hide. As soon as they are hidden, they will also begin to attempt to detect traps (Search) but will hide again just before they come out of shadows. If the PC's hitpoints are below 75%, they will stay out of shadows to allow clerics to heal them.
Trolls
Mages will automatically go after downed trolls to kill them with Flame Arrow, Melf's Minute Meteors or Melf's Acid Arrow, or the various single-hit wands such as Wand of Fire/Wand of Acid. If they have none of these spells or items then they will revert to the far-less party-friendly Burning Hands/Aganazzar's Scorcher and their equivalent wands. Clerics will also go after downed trolls, using the Produce Fire spell or wands as detailed.
Cross-Class Spellcaster Co-operation
Mages and Clerics will co-operate in the use of the Planar Ally spells. Neither class will summon an elemental unless Protection From Evil 10 Radius has been cast. This means that a Mage must request the spell and the Cleric must cast it before any elemental is called. Secondly, the Cleric will not cast Protection From Evil 10 Radius unless all party members are within range.
Minions
Party-summoned monsters ('minions') will attempt to switch to threatlevel assessment and co-operative targeting to support the party. This applies to 'dumb' creatures only; all summoned elementals run their own default scripts to 'think for themselves'.
Rangers and Paladins
Rangers and Paladins currently have very poor spell support. I'll be looking at this problem soon.
Class Scripts
i2Bard.bs | Bards and similar rogues. | |
i2Cleric.bs | Cleric, Fighter-Cleric and Cleric-Ranger | |
i2ClrMge.bs | Cleric-Mage and Fighter-Cleric-Mage | |
i2ClrThf.bs | Cleric-Thief and Fighter-Cleric-Thief | |
i2Druid.bs | Druid and Fighter-Druid | |
i2Fight.bs | Pure Fighter | |
i2Mage.bs | Pure mage and Fighter-Mage | |
i2MgeThf.bs | Mage-Thief and Fighter-Mage-Thief | |
i2RgrPal.bs | Ranger and Paladin | |
i2Thief.bs | Thief and Fighter-Thief |
Minion Script
i2Minion.bcs | Minion attacks |
Common Keypresses
You may need to reconfigure your keyboard to take advantage of the following key commands. A, B, S and W actions are also script-triggered depending on threat assessment.
A | Short-term mage armour (e.g. Globe of Invulnerability, Protection From Missiles etc) | |
B | Buff before battle. Loads Bless, Chant, Haste, Aid etc. Keep pressing until they stop casting | |
D | Disable script for the selected character | |
E | Enable script for the selected character | |
H | Enable/Disable Hide for all thief characters. Disabling hide also disables BackStab | |
M | Force melee weapon selection for the entire party. | |
R | Force ranged weapon selection for the entire party. | |
S | Summon monsters. | |
W | Raise class-based long-duration armours e.g. Barkskin for Clerics, Stoneskin for Wizards etc |
Remember - BS is your best friend!
Updates:
23.02.2005 | BETA 0.0.01 | First public release | |
25.02.2005 | BETA 0.0.02 | Fixed healing routine bug. | |
Removed autopause because it's a damn nuisance for low-level parties. | |||
27.02.2005 | BETA 0.0.03 | Autopause re-worked and reinstated. | |
Initial minion summons added. | |||
03.03.2005 | BETA 0.1.00 | Increase in BETA status due to good script stability. | |
Improved healing routine created. | |||
Minion debug strings removed. | |||
11.03.2005 | BETA 0.1.01 | Updated IDS file package. Additional info courtesy of Cirrerek. | |
Healing routines tweaked. | |||
Missing spells added to i2Bard. | |||
Cross-class spellcaster co-operation added. | |||
13.03.2005 | BETA 0.1.02 | Fixed mangled healing routines for non-spellcasters (damn!). | |
Improved troll-killer snippet. | |||
Added Melf's Minute Meteors auto-demand casting. | |||
18.03.2005 | BETA 0.1.03 | Added R and M HotKeys to force instant party-wide weapons change (useful for those new-area ambushes). | |
Introduced Druid Innate Abilities. | |||
09.04.2005 | BETA 0.1.04 | Added Weimar Ease-Of-Use Wiz/Sor spells to i2Druid. | |
Changed Wizard Haste target to StrongestOf() rather than Myself(). As the IWD2 version is single-player, it should do more good applied to a tank rather than a mage. | |||
Initial Ranger and Paladin spell support added. | |||
12.04.2005 | BETA 0.9.00 | Added Hide'n'Detect to all scripts. 'Thief Hide'n'Detect' description changed to simply 'Hide'n'Detect'. | |
Last active release. Active development stopped - see Beta Notes | |||
20.04.2005 | BETA 0.9.01 | Ranger and Paladin spell support improved. | |
Weimar Ease-Of-Use 'Additional Druid' Wiz/Sor spells now fully supported by i2Druid. |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Yovaneth Scet, Apprentic'd at Candlekeep during the Bhaalspawn Troubles
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~