What the hell is up with firebat flames?! How do you get rid of them? I've tried getting rid of the overlay, changing which overlay, and all sorts of things. I even changed the grp to a blank 1, which got me a transparent blue box to replace the flame. Wtf?!
Go into its iscript and remove the imgol08 command. (I think it's that one, could be sprol0f or similar.)
:: Edit
Yeah, it's imgol08 421 0 0 # FlameThrower (thingy\flamer.grp) in FirebatGndAttkRpt.
Uh... how do you do that X\ I'm using the GUI version so I don't know exactly what you mean.
EDIT:
Nvm... I already tried removing the overlay...
I have no idea how ICE even works, but that's how you'd do it in IceCC.
Like Pie Sniper said, you have to remove the overlay via Ice CC...
For ice go to the Unit entry of Terran Firebat or Iscript ID of 69
go into the initial attack and the repeat attack and remove:
"Place active overlay (images dat) 421 at vertical offset 0"
that will do it.
you also might need to replace:
"Attack with projectile spawned from angle..."
with:
"Attack with 1(1=Ground, else Air)"
That part will still work, but multiple projectiles will be spawned per attack since there is more than one of those in there. I did exactly that in one of my mods to make multiple projectiles spawn from different positions.
Uh... the problem with that is that i've tried that several times, and the firebat would freeze after it attacked once until the thing it was attacking died...
EDIT:
I'd already tried all of your suggestions before posting this... they all made the firebat freeze.
I don't know ICE, (I know ICECC) but here's a question for you:
Does the Firebat's code have anything resembling "unbreakable code section start?" That can make units freeze if certain conditions are met and a "unbreakable code section end" is never used.
I removed the flames in Ex Machina, and I'll post the code here. Be warned, it's in ICECC code, but hopefully it won't be too hard to figure out the ICE equivalents of the commands:
CODE
FirebatGndAttkInit:
playfram 0x00 # frame set 0
wait 1
nobrkcodestart
playfram 0x11 # frame set 1
attack
wait 1
playfram 0x00 # frame set 0
wait 2
nobrkcodeend
gotorepeatattk
FirebatGndAttkToIdle:
goto FirebatWalkingToIdle
Hope that helps.
I think there's something weird with the Firebat, since it's the only unit I've had trouble with freezing, and it happens far too often to me, though I have, as can be seen, fixed it in Tempest Replay somehow.
You wanna post your iscript. I could see whats wrong, since it seems like im the only one who uses Ice here.
well... i've tried doing it in both ice and icecc but here's what i've tried doing
1. I removed the overlay.
2. I removed unbreakable code section lines.
3. I changed attack with projectile from angle to attack with %1.
4. I made the flame grp completely blank.
EDIT:
I don't have my iscript because I deleted it when I was trying to firgure out why it froze.
Gosh, I'm excited to answer this because it's part of the huge chunk of iscript knowledge which I haven't told anyone about yet.
The nobrkcodestart is in the firebat iscript, and the matching nobrkcodeend is actually in the flame thrower overlay. If you remove the flame thrower overlay, you're removing the matching nobrkcodeend. You've got to put that back in yourself. I think gotorepeatattk might also be in the firebat overlay as well, and possible ignorerest (although that command isn't necessary).
That's a little snippet from my long essay titled "there's no such thing as a main graphic overlay" which I should write about one day. It's a really interesting thing I learnt about how the iscript works at the end of Zerg Doom, and this is one of the phenomenons it explains.
That's right, there's no such thing as a main graphic overlay. To me, finding that fact was like finding the unified theory of everything, because it explained so much. Gosh I'm so excited about it now that I see you guys have touched the topic. I'll write about the implications of "there is no such thing as a main graphic overlay" someday.
Well... there is a no break code and go to repeat attack in the firebat flames... I never really thought that that was all I needed to do... but when I turned the overlay to a corsair death, why did it still freeze?
Firebat iscript: nobrkcodestart ------------->
Flame iscript: ---------------------------------> nobrkcodeend gotorepeatattk
nobrkcodestart freezes the unit, nobrkcodeend unfreezes the unit, gotorepeatattk says that the unit's ready to attack again once it's cooldown is finished.
If you remove the Flame iscript, you get:
Firebat iscript: nobrkcodestart ------------------>
No nobrkcodeend command, therefore the unit never unfreezes. Without the gotorepeatattk command, the unit stops after one attack. When you add corsair death:
Firebat iscript: nobrkcodestart ----------------------->
Corsair death: ----------------------------------------------------------------->
The Firebat flame overlay is an exception, the Corsair death and practically everything which you would use as an overlay doesn't have a nobrkcodeend or gotorepeatattk command. So you get the same result. There's still no nobrkcodeend command, so the unit never unfreezes. And again, without the gotorepeatattk command, the unit stops after one attack.
All you need to do is make it like this:
Firebat iscript: nobrkcodestart -----------------------> nobrkcodeend gotorepeatattk
Now the Firebat iscript has a nobrkcodeend to unfreeze the unit, and gotorepeatattk to signal to StarCraft that the unit is ready to do a second attack once it's cooldown is finished.