diff --git a/config/creatrs/archer.cfg b/config/creatrs/archer.cfg index 73d5e0f71d..38ce4516f9 100644 --- a/config/creatrs/archer.cfg +++ b/config/creatrs/archer.cfg @@ -109,6 +109,8 @@ Stand = 382 Ambulate = 380 Drag = 380 Attack = 384 +RangedAttack = 384 +CastSpell = 384 Dig = 384 Smoke = 396 Relax = 396 @@ -124,9 +126,9 @@ Scream = 388 DropDead = 390 DeadSplat = 946 Roar = 394 -Piss = 388 QuerySymbol = 168 HandSymbol = 182 +Piss = 388 [sounds] Foot = 1 4 diff --git a/config/creatrs/avatar.cfg b/config/creatrs/avatar.cfg index ae894176f0..09f31a2a58 100644 --- a/config/creatrs/avatar.cfg +++ b/config/creatrs/avatar.cfg @@ -109,6 +109,8 @@ Stand = 162 Ambulate = 160 Drag = 160 Attack = 164 +RangedAttack = 164 +CastSpell = 164 Dig = 164 Smoke = 176 Relax = 176 @@ -124,9 +126,9 @@ Scream = 168 DropDead = 170 DeadSplat = 946 Roar = 174 -Piss = 168 QuerySymbol = 214 HandSymbol = 190 +Piss = 168 [sounds] Foot = 5 4 diff --git a/config/creatrs/barbarian.cfg b/config/creatrs/barbarian.cfg index ccfb69ee39..9387315e9c 100644 --- a/config/creatrs/barbarian.cfg +++ b/config/creatrs/barbarian.cfg @@ -109,6 +109,8 @@ Stand = 404 Ambulate = 402 Drag = 402 Attack = 406 +RangedAttack = 406 +CastSpell = 406 Dig = 406 Smoke = 418 Relax = 418 @@ -124,9 +126,9 @@ Scream = 410 DropDead = 412 DeadSplat = 946 Roar = 416 -Piss = 410 QuerySymbol = 165 HandSymbol = 180 +Piss = 410 [sounds] Foot = 1 4 diff --git a/config/creatrs/bile_demon.cfg b/config/creatrs/bile_demon.cfg index 9220833f49..6721845026 100644 --- a/config/creatrs/bile_demon.cfg +++ b/config/creatrs/bile_demon.cfg @@ -109,6 +109,8 @@ Stand = 580 Ambulate = 578 Drag = 578 Attack = 582 +RangedAttack = 582 +CastSpell = 582 Dig = 582 Smoke = 586 Relax = 586 @@ -124,9 +126,9 @@ Scream = 586 DropDead = 588 DeadSplat = 946 Roar = 592 -Piss = 586 QuerySymbol = 153 HandSymbol = 220 +Piss = 586 [sounds] Foot = 17 4 diff --git a/config/creatrs/bug.cfg b/config/creatrs/bug.cfg index 02aa0cf3f7..c07a8320d3 100644 --- a/config/creatrs/bug.cfg +++ b/config/creatrs/bug.cfg @@ -109,6 +109,8 @@ Stand = 534 Ambulate = 532 Drag = 532 Attack = 536 +RangedAttack = 536 +CastSpell = 536 Dig = 536 Smoke = 540 Relax = 540 @@ -124,9 +126,9 @@ Scream = 540 DropDead = 542 DeadSplat = 946 Roar = 546 -Piss = 540 QuerySymbol = 155 HandSymbol = 224 +Piss = 540 [sounds] Foot = 9 4 diff --git a/config/creatrs/dark_mistress.cfg b/config/creatrs/dark_mistress.cfg index 19c005b868..7cc7cba707 100644 --- a/config/creatrs/dark_mistress.cfg +++ b/config/creatrs/dark_mistress.cfg @@ -109,6 +109,8 @@ Stand = 624 Ambulate = 622 Drag = 622 Attack = 626 +RangedAttack = 626 +CastSpell = 626 Dig = 626 Smoke = 630 Relax = 630 @@ -124,9 +126,9 @@ Scream = 630 DropDead = 632 DeadSplat = 946 Roar = 636 -Piss = 630 QuerySymbol = 151 HandSymbol = 216 +Piss = 630 [sounds] Foot = 13 4 diff --git a/config/creatrs/demonspawn.cfg b/config/creatrs/demonspawn.cfg index 5555d47166..6ba31b1fef 100644 --- a/config/creatrs/demonspawn.cfg +++ b/config/creatrs/demonspawn.cfg @@ -109,6 +109,8 @@ Stand = 666 Ambulate = 664 Drag = 664 Attack = 668 +RangedAttack = 668 +CastSpell = 668 Dig = 668 Smoke = 672 Relax = 672 @@ -124,9 +126,9 @@ Scream = 672 DropDead = 674 DeadSplat = 946 Roar = 678 -Piss = 672 QuerySymbol = 149 HandSymbol = 212 +Piss = 672 [sounds] Foot = 9 4 diff --git a/config/creatrs/dragon.cfg b/config/creatrs/dragon.cfg index b823b6ef52..6ed1b98024 100644 --- a/config/creatrs/dragon.cfg +++ b/config/creatrs/dragon.cfg @@ -109,6 +109,8 @@ Stand = 688 Ambulate = 686 Drag = 686 Attack = 690 +RangedAttack = 690 +CastSpell = 690 Dig = 690 Smoke = 694 Relax = 694 @@ -124,9 +126,9 @@ Scream = 694 DropDead = 696 DeadSplat = 946 Roar = 700 -Piss = 694 QuerySymbol = 148 HandSymbol = 210 +Piss = 694 [sounds] Foot = 17 4 diff --git a/config/creatrs/druid.cfg b/config/creatrs/druid.cfg index 27cae05c28..9f89daeeaf 100644 --- a/config/creatrs/druid.cfg +++ b/config/creatrs/druid.cfg @@ -109,6 +109,8 @@ Stand = DRUID_STAND Ambulate = DRUID_WALK Drag = DRUID_WALK Attack = DRUID_ATTACK +RangedAttack = DRUID_ATTACK +CastSpell = DRUID_ATTACK Dig = DRUID_ATTACK Smoke = DRUID_COMPLAIN Relax = DRUID_COMPLAIN @@ -124,9 +126,9 @@ Scream = DRUID_COMPLAIN DropDead = DRUID_DYING DeadSplat = 946 Roar = DRUID_CELEBRATE -Piss = DRUID_COMPLAIN QuerySymbol = DRUID_PORTRAIT HandSymbol = DRUID_ICON +Piss = DRUID_COMPLAIN [sounds] Foot = 1 4 diff --git a/config/creatrs/dwarfa.cfg b/config/creatrs/dwarfa.cfg index 3107483f91..f6ac208f9f 100644 --- a/config/creatrs/dwarfa.cfg +++ b/config/creatrs/dwarfa.cfg @@ -109,6 +109,8 @@ Stand = 360 Ambulate = 358 Drag = 358 Attack = 362 +RangedAttack = 362 +CastSpell = 362 Dig = 362 Smoke = 374 Relax = 374 @@ -124,9 +126,9 @@ Scream = 366 DropDead = 368 DeadSplat = 946 Roar = 372 -Piss = 366 QuerySymbol = 166 HandSymbol = 186 +Piss = 366 [sounds] Foot = 1 4 diff --git a/config/creatrs/fairy.cfg b/config/creatrs/fairy.cfg index 4f9e1c9a59..6917db2ecd 100644 --- a/config/creatrs/fairy.cfg +++ b/config/creatrs/fairy.cfg @@ -109,6 +109,8 @@ Stand = 272 Ambulate = 270 Drag = 270 Attack = 274 +RangedAttack = 274 +CastSpell = 274 Dig = 274 Smoke = 286 Relax = 286 @@ -124,9 +126,9 @@ Scream = 278 DropDead = 280 DeadSplat = 946 Roar = 284 -Piss = 278 QuerySymbol = 161 HandSymbol = 198 +Piss = 278 [sounds] Foot = 13 4 diff --git a/config/creatrs/floating_spirit.cfg b/config/creatrs/floating_spirit.cfg index e900da19f0..b1b1e1d6d3 100644 --- a/config/creatrs/floating_spirit.cfg +++ b/config/creatrs/floating_spirit.cfg @@ -108,6 +108,8 @@ Stand = 980 Ambulate = 980 Drag = 980 Attack = 980 +RangedAttack = 980 +CastSpell = 980 Dig = 980 Smoke = 980 Relax = 980 @@ -123,9 +125,9 @@ Scream = 980 DropDead = 980 DeadSplat = 980 Roar = 980 -Piss = 980 QuerySymbol = 0 HandSymbol = 0 +Piss = 980 [sounds] Foot = 0 0 diff --git a/config/creatrs/fly.cfg b/config/creatrs/fly.cfg index 15dff3abef..92b3025070 100644 --- a/config/creatrs/fly.cfg +++ b/config/creatrs/fly.cfg @@ -109,6 +109,8 @@ Stand = 644 Ambulate = 644 Drag = 644 Attack = 646 +RangedAttack = 646 +CastSpell = 646 Dig = 646 Smoke = 650 Relax = 650 @@ -124,9 +126,9 @@ Scream = 650 DropDead = 652 DeadSplat = 946 Roar = 656 -Piss = 650 QuerySymbol = 150 HandSymbol = 214 +Piss = 650 [sounds] Foot = 9 4 diff --git a/config/creatrs/ghost.cfg b/config/creatrs/ghost.cfg index af97463127..6aed2af918 100644 --- a/config/creatrs/ghost.cfg +++ b/config/creatrs/ghost.cfg @@ -110,6 +110,8 @@ Stand = 470 Ambulate = 468 Drag = 468 Attack = 472 +RangedAttack = 472 +CastSpell = 472 Dig = 472 Smoke = 476 Relax = 476 @@ -125,9 +127,9 @@ Scream = 476 DropDead = 478 DeadSplat = 946 Roar = 482 -Piss = 476 QuerySymbol = 160 HandSymbol = 232 +Piss = 476 [sounds] Foot = 0 4 diff --git a/config/creatrs/giant.cfg b/config/creatrs/giant.cfg index 554004a328..c33098aea7 100644 --- a/config/creatrs/giant.cfg +++ b/config/creatrs/giant.cfg @@ -109,6 +109,8 @@ Stand = 294 Ambulate = 292 Drag = 292 Attack = 296 +RangedAttack = 296 +CastSpell = 296 Dig = 296 Smoke = 308 Relax = 308 @@ -124,9 +126,9 @@ Scream = 300 DropDead = 302 DeadSplat = 946 Roar = 306 -Piss = 300 QuerySymbol = 169 HandSymbol = 196 +Piss = 300 [sounds] Foot = 17 4 diff --git a/config/creatrs/hell_hound.cfg b/config/creatrs/hell_hound.cfg index 75a09dfcc9..015c4fa5aa 100644 --- a/config/creatrs/hell_hound.cfg +++ b/config/creatrs/hell_hound.cfg @@ -109,6 +109,8 @@ Stand = 2 Ambulate = 0 Drag = 0 Attack = 4 +RangedAttack = 4 +CastSpell = 4 Dig = 4 Smoke = 22 Relax = 22 @@ -124,9 +126,9 @@ Scream = 8 DropDead = 10 DeadSplat = 946 Roar = 14 -Piss = 22 QuerySymbol = 159 HandSymbol = 230 +Piss = 22 [sounds] Foot = 9 4 diff --git a/config/creatrs/horny.cfg b/config/creatrs/horny.cfg index 11b82b1740..bfac9e178b 100644 --- a/config/creatrs/horny.cfg +++ b/config/creatrs/horny.cfg @@ -109,6 +109,8 @@ Stand = 754 Ambulate = 752 Drag = 752 Attack = 756 +RangedAttack = 756 +CastSpell = 756 Dig = 756 Smoke = 760 Relax = 760 @@ -124,9 +126,9 @@ Scream = 760 DropDead = 762 DeadSplat = 946 Roar = 766 -Piss = 760 QuerySymbol = 145 HandSymbol = 204 +Piss = 760 [sounds] Foot = 1 4 diff --git a/config/creatrs/imp.cfg b/config/creatrs/imp.cfg index 525ea12c67..8ce47dc48f 100644 --- a/config/creatrs/imp.cfg +++ b/config/creatrs/imp.cfg @@ -310,8 +310,12 @@ Stand = 556 Ambulate = 554 ; The animation used for dragging an object, only used by workers. Drag = 566 -; The animation used for attacking. +; The animation used for melee attacks. Attack = 558 +; The animation used for ranged attacks. +RangedAttack = 558 +; The animation used for instant casts like self buffs. +CastSpell = 558 ; The animation used for digging and tunneling. Dig = 558 ; Imps can smoke to heal up, other units do not. It uses the 'Smoke' and 'Relax' animations. @@ -342,12 +346,14 @@ DropDead = 572 DeadSplat = 946 ; The animation used for when the creature is going mad psycho. Roar = 568 -; The animation used for when the creature is pissing on corpses. -Piss = 562 ; Creature portrait. So an image, not a sprite/animation. Numbers from gui1. QuerySymbol = 154 ; Creature icon. So an image, not a sprite/animation. Numbers from gui2. HandSymbol = 222 +; The animation used for when the creature is pissing on corpses. +Piss = 562 +; For use with instances with animation set to 'CUSTOM'. +Custom = 570 [sounds] ; The first value is the index and the second value is the count. diff --git a/config/creatrs/knight.cfg b/config/creatrs/knight.cfg index f63122fa9b..8f3208e2dd 100644 --- a/config/creatrs/knight.cfg +++ b/config/creatrs/knight.cfg @@ -109,6 +109,8 @@ Stand = 228 Ambulate = 226 Drag = 226 Attack = 230 +RangedAttack = 230 +CastSpell = 230 Dig = 230 Smoke = 242 Relax = 242 @@ -124,9 +126,9 @@ Scream = 234 DropDead = 236 DeadSplat = 946 Roar = 240 -Piss = 234 QuerySymbol = 162 HandSymbol = 188 +Piss = 234 [sounds] Foot = 5 4 diff --git a/config/creatrs/monk.cfg b/config/creatrs/monk.cfg index c4ae73fdd0..36cfa46a93 100644 --- a/config/creatrs/monk.cfg +++ b/config/creatrs/monk.cfg @@ -109,6 +109,8 @@ Stand = 206 Ambulate = 204 Drag = 204 Attack = 208 +RangedAttack = 208 +CastSpell = 208 Dig = 208 Smoke = 220 Relax = 220 @@ -124,9 +126,9 @@ Scream = 212 DropDead = 214 DeadSplat = 946 Roar = 218 -Piss = 212 QuerySymbol = 172 HandSymbol = 184 +Piss = 212 [sounds] Foot = 9 4 diff --git a/config/creatrs/orc.cfg b/config/creatrs/orc.cfg index 38bcfb723c..52afa0570d 100644 --- a/config/creatrs/orc.cfg +++ b/config/creatrs/orc.cfg @@ -109,6 +109,8 @@ Stand = 184 Ambulate = 182 Drag = 182 Attack = 186 +RangedAttack = 186 +CastSpell = 186 Dig = 186 Smoke = 190 Relax = 190 @@ -124,9 +126,9 @@ Scream = 190 DropDead = 192 DeadSplat = 946 Roar = 196 -Piss = 190 QuerySymbol = 173 HandSymbol = 496 +Piss = 190 [sounds] Foot = 9 4 diff --git a/config/creatrs/samurai.cfg b/config/creatrs/samurai.cfg index 686a9fedca..dd5b4bc884 100644 --- a/config/creatrs/samurai.cfg +++ b/config/creatrs/samurai.cfg @@ -109,6 +109,8 @@ Stand = 26 Ambulate = 24 Drag = 24 Attack = 28 +RangedAttack = 28 +CastSpell = 28 Dig = 28 Smoke = 40 Relax = 40 @@ -124,9 +126,9 @@ Scream = 32 DropDead = 34 DeadSplat = 946 Roar = 38 -Piss = 32 QuerySymbol = 171 HandSymbol = 202 +Piss = 32 [sounds] Foot = 5 4 diff --git a/config/creatrs/skeleton.cfg b/config/creatrs/skeleton.cfg index add3cc14fa..eeed86b4d6 100644 --- a/config/creatrs/skeleton.cfg +++ b/config/creatrs/skeleton.cfg @@ -109,6 +109,8 @@ Stand = 732 Ambulate = 730 Drag = 730 Attack = 734 +RangedAttack = 734 +CastSpell = 734 Dig = 734 Smoke = 738 Relax = 738 @@ -124,9 +126,9 @@ Scream = 738 DropDead = 740 DeadSplat = 946 Roar = 744 -Piss = 738 QuerySymbol = 146 HandSymbol = 206 +Piss = 738 [sounds] Foot = 1 4 diff --git a/config/creatrs/sorceror.cfg b/config/creatrs/sorceror.cfg index a0b7c6ae92..1a9b14917b 100644 --- a/config/creatrs/sorceror.cfg +++ b/config/creatrs/sorceror.cfg @@ -109,6 +109,8 @@ Stand = 602 Ambulate = 600 Drag = 600 Attack = 604 +RangedAttack = 604 +CastSpell = 604 Dig = 604 Smoke = 608 Relax = 608 @@ -124,9 +126,9 @@ Scream = 608 DropDead = 610 DeadSplat = 946 Roar = 614 -Piss = 608 QuerySymbol = 152 HandSymbol = 218 +Piss = 608 [sounds] Foot = 1 4 diff --git a/config/creatrs/spider.cfg b/config/creatrs/spider.cfg index 5b3b912556..88dab200e7 100644 --- a/config/creatrs/spider.cfg +++ b/config/creatrs/spider.cfg @@ -109,6 +109,8 @@ Stand = 490 Ambulate = 488 Drag = 488 Attack = 492 +RangedAttack = 492 +CastSpell = 492 Dig = 492 Smoke = 496 Relax = 496 @@ -124,9 +126,9 @@ Scream = 496 DropDead = 498 DeadSplat = 946 Roar = 502 -Piss = 496 QuerySymbol = 157 HandSymbol = 228 +Piss = 496 [sounds] Foot = 9 4 diff --git a/config/creatrs/tentacle.cfg b/config/creatrs/tentacle.cfg index f40aa5e5a5..0183c7d0a0 100644 --- a/config/creatrs/tentacle.cfg +++ b/config/creatrs/tentacle.cfg @@ -109,6 +109,8 @@ Stand = 448 Ambulate = 446 Drag = 446 Attack = 450 +RangedAttack = 450 +CastSpell = 450 Dig = 450 Smoke = 454 Relax = 454 @@ -124,9 +126,9 @@ Scream = 454 DropDead = 456 DeadSplat = 946 Roar = 460 -Piss = 454 QuerySymbol = 158 HandSymbol = 234 +Piss = 454 [sounds] Foot = 9 4 diff --git a/config/creatrs/thief.cfg b/config/creatrs/thief.cfg index 6e310bec17..9807ddc568 100644 --- a/config/creatrs/thief.cfg +++ b/config/creatrs/thief.cfg @@ -109,6 +109,8 @@ Stand = 250 Ambulate = 248 Drag = 248 Attack = 252 +RangedAttack = 252 +CastSpell = 252 Dig = 252 Smoke = 264 Relax = 264 @@ -124,9 +126,9 @@ Scream = 256 DropDead = 258 DeadSplat = 946 Roar = 262 -Piss = 256 QuerySymbol = 163 HandSymbol = 200 +Piss = 256 [sounds] Foot = 1 4 diff --git a/config/creatrs/time_mage.cfg b/config/creatrs/time_mage.cfg index 6a9f3000fc..b2acb3070a 100644 --- a/config/creatrs/time_mage.cfg +++ b/config/creatrs/time_mage.cfg @@ -109,6 +109,8 @@ Stand = TMAGE_STAND Ambulate = TMAGE_WALK Drag = TMAGE_WALK Attack = TMAGE_ATTACK +RangedAttack = TMAGE_ATTACK +CastSpell = TMAGE_ATTACK Dig = TMAGE_ATTACK Smoke = TMAGE_LAIRSLEEP Relax = TMAGE_LAIRSLEEP @@ -124,9 +126,9 @@ Scream = TMAGE_COMPLAIN DropDead = TMAGE_DYING DeadSplat = 946 Roar = TMAGE_CELEBRATE -Piss = TMAGE_COMPLAIN QuerySymbol = TIME_MAGE_PORTRAIT HandSymbol = TIME_MAGE_ICON +Piss = TMAGE_COMPLAIN [sounds] Foot = 1 4 diff --git a/config/creatrs/troll.cfg b/config/creatrs/troll.cfg index 4e6765feed..3cb51ae740 100644 --- a/config/creatrs/troll.cfg +++ b/config/creatrs/troll.cfg @@ -109,6 +109,8 @@ Stand = 710 Ambulate = 708 Drag = 708 Attack = 712 +RangedAttack = 712 +CastSpell = 712 Dig = 712 Smoke = 716 Relax = 716 @@ -124,9 +126,9 @@ Scream = 716 DropDead = 718 DeadSplat = 946 Roar = 722 -Piss = 716 QuerySymbol = 147 HandSymbol = 208 +Piss = 716 [sounds] Foot = 9 4 diff --git a/config/creatrs/tunneller.cfg b/config/creatrs/tunneller.cfg index 59d79ec895..47035557d1 100644 --- a/config/creatrs/tunneller.cfg +++ b/config/creatrs/tunneller.cfg @@ -109,6 +109,8 @@ Stand = 338 Ambulate = 336 Drag = 336 Attack = 340 +RangedAttack = 340 +CastSpell = 340 Dig = 340 Smoke = 352 Relax = 352 @@ -124,9 +126,9 @@ Scream = 344 DropDead = 346 DeadSplat = 946 Roar = 350 -Piss = 344 QuerySymbol = 167 HandSymbol = 192 +Piss = 344 [sounds] Foot = 1 4 diff --git a/config/creatrs/vampire.cfg b/config/creatrs/vampire.cfg index 184191ff43..c84dcfe2c3 100644 --- a/config/creatrs/vampire.cfg +++ b/config/creatrs/vampire.cfg @@ -111,6 +111,8 @@ Stand = 512 Ambulate = 510 Drag = 510 Attack = 514 +RangedAttack = 514 +CastSpell = 514 Dig = 514 Smoke = 518 Relax = 518 @@ -126,9 +128,9 @@ Scream = 518 DropDead = 520 DeadSplat = 946 Roar = 524 -Piss = 518 QuerySymbol = 156 HandSymbol = 226 +Piss = 518 [sounds] Foot = 1 4 diff --git a/config/creatrs/witch.cfg b/config/creatrs/witch.cfg index cfb1b125aa..fda75bebb0 100644 --- a/config/creatrs/witch.cfg +++ b/config/creatrs/witch.cfg @@ -109,6 +109,8 @@ Stand = 316 Ambulate = 314 Drag = 314 Attack = 318 +RangedAttack = 318 +CastSpell = 318 Dig = 318 Smoke = 330 Relax = 330 @@ -124,9 +126,9 @@ Scream = 322 DropDead = 324 DeadSplat = 946 Roar = 328 -Piss = 322 QuerySymbol = 170 HandSymbol = 194 +Piss = 322 [sounds] Foot = 13 4 diff --git a/config/creatrs/wizard.cfg b/config/creatrs/wizard.cfg index 8c8ffd16b7..ce312e7177 100644 --- a/config/creatrs/wizard.cfg +++ b/config/creatrs/wizard.cfg @@ -109,6 +109,8 @@ Stand = 426 Ambulate = 424 Drag = 424 Attack = 428 +RangedAttack = 428 +CastSpell = 428 Dig = 428 Smoke = 440 Relax = 440 @@ -124,9 +126,9 @@ Scream = 432 DropDead = 434 DeadSplat = 946 Roar = 438 -Piss = 432 QuerySymbol = 164 HandSymbol = 178 +Piss = 432 [sounds] Foot = 1 4 diff --git a/config/fxdata/creature.cfg b/config/fxdata/creature.cfg index b5c82d162c..4f968fd578 100644 --- a/config/fxdata/creature.cfg +++ b/config/fxdata/creature.cfg @@ -56,7 +56,9 @@ ForceVisibility = 0 TooltipTextID = 201 ; Sprite IDs of graphics symbols representing the instance; only one, small symbol is supported. SymbolSprites = 0 -; Graphics animation used to display creature during the instance. +; Graphics animation used for display during the instance. Only one animation can be set per instance. +; It refers to the animation ID set in the creature configuration file. Available animations: +; STAND AMBULATE DRAG ATTACK DIG SMOKE RELAX PRETTYDANCE GOTHIT POWERGRAB GOTSLAPPED CELEBRATE SLEEP EATCHICKEN TORTURE SCREAM DROPDEAD DEADSPLAT ROAR PISS CASTSPELL RANGEDATTACK CUSTOM Graphics = STAND ; Minimum distance the target can be to cast the spell. RangeMin = 0 @@ -175,7 +177,7 @@ FPInstantCast = 0 ForceVisibility = 100 TooltipTextID = 226 SymbolSprites = 454 -Graphics = ATTACK +Graphics = RANGEDATTACK RangeMin = 156 RangeMax = MAX PrimaryTarget = 3 @@ -194,7 +196,7 @@ FPInstantCast = 0 ForceVisibility = 150 TooltipTextID = 251 SymbolSprites = 402 -Graphics = ATTACK +Graphics = RANGEDATTACK RangeMin = 156 RangeMax = MAX PrimaryTarget = 3 @@ -213,7 +215,7 @@ FPInstantCast = 0 ForceVisibility = 150 TooltipTextID = 250 SymbolSprites = 404 -Graphics = ATTACK +Graphics = RANGEDATTACK RangeMin = 768 RangeMax = MAX PrimaryTarget = 3 @@ -232,7 +234,7 @@ FPInstantCast = 0 ForceVisibility = 150 TooltipTextID = 227 SymbolSprites = 406 -Graphics = ATTACK +Graphics = RANGEDATTACK RangeMin = 156 RangeMax = MAX PrimaryTarget = 3 @@ -251,7 +253,7 @@ FPInstantCast = 1 ForceVisibility = 10 TooltipTextID = 228 SymbolSprites = 408 -Graphics = ATTACK +Graphics = CASTSPELL Properties = SELF_BUFF PrimaryTarget = 3 Function = creature_cast_spell SPELL_ARMOUR 0 @@ -270,7 +272,7 @@ FPInstantCast = 0 ForceVisibility = 150 TooltipTextID = 229 SymbolSprites = 410 -Graphics = ATTACK +Graphics = RANGEDATTACK RangeMin = 768 RangeMax = 5120 PrimaryTarget = 3 @@ -289,7 +291,7 @@ FPInstantCast = 1 ForceVisibility = 10 TooltipTextID = 230 SymbolSprites = 412 -Graphics = ATTACK +Graphics = CASTSPELL Properties = SELF_BUFF PrimaryTarget = 3 Function = creature_cast_spell SPELL_REBOUND 0 @@ -308,7 +310,7 @@ FPInstantCast = 1 ForceVisibility = 1 TooltipTextID = 248 SymbolSprites = 414 -Graphics = ATTACK +Graphics = CASTSPELL Properties = SELF_BUFF PrimaryTarget = 3 Function = creature_cast_spell SPELL_HEAL 0 @@ -327,7 +329,7 @@ FPInstantCast = 0 ForceVisibility = 20 TooltipTextID = 237 SymbolSprites = 416 -Graphics = ATTACK +Graphics = RANGEDATTACK RangeMin = 156 RangeMax = MAX PrimaryTarget = 4 @@ -346,7 +348,7 @@ FPInstantCast = 1 ForceVisibility = 1 TooltipTextID = 239 SymbolSprites = 418 -Graphics = ATTACK +Graphics = CASTSPELL PrimaryTarget = 3 Properties = SELF_BUFF Function = creature_cast_spell SPELL_INVISIBILITY 0 @@ -365,7 +367,7 @@ FPInstantCast = 1 ForceVisibility = 10 TooltipTextID = 240 SymbolSprites = 420 -Graphics = ATTACK +Graphics = CASTSPELL PrimaryTarget = 3 Properties = Function = creature_cast_spell SPELL_TELEPORT 0 @@ -382,7 +384,7 @@ FPInstantCast = 1 ForceVisibility = 3 TooltipTextID = 236 SymbolSprites = 422 -Graphics = ATTACK +Graphics = CASTSPELL PrimaryTarget = 3 Properties = SELF_BUFF Function = creature_cast_spell SPELL_SPEED 0 @@ -401,7 +403,7 @@ FPInstantCast = 0 ForceVisibility = 10 TooltipTextID = 245 SymbolSprites = 424 -Graphics = ATTACK +Graphics = RANGEDATTACK RangeMin = 156 RangeMax = MAX PrimaryTarget = 3 @@ -420,7 +422,7 @@ FPInstantCast = 0 ForceVisibility = 100 TooltipTextID = 246 SymbolSprites = 513 -Graphics = ATTACK +Graphics = RANGEDATTACK RangeMin = 156 RangeMax = 5120 PrimaryTarget = 3 @@ -439,7 +441,7 @@ FPInstantCast = 0 ForceVisibility = 10 TooltipTextID = 231 SymbolSprites = 456 -Graphics = ATTACK +Graphics = CASTSPELL RangeMin = 156 RangeMax = MAX PrimaryTarget = 3 @@ -458,7 +460,7 @@ FPInstantCast = 0 ForceVisibility = 100 TooltipTextID = 233 SymbolSprites = 426 -Graphics = ATTACK +Graphics = RANGEDATTACK RangeMin = 156 RangeMax = MAX PrimaryTarget = 3 @@ -477,7 +479,7 @@ FPInstantCast = 0 ForceVisibility = 150 TooltipTextID = 235 SymbolSprites = 428 -Graphics = ATTACK +Graphics = RANGEDATTACK RangeMin = 156 RangeMax = MAX PrimaryTarget = 3 @@ -515,7 +517,7 @@ FPInstantCast = 0 ForceVisibility = 30 TooltipTextID = 249 SymbolSprites = 432 -Graphics = ATTACK +Graphics = RANGEDATTACK RangeMin = MIN RangeMax = MAX PrimaryTarget = 3 @@ -537,7 +539,7 @@ FPInstantCast = 1 ForceVisibility = 100 TooltipTextID = 242 SymbolSprites = 434 -Graphics = ATTACK +Graphics = CASTSPELL Properties = SELF_BUFF PrimaryTarget = 3 Function = creature_cast_spell SPELL_LIGHT 0 @@ -554,7 +556,7 @@ FPInstantCast = 1 ForceVisibility = 1 TooltipTextID = 243 SymbolSprites = 436 -Graphics = ATTACK +Graphics = CASTSPELL Properties = SELF_BUFF PrimaryTarget = 3 Function = creature_cast_spell SPELL_FLIGHT 0 @@ -573,7 +575,7 @@ FPInstantCast = 1 ForceVisibility = 0 TooltipTextID = 232 SymbolSprites = 438 -Graphics = ATTACK +Graphics = CASTSPELL Properties = SELF_BUFF PrimaryTarget = 3 Function = creature_cast_spell SPELL_SIGHT 0 @@ -592,7 +594,7 @@ FPInstantCast = 0 ForceVisibility = 80 TooltipTextID = 234 SymbolSprites = 440 -Graphics = ATTACK +Graphics = RANGEDATTACK PrimaryTarget = 3 Properties = DANGEROUS DESTRUCTIVE QUICK RANGED_ATTACK Function = creature_fire_shot SHOT_GRENADE 0 @@ -609,7 +611,7 @@ FPInstantCast = 0 ForceVisibility = 80 TooltipTextID = 244 SymbolSprites = 442 -Graphics = ATTACK +Graphics = RANGEDATTACK RangeMin = 156 RangeMax = MAX PrimaryTarget = 3 @@ -628,7 +630,7 @@ FPInstantCast = 0 ForceVisibility = 100 TooltipTextID = 247 SymbolSprites = 444 -Graphics = ATTACK +Graphics = CASTSPELL RangeMin = MIN RangeMax = 284 PrimaryTarget = 3 @@ -647,7 +649,7 @@ FPInstantCast = 0 ForceVisibility = 10 TooltipTextID = 253 SymbolSprites = 446 -Graphics = ATTACK +Graphics = CASTSPELL RangeMin = MIN RangeMax = 284 PrimaryTarget = 3 @@ -827,7 +829,7 @@ FPInstantCast = 0 ForceVisibility = 80 TooltipTextID = 234 SymbolSprites = 440 -Graphics = ATTACK +Graphics = RANGEDATTACK RangeMin = 1000 RangeMax = MAX PrimaryTarget = 3 @@ -846,7 +848,7 @@ FPInstantCast = 0 ForceVisibility = 20 TooltipTextID = 255 SymbolSprites = 319 -Graphics = ATTACK +Graphics = CASTSPELL RangeMin = 156 RangeMax = MAX PrimaryTarget = 3 @@ -865,7 +867,7 @@ FPInstantCast = 0 ForceVisibility = 20 TooltipTextID = 256 SymbolSprites = 314 -Graphics = ATTACK +Graphics = CASTSPELL RangeMin = 156 RangeMax = 1280 PrimaryTarget = 3 @@ -884,7 +886,7 @@ FPInstantCast = 0 ForceVisibility = 0 TooltipTextID = 257 SymbolSprites = 548 -Graphics = ATTACK +Graphics = CASTSPELL RangeMin = 768 RangeMax = MAX PrimaryTarget = 3 @@ -1007,7 +1009,7 @@ FPInstantCast = 0 ForceVisibility = 10 TooltipTextID = 1066 SymbolSprites = 786 -Graphics = ATTACK +Graphics = CASTSPELL RangeMin = MIN RangeMax = 5120 PrimaryTarget = 6 @@ -1029,7 +1031,7 @@ FPInstantCast = 0 ForceVisibility = 10 TooltipTextID = 654 SymbolSprites = 792 -Graphics = ATTACK +Graphics = CASTSPELL RangeMin = MIN RangeMax = 5120 PrimaryTarget = 6 @@ -1051,7 +1053,7 @@ FPInstantCast = 0 ForceVisibility = 10 TooltipTextID = 655 SymbolSprites = 780 -Graphics = ATTACK +Graphics = CASTSPELL RangeMin = MIN RangeMax = 5120 PrimaryTarget = 6 @@ -1073,7 +1075,7 @@ FPInstantCast = 0 ForceVisibility = 10 TooltipTextID = 1069 SymbolSprites = 788 -Graphics = ATTACK +Graphics = CASTSPELL RangeMin = MIN RangeMax = 5120 PrimaryTarget = 6 diff --git a/src/config_creature.c b/src/config_creature.c index f160ba3a83..8a1cccbb3d 100644 --- a/src/config_creature.c +++ b/src/config_creature.c @@ -169,30 +169,32 @@ const struct NamedCommand creaturetype_attackpref_commands[] = { }; const struct NamedCommand creature_graphics_desc[] = { - {"STAND", 1+CGI_Stand }, - {"AMBULATE", 1+CGI_Ambulate }, - {"DRAG", 1+CGI_Drag }, - {"ATTACK", 1+CGI_Attack }, - {"DIG", 1+CGI_Dig }, - {"SMOKE", 1+CGI_Smoke }, - {"RELAX", 1+CGI_Relax }, - {"PRETTYDANCE", 1+CGI_PrettyDance}, - {"GOTHIT", 1+CGI_GotHit }, - {"POWERGRAB", 1+CGI_PowerGrab }, - {"GOTSLAPPED", 1+CGI_GotSlapped }, - {"CELEBRATE", 1+CGI_Celebrate }, - {"SLEEP", 1+CGI_Sleep }, - {"EATCHICKEN", 1+CGI_EatChicken }, - {"TORTURE", 1+CGI_Torture }, - {"SCREAM", 1+CGI_Scream }, - {"DROPDEAD", 1+CGI_DropDead }, - {"DEADSPLAT", 1+CGI_DeadSplat }, - {"ROAR", 1+CGI_Roar }, - {"PISS", 1+CGI_Piss }, -// These below seems to be not from JTY file. - {"QUERYSYMBOL", 1+CGI_QuerySymbol}, - {"HANDSYMBOL", 1+CGI_HandSymbol }, - {NULL, 0}, + {"STAND", 1+CGI_Stand }, + {"AMBULATE", 1+CGI_Ambulate }, + {"DRAG", 1+CGI_Drag }, + {"ATTACK", 1+CGI_Attack }, + {"DIG", 1+CGI_Dig }, + {"SMOKE", 1+CGI_Smoke }, + {"RELAX", 1+CGI_Relax }, + {"PRETTYDANCE", 1+CGI_PrettyDance }, + {"GOTHIT", 1+CGI_GotHit }, + {"POWERGRAB", 1+CGI_PowerGrab }, + {"GOTSLAPPED", 1+CGI_GotSlapped }, + {"CELEBRATE", 1+CGI_Celebrate }, + {"SLEEP", 1+CGI_Sleep }, + {"EATCHICKEN", 1+CGI_EatChicken }, + {"TORTURE", 1+CGI_Torture }, + {"SCREAM", 1+CGI_Scream }, + {"DROPDEAD", 1+CGI_DropDead }, + {"DEADSPLAT", 1+CGI_DeadSplat }, + {"ROAR", 1+CGI_Roar }, // Was previously GFX18. + {"QUERYSYMBOL", 1+CGI_QuerySymbol }, // Icon + {"HANDSYMBOL", 1+CGI_HandSymbol }, // Icon + {"PISS", 1+CGI_Piss }, // Was previously GFX21. + {"CASTSPELL", 1+CGI_CastSpell }, + {"RANGEDATTACK", 1+CGI_RangedAttack}, + {"CUSTOM", 1+CGI_Custom }, + {NULL, 0}, }; const struct NamedCommand instance_range_desc[] = { diff --git a/src/config_crtrmodel.c b/src/config_crtrmodel.c index 8687343312..9624f6e26b 100644 --- a/src/config_crtrmodel.c +++ b/src/config_crtrmodel.c @@ -2206,7 +2206,7 @@ TbBool parse_creaturemodel_sprites_blocks(long crtr_model,char *buf,long len,con { for (n = 0; n < CREATURE_GRAPHICS_INSTANCES; n++) { - set_creature_model_graphics(crtr_model, n, 0); + set_creature_model_graphics(crtr_model, n, -1); } } // Find the block diff --git a/src/creature_graphics.c b/src/creature_graphics.c index 8b32feb38c..5104431616 100644 --- a/src/creature_graphics.c +++ b/src/creature_graphics.c @@ -304,25 +304,38 @@ void get_keepsprite_unscaled_dimensions(long kspr_anim, long angle, long frame, short get_creature_model_graphics(long crmodel, unsigned short seq_idx) { - if (seq_idx >= CREATURE_GRAPHICS_INSTANCES) { - ERRORLOG("Invalid model %d graphics sequence %d",crmodel,seq_idx); - seq_idx = 0; - } - if ((crmodel < 0) || (crmodel >= game.conf.crtr_conf.model_count)) { - ERRORLOG("Invalid model %d graphics sequence %d",crmodel,seq_idx); - crmodel = 0; - } - return game.conf.crtr_conf.creature_graphics[crmodel][seq_idx]; + if (seq_idx >= CREATURE_GRAPHICS_INSTANCES) + { + ERRORLOG("Invalid model %d graphics sequence %d", crmodel,seq_idx); + seq_idx = 0; + } + if ((crmodel < 0) || (crmodel >= game.conf.crtr_conf.model_count)) + { + ERRORLOG("Invalid model %d graphics sequence %d", crmodel,seq_idx); + crmodel = 0; + } + // Backward compatibility for custom creatures. Use the attack animation if the extra animation is undefined, return 0 if the attack animation is also undefined. + if (game.conf.crtr_conf.creature_graphics[crmodel][seq_idx] < 0) + { + if ((seq_idx >= CGI_CastSpell) && (game.conf.crtr_conf.creature_graphics[crmodel][CGI_Attack] > 0)) + { + return game.conf.crtr_conf.creature_graphics[crmodel][CGI_Attack]; + } + return 0; + } + return game.conf.crtr_conf.creature_graphics[crmodel][seq_idx]; } void set_creature_model_graphics(long crmodel, unsigned short seq_idx, unsigned long val) { - if (seq_idx >= CREATURE_GRAPHICS_INSTANCES) { - ERRORLOG("Invalid model %d graphics sequence %d",crmodel,seq_idx); + if (seq_idx >= CREATURE_GRAPHICS_INSTANCES) + { + ERRORLOG("Invalid model %d graphics sequence %d", crmodel,seq_idx); return; } - if ((crmodel < 0) || (crmodel >= game.conf.crtr_conf.model_count)) { - ERRORLOG("Invalid model %d graphics sequence %d",crmodel,seq_idx); + if ((crmodel < 0) || (crmodel >= game.conf.crtr_conf.model_count)) + { + ERRORLOG("Invalid model %d graphics sequence %d", crmodel,seq_idx); return; } game.conf.crtr_conf.creature_graphics[crmodel][seq_idx] = val; diff --git a/src/creature_graphics.h b/src/creature_graphics.h index 60f6c099f6..a459c165bd 100644 --- a/src/creature_graphics.h +++ b/src/creature_graphics.h @@ -28,31 +28,34 @@ extern "C" { // note - this is temporary value; not correct #define CREATURE_FRAMELIST_LENGTH 982 -#define CREATURE_GRAPHICS_INSTANCES 22 +#define CREATURE_GRAPHICS_INSTANCES 25 enum CreatureGraphicsInstances { - CGI_Stand = 0, - CGI_Ambulate = 1, - CGI_Drag = 2, - CGI_Attack = 3, - CGI_Dig = 4, - CGI_Smoke = 5, - CGI_Relax = 6, - CGI_PrettyDance = 7, - CGI_GotHit = 8, - CGI_PowerGrab = 9, - CGI_GotSlapped = 10, - CGI_Celebrate = 11, - CGI_Sleep = 12, - CGI_EatChicken = 13, - CGI_Torture = 14, - CGI_Scream = 15, - CGI_DropDead = 16, - CGI_DeadSplat = 17, - CGI_Roar = 18, - CGI_Piss = 19, - CGI_QuerySymbol = 20, - CGI_HandSymbol = 21, + CGI_Stand = 0, + CGI_Ambulate = 1, + CGI_Drag = 2, + CGI_Attack = 3, + CGI_Dig = 4, + CGI_Smoke = 5, + CGI_Relax = 6, + CGI_PrettyDance = 7, + CGI_GotHit = 8, + CGI_PowerGrab = 9, + CGI_GotSlapped = 10, + CGI_Celebrate = 11, + CGI_Sleep = 12, + CGI_EatChicken = 13, + CGI_Torture = 14, + CGI_Scream = 15, + CGI_DropDead = 16, + CGI_DeadSplat = 17, + CGI_Roar = 18, // Was previously GFX18. + CGI_QuerySymbol = 19, // Icon, not a sprite + CGI_HandSymbol = 20, // Icon, not a sprite + CGI_Piss = 21, // Was previously GFX21. + CGI_CastSpell = 22, + CGI_RangedAttack = 23, + CGI_Custom = 24, }; /******************************************************************************/ #pragma pack(1)