Jump to content

Need bit of help of solving a issue with DamageMessageBox (AS3)


Recommended Posts

Posted

I'm having a hard time how to solve a issue with Perfect Information with flyovers. The issue is that information inside critical flyover (messagebox) dissapears.

YouTube Video of the bug: (Thanks sernik for report)

https://www.youtube.com/watch?v=BfSlFYGT6hg

 

After a lot of digging i'm finding this difference between normal damagebox and criticalbox

function AnimateInDamage()
   {
      this._alpha = 100;
      this._visible = true;
      if(this.animateOutTimerHandle != -1 && this.animateOutTimerHandle != undefined)
      {
         FxsTween.removeTimer(this.animateOutTimerHandle);
      }
      if(FxsTween.isTweening(this))
      {
         FxsTween.removeTweens(this);
      }
      if(this.displayTime > 0)
      {
         this.animateOutTimerHandle = FxsTween.addTimer(this.displayTime,mx.utils.Delegate.create(this,this.AnimateOut));
      }
      else
      {
         this.animateOutTimerHandle = -1;
      }
      switch(this.behavior)
      {
         case DamageMessageBox.BEHAVIOR_DEFAULT:
         default:
            this.gotoAndPlay("_default");
            FxsTween.addTween(this.textBg,{_x:this.textWidth,time:0.2,delay:0.5});
            break;
         case DamageMessageBox.BEHAVIOR_STEADY:
            this.gotoAndStop("_steady");
            this.textBg._x = this.textWidth;
      }
   }
   function AnimateInCrit()
   {
      this._alpha = 100;
      this._visible = true;
      if(this.animateOutTimerHandle != -1)
      {
         FxsTween.removeTimer(this.animateOutTimerHandle);
      }
      if(FxsTween.isTweening(this))
      {
         FxsTween.removeTweens(this);
      }
      if(this.displayTime > 0)
      {
         this.animateOutTimerHandle = FxsTween.addTimer(this.displayTime,mx.utils.Delegate.create(this,this.AnimateOut));
      }
      else
      {
         this.animateOutTimerHandle = -1;
      }
      switch(this.behavior)
      {
         case DamageMessageBox.BEHAVIOR_DEFAULT:
         default:
            this.gotoAndPlay("_crit");
            FxsTween.addTween(this.critTextBG,{_x:this.critTextWidth,time:0.1,delay:0.2,onComplete:mx.utils.Delegate.create(this,this.AnimateInCritDamage)});
            if(this.textBg._visible)
            {
               this.textBg._x = this.textWidth;
            }
            break;
         case DamageMessageBox.BEHAVIOR_STEADY:
            this.gotoAndStop("_critSteady");
            this.critTextBG._x = this.critTextWidth;
            if(this.textBg._visible)
            {
               this.textBg._x = this.textWidth;
            }
      }
   }
   function AnimateInCritDamage()
   {
      if(this.damage2 != undefined && this.damage2 > 0)
      {
         FxsTween.addTween(this.textBg,{_x:this.textWidth,time:0.2,delay:1.3});
      }
   }

I found this in gfxWorldMessageMgr.upk (XCOM 2\XComGame\Content\XCOM_2\Packages\GFx)

 

I can confirm the bug is only when sendt as critical message to the flash. If sendt as normal damage it's not breaking up like in the video. The big question now is how I can fix this?

Posted
  On 4/3/2016 at 6:46 PM, swinka6666 said:

Oh, my video. :wink: Did You hit the flashy wall? After my adventures with gfx's inside of upk's I gave up trying to change anything in this. I wish You good luck...

 

Yeah hit the wall hard on this one. Pretty much hoping that Firaxis fixing it themself :P

Posted

To halfway solve the issue for the users I guess this could work....

2d977b0df391fdc9f2bdbfde45f16d64.jpg

 

At least the message should not bug out because of animation on crit since it's a new message that use normal animation.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...