Posted: Sun Apr 09, 2023 11:55 pm Post subject:
Custom Boomer / Cruise Missile - How to create the smoke that spawns before the missile flies?
Apologies for what is probably a stupid question, but I can't figure out the answer. Using Ares, I recreated the Boomer missile to be able add radiation to it. It works the same, with one difference; in the original game, from the moment the missile spawns, it starts spewing smoke, until eventually it flies away into the air. In my recreated missile, I cannot figure out how to get this smoke-spewing animation to appear.
Compare the below images to see what I mean:
Spawns=CMISL (i.e. vanilla Yuri's Revenge):
Spawns=BoomerMissile (i.e. my recreation):
Relevant code:
Boomer Missile Submarine spoiled (click here to read it):
Code:
;Boomer Missile Submarine
[BSUB]
UIName=Name:Boomer
Name=Boomer Missile Submarine
Prerequisite=NAYARDSpecialWeapons;,SOVIETTECH
Primary=CruiseLauncher ;BoomerTorpedo
;Secondary=CruiseLauncher;CruiseMissile
NavalTargeting=0 ;7
LandTargeting=0 ;2
FireAngle=64
Category=AFV
Strength=1200
Naval=yes
Armor=heavy
TechLevel=5
Underwater=yes
Sight=4 ;8
Sensors=yes
SensorsSight=4 ;8
Speed=4 ;5
CrateGoodie=no
Owner=Arabs
AllowedToStartInMultiplayer=no
Cost=2;000
Soylent=2000
Turret=no
Points=30
ROT=2
Crusher=no;gs yes
Crewed=no
Weight=4
Explosion=TWLT070,S_BANG48,S_BRNL58,S_CLSN58,S_TUMU60
VoiceSelect=BoomerSelect
VoiceMove=BoomerMove
VoiceAttack=BoomerAttackWaterCommand
VoiceSecondaryWeaponAttack=BoomerAttackLandCommand
VoiceFeedback=SubFear
DieSound=GenSmallWaterDie
MoveSound=BoomerMoveStart
Locomotor={2BEA74E1-7CCA-11d3-BE14-00104B62A16C};{4A582741-9839-11d1-B709-00A024DDAFD1}
SpeedType=Float
MovementZone=Water
ThreatPosed=20
Accelerates=true
Cloakable=yes
CloakingSpeed=1
VeteranAbilities=STRONGER,FIREPOWER,ROF,SIGHT,FASTER
EliteAbilities=SELF_HEAL,STRONGER,FIREPOWER,ROF
TooBigToFitUnderBridge=true
;ElitePrimary=BoomerTorpedoE
Size=20
Spawns=BoomerMissile ;CMISL
SpawnsNumber=2
SpawnRegenRate=80
SpawnReloadRate=0 ; missile spawn don't come back
;NoSpawnAlt=yes ; alternate voxel for out of spawns: xxxxWO (DREDWO)
Unnatural=yes ; for underwater units this means that they will be punched instead of grabbed by a squid
Art code remains unchanged (refer to Image=BSUBMISL), weapon and warhead code should be irrelevant, missile is added to the [AircraftTypes] list, and all in all everything works perfectly except for the lack of smoke.
I thought this could perhaps be solved by e.g. Missile.TakeOffAnim, but for the life of me I cannot find out what the vanilla CMISL would use for this if it would use this at all. I see nothing relevant in conqmd.mix, and combing through cong.mix and the rules, I can only find V3TAKOFF which seems to be the generic animation shared by the V3, the Dreadnought, and the Boomer - but you can see that I added it to my recreation, and yet it doesn't recreate the original Boomer. Would anyone know what I am overlooking?
Missile.TrailerAnim=V3TRAIL does not work, as seen in my previous post, unless I am overlooking something.
With Spawns=BoomerMissile and then Trailer=V3TRAIL in the art code (but that would be odd because both CMISL and BoomerMissile share the same art code, yet work differently), the art stays frozen on this frame:
Whereas the original CMISL goes through multiple frames to fluidly create a larger smoke cloud, as in my previous post. QUICK_EDIT
Put V3TRAIL on a warhead as an explosion anim, to test if the anim works at all.
It freezing at the first frame seems like it didn't read the [V3TRAIL] section in art.ini and used Rate=0 instead of the set Rate=450
Though strange that the normal Boomer still works fine.
Checking the exe, V3TRAIL and V3TAKOFF have something hardcoded to them!
Create clones of these anims and then use these, to make sure nothing hardcoded interferes with your ini code.
Or simply check by giving your new missile a different anim than V3TRAIL, to see if the Ares key works fine. _________________ SHP Artist of Twisted Insurrection: Nod buildings
I extracted v3takoff.shp and v3trail.shp, renamed them to BoomerTakeOff.shp and BoomerTrail.shp, used them as Missile.TakeOffAnim and Missile.TrailerAnim, added them to the animations list in rulesmd.ini, and copied-and-renamed the entries of V3TAKOFF and V3TRAIL in artmd.ini.
This results in the same scenario as my previous post, i.e. seemingly only the first frame is displayed i.e. it appears to do Rate=0 (buuut I do not think it actually displays the first frame, read on).
Then I switched two animations around, using 'PrismExplosion' (which is a blue recolour of a large explosion, by the way) for Missile.TakeOffAnim and for Missile.TrailerAnim (in separate tests), and using 'BoomerTrail' for the warhead of another weapon.
The conclusion is, I think, that both Missile.TakeOffAnim and Missile.TrailerAnim work - but that we either need a third tag, or that we need to extend Missile.TakeOffAnim.
Missile.TakeOffAnim plays once, at the literal moment that the missile takes off.
Missile.TrailerAnim plays continuously, at all the moments that the missile is flying (after take off).
But there is a phase where the missile is not yet taking off, and thàt is where the original game also plays the take off animation, while Ares doesn't.
This might be hardcoded, as you say, because even when replacing the animations with 'PrismExplosion', I see the picture from my previous post, i.e. this:
And that is neither the first frame of V3TAKOFF nor the first frame of V3TRAIL:
Then, when the missile actually takes off, Missile.TakeOffAnim plays once, and when the missile is in flight, Missile.TrailerAnim plays continuously, as described above.
When giving 'BoomerTrail' and/or 'BoomerTakeOff' to the warhead animation of a random other unit, they work perfectly fine.
I extracted v3takoff.shp and v3trail.shp, renamed them to BoomerTakeOff.shp and BoomerTrail.shp, used them as Missile.TakeOffAnim and Missile.TrailerAnim, added them to the animations list in rulesmd.ini, and copied-and-renamed the entries of V3TAKOFF and V3TRAIL in artmd.ini.
This results in the same scenario as my previous post, i.e. seemingly only the first frame is displayed i.e. it appears to do Rate=0 (buuut I do not think it actually displays the first frame, read on).
Then I switched two animations around, using 'PrismExplosion' (which is a blue recolour of a large explosion, by the way) for Missile.TakeOffAnim and for Missile.TrailerAnim (in separate tests), and using 'BoomerTrail' for the warhead of another weapon.
The conclusion is, I think, that both Missile.TakeOffAnim and Missile.TrailerAnim work - but that we either need a third tag, or that we need to extend Missile.TakeOffAnim.
Missile.TakeOffAnim plays once, at the literal moment that the missile takes off.
Missile.TrailerAnim plays continuously, at all the moments that the missile is flying (after take off).
But there is a phase where the missile is not yet taking off, and thàt is where the original game also plays the take off animation, while Ares doesn't.
This might be hardcoded, as you say, because even when replacing the animations with 'PrismExplosion', I see the picture from my previous post, i.e. this:
And that is neither the first frame of V3TAKOFF nor the first frame of V3TRAIL:
Then, when the missile actually takes off, Missile.TakeOffAnim plays once, and when the missile is in flight, Missile.TrailerAnim plays continuously, as described above.
When giving 'BoomerTrail' and/or 'BoomerTakeOff' to the warhead animation of a random other unit, they work perfectly fine.
Very curious.
How about Phobos feedback weapon? This could play an animation on firer to mimic the trail of explosion before missiles actually take off? QUICK_EDIT
[CruiseLauncher]
Damage=25 ;35
ROF=50
Burst=2
Range=20
MinimumRange=8; the missiles need time to align
Spawner=yes
Projectile=InvisibleHigh
Speed=15
Warhead=Special
OmniFire=yes
Report=BoomerAttack1
Now just add RadLevel= to this code like right under Report=BoomerAttack1 and then a number, but just keep in mind the higher the number, the longer the radiation will last.
I have a Soviet Power Plant with a RadLevel=28550 and that area stays irradiated for quite some time.
Yes, I know, but no, to my knowledge that doesn't work, as the Boomer uses this as a fake weapon to spawn a CMISL. Similarly to the V3 and the Dreadnought, these things are hardcoded all the way at the top of the rules. Ares creates tags that allow you to assign a weapon to these units, precisely so that you can e.g. add radiation to the spawned missiles. But apparently the graphical part of these tags, in the case of the Boomer, is missing something, hence this thread. QUICK_EDIT
Hmmm I think I have an idea. Maybe try to test out this syntax?
Missile.PauseFrames=20 Maybe change to 100 and see if it works.
If not maybe change the value in Vanilla boomer missile to 100 and see if it’s making a difference so we know that sometimes Missile.PauseFrames=20 is about 1.2 sec with regular game speed perhaps increasing the value to 60 or 100 may makes the missile delay.
Not sure if Missile.PauseFrames works the same way as vanilla game. You need to try it out. QUICK_EDIT
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum