Hello there.
Still working on my map, and now the Lua conversion if finished and working perfectly, I am trying to fix old issues that I never really managed to fix before.
So far I believe I have fixed all of them, except a problem I have been banging my head on the wall for days without finding a solution.
Quick reminder, my map is an uncommon TD, focused on mazing, and with attacking creeps being balls, giant balls, flying balls and flying giant balls. Balls spawn at regular interval during the level, and they follow a series of 8 waypoints before heading to the final destination.
The most powerful Anti-Air tower in the map is called "Tamed Flyng Ball", and it has a custom spell I called "Go Back Home".
This spell is based on Faerie Fire, is autocast (that can be disabled). "Always Autocast" in object editor is set to true, though I still had to trigger the autocast because the AI does not seem to always understand what "always" means
What the spell does is change the current destination (waypoint) of the target Ball and sets it to the first waypoint, making the Ball waste time and allow towers to hit it for a longer period of time.
To prevent overcasting, and for visual fun, the spell applies a buff lasting 3600 seconds with a special effect that shows the text "Go Back Home!" pulsing on the overhead of the Ball. When a Ball is under the effect of this Buff, the spell cannot be cast on it again.
Finally, when the Ball reaches the first waypoint, the buff is removed and the Ball is ordered to go to the second waypoint to go back to its usual itinerary.
All functional parts of the spell work perfectly, it does exactly what I explained, and is so far bug-proof in the many different situations I have tested, but there is a big problem with the special effect :
- The pulsing text special effect only plays its Global Sequence animation once (it also has a stand animation).
Here are screenshots to show you the problem :
- When the Ball is affected by the spell, everything works fine :
- Then after playing the first "pulse" animation, the text disappears :
As further information, here are the object editor entries :
- The Ability :
- The Buff :
Note that I have tried using a separate effect rather than just a buff, but Faerie Fire seems to be hardcoded to only use a buff and no effect.
Now my "Go Back Home!" model is just like all my other special effects, and have the same kind of animation settings, I double checked that in the MDL. It's a tiny model, so here is the MDL code :
Is there anything that can be done to make sure the text loops its pulsing animation until the buff is removed ?
Note : I also tried adding the effect with a trigger instead than with the buff, but then I had issues removing the effect in certain conditions.
Still working on my map, and now the Lua conversion if finished and working perfectly, I am trying to fix old issues that I never really managed to fix before.
So far I believe I have fixed all of them, except a problem I have been banging my head on the wall for days without finding a solution.
Quick reminder, my map is an uncommon TD, focused on mazing, and with attacking creeps being balls, giant balls, flying balls and flying giant balls. Balls spawn at regular interval during the level, and they follow a series of 8 waypoints before heading to the final destination.
The most powerful Anti-Air tower in the map is called "Tamed Flyng Ball", and it has a custom spell I called "Go Back Home".
This spell is based on Faerie Fire, is autocast (that can be disabled). "Always Autocast" in object editor is set to true, though I still had to trigger the autocast because the AI does not seem to always understand what "always" means
What the spell does is change the current destination (waypoint) of the target Ball and sets it to the first waypoint, making the Ball waste time and allow towers to hit it for a longer period of time.
To prevent overcasting, and for visual fun, the spell applies a buff lasting 3600 seconds with a special effect that shows the text "Go Back Home!" pulsing on the overhead of the Ball. When a Ball is under the effect of this Buff, the spell cannot be cast on it again.
Finally, when the Ball reaches the first waypoint, the buff is removed and the Ball is ordered to go to the second waypoint to go back to its usual itinerary.
All functional parts of the spell work perfectly, it does exactly what I explained, and is so far bug-proof in the many different situations I have tested, but there is a big problem with the special effect :
- The pulsing text special effect only plays its Global Sequence animation once (it also has a stand animation).
Here are screenshots to show you the problem :
- When the Ball is affected by the spell, everything works fine :
- Then after playing the first "pulse" animation, the text disappears :
As further information, here are the object editor entries :
- The Ability :
- The Buff :
Note that I have tried using a separate effect rather than just a buff, but Faerie Fire seems to be hardcoded to only use a buff and no effect.
Now my "Go Back Home!" model is just like all my other special effects, and have the same kind of animation settings, I double checked that in the MDL. It's a tiny model, so here is the MDL code :
Code:
//This model was converted from MDX by ogre-lord's Java MDX API and Retera's Java MDL API
// Saved by Retera's MDL Toolkit on Fri May 01 18:10:18 CEST 2020
Version {
FormatVersion 800,
}
Model "GoBackHome" {
NumGeosets 1,
NumBones 1,
NumAttachments 1,
BlendTime 150,
MinimumExtent { -240, -240, -240 },
MaximumExtent { 240, 240, 240 },
BoundsRadius 240,
}
Sequences 1 {
Anim "Stand" {
Interval { 0, 1000 },
MinimumExtent { -240, -240, -240 },
MaximumExtent { 240, 240, 240 },
BoundsRadius 240,
}
}
GlobalSequences 1 {
Duration 1000,
}
Textures 1 {
Bitmap {
Image "Custom Textures\GoBackHome.blp",
}
}
Materials 1 {
Material {
ConstantColor,
Layer {
FilterMode Transparent,
Unshaded,
Unfogged,
static TextureID 0,
}
}
}
Geoset {
Vertices 6 {
{ 0, -275, 275 },
{ 0, 275, 275 },
{ 0, 275, 275 },
{ 0, 275, 80 },
{ 0, -275, 80 },
{ 0, -275, 80 },
}
Normals 6 {
{ 1, 0, 0 },
{ 1, 0, 0 },
{ 1, 0, 0 },
{ 1, 0, 0 },
{ 1, 0, 0 },
{ 1, 0, 0 },
}
TVertices 6 {
{ 0, 0 },
{ 1, 0 },
{ 1, 0 },
{ 1, 0.87 },
{ 0, 0.87 },
{ 0, 0.87 },
}
VertexGroup {
0,
0,
0,
0,
0,
0,
}
Faces 1 6 {
Triangles {
{ 3, 2, 4, 0, 5, 1 },
}
}
Groups 1 1 {
Matrices { 0 },
}
MinimumExtent { -240, -240, -240 },
MaximumExtent { 240, 240, 240 },
BoundsRadius 240,
Anim {
MinimumExtent { -240, -240, -240 },
MaximumExtent { 240, 240, 240 },
BoundsRadius 240,
}
MaterialID 0,
SelectionGroup 0,
}
Bone "GoBackHomeText" {
ObjectId 0,
Billboarded,
GeosetId 0,
GeosetAnimId None,
Scaling 3 {
Linear,
GlobalSeqId 0,
0: { 1, 1, 1 },
500: { 0.5, 0.5, 0.5 },
1000: { 1, 1, 1 },
}
}
Attachment "Origin Ref" {
ObjectId 1,
}
PivotPoints 2 {
{ 0, 0, 177.5 },
{ 0, 0, 0 },
}
Is there anything that can be done to make sure the text loops its pulsing animation until the buff is removed ?
Note : I also tried adding the effect with a trigger instead than with the buff, but then I had issues removing the effect in certain conditions.