AI Compendium v 0.7.2 [all LoD offensive AIs/all classic AI]

Post here about all aspects of D2 mod making whether it's information, problems or whatever. Please specify whether your post is relating to Classic D2 or the Expansion.

Moderator: Nizari

0
No votes
 
Total votes: 0

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

AI Compendium v 0.7.2 [all LoD offensive AIs/all classic AI]

Post by Nefarius » Sun Jan 29, 2006 2:47 am

Diablo II 1.10+ AI Compendium
by Nefarius





Details:

Version 0.1: Idle, Skeleton, Zombie, BigHead, BloodHawk, Fallen, Brute, SandRaider, Wraith, CorruptRogue, Baboon, Goatman, FallenShaman and QuillRat AI scripts.

Version 0.2: SandMaggot, ClawViper, SandLeaper, Pantherwoman, Swarm, Scarab, Mummy and GreaterMummy AI scripts.

Version 0.3: Vulture, Mosquito, WillOWisp and Arach AI scripts.

Version 0.4: ThornHulk and Vampire AI scripts.

Version 0.5: BatDemon, Fetish, NpcOutOfTown, Npc, HellMeteor, Andariel, CorruptArcher, CorruptLancer, SkeletonBow, MaggotLarva, PinHead and MaggotEgg AI scripts.

Version 0.6: Towner, Vendor, FoulCrowNest, Duriel, Sarcophagus, ElementalBeast, FlyingScimitar, ZakarumZealot, ZakarumPriest, Mephisto, Diablo, FrogDemon, Summoner, NpcStationary, Izual, Tentacle, TentacleHead, Navi, Bloodraven, GoodNpcRanged, Hireable and TownRogue AI scripts.

Version 0.7: GargoyleTrap, SkeletonMage, FetishShaman, SandMaggotQueen, NecroPet, VileMother, VileDog, FingerMage, Regurgitator, DoomKnight, AbyssKnight, OblivionKnight, QuillMother, EvilHole, Trap-Missile (untested), Trap-RightArrow (untested), Trap-LeftArrow (untested), Trap-Poison (untested), Trap-Nova (untested), JarJar, InvisoSpawner, MosquitoNest, BoneWall, HighPriest, Hydra, Trap-Mele, 7TIllusion, MegaDemon, Griswold, DarkWanderer, ArcaneTower, DesertTurret, PantherJavelin, FetishBlowgun, Spirit, Smith, TrappedSoul and Buffy.

---

Base ID Guide - I thought that this might also help some people, trying to figure out what in monstats is used, or what stuff like seventombs and invisospawner are for.

NOTE: Sorry about the horrible typos in there.







------

LoD AIs

Note, I will finish all of the LoD AIs before adding them to the actual guide.

Code: Select all

AssassinSentry

BladeCreeper

InvisoPet

DeathSentry

ShadowWarrior

ShadowMaster

Raven

DruidWolf

Totem

Vines

CycleOfLife

DruidBear


SiegeTower
Don't know for sure, but the delay might control how many frames must ellapse between different imps using the tower as a turret. I.E. after imp A leaves the tower, par1 frames must pass before imp B can use the tower, this is just a guess though.

Delay (frames)
n/a
n/a
n/a
n/a
n/a
n/a
n/a


ReanimatedHorde
By default this AI does absolutely nothing (if all pars are zero it remains idle). Par5 and Par6 are essentially the same thing, I didn't notice a difference (maybe one is for running [5] and the other is for walking [6]?), par8 is rather unreliable, setting it to high values actually prevents self-resurrection. The charge behaviour is bugged, they are unable to properly charge up to the player at times, to avoid this set the par3-radius to a very small value.

Chance to attack (when within melee range)
Delay (frames) (par1 fails)
Radius (subtiles)
Chance to use SK2 (when within par3-range)
Chance to approach (when outside melee range)
Chance to approach (when outside melee range)
Delay (frames) (par5 and par6 fail)
Chance to use SK1 (after death)


Siegebeast
By defaul the siegebeast will approach the player. I assume the radius defined by par1 controls the radius in which the siegebeast commands imps to ride on it. Their speed is modified by the percentage specified by par7 when they use SK2.

Radius (subtiles)
Chance to attack (when within melee range)
Chance to use SK1 (when within melee range)
Delay (frames) (par2 and par3 fail)
Chance to use SK1 (when outside melee range)
Chance to use SK2 (when outside melee range)
Speed bonus
n/a


Minion
By default this AI is idle.

Chance to attack (when within melee range)
Delay (frames) (par1 fails)
Chance to approach (when outside melee range)
Delay (frames) (par3 fails)
Chance to use A2 rather then A1 (par1 succeeds)
n/a
n/a
n/a


SuicideMinion
When the player comes into melee range they will self-destruct after par2-frames (par1 is the same thing, but isn't used). Setting it to 0 makes them blow up immediately.

n/a
Delay (frames)
Chance to approach (when outside melee range)
Damage Radius
n/a
n/a
n/a
n/a


Succubus

Whenever they will use SK1/SK3 or SK2/SK4 depends on the amount of mana the targeted unit has, if it has more then, or exactly as much, mana as hp they will use SK2/SK4 (Blood Mana). [altering this behaviour should be simple via CE]. While they indeed properly use SK1 and SK2, this will make them ignore SK3 and SK4. I don't know if par7 reallt works like Duriel's aura level parameter, test for yourselves if you want absolute certainty. Finally, undocumented but functional, par8 controls the chance of them casting SK5 (Blood Star - wannabe skill).

Chance to attack (when within melee range)
Chance to approach (when outside melee range)
Chance to use SK1/SK3 or SK2/SK4 (when within par4-range)
Radius (subtiles)
Delay (frames) [par1 fails]
Delay (frames) [par2 fails]
n/a
Chance to use SK5


SuccubusWitch

When all parameters are 0, they will randomly walk and wander around. To me it doesn't seam as if par5 has any effect. When par3 succeeds, they will cast SK1. SK2, SK3 and SK4 are unused. Likewise par5 and par7 seams to serve no purpose. Finally, par8 does not control the chance to cast Weaken, it controls the chance to use Blood Star (SK5). - This AI is a perfect example why I initially said Blizzards documentation is horrible.

Chance to attack (when within melee range)
Chance to approach (when outside par4-range)
Chance to escape (when within par4-range)
Radius (subtiles)
n/a
Delay (frames) [par2 fails]
n/a
Chance to use SK5


Overseer

WARNING: Leaving all parameters blank will first cause the AI to hang once it comes into melee range, and afterwards lead to an assertion error (it is a hPath error, so I guess it attempts to walk into the tile occupied by the char...). Avoid at all cost. This error occurs when par4 is left blank. They will approach if outside of par4 range, and escape when within par4 range.

After being attacked, they will imediately start casting SK1 in the interval specified by par1. Cry Help works like attract, and is cast on the player attacking them, thus making it the primary target for all nearby monsters.
SK2 is used on injured units (when their HP plunges lower then 50%) and they have suffered that injury within par4-range. This is a indirect heal spell, it works like Holy Bolt, which leads to a problem, if the missile hits _another_ monster they will keep casting it over and over and over again not doing anything else (if par2 has a high chance). Par3 controls the chance to use SK3 on a nearby allied monster, this is what triggers Bloodlust (etc). I have no idea what exactly par5 is doing, but it seams to effect the range of par4 in some way. SK4 doesn't seam to be used at all. According to Blizzards original AI documentation (not the 1.10 one), par5 controls the chance to walk, but this is probably no longer valid.

Interval (frames)
Chance to use SK2.
Chance to use SK3.
Radius (subtiles)
Radius (subtiles)
Chance to attack (when within melee range)
Chance to use A2 rather then A1 (par6 succeeds)
n/a


MinionSpawner

This AI and the unit itself got fixed in 1.10. This is a more advanced version of the normal spawner AI, the usage counter as usual counts how often SK1 can be used. The two delays (par2 and par3) seam to control the interval between individual spawns being created. But par2 might not be used at all, since it will always use the skill (so it won't even fail). Par4 controls the activation radius, in which the unit will start using SK1. Par5 is unused (if it is supposed to do what I believe, but I might be wrong), use SparsePopulate instead.

Usage Counter
Delay (subtiles)
Delay (subtiles)
Radius (subtiles)
n/a
n/a
n/a
n/a


Imp

Yes blizzard, "refer to source" is a wonderful description of what this AI does.
This AI requires 16 parameters (divided into groups of 4), so it is multiline, par4-1 and par4-2 seam to be unused.

Par1-1 seams to controls the HP threshold that is used by the escape routine (when hp plunges below this value they will avoid melee range either by using SK1 or by running off, note that when HP is above this threshold they will approach), par1-2 controls the radius in which the imp will use SK1 (Teleport). The imps will use SK1 depending on the outcome of par1-3, if it succeeds, they pick a random subtile within par2-range and teleport to it. Par1-4 controls the chance to walk in a random direction (during and after approaching). Note that setting par1-2 to a value above about 2-screens radius they will teleport to the same spot they are standing on.

Par2-1 controls the distance, in subtiles, the imp can teleport into a siege tower/beast from. Par2-2 controls the radius in which the imp can cast spells (SK3 or SK5) at the player when on a siege tower/beast, par2-3 controls the chance of doing so. The radius defined by par2-4 is referred to as Error-Range, leave it untouched, this is probably releated to tower-detection.

Par3-1 controls the radius that triggers the escape behaviour (when the player comes into this radius it'll try to escape), the chance to escaping is controlled by par3-2.

1
HP threshold
Radius (subtiles)
Chance to use SK1
Chance to wander around

2
Radius (subtiles)
Radius (subtiles)
Chance to use a SK3 or SK5 (when within par2-2 range)
Radius (subtiles)

3
Radius (subtiles)
Chance to escape (when within par3-1 range)
Radius (subtiles)
Chance to use SK4 (when within par3-3 range)

4
n/a
n/a
Radius (subtiles)
Chance to use SK4 (when within par4-3 range)


Catapult

How this works: The catapult shoots the missile created by the catapult spotter, the catapult spotter is what actually controls the skills, this only controls how often they are fired.

Chance to shoot MSA1
n/a
n/a
n/a
n/a
n/a
n/a
n/a


FrozenHorror

A fully configureable AI, it does nothing if all pars are blank.

Chance to attack (when within melee range)
Chance to approach (when outside melee range)
Chance to use SK1 (when within melee range)
Delay (frames) [par1 fails, par2 fails]
n/a
n/a
n/a
n/a


BloodLord

Another fully configureable AI, it does nothing if all pars are blank. Note, the Frenzy behaviour of this monster doesn't seam to follow the rules of the Thornhulk.

Chance to attack (when within melee range)
Chance to approach (when outside melee range)
Chance to use SK1 rather then A1 (par1 succeeds)
Delay (frames) (par1 fails, par2 fails)
n/a
n/a
n/a
n/a


CatapultSpotter

This is the invisible stationary unit that actually does all the work when it comes to the catapult, the visual catapult is only there for the 'killing' and launch display. If all pars are blank it does nothing, so it is fully configureable.

So how exactly does this work, first the game will wait until the countdown specified by par2 hits 0, then it will roll par1, if par1 succeeds it will check if the player is within par3-radius, if he is, the AI will use a spell (see spell selection below), this spell will be targeted at the players x/y coordinates PLUS a random radius (0-par4), want the catapults to stop being so downright inaccurate? Set par4 to a very small value, and they will target the player, and not the rest of the screen.

The spell used is selected based on the par5-counter, after a spell has been used par5-times, they will use another spell, which is apparently randomly selected.

This AI is wonderful for ambient effects, with a high par4 radius, you can make it effect the whole screen ^^

Chance to use a spell (alternating between SK1, SK2, SK3, SK4 and SK5) [when within par3-range]
Delay (frames) (between rolls of par1)
Radius (subtiles)
Radius (subtiles)
Usage counter
n/a
n/a
n/a


NpcBarb

This AI is badly hardcoded, first of all, it casts a hardcoded attract on itself, to make monsters target it instead of the player (discovered by Vendanna), second of all, it will always walk in one direction. You can't use this AI for an enemy, as it will attempt to attack other monsters (despite being set to align = 0).

Interval (frames) [between attacks]
Chance to approach (when within par3-range)
Radius (subtiles)
n/a
n/a
n/a
n/a
n/a


Mihlathak

By default (automatic unchangeable behaviour) this AI will SK4 on the player, if he comes within skill-range.
When par1 succeeds this AI will use SK1 to teleport to a random subtile within par2-radius (similar to the imp AI). When the player comes within par5-radius he will escape. About 30 seconds after this AI is triggered, par6 is unlocked, this controls the chance to use SK5 (Minion Spawner), by default he won't summon anything, make sure to fill the spawn columns properly before enabling this undocumented and unused feature.

Chance to use SK1 (when within melee range)
Radius (subtiles)
Chance to use SK3 (on dead monsters)
Chance to use SK2 (on living monsters)
Radius (subtiles)
Chance to use SK5 (par unlocked after about 30 seconds ellapsed)
n/a
n/a


GenericSpawner

Works like any other spawner AI would, I doubt the radius parameter that should be controlled by par2 does anything, this was never coded I guess, use the Mosquito Nest AI instead, the only spawner AI that still uses the radius param properly (Minion Spawner AI is nice too).

Delay (frames) [between uses of SK1]
n/a
Usage counter
n/a
n/a
n/a
n/a
n/a


DeathMauler

Totally parameter controlled AI.

Chance to attack (when within melee range)
Chance to approach (when outside melee range)
Radius (subtiles)
Chance to use SK1 (when within par3-range)
n/a
n/a
n/a
n/a


Wussie

This is the AI used by the trapped barbs, this AI remains idle and plays the "help us" sound file over and over again, until the nearby door is shattered, then a portal is created to which these units will walk. They can actually die (making it harder to beat the quest), but in the normal game their HP is too high for that to happen.

n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a


AncientStatue

This AI remains idle until triggered by the hardcoded quest event, then it uses SK1 and self destructs to summon the assigned Ancient boss.

n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a


Ancient

These AIs are hardcoded, unless triggered by the quest event they will remain idle, furthermore, the same AI works differently depending on the unit ID.

Whirlwind Barbarian

Radius (subtiles)
Chance to use SK1 (when within par1-range)
Chance to attack (when within melee range)
Radius (subtiles) [the end point for WW, how many subtiles behind the player will it stop WW'ding]
n/a
n/a
n/a
n/a

Throwing Barbarian

Radius (subtiles)
Chance to shoot MSA1 (when within par1-range)
Chance to use SK1
Chance to escape (when within melee range)
Radius (subtiles) [distance to escape to]
n/a
n/a
n/a

Leap Barbarian

Radius (subtiles)
Chance to use SK1 (when within par1-range)
Chance to attack (when within melee range)
n/a
n/a
n/a
n/a
n/a


BaalThrone

After a boss wave has been slain, this A1 will use SK2 on the corpses. When exactly it uses SK3 and SK4 I can't say for sure. For reference, this is the baal that curses you in the Throne Room and summons the boss waves.

Chance to use SK1.
n/a
n/a
n/a
n/a
n/a
n/a
n/a


BaalCrab

This AI is totally hardcoded. When you come into spell range, he will either use SK1, SK2 or SK4. When further away, he might consider SK5 and SK6 (depending on the amount of mana you have), he also uses SK3 when you are far away (summons the tentacles), when he is under attack, he will either use SK5 to teleport away or summon the baal clone, which is not a skill but a hardcoded event. The problem with this AI is once again the map, not the AI itself, the Worldstone Chamber makes it too easy to cause the AI to get stuck in a position where it wont be able to hit you.

n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a


BaalTaunt

This is the 'baal laughing and killing you if you remain idle' effect that kills leechers. ;)
Basically, this thing will teleport to your char (this is ultra cool for a 'prison effect' if the enemies are not uncollideable) whenever you move, if you move away further then par1-subtiles, it'll walk to you again. If you are further away then par3-subtiles, it'll warp to you, rather then walk. After par2-seconds have ellapsed, it'll use SK1 (unless you moved).

Radius (subtiles)
Delay (seconds) [between uses of SK1]
Radius (subtiles)
n/a
n/a
n/a
n/a
n/a


PutridDefiler

This AI is hardcoded to a large extent, when there are allied units nearby, it'll cast SK1 on them. - What isn't hardcoded. It will escape once the player comes into par1-radius, it will escape to a distance of par2-subtiles. If it can't escape anymore it'll attack in melee.

Radius (subtiles)
Radius (subtiles)
n/a
n/a
n/a
n/a
n/a
n/a


BaalToStairs

This is the baal that appears after the final wave is killed, the one turning around and walking down the stairs, par1 controls the distance to the stairs, before it stops and vanishes.

Radius (subtiles)
n/a
n/a
n/a
n/a
n/a
n/a
n/a


BaalTentacle

The baal tentacle will self-destruct after par1-minutes have elapsed (don't know if it's in minutes, but 10 seconds seams too short...)

Chance to attack (when within melee range)
Delay (frames) [par1 fails]
Delay (minutes?)
n/a
n/a
n/a
n/a
n/a


BaalCrabClone

This hardcoded AI is exactly the same as the BaalCrab one, just that it doesn't create the clone, otherwise it's the same.

n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a


BaalMinion

Chance to attack (when within melee range)
Chance to approach (when outside melee range)
Chance to use SK1 (par1 succeeds)
Delay (frames) [par1 fails, par2 fails]
n/a
n/a
n/a
n/a


ClawViperEx

This AI was added in 1.10, it is like the ClawViper AI, it however has an added ranged-attack capability.

Chance to use SK1 (when within par2-range)
Radius (subtiles)
Chance to attack (when within melee range)
Chance to shoot MSA1 (when within par7-radius)
Delay (frames) [like for normal clawviper I think]
Color Parameter [like for normal clawviper]
Radius (subtiles)
Interval (frames) [between rolls of par4]


ShadowMasterNoInit
Attachments
AIC.zip
Version 0.7: GargoyleTrap, SkeletonMage, FetishShaman, SandMaggotQueen, NecroPet, VileMother, VileDog, FingerMage, Regurgitator, DoomKnight, AbyssKnight, OblivionKnight, QuillMother, EvilHole, Trap-Missile (untested), Trap-RightArrow (untested), Trap-Left
(143.74 KiB) Downloaded 2038 times
baseID.zip
The BaseID table (html file)
(7.18 KiB) Downloaded 1438 times
Last edited by Nefarius on Sat Aug 12, 2006 5:03 pm, edited 17 times in total.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

User avatar
Nasher
Junior Member
Paladin
Posts: 131
Joined: Sat May 07, 2005 12:42 am

Re: Diablo II AI Compendium (WIP) [first 14 AIs + Intro]

Post by Nasher » Sun Jan 29, 2006 3:00 am

Yay, amazing job Nefarius!

One correction: Circle parameter means that the Brute will try to get close to the player by moving in balistic form.

Player > > > > > > > Player catch.
_____________________Brute
Brute > > > > > > >>
Last edited by Nasher on Sun Jan 29, 2006 3:18 am, edited 2 times in total.

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: Diablo II AI Compendium (WIP) [first 22 AIs + Intro]

Post by Nefarius » Sun Jan 29, 2006 2:20 pm

Thanks :) - I will take this into account when going thru the "unknowns" after all the AIs are covered :mrgreen:
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

User avatar
Paul Siramy
Retired staff
Principality
Posts: 2828
Joined: Sat May 25, 2002 2:39 pm
Location: La Garenne Colombes (near Paris)
Contact:

Hand-picked

Re: Diablo II AI Compendium (WIP) [first 22 AIs + Intro]

Post by Paul Siramy » Sun Jan 29, 2006 2:31 pm

Nefarius";p="256708" wrote:after all, the player CANNOT enter occupied cells
But if the player jump *over* the unit, will it activate it ?

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: Diablo II AI Compendium (WIP) [first 22 AIs + Intro]

Post by Nefarius » Sun Jan 29, 2006 2:38 pm

That is worthwhile to test - adding this to my test list for future additions, Thanks Paul :)
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

User avatar
Brother Laz
Forum Legend
Dominion
Posts: 6715
Joined: Mon Jun 03, 2002 10:06 am
Location: Fallen Like Lightning
Contact:

Hand-picked

Post by Brother Laz » Mon Jan 30, 2006 7:09 pm

Is there a difference in aggressiveness between AIs or is everything controlled by these parameters?

Ie. if I set the parameters of SandMaggot to the values closest to Skeleton (eg. charges 0, etc.), will it resemble a skeleton AI or will it still hang around more and attack less than an actual skeleton AI?
Last edited by Brother Laz on Mon Jan 30, 2006 7:23 pm, edited 2 times in total.
19.may.2007 | Adun Tori Laz.
Median XL released!
Flesyht sa ruobhgien yht etah.


y dont u play the game the way its supposta be played? -SlothNathan

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: Diablo II AI Compendium (WIP) v 0.3 [26 AIs]

Post by Nefarius » Mon Jan 30, 2006 7:21 pm

In that specific case, no, maggots simply suck ;)

Their AI functions on a passive-sit-and-wait basis, rather then an active-hunter-seeker basis.

_any_ nearby foe = it will not target individual units and attack them, but rather attack anything within range.

targated foe = it will pick one unit as target and pursue and attack that unit until an event causes it to switch the target.


The main issue with the maggots in D2: their only non melee attack is a short range lowish-poison missile. Change the missile to something with greater range and physical+poison damage, otherwise I can only suggest you change the maggot AI to something else (as denoted in the guide - I like using VileMother AI for them - make sure to swap MaggotLay with Nest though if you do - otherwise they'd get stuck) - increasing the number of eggs they can lay is to be done with care (or carelessly :twisted:) - but instead of changing the number of eggs, you should make the eggs 100% chance to hatch (the egg AI will be covered in future guide version as well :P)




Most other AIs however can be made extremely aggressive. Just be aware that the parameters don't control everything, many AIs have built in "100% chance to approach or attack" (this is noted in the comments for each individual AI)
Last edited by Nefarius on Mon Jan 30, 2006 7:23 pm, edited 1 time in total.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

User avatar
Brother Laz
Forum Legend
Dominion
Posts: 6715
Joined: Mon Jun 03, 2002 10:06 am
Location: Fallen Like Lightning
Contact:

Hand-picked

Post by Brother Laz » Mon Jan 30, 2006 7:24 pm

Addendum: Vulture AI in non-standard rows actually works, except the vulture doesn't actually 'fly' but scrape the ground.
19.may.2007 | Adun Tori Laz.
Median XL released!
Flesyht sa ruobhgien yht etah.


y dont u play the game the way its supposta be played? -SlothNathan

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: Diablo II AI Compendium (WIP) v 0.3 [26 AIs]

Post by Nefarius » Mon Jan 30, 2006 7:34 pm

Good, as with other cc (comments and corrections), I'll add those on the final revision of the guide.

Thanks :)
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

User avatar
brappy
Forum Regular
Angel
Posts: 658
Joined: Fri Oct 28, 2005 11:27 pm
Location: Oswego, NY
Contact:

Post by brappy » Mon Jan 30, 2006 11:25 pm

Check under the Pantherwoman AI, it says
Exactly what it says, the unit will remain idle in NU mode.
;)
Currently working on Tricet of Apocalypse (Latest patch: Beta 0.9) | Mod thread
A=B, A²=AB, A²-B²=AB-B², (A+B)(A-B)=B(A-B), A+B=B, A+A=A, 2A=A, 2=1

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: Diablo II AI Compendium (WIP) v 0.3 [26 AIs]

Post by Nefarius » Tue Jan 31, 2006 12:13 am

Removed stupid carryover.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

GReddy
Posts: 28
Joined: Fri Oct 07, 2005 7:05 pm

Re: Diablo II AI Compendium (WIP) v 0.3 [26 AIs]

Post by GReddy » Mon Feb 13, 2006 9:16 pm

first of all - great job!
But little correction, Willowisp AI doesn't use Skill1 column at all, it uses MissC column for missile and it doesn't matter what info is in Skill1 column, it can be left blank ;)
Is there a difference in aggressiveness between AI
i think aggressivenes is mostly influenced by aidel columns, so if you want to get something like crazy shredding-machine :turnevil: just set this columns to 1-5 (havent tested with 0) both, casters and AIs that use A1-A2 anims use these columns to know delay between attacks, casts, etc

Edit: nearly forgotten, there's funny hint - if you set quillrat1 BaseId and Willowisp AI, you'll get your monster shooting multishot, and missiles will be one over one, so it's better to use missile with Trans column set to 0. When i had kind of these monsters shooting firebolts, firebolt anim was pure white in spots that can't be opaque with Trans=0. Nice effect :)
Last edited by GReddy on Mon Feb 13, 2006 9:28 pm, edited 1 time in total.
Sorry of my bad english... I'm still working at it ))

User avatar
Quintine
Posts: 52
Joined: Thu Sep 01, 2005 2:20 am
Location: Wollongong Nsw Australia
Contact:

Post by Quintine » Mon Feb 13, 2006 9:46 pm

Wow 8-O great job, this is exactly what i have been looking for, really helpfull.

User avatar
Wraxul
Junior Member
Paladin
Posts: 140
Joined: Fri Aug 05, 2005 5:55 am
Location: Floating aimlessly in the abyss that is my mind
Contact:

Re: Diablo II AI Compendium (WIP) v 0.3 [26 AIs]

Post by Wraxul » Sat Feb 18, 2006 10:57 am

Are you positive the Fallen Shaman AI can use any corpse targeting spell? I have them corpse-exploding their minions, everything else works great til they cast corpse-explode. It works once, then the shaman stands idle til struck by my character, this repeats everytime he casts it.
http://wraxul.tripod.com/

Forums for my upcoming 'Kingdom of the Crimson Moon' game
Deckard Cain Mini-Game

"It is wisdom to recognize necessity, when all other courses have been weighed, though as folly it may appear to those who cling to false hope."
- Gandalf the Gray

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: Diablo II AI Compendium (WIP) v 0.3 [26 AIs]

Post by Nefarius » Sat Feb 18, 2006 12:02 pm

I have fallen shamans that cast Baal Corpse Explosion in AntiBalance, so yes, I'm sure.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

User avatar
Joel
Retired staff
Dominion
Posts: 6921
Joined: Mon May 27, 2002 7:19 am
Location: Orsay
Contact:

Hand-picked

Post by Joel » Mon Feb 20, 2006 2:09 pm

Monster getting stuck after using a skill means the anim or the skill use incorrect sequence and trigger frame.
"How much suffering, mortal, does it take before you lose your grace?"
Shadow Empire (coming soon) | forum

User avatar
ttemplar
Suspended - Please Contact Myhrginoc
Warrior
Posts: 17
Joined: Wed May 19, 2004 12:15 pm

Re: Diablo II AI Compendium (WIP) v 0.3 [26 AIs]

Post by ttemplar » Fri Apr 07, 2006 5:36 am

As with other corpse targeting AIs, they will correctly use any skill specified in the Skill_1 column on the corpse (unless it is related to summoning of course). This AI will target corpses of everything that has the LUndead boolean set to true.
What is exactly meant by this?

I have used the Greater Mummy AI to summon Skeletons from other monsters corpses. I just used a variant of the Necromancers Summon Skeleton skill and replaced the "Necro Skeleton" with a hostile skeleton.

It worked perfectly (no AI hang-ups). I had to make the minions of monster with the AI Undead however (so the AI would target the corpses) but it still worked with no problems at all.

Or are you talking about some other summoning skill..?

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: Diablo II AI Compendium (WIP) v 0.3 [26 AIs]

Post by Nefarius » Sat Apr 22, 2006 10:33 pm

It is a bad idea to do this. The game never intended monsters (type 1 units) to be owners of other type 1 units. The game expects a type 0 unit (player) as the master of the minions, this leads to crashes at worst and weird things that defy any logic otherwise.




ATTENTION: Future versions of the compendium will be made available in PDF form, since thats easier for me to format (and thus faster) then doing so here on the forum. When the next version is released I'll post a link here.
Last edited by Nefarius on Sun Apr 23, 2006 12:59 am, edited 1 time in total.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

User avatar
Cloud
Junior Member
Champion of the Light
Posts: 261
Joined: Sun Aug 08, 2004 11:20 pm
Contact:

Re: AI Compendium v 0.7 [100 AIs covered!] 27th May, 2006

Post by Cloud » Sun May 28, 2006 12:59 am

its really a great work this thing.
But I think I found something with is not really clear to me:

1. In the Foulcrownest and Sarcophagus AI you mentioned par1 and par2. But when I have a look in my txt, there is par1 and par3.
2. In the Color Index of the Claw Viper you write 1=red. But I see them always in a blue style :?: or do I mix this up with something else?
3. What is with the flying effekt at the Vulture? I don't really know if this behavor is part of the AI or hardcoded or wahtever so please explain there ;)
4. In the Skeletonmage AI you write: 5. Chance to escape (when within par3 range). Par3 isn't a radius, you mean par4, don't you?

Else, really good work :)

PS: I'm using 1.10, so if you testet my 1. with 1.11 I don't know if that has changed.
I'm not a signature I'm only tyding up here...

User avatar
librarian
Junior Member
Champion of the Light
Posts: 356
Joined: Wed Dec 07, 2005 7:47 pm
Contact:

Post by librarian » Sun May 28, 2006 6:50 pm

Heiho,

it seems to be a sort of flee effect. If you're pursuing them, they won't come to ground. They only come back to ground when the player heads to another direction, so they can ambush him.
Of course I've no idea if this is soft- or hardcoded ;-)
so long ...
librarian

current status: (re-)tired
vanilla FAQtoids

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: AI Compendium v 0.7 [100 AIs covered!] 27th May, 2006

Post by Nefarius » Sun May 28, 2006 7:46 pm

The flight effect is hardcoded, it can't be altered. There seams to be a check whenever to walk or fly.

---
1. In the Foulcrownest and Sarcophagus AI you mentioned par1 and par2. But when I have a look in my txt, there is par1 and par3.
2. In the Color Index of the Claw Viper you write 1=red. But I see them always in a blue style icon_question.gif or do I mix this up with something else?
3. What is with the flying effekt at the Vulture? I don't really know if this behavor is part of the AI or hardcoded or wahtever so please explain there icon_wink.gif
4. In the Skeletonmage AI you write: 5. Chance to escape (when within par3 range). Par3 isn't a radius, you mean par4, don't you?
1. Yes
2. It is blue yes, thats a copy/paste carryover (as a side note, they could shift to red too, prior to LoD IIRC)
3. See above.
4. Yes
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

User avatar
librarian
Junior Member
Champion of the Light
Posts: 356
Joined: Wed Dec 07, 2005 7:47 pm
Contact:

Post by librarian » Sun May 28, 2006 9:17 pm

Heiho,

>>
The flight effect is hardcoded, it can't be altered. There seams to be a check whenever to walk or fly.
<<

yeah, but they never ever use it for offensive purpose, that is to approach their enemy. They also don't use it to cross unwalkable tiles, no matter if the way is barred by the map or if the player set up an obstacle (say, a Bone Wall). I always thought Vulture's AI is very similar to Bat Demon's regarding the fly-away routine. I'm not sure if flying mode is triggered simply via player's attack or via injury of the Vulture itself.
Maybe it is something like 'every then and now when GH mode is triggered, use Flying mode instead'. At least they fly very often when i use KB gear.
so long ...
librarian

current status: (re-)tired
vanilla FAQtoids

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: AI Compendium v 0.7 [100 AIs covered!] 27th May, 2006

Post by Nefarius » Sun May 28, 2006 10:19 pm

The two AIs are not similar. The batdemon doesn't shift to another layer, it's only the graphic that has very awkward offsets.

While the vulture is flying it is not present in the game-area, (it is shifted to another layer).

IIRC they will never fly off from within melee range, only when they are approached or when their attack fails and they walk away. After they are x subtiles away from the player.

If you use KB gear they are knocked that x subtiles away, so it might explain that observation.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

User avatar
SilverShadowHell
Forum Regular
Angel
Posts: 803
Joined: Fri Apr 08, 2005 1:22 pm
Location: HERE!! on the Battlefield...
Contact:

Post by SilverShadowHell » Wed Aug 02, 2006 9:40 pm

Don't mean to be a pest, but this Compendium of Wisdome is very important to me, so I was just wondering if you are still working on it.
WAR!!!!!!!....... don't worry.. I'm working on it
http://iloveshaders.blogspot.com/

User avatar
Nefarius
Retired Admin
Cherub
Posts: 11607
Joined: Sat Jun 15, 2002 8:13 pm
Location: Where the blood forever rains
Contact:

Hand-picked

Re: AI Compendium v 0.7 [100 AIs covered!] 27th May, 2006

Post by Nefarius » Wed Aug 02, 2006 10:45 pm

I don't have time to work on the LoD part of the compendium at the moment.

EDIT: I'll probably have some of the LoD AIs done in a few weeks (I don't intend to cover the LoD summon AIs) because of work on my own project, so I'll post the test results here and later add them to the guide.

these are complete so far:

Code: Select all

SiegeTower
Don't know for sure, but the delay might control how many frames must ellapse between different imps using the tower as a turret. I.E. after imp A leaves the tower, par1 frames must pass before imp B can use the tower, this is just a guess though.

Delay (frames)
n/a
n/a
n/a
n/a
n/a
n/a
n/a

ReanimatedHorde
By default this AI does absolutely nothing (if all pars are zero it remains idle). Par5 and Par6 are essentially the same thing, I didn't notice a difference (maybe one is for running [5] and the other is for walking [6]?), par8 is rather unreliable, setting it to high values actually prevents self-resurrection. The charge behaviour is bugged, they are unable to properly charge up to the player at times, to avoid this set the par3-radius to a very small value.

Chance to attack (when within melee range)
Delay (frames) (par1 fails)
Radius (subtiles)
Chance to use SK2 (when within par3-range)
Chance to approach (when outside melee range)
Chance to approach (when outside melee range)
Delay (frames) (par5 and par6 fail)
Chance to use SK1 (after death)


Siegebeast
By defaul the siegebeast will approach the player. I assume the radius defined by par1 controls the radius in which the siegebeast commands imps to ride on it. Their speed is modified by the percentage specified by par7 when they use SK2.

Radius (subtiles)
Chance to attack (when within melee range)
Chance to use SK1 (when within melee range)
Delay (frames) (par2 and par3 fail)
Chance to use SK1 (when outside melee range)
Chance to use SK2 (when outside melee range)
Speed bonus
n/a


Minion
By default this AI is idle.

Chance to attack (when within melee range)
Delay (frames) (par1 fails)
Chance to approach (when outside melee range)
Delay (frames) (par3 fails)
Chance to use A2 rather then A1 (par1 succeeds)
n/a
n/a
n/a

SuicideMinion
When the player comes into melee range they will self-destruct after par2-frames (par1 is the same thing, but isn't used). Setting it to 0 makes them blow up immediately.

n/a
Delay (frames)
Chance to approach (when outside melee range)
Damage Radius
n/a
n/a
n/a
n/a
Last edited by Nefarius on Sun Aug 06, 2006 12:54 am, edited 1 time in total.
''(...) The game can basically be considered unhackable. '' - Blizzard Entertainment (30th May 2000)
Black Omen Productions | MetalStorm: Progress Report | Screenshots

Post Reply

Return to “General Mod Making”