It's fairly simple to add a spellcasting animation to the Zealot. You'd need to use IceCC.
Open IceCC, and select the Protoss Zealot from the Units menu.
Press Decompile, and save the decompiled file as zealot.txt
Make the following edits:
CODE
Change SpAbility2 [NONE] to SpAbility2 ZealotSpAbility2
Add the following section:
ZealotSpAbility2:
playsndrand 2 662 663 # Protoss\ZEALOT\pzeAtt00.WAV, Protoss\ZEALOT\pzeAtt01.WAV
playfram 0x11 # frame set 1
wait 1
nobrkcodestart
playfram 0x22 # frame set 2
wait 1
playfram 0x33 # frame set 3
wait 1
playfram 0x44 # frame set 4
wait 1
playfram 0x33 # frame set 3
wait 1
playfram 0x22 # frame set 2
castspell
wait 1
playfram 0x11 # frame set 1
wait 1
playfram 0x00 # frame set 0
nobrkcodeend
ignorerest
What did we do here? We copied the Attack animation of the Zealot, told it to use it as a spell casting animation and replaced the attack command with a castspell command so that it would cast spells.
Keep in mind that the Zealot does not have a Burrow/UnBurrow animation, so if you want those, we'll have to add them as well.
Then all you need to do is edit units.dat, and change the Graphics value in the Graphics tab of DatEdit from Zerg Defiler to Protoss Zealot.
Wireframes are contained in 3 GRP files (wirefram.grp, which contains the big ones, grpwire.grp, which contains group wireframes and tranwire.grp, which contains transportable wireframes.)
Editing them is somewhat of a pain, since it needs to use a special palette in order for shield/health data to appear properly. If you just want to replace the Defiler wireframe with the Zealot wireframe, it shouldn't be too much of a hassle though:
- Decompile tranwire/wirefram/grpwire.grp
- Search for the file wirefram065.bmp, copy it.
- Delete the file wirefram046.bmp, and rename your copy of wirefram065.bmp to wirefram046.bmp
- Recompile the GRP
- Repeat the process for tranwire/grpwire.grp.