~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

  • Co-operative healing out of combat
  • Healing assessment
  • Immediate poison healing
  • Potion passing in combat
  • Threatlevel assessment
  • Co-operative targeting
  • Priority targeting
  • Wand use
  • Backstab for all thief classes
  • Spellcaster co-operation
  • A certain amount of self-preservation by the characters when badly hurt!
  • Party-summoned monster threatlevel assessment and co-operative targeting

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.2005BETA 0.0.01First public release
25.02.2005BETA 0.0.02Fixed healing routine bug.
Removed autopause because it's a damn nuisance for low-level parties.
27.02.2005BETA 0.0.03Autopause re-worked and reinstated.
Initial minion summons added.
03.03.2005BETA 0.1.00Increase in BETA status due to good script stability.
Improved healing routine created.
Minion debug strings removed.
11.03.2005BETA 0.1.01Updated IDS file package. Additional info courtesy of Cirrerek.
Healing routines tweaked.
Missing spells added to i2Bard.
Cross-class spellcaster co-operation added.
13.03.2005BETA 0.1.02Fixed mangled healing routines for non-spellcasters (damn!).
Improved troll-killer snippet.
Added Melf's Minute Meteors auto-demand casting.
18.03.2005BETA 0.1.03Added R and M HotKeys to force instant party-wide weapons change (useful for those new-area ambushes).
Introduced Druid Innate Abilities.
09.04.2005BETA 0.1.04Added 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.2005BETA 0.9.00Added 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.2005BETA 0.9.01Ranger 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

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DragonflightDesign@hotmail.com