As you may have read
here, I'm currently working on a mod that makes the protoss a bit more oldfashioned... Storyline to come
Anyway, I'm having a bit of a problem with my Zealots and my High Templars. I've done some messing with their weapons and iscripts and now they don't do damage when they attack... The animation plays and such, but no damage. FYI I'm putting the graphics project for the templar on hold so the only changes I made to its script are giving it AirAttkInits and etc. I'm also having a problem in which my Dragoons freeze when they attack air. I should note that this is definitely because I set them to use the High Templar animations, but I need to fix it... I'll include iscript and dat decompiles.
Zealot iscript:
CODE
# ----------------------------------------------------------------------------- #
# This header is used by images.dat entries:
# 151 Zealot (protoss\zealot.grp)
.headerstart
IsId 163
Type 21
Init ZealotInit
Death ZealotDeath
GndAttkInit ZealotGndAttkInit
AirAttkInit [NONE]
SpAbility1 [NONE]
GndAttkRpt ZealotGndAttkInit
AirAttkRpt [NONE]
SpAbility2 [NONE]
GndAttkToIdle ZealotGndAttkToIdle
AirAttkToIdle [NONE]
SpAbility3 [NONE]
Walking ZealotWalking
Other ZealotOther
BurrowInit [NONE]
ConstrctHarvst [NONE]
IsWorking [NONE]
Landing [NONE]
LiftOff [NONE]
Unknown18 [NONE]
Unknown19 [NONE]
Unknown20 [NONE]
Unknown21 ZealotUnknown21
.headerend
# ----------------------------------------------------------------------------- #
ZealotInit:
imgul09 152 0 0 # ZealotShad (protoss\pzeShad.grp)
ZealotOther:
playfram 0x55 # frame set 5
goto local00
local00:
wait 125
goto local00
ZealotDeath:
playsnd 678 # Protoss\ZEALOT\PZeDth00.WAV
playframno 0
playfram 0xdd # frame set 13
wait 2
playfram 0xde # frame set 13
wait 2
playfram 0xdf # frame set 13
wait 2
playfram 0xe0 # frame set 13
wait 2
playfram 0xe1 # frame set 13
wait 2
playfram 0xe2 # frame set 13
wait 2
playfram 0xe3 # frame set 13
wait 2
end
ZealotGndAttkInit:
playsndrand 2 662 663 # Protoss\ZEALOT\pzeAtt00.WAV, Protoss\ZEALOT\pzeAtt01.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
attack1c 1 664 # Protoss\ZEALOT\pzeHit00.WAV
playfram 0x55 # frame set 5
wait 1
playfram 0x66 # frame set 6
wait 1
playfram 0x77 # frame set 7
wait 1
playfram 0x88 # frame set 8
wait 1
playfram 0x99 # frame set 9
wait 1
nobrkcodeend
gotorepeatattk
goto ZealotInit
ZealotGndAttkToIdle:
goto ZealotOther
ZealotWalking:
move 4
wait 1
playfram 0xee # frame set 14
move 4
wait 1
playfram 0xff # frame set 15
move 4
wait 1
playfram 0x110 # frame set 16
move 4
wait 1
playfram 0x121 # frame set 17
move 4
wait 1
playfram 0xaa # frame set 10
move 4
wait 1
playfram 0xbb # frame set 11
move 4
wait 1
playfram 0xcc # frame set 12
move 4
wait 1
playfram 0xdd # frame set 13
goto ZealotWalking
ZealotUnknown21:
imgol08 154 0 0 # Unknown154 (protoss\zealot.grp)
goto local00
High Templar script:
CODE
# ----------------------------------------------------------------------------- #
# 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 HighTemplarGndAttkInit
SpAbility1 [NONE]
GndAttkRpt HighTemplarGndAttkInit
AirAttkRpt HighTemplarGndAttkInit
SpAbility2 HighTemplarSpAbility2
GndAttkToIdle HighTemplarGndAttkToIdle
AirAttkToIdle HighTemplarGndAttkToIdle
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
Units.dat entries:
CODE
[Protoss Zealot]
Graphic=46
Subunit 1=228
Subunit 2=228
Subunit 3=228
Construction Anim=0
Unk 0x08C4=32
Shield Enable=0
Shield Amount=0
Hit Points=21760
Anim Level=4
Movement Type=65
Staredit: Order/Sublabel=3
Action: Comp AI Idle=2
Action: Human AI Idle=2
Action: Unknown=2
Action: Ground Attack=10
Action: Air Attack=2
Weapon: Ground=64
Max Hit: Ground=1
Weapon: Air=130
Max Hit: Air=0
Unk 0x1A94=0
Special Ability Flags=402718720
Subunit Attack Range=3
Sight Range=7
Armor Upgrade Group=5
Size=1
Armor Amount=1
Unk 0x237C=1
Ready Sound=666
What Sound Start=670
What Sound End=673
Piss Sound Start=667
Piss Sound End=669
Yes Sound Start=674
Yes Sound End=677
Unk37 (456 Entries)=28
Unk38 (192 Entries)=0
Unk39 (912 Entries)=10
Portrait=40
Mineral Cost=75
Vespene Cost=0
Build Time=480
Resriction Flags=65535
Staredit: Group Flags=12
Unk 0x4210=0
Food Produced=4
Food Cost=1
Transport/Bunker Space=0
Build Score=100
Destroy Score=200
Unk 0x4930=0
Broodwar Unit Flag=0
Staredit Availability Flags=463
[Protoss Dragoon]
Graphic=45
Subunit 1=228
Subunit 2=228
Subunit 3=228
Construction Anim=0
Unk 0x08C4=32
Shield Enable=1
Shield Amount=10
Hit Points=21760
Anim Level=4
Movement Type=65
Staredit: Order/Sublabel=4
Action: Comp AI Idle=2
Action: Human AI Idle=2
Action: Unknown=2
Action: Ground Attack=10
Action: Air Attack=2
Weapon: Ground=66
Max Hit: Ground=1
Weapon: Air=66
Max Hit: Air=1
Unk 0x1A94=0
Special Ability Flags=402718848
Subunit Attack Range=0
Sight Range=8
Armor Upgrade Group=5
Size=1
Armor Amount=1
Unk 0x237C=1
Ready Sound=492
What Sound Start=498
What Sound End=505
Piss Sound Start=494
Piss Sound End=497
Yes Sound Start=506
Yes Sound End=512
Unk37 (456 Entries)=27
Unk38 (192 Entries)=0
Unk39 (912 Entries)=7
Portrait=41
Mineral Cost=75
Vespene Cost=15
Build Time=630
Resriction Flags=65535
Staredit: Group Flags=12
Unk 0x4210=0
Food Produced=4
Food Cost=4
Transport/Bunker Space=0
Build Score=250
Destroy Score=500
Unk 0x4930=0
Broodwar Unit Flag=0
Staredit Availability Flags=463
[Protoss High Templar]
Graphic=45
Subunit 1=228
Subunit 2=228
Subunit 3=228
Construction Anim=0
Unk 0x08C4=32
Shield Enable=1
Shield Amount=100
Hit Points=8960
Anim Level=4
Movement Type=65
Staredit: Order/Sublabel=6
Action: Comp AI Idle=2
Action: Human AI Idle=2
Action: Unknown=2
Action: Ground Attack=10
Action: Air Attack=2
Weapon: Ground=68
Max Hit: Ground=1
Weapon: Air=130
Max Hit: Air=0
Unk 0x1A94=0
Special Ability Flags=438304896
Subunit Attack Range=3
Sight Range=7
Armor Upgrade Group=5
Size=1
Armor Amount=0
Unk 0x237C=2
Ready Sound=622
What Sound Start=627
What Sound End=630
Piss Sound Start=623
Piss Sound End=626
Yes Sound Start=631
Yes Sound End=634
Unk37 (456 Entries)=31
Unk38 (192 Entries)=0
Unk39 (912 Entries)=11
Portrait=42
Mineral Cost=75
Vespene Cost=100
Build Time=720
Resriction Flags=65535
Staredit: Group Flags=12
Unk 0x4210=0
Food Produced=4
Food Cost=2
Transport/Bunker Space=0
Build Score=350
Destroy Score=700
Unk 0x4930=0
Broodwar Unit Flag=0
Staredit Availability Flags=463
Weapons.dat entries:
064 = Zealot weapon
066 = Dragoon weapon
068 = High Templar weapon
CODE
[Entry 064]
Status Bar Label=282
Missile Sprite=0
Special Attack=44
Attack Type=2
Minimum Range=0
Maximum Range=15
Upgrade Group=13
Weapon Type=2
Weapon Behavior=5
Missile Type=255
Explosion Type=1
Splash Value 1=0
Splash Value 2=0
Splash Value 3=0
Damage Amount=11
Damage Bonus=1
Cooldown Delay=22
Damage Factor=1
Coordinate X1?=16
Coordinate X2?=0
Coordinate Y1?=0
Coordinate Y2?=0
Targeting Error Message=879
Icon=353
[Entry 066]
Status Bar Label=286
Missile Sprite=156
Special Attack=44
Attack Type=3
Minimum Range=0
Maximum Range=128
Upgrade Group=13
Weapon Type=3
Weapon Behavior=2
Missile Type=255
Explosion Type=3
Splash Value 1=3
Splash Value 2=15
Splash Value 3=30
Damage Amount=38
Damage Bonus=2
Cooldown Delay=45
Damage Factor=1
Coordinate X1?=128
Coordinate X2?=0
Coordinate Y1?=0
Coordinate Y2?=0
Targeting Error Message=879
Icon=354
[Entry 068]
Status Bar Label=288
Missile Sprite=159
Special Attack=44
Attack Type=1
Minimum Range=0
Maximum Range=512
Upgrade Group=13
Weapon Type=1
Weapon Behavior=8
Missile Type=255
Explosion Type=2
Splash Value 1=8
Splash Value 2=16
Splash Value 3=30
Damage Amount=12
Damage Bonus=1
Cooldown Delay=10
Damage Factor=1
Coordinate X1?=16
Coordinate X2?=0
Coordinate Y1?=0
Coordinate Y2?=0
Targeting Error Message=879
Icon=355
For those that think they can help, but don't know how to read decompiled dats, go find a copy of Arsenal ZERO, decompiled units.dat and weapons.dat, and insert the above entries into the text files produced. Then recompile the text files and open the resulting dat files with DatEdit. But please, if you do this and want to post fixed stuff, reverse the process and include only the relevant entries in your reply...