Okay. So as you may know, the archon (including dark) is make up of three sprites. And If i remember correctly DatEdit shows the archon as having two subunits (its two other sprites). Anyway, what I want to do is make the dark templar have the "being" sprite the archon has (I'm referring to the person-like thing in the middle of the energy ball).
I first just tried changing the image ID for [197:High Templar] in sprites.dat (using Arsenal ZERO) to 135. Thus:
CODE
[197:High Templar]
Image=135
HP Bar Length=22
Unknown 3=1
Unknown 4=1
Selection Circle Image=0
Selection Circle Vertical Offset=9
I sorta expected the game to crash with this, and I wasn't dissappointed...
I next was going to copy the archon's appearance and walking animation controls from the iscript and see if they would un-crash the templar. Only problem is, Ice 1.2.2 only shows an iscript entry for the energy ball part of the archon. The script refers to the being and team color parts, but I'm not sure what to do now...
Archon iscript:
CODE
# ----------------------------------------------------------------------------- #
# This is a decompile of the iscript.bin file '/iscript.bin'
# created on: Sat Dec 16 09:55:28 2006
# ----------------------------------------------------------------------------- #
# ----------------------------------------------------------------------------- #
# This header is used by images.dat entries:
# 134 ArchonEnergy (protoss\archon.grp)
.headerstart
IsId 147
Type 13
Init ArchonEnergyInit
Death ArchonEnergyDeath
GndAttkInit ArchonEnergyGndAttkInit
AirAttkInit ArchonEnergyGndAttkInit
SpAbility1 [NONE]
GndAttkRpt ArchonEnergyGndAttkInit
AirAttkRpt ArchonEnergyGndAttkInit
SpAbility2 [NONE]
GndAttkToIdle ArchonEnergyGndAttkInit
AirAttkToIdle ArchonEnergyGndAttkInit
SpAbility3 [NONE]
Walking ArchonEnergyGndAttkInit
Other ArchonEnergyGndAttkInit
BurrowInit ArchonEnergyBurrowInit
.headerend
# ----------------------------------------------------------------------------- #
ArchonEnergyInit:
playfram 18
wait 1
nobrkcodestart
wait 1
playfram 19
wait 2
playfram 20
wait 2
playfram 21
wait 2
playfram 22
wait 2
playfram 23
wait 2
playfram 24
wait 2
playfram 25
wait 2
playfram 26
wait 2
imgol08 135 0 0 # ArchonBeing (protoss\archonT.grp)
imgol08 136 0 0 # ArchonTeamColors (protoss\archonT2.grp)
sigorder 4
nobrkcodeend
wait 2
ArchonEnergyGndAttkInit:
playfram 0
wait 1
playfram 1
wait 1
playfram 2
wait 1
playfram 3
wait 1
playfram 4
wait 1
playfram 5
wait 1
playfram 6
wait 1
playfram 7
wait 1
playfram 8
wait 1
playfram 9
wait 1
playfram 8
wait 1
playfram 7
wait 1
playfram 6
wait 1
playfram 5
wait 1
playfram 4
wait 1
playfram 3
wait 1
playfram 2
wait 1
playfram 1
wait 1
goto ArchonEnergyGndAttkInit
ArchonEnergyDeath:
playsnd 7 # Misc\ExploLrg.wav
imgol08 214 0 0 # ProtossBuildingExplosionMedium (thingy\tBangL.grp)
wait 3
end
ArchonEnergyBurrowInit:
playsnd 617 # Protoss\TEMPLAR\PTeSum00.WAV
playfram 10
wait 2
playfram 11
wait 2
local00:
playfram 12
wait 2
playfram 13
wait 2
playfram 14
wait 2
playfram 15
wait 2
playfram 16
wait 2
playfram 17
wait 2
playfram 16
wait 2
playfram 15
wait 2
playfram 14
wait 2
playfram 13
wait 2
goto local00
I'm wondering if the being, energy, and teamcolor parts all follow the same animation sequence. If this is true, I could just copy the GndAttackInt (as that seems to control movement as well as attacking) and be done with it. However, I'm gonna guess that this isn't the case, since I distinctly remember the archon being part having separate walk and attack animations. There also is no attack command here, so I'm guessing that the being script has its own animations.
I'm not so sure what local00 is for, but I doubt I need to worry about it. The EnergyInt and BurrowInt seem to be related to archon warping, so I'll ignore those as well...
Before you start saying "OMFG N00b update ur sh** teres PWNZor DatEdit!!!11!!one" just shut your yap and go away. I'm on a Mac
ADDITION:
Ahah! I found the being iscript... It's iscript ID 148 and not in the listing
. Anyway for future reference one must go to the images.dat and look for:
CODE
[135:Archon Being]
File=145
GFX Turns=1
Shadow Turns=0
Unknown 4=1
Floats=1
Palette Type=0
Palette Special=0
Iscript ID=148
Shield Overlay=2
Overlay 2=146
Overlay 3=0
Overlay 4=0
Overlay 5=0
Overlay 6=0
I'm gonna keep this thread open in case I run into more problems (which happens to be extremely likely
).
ADDITION:
ARG! This is gonna be a long post... I tried putting the archon being script stuff into the templar script, but it crashes when I build a high templar...
Here's the original high templar script:
CODE
# ----------------------------------------------------------------------------- #
# This is a decompile of the iscript.bin file '/iscript.bin'
# created on: Sat Dec 16 09:54:37 2006
# ----------------------------------------------------------------------------- #
# ----------------------------------------------------------------------------- #
# This header is used by images.dat entries:
# 126 HighTemplar (protoss\templar.grp)
.headerstart
IsId 158
Type 21
Init HighTemplarInit
Death HighTemplarDeath
GndAttkInit HighTemplarGndAttkInit
AirAttkInit [NONE]
SpAbility1 [NONE]
GndAttkRpt HighTemplarGndAttkInit
AirAttkRpt [NONE]
SpAbility2 HighTemplarSpAbility2
GndAttkToIdle HighTemplarGndAttkToIdle
AirAttkToIdle [NONE]
SpAbility3 [NONE]
Walking HighTemplarWalking
Other HighTemplarOther
BurrowInit [NONE]
ConstrctHarvst [NONE]
IsWorking [NONE]
Landing [NONE]
LiftOff [NONE]
Unknown18 [NONE]
Unknown19 [NONE]
Unknown20 [NONE]
Unknown21 HighTemplarUnknown21
.headerend
# ----------------------------------------------------------------------------- #
HighTemplarInit:
imgul09 127 0 0 # HighTemplarShad (protoss\pteShad.grp)
playfram 0x66 # frame set 6
waitrand 1 2
HighTemplarGndAttkToIdle:
playfram 0x66 # frame set 6
wait 2
playfram 0x77 # frame set 7
wait 2
playfram 0x88 # frame set 8
wait 2
playfram 0x99 # frame set 9
wait 2
playfram 0xaa # frame set 10
wait 2
playfram 0xbb # frame set 11
wait 2
playfram 0xcc # frame set 12
wait 2
goto HighTemplarGndAttkToIdle
HighTemplarDeath:
playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV
playframno 0
playfram 0x121 # frame set 17
wait 2
playfram 0x122 # frame set 17
wait 2
playfram 0x123 # frame set 17
wait 2
playfram 0x124 # frame set 17
wait 2
playfram 0x125 # frame set 17
wait 2
playfram 0x126 # frame set 17
wait 2
playfram 0x127 # frame set 17
wait 2
end
HighTemplarGndAttkInit:
playsnd 101 # Bullet\LaserB.wav
playfram 0x00 # frame set 0
wait 1
nobrkcodestart
playfram 0x11 # frame set 1
wait 1
playfram 0x22 # frame set 2
wait 1
playfram 0x33 # frame set 3
wait 1
attack25 1
playfram 0x44 # frame set 4
wait 1
nobrkcodeend
gotorepeatattk
playfram 0x66 # frame set 6
goto local00
local00:
wait 125
goto local00
HighTemplarSpAbility2:
playfram 0x00 # frame set 0
nobrkcodestart
wait 1
playfram 0x11 # frame set 1
wait 1
playfram 0x22 # frame set 2
wait 1
playfram 0x33 # frame set 3
wait 1
castspell
sigorder 2
playfram 0x44 # frame set 4
wait 1
nobrkcodeend
gotorepeatattk
playfram 0x66 # frame set 6
goto local00
HighTemplarWalking:
playfram 0xee # frame set 14
wait 1
playfram 0xff # frame set 15
wait 1
playfram 0x110 # frame set 16
wait 1
playfram 0x55 # frame set 5
shvertpos 0
local01:
wait 3
sprol13 320 0 0 # HighTemplarTrail (thingy\pteglow.grp)
goto local01
HighTemplarOther:
playfram 0x110 # frame set 16
wait 1
playfram 0xff # frame set 15
wait 1
playfram 0xee # frame set 14
wait 1
goto HighTemplarGndAttkToIdle
HighTemplarUnknown21:
imgol08 128 0 0 # Unknown128 (protoss\templar.grp)
goto local00
Here's the archon being script:
CODE
# ----------------------------------------------------------------------------- #
# This is a decompile of the iscript.bin file '/iscript.bin'
# created on: Sat Dec 16 11:03:59 2006
# ----------------------------------------------------------------------------- #
# ----------------------------------------------------------------------------- #
# This header is used by images.dat entries:
# 135 ArchonBeing (protoss\archonT.grp)
.headerstart
IsId 148
Type 12
Init ArchonBeingInit
Death ArchonBeingDeath
GndAttkInit ArchonBeingGndAttkInit
AirAttkInit ArchonBeingGndAttkInit
SpAbility1 [NONE]
GndAttkRpt ArchonBeingGndAttkInit
AirAttkRpt ArchonBeingGndAttkInit
SpAbility2 [NONE]
GndAttkToIdle ArchonBeingGndAttkToIdle
AirAttkToIdle ArchonBeingGndAttkToIdle
SpAbility3 [NONE]
Walking ArchonBeingGndAttkToIdle
Other ArchonBeingGndAttkToIdle
BurrowInit [NONE]
.headerend
# ----------------------------------------------------------------------------- #
ArchonBeingInit:
playframno 15
ArchonBeingGndAttkToIdle:
playfram 0xaa # frame set 10
wait 4
playfram 0xbb # frame set 11
wait 4
playfram 0xcc # frame set 12
wait 4
playfram 0xdd # frame set 13
wait 4
playfram 0xcc # frame set 12
wait 4
playfram 0xbb # frame set 11
wait 4
goto ArchonBeingGndAttkToIdle
ArchonBeingDeath:
wait 1
end
ArchonBeingGndAttkInit:
playfram 0x00 # frame set 0
wait 1
nobrkcodestart
playfram 0x11 # frame set 1
wait 1
playfram 0x22 # frame set 2
wait 1
playfram 0x33 # frame set 3
wait 1
playfram 0x44 # frame set 4
wait 1
playfram 0x55 # frame set 5
trgtrangecondjmp 48 local00
imgol0d 549 0 0 # Unknown549 (thingy\emsBeam.grp)
local00:
playsnd 58 # Bullet\PArFir00.wav
attack26
wait 1
playfram 0x66 # frame set 6
wait 3
playfram 0x77 # frame set 7
wait 1
playfram 0x88 # frame set 8
wait 1
playfram 0x99 # frame set 9
wait 1
playfram 0x22 # frame set 2
wait 2
playfram 0x11 # frame set 1
wait 2
playfram 0x00 # frame set 0
wait 2
nobrkcodeend
gotorepeatattk
goto ArchonBeingGndAttkToIdle
And here's my new high templar script:
CODE
# ----------------------------------------------------------------------------- #
# This is a decompile of the iscript.bin file '/iscript.bin'
# created on: Sat Dec 16 09:54:37 2006
# ----------------------------------------------------------------------------- #
# ----------------------------------------------------------------------------- #
# This header is used by images.dat entries:
# 126 HighTemplar (protoss\templar.grp)
.headerstart
IsId 158
Type 21
Init HighTemplarInit
Death HighTemplarDeath
GndAttkInit HighTemplarGndAttkInit
AirAttkInit [NONE]
SpAbility1 [NONE]
GndAttkRpt HighTemplarGndAttkInit
AirAttkRpt [NONE]
SpAbility2 HighTemplarSpAbility2
GndAttkToIdle HighTemplarGndAttkToIdle
AirAttkToIdle [NONE]
SpAbility3 [NONE]
Walking HighTemplarWalking
Other HighTemplarOther
BurrowInit [NONE]
ConstrctHarvst [NONE]
IsWorking [NONE]
Landing [NONE]
LiftOff [NONE]
Unknown18 [NONE]
Unknown19 [NONE]
Unknown20 [NONE]
Unknown21 HighTemplarUnknown21
.headerend
# ----------------------------------------------------------------------------- #
HighTemplarInit:
playframno 15
HighTemplarGndAttkToIdle:
playfram 0xaa # frame set 10
wait 4
playfram 0xbb # frame set 11
wait 4
playfram 0xcc # frame set 12
wait 4
playfram 0xdd # frame set 13
wait 4
playfram 0xcc # frame set 12
wait 4
playfram 0xbb # frame set 11
wait 4
goto HighTemplarGndAttkToIdle
HighTemplarDeath:
playsnd 635 # Protoss\TEMPLAR\PTeDth00.WAV
playframno 0
playfram 0x121 # frame set 17
wait 2
playfram 0x122 # frame set 17
wait 2
playfram 0x123 # frame set 17
wait 2
playfram 0x124 # frame set 17
wait 2
playfram 0x125 # frame set 17
wait 2
playfram 0x126 # frame set 17
wait 2
playfram 0x127 # frame set 17
wait 2
end
HighTemplarGndAttkInit:
playsnd 101 # Bullet\LaserB.wav
playfram 0x00 # frame set 0
wait 1
nobrkcodestart
playfram 0x11 # frame set 1
wait 1
playfram 0x22 # frame set 2
wait 1
playfram 0x33 # frame set 3
wait 1
playfram 0x44 # frame set 4
wait 1
playfram 0x55 # frame set 5
trgtrangecondjmp 48 local00
imgol0d 549 0 0 # Unknown549 (thingy\emsBeam.grp)
local00:
attack26
wait 1
playfram 0x66 # frame set 6
wait 3
playfram 0x77 # frame set 7
wait 1
playfram 0x88 # frame set 8
wait 1
playfram 0x99 # frame set 9
wait 1
playfram 0x22 # frame set 2
wait 2
playfram 0x11 # frame set 1
wait 2
playfram 0x00 # frame set 0
wait 2
nobrkcodeend
gotorepeatattk
goto HighTemplarGndAttkInit
HighTemplarSpAbility2:
playfram 0x00 # frame set 0
wait 1
nobrkcodestart
wait 1
playfram 0x66 # frame set 6
wait 3
playfram 0x77 # frame set 7
wait 1
playfram 0x88 # frame set 8
wait 1
playfram 0x99 # frame set 9
wait 1
playfram 0x22 # frame set 2
wait 2
playfram 0x11 # frame set 1
wait 2
playfram 0x00 # frame set 0
wait 2
nobrkcodeend
gotorepeatattk
playfram 0x66 # frame set 6
goto HighTemplarGndAttkToIdle
HighTemplarWalking:
playfram 0xaa # frame set 10
wait 4
playfram 0xbb # frame set 11
wait 4
playfram 0xcc # frame set 12
wait 4
playfram 0xdd # frame set 13
wait 4
playfram 0xcc # frame set 12
wait 4
playfram 0xbb # frame set 11
wait 4
goto HighTemplarWalking
HighTemplarOther:
goto HighTemplarGndAttkToIdle
HighTemplarUnknown21:
imgol08 128 0 0 # Unknown128 (protoss\templar.grp)
goto local00
Now I'm gonna try using the archon script verbatim...