Smart Beholders now available!
Wow I have to say that your work is very impressive Xyx! Now my protagonist has to think twice before facing a lair filled with beholders by herself! (Even with a cloak of mirroring and Carsomyr...)
One suggestion though: I'm a fan of R.A. Salvatore's Dark Elf Trilogy and if I remember correctly, drow were basically the most stealthiest and liest creatures in the Underdark. If that is so, wouldn't it make more sense for them to hide in shadows and backstab? That would make them more challenging for sure! Maybe you should give the drow a script to hide-in-shadows and backstab the magic users.
One suggestion though: I'm a fan of R.A. Salvatore's Dark Elf Trilogy and if I remember correctly, drow were basically the most stealthiest and liest creatures in the Underdark. If that is so, wouldn't it make more sense for them to hide in shadows and backstab? That would make them more challenging for sure! Maybe you should give the drow a script to hide-in-shadows and backstab the magic users.
Valorhan, High Justicer of Asteran
'Now you can die well.'
'Now you can die well.'
Link won't open...Originally posted by Sargon the Blade:
<STRONG>I'm busily working on [url="http://64.59.139.21/"]this[/url]</STRONG>
Definitely, but again problematic. Monsters cannot open doors properly... Kensai Ryu has done extensive research on that, to little effect. Monsters can be scripted to open a specific, named door only (not simply the nearest door), and disregard locks and traps...Originally posted by Sargon the Blade:
<STRONG>How about some fight or flight AI?</STRONG>
Furthermore, you may have noticed that the enemy "flight" AI isn't very good. Turning undead makes this painfully obvious. Most enemies end up repetitively bumping into the wall...
Still, this is good to look into. Maybe I can get low level enemies to run for a limited time only.
While I'm not too sure that Kobolds aren't sly, devious and maybe even slightly cunning little bastards, I have no problems whatsoever with, say, Golems getting stuck in doorways. After all, I would expect a mindless construct to act... well... like a mindless construct.Originally posted by Sargon the Blade:
<STRONG>Kobolds attack you because they're as smart as a rock on a good day</STRONG>
This, at least, is possible, I think. That and a bit of randomization will get most enemies "un-stuck".Originally posted by Sargon the Blade:
<STRONG>Any way to lock a script into a logical loop so that "AttackLastAttacker" remains the active target for a round or two instead of ping-ponging while the LastAttacker variable changes between X and Y?</STRONG>
Kensai Ryu had an interesting suggestion about reinforcements that got me wondering. If creatures responding to a call for reinforcements also scream for reinforcements... and wait for those to arrive before attacking the party... you'd eventually have to deal with the whole dungeon at once! It would also do much to prevent parties from camping out in dungeons. Of course, doors throw a spanner into the works here as well.
Must test...
[url="http://www.sorcerers.net/Games/BG2/SpellsReference/Main.htm"]Baldur's Gate 2 Spells Reference[/url]: Strategy, tips, tricks, bugs, cheese and corrections to the manual.
Wonder if you can say ****roaches...lol Gotta love the indescriminate nature of a bad word filter
You know, it wouldn't bother me if they sent me nasty emails saying I shouldn't run server software. It wouldn't bother me if they said they were going to intercept HTTP/NNTP/FTP etc. requests and block them. But oooooh noooo, they just go and hack access to them, and since I forgot to check from my other ISP, I don't realize this until a few MONTHS later. I'll have to flog a few other people for forgetting to mention this to me...
*mutters various obscenities*
Anyway, back to the matter at hand:
"Definitely, but again problematic. Monsters cannot open doors properly... Kensai Ryu has done extensive research on that, to little effect. Monsters can be scripted to open a specific, named door only (not simply the nearest door), and disregard locks and traps...
Furthermore, you may have noticed that the enemy "flight" AI isn't very good. Turning undead makes this painfully obvious. Most enemies end up repetitively bumping into the wall...
Still, this is good to look into. Maybe I can get low level enemies to run for a limited time only."
thx Diablo AI (Mind flayer, meet door. Door, meet Mind Flayer. Butcher meet door, door meet Butcher.)
I suspect you'll have to script or force pathing (Point A to Point B stuff) for certain kinds of enemies, which becomes a monsterous project. Doubly so if you actually want the MOBs to open doors.
This leads to:
Any way to cheesily make the AI scripts IGNORE doors (treat them as all open)?
Granted it might look stupid to see a MOB walk through a closed door, but if they open them it can be a bad thing if they're supposed to be locked via a key and unpickable/knockable.
Sacrifice a little bit of visual reality in exchange for a more realistic MOB behavior perhaps?
Of course, the player then runs into the problem of having to deal with MOBs that can "see" through force locked doors and blast them with impunity (fair turnaround though I guess...heh).
"While I'm not too sure that Kobolds aren't sly, devious and maybe even slightly cunning little bastards, I have no problems whatsoever with, say, Golems getting stuck in doorways."
A handful of adventurers stroll up to you in the sewers in Athkatla, magic weapons and armor, the scent of potent magics abound, and your leader says:
"You, you not supposed to be here. Go away before I gets mad." (The kobold shaman with the staff for the Lilacor riddle)
Signs of either insanity or rock-type mentality. Lacks the whole devious, sly and cunning aspect in my books.
Golems should at least have the base sense of a basic Timeout on aggression, depending entirely on how smart the creator was naturally. So while they would try to attack you through the doorway, they wouldn't vainly try for hours on end as they get plinked away with ranged weapons. Sure they might try again and again after the timeout.
EG:
Attack X, chase X, can't hit X for 12 seconds, return to 'home' spot (Do NPCs have "home locations" within the script?)
The PC could repeat this whole process, but makes the golem look a leetle bit less like a totally mindless machine made by a blitering idiot (keep attacking, don't worry about smashing my home into bits and pieces Mr. Iron Golem...) and more like a mindless machine made by a wizard that the PC has just out-smarted
"Kensai Ryu had an interesting suggestion about reinforcements that got me wondering. If creatures responding to a call for reinforcements also scream for reinforcements... and wait for those to arrive before attacking the party... you'd eventually have to deal with the whole dungeon at once! It would also do much to prevent parties from camping out in dungeons. Of course, doors throw a spanner into the works here as well."
Well, if you can teach the AI to ignore doors, this might be useful. Although you might want to consider adding a wait time between the tiered calling of reinforcements so that A calls B, B calls C, C calls D, all the while A is waiting for Z to show up. They all proceed to appear on the player's screen, causing their video card to have a brain seizure, crashing to a BSD
Something along the lines of:
Reinforcement Group 1 (consists of X MOBs), they do not join the attack until all X number of MOBs are there. Then X-1 goes to join the battle, leaving 1 behind who is now Y.
Y calls for reinforcements, and waits until X number of MOBs are there. Y becomes part of the new X group, when they reach their "reinforcement capacity" X-1 go, and Y stays behind.
Instead of fighting a single huge nasty "please cast all your AE spells on us!" battle, you fight a continuing battle of waves (something like Amkethran after S and A are dead). A bit of an endurance fight rather than a "hold 'em off and blast 'em with ADHW/Holy Smite/etc"
It also gives players time to pick off the alarm caller so that they don't end up fighting wave after wave until the dungeon is emptied more or less.
Some MOBs would have to be flagged as "reinforcement callers only" ("boss" mobs guarding treasures, etc.)others "reinforcements only" ("yard trash").
I'm off to beat someone with a really big stick now...
formonthstheycouldn'tfigureouthowtochangethedamnadminpasswordsontheirroutersbutnowtheygokilloffmypersonalserversthey'reallgonnadie.
[ 07-28-2001: Message edited by: Sargon the Blade ]
You know, it wouldn't bother me if they sent me nasty emails saying I shouldn't run server software. It wouldn't bother me if they said they were going to intercept HTTP/NNTP/FTP etc. requests and block them. But oooooh noooo, they just go and hack access to them, and since I forgot to check from my other ISP, I don't realize this until a few MONTHS later. I'll have to flog a few other people for forgetting to mention this to me...
*mutters various obscenities*
Anyway, back to the matter at hand:
"Definitely, but again problematic. Monsters cannot open doors properly... Kensai Ryu has done extensive research on that, to little effect. Monsters can be scripted to open a specific, named door only (not simply the nearest door), and disregard locks and traps...
Furthermore, you may have noticed that the enemy "flight" AI isn't very good. Turning undead makes this painfully obvious. Most enemies end up repetitively bumping into the wall...
Still, this is good to look into. Maybe I can get low level enemies to run for a limited time only."
thx Diablo AI (Mind flayer, meet door. Door, meet Mind Flayer. Butcher meet door, door meet Butcher.)
I suspect you'll have to script or force pathing (Point A to Point B stuff) for certain kinds of enemies, which becomes a monsterous project. Doubly so if you actually want the MOBs to open doors.
This leads to:
Any way to cheesily make the AI scripts IGNORE doors (treat them as all open)?
Granted it might look stupid to see a MOB walk through a closed door, but if they open them it can be a bad thing if they're supposed to be locked via a key and unpickable/knockable.
Sacrifice a little bit of visual reality in exchange for a more realistic MOB behavior perhaps?
Of course, the player then runs into the problem of having to deal with MOBs that can "see" through force locked doors and blast them with impunity (fair turnaround though I guess...heh).
"While I'm not too sure that Kobolds aren't sly, devious and maybe even slightly cunning little bastards, I have no problems whatsoever with, say, Golems getting stuck in doorways."
A handful of adventurers stroll up to you in the sewers in Athkatla, magic weapons and armor, the scent of potent magics abound, and your leader says:
"You, you not supposed to be here. Go away before I gets mad." (The kobold shaman with the staff for the Lilacor riddle)
Signs of either insanity or rock-type mentality. Lacks the whole devious, sly and cunning aspect in my books.
Golems should at least have the base sense of a basic Timeout on aggression, depending entirely on how smart the creator was naturally. So while they would try to attack you through the doorway, they wouldn't vainly try for hours on end as they get plinked away with ranged weapons. Sure they might try again and again after the timeout.
EG:
Attack X, chase X, can't hit X for 12 seconds, return to 'home' spot (Do NPCs have "home locations" within the script?)
The PC could repeat this whole process, but makes the golem look a leetle bit less like a totally mindless machine made by a blitering idiot (keep attacking, don't worry about smashing my home into bits and pieces Mr. Iron Golem...) and more like a mindless machine made by a wizard that the PC has just out-smarted
"Kensai Ryu had an interesting suggestion about reinforcements that got me wondering. If creatures responding to a call for reinforcements also scream for reinforcements... and wait for those to arrive before attacking the party... you'd eventually have to deal with the whole dungeon at once! It would also do much to prevent parties from camping out in dungeons. Of course, doors throw a spanner into the works here as well."
Well, if you can teach the AI to ignore doors, this might be useful. Although you might want to consider adding a wait time between the tiered calling of reinforcements so that A calls B, B calls C, C calls D, all the while A is waiting for Z to show up. They all proceed to appear on the player's screen, causing their video card to have a brain seizure, crashing to a BSD
Something along the lines of:
Reinforcement Group 1 (consists of X MOBs), they do not join the attack until all X number of MOBs are there. Then X-1 goes to join the battle, leaving 1 behind who is now Y.
Y calls for reinforcements, and waits until X number of MOBs are there. Y becomes part of the new X group, when they reach their "reinforcement capacity" X-1 go, and Y stays behind.
Instead of fighting a single huge nasty "please cast all your AE spells on us!" battle, you fight a continuing battle of waves (something like Amkethran after S and A are dead). A bit of an endurance fight rather than a "hold 'em off and blast 'em with ADHW/Holy Smite/etc"
It also gives players time to pick off the alarm caller so that they don't end up fighting wave after wave until the dungeon is emptied more or less.
Some MOBs would have to be flagged as "reinforcement callers only" ("boss" mobs guarding treasures, etc.)others "reinforcements only" ("yard trash").
I'm off to beat someone with a really big stick now...
formonthstheycouldn'tfigureouthowtochangethedamnadminpasswordsontheirroutersbutnowtheygokilloffmypersonalserversthey'reallgonnadie.
[ 07-28-2001: Message edited by: Sargon the Blade ]
Sargon the Blade
"So let me get this straight, you walked up to a dragon, totally naked, and challenged it to a duel??"
[url="http://www.attcanada.ca/~rebel_hq"]Writer's Block[/url]
"So let me get this straight, you walked up to a dragon, totally naked, and challenged it to a duel??"
[url="http://www.attcanada.ca/~rebel_hq"]Writer's Block[/url]
Open door, cast Fire Wall, close door.Originally posted by Sargon the Blade:
<STRONG>thx Diablo AI (Mind flayer, meet door. Door, meet Mind Flayer. Butcher meet door, door meet Butcher.)</STRONG>
Open door, cast Cloudkill, close door.
Actually, yes. However, there is only one kind of cheese that I dislike more than player cheese, and that is enemy cheese. I will not script enemies to do anything Bioware didn't intend them to. All I'm after is better decision making, which would be a huge improvement nonetheless.Originally posted by Sargon the Blade:
<STRONG>Any way to cheesily make the AI scripts IGNORE doors (treat them as all open)?</STRONG>
That's a very special kind of Kobold, and soon to be extinct. Actually, Kobolds are a bit near the bottom of the dungeon pecking order, so that reaction is totally out of character. Bit of a mess-up from the designers, IMO.Originally posted by Sargon the Blade:
<STRONG>"You, you not supposed to be here. Go away before I gets mad." (The kobold shaman with the staff for the Lilacor riddle)</STRONG>
I was thinking of something like "wait for at least 5 buddies before going any further".Originally posted by Sargon the Blade:
<STRONG>A calls B, B calls C, C calls D, all the while A is waiting for Z to show up. They all proceed to appear on the player's screen, causing their video card to have a brain seizure, crashing to a BSD</STRONG>
Keep them suggestions coming.
[url="http://www.sorcerers.net/Games/BG2/SpellsReference/Main.htm"]Baldur's Gate 2 Spells Reference[/url]: Strategy, tips, tricks, bugs, cheese and corrections to the manual.
- Shadow_Wolf
- Posts: 1
- Joined: Sat Jul 28, 2001 10:00 pm
- Contact:
I think smarter mage AI is definately needed. I just polymorph mustard jelly for any normal lich/mage and absorb spells until others have killed it. I did this for Irenicus (iron golem in that particular case) and hammered him. Mage scripts need to be able to detect mage resistance after a couple of rounds, and then use lower resistance spells.
- THE JAKER
- Posts: 1211
- Joined: Tue Jul 17, 2001 10:00 pm
- Location: commuting between Morrowind and Neverwinter
- Contact:
Yeah, what he ^ said. And also, I get these enemy mages casting remove magic and other dispel effects kind of spells...when I don't have anything to remove! I always know when THEY cast Str of One, haste, etc, why do they waste time on me when the spell is completely useless?
May you walk on warrrrm sannd....
I would agree if it weren't for one minor detail: enemy Mages don't have Lower Resist.Originally posted by Shadow_Wolf:
<STRONG>Mage scripts need to be able to detect mage resistance after a couple of rounds, and then use lower resistance spells.</STRONG>
In fact, take a look at the following list of spells:
Larloch's Minor Drain x 5
Melf's Acid Arrow x 4
Vocalize
Flame Arrow x 4
Slow
Fire Shield (Red)
Shadow Door
Domination x 4
Flesh to Stone x 2
True Sight x 2
Disintegrate
Spell Turning
Finger of Death
Summon Efreeti
Abi-Dalzim's Horrid Wilting
Symbol - Stun
Spellstrike
Imprisonment
Meteor Swarm
Wail of the Banshee
Polymorph Other x 3
Time Stop
Symbol - Fear
Symbol - Death
Sunfire
Death Spell
Spell Turning
That's what our dear friends Kangaxx the Lich and Deirex have memorized. This is not my idea of a good memorization pattern...
[url="http://www.sorcerers.net/Games/BG2/SpellsReference/Main.htm"]Baldur's Gate 2 Spells Reference[/url]: Strategy, tips, tricks, bugs, cheese and corrections to the manual.
ROFL.
Irenicus (almost) died to a Nishruu/Hakeshar in my games (I helped). Mages NEED to recognize certain foes off the hop. While there is a certain degree of humor in watching the big bad villan go down to a 6th level summon, its like gassing Mind Flayers like they were c0c.kroaches.
As for the spell list, out with the junk, in with the tried and true offense/defense spells.
Teleport Field might not be a bad choice for liches, as they tend to be alone, so it could work well (depending on attackers - all melee this would be a big annoyance.)
Back to the AI decision tree:
How bad is the "flight" mechanism within the scripts? Having a MOB with a ranged weapon either:
A - Move away from a melee attacker.
B - Attack with melee weapon.
I'm pretty sure B is always chosen right now.
Could also you a decision based on the attackers means of attack:
A - If attacker = ranged, do a similar decision on the above (keep attacking or switch to melee and close to attack)
B - If attacker = melee, do the above decision.
As for the doors, a complicated solution might be to set Monster Only traps (can it be done? I'd guess if monsters can IGNORE traps, then could they also ONLY activate certain traps?) at the doors, so when they get near, the TRAP triggers the door to open for x seconds then close. Of course, this means re-working areas :\
Back to re-writing a wack of HTML, some of it 5 years old...thank god for CSS
Irenicus (almost) died to a Nishruu/Hakeshar in my games (I helped). Mages NEED to recognize certain foes off the hop. While there is a certain degree of humor in watching the big bad villan go down to a 6th level summon, its like gassing Mind Flayers like they were c0c.kroaches.
As for the spell list, out with the junk, in with the tried and true offense/defense spells.
Teleport Field might not be a bad choice for liches, as they tend to be alone, so it could work well (depending on attackers - all melee this would be a big annoyance.)
Back to the AI decision tree:
How bad is the "flight" mechanism within the scripts? Having a MOB with a ranged weapon either:
A - Move away from a melee attacker.
B - Attack with melee weapon.
I'm pretty sure B is always chosen right now.
Could also you a decision based on the attackers means of attack:
A - If attacker = ranged, do a similar decision on the above (keep attacking or switch to melee and close to attack)
B - If attacker = melee, do the above decision.
As for the doors, a complicated solution might be to set Monster Only traps (can it be done? I'd guess if monsters can IGNORE traps, then could they also ONLY activate certain traps?) at the doors, so when they get near, the TRAP triggers the door to open for x seconds then close. Of course, this means re-working areas :\
Back to re-writing a wack of HTML, some of it 5 years old...thank god for CSS
Sargon the Blade
"So let me get this straight, you walked up to a dragon, totally naked, and challenged it to a duel??"
[url="http://www.attcanada.ca/~rebel_hq"]Writer's Block[/url]
"So let me get this straight, you walked up to a dragon, totally naked, and challenged it to a duel??"
[url="http://www.attcanada.ca/~rebel_hq"]Writer's Block[/url]
Much as I think this is needed, I don't think I'll do it. It's quite intrusive into what the developers meant the game to be like.Originally posted by Sargon the Blade:
<STRONG>As for the spell list, out with the junk, in with the tried and true offense/defense spells.</STRONG>
While some spells are nearly impossible to script (Project Image, Breach and Ruby Ray and the like, for example), the developers could easily have given Deirex nothing but Magic Missiles, Mirror Images, Stoneskins, Skull Traps (he's immune himself, after all) and so on. They didn't. I suppose they had some reason (though I hardly dare to guess).
Good AI is a lot more trouble than a solid spell list (the Beholders took me over a week), so I can imagine the developers choosing for easily made, dumb AI. I'll be happy to help them out in this regard, since I cannot imagine them having any other plans would they have had the time and money.
That one's easy. Ranged creatures can keep distance pretty good. They can't take advantage of terrain like players can (they're totally blind to their surroundings... ), but they can measure ranges very accurately and run if someone gets too close.Originally posted by Sargon the Blade:
<STRONG>How bad is the "flight" mechanism within the scripts?</STRONG>
I'll have to stay clear of that one... Having monsters handle doors almost requires a re-write of half the areas and creatures in the game.Originally posted by Sargon the Blade:
<STRONG>As for the doors...</STRONG>
[url="http://www.sorcerers.net/Games/BG2/SpellsReference/Main.htm"]Baldur's Gate 2 Spells Reference[/url]: Strategy, tips, tricks, bugs, cheese and corrections to the manual.
Keeping this up front, the new scripts are great fun!
<I>"Much as I think this is needed, I don't think I'll do it. It's quite intrusive into what the developers meant the game to be like."</I>
That's true, but there seems to be a few spells that really should be there, notably remove magic.
Of course, they should also make better use of the spells they have. Instead of the usual Symbol Fear Stun Death in the timestop (its usually 3 symbols, I could be wrong), they should do something more like Remove Magic - Symbol Stun - Symbol Fear. Or if you don't want to add the Remove Magic, Stun Fear Horrid Wilting followed by a Symbol Death (if there's a chance there is a foe with less than 60 hps, and helps Symbol Stun stick longer.
A little tweaking of the order (which seems to be something in reverse alpha starting with 9th working to 1st), even perhaps a little randomization so its not a straight out downward sequence of highest to lowest level spells.
Odd that they only have a single defense stripping spell (spellstrike) aside from truesight.
Perhaps the summon efreeti early since they're more than willing to unload offensive spells in my experience.
At least they do the death spell on summons.
"they're totally blind to their surroundings."
Surprise surprise
Annoying thing that's pretty common in single player AI, but its a mountain to deal with providing them with environmental knowledge.
The bit with doors would, of course, be a headache to deal with. It is something that should've been done in the first place if they couldn't manage general AI door opening.
Now, if in NWN or FO3 (Given Torn's cancellation...bah!) the AI can't open doors, I'll be rather very annoyed.
If you could specifically script the AI to ignore doors ONLY when out of visual range of the PC? After all, they're just closing the doors as they come through them, and only something light Farsight or Wizard Eye would reveal them "cheating"
[url="http://members.attcanada.ca/~rebel_hq/bg2tale.html"]This[/url] was what I was working on initially (and haven't touched it since...now I go back to working on it...heh), then I go and revamp the whole nine yards to end up with [url="http://members.attcanada.ca/~rebel_hq/"]this[/url].
*chuckle*
<I>"Much as I think this is needed, I don't think I'll do it. It's quite intrusive into what the developers meant the game to be like."</I>
That's true, but there seems to be a few spells that really should be there, notably remove magic.
Of course, they should also make better use of the spells they have. Instead of the usual Symbol Fear Stun Death in the timestop (its usually 3 symbols, I could be wrong), they should do something more like Remove Magic - Symbol Stun - Symbol Fear. Or if you don't want to add the Remove Magic, Stun Fear Horrid Wilting followed by a Symbol Death (if there's a chance there is a foe with less than 60 hps, and helps Symbol Stun stick longer.
A little tweaking of the order (which seems to be something in reverse alpha starting with 9th working to 1st), even perhaps a little randomization so its not a straight out downward sequence of highest to lowest level spells.
Odd that they only have a single defense stripping spell (spellstrike) aside from truesight.
Perhaps the summon efreeti early since they're more than willing to unload offensive spells in my experience.
At least they do the death spell on summons.
"they're totally blind to their surroundings."
Surprise surprise
Annoying thing that's pretty common in single player AI, but its a mountain to deal with providing them with environmental knowledge.
The bit with doors would, of course, be a headache to deal with. It is something that should've been done in the first place if they couldn't manage general AI door opening.
Now, if in NWN or FO3 (Given Torn's cancellation...bah!) the AI can't open doors, I'll be rather very annoyed.
If you could specifically script the AI to ignore doors ONLY when out of visual range of the PC? After all, they're just closing the doors as they come through them, and only something light Farsight or Wizard Eye would reveal them "cheating"
[url="http://members.attcanada.ca/~rebel_hq/bg2tale.html"]This[/url] was what I was working on initially (and haven't touched it since...now I go back to working on it...heh), then I go and revamp the whole nine yards to end up with [url="http://members.attcanada.ca/~rebel_hq/"]this[/url].
*chuckle*
Sargon the Blade
"So let me get this straight, you walked up to a dragon, totally naked, and challenged it to a duel??"
[url="http://www.attcanada.ca/~rebel_hq"]Writer's Block[/url]
"So let me get this straight, you walked up to a dragon, totally naked, and challenged it to a duel??"
[url="http://www.attcanada.ca/~rebel_hq"]Writer's Block[/url]
Actually, the "basic" Lich does that with some sort of faked sequencer or contingency. Wipes out my Project Images.Originally posted by Sargon the Blade:
<STRONG>there seems to be a few spells that really should be there, notably remove magic.</STRONG>
This at the very least.Originally posted by Sargon the Blade:
<STRONG>A little tweaking of the order (which seems to be something in reverse alpha starting with 9th working to 1st), even perhaps a little randomization so its not a straight out downward sequence of highest to lowest level spells.</STRONG>
You and me both!Originally posted by Sargon the Blade:
<STRONG>Now, if in NWN or FO3 the AI can't open doors, I'll be rather very annoyed.</STRONG>
[url="http://www.sorcerers.net/Games/BG2/SpellsReference/Main.htm"]Baldur's Gate 2 Spells Reference[/url]: Strategy, tips, tricks, bugs, cheese and corrections to the manual.
Xyx great job with the beholders . Door Opening is a big problem and heres why:
The only way I could find for monsters to open doors was to use a huge script running that looked something like this :
IF
See("Door01")
!TargetUnreachable("Door01")
OpenState("Door01",FALSE)
!See([GOODCUTOFF])
Allegiance(Myself,EVILCUTOFF)
GlobalLT("KR_DOOR_01_TRY","GLOBAL",9)
THEN
RESPONSE #100
MoveToObjectNoInterrupt("Door01")
IncrementGlobal("KR_DOOR_01_TRY","GLOBAL",1)
OpenDoor("Door01")
END
(Notice I increment the global before trying to open thats because sometimes the monsters get 'stuck' when trying to open a key or plot locked door)
I had to add the check for allegiance because I attached the script to most of the Wta**** series of scripts used by monsters and others as well (to avoid good characters (good characters being those with blue or green cicles) from dying by setting off trapped doors, thus good characters could not open doors).
You had to include every possible door combo in the script (which means around 200+ door names like door01, door02, etc) which made a mighty big script, plus I incremented a global as a counter, for every door attempted.
If there were 2 doors nearby say door01 and door02 monsters would flock to door01 and continue attempting to open it, thus not very helpful if the PCs were hiding behind door 2.
To combat this I added a counter to each door so that it was only tried to be opened 8 times every 60 seconds.
So then the monsters would move to door02 after trying unsuccessfully to open door01 (if it was locked with a key) eight times.
But then I started getting weird behavior, monsters sometimes would stay at Door01 trying to open it.
I later found out from Bioware this is caused by the action OpenDoor causing problems if the door is locked and unopenable (locked with a key or plot locked) so monsters would freeze up attempting to open the door (because they would be trying to open it still) and could br killed at leisure.
So then I added the action 'unlock' into the scripts which enabled them to unlock the doors first then open them.
However due to the large number of trapped doors in some areas and/or plot locked doors, this obviously ruined the plots for many areas, such as mindflayer dungeons, CopperCoronet, Slaver Quests, and the secret doors in the sewer, to name a few also most of the monsters in some areas would be killed by the traps on the doors (like in firkaggs dungeon for example)...
Also in the begining I tried using many different triggers like 'Unlocked' and 'Disarmed' and only found out through testing those didnt work, and later had that confirmed by Bioware.
So after 70+ scripts and days (off and on) of working on this I decided it just wasnt feasible to do at this time.
Then TOB came out and first thing I noticed included in Objects.ids was these :
NearestDoor
SecondNearestDoor
etc...
I did a little experimenting with the new door objects but was wary of wasting any more time doing this as I had used up alot on my prior project. So perhaps its now possible and easy to implement door opening in TOB, but like I said I wasted enough time before and am wary of wasting more...
The only way I could find for monsters to open doors was to use a huge script running that looked something like this :
IF
See("Door01")
!TargetUnreachable("Door01")
OpenState("Door01",FALSE)
!See([GOODCUTOFF])
Allegiance(Myself,EVILCUTOFF)
GlobalLT("KR_DOOR_01_TRY","GLOBAL",9)
THEN
RESPONSE #100
MoveToObjectNoInterrupt("Door01")
IncrementGlobal("KR_DOOR_01_TRY","GLOBAL",1)
OpenDoor("Door01")
END
(Notice I increment the global before trying to open thats because sometimes the monsters get 'stuck' when trying to open a key or plot locked door)
I had to add the check for allegiance because I attached the script to most of the Wta**** series of scripts used by monsters and others as well (to avoid good characters (good characters being those with blue or green cicles) from dying by setting off trapped doors, thus good characters could not open doors).
You had to include every possible door combo in the script (which means around 200+ door names like door01, door02, etc) which made a mighty big script, plus I incremented a global as a counter, for every door attempted.
If there were 2 doors nearby say door01 and door02 monsters would flock to door01 and continue attempting to open it, thus not very helpful if the PCs were hiding behind door 2.
To combat this I added a counter to each door so that it was only tried to be opened 8 times every 60 seconds.
So then the monsters would move to door02 after trying unsuccessfully to open door01 (if it was locked with a key) eight times.
But then I started getting weird behavior, monsters sometimes would stay at Door01 trying to open it.
I later found out from Bioware this is caused by the action OpenDoor causing problems if the door is locked and unopenable (locked with a key or plot locked) so monsters would freeze up attempting to open the door (because they would be trying to open it still) and could br killed at leisure.
So then I added the action 'unlock' into the scripts which enabled them to unlock the doors first then open them.
However due to the large number of trapped doors in some areas and/or plot locked doors, this obviously ruined the plots for many areas, such as mindflayer dungeons, CopperCoronet, Slaver Quests, and the secret doors in the sewer, to name a few also most of the monsters in some areas would be killed by the traps on the doors (like in firkaggs dungeon for example)...
Also in the begining I tried using many different triggers like 'Unlocked' and 'Disarmed' and only found out through testing those didnt work, and later had that confirmed by Bioware.
So after 70+ scripts and days (off and on) of working on this I decided it just wasnt feasible to do at this time.
Then TOB came out and first thing I noticed included in Objects.ids was these :
NearestDoor
SecondNearestDoor
etc...
I did a little experimenting with the new door objects but was wary of wasting any more time doing this as I had used up alot on my prior project. So perhaps its now possible and easy to implement door opening in TOB, but like I said I wasted enough time before and am wary of wasting more...
Wizards Of Eregion Expansion Team Presents:
[url="http://www24.brinkster.com/manveru"]Dagor Laureland[/url]
[url="http://groups.yahoo.com/group/IEEAIS"]Infinity Engine Enemy AI Scriptors Council[/url]
[url="http://www24.brinkster.com/manveru"]Dagor Laureland[/url]
[url="http://groups.yahoo.com/group/IEEAIS"]Infinity Engine Enemy AI Scriptors Council[/url]
If 'Unlocked' and 'Disarmed' still don't work, 'NearestDoor' will have preciously little to add for generic enemy AI, I'm afraid.
[url="http://www.sorcerers.net/Games/BG2/SpellsReference/Main.htm"]Baldur's Gate 2 Spells Reference[/url]: Strategy, tips, tricks, bugs, cheese and corrections to the manual.
I've never scripted anything, LOL (so why am I in this thread...), but is intelligence actually part of the script and if it is can't that be a variable for random action, so skeletons will bump into walls and mind flayers will fight there way out of a corner.
if it isn't it seems you will have to rescript everything and add it.
if it isn't it seems you will have to rescript everything and add it.
Nothing like that Windows 98 virus to ruin a good day.
Isn't there a NPC in the basement of Gromnir's keep that opens a door? The one if you take the vampire-infested route to the basement. When you trigger the alarm the npc will run up and open the door - maybe they've got a "working" example of the NearestDoor variable in that script instead of a named call.
(I'd look for myself but I haven't gotten around to reinstalling BG2/ToB and the assortment of utilities...)
Isn't there a NPC in the basement of Gromnir's keep that opens a door? The one if you take the vampire-infested route to the basement. When you trigger the alarm the npc will run up and open the door - maybe they've got a "working" example of the NearestDoor variable in that script instead of a named call.
(I'd look for myself but I haven't gotten around to reinstalling BG2/ToB and the assortment of utilities...)
Sargon the Blade
"So let me get this straight, you walked up to a dragon, totally naked, and challenged it to a duel??"
[url="http://www.attcanada.ca/~rebel_hq"]Writer's Block[/url]
"So let me get this straight, you walked up to a dragon, totally naked, and challenged it to a duel??"
[url="http://www.attcanada.ca/~rebel_hq"]Writer's Block[/url]
Sorry to intrude on the discussion of scripts (which I find a little more comprehensible now that I've finished my C course ), but I do have a question for Xyx on the beholder (and possibly related gauth) script. Just got done with the Cult of the Unseeing Eye and had some interesting interactions with them both...
SPOILER (just in case you're in here and you've never done the Unseeing quests)
.
.
.
.
.
.
.
.
.
.
.
(hope that's enough)
When I fought the gauths across the bridge in the Rift area, I sent in an Ogre Beserker and an Elemental and the gauths didn't fire at either. When I ran into a lone beholder down below, same result with an elemental and a sword spider this time. The odd element is when I ran into the beholder and gauths in the SW corner of the Lower Reaches. There, the elemental and spider were quickly beamed and slagged by the beholder. What are the relevant triggers that explain this? At first I thought, summoned creature = physical attack, but that doesn't seem to cover it. I'm certain ogre beserkers and sword spiders have no immunity to the gauth or beholder rays and I know elementals aren't immune after that last encounter. Thanks for the time (I'll wait until I get through the game a couple of times before trying out "smarter" critters )
SPOILER (just in case you're in here and you've never done the Unseeing quests)
.
.
.
.
.
.
.
.
.
.
.
(hope that's enough)
When I fought the gauths across the bridge in the Rift area, I sent in an Ogre Beserker and an Elemental and the gauths didn't fire at either. When I ran into a lone beholder down below, same result with an elemental and a sword spider this time. The odd element is when I ran into the beholder and gauths in the SW corner of the Lower Reaches. There, the elemental and spider were quickly beamed and slagged by the beholder. What are the relevant triggers that explain this? At first I thought, summoned creature = physical attack, but that doesn't seem to cover it. I'm certain ogre beserkers and sword spiders have no immunity to the gauth or beholder rays and I know elementals aren't immune after that last encounter. Thanks for the time (I'll wait until I get through the game a couple of times before trying out "smarter" critters )
Very nice idea that I hadn't considered yet.Originally posted by hermit6115:
<STRONG>is intelligence actually part of the script and if it is can't that be a variable for random action, so skeletons will bump into walls and mind flayers will fight there way out of a corner.</STRONG>
Don't have ToB yet, so can't say. However, that specific door is probably named in the script. As Kensai Ryu said, making a script that names every door in the game is a bit much...Originally posted by Sargon the Blade:
<STRONG>Isn't there a NPC in the basement of Gromnir's keep that opens a door?</STRONG>
Hmm... Were they Dominated or Charmed, perhaps? That is a bit of a problem for summons. There's no way for the Beholders to see if a creature with a red circle is friend or charmed foe. They'll leave it alone until the charm wears off. Dominated party members are shot to bits, though. I took special care of that.Originally posted by Catcher:
<STRONG>I do have a question for Xyx on the beholder (and possibly related gauth) script. Just got done with the Cult of the Unseeing Eye and had some interesting interactions with them both...</STRONG>
[url="http://www.sorcerers.net/Games/BG2/SpellsReference/Main.htm"]Baldur's Gate 2 Spells Reference[/url]: Strategy, tips, tricks, bugs, cheese and corrections to the manual.
Very nice work with the scripts. Is anyone thinking about a way to fix the dumb "chase the nearest party member in circles while the rest of the party pumps you full of arrows" behavior? I think this strategy is much cheesier (and more often employed, I think) than anything having to do with doors. (Not to say I wouldn't install and love a doors patch...)
Keep up the great work, and please, post more scripts!
Keep up the great work, and please, post more scripts!
*Wish I knew how to grab those quote things *
Xyx: No, they were not, to the best of my knowledge charmed. Don't think that gauths have a charm anyway. I was just testing conflicting reports that elementals and undead were/were not immune to beholder rays. I could see undead and Cause Serious and possibly elementals as well, but the gauths should be able to blast both with lightning. Furthermore, spiders and ogre beserkers shouldn't be immune to either. Still, when I did various summons before the gauths in the save game, the gauths didn't fire a single shot. When I brought Keldorn to crossbow range, a gauth in melee did fire at him Single beholder down in the Lower reaches didn't fire a shot, just closed to melee with the elemental. I was shocked, but if the beholder wants to fight like a figther with a normal B-Sword; I'll live with it What was freaky was when I used virtually the same team on the combo pack of two gauths and beholder. If I remember correctly, the gauth closed like they were "supposed" to, but then the beholder let lose with hold, death, and petrify. Yoikes! I then let dear Jahiera equip Balduran's Shield and enjoyed the spectacle of seeing a beholder on the recieving end of its own firepower Do the beholders have some kind of proximity script perhaps? Just thought I'd add fuel...
Xyx: No, they were not, to the best of my knowledge charmed. Don't think that gauths have a charm anyway. I was just testing conflicting reports that elementals and undead were/were not immune to beholder rays. I could see undead and Cause Serious and possibly elementals as well, but the gauths should be able to blast both with lightning. Furthermore, spiders and ogre beserkers shouldn't be immune to either. Still, when I did various summons before the gauths in the save game, the gauths didn't fire a single shot. When I brought Keldorn to crossbow range, a gauth in melee did fire at him Single beholder down in the Lower reaches didn't fire a shot, just closed to melee with the elemental. I was shocked, but if the beholder wants to fight like a figther with a normal B-Sword; I'll live with it What was freaky was when I used virtually the same team on the combo pack of two gauths and beholder. If I remember correctly, the gauth closed like they were "supposed" to, but then the beholder let lose with hold, death, and petrify. Yoikes! I then let dear Jahiera equip Balduran's Shield and enjoyed the spectacle of seeing a beholder on the recieving end of its own firepower Do the beholders have some kind of proximity script perhaps? Just thought I'd add fuel...