Jump to content


Photo

Description and current version


  • Please log in to reply
4 replies to this topic

#1 Yovaneth

Yovaneth

    The newly-appointed Master Builder of Baldur's Gate

  • Modder
  • 3058 posts

Posted 01 March 2006 - 08:10 AM

Current version is 2.0.3
Latest update:
The correct version of yiMinion was included this time....
More information on yiMinion and the Thief classes added to the readme.


Introduction

These scripts support spells for Icewind Dale, Heart of Winter and Trials of the Luremaster. 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. Secondly, for some reason best known to itself, the Icewind Dale Infinity Engine is VERY slow to respond to the presence of enemies. This means that on occasions both party and enemies can be almost toe-to-toe before anything happens. This is not a scripting fault; during testing I have had enemies and parties side-by-side for at least one round before either registered the presence of the other. Cirerrek has also confirmed this behaviour.

These are not fight-your-battles-for-you scripts but are best considered as 'helpers'. You can interrupt the script with a manual command at any time and that command will be carried 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
* A certain amount of self-preservation by the characters when badly hurt!
* Party-summoned monster threatlevel assessment and co-operative targeting
* Forced selection of melee or ranged weapons

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.

Priority Targeting

Enemy Mages and Clerics are treated as priority targets. If they are within the nearest first four of an enemy group, the entire party will concentrate exclusively on them, unless they are being attacked themselves. Between five and ten enemies away, only those of the party carrying ranged weapons will attack. This stops your melee fighters from running after the priority targets and leaving your mages and thieves exposed. The downside of this is that you must have your mages equipped with a missile weapon (darts, slings etc), otherwise they will not use distance spells (e.g. magic missile). There's nothing much I can do about this without a huge amount of additional scripting to check for every possible missile spell.

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. Bards will also go after downed trolls if they have the right spells (see Mages section below).

Clerics

The Icewind Dale clerics are smart enough to register when a party member is killed. When combat is over, any surviving cleric will tag any dead clerics or druids for revival first. Resurrection is the spell of choice; otherwise Raise Dead will be used. If the dead cleric is an elf or half-elf and Resurrection is not available then they will be ignored. Once any dead clerics and druids have been revived, any other dead party members will be revived in the order Player1 - Player 6. Apart from Resurrection, 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. Potion use is restricted to combat only as they are considered too precious to use otherwise. Healers will heal themselves first and then concentrate on the most injured.

I have noted though that if there are a large number of actions between a cleric registering a dead party member and combat ceasing (where 'large' is an undefined number), quite often the 'dead target' is forgotten and you'll need to start the Raising Of The Dead manually. If I can track this bug down, I'll fix it.

Clerics will automatically go after downed trolls to kill them with Sunscorch, FlameStrike or Produce Fire. If none of these spells are available then they will use FlameBlade (if available). This is a last resort as I'm not a fan of FlameBlade because the weapon slot it takes can best be occupied by something more powerful.


Druids

Shapeshifting is triggered if the threatlevel is greater than 2. Winter Wolf is reserved for when the Druid is low on hitpoints (<25%) and is used to get away from combat as rapidly as possible. The druid will shift back after ten seconds of no combat ? usually just in time to start healing. Shapeshifting will not trigger if the Druid's strength is already 18 or more.

If you don?t like the idea of scripted shapeshifting then use the Cleric script. The druid will simply ignore the TurnUndead part.

Thief Hide'n'Detect

Something is badly broken in the IWD version of the Infinity Engine; Hide() works and FindTraps() works, but as soon as you put them together in a script snippet, they both fail. The script triggers the Hide() command correctly but the Infinity Engine never carries it out - much testing by Cirerrek and myself has proven this part of the Infinity Engine to be completely shafted. Thieves will Detect Traps() automatically as this is a bit more useful than simply hiding, but will cease to Detect traps() when you trigger a manual Hide() either from the keyboard or the UI. Unfortunately it doesn't seem possible to register when the Disarm Traps (Thieving) button has been pressed, so you will need to press the H key to stop the thief detecting traps before attempting to disarm a trap. Currently he/she will display 'Find Traps' when auto-detect is turned on and 'Leaving Shadows' when auto-detect is turned off. I really need to find a better message for when auto-detect is stopped...

Mages

Mages will automatically go after downed trolls to kill them with Flame Arrow or Melf's Acid Arrow. If they have neither of these spells then they will revert to the far-less party-friendly Burning Hands and Aganazzar's Scorcher. If you want to Fireball a downed troll, you're on your own.

Minions

Party-summoned monsters ('minions') will attempt to switch to threatlevel assessment and co-operative targeting to support the party. IWD does not have Simulcrums or summoned monsters capable of wielding spells, so the minions are restricted to ranged or melee only. As a substitute for the BG2 command "LastSummonerOf()", all minions will turn to face the nearest enemy when they are summoned. If the minions stand around scratching their proverbial arses (happens rarely) then there are no enemies within 'See' range; selecting the minions and pointing them at an enemy will start the auto-targeting routines. If an NPC is calling for help, the minions will abandon the current target and move to the NPC's aid. I have seen this occasionally become an 'omg - which target do I pick?' but I chose to leave it this way as it demonstrates realistic behaviour.

Like the NPC scripts, grabbing the minions and manually selecting a target for them will override the auto-target routines.

Rangers and Paladins

The ranger/paladin script also includes cleric spell support up to level 4 as per the game.

Edited by Yovaneth, 12 April 2007 - 08:24 AM.


#2 Azazello

Azazello

    The Anti-Spammer

  • Staff
  • 1912 posts

Posted 01 March 2006 - 05:08 PM

Will your scripts conflict with Auril's Bane scripts?

"I gladly simp for jastey" -- Aza
==========================================================
"You ever notice that "What the hell?!" is the answer to just about everything?"
==========================================================

"Girls are like phones, they like to be held and talked too, but if you press the wrong button, you will be disconnected!" DJ Nikodemus
================================================================
Community Contributions
* Level 1 NPCs * gMinion: expanded TP2 for MegaInstalls * PSM (PSQM): expanded scripts for Melanthium * Shar Nadal (DSotSC-BGT) revision * non-detectable Cloak of Non-Detection ?? * Weimer's-Tactics: revised TP2 for MegaInstalls * a directory of Mega-Installation Guides *

   
   
   


#3 Yovaneth

Yovaneth

    The newly-appointed Master Builder of Baldur's Gate

  • Modder
  • 3058 posts

Posted 02 March 2006 - 03:39 AM

Will your scripts conflict with Auril's Bane scripts?

It depends what you mean by 'conflict with'. These are only party AI so they can't introduce a conflict as such.

The AB scripts effectively have each NPC working alone whereas these make them all co-operate. I worked with Grog to ensure that these scripts fully supported AB; you can use a mixture of the two but you won't get the full effect of the yiSeries.

-Y-

#4 Azazello

Azazello

    The Anti-Spammer

  • Staff
  • 1912 posts

Posted 02 March 2006 - 10:04 PM

Can the yiSeries be installed after starting a game?

#5 Yovaneth

Yovaneth

    The newly-appointed Master Builder of Baldur's Gate

  • Modder
  • 3058 posts

Posted 03 March 2006 - 02:27 AM

Can the yiSeries be installed after starting a game?

Yea - you assign them from the NPC's Customise screen just as you would the Bioware default scripts.

-Y-