Just what the title says.
I want to remove Gui's flame attack animation as I'm going to turn him into a unit that fires three Hellfire Missiles all at once. I know that its going to take some iscripting or something like that and I'm pretty much shite with it. I want it specifically for that unit while the rest of the normal firebats retain their usual flamethrower attack.
Another thing I want to do is to have a scattered laser attack for Hero Battlecruisers. Kind of like that Hero BC unit from "The Gallantry" It fires a volley of lasers at its target(s), scattered all around, with a hit animation of an arclite shock cannon. IF that's a bit complicated for my brain to handle, I'd rather have it do a the normal BC attack but with scattered lasers all around.
Let me reiterate that I'm completely poop on iscript so be easy on the instructions. I would prefer a bullet form instruction for this. ;~;
Sort of wish that the SCBW Modding Community was still active. </3
You have to check out gui montag's iscript. it directs the flame from there and if you dont edit the attack iscript entries properly it lags and might crash. I can give you mine. I changed my firebats to "messengers" that fire grenades.
Collapse Box
# ----------------------------------------------------------------------------- #
# This is a decompile of the iscript.bin file 'data\scripts\iscript.bin'
# created on: Tue Sep 02 19:47:04 2014
# ----------------------------------------------------------------------------- #
# ----------------------------------------------------------------------------- #
# This header is used by images.dat entries:
# 226 Firebat (terran\firebat.grp)
.headerstart
IsId 69
Type 12
Init FirebatInit
Death FirebatDeath
GndAttkInit FirebatGndAttkInit
AirAttkInit [NONE]
Unused1 [NONE]
GndAttkRpt FirebatGndAttkRpt
AirAttkRpt [NONE]
CastSpell FirebatCastSpell
GndAttkToIdle FirebatGndAttkToIdle
AirAttkToIdle [NONE]
Unused2 [NONE]
Walking FirebatWalking
WalkingToIdle FirebatWalkingToIdle
SpecialState1 [NONE]
.headerend
# ----------------------------------------------------------------------------- #
FirebatInit:
imgul 227 0 0 # FirebatShad (terran\tfbShad.grp)
FirebatWalkingToIdle:
playfram 0x22 # frame set 2
FirebatLocal03:
waitrand 63 75
randcondjmp 25 FirebatLocal00
randcondjmp 128 FirebatLocal02
goto FirebatLocal03
FirebatLocal00:
playfram 0x00 # frame set 0
wait 1
randcondjmp 192 FirebatLocal01
turnccwise 2
wait 3
turnccwise 2
wait 3
turnccwise 2
wait 3
turnccwise 2
wait 3
turnccwise 2
wait 3
wait 6
turncwise 2
wait 3
turncwise 2
wait 3
turncwise 2
wait 3
turncwise 2
wait 3
turncwise 2
wait 3
wait 6
turnccwise 2
wait 3
turnccwise 2
wait 3
turnccwise 2
wait 3
goto FirebatWalkingToIdle
FirebatLocal02:
playfram 0x33 # frame set 3
wait 1
playfram 0x44 # frame set 4
wait 1
turnrand 3
wait 1
playfram 0x33 # frame set 3
wait 1
goto FirebatWalkingToIdle
FirebatLocal01:
wait 13
goto FirebatWalkingToIdle
FirebatDeath:
playsndbtwn 296 298 # Terran\Firebat\TFBDth00.WAV, Terran\Firebat\TFBDth02.WAV
imgol 332 0 0 # TerranBuildingExplosionsmall (thingy\tBangS.grp)
wait 3
end
FirebatGndAttkInit:
playfram 0x00 # frame set 0
FirebatGndAttkRpt:
wait 1
playfram 0x11 # frame set 1
attkshiftproj 24
wait 1
attkshiftproj 52
wait 1
attkshiftproj 80
wait 5
playfram 0x00 # frame set 0
wait 2
gotorepeatattk
FirebatGndAttkToIdle:
goto FirebatWalkingToIdle
FirebatCastSpell:
wait 1
playfram 0x11 # frame set 1
castspell
wait 5
playfram 0x00 # frame set 0
wait 2
gotorepeatattk
FirebatWalking:
move 4
wait 1
playfram 0x33 # frame set 3
move 4
wait 1
playfram 0x44 # frame set 4
move 4
wait 1
playfram 0x55 # frame set 5
move 4
wait 1
playfram 0x66 # frame set 6
move 4
wait 1
playfram 0x77 # frame set 7
move 4
wait 1
playfram 0x88 # frame set 8
move 4
wait 1
playfram 0x99 # frame set 9
move 4
wait 1
playfram 0x22 # frame set 2
goto FirebatWalking
None.
For your Firebat's attack animation, you would want to do something similar to the following:
FirebatAttk:
wait 1
turncwise 4
attack
turnccwise 4
attack
turnccwise 4
attack
turncwise 4
wait 1
gotorepeatattk
goto FirebatIdle
The key idea to getting your Firebat to shoot three missiles at once in distinct directions is turning a bit, attacking, turning a bit, attacking, etc. and then turning back to face the original direction (mostly so that the animation doesn't look wonky). That is, turn and attack several times and then resetting your Firebat's direction. You may include waits in between each turn-attack pair but note that this will cause the in-game appearance to look as if the Firebat is firing the missiles sequentially instead of only once.
---
The second portion of your problem involves having a distinct Firebat script. To do this, you need to get your Gui Montag unit ID to use a distinct flingy-sprite-image combination (I forgot the exact dependency order, but you can find out pretty easily if you're using DatEdit or PyDAT). The key change to make here would be setting Gui's unique image.dat entry to use a totally unused iscript ID (which I will call x).
You will then have to create a new script for your Gui Montag. You can just copy/paste the Firebat's script, and then replace all occurrences of "Firebat" with "GuiMontag" (or something). Then, modify "IsId 69" to read "IsId x", and, finally, apply your attack script changes to the new and unique GuiMontag script.
---
Your third problem involving the BC firing a shotgun blast or sequential set of lasers is the easiest one here. Something like this will do:
BCAttack:
wait 1
attack
attack
attack
attack
attack # etc.
wait 1
You can also insert some waits in between each attack if you want a machine-gun like effect (or whatever you want).