-
AlexSpl
имя: Александр
- Эксперт
-
- Сообщения: 5587
- Зарегистрирован: 17 сен 2010, 12:58
- Пол:
- Награды: 14
-
-
- Поблагодарили: 2185 раз.
|
AlexSpl » 16 авг 2021, 20:56
За основу взял RoE 1.2, как последнюю, в которой можно получить заклинание Fear: - Код: Выделить всё
00000000 _Spell_ struc ; (sizeof=0x84, mappedto_92) 00000000 ; XREF: .data:Spells/r 00000000 ; .data:005E352C/r ... 00000000 type dd ? ; base 16 00000004 wav_name dd ? ; offset 00000008 animation_ix dd ? ; base 16 0000000C flags dd ? ; base 16 00000010 name dd ? ; offset 00000014 short_name dd ? ; offset 00000018 level dd ? ; base 16 0000001C school_flags dd ? ; base 16 00000020 mana_cost dd 4 dup(?) ; base 16 00000030 eff_power dd ? ; base 16 00000034 effect dd 4 dup(?) ; base 16 00000044 chance2get_var dd 8 dup(?) ; base 16 00000064 ai_value dd 4 dup(?) ; base 16 00000074 description dd 4 dup(?) ; offset 00000084 _Spell_ ends
- Код: Выделить всё
.data:005E34A8 Spells _Spell_ <0, offset aSummboatWav, 0FFFFFFFFh, 80002h, 0, 0, 0, 0, 0, 0,\ .data:005E34A8 ; DATA XREF: .data:off_5E5DE8vo .data:005E34A8 0, 0, 0, 0> ; "SummBoat.wav" .data:005E352C _Spell_ <0, offset aScutboatWav, 0FFFFFFFFh, 2, 0, 0, 0, 0, 0, 0, 0, \ ; "ScutBoat.wav" .data:005E352C 0, 0, 0> .data:005E35B0 _Spell_ <0, offset aVisionsWav, 0FFFFFFFFh, 2, 0, 0, 0, 0, 0, 0, 0, 0,\ ; "Visions.wav" .data:005E35B0 0, 0> .data:005E3634 _Spell_ <0, 0, 0FFFFFFFFh, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> .data:005E36B8 _Spell_ <0, offset aDisguiseWav, 0FFFFFFFFh, 2, 0, 0, 0, 0, 0, 0, 0, \ ; "Disguise.wav" .data:005E36B8 0, 0, 0> .data:005E373C _Spell_ <0, 0, 0FFFFFFFFh, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> .data:005E37C0 _Spell_ <0, offset aFlyspellWav, 0FFFFFFFFh, 80002h, 0, 0, 0, 0, 0, 0,\ ; "FlySpell.wav" .data:005E37C0 0, 0, 0, 0> .data:005E3844 _Spell_ <0, offset aWatrwalkWav, 0FFFFFFFFh, 80002h, 0, 0, 0, 0, 0, 0,\ ; "WatrWalk.wav" .data:005E3844 0, 0, 0, 0> .data:005E38C8 _Spell_ <0, offset aTelptoutWav_1, 0FFFFFFFFh, 80002h, 0, 0, 0, 0, 0, \ ; "Telptout.wav" .data:005E38C8 0, 0, 0, 0, 0> .data:005E394C _Spell_ <0, offset aTelptoutWav_1, 0FFFFFFFFh, 80002h, 0, 0, 0, 0, 0, \ ; "Telptout.wav" .data:005E394C 0, 0, 0, 0, 0> .data:005E39D0 _Spell_ <0, 0, 37h, 81h, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> .data:005E3A54 _Spell_ <0, 0, 2Fh, 81h, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> .data:005E3AD8 _Spell_ <0, offset aForcefldWav, 0FFFFFFFFh, 81h, 0, 0, 0, 0, 0, 0, 0,\ ; "Forcefld.wav" .data:005E3AD8 0, 0, 0> .data:005E3B5C _Spell_ <0, offset aFirewallWav, 41h, 81h, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Firewall.wav" .data:005E3B5C 0> .data:005E3BE0 _Spell_ <0, offset aErthquakWav, 0FFFFFFFFh, 80001h, 0, 0, 0, 0, 0, 0,\ ; "Erthquak.wav" .data:005E3BE0 0, 0, 0, 0> .data:005E3C64 _Spell_ <0FFFFFFFFh, offset aMagicbltWav, 40h, 4211h, 0, 0, 0, 0, 0, \ ; "MagicBlt.wav" .data:005E3C64 0, 0, 0, 0, 0> .data:005E3CE8 _Spell_ <0FFFFFFFFh, offset aIcerayWav, 2Eh, 4211h, 0, 0, 0, 0, 0, 0, \ ; "IceRay.wav" .data:005E3CE8 0, 0, 0, 0> .data:005E3D6C _Spell_ <0FFFFFFFFh, offset aLightbltWav, 31h, 4211h, 0, 0, 0, 0, 0, \ ; "LightBlt.wav" .data:005E3D6C 0, 0, 0, 0, 0> .data:005E3DF0 _Spell_ <0FFFFFFFFh, offset aDecayWav, 0Ah, 5211h, 0, 0, 0, 0, 0, 0, \ ; "Decay.wav" .data:005E3DF0 0, 0, 0, 0> .data:005E3E74 _Spell_ <0, offset aChainlteWav, 26h, 8211h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Chainlte.wav" .data:005E3E74 0, 0> .data:005E3EF8 _Spell_ <0, offset aFrostingWav, 2Dh, 4281h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Frosting.wav" .data:005E3EF8 0, 0> .data:005E3F7C _Spell_ <0, offset aSpontcombWav, 35h, 4281h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Spontcomb.wav" .data:005E3F7C 0, 0> .data:005E4000 _Spell_ <0, offset aFireblstWav, 9, 8281h, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Fireblst.wav" .data:005E4000 0> .data:005E4084 _Spell_ <0, offset aMeteorWav, 10h, 4281h, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Meteor.wav" .data:005E4084 0> .data:005E4108 _Spell_ <0, offset aDeathripWav, 8, 11201h, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ ; "Deathrip.wav" .data:005E4108 0> .data:005E418C _Spell_ <0, offset aSacbrethWav, 1Dh, 10201h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Sacbreth.wav" .data:005E418C 0, 0> .data:005E4210 _Spell_ <0, offset aFirestrmWav, 0Ch, 10201h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Firestrm.wav" .data:005E4210 0, 0> .data:005E4294 _Spell_ <1, offset aShieldWav, 1Bh, 22845h, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ ; "Shield.wav" .data:005E4294 0> .data:005E4318 _Spell_ <1, offset aAirsheldWav, 2, 22845h, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ ; "Airsheld.wav" .data:005E4318 0> .data:005E439C _Spell_ <1, offset aFireshldWav, 0Bh, 22815h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Fireshld.wav" .data:005E439C 0, 0> .data:005E4420 _Spell_ <1, offset aProtectaWav, 16h, 22845h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Protecta.wav" .data:005E4420 0, 0> .data:005E44A4 _Spell_ <1, offset aProtectfWav, 18h, 22845h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Protectf.wav" .data:005E44A4 0, 0> .data:005E4528 _Spell_ <1, offset aProtectwWav, 17h, 22845h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Protectw.wav" .data:005E4528 0, 0> .data:005E45AC _Spell_ <1, offset aProtecteWav, 1Ah, 22845h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Protecte.wav" .data:005E45AC 0, 0> .data:005E4630 _Spell_ <1, offset aAntimagkWav, 5, 22815h, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ ; "Antimagk.wav" .data:005E4630 0> .data:005E46B4 _Spell_ <0, offset aDispellWav, 29h, 20041h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Dispell.wav" .data:005E46B4 0, 0> .data:005E4738 _Spell_ <1, offset aBacklashWav, 3, 22815h, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ ; "Backlash.wav" .data:005E4738 0> .data:005E47BC _Spell_ <1, offset aCureWav, 27h, 20841h, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Cure.wav" .data:005E47BC 0> .data:005E4840 _Spell_ <1, offset aResurectWav, 32h, 41011h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Resurect.wav" .data:005E4840 0, 0> .data:005E48C4 _Spell_ <1, offset aAnimdeadWav, 4, 41011h, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ ; "Animdead.wav" .data:005E48C4 0> .data:005E4948 _Spell_ <1, offset aSacrif1Wav, 34h, 1011h, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ ; "Sacrif1.wav" .data:005E4948 0> .data:005E49CC _Spell_ <1, offset aBlessWav, 24h, 20845h, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Bless.wav" .data:005E49CC 0> .data:005E4A50 _Spell_ <0FFFFFFFFh, offset aCurse, 28h, 20045h, 0, 0, 0, 0, 0, 0, 0, \ ; "Curse" .data:005E4A50 0, 0, 0> .data:005E4AD4 _Spell_ <1, offset aBloodlusWav, 0FFFFFFFFh, 21845h, 0, 0, 0, 0, 0, 0,\ ; "BloodLus.wav" .data:005E4AD4 0, 0, 0, 0> .data:005E4B58 _Spell_ <1, offset aPrecisonWav, 19h, 20845h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Precison.wav" .data:005E4B58 0, 0> .data:005E4BDC _Spell_ <0FFFFFFFFh, offset aWeaknessWav, 38h, 20045h, 0, 0, 0, 0, 0, \ ; "Weakness.wav" .data:005E4BDC 0, 0, 0, 0, 0> .data:005E4C60 _Spell_ <1, offset aTuffskinWav, 36h, 22845h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Tuffskin.wav" .data:005E4C60 0, 0> .data:005E4CE4 _Spell_ <0FFFFFFFFh, offset aDisruptrWav, 0Eh, 20011h, 0, 0, 0, 0, 0, \ ; "Disruptr.wav" .data:005E4CE4 0, 0, 0, 0, 0> .data:005E4D68 _Spell_ <1, offset aPrayerWav, 0, 20845h, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Prayer.wav" .data:005E4D68 0> .data:005E4DEC _Spell_ <1, offset aMirthWav, 14h, 20C45h, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Mirth.wav" .data:005E4DEC 0> .data:005E4E70 _Spell_ <0FFFFFFFFh, offset aSorrowWav, 1Eh, 20445h, 0, 0, 0, 0, 0, 0,\ ; "Sorrow.wav" .data:005E4E70 0, 0, 0, 0> .data:005E4EF4 _Spell_ <1, offset aFortuneWav, 12h, 20845h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Fortune.wav" .data:005E4EF4 0, 0> .data:005E4F78 _Spell_ <0FFFFFFFFh, offset aMisfortWav, 30h, 20045h, 0, 0, 0, 0, 0, \ ; "Misfort.wav" .data:005E4F78 0, 0, 0, 0, 0> .data:005E4FFC _Spell_ <1, offset aTailwindWav, 1Fh, 21845h, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Tailwind.wav" .data:005E4FFC 0, 0> .data:005E5080 _Spell_ <0FFFFFFFFh, offset aMuckmireWav, 13h, 21045h, 0, 0, 0, 0, 0, \ ; "Muckmire.wav" .data:005E5080 0, 0, 0, 0, 0> .data:005E5104 _Spell_ <1, offset aSlayerWav, 1Ch, 20815h, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ ; "Slayer.wav" .data:005E5104 0> .data:005E5188 _Spell_ <1, offset aFrenzyWav, 11h, 20C15h, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ ; "Frenzy.wav" .data:005E5188 0> .data:005E520C _Spell_ <0FFFFFFFFh, offset aFearWav, 0Fh, 20415h, 0, 0, 0, 0, 0, 0, \ ; "Fear.wav" .data:005E520C 0, 0, 0, 0> .data:005E5290 _Spell_ <1, offset aCntrstrkWav, 7, 23845h, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ ; "Cntrstrk.wav" .data:005E5290 0> .data:005E5314 _Spell_ <0FFFFFFFFh, offset aBerserkWav, 23h, 21485h, 0, 0, 0, 0, 0, \ ; "Berserk.wav" .data:005E5314 0, 0, 0, 0, 0> .data:005E5398 _Spell_ <0FFFFFFFFh, offset aHypnotizWav, 15h, 41415h, 0, 0, 0, 0, 0, \ ; "Hypnotiz.wav" .data:005E5398 0, 0, 0, 0, 0> .data:005E541C _Spell_ <0FFFFFFFFh, offset aForgetWav, 2Ah, 1425h, 0, 0, 0, 0, 0, 0, \ ; "Forget.wav" .data:005E541C 0, 0, 0, 0> .data:005E54A0 _Spell_ <0FFFFFFFFh, offset aBlindWav, 6, 21415h, 0, 0, 0, 0, 0, 0, 0,\ ; "Blind.wav" .data:005E54A0 0, 0, 0> .data:005E5524 _Spell_ <1, offset aTelptoutWav_0, 0FFFFFFFFh, 21011h, 0, 0, 0, 0, 0, \ ; "TelptOut.wav" .data:005E5524 0, 0, 0, 0, 0> .data:005E55A8 _Spell_ <0, offset aRemoveobWav, 22h, 101h, 0, 0, 0, 0, 0, 0, 0, 0, 0,\ ; "Removeob.wav" .data:005E55A8 0> .data:005E562C _Spell_ <1, offset aCloneWav, 0FFFFFFFFh, 21011h, 0, 0, 0, 0, 0, 0, 0,\ ; "Clone.wav" .data:005E562C 0, 0, 0> .data:005E56B0 _Spell_ <0, offset aSumnelmWav, 0FFFFFFFFh, 40001h, 0, 0, 0, 0, 0, 0, \ ; "SumnElm.wav" .data:005E56B0 0, 0, 0, 0> .data:005E5734 _Spell_ <0, offset aSumnelmWav, 0FFFFFFFFh, 40001h, 0, 0, 0, 0, 0, 0, \ ; "SumnElm.wav" .data:005E5734 0, 0, 0, 0> .data:005E57B8 _Spell_ <0, offset aSumnelmWav, 0FFFFFFFFh, 40001h, 0, 0, 0, 0, 0, 0, \ ; "SumnElm.wav" .data:005E57B8 0, 0, 0, 0> .data:005E583C _Spell_ <0, offset aSumnelmWav, 0FFFFFFFFh, 40001h, 0, 0, 0, 0, 0, 0, \ ; "SumnElm.wav" .data:005E583C 0, 0, 0, 0> .data:005E58C0 _Spell_ <0FFFFFFFFh, offset aParalyzeWav, 0FFFFFFFFh, 101Ch, 0, 0, 0, \ ; "Paralyze.wav" .data:005E58C0 0, 0, 0, 0, 0, 0, 0> .data:005E5944 _Spell_ <0FFFFFFFFh, offset aPoisonWav, 43h, 101Ch, 0, 0, 0, 0, 0, 0, \ ; "Poison.wav" .data:005E5944 0, 0, 0, 0> .data:005E59C8 _Spell_ <0FFFFFFFFh, offset aBindWav, 44h, 1018h, 0, 0, 0, 0, 0, 0, 0,\ ; "Bind.wav" .data:005E59C8 0, 0, 0> .data:005E5A4C _Spell_ <0FFFFFFFFh, offset aDiseaseWav, 45h, 101Ch, 0, 0, 0, 0, 0, 0,\ ; "Disease.wav" .data:005E5A4C 0, 0, 0, 0> .data:005E5AD0 _Spell_ <0FFFFFFFFh, offset aParalyzeWav, 46h, 101Ch, 0, 0, 0, 0, 0, \ ; "Paralyze.wav" .data:005E5AD0 0, 0, 0, 0, 0> .data:005E5B54 _Spell_ <0FFFFFFFFh, offset aAgeWav, 47h, 101Ch, 0, 0, 0, 0, 0, 0, 0, \ ; "Age.wav" .data:005E5B54 0, 0, 0> .data:005E5BD8 _Spell_ <0, offset aDeathcldWav, 48h, 18h, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ ; "Deathcld.wav" .data:005E5BD8 0> .data:005E5C5C _Spell_ <0FFFFFFFFh, offset aLightbltWav, 31h, 218h, 0, 0, 0, 0, 0, 0,\ ; "LightBlt.wav" .data:005E5C5C 0, 0, 0, 0> .data:005E5CE0 _Spell_ <0FFFFFFFFh, offset aDispellWav, 29h, 18h, 0, 0, 0, 0, 0, 0, \ ; "Dispell.wav" .data:005E5CE0 0, 0, 0, 0> .data:005E5D64 _Spell_ <0FFFFFFFFh, offset aDeathstrWav, 50h, 18h, 0, 0, 0, 0, 0, 0, \ ; "Deathstr.wav" .data:005E5D64 0, 0, 0, 0>
Из кода видно, что у Fear индекс анимации 0Fh = 15 (это полупрозрачный вариант анимации Death Stare*) и звук "Fear.wav". Все картинки, а также описания тоже присутствуют в ресурсах. Набор флагов уникальный - 20415h = 100000010000010101b (SPF_BATTLE | SPF_TIME | SPF_ON_STACK | SPF_MIND | флаг для AI). * Возможно, баг функции, которая воспроизводит анимацию. В ресурсах я такого не нахожу. Как C07SPE0.def, только анимация полупрозрачная. * * * Не похоже на баг. Действительно, C07SPE0.def - это анимация с индексом 15: - Код: Выделить всё
00000000 _MagicAnim_ struc ; (sizeof=0x8, mappedto_94) 00000000 ; XREF: .rdata:MagicAnims/r 00000000 ; .rdata:005B9CF8/r ... 00000000 DefName dd ? ; offset 00000004 Type dd ? 00000008 _MagicAnim_ ends
- Код: Выделить всё
.rdata:005B9CF0 MagicAnims _MagicAnim_ <offset aC10spwDef, 100h> .rdata:005B9CF0 ; DATA XREF: sub_45CF50+158^r .rdata:005B9CF0 ; sub_45CF50+52C^r ... .rdata:005B9CF0 ; "C10spW.def" .rdata:005B9CF8 _MagicAnim_ <offset aC11spa0Def, 2> ; "C11spA0.def" .rdata:005B9D00 _MagicAnim_ <offset aC01spa0Def, 1> ; "C01spA0.def" .rdata:005B9D08 _MagicAnim_ <offset aC02spa0Def, 1> ; "C02spA0.def" .rdata:005B9D10 _MagicAnim_ <offset aC01spe0Def, 1> ; "C01spE0.def" .rdata:005B9D18 _MagicAnim_ <offset aC02spe0Def, 1> ; "C02spE0.def" .rdata:005B9D20 _MagicAnim_ <offset aC02spf0Def, 1> ; "C02spF0.def" .rdata:005B9D28 _MagicAnim_ <offset aC04spa0Def, 1> ; "C04spA0.def" .rdata:005B9D30 _MagicAnim_ <offset aC04spe0Def, 1> ; "C04spE0.def" .rdata:005B9D38 _MagicAnim_ <offset aC04spf0Def, 1> ; "C04spF0.def" .rdata:005B9D40 _MagicAnim_ <offset aC05spe0Def, 0> ; "C05spE0.def" .rdata:005B9D48 _MagicAnim_ <offset aC05spf0Def, 1> ; "C05spF0.def" .rdata:005B9D50 _MagicAnim_ <offset aC06spf0Def, 0Fh> ; "C06spF0.def" .rdata:005B9D58 _MagicAnim_ <offset aC07spa0Def_0, 0Fh> ; "C07spA0.def" .rdata:005B9D60 _MagicAnim_ <offset aC07spa1Def, 101h> ; "C07spA1.def" .rdata:005B9D68 _MagicAnim_ <offset aC07spe0Def_0, 101h> ; "C07spE0.def" .rdata:005B9D70 _MagicAnim_ <offset aC08spe0Def, 1> ; "C08spE0.def" .rdata:005B9D78 _MagicAnim_ <offset aC08spf0Def, 1> ; "C08spF0.def" .rdata:005B9D80 _MagicAnim_ <offset aC09spa0Def, 1> ; "C09spA0.def" .rdata:005B9D88 _MagicAnim_ <offset aC09spe0Def, 0> ; "C09spE0.def" .rdata:005B9D90 _MagicAnim_ <offset aC09spw0Def, 1> ; "C09spW0.def" .rdata:005B9D98 _MagicAnim_ <offset aC10spa0Def, 1> ; "C10spA0.def" .rdata:005B9DA0 _MagicAnim_ <offset aC11spe0Def, 0> ; "C11spE0.def" .rdata:005B9DA8 _MagicAnim_ <offset aC11spf0Def, 0> ; "C11spF0.def" .rdata:005B9DB0 _MagicAnim_ <offset aC11spw0Def, 0> ; "C11spW0.def" .rdata:005B9DB8 _MagicAnim_ <offset aC12spa0Def, 1> ; "C12spA0.def" .rdata:005B9DC0 _MagicAnim_ <offset aC13spa0Def, 0> ; "C13spA0.def" .rdata:005B9DC8 _MagicAnim_ <offset aC13spe0Def, 1> ; "C13spE0.def" .rdata:005B9DD0 _MagicAnim_ <offset aC13spw0Def, 1> ; "C13spW0.def" .rdata:005B9DD8 _MagicAnim_ <offset aC14spa0Def, 101h> ; "C14spA0.def" .rdata:005B9DE0 _MagicAnim_ <offset aC14spe0Def, 1> ; "C14spE0.def" .rdata:005B9DE8 _MagicAnim_ <offset aC15spa0Def, 0> ; "C15spA0.def" .rdata:005B9DF0 _MagicAnim_ <offset aC15spe0Def, 0> ; "C15spE0.def" .rdata:005B9DF8 _MagicAnim_ <offset aC15spe9Def, 0> ; "C15spE9.def" .rdata:005B9E00 _MagicAnim_ <offset aC18spw0Def, 0> ; "C18spW0.def" .rdata:005B9E08 _MagicAnim_ <offset aC01spf0Def, 1> ; "C01spF0.def" .rdata:005B9E10 _MagicAnim_ <offset aC01spw0Def, 1> ; "C01spW0.def" .rdata:005B9E18 _MagicAnim_ <offset aC03spa0Def, 2> ; "C03spA0.def" .rdata:005B9E20 _MagicAnim_ <offset aC03spa1Def, 1> ; "C03spA1.def" .rdata:005B9E28 _MagicAnim_ <offset aC03spw0Def, 1> ; "C03spW0.def" .rdata:005B9E30 _MagicAnim_ <offset aC04spw0Def, 1> ; "C04spW0.def" .rdata:005B9E38 _MagicAnim_ <offset aC05spw0Def, 1> ; "C05spW0.def" .rdata:005B9E40 _MagicAnim_ <offset aC06spw0Def, 1> ; "C06spW0.def" .rdata:005B9E48 _MagicAnim_ <offset aC07spf0Def, 4> ; "C07spF0.def" .rdata:005B9E50 _MagicAnim_ <offset aC07spf9Def, 4> ; "C07spF9.def" .rdata:005B9E58 _MagicAnim_ <offset aC07spw0Def, 1> ; "C07spW0.def" .rdata:005B9E60 _MagicAnim_ <offset aC08spw5Def, 101h> ; "C08spW5.def" .rdata:005B9E68 _MagicAnim_ <offset aC09spf0Def, 4> ; "C09spF0.def" .rdata:005B9E70 _MagicAnim_ <offset aC10spf0Def, 1> ; "C10spF0.def" .rdata:005B9E78 _MagicAnim_ <offset aC11spa1Def, 0> ; "C11spA1.def" .rdata:005B9E80 _MagicAnim_ <offset aC12spe0Def, 101h> ; "C12spE0.def" .rdata:005B9E88 _MagicAnim_ <offset aC12spf0Def, 1> ; "C12spF0.def" .rdata:005B9E90 _MagicAnim_ <offset aC12spf1Def, 101h> ; "C12spF1.def" .rdata:005B9E98 _MagicAnim_ <offset aC13spfDef, 1> ; "C13spF.def" .rdata:005B9EA0 _MagicAnim_ <offset aC16spe0Def, 1> ; "C16spE0.def" .rdata:005B9EA8 _MagicAnim_ <offset aC17spe0Def, 4> ; "C17spE0.def" .rdata:005B9EB0 _MagicAnim_ <offset aC17spw0Def, 1> ; "C17spW0.def" .rdata:005B9EB8 _MagicAnim_ <offset aC09spf3Def, 0> ; "C09spF3.def" .rdata:005B9EC0 _MagicAnim_ <offset aC17spe2Def, 4> ; "C17spE2.def" .rdata:005B9EC8 _MagicAnim_ <offset aC09spf2Def, 4> ; "C09spF2.def" .rdata:005B9ED0 _MagicAnim_ <offset aC15spe2Def, 4> ; "C15spE2.def" .rdata:005B9ED8 _MagicAnim_ <offset aC15spe11Def, 4> ; "C15spE11.def" .rdata:005B9EE0 _MagicAnim_ <offset aC07spf2Def, 4> ; "C07spF2.def" .rdata:005B9EE8 _MagicAnim_ <offset aC07spf11Def, 4> ; "C07spF11.def" .rdata:005B9EF0 _MagicAnim_ <offset aC20spxDef, 1> ; "C20SPX.DEF" .rdata:005B9EF8 _MagicAnim_ <offset aC07spf60Def, 4> ; "C07spF60.def" .rdata:005B9F00 _MagicAnim_ <offset aC07spf62Def, 4> ; "C07spF62.def" .rdata:005B9F08 _MagicAnim_ <offset aSp11Def, 1> ; "sp11_.def" .rdata:005B9F10 _MagicAnim_ <offset aSp02Def, 0> ; "sp02_.def" .rdata:005B9F18 _MagicAnim_ <offset aSp05Def, 1> ; "sp05_.def" .rdata:005B9F20 _MagicAnim_ <offset aSp10Def, 0> ; "sp10_.def" .rdata:005B9F28 _MagicAnim_ <offset aSp01Def, 1> ; "sp01_.def" .rdata:005B9F30 _MagicAnim_ <offset aSp04Def, 10Fh> ; "sp04_.def" .rdata:005B9F38 _MagicAnim_ <offset aSp03Def, 1> ; "sp03_.def" .rdata:005B9F40 _MagicAnim_ <offset aSp06Def, 101h> ; "sp06_.def" .rdata:005B9F48 _MagicAnim_ <offset aSp07ADef, 1> ; "sp07_A.def" .rdata:005B9F50 _MagicAnim_ <offset aSp07BDef, 1> ; "sp07_B.def" .rdata:005B9F58 _MagicAnim_ <offset aSp08Def, 0> ; "sp08_.def" .rdata:005B9F60 _MagicAnim_ <offset aSp09Def, 3> ; "sp09_.def" .rdata:005B9F68 _MagicAnim_ <offset aSp12Def, 101h> ; "sp12_.def" .rdata:005B9F70 _MagicAnim_ <offset aC07spe0Def, 1> ; "c07spe0.def" .rdata:005B9F78 _MagicAnim_ <offset aPoofDef, 0> ; "poof.def"
Такая же у абилки Могучих горгон (индекс 50h = 80). Разница только в регистре имени файла "C07spE0.def" vs. "c07spe0.def", что подтверждает, что это не механическая ошибка при наборе кода. Ещё видно, что тип (а точнее, флаги) анимации разные: 101h у заклинания Fear и 1 у абилки Могучих горгон (отсюда и полупрозрачность, я думаю). Так что, похоже, это реальная анимация заклинания Fear. Кроме того, по суффиксу "E" можно сделать однозначный вывод, что заклинание Fear относится к Магии Земли (A - Воздух, E - Земля, F - Огонь, W - Вода). * * * Заполненная из sptraits.txt структура _Spell_ заклинания Fear: - Код: Выделить всё
.data:005E520C dd -1 ; type ; "Fear.wav" .data:005E520C dd offset aFearWav ; wav_name .data:005E520C dd 15 ; animation_ix .data:005E520C dd 100000010000010101b ; flags .data:005E520C dd offset unk_2949AB0 ; name .data:005E520C dd offset unk_2949A90 ; short_name .data:005E520C dd 4 ; level .data:005E520C dd 0 ; school_flags .data:005E520C dd 16, 8, 8, 8 ; [0].mana_cost .data:005E520C dd 0 ; eff_power .data:005E520C dd 75, 75, 50, 25 ; [0].effect .data:005E520C dd 0, 0, 0, 0, 0, 0, 0, 0 ; [0].chance2get_var .data:005E520C dd 50, 50, 50, 50 ; ai_value .data:005E520C dd offset unk_2949A10, offset unk_2949960, offset unk_29498B0, offset unk_29497F0; [0].description
Собственно, здесь можно увидеть всё то, что есть в sptraits.txt.
|