=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);p=((0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])+a.X)*(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])+((1>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+1])+a.Y)*(1>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+1]);if(i>p){i=p;}if(j=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);t=((0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0])+b.X)*(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])+((1>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+1])+b.Y)*(1>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+1]);if(k>t){k=t;}if(ll||jl){u=i-l;d.AContainedInB=false;}else{x=j-k;y=l-i;if(x=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0])))&&(0===(ac=d.Axis,(1>=ac.$length?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+1]))))||z>aa){ad=1;if(u<0){ad=-1;}d.Overlap=aa;d.OverlapX=(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])*ad;d.OverlapY=(1>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+1])*ad;}d.Axis=c;}return false;};AP=function(a,b){var a,b,c,d;c=((A.Round(a*100)>>0));d=((A.Round(b*100)>>0));return[c,d];};$pkg.WorldToVirtualGridPos=AP;AQ=function(a,b){var a,b,c,d;c=(a)*0.01;d=(b)*0.01;return[c,d];};$pkg.VirtualGridToWorldPos=AQ;AR=function(a,b,c,d,e,f,g,h,i,j){var a,b,c,d,e,f,g,h,i,j;return[a-c-g+i,b-d-f+j];};$pkg.WorldToPolygonColliderBLPos=AR;AS=function(a,b,c,d,e,f,g,h,i,j){var a,b,c,d,e,f,g,h,i,j;return[a+c+g-i,b+d+f-j];};$pkg.PolygonColliderBLToWorldPos=AS;AT=function(a,b,c,d,e,f,g,h,i,j){var a,b,c,d,e,f,g,h,i,j,k,l,m;k=AS(a,b,c,d,e,f,g,h,i,j);l=k[0];m=k[1];return AP(l,m);};$pkg.PolygonColliderBLToVirtualGridPos=AT;AV=function(a,b,c,d,e,f,g){var{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r,$c}=$restore(this,{a,b,c,d,e,f,g});$s=$s||0;s:while(true){switch($s){case 0:h=[h];h[0]=$makeSlice(BM,0,10);i=0;if((16===b.CharacterState)&&(0===c.VelX)&&(b.DirX===c.DirX)){j=1;if(0>c.DirX){j=-j;}i=j*(b.Speed)*0.01;}k=d.Check(i,0,new BN([]));if(BO.nil===k){$s=-1;return(h.$ptr||(h.$ptr=new BP(function(){return this.$target[0];},function($v){this.$target[0]=$v;},h)));}l=k.Objects;m=0;case 1:if(!(m=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]);o=false;p=n.Data;if($assertType(p,BQ,true)[1]||$assertType(p,BK,true)[1]||$assertType(p,BR,true)[1]){}else{o=true;}if(!o){m++;$s=1;continue;}q=$assertType(n.Shape,BS);s=AI(0,0,e,q);$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];v=r[2];w=r[3];if(!t){m++;$s=1;continue;}x=(w.Overlap-f)*w.OverlapX;y=(w.Overlap-f)*w.OverlapY;u=x;v=y;h[0]=$append(h[0],new C.ptr(w.OverlapX,w.OverlapY));g.X=g.X+(u);g.Y=g.Y+(v);m++;$s=1;continue;case 2:$s=-1;return(h.$ptr||(h.$ptr=new BP(function(){return this.$target[0];},function($v){this.$target[0]=$v;},h)));}return;}var $f={$blk:AV,$c:true,$r,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s};return $f;};AW=function(a,b,c,d,e){var a,aa,ab,ac,ad,ae,af,ag,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=AC(c.Id);g=AC(c.Id-1>>0);if(0>=f){return[-2,false,0,0];}h=(i=W[$Int32.keyFor(a.CharacterState)],i!==undefined?[i.v,true]:[false,false]);j=h[1];if(j){return[-2,false,0,0];}k=$assertType(e.GetByFrameId(f),BT).InputList;l=BU.nil;if(0>0,((o<0||o>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+o])));q=0;r=0;s=q;t=r;u=0;v=0;w=u;x=v;if(!(BU.nil===l)){z=AG((y=n-1>>0,((y<0||y>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+y])));w=z.BtnALevel;x=z.BtnBLevel;}if(0===a.FramesToRecover){aa=p.Dx;ab=p.Dy;s=aa;t=ab;}ac=-1;ad=a.CapturedByInertia&&(((d.InertiaFramesToRecover>>1>>0))>a.FramesToRecover);if((0===a.FramesToRecover)||ad){if(p.BtnBLevel>x){if(d.DashingEnabled&&0>p.Dy){ac=5;}else{ae=(af=V[$Int32.keyFor(a.CharacterState)],af!==undefined?[af.v,true]:[false,false]);ag=ae[1];if(!ag){m=true;}else if(16===a.CharacterState){m=true;}}}}if(-1===ac){if(0w){if(0>p.Dy){ac=3;}else if(0=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]=new E.ptr(m.Id,m.VirtualGridX,m.VirtualGridY,m.DirX,m.DirY,m.VelX,m.VelY,m.Speed,m.BattleState,m.JoinIndex,m.ColliderRadius,m.Removed,m.Score,0,m.FramesToRecover-1>>0,m.FramesInChState+1>>0,m.Hp,m.MaxHp,m.CharacterState,true,false,m.OnWallNormX,m.OnWallNormY,m.CapturedByInertia,m.ActiveSkillId,m.ActiveSkillHit,m.FramesInvinsible-1>>0,0,0));if(((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).FramesToRecover<0){((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).FramesToRecover=0;}if(((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).FramesInvinsible<0){((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).FramesInvinsible=0;}k++;}n=$makeSlice(BW,0,b.MeleeBullets.$length);o=$makeSlice(BX,0,b.FireballBullets.$length);p=$makeSlice(BM,h);q=$makeSlice(BY,h);r=$makeSlice(BZ,h);s=b.BulletLocalIdCounter;t=b.PlayersArr;u=0;case 1:if(!(u=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]);z=((x<0||x>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+x]);aa=((x<0||x>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+x]);ab=AW(y,aa,b,z,a);ac=ab[0];ad=ab[1];ae=ab[2];af=ab[3];((x<0||x>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+x]=ad);ag=y.JoinIndex;ah=z.SkillMapper(ac,y);$s=3;case 3:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;aj=(ak=U[$Int.keyFor(ai)],ak!==undefined?[ak.v,true]:[BJ.nil,false]);al=aj[0];am=aj[1];if(am){aa.ActiveSkillId=((ai>>0));aa.ActiveSkillHit=0;aa.FramesToRecover=al.RecoveryFrames;an=1;if(0>aa.DirX){an=-an;}ao=false;ap=(aq=al.Hits,ar=aa.ActiveSkillHit,((ar<0||ar>=aq.$length)?($throwRuntimeError("index out of range"),undefined):aq.$array[aq.$offset+ar]));if($assertType(ap,BK,true)[1]){as=ap.$val;v[0]=$clone(as,K);v[0].BattleAttr=new J.ptr(s,b.Id,ag,y.BulletTeamId);s=s+(1)>>0;v[0].BlState=0;n=$append(n,v[0]);if(!((-1===as.Bullet.SelfLockVelX))){ao=true;aa.VelX=$imul(an,as.Bullet.SelfLockVelX);}if(!((-1===as.Bullet.SelfLockVelY))){ao=true;aa.VelY=as.Bullet.SelfLockVelY;}}else if($assertType(ap,BR,true)[1]){at=ap.$val;w[0]=$clone(at,L);w[0].BattleAttr=new J.ptr(s,b.Id,ag,y.BulletTeamId);s=s+(1)>>0;au=y.VirtualGridX+($imul(an,w[0].Bullet.HitboxOffsetX))>>0;av=y.VirtualGridY+w[0].Bullet.HitboxOffsetY>>0;w[0].VirtualGridX=au;w[0].VirtualGridY=av;w[0].DirX=an;w[0].DirY=0;w[0].VelX=$imul(w[0].Speed,an);w[0].VelY=0;w[0].BlState=0;o=$append(o,w[0]);if(!((-1===at.Bullet.SelfLockVelX))){ao=true;aa.VelX=$imul(an,at.Bullet.SelfLockVelX);}if(!((-1===at.Bullet.SelfLockVelY))){ao=true;aa.VelY=at.Bullet.SelfLockVelY;}}if(false===ao&&false===y.InAir){aa.VelX=0;}aa.CharacterState=al.BoundChState;u++;$s=1;continue;}if(0===y.FramesToRecover){aw=y.CapturedByInertia;ax=z.OnWallEnabled&&(z.WallJumpingInitVelX===Z(y.VelX));ay=true;az=false;ba=false;if(!((0===ae))&&(0===aa.VelX)){ay=false;}else if((0===ae)&&!((0===aa.VelX))){ay=false;ba=true;}else if(0>($imul(ae,aa.VelX))){ay=false;az=true;}if(!ad&&!ax&&!aw&&!ay){aa.CapturedByInertia=true;if(az){aa.CharacterState=17;aa.FramesToRecover=z.InertiaFramesToRecover;}else if(ba){aa.FramesToRecover=z.InertiaFramesToRecover;}else{aa.FramesToRecover=(z.InertiaFramesToRecover>>1>>0);}}else{aa.CapturedByInertia=false;if(!((0===ae))){bb=1;if(0>ae){bb=-bb;}aa.DirX=ae;aa.DirY=af;if(ax){aa.VelX=$imul(bb,Z(y.VelX));}else{aa.VelX=$imul(bb,y.Speed);}aa.CharacterState=1;}else{aa.CharacterState=0;aa.VelX=0;}}}u++;$s=1;continue;case 2:bc=$makeSlice(CB,b.PlayersArr.$length,b.PlayersArr.$length);bd=b.PlayersArr;be=0;case 4:if(!(be=bd.$length)?($throwRuntimeError("index out of range"),undefined):bd.$array[bd.$offset+be]);bh=bg.JoinIndex;bi=0;bj=0;(bk=bh-1>>0,((bk<0||bk>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+bk])).X=bi;(bl=bh-1>>0,((bl<0||bl>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+bl])).Y=bj;bm=((bf<0||bf>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+bf]);bn=((bf<0||bf>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+bf]);bo=bg.VirtualGridX+bg.VelX>>0;bp=bg.VirtualGridY+bg.VelY>>0;bq=bo;br=bp;if(((bf<0||bf>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+bf])){if(16===bg.CharacterState){if(0<($imul(bg.VelX,bg.OnWallNormX))){bq=bq-(bg.VelX)>>0;}bs=-1;if(0>bg.OnWallNormX){bs=-bs;}bq=bq+(($imul(bs,bn.WallJumpingInitVelX)))>>0;br=br+(bn.WallJumpingInitVelY)>>0;bm.VelX=(($imul(bs,bn.WallJumpingInitVelX)));bm.VelY=(bn.WallJumpingInitVelY);bm.FramesToRecover=bn.WallJumpingFramesToRecover;}else{bm.VelY=(bn.JumpingInitVelY);br=br+(bn.JumpingInitVelY)>>0;}}bt=AQ(bq,br);bu=bt[0];bv=bt[1];bw=$imul(bg.ColliderRadius,2);bx=$imul(bg.ColliderRadius,4);by=bw;bz=bx;ca=bg.CharacterState;if(ca===(9)){cb=$imul(bg.ColliderRadius,4);cc=$imul(bg.ColliderRadius,2);by=cb;bz=cc;}else if((ca===(8))||(ca===(4))||(ca===(5))||(ca===(16))){cd=$imul(bg.ColliderRadius,2);ce=$imul(bg.ColliderRadius,2);by=cd;bz=ce;}cf=AQ(by,bz);cg=cf[0];ch=cf[1];ci=AY(bu,bv,cg,ch,0.1,0.1,0.1,0.1,e,f,bg,"Player");$s=6;case 6:if($c){$c=false;ci=ci.$blk();}if(ci&&ci.$blk!==undefined){break s;}cj=ci;((bf<0||bf>=bc.$length)?($throwRuntimeError("index out of range"),undefined):bc.$array[bc.$offset+bf]=cj);$r=c.Add(new CB([cj]));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(bg.InAir){if((16===bg.CharacterState)&&!((bf<0||bf>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+bf])){bm.VelX=bm.VelX+(0)>>0;bm.VelY=bn.WallSlidingVelY;}else if(15===bg.CharacterState){bm.VelX=bm.VelX+(0)>>0;}else{bm.VelX=bm.VelX+(0)>>0;bm.VelY=bm.VelY+(-50)>>0;}}be++;$s=4;continue;case 5:ck=$makeSlice(CB,0,b.MeleeBullets.$length);cl=b.MeleeBullets;cm=0;case 8:if(!(cm=cl.$length)?($throwRuntimeError("index out of range"),undefined):cl.$array[cl.$offset+cm]);co=new K.ptr(cn.BlState,cn.FramesInBlState+1>>0,cn.BattleAttr,cn.Bullet);if(AL(co,b)){$s=10;continue;}$s=11;continue;case 10:if(AK(co,b)){$s=12;continue;}$s=13;continue;case 12:cr=(cp=b.PlayersArr,cq=co.BattleAttr.OffenderJoinIndex-1>>0,((cq<0||cq>=cp.$length)?($throwRuntimeError("index out of range"),undefined):cp.$array[cp.$offset+cq]));cs=1;if(0>cr.DirX){cs=-cs;}ct=AQ(cr.VirtualGridX+($imul(cs,co.Bullet.HitboxOffsetX))>>0,cr.VirtualGridY);cu=ct[0];cv=ct[1];cw=AQ(co.Bullet.HitboxSizeX,co.Bullet.HitboxSizeY);cx=cw[0];cy=cw[1];cz=AY(cu,cv,cx,cy,0.1,0.1,0.1,0.1,e,f,co,"MeleeBullet");$s=14;case 14:if($c){$c=false;cz=cz.$blk();}if(cz&&cz.$blk!==undefined){break s;}da=cz;$r=c.Add(new CB([da]));$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ck=$append(ck,da);co.BlState=1;if(!((co.BlState===cn.BlState))){co.FramesInBlState=0;}case 13:n=$append(n,co);case 11:cm++;$s=8;continue;case 9:db=b.FireballBullets;dc=0;case 16:if(!(dc=db.$length)?($throwRuntimeError("index out of range"),undefined):db.$array[db.$offset+dc]);de=new L.ptr(dd.VirtualGridX,dd.VirtualGridY,dd.DirX,dd.DirY,dd.VelX,dd.VelY,dd.Speed,dd.BlState,dd.FramesInBlState+1>>0,dd.BattleAttr,dd.Bullet);if(AN(de,b)){$s=18;continue;}$s=19;continue;case 18:if(AM(de,b)){$s=20;continue;}$s=21;continue;case 20:df=AQ(de.VirtualGridX,de.VirtualGridY);dg=df[0];dh=df[1];di=AQ(de.Bullet.HitboxSizeX,de.Bullet.HitboxSizeY);dj=di[0];dk=di[1];dl=AY(dg,dh,dj,dk,0.1,0.1,0.1,0.1,e,f,de,"FireballBullet");$s=23;case 23:if($c){$c=false;dl=dl.$blk();}if(dl&&dl.$blk!==undefined){break s;}dm=dl;$r=c.Add(new CB([dm]));$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ck=$append(ck,dm);de.BlState=1;if(!((de.BlState===dd.BlState))){de.FramesInBlState=0;}dn=de.VirtualGridX+de.VelX>>0;dp=de.VirtualGridY+de.VelY>>0;de.VirtualGridX=dn;de.VirtualGridY=dp;$s=22;continue;case 21:case 22:o=$append(o,de);case 19:dc++;$s=16;continue;case 17:dq=b.PlayersArr;dr=0;case 25:if(!(dr=dq.$length)?($throwRuntimeError("index out of range"),undefined):dq.$array[dq.$offset+dr]);du=dt.JoinIndex;dv=((ds<0||ds>=bc.$length)?($throwRuntimeError("index out of range"),undefined):bc.$array[bc.$offset+ds]);dw=$assertType(dv.Shape,BS);dx=((ds<0||ds>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+ds]);dz=AV(du,dt,dx,dv,dw,0.1,(dy=du-1>>0,((dy<0||dy>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+dy])));$s=27;case 27:if($c){$c=false;dz=dz.$blk();}if(dz&&dz.$blk!==undefined){break s;}(ea=du-1>>0,((ea<0||ea>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+ea]=dz));eb=((ds<0||ds>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+ds]);ec=false;ed=dv.Check(0,0,new BN([]));if(!(BO.nil===ed)){$s=28;continue;}$s=29;continue;case 28:ee=ed.Objects;ef=0;case 30:if(!(ef=ee.$length)?($throwRuntimeError("index out of range"),undefined):ee.$array[ee.$offset+ef]);eh=false;ei=false;ej=false;ek=eh;el=ei;em=ej;en=eg.Data;if($assertType(en,BQ,true)[1]){el=true;}else if($assertType(en,BK,true)[1]||$assertType(en,BR,true)[1]){em=true;}else{ek=true;}if(em){ef++;$s=30;continue;}eo=$assertType(eg.Shape,BS);eq=AI(0,0,dw,eo);$s=32;case 32:if($c){$c=false;eq=eq.$blk();}if(eq&&eq.$blk!==undefined){break s;}ep=eq;er=ep[0];es=ep[1];et=ep[2];eu=ep[3];if(!er){ef++;$s=30;continue;}ev=eu.OverlapX*0+eu.OverlapY*-1;if(el){ew=(eu.Overlap-0.2)*eu.OverlapX;ex=(eu.Overlap-0.2)*eu.OverlapY;es=ew;et=ex;}ey=(ez=du-1>>0,((ez<0||ez>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+ez])).$get();fa=0;while(true){if(!(fa=ey.$length)?($throwRuntimeError("index out of range"),undefined):ey.$array[ey.$offset+fa]),C);fc=es*fb.X+et*fb.Y;if(ek||(el&&0>fc)){es=es-(fc*fb.X);et=et-(fc*fb.Y);}fa++;}fd=du-1>>0;((fd<0||fd>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+fd]).X=((fd<0||fd>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+fd]).X+(es);fe=du-1>>0;((fe<0||fe>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+fe]).Y=((fe<0||fe>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+fe]).Y+(et);if(0.5=dt.VelY;if(ff){dx.VelY=0;dx.VelX=0;if(8===dx.CharacterState){dx.CharacterState=9;dx.FramesToRecover=eb.LayDownFramesToRecover;}else{fg=dt.CharacterState;if((fg===(8))||(fg===(4))||(fg===(5))||(fg===(16))){fh=0;fi=dt.ColliderRadius;fj=fh;fk=fi;fl=AQ(fj,fk);fm=fl[1];fn=du-1>>0;((fn<0||fn>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+fn]).Y=((fn<0||fn>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+fn]).Y-(fm);}dx.CharacterState=0;dx.FramesToRecover=0;}}else{fo=(fp=Y[$Int32.keyFor(dx.CharacterState)],fp!==undefined?[fp.v,true]:[false,false]);fq=fo[1];if(fq){if(9===dx.CharacterState){if(0===dx.FramesToRecover){dx.CharacterState=10;dx.FramesToRecover=eb.GetUpFramesToRecover;}}else if(10===dx.CharacterState){if(0===dx.FramesToRecover){dx.CharacterState=0;dx.FramesInvinsible=eb.GetUpInvinsibleFrames;}}}}}if(eb.OnWallEnabled){if(dx.InAir){fr=(fs=W[$Int32.keyFor(dt.CharacterState)],fs!==undefined?[fs.v,true]:[false,false]);ft=fr[1];if(!ft){fu=(fv=du-1>>0,((fv<0||fv>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+fv])).$get();fw=0;while(true){if(!(fw=fu.$length)?($throwRuntimeError("index out of range"),undefined):fu.$array[fu.$offset+fw]),C);fy=fx.X*1+fx.Y*0;fz=fx.X*-1+fx.Y*0;if(0.9>0));gb=((fx.Y>>0));dx.OnWallNormX=ga;dx.OnWallNormY=gb;break;}if(0.9>0));gd=((fx.Y>>0));dx.OnWallNormX=gc;dx.OnWallNormY=gd;break;}fw++;}}}if(!dx.OnWall){ge=0;gf=0;dx.OnWallNormX=ge;dx.OnWallNormY=gf;}}dr++;$s=25;continue;case 26:gg=ck;gh=0;case 33:if(!(gh=gg.$length)?($throwRuntimeError("index out of range"),undefined):gg.$array[gg.$offset+gh]);gj=gi.Check(0,0,new BN([]));gi.Space.Remove(new CB([gi]));gk=false;if(!(BO.nil===gj)){$s=35;continue;}$s=36;continue;case 35:gl=gi.Data;if($assertType(gl,BK,true)[1]){$s=37;continue;}if($assertType(gl,BR,true)[1]){$s=38;continue;}$s=39;continue;case 37:gm=gl.$val;go=$assertType(gi.Shape,BS);gr=(gp=b.PlayersArr,gq=gm.BattleAttr.OffenderJoinIndex-1>>0,((gq<0||gq>=gp.$length)?($throwRuntimeError("index out of range"),undefined):gp.$array[gp.$offset+gq]));gs=gj.Objects;gt=0;case 40:if(!(gt=gs.$length)?($throwRuntimeError("index out of range"),undefined):gs.$array[gs.$offset+gt]);gv=$assertType(gu.Shape,BS);gw=gu.Data;if($assertType(gw,BQ,true)[1]){$s=42;continue;}$s=43;continue;case 42:gx=gw.$val;if(gm.BattleAttr.OffenderJoinIndex===gx.JoinIndex){gt++;$s=40;continue;}gz=AI(0,0,go,gv);$s=44;case 44:if($c){$c=false;gz=gz.$blk();}if(gz&&gz.$blk!==undefined){break s;}gy=gz;ha=gy[0];if(!ha){gt++;$s=40;continue;}gk=true;hb=(hc=X[$Int32.keyFor(gx.CharacterState)],hc!==undefined?[hc.v,true]:[false,false]);hd=hb[1];if(hd){gt++;$s=40;continue;}if(0gr.DirX){he=-he;}hf=$imul(he,gm.Bullet.PushbackVelX);hg=gm.Bullet.PushbackVelY;hh=hf;hi=hg;hk=(hj=gx.JoinIndex-1>>0,((hj<0||hj>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+hj]));hk.VelX=hh;hk.VelY=hi;if(gm.Bullet.BlowUp){hk.CharacterState=8;}else{hk.CharacterState=3;}hm=(hl=gx.JoinIndex-1>>0,((hl<0||hl>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+hl])).FramesToRecover;if(gm.Bullet.HitStunFrames>hm){hk.FramesToRecover=gm.Bullet.HitStunFrames;}case 43:gt++;$s=40;continue;case 41:$s=39;continue;case 38:gn=gl.$val;hn=$assertType(gi.Shape,BS);hq=(ho=b.PlayersArr,hp=gn.BattleAttr.OffenderJoinIndex-1>>0,((hp<0||hp>=ho.$length)?($throwRuntimeError("index out of range"),undefined):ho.$array[ho.$offset+hp]));hr=gj.Objects;hs=0;case 45:if(!(hs=hr.$length)?($throwRuntimeError("index out of range"),undefined):hr.$array[hr.$offset+hs]);hu=$assertType(ht.Shape,BS);hv=ht.Data;if($assertType(hv,BQ,true)[1]){$s=47;continue;}$s=48;continue;case 47:hw=hv.$val;if(gn.BattleAttr.OffenderJoinIndex===hw.JoinIndex){hs++;$s=45;continue;}hz=AI(0,0,hn,hu);$s=50;case 50:if($c){$c=false;hz=hz.$blk();}if(hz&&hz.$blk!==undefined){break s;}hy=hz;ia=hy[0];if(!ia){hs++;$s=45;continue;}gk=true;ib=(ic=X[$Int32.keyFor(hw.CharacterState)],ic!==undefined?[ic.v,true]:[false,false]);id=ib[1];if(id){hs++;$s=45;continue;}if(0hq.DirX){ie=-ie;}ig=$imul(ie,gn.Bullet.PushbackVelX);ih=gn.Bullet.PushbackVelY;ii=ig;ij=ih;il=(ik=hw.JoinIndex-1>>0,((ik<0||ik>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+ik]));il.VelX=ii;il.VelY=ij;if(gn.Bullet.BlowUp){il.CharacterState=8;}else{il.CharacterState=3;}io=(im=hw.JoinIndex-1>>0,((im<0||im>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+im])).FramesToRecover;if(gn.Bullet.HitStunFrames>io){il.FramesToRecover=gn.Bullet.HitStunFrames;}$s=49;continue;case 48:hx=hv;gk=true;case 49:hs++;$s=45;continue;case 46:case 39:case 36:if(gk){ip=gi.Data;if($assertType(ip,BK,true)[1]){iq=ip.$val;iq.BlState=2;iq.FramesInBlState=0;}else if($assertType(ip,BR,true)[1]){ir=ip.$val;ir.BlState=2;ir.FramesInBlState=0;}}gh++;$s=33;continue;case 34:is=b.PlayersArr;it=0;while(true){if(!(it=is.$length)?($throwRuntimeError("index out of range"),undefined):is.$array[is.$offset+it]);iw=iv.JoinIndex;ix=((iu<0||iu>=bc.$length)?($throwRuntimeError("index out of range"),undefined):bc.$array[bc.$offset+iu]);iy=((iu<0||iu>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+iu]);iz=AT(ix.X-(ja=iw-1>>0,((ja<0||ja>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+ja])).X,ix.Y-(jb=iw-1>>0,((jb<0||jb>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+jb])).Y,ix.W*0.5,ix.H*0.5,0,0,0,0,e,f);iy.VirtualGridX=iz[0];iy.VirtualGridY=iz[1];if(iy.InAir){jc=iy.CharacterState;jd=jc;if((jd===(0))||(jd===(1))||(jd===(17))){if(((iu<0||iu>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+iu])||(5===iv.CharacterState)){iy.CharacterState=5;}else{iy.CharacterState=4;}}else if(jd===(2)){iy.CharacterState=6;}else if(jd===(3)){iy.CharacterState=7;}}if(iy.OnWall){je=iy.CharacterState;if((je===(1))||(je===(5))||(je===(4))){jf=(16===iv.CharacterState);jg=iv.OnWall&&12<=iy.FramesInChState;if(jf||jg){iy.CharacterState=16;}}}if(!((iy.CharacterState===iv.CharacterState))){iy.FramesInChState=0;}jh=(ji=Y[$Int32.keyFor(iy.CharacterState)],ji!==undefined?[ji.v,true]:[false,false]);jj=jh[1];if(jj){iy.ActiveSkillId=-1;iy.ActiveSkillHit=-1;}it++;}jk=bc;jl=0;while(true){if(!(jl=jk.$length)?($throwRuntimeError("index out of range"),undefined):jk.$array[jk.$offset+jl]);jm.Space.Remove(new CB([jm]));jl++;}$s=-1;return new N.ptr(b.Id+1>>0,i,new $Int64(0,0),n,o,new $Uint64(0,0),false,s);}return;}var $f={$blk:AX,$c:true,$r,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,d,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,dp,dq,dr,ds,dt,du,dv,dw,dx,dy,dz,e,ea,eb,ec,ed,ee,ef,eg,eh,ei,ej,ek,el,em,en,eo,ep,eq,er,es,et,eu,ev,ew,ex,ey,ez,f,fa,fb,fc,fd,fe,ff,fg,fh,fi,fj,fk,fl,fm,fn,fo,fp,fq,fr,fs,ft,fu,fv,fw,fx,fy,fz,g,ga,gb,gc,gd,ge,gf,gg,gh,gi,gj,gk,gl,gm,gn,go,gp,gq,gr,gs,gt,gu,gv,gw,gx,gy,gz,h,ha,hb,hc,hd,he,hf,hg,hh,hi,hj,hk,hl,hm,hn,ho,hp,hq,hr,hs,ht,hu,hv,hw,hx,hy,hz,i,ia,ib,ic,id,ie,ig,ih,ii,ij,ik,il,im,io,ip,iq,ir,is,it,iu,iv,iw,ix,iy,iz,j,ja,jb,jc,jd,je,jf,jg,jh,ji,jj,jk,jl,jm,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s};return $f;};$pkg.ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame=AX;AY=function(a,b,c,d,e,f,g,h,i,j,k,l){var{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r,$c}=$restore(this,{a,b,c,d,e,f,g,h,i,j,k,l});$s=$s||0;s:while(true){switch($s){case 0:m=AR(a,b,c*0.5,d*0.5,e,f,g,h,i,j);n=m[0];o=m[1];p=AZ(n,o,g+c+h,f+d+e,k,l);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;$s=2;case 2:return q;}return;}var $f={$blk:AY,$c:true,$r,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s};return $f;};$pkg.GenerateRectCollider=AY;AZ=function(a,b,c,d,e,f){var{a,b,c,d,e,f,g,h,$s,$r,$c}=$restore(this,{a,b,c,d,e,f});$s=$s||0;s:while(true){switch($s){case 0:g=B.NewObject(a,b,c,d,new BN([f]));h=B.NewRectangle(0,0,c,d);$r=g.SetShape(h);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g.Data=e;$s=-1;return g;}return;}var $f={$blk:AZ,$c:true,$r,a,b,c,d,e,f,g,h,$s};return $f;};BA=function(a,b,c,d,e){var{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r,$c}=$restore(this,{a,b,c,d,e});$s=$s||0;s:while(true){switch($s){case 0:f=BB(a);g=0;h=0;i=g;j=h;k=B.NewConvexPolygon(CC.nil);l=f.Points;m=0;while(true){if(!(m=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]);p=f.Points;q=0;while(true){if(!(q=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]);if(n===r){q++;continue;}if(A.Abs(s.X-o.X)>i){i=A.Abs(s.X-o.X);}if(A.Abs(s.Y-o.Y)>j){j=A.Abs(s.Y-o.Y);}q++;}m++;}t=0;while(true){if(!(t=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+t]));k.AddPoints(new CC([v.X,v.Y]));t=t+(1)>>0;}w=B.NewObject(f.Anchor.X+b,f.Anchor.Y+c,i,j,new BN([e]));$r=w.SetShape(k);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}w.Data=d;$s=-1;return w;}return;}var $f={$blk:BA,$c:true,$r,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s};return $f;};$pkg.GenerateConvexPolygonCollider=BA;BB=function(a){var a,b,c,d,e,f,g,h,i,j,k;b=new C.ptr(1.7e+308,1.7e+308);c=a.Points;d=0;while(true){if(!(d=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);if(e.X=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);(k=f.Points,((i<0||i>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+i]=new C.ptr(j.X-b.X,j.Y-b.Y)));h++;}return f;};$pkg.AlignPolygon2DToBoundingBox=BB;BC=function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;return new K.ptr(u,v,new J.ptr(a,b,c,t),new I.ptr(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,w,x,false));};$pkg.NewMeleeBullet=BC;BD=function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;return new L.ptr(u,v,w,x,y,z,aa,0,0,new J.ptr(a,b,c,t),new I.ptr(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,ad,ae,false));};$pkg.NewFireballBullet=BD;CH.methods=[{prop:"Put",name:"Put",pkg:"",typ:$funcType([$emptyInterface],[],false)},{prop:"Pop",name:"Pop",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"GetArrIdxByOffset",name:"GetArrIdxByOffset",pkg:"",typ:$funcType([$Int32],[$Int32],false)},{prop:"GetByOffset",name:"GetByOffset",pkg:"",typ:$funcType([$Int32],[$emptyInterface],false)},{prop:"GetByFrameId",name:"GetByFrameId",pkg:"",typ:$funcType([$Int32],[$emptyInterface],false)},{prop:"SetByFrameId",name:"SetByFrameId",pkg:"",typ:$funcType([$emptyInterface,$Int32],[$Int32,$Int32,$Int32],false)}];C.init("",[{prop:"X",name:"X",embedded:false,exported:true,typ:$Float64,tag:""},{prop:"Y",name:"Y",embedded:false,exported:true,typ:$Float64,tag:""}]);D.init("",[{prop:"Anchor",name:"Anchor",embedded:false,exported:true,typ:CD,tag:""},{prop:"Points",name:"Points",embedded:false,exported:true,typ:CE,tag:""}]);E.init("",[{prop:"Id",name:"Id",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"VirtualGridX",name:"VirtualGridX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"VirtualGridY",name:"VirtualGridY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"DirX",name:"DirX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"DirY",name:"DirY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"VelX",name:"VelX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"VelY",name:"VelY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Speed",name:"Speed",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BattleState",name:"BattleState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"JoinIndex",name:"JoinIndex",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"ColliderRadius",name:"ColliderRadius",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Removed",name:"Removed",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"Score",name:"Score",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"LastMoveGmtMillis",name:"LastMoveGmtMillis",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"FramesToRecover",name:"FramesToRecover",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"FramesInChState",name:"FramesInChState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Hp",name:"Hp",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"MaxHp",name:"MaxHp",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"CharacterState",name:"CharacterState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"InAir",name:"InAir",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"OnWall",name:"OnWall",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"OnWallNormX",name:"OnWallNormX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"OnWallNormY",name:"OnWallNormY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"CapturedByInertia",name:"CapturedByInertia",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"ActiveSkillId",name:"ActiveSkillId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"ActiveSkillHit",name:"ActiveSkillHit",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"FramesInvinsible",name:"FramesInvinsible",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BulletTeamId",name:"BulletTeamId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"ChCollisionTeamId",name:"ChCollisionTeamId",embedded:false,exported:true,typ:$Int32,tag:""}]);F.init("",[{prop:"Dx",name:"Dx",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Dy",name:"Dy",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BtnALevel",name:"BtnALevel",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BtnBLevel",name:"BtnBLevel",embedded:false,exported:true,typ:$Int32,tag:""}]);H.init("",[{prop:"Boundary",name:"Boundary",embedded:false,exported:true,typ:CF,tag:""}]);I.init("",[{prop:"StartupFrames",name:"StartupFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"CancellableStFrame",name:"CancellableStFrame",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"CancellableEdFrame",name:"CancellableEdFrame",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"ActiveFrames",name:"ActiveFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"HitStunFrames",name:"HitStunFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BlockStunFrames",name:"BlockStunFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"PushbackVelX",name:"PushbackVelX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"PushbackVelY",name:"PushbackVelY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Damage",name:"Damage",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"SelfLockVelX",name:"SelfLockVelX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"SelfLockVelY",name:"SelfLockVelY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"HitboxOffsetX",name:"HitboxOffsetX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"HitboxOffsetY",name:"HitboxOffsetY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"HitboxSizeX",name:"HitboxSizeX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"HitboxSizeY",name:"HitboxSizeY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BlowUp",name:"BlowUp",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"ExplosionFrames",name:"ExplosionFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"SpeciesId",name:"SpeciesId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"CancelTransit",name:"CancelTransit",embedded:false,exported:true,typ:CG,tag:""}]);J.init("",[{prop:"BulletLocalId",name:"BulletLocalId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"OriginatedRenderFrameId",name:"OriginatedRenderFrameId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"OffenderJoinIndex",name:"OffenderJoinIndex",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"TeamId",name:"TeamId",embedded:false,exported:true,typ:$Int32,tag:""}]);K.init("",[{prop:"BlState",name:"BlState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"FramesInBlState",name:"FramesInBlState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BattleAttr",name:"BattleAttr",embedded:false,exported:true,typ:BH,tag:""},{prop:"Bullet",name:"Bullet",embedded:false,exported:true,typ:BI,tag:""}]);L.init("",[{prop:"VirtualGridX",name:"VirtualGridX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"VirtualGridY",name:"VirtualGridY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"DirX",name:"DirX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"DirY",name:"DirY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"VelX",name:"VelX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"VelY",name:"VelY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Speed",name:"Speed",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BlState",name:"BlState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"FramesInBlState",name:"FramesInBlState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BattleAttr",name:"BattleAttr",embedded:false,exported:true,typ:BH,tag:""},{prop:"Bullet",name:"Bullet",embedded:false,exported:true,typ:BI,tag:""}]);M.init("",[{prop:"BattleLocalId",name:"BattleLocalId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"RecoveryFrames",name:"RecoveryFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"RecoveryFramesOnBlock",name:"RecoveryFramesOnBlock",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"RecoveryFramesOnHit",name:"RecoveryFramesOnHit",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"ReleaseTriggerType",name:"ReleaseTriggerType",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BoundChState",name:"BoundChState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Hits",name:"Hits",embedded:false,exported:true,typ:BG,tag:""}]);N.init("",[{prop:"Id",name:"Id",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"PlayersArr",name:"PlayersArr",embedded:false,exported:true,typ:BV,tag:""},{prop:"CountdownNanos",name:"CountdownNanos",embedded:false,exported:true,typ:$Int64,tag:""},{prop:"MeleeBullets",name:"MeleeBullets",embedded:false,exported:true,typ:BW,tag:""},{prop:"FireballBullets",name:"FireballBullets",embedded:false,exported:true,typ:BX,tag:""},{prop:"BackendUnconfirmedMask",name:"BackendUnconfirmedMask",embedded:false,exported:true,typ:$Uint64,tag:""},{prop:"ShouldForceResync",name:"ShouldForceResync",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"BulletLocalIdCounter",name:"BulletLocalIdCounter",embedded:false,exported:true,typ:$Int32,tag:""}]);O.init("",[{prop:"InputFrameId",name:"InputFrameId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"InputList",name:"InputList",embedded:false,exported:true,typ:BU,tag:""},{prop:"ConfirmedList",name:"ConfirmedList",embedded:false,exported:true,typ:$Uint64,tag:""}]);P.init("",[{prop:"FlAct",name:"FlAct",embedded:false,exported:true,typ:$Uint64,tag:""},{prop:"FrAct",name:"FrAct",embedded:false,exported:true,typ:$Uint64,tag:""},{prop:"X",name:"X",embedded:false,exported:true,typ:$Float64,tag:""},{prop:"Y",name:"Y",embedded:false,exported:true,typ:$Float64,tag:""}]);Q.init("",[{prop:"Ed",name:"Ed",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"St",name:"St",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"EdFrameId",name:"EdFrameId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"StFrameId",name:"StFrameId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"N",name:"N",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Cnt",name:"Cnt",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Eles",name:"Eles",embedded:false,exported:true,typ:BG,tag:""}]);S.init([$Int,BQ],[$Int],false);T.init("",[{prop:"SpeciesId",name:"SpeciesId",embedded:false,exported:true,typ:$Int,tag:""},{prop:"SpeciesName",name:"SpeciesName",embedded:false,exported:true,typ:$String,tag:""},{prop:"InAirIdleFrameIdxTurningPoint",name:"InAirIdleFrameIdxTurningPoint",embedded:false,exported:true,typ:$Int,tag:""},{prop:"InAirIdleFrameIdxTurnedCycle",name:"InAirIdleFrameIdxTurnedCycle",embedded:false,exported:true,typ:$Int,tag:""},{prop:"LayDownFrames",name:"LayDownFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"LayDownFramesToRecover",name:"LayDownFramesToRecover",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"GetUpInvinsibleFrames",name:"GetUpInvinsibleFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"GetUpFramesToRecover",name:"GetUpFramesToRecover",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Speed",name:"Speed",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"JumpingInitVelY",name:"JumpingInitVelY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"JumpingFramesToRecover",name:"JumpingFramesToRecover",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"DashingEnabled",name:"DashingEnabled",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"OnWallEnabled",name:"OnWallEnabled",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"WallJumpingFramesToRecover",name:"WallJumpingFramesToRecover",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"WallJumpingInitVelX",name:"WallJumpingInitVelX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"WallJumpingInitVelY",name:"WallJumpingInitVelY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"WallSlidingVelY",name:"WallSlidingVelY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"InertiaFramesToRecover",name:"InertiaFramesToRecover",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"SkillMapper",name:"SkillMapper",embedded:false,exported:true,typ:S,tag:""}]);AH.init("",[{prop:"Overlap",name:"Overlap",embedded:false,exported:true,typ:$Float64,tag:""},{prop:"OverlapX",name:"OverlapX",embedded:false,exported:true,typ:$Float64,tag:""},{prop:"OverlapY",name:"OverlapY",embedded:false,exported:true,typ:$Float64,tag:""},{prop:"AContainedInB",name:"AContainedInB",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"BContainedInA",name:"BContainedInA",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"Axis",name:"Axis",embedded:false,exported:true,typ:B.Vector,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.DIRECTION_DECODER=new BF([new BE([0,0]),new BE([0,2]),new BE([0,-2]),new BE([2,0]),new BE([-2,0]),new BE([1,1]),new BE([-1,-1]),new BE([1,-1]),new BE([-1,1])]);U=$makeMap($Int.keyFor,[{k:1,v:new M.ptr(0,30,30,30,1,2,new BG([new K.ptr(0,0,BH.nil,new I.ptr(7,13,30,22,13,9,50,0,5,5,-1,1200,0,2400,3200,false,9,1,$makeMap($Int.keyFor,[{k:1,v:2}])))]))},{k:2,v:new M.ptr(0,36,36,36,1,11,new BG([new K.ptr(0,0,BH.nil,new I.ptr(18,22,36,18,18,9,50,0,5,10,-1,1800,0,2400,3200,false,9,1,$makeMap($Int.keyFor,[{k:1,v:3}])))]))},{k:3,v:new M.ptr(0,50,50,50,1,12,new BG([new K.ptr(0,0,BH.nil,new I.ptr(8,0,0,30,999999999,9,200,700,10,50,500,1600,800,3200,3200,true,9,1,false))]))},{k:4,v:new M.ptr(0,30,30,30,1,2,new BG([new K.ptr(0,0,BH.nil,new I.ptr(7,13,30,22,13,9,50,0,5,5,-1,1200,0,2400,3200,false,15,2,$makeMap($Int.keyFor,[{k:1,v:5}])))]))},{k:5,v:new M.ptr(0,36,36,36,1,11,new BG([new K.ptr(0,0,BH.nil,new I.ptr(18,23,36,18,18,9,50,0,5,10,-1,1800,0,2400,3200,false,15,2,$makeMap($Int.keyFor,[{k:1,v:6}])))]))},{k:6,v:new M.ptr(0,45,45,45,1,12,new BG([new K.ptr(0,0,BH.nil,new I.ptr(8,0,0,28,999999999,9,200,300,10,-1,-1,2400,0,3200,3200,true,15,2,false))]))},{k:7,v:new M.ptr(0,30,30,30,1,2,new BG([new K.ptr(0,0,BH.nil,new I.ptr(7,13,30,22,13,9,50,0,5,-1,-1,1200,0,2400,3200,false,9,1,$makeMap($Int.keyFor,[{k:1,v:8}])))]))},{k:8,v:new M.ptr(0,36,36,36,1,11,new BG([new K.ptr(0,0,BH.nil,new I.ptr(18,22,36,18,18,9,50,0,5,10,-1,1800,0,2400,3200,false,9,1,$makeMap($Int.keyFor,[{k:1,v:9}])))]))},{k:9,v:new M.ptr(0,40,40,40,1,12,new BG([new K.ptr(0,0,BH.nil,new I.ptr(7,0,0,30,999999999,9,200,400,10,100,-1,1000,0,3200,3200,true,9,1,false))]))},{k:10,v:new M.ptr(0,40,40,40,1,13,new BG([new L.ptr(0,0,0,0,0,0,500,0,0,BH.nil,new I.ptr(12,0,0,999999999,15,9,200,0,20,-1,-1,2400,800,4800,3200,false,15,1,false))]))},{k:11,v:new M.ptr(0,60,60,60,1,14,new BG([new K.ptr(0,0,BH.nil,new I.ptr(3,0,0,25,999999999,9,200,700,30,100,800,800,0,4000,6400,true,15,3,false))]))},{k:12,v:new M.ptr(0,12,12,12,1,15,new BG([new K.ptr(0,0,BH.nil,new I.ptr(0,0,0,0,999999999,0,-1,-1,0,900,0,0,0,0,0,false,0,0,false))]))},{k:255,v:new M.ptr(0,30,30,30,1,6,new BG([new K.ptr(0,0,BH.nil,new I.ptr(3,0,0,20,18,9,50,0,5,-1,-1,1200,0,3200,2400,false,9,1,false))]))},{k:256,v:new M.ptr(0,20,20,20,1,6,new BG([new K.ptr(0,0,BH.nil,new I.ptr(3,0,0,10,15,9,50,0,5,-1,-1,1200,0,3200,2400,false,15,2,false))]))},{k:257,v:new M.ptr(0,30,30,30,1,6,new BG([new K.ptr(0,0,BH.nil,new I.ptr(3,0,0,20,18,9,50,0,5,-1,-1,1200,0,3200,2400,false,9,1,false))]))}]);$pkg.Characters=$makeMap($Int.keyFor,[{k:0,v:new T.ptr(0,"MonkGirl",11,1,16,16,10,27,210,800,2,false,false,0,0,0,0,9,(function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n;if(1===a){if(0===b.FramesToRecover){if(b.InAir){return 255;}else{return 1;}}else{c=(d=U[$Int.keyFor(((b.ActiveSkillId>>0)))],d!==undefined?[d.v,true]:[BJ.nil,false]);e=c[0];f=c[1];if(f){g=(h=e.Hits,i=b.ActiveSkillHit,((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]));if($assertType(g,BK,true)[1]){j=g.$val;if(j.Bullet.CancellableStFrame<=b.FramesInChState&&b.FramesInChState>0)))],d!==undefined?[d.v,true]:[BJ.nil,false]);e=c[0];f=c[1];if(f){g=(h=e.Hits,i=b.ActiveSkillHit,((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]));if($assertType(g,BK,true)[1]){j=g.$val;if(j.Bullet.CancellableStFrame<=b.FramesInChState&&b.FramesInChState>0)))],d!==undefined?[d.v,true]:[BJ.nil,false]);e=c[0];f=c[1];if(f){g=(h=e.Hits,i=b.ActiveSkillHit,((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]));if($assertType(g,BK,true)[1]){j=g.$val;if(j.Bullet.CancellableStFrame<=b.FramesInChState&&b.FramesInChState=b.N)){break;}b.Pop();}(c=b.Eles,d=b.Ed,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=a));b.EdFrameId=b.EdFrameId+(1)>>0;b.Cnt=b.Cnt+(1)>>0;b.Ed=b.Ed+(1)>>0;if(b.Ed>=b.N){b.Ed=b.Ed-(b.N)>>0;}};Q.prototype.Put=function(a){return this.$val.Put(a);};Q.ptr.prototype.Pop=function(){var a,b,c,d;a=this;if(0===a.Cnt){return $ifaceNil;}d=(b=a.Eles,c=a.St,((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]));a.StFrameId=a.StFrameId+(1)>>0;a.Cnt=a.Cnt-(1)>>0;a.St=a.St+(1)>>0;if(a.St>=a.N){a.St=a.St-(a.N)>>0;}return d;};Q.prototype.Pop=function(){return this.$val.Pop();};Q.ptr.prototype.GetArrIdxByOffset=function(a){var a,b,c;b=this;if((0===b.Cnt)||0>a){return-1;}c=b.St+a>>0;if(b.St=b.N){c=c-(b.N)>>0;}if(c>=b.St||c=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+c]));};Q.prototype.GetByOffset=function(a){return this.$val.GetByOffset(a);};Q.ptr.prototype.GetByFrameId=function(a){var a,b;b=this;if(a>=b.EdFrameId||a>0);};Q.prototype.GetByFrameId=function(a){return this.$val.GetByFrameId(a);};Q.ptr.prototype.SetByFrameId=function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n;c=this;d=c.StFrameId;e=c.EdFrameId;f=d;g=e;if(bb){h=c.GetArrIdxByOffset(b-c.StFrameId>>0);if(!((-1===h))){(i=c.Eles,((h<0||h>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+h]=a));return[0,f,g];}}j=0;if(g>0))>>2>>0);};$pkg.ConvertToDelayedInputFrameId=AC;AD=function(a){var a;return(a>>2>>0);};$pkg.ConvertToNoDelayInputFrameId=AD;AE=function(a){var a;return(((a<<2>>0))+6>>0);};$pkg.ConvertToFirstUsedRenderFrameId=AE;AF=function(a){var a;return(((((a<<2>>0))+6>>0)+4>>0)-1>>0);};$pkg.ConvertToLastUsedRenderFrameId=AF;AG=function(a){var a,b,c,d,e,f,g,h;b=new $Uint64(a.$high&0,(a.$low&15)>>>0);d=(((c=$shiftRightUint64(a,4),new $Uint64(c.$high&0,(c.$low&1)>>>0)).$low>>0));f=(((e=$shiftRightUint64(a,5),new $Uint64(e.$high&0,(e.$low&1)>>>0)).$low>>0));return new F.ptr((g=(($flatten64(b)<0||$flatten64(b)>=$pkg.DIRECTION_DECODER.$length)?($throwRuntimeError("index out of range"),undefined):$pkg.DIRECTION_DECODER.$array[$pkg.DIRECTION_DECODER.$offset+$flatten64(b)]),(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0])),(h=(($flatten64(b)<0||$flatten64(b)>=$pkg.DIRECTION_DECODER.$length)?($throwRuntimeError("index out of range"),undefined):$pkg.DIRECTION_DECODER.$array[$pkg.DIRECTION_DECODER.$offset+$flatten64(b)]),(1>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+1])),d,f);};AI=function(a,b,c,d){var{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$deferred,$r,$c}=$restore(this,{a,b,c,d});$s=$s||0;var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$curGoroutine.deferStack.push($deferred);c=[c];e=[e];f=[f];g=c[0].Position();e[0]=g[0];f[0]=g[1];$deferred.push([(function(c,e,f){return function(){c[0].SetPosition(e[0],f[0]);};})(c,e,f),[]]);c[0].SetPosition(e[0]+a,f[0]+b);h=new AH.ptr(0,0,0,true,true,new B.Vector([0,0]));i=AJ(c[0],d,h);if(i){$s=1;continue;}$s=2;continue;case 1:j=h.Overlap*h.OverlapX;k=h.Overlap*h.OverlapY;l=j;m=k;n=[true,l,m,h];$s=4;case 4:return n;case 2:o=[false,0,0,h];$s=5;case 5:return o;case 3:$s=-1;return[false,0,0,BL.nil];}return;}}catch(err){$err=err;$s=-1;return[false,0,0,BL.nil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){var $f={$blk:AI,$c:true,$r,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$deferred};return $f;}}};AJ=function(a,b,c){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;d=a.Points.$length;e=b.Points.$length;f=d;g=e;if((1===f)&&(1===g)){if(!(BL.nil===c)){c.Overlap=0;}return((h=(i=a.Points,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0])),(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]))===(j=(k=b.Points,(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0])),(0>=j.$length?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+0])))&&((l=(m=a.Points,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])),(1>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+1]))===(n=(o=b.Points,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])),(1>=n.$length?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+1])));}if(1=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]);if(AO(a,b,r.Unit(),c)){return false;}q++;}}if(1=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+t]);if(AO(a,b,u.Unit(),c)){return false;}t++;}}return true;};AK=function(a,b){var a,b;if(2===a.BlState){return false;}return((a.BattleAttr.OriginatedRenderFrameId+a.Bullet.StartupFrames>>0)<=b.Id)&&(((a.BattleAttr.OriginatedRenderFrameId+a.Bullet.StartupFrames>>0)+a.Bullet.ActiveFrames>>0)>b.Id);};$pkg.IsMeleeBulletActive=AK;AL=function(a,b){var a,b;if(2===a.BlState){return a.FramesInBlState>0)+a.Bullet.ActiveFrames>>0)>b.Id;};$pkg.IsMeleeBulletAlive=AL;AM=function(a,b){var a,b;if(2===a.BlState){return false;}return((a.BattleAttr.OriginatedRenderFrameId+a.Bullet.StartupFrames>>0)>0)+a.Bullet.ActiveFrames>>0)>b.Id);};$pkg.IsFireballBulletActive=AM;AN=function(a,b){var a,b;if(2===a.BlState){return a.FramesInBlState>0)+a.Bullet.ActiveFrames>>0)>b.Id;};$pkg.IsFireballBulletAlive=AN;AO=function(a,b,c,d){var a,aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;e=1.7e+308;f=-1.7e+308;g=1.7e+308;h=-1.7e+308;i=e;j=f;k=g;l=h;m=a.Points;n=0;while(true){if(!(n=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);p=((0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0])+a.X)*(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])+((1>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+1])+a.Y)*(1>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+1]);if(i>p){i=p;}if(j=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);t=((0>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+0])+b.X)*(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])+((1>=s.$length?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+1])+b.Y)*(1>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+1]);if(k>t){k=t;}if(ll||jl){u=i-l;d.AContainedInB=false;}else{x=j-k;y=l-i;if(x=ab.$length?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+0])))&&(0===(ac=d.Axis,(1>=ac.$length?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+1]))))||z>aa){ad=1;if(u<0){ad=-1;}d.Overlap=aa;d.OverlapX=(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])*ad;d.OverlapY=(1>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+1])*ad;}d.Axis=c;}return false;};AP=function(a,b){var a,b,c,d;c=((A.Round(a*100)>>0));d=((A.Round(b*100)>>0));return[c,d];};$pkg.WorldToVirtualGridPos=AP;AQ=function(a,b){var a,b,c,d;c=(a)*0.01;d=(b)*0.01;return[c,d];};$pkg.VirtualGridToWorldPos=AQ;AR=function(a,b,c,d,e,f,g,h,i,j){var a,b,c,d,e,f,g,h,i,j;return[a-c-g+i,b-d-f+j];};$pkg.WorldToPolygonColliderBLPos=AR;AS=function(a,b,c,d,e,f,g,h,i,j){var a,b,c,d,e,f,g,h,i,j;return[a+c+g-i,b+d+f-j];};$pkg.PolygonColliderBLToWorldPos=AS;AT=function(a,b,c,d,e,f,g,h,i,j){var a,b,c,d,e,f,g,h,i,j,k,l,m;k=AS(a,b,c,d,e,f,g,h,i,j);l=k[0];m=k[1];return AP(l,m);};$pkg.PolygonColliderBLToVirtualGridPos=AT;AV=function(a,b,c,d,e,f,g){var{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r,$c}=$restore(this,{a,b,c,d,e,f,g});$s=$s||0;s:while(true){switch($s){case 0:h=[h];h[0]=$makeSlice(BM,0,10);i=0;if((16===b.CharacterState)&&(0===c.VelX)&&(b.DirX===c.DirX)){j=1;if(0>c.DirX){j=-j;}i=j*(b.Speed)*0.01;}k=d.Check(i,0,new BN([]));if(BO.nil===k){$s=-1;return(h.$ptr||(h.$ptr=new BP(function(){return this.$target[0];},function($v){this.$target[0]=$v;},h)));}l=k.Objects;m=0;case 1:if(!(m=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]);o=false;p=n.Data;if($assertType(p,BQ,true)[1]||$assertType(p,BK,true)[1]||$assertType(p,BR,true)[1]){}else{o=true;}if(!o){m++;$s=1;continue;}q=$assertType(n.Shape,BS);s=AI(0,0,e,q);$s=3;case 3:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];v=r[2];w=r[3];if(!t){m++;$s=1;continue;}x=(w.Overlap-f)*w.OverlapX;y=(w.Overlap-f)*w.OverlapY;u=x;v=y;h[0]=$append(h[0],new C.ptr(w.OverlapX,w.OverlapY));g.X=g.X+(u);g.Y=g.Y+(v);m++;$s=1;continue;case 2:$s=-1;return(h.$ptr||(h.$ptr=new BP(function(){return this.$target[0];},function($v){this.$target[0]=$v;},h)));}return;}var $f={$blk:AV,$c:true,$r,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s};return $f;};AW=function(a,b,c,d,e){var a,aa,ab,ac,ad,ae,af,ag,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=AC(c.Id);g=AC(c.Id-1>>0);if(0>=f){return[-2,false,0,0];}h=(i=W[$Int32.keyFor(a.CharacterState)],i!==undefined?[i.v,true]:[false,false]);j=h[1];if(j){return[-2,false,0,0];}k=$assertType(e.GetByFrameId(f),BT).InputList;l=BU.nil;if(0>0,((o<0||o>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+o])));q=0;r=0;s=q;t=r;u=0;v=0;w=u;x=v;if(!(BU.nil===l)){z=AG((y=n-1>>0,((y<0||y>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+y])));w=z.BtnALevel;x=z.BtnBLevel;}if(0===a.FramesToRecover){aa=p.Dx;ab=p.Dy;s=aa;t=ab;}ac=-1;ad=a.CapturedByInertia&&(((d.InertiaFramesToRecover>>1>>0))>a.FramesToRecover);if((0===a.FramesToRecover)||ad){if(p.BtnBLevel>x){if(d.DashingEnabled&&0>p.Dy){ac=5;}else{ae=(af=V[$Int32.keyFor(a.CharacterState)],af!==undefined?[af.v,true]:[false,false]);ag=ae[1];if(!ag){m=true;}else if(16===a.CharacterState){m=true;}}}}if(-1===ac){if(0w){if(0>p.Dy){ac=3;}else if(0=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]=new E.ptr(m.Id,m.VirtualGridX,m.VirtualGridY,m.DirX,m.DirY,m.VelX,m.VelY,m.Speed,m.BattleState,m.JoinIndex,m.ColliderRadius,m.Removed,m.Score,0,m.FramesToRecover-1>>0,m.FramesInChState+1>>0,m.Hp,m.MaxHp,m.CharacterState,true,false,m.OnWallNormX,m.OnWallNormY,m.CapturedByInertia,m.ActiveSkillId,m.ActiveSkillHit,m.FramesInvinsible-1>>0,0,0));if(((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).FramesToRecover<0){((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).FramesToRecover=0;}if(((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).FramesInvinsible<0){((l<0||l>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+l]).FramesInvinsible=0;}k++;}n=$makeSlice(BW,0,b.MeleeBullets.$length);o=$makeSlice(BX,0,b.FireballBullets.$length);p=$makeSlice(BM,h);q=$makeSlice(BY,h);r=$makeSlice(BZ,h);s=b.BulletLocalIdCounter;t=b.PlayersArr;u=0;case 1:if(!(u=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]);z=((x<0||x>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+x]);aa=((x<0||x>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+x]);ab=AW(y,aa,b,z,a);ac=ab[0];ad=ab[1];ae=ab[2];af=ab[3];((x<0||x>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+x]=ad);ag=y.JoinIndex;ah=z.SkillMapper(ac,y);$s=3;case 3:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;aj=(ak=U[$Int.keyFor(ai)],ak!==undefined?[ak.v,true]:[BJ.nil,false]);al=aj[0];am=aj[1];if(am){aa.ActiveSkillId=((ai>>0));aa.ActiveSkillHit=0;aa.FramesToRecover=al.RecoveryFrames;an=1;if(0>aa.DirX){an=-an;}ao=false;ap=(aq=al.Hits,ar=aa.ActiveSkillHit,((ar<0||ar>=aq.$length)?($throwRuntimeError("index out of range"),undefined):aq.$array[aq.$offset+ar]));if($assertType(ap,BK,true)[1]){as=ap.$val;v[0]=$clone(as,K);v[0].BattleAttr=new J.ptr(s,b.Id,ag,y.BulletTeamId);s=s+(1)>>0;v[0].BlState=0;n=$append(n,v[0]);if(!((-1===as.Bullet.SelfLockVelX))){ao=true;aa.VelX=$imul(an,as.Bullet.SelfLockVelX);}if(!((-1===as.Bullet.SelfLockVelY))){ao=true;aa.VelY=as.Bullet.SelfLockVelY;}}else if($assertType(ap,BR,true)[1]){at=ap.$val;w[0]=$clone(at,L);w[0].BattleAttr=new J.ptr(s,b.Id,ag,y.BulletTeamId);s=s+(1)>>0;au=y.VirtualGridX+($imul(an,w[0].Bullet.HitboxOffsetX))>>0;av=y.VirtualGridY+w[0].Bullet.HitboxOffsetY>>0;w[0].VirtualGridX=au;w[0].VirtualGridY=av;w[0].DirX=an;w[0].DirY=0;w[0].VelX=$imul(w[0].Speed,an);w[0].VelY=0;w[0].BlState=0;o=$append(o,w[0]);if(!((-1===at.Bullet.SelfLockVelX))){ao=true;aa.VelX=$imul(an,at.Bullet.SelfLockVelX);}if(!((-1===at.Bullet.SelfLockVelY))){ao=true;aa.VelY=at.Bullet.SelfLockVelY;}}if(false===ao&&false===y.InAir){aa.VelX=0;}aa.CharacterState=al.BoundChState;u++;$s=1;continue;}if(0===y.FramesToRecover){aw=y.CapturedByInertia;ax=z.OnWallEnabled&&(z.WallJumpingInitVelX===Z(y.VelX));ay=true;az=false;ba=false;if(!((0===ae))&&(0===aa.VelX)){ay=false;}else if((0===ae)&&!((0===aa.VelX))){ay=false;ba=true;}else if(0>($imul(ae,aa.VelX))){ay=false;az=true;}if(!ad&&!ax&&!aw&&!ay){aa.CapturedByInertia=true;if(az){aa.CharacterState=17;aa.FramesToRecover=z.InertiaFramesToRecover;}else if(ba){aa.FramesToRecover=z.InertiaFramesToRecover;}else{aa.FramesToRecover=(z.InertiaFramesToRecover>>1>>0);}}else{aa.CapturedByInertia=false;if(!((0===ae))){bb=1;if(0>ae){bb=-bb;}aa.DirX=ae;aa.DirY=af;if(ax){aa.VelX=$imul(bb,Z(y.VelX));}else{aa.VelX=$imul(bb,y.Speed);}aa.CharacterState=1;}else{aa.CharacterState=0;aa.VelX=0;}}}u++;$s=1;continue;case 2:bc=$makeSlice(CB,b.PlayersArr.$length,b.PlayersArr.$length);bd=b.PlayersArr;be=0;case 4:if(!(be=bd.$length)?($throwRuntimeError("index out of range"),undefined):bd.$array[bd.$offset+be]);bh=bg.JoinIndex;bi=0;bj=0;(bk=bh-1>>0,((bk<0||bk>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+bk])).X=bi;(bl=bh-1>>0,((bl<0||bl>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+bl])).Y=bj;bm=((bf<0||bf>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+bf]);bn=((bf<0||bf>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+bf]);bo=bg.VirtualGridX+bg.VelX>>0;bp=bg.VirtualGridY+bg.VelY>>0;bq=bo;br=bp;if(((bf<0||bf>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+bf])){if(16===bg.CharacterState){if(0<($imul(bg.VelX,bg.OnWallNormX))){bq=bq-(bg.VelX)>>0;}bs=-1;if(0>bg.OnWallNormX){bs=-bs;}bq=bq+(($imul(bs,bn.WallJumpingInitVelX)))>>0;br=br+(bn.WallJumpingInitVelY)>>0;bm.VelX=(($imul(bs,bn.WallJumpingInitVelX)));bm.VelY=(bn.WallJumpingInitVelY);bm.FramesToRecover=bn.WallJumpingFramesToRecover;}else{bm.VelY=(bn.JumpingInitVelY);br=br+(bn.JumpingInitVelY)>>0;}}bt=AQ(bq,br);bu=bt[0];bv=bt[1];bw=$imul(bg.ColliderRadius,2);bx=$imul(bg.ColliderRadius,4);by=bw;bz=bx;ca=bg.CharacterState;if(ca===(9)){cb=$imul(bg.ColliderRadius,4);cc=$imul(bg.ColliderRadius,2);by=cb;bz=cc;}else if((ca===(8))||(ca===(4))||(ca===(5))||(ca===(16))){cd=$imul(bg.ColliderRadius,2);ce=$imul(bg.ColliderRadius,2);by=cd;bz=ce;}cf=AQ(by,bz);cg=cf[0];ch=cf[1];ci=AY(bu,bv,cg,ch,0.1,0.1,0.1,0.1,e,f,bg,"Player");$s=6;case 6:if($c){$c=false;ci=ci.$blk();}if(ci&&ci.$blk!==undefined){break s;}cj=ci;((bf<0||bf>=bc.$length)?($throwRuntimeError("index out of range"),undefined):bc.$array[bc.$offset+bf]=cj);$r=c.Add(new CB([cj]));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(bg.InAir){if((16===bg.CharacterState)&&!((bf<0||bf>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+bf])){bm.VelX=bm.VelX+(0)>>0;bm.VelY=bn.WallSlidingVelY;}else if(15===bg.CharacterState){bm.VelX=bm.VelX+(0)>>0;}else{bm.VelX=bm.VelX+(0)>>0;bm.VelY=bm.VelY+(-50)>>0;}}be++;$s=4;continue;case 5:ck=$makeSlice(CB,0,b.MeleeBullets.$length);cl=b.MeleeBullets;cm=0;case 8:if(!(cm=cl.$length)?($throwRuntimeError("index out of range"),undefined):cl.$array[cl.$offset+cm]);co=new K.ptr(cn.BlState,cn.FramesInBlState+1>>0,cn.BattleAttr,cn.Bullet);if(AL(co,b)){$s=10;continue;}$s=11;continue;case 10:if(AK(co,b)){$s=12;continue;}$s=13;continue;case 12:cr=(cp=b.PlayersArr,cq=co.BattleAttr.OffenderJoinIndex-1>>0,((cq<0||cq>=cp.$length)?($throwRuntimeError("index out of range"),undefined):cp.$array[cp.$offset+cq]));cs=1;if(0>cr.DirX){cs=-cs;}ct=AQ(cr.VirtualGridX+($imul(cs,co.Bullet.HitboxOffsetX))>>0,cr.VirtualGridY);cu=ct[0];cv=ct[1];cw=AQ(co.Bullet.HitboxSizeX,co.Bullet.HitboxSizeY);cx=cw[0];cy=cw[1];cz=AY(cu,cv,cx,cy,0.1,0.1,0.1,0.1,e,f,co,"MeleeBullet");$s=14;case 14:if($c){$c=false;cz=cz.$blk();}if(cz&&cz.$blk!==undefined){break s;}da=cz;$r=c.Add(new CB([da]));$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ck=$append(ck,da);co.BlState=1;if(!((co.BlState===cn.BlState))){co.FramesInBlState=0;}case 13:n=$append(n,co);case 11:cm++;$s=8;continue;case 9:db=b.FireballBullets;dc=0;case 16:if(!(dc=db.$length)?($throwRuntimeError("index out of range"),undefined):db.$array[db.$offset+dc]);de=new L.ptr(dd.VirtualGridX,dd.VirtualGridY,dd.DirX,dd.DirY,dd.VelX,dd.VelY,dd.Speed,dd.BlState,dd.FramesInBlState+1>>0,dd.BattleAttr,dd.Bullet);if(AN(de,b)){$s=18;continue;}$s=19;continue;case 18:if(AM(de,b)){$s=20;continue;}$s=21;continue;case 20:df=AQ(de.VirtualGridX,de.VirtualGridY);dg=df[0];dh=df[1];di=AQ(de.Bullet.HitboxSizeX,de.Bullet.HitboxSizeY);dj=di[0];dk=di[1];dl=AY(dg,dh,dj,dk,0.1,0.1,0.1,0.1,e,f,de,"FireballBullet");$s=23;case 23:if($c){$c=false;dl=dl.$blk();}if(dl&&dl.$blk!==undefined){break s;}dm=dl;$r=c.Add(new CB([dm]));$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ck=$append(ck,dm);de.BlState=1;if(!((de.BlState===dd.BlState))){de.FramesInBlState=0;}dn=de.VirtualGridX+de.VelX>>0;dp=de.VirtualGridY+de.VelY>>0;de.VirtualGridX=dn;de.VirtualGridY=dp;$s=22;continue;case 21:case 22:o=$append(o,de);case 19:dc++;$s=16;continue;case 17:dq=b.PlayersArr;dr=0;case 25:if(!(dr=dq.$length)?($throwRuntimeError("index out of range"),undefined):dq.$array[dq.$offset+dr]);du=dt.JoinIndex;dv=((ds<0||ds>=bc.$length)?($throwRuntimeError("index out of range"),undefined):bc.$array[bc.$offset+ds]);dw=$assertType(dv.Shape,BS);dx=((ds<0||ds>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+ds]);dz=AV(du,dt,dx,dv,dw,0.1,(dy=du-1>>0,((dy<0||dy>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+dy])));$s=27;case 27:if($c){$c=false;dz=dz.$blk();}if(dz&&dz.$blk!==undefined){break s;}(ea=du-1>>0,((ea<0||ea>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+ea]=dz));eb=((ds<0||ds>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+ds]);ec=false;ed=dv.Check(0,0,new BN([]));if(!(BO.nil===ed)){$s=28;continue;}$s=29;continue;case 28:ee=ed.Objects;ef=0;case 30:if(!(ef=ee.$length)?($throwRuntimeError("index out of range"),undefined):ee.$array[ee.$offset+ef]);eh=false;ei=false;ej=false;ek=eh;el=ei;em=ej;en=eg.Data;if($assertType(en,BQ,true)[1]){el=true;}else if($assertType(en,BK,true)[1]||$assertType(en,BR,true)[1]){em=true;}else{ek=true;}if(em){ef++;$s=30;continue;}eo=$assertType(eg.Shape,BS);eq=AI(0,0,dw,eo);$s=32;case 32:if($c){$c=false;eq=eq.$blk();}if(eq&&eq.$blk!==undefined){break s;}ep=eq;er=ep[0];es=ep[1];et=ep[2];eu=ep[3];if(!er){ef++;$s=30;continue;}ev=eu.OverlapX*0+eu.OverlapY*-1;if(el){ew=(eu.Overlap-0.2)*eu.OverlapX;ex=(eu.Overlap-0.2)*eu.OverlapY;es=ew;et=ex;}ey=(ez=du-1>>0,((ez<0||ez>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+ez])).$get();fa=0;while(true){if(!(fa=ey.$length)?($throwRuntimeError("index out of range"),undefined):ey.$array[ey.$offset+fa]),C);fc=es*fb.X+et*fb.Y;if(ek||(el&&0>fc)){es=es-(fc*fb.X);et=et-(fc*fb.Y);}fa++;}fd=du-1>>0;((fd<0||fd>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+fd]).X=((fd<0||fd>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+fd]).X+(es);fe=du-1>>0;((fe<0||fe>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+fe]).Y=((fe<0||fe>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+fe]).Y+(et);if(0.5=dt.VelY;if(ff){dx.VelY=0;dx.VelX=0;if(8===dx.CharacterState){dx.CharacterState=9;dx.FramesToRecover=eb.LayDownFramesToRecover;}else{fg=dt.CharacterState;if((fg===(8))||(fg===(4))||(fg===(5))||(fg===(16))){fh=0;fi=dt.ColliderRadius;fj=fh;fk=fi;fl=AQ(fj,fk);fm=fl[1];fn=du-1>>0;((fn<0||fn>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+fn]).Y=((fn<0||fn>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+fn]).Y-(fm);}dx.CharacterState=0;dx.FramesToRecover=0;}}else{fo=(fp=Y[$Int32.keyFor(dx.CharacterState)],fp!==undefined?[fp.v,true]:[false,false]);fq=fo[1];if(fq){if(9===dx.CharacterState){if(0===dx.FramesToRecover){dx.CharacterState=10;dx.FramesToRecover=eb.GetUpFramesToRecover;}}else if(10===dx.CharacterState){if(0===dx.FramesToRecover){dx.CharacterState=0;dx.FramesInvinsible=eb.GetUpInvinsibleFrames;}}}}}if(eb.OnWallEnabled){if(dx.InAir){fr=(fs=W[$Int32.keyFor(dt.CharacterState)],fs!==undefined?[fs.v,true]:[false,false]);ft=fr[1];if(!ft){fu=(fv=du-1>>0,((fv<0||fv>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+fv])).$get();fw=0;while(true){if(!(fw=fu.$length)?($throwRuntimeError("index out of range"),undefined):fu.$array[fu.$offset+fw]),C);fy=fx.X*1+fx.Y*0;fz=fx.X*-1+fx.Y*0;if(0.9>0));gb=((fx.Y>>0));dx.OnWallNormX=ga;dx.OnWallNormY=gb;break;}if(0.9>0));gd=((fx.Y>>0));dx.OnWallNormX=gc;dx.OnWallNormY=gd;break;}fw++;}}}if(!dx.OnWall){ge=0;gf=0;dx.OnWallNormX=ge;dx.OnWallNormY=gf;}}dr++;$s=25;continue;case 26:gg=ck;gh=0;case 33:if(!(gh=gg.$length)?($throwRuntimeError("index out of range"),undefined):gg.$array[gg.$offset+gh]);gj=gi.Check(0,0,new BN([]));gi.Space.Remove(new CB([gi]));gk=false;if(!(BO.nil===gj)){$s=35;continue;}$s=36;continue;case 35:gl=gi.Data;if($assertType(gl,BK,true)[1]){$s=37;continue;}if($assertType(gl,BR,true)[1]){$s=38;continue;}$s=39;continue;case 37:gm=gl.$val;go=$assertType(gi.Shape,BS);gr=(gp=b.PlayersArr,gq=gm.BattleAttr.OffenderJoinIndex-1>>0,((gq<0||gq>=gp.$length)?($throwRuntimeError("index out of range"),undefined):gp.$array[gp.$offset+gq]));gs=gj.Objects;gt=0;case 40:if(!(gt=gs.$length)?($throwRuntimeError("index out of range"),undefined):gs.$array[gs.$offset+gt]);gv=$assertType(gu.Shape,BS);gw=gu.Data;if($assertType(gw,BQ,true)[1]){$s=42;continue;}$s=43;continue;case 42:gx=gw.$val;if(gm.BattleAttr.OffenderJoinIndex===gx.JoinIndex){gt++;$s=40;continue;}gz=AI(0,0,go,gv);$s=44;case 44:if($c){$c=false;gz=gz.$blk();}if(gz&&gz.$blk!==undefined){break s;}gy=gz;ha=gy[0];if(!ha){gt++;$s=40;continue;}gk=true;hb=(hc=X[$Int32.keyFor(gx.CharacterState)],hc!==undefined?[hc.v,true]:[false,false]);hd=hb[1];if(hd){gt++;$s=40;continue;}if(0gr.DirX){he=-he;}hf=$imul(he,gm.Bullet.PushbackVelX);hg=gm.Bullet.PushbackVelY;hh=hf;hi=hg;hk=(hj=gx.JoinIndex-1>>0,((hj<0||hj>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+hj]));hk.VelX=hh;hk.VelY=hi;if(gm.Bullet.BlowUp){hk.CharacterState=8;}else{hk.CharacterState=3;}hm=(hl=gx.JoinIndex-1>>0,((hl<0||hl>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+hl])).FramesToRecover;if(gm.Bullet.HitStunFrames>hm){hk.FramesToRecover=gm.Bullet.HitStunFrames;}case 43:gt++;$s=40;continue;case 41:$s=39;continue;case 38:gn=gl.$val;hn=$assertType(gi.Shape,BS);hq=(ho=b.PlayersArr,hp=gn.BattleAttr.OffenderJoinIndex-1>>0,((hp<0||hp>=ho.$length)?($throwRuntimeError("index out of range"),undefined):ho.$array[ho.$offset+hp]));hr=gj.Objects;hs=0;case 45:if(!(hs=hr.$length)?($throwRuntimeError("index out of range"),undefined):hr.$array[hr.$offset+hs]);hu=$assertType(ht.Shape,BS);hv=ht.Data;if($assertType(hv,BQ,true)[1]){$s=47;continue;}$s=48;continue;case 47:hw=hv.$val;if(gn.BattleAttr.OffenderJoinIndex===hw.JoinIndex){hs++;$s=45;continue;}hz=AI(0,0,hn,hu);$s=50;case 50:if($c){$c=false;hz=hz.$blk();}if(hz&&hz.$blk!==undefined){break s;}hy=hz;ia=hy[0];if(!ia){hs++;$s=45;continue;}gk=true;ib=(ic=X[$Int32.keyFor(hw.CharacterState)],ic!==undefined?[ic.v,true]:[false,false]);id=ib[1];if(id){hs++;$s=45;continue;}if(0hq.DirX){ie=-ie;}ig=$imul(ie,gn.Bullet.PushbackVelX);ih=gn.Bullet.PushbackVelY;ii=ig;ij=ih;il=(ik=hw.JoinIndex-1>>0,((ik<0||ik>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+ik]));il.VelX=ii;il.VelY=ij;if(gn.Bullet.BlowUp){il.CharacterState=8;}else{il.CharacterState=3;}io=(im=hw.JoinIndex-1>>0,((im<0||im>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+im])).FramesToRecover;if(gn.Bullet.HitStunFrames>io){il.FramesToRecover=gn.Bullet.HitStunFrames;}$s=49;continue;case 48:hx=hv;gk=true;case 49:hs++;$s=45;continue;case 46:case 39:case 36:if(gk){ip=gi.Data;if($assertType(ip,BK,true)[1]){iq=ip.$val;iq.BlState=2;iq.FramesInBlState=0;}else if($assertType(ip,BR,true)[1]){ir=ip.$val;ir.BlState=2;ir.FramesInBlState=0;}}gh++;$s=33;continue;case 34:is=b.PlayersArr;it=0;while(true){if(!(it=is.$length)?($throwRuntimeError("index out of range"),undefined):is.$array[is.$offset+it]);iw=iv.JoinIndex;ix=((iu<0||iu>=bc.$length)?($throwRuntimeError("index out of range"),undefined):bc.$array[bc.$offset+iu]);iy=((iu<0||iu>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+iu]);iz=AT(ix.X-(ja=iw-1>>0,((ja<0||ja>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+ja])).X,ix.Y-(jb=iw-1>>0,((jb<0||jb>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+jb])).Y,ix.W*0.5,ix.H*0.5,0,0,0,0,e,f);iy.VirtualGridX=iz[0];iy.VirtualGridY=iz[1];if(iy.InAir){jc=iy.CharacterState;jd=jc;if((jd===(0))||(jd===(1))||(jd===(17))){if(((iu<0||iu>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+iu])||(5===iv.CharacterState)){iy.CharacterState=5;}else{iy.CharacterState=4;}}else if(jd===(2)){iy.CharacterState=6;}else if(jd===(3)){iy.CharacterState=7;}}if(iy.OnWall){je=iy.CharacterState;if((je===(1))||(je===(5))||(je===(4))){jf=(16===iv.CharacterState);jg=iv.OnWall&&12<=iy.FramesInChState;if(jf||jg){iy.CharacterState=16;}}}if(!((iy.CharacterState===iv.CharacterState))){iy.FramesInChState=0;}jh=(ji=Y[$Int32.keyFor(iy.CharacterState)],ji!==undefined?[ji.v,true]:[false,false]);jj=jh[1];if(jj){iy.ActiveSkillId=-1;iy.ActiveSkillHit=-1;}it++;}jk=bc;jl=0;while(true){if(!(jl=jk.$length)?($throwRuntimeError("index out of range"),undefined):jk.$array[jk.$offset+jl]);jm.Space.Remove(new CB([jm]));jl++;}$s=-1;return new N.ptr(b.Id+1>>0,i,new $Int64(0,0),n,o,new $Uint64(0,0),false,s);}return;}var $f={$blk:AX,$c:true,$r,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,d,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,dp,dq,dr,ds,dt,du,dv,dw,dx,dy,dz,e,ea,eb,ec,ed,ee,ef,eg,eh,ei,ej,ek,el,em,en,eo,ep,eq,er,es,et,eu,ev,ew,ex,ey,ez,f,fa,fb,fc,fd,fe,ff,fg,fh,fi,fj,fk,fl,fm,fn,fo,fp,fq,fr,fs,ft,fu,fv,fw,fx,fy,fz,g,ga,gb,gc,gd,ge,gf,gg,gh,gi,gj,gk,gl,gm,gn,go,gp,gq,gr,gs,gt,gu,gv,gw,gx,gy,gz,h,ha,hb,hc,hd,he,hf,hg,hh,hi,hj,hk,hl,hm,hn,ho,hp,hq,hr,hs,ht,hu,hv,hw,hx,hy,hz,i,ia,ib,ic,id,ie,ig,ih,ii,ij,ik,il,im,io,ip,iq,ir,is,it,iu,iv,iw,ix,iy,iz,j,ja,jb,jc,jd,je,jf,jg,jh,ji,jj,jk,jl,jm,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s};return $f;};$pkg.ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame=AX;AY=function(a,b,c,d,e,f,g,h,i,j,k,l){var{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r,$c}=$restore(this,{a,b,c,d,e,f,g,h,i,j,k,l});$s=$s||0;s:while(true){switch($s){case 0:m=AR(a,b,c*0.5,d*0.5,e,f,g,h,i,j);n=m[0];o=m[1];p=AZ(n,o,g+c+h,f+d+e,k,l);$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;$s=2;case 2:return q;}return;}var $f={$blk:AY,$c:true,$r,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s};return $f;};$pkg.GenerateRectCollider=AY;AZ=function(a,b,c,d,e,f){var{a,b,c,d,e,f,g,h,$s,$r,$c}=$restore(this,{a,b,c,d,e,f});$s=$s||0;s:while(true){switch($s){case 0:g=B.NewObject(a,b,c,d,new BN([f]));h=B.NewRectangle(0,0,c,d);$r=g.SetShape(h);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g.Data=e;$s=-1;return g;}return;}var $f={$blk:AZ,$c:true,$r,a,b,c,d,e,f,g,h,$s};return $f;};BA=function(a,b,c,d,e){var{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r,$c}=$restore(this,{a,b,c,d,e});$s=$s||0;s:while(true){switch($s){case 0:f=BB(a);g=0;h=0;i=g;j=h;k=B.NewConvexPolygon(CC.nil);l=f.Points;m=0;while(true){if(!(m=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]);p=f.Points;q=0;while(true){if(!(q=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]);if(n===r){q++;continue;}if(A.Abs(s.X-o.X)>i){i=A.Abs(s.X-o.X);}if(A.Abs(s.Y-o.Y)>j){j=A.Abs(s.Y-o.Y);}q++;}m++;}t=0;while(true){if(!(t=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+t]));k.AddPoints(new CC([v.X,v.Y]));t=t+(1)>>0;}w=B.NewObject(f.Anchor.X+b,f.Anchor.Y+c,i,j,new BN([e]));$r=w.SetShape(k);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}w.Data=d;$s=-1;return w;}return;}var $f={$blk:BA,$c:true,$r,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s};return $f;};$pkg.GenerateConvexPolygonCollider=BA;BB=function(a){var a,b,c,d,e,f,g,h,i,j,k;b=new C.ptr(1.7e+308,1.7e+308);c=a.Points;d=0;while(true){if(!(d=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);if(e.X=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);(k=f.Points,((i<0||i>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+i]=new C.ptr(j.X-b.X,j.Y-b.Y)));h++;}return f;};$pkg.AlignPolygon2DToBoundingBox=BB;BC=function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;return new K.ptr(u,v,new J.ptr(a,b,c,t),new I.ptr(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,w,x,false));};$pkg.NewMeleeBullet=BC;BD=function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae){var a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;return new L.ptr(u,v,w,x,y,z,aa,0,0,new J.ptr(a,b,c,t),new I.ptr(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,ad,ae,false));};$pkg.NewFireballBullet=BD;CH.methods=[{prop:"Put",name:"Put",pkg:"",typ:$funcType([$emptyInterface],[],false)},{prop:"Pop",name:"Pop",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"GetArrIdxByOffset",name:"GetArrIdxByOffset",pkg:"",typ:$funcType([$Int32],[$Int32],false)},{prop:"GetByOffset",name:"GetByOffset",pkg:"",typ:$funcType([$Int32],[$emptyInterface],false)},{prop:"GetByFrameId",name:"GetByFrameId",pkg:"",typ:$funcType([$Int32],[$emptyInterface],false)},{prop:"SetByFrameId",name:"SetByFrameId",pkg:"",typ:$funcType([$emptyInterface,$Int32],[$Int32,$Int32,$Int32],false)}];C.init("",[{prop:"X",name:"X",embedded:false,exported:true,typ:$Float64,tag:""},{prop:"Y",name:"Y",embedded:false,exported:true,typ:$Float64,tag:""}]);D.init("",[{prop:"Anchor",name:"Anchor",embedded:false,exported:true,typ:CD,tag:""},{prop:"Points",name:"Points",embedded:false,exported:true,typ:CE,tag:""}]);E.init("",[{prop:"Id",name:"Id",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"VirtualGridX",name:"VirtualGridX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"VirtualGridY",name:"VirtualGridY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"DirX",name:"DirX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"DirY",name:"DirY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"VelX",name:"VelX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"VelY",name:"VelY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Speed",name:"Speed",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BattleState",name:"BattleState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"JoinIndex",name:"JoinIndex",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"ColliderRadius",name:"ColliderRadius",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Removed",name:"Removed",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"Score",name:"Score",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"LastMoveGmtMillis",name:"LastMoveGmtMillis",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"FramesToRecover",name:"FramesToRecover",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"FramesInChState",name:"FramesInChState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Hp",name:"Hp",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"MaxHp",name:"MaxHp",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"CharacterState",name:"CharacterState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"InAir",name:"InAir",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"OnWall",name:"OnWall",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"OnWallNormX",name:"OnWallNormX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"OnWallNormY",name:"OnWallNormY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"CapturedByInertia",name:"CapturedByInertia",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"ActiveSkillId",name:"ActiveSkillId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"ActiveSkillHit",name:"ActiveSkillHit",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"FramesInvinsible",name:"FramesInvinsible",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BulletTeamId",name:"BulletTeamId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"ChCollisionTeamId",name:"ChCollisionTeamId",embedded:false,exported:true,typ:$Int32,tag:""}]);F.init("",[{prop:"Dx",name:"Dx",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Dy",name:"Dy",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BtnALevel",name:"BtnALevel",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BtnBLevel",name:"BtnBLevel",embedded:false,exported:true,typ:$Int32,tag:""}]);H.init("",[{prop:"Boundary",name:"Boundary",embedded:false,exported:true,typ:CF,tag:""}]);I.init("",[{prop:"StartupFrames",name:"StartupFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"CancellableStFrame",name:"CancellableStFrame",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"CancellableEdFrame",name:"CancellableEdFrame",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"ActiveFrames",name:"ActiveFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"HitStunFrames",name:"HitStunFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BlockStunFrames",name:"BlockStunFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"PushbackVelX",name:"PushbackVelX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"PushbackVelY",name:"PushbackVelY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Damage",name:"Damage",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"SelfLockVelX",name:"SelfLockVelX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"SelfLockVelY",name:"SelfLockVelY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"HitboxOffsetX",name:"HitboxOffsetX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"HitboxOffsetY",name:"HitboxOffsetY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"HitboxSizeX",name:"HitboxSizeX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"HitboxSizeY",name:"HitboxSizeY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BlowUp",name:"BlowUp",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"ExplosionFrames",name:"ExplosionFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"SpeciesId",name:"SpeciesId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"CancelTransit",name:"CancelTransit",embedded:false,exported:true,typ:CG,tag:""}]);J.init("",[{prop:"BulletLocalId",name:"BulletLocalId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"OriginatedRenderFrameId",name:"OriginatedRenderFrameId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"OffenderJoinIndex",name:"OffenderJoinIndex",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"TeamId",name:"TeamId",embedded:false,exported:true,typ:$Int32,tag:""}]);K.init("",[{prop:"BlState",name:"BlState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"FramesInBlState",name:"FramesInBlState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BattleAttr",name:"BattleAttr",embedded:false,exported:true,typ:BH,tag:""},{prop:"Bullet",name:"Bullet",embedded:false,exported:true,typ:BI,tag:""}]);L.init("",[{prop:"VirtualGridX",name:"VirtualGridX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"VirtualGridY",name:"VirtualGridY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"DirX",name:"DirX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"DirY",name:"DirY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"VelX",name:"VelX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"VelY",name:"VelY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Speed",name:"Speed",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BlState",name:"BlState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"FramesInBlState",name:"FramesInBlState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BattleAttr",name:"BattleAttr",embedded:false,exported:true,typ:BH,tag:""},{prop:"Bullet",name:"Bullet",embedded:false,exported:true,typ:BI,tag:""}]);M.init("",[{prop:"BattleLocalId",name:"BattleLocalId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"RecoveryFrames",name:"RecoveryFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"RecoveryFramesOnBlock",name:"RecoveryFramesOnBlock",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"RecoveryFramesOnHit",name:"RecoveryFramesOnHit",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"ReleaseTriggerType",name:"ReleaseTriggerType",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"BoundChState",name:"BoundChState",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Hits",name:"Hits",embedded:false,exported:true,typ:BG,tag:""}]);N.init("",[{prop:"Id",name:"Id",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"PlayersArr",name:"PlayersArr",embedded:false,exported:true,typ:BV,tag:""},{prop:"CountdownNanos",name:"CountdownNanos",embedded:false,exported:true,typ:$Int64,tag:""},{prop:"MeleeBullets",name:"MeleeBullets",embedded:false,exported:true,typ:BW,tag:""},{prop:"FireballBullets",name:"FireballBullets",embedded:false,exported:true,typ:BX,tag:""},{prop:"BackendUnconfirmedMask",name:"BackendUnconfirmedMask",embedded:false,exported:true,typ:$Uint64,tag:""},{prop:"ShouldForceResync",name:"ShouldForceResync",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"BulletLocalIdCounter",name:"BulletLocalIdCounter",embedded:false,exported:true,typ:$Int32,tag:""}]);O.init("",[{prop:"InputFrameId",name:"InputFrameId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"InputList",name:"InputList",embedded:false,exported:true,typ:BU,tag:""},{prop:"ConfirmedList",name:"ConfirmedList",embedded:false,exported:true,typ:$Uint64,tag:""}]);P.init("",[{prop:"FlAct",name:"FlAct",embedded:false,exported:true,typ:$Uint64,tag:""},{prop:"FrAct",name:"FrAct",embedded:false,exported:true,typ:$Uint64,tag:""},{prop:"X",name:"X",embedded:false,exported:true,typ:$Float64,tag:""},{prop:"Y",name:"Y",embedded:false,exported:true,typ:$Float64,tag:""}]);Q.init("",[{prop:"Ed",name:"Ed",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"St",name:"St",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"EdFrameId",name:"EdFrameId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"StFrameId",name:"StFrameId",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"N",name:"N",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Cnt",name:"Cnt",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Eles",name:"Eles",embedded:false,exported:true,typ:BG,tag:""}]);S.init([$Int,BQ],[$Int],false);T.init("",[{prop:"SpeciesId",name:"SpeciesId",embedded:false,exported:true,typ:$Int,tag:""},{prop:"SpeciesName",name:"SpeciesName",embedded:false,exported:true,typ:$String,tag:""},{prop:"InAirIdleFrameIdxTurningPoint",name:"InAirIdleFrameIdxTurningPoint",embedded:false,exported:true,typ:$Int,tag:""},{prop:"InAirIdleFrameIdxTurnedCycle",name:"InAirIdleFrameIdxTurnedCycle",embedded:false,exported:true,typ:$Int,tag:""},{prop:"LayDownFrames",name:"LayDownFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"LayDownFramesToRecover",name:"LayDownFramesToRecover",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"GetUpInvinsibleFrames",name:"GetUpInvinsibleFrames",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"GetUpFramesToRecover",name:"GetUpFramesToRecover",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"Speed",name:"Speed",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"JumpingInitVelY",name:"JumpingInitVelY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"JumpingFramesToRecover",name:"JumpingFramesToRecover",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"DashingEnabled",name:"DashingEnabled",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"OnWallEnabled",name:"OnWallEnabled",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"WallJumpingFramesToRecover",name:"WallJumpingFramesToRecover",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"WallJumpingInitVelX",name:"WallJumpingInitVelX",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"WallJumpingInitVelY",name:"WallJumpingInitVelY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"WallSlidingVelY",name:"WallSlidingVelY",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"InertiaFramesToRecover",name:"InertiaFramesToRecover",embedded:false,exported:true,typ:$Int32,tag:""},{prop:"SkillMapper",name:"SkillMapper",embedded:false,exported:true,typ:S,tag:""}]);AH.init("",[{prop:"Overlap",name:"Overlap",embedded:false,exported:true,typ:$Float64,tag:""},{prop:"OverlapX",name:"OverlapX",embedded:false,exported:true,typ:$Float64,tag:""},{prop:"OverlapY",name:"OverlapY",embedded:false,exported:true,typ:$Float64,tag:""},{prop:"AContainedInB",name:"AContainedInB",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"BContainedInA",name:"BContainedInA",embedded:false,exported:true,typ:$Bool,tag:""},{prop:"Axis",name:"Axis",embedded:false,exported:true,typ:B.Vector,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.DIRECTION_DECODER=new BF([new BE([0,0]),new BE([0,2]),new BE([0,-2]),new BE([2,0]),new BE([-2,0]),new BE([1,1]),new BE([-1,-1]),new BE([1,-1]),new BE([-1,1])]);U=$makeMap($Int.keyFor,[{k:1,v:new M.ptr(0,30,30,30,1,2,new BG([new K.ptr(0,0,BH.nil,new I.ptr(7,13,30,22,13,9,50,0,5,5,-1,1200,0,2400,3200,false,9,1,$makeMap($Int.keyFor,[{k:1,v:2}])))]))},{k:2,v:new M.ptr(0,36,36,36,1,11,new BG([new K.ptr(0,0,BH.nil,new I.ptr(18,22,36,18,18,9,50,0,5,10,-1,1800,0,2400,3200,false,9,1,$makeMap($Int.keyFor,[{k:1,v:3}])))]))},{k:3,v:new M.ptr(0,50,50,50,1,12,new BG([new K.ptr(0,0,BH.nil,new I.ptr(8,0,0,30,999999999,9,200,700,10,50,500,1600,800,3200,3200,true,9,1,false))]))},{k:4,v:new M.ptr(0,30,30,30,1,2,new BG([new K.ptr(0,0,BH.nil,new I.ptr(7,13,30,22,13,9,50,0,5,5,-1,1200,0,2400,3200,false,15,2,$makeMap($Int.keyFor,[{k:1,v:5}])))]))},{k:5,v:new M.ptr(0,36,36,36,1,11,new BG([new K.ptr(0,0,BH.nil,new I.ptr(18,23,36,18,18,9,50,0,5,10,-1,1800,0,2400,3200,false,15,2,$makeMap($Int.keyFor,[{k:1,v:6}])))]))},{k:6,v:new M.ptr(0,45,45,45,1,12,new BG([new K.ptr(0,0,BH.nil,new I.ptr(8,0,0,28,999999999,9,200,300,10,-1,-1,2400,0,3200,3200,true,15,2,false))]))},{k:7,v:new M.ptr(0,30,30,30,1,2,new BG([new K.ptr(0,0,BH.nil,new I.ptr(7,13,30,22,13,9,50,0,5,-1,-1,1200,0,2400,3200,false,9,1,$makeMap($Int.keyFor,[{k:1,v:8}])))]))},{k:8,v:new M.ptr(0,36,36,36,1,11,new BG([new K.ptr(0,0,BH.nil,new I.ptr(18,22,36,18,18,9,50,0,5,10,-1,1800,0,2400,3200,false,9,1,$makeMap($Int.keyFor,[{k:1,v:9}])))]))},{k:9,v:new M.ptr(0,40,40,40,1,12,new BG([new K.ptr(0,0,BH.nil,new I.ptr(7,0,0,30,999999999,9,200,400,10,100,-1,1000,0,3200,3200,true,9,1,false))]))},{k:10,v:new M.ptr(0,38,38,38,1,13,new BG([new L.ptr(0,0,0,0,0,0,600,0,0,BH.nil,new I.ptr(10,0,0,999999999,15,9,200,0,22,-1,-1,3200,1000,6400,4800,false,10,1,false))]))},{k:11,v:new M.ptr(0,60,60,60,1,14,new BG([new K.ptr(0,0,BH.nil,new I.ptr(3,0,0,25,999999999,9,200,700,35,100,800,800,0,4000,6400,true,15,3,false))]))},{k:12,v:new M.ptr(0,10,10,10,1,15,new BG([new K.ptr(0,0,BH.nil,new I.ptr(3,0,0,0,0,0,-1,-1,0,800,0,0,0,0,0,false,0,0,false))]))},{k:13,v:new M.ptr(0,12,12,12,1,15,new BG([new K.ptr(0,0,BH.nil,new I.ptr(3,0,0,0,0,0,-1,-1,0,900,0,0,0,0,0,false,0,0,false))]))},{k:14,v:new M.ptr(0,10,10,10,1,15,new BG([new K.ptr(0,0,BH.nil,new I.ptr(3,0,0,0,999999999,0,-1,-1,0,700,0,0,0,0,0,false,0,0,false))]))},{k:15,v:new M.ptr(0,48,48,48,1,13,new BG([new L.ptr(0,0,0,0,0,0,400,0,0,BH.nil,new I.ptr(12,0,0,999999999,15,9,300,0,18,-1,-1,2400,800,4800,3200,false,30,2,false))]))},{k:16,v:new M.ptr(0,60,60,60,1,13,new BG([new L.ptr(0,0,0,0,0,0,400,0,0,BH.nil,new I.ptr(16,0,0,999999999,999999999,9,300,700,30,-1,-1,2400,800,4800,3200,true,30,3,false))]))},{k:255,v:new M.ptr(0,30,30,30,1,6,new BG([new K.ptr(0,0,BH.nil,new I.ptr(3,0,0,20,18,9,50,0,5,-1,-1,1200,0,3200,2400,false,9,1,false))]))},{k:256,v:new M.ptr(0,20,20,20,1,6,new BG([new K.ptr(0,0,BH.nil,new I.ptr(3,0,0,10,15,9,50,0,5,-1,-1,1200,0,3200,2400,false,15,2,false))]))},{k:257,v:new M.ptr(0,30,30,30,1,6,new BG([new K.ptr(0,0,BH.nil,new I.ptr(3,0,0,20,18,9,50,0,5,-1,-1,1200,0,3200,2400,false,9,1,false))]))}]);$pkg.Characters=$makeMap($Int.keyFor,[{k:0,v:new T.ptr(0,"MonkGirl",11,1,16,16,10,27,210,800,2,true,true,8,280,700,-100,9,(function(a,b){var a,b,c,d,e,f,g,h,i,j,k,l,m,n;if(1===a){if(0===b.FramesToRecover){if(b.InAir){return 255;}else{return 1;}}else{c=(d=U[$Int.keyFor(((b.ActiveSkillId>>0)))],d!==undefined?[d.v,true]:[BJ.nil,false]);e=c[0];f=c[1];if(f){g=(h=e.Hits,i=b.ActiveSkillHit,((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]));if($assertType(g,BK,true)[1]){j=g.$val;if(j.Bullet.CancellableStFrame<=b.FramesInChState&&b.FramesInChState>0)))],d!==undefined?[d.v,true]:[BJ.nil,false]);e=c[0];f=c[1];if(f){g=(h=e.Hits,i=b.ActiveSkillHit,((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]));if($assertType(g,BK,true)[1]){j=g.$val;if(j.Bullet.CancellableStFrame<=b.FramesInChState&&b.FramesInChState>0)))],d!==undefined?[d.v,true]:[BJ.nil,false]);e=c[0];f=c[1];if(f){g=(h=e.Hits,i=b.ActiveSkillHit,((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]));if($assertType(g,BK,true)[1]){j=g.$val;if(j.Bullet.CancellableStFrame<=b.FramesInChState&&b.FramesInChState=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);g=A.MakeFullWrapper(f);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}c=$append(c,g);e++;$s=1;continue;case 2:$s=-1;return c;}return;}var $f={$blk:O,$c:true,$r,a,b,c,d,e,f,g,$s};return $f;};$pkg.GetCollisionSpaceObjsJs=O;P=function(a,b,c,d,e,f,g,h){var{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r,$c}=$restore(this,{a,b,c,d,e,f,g,h});$s=$s||0;s:while(true){switch($s){case 0:i=0.1;j=0.1;k=0.1;l=0.1;m=i;n=j;o=k;p=l;q=B.GenerateRectCollider(a,b,c,d,m,n,o,p,e,f,g,h);$s=1;case 1:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=A.MakeFullWrapper(q);$s=2;case 2:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=r;$s=3;case 3:return s;}return;}var $f={$blk:P,$c:true,$r,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s};return $f;};$pkg.GenerateRectColliderJs=P;Q=function(a,b,c,d,e){var{a,b,c,d,e,f,g,h,$s,$r,$c}=$restore(this,{a,b,c,d,e});$s=$s||0;s:while(true){switch($s){case 0:f=B.GenerateConvexPolygonCollider(a,b,c,d,e);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=A.MakeFullWrapper(f);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=3;case 3:return h;}return;}var $f={$blk:Q,$c:true,$r,a,b,c,d,e,f,g,h,$s};return $f;};$pkg.GenerateConvexPolygonColliderJs=Q;R=function(a){var{a,b,c,d,e,f,g,h,$s,$r,$c}=$restore(this,{a});$s=$s||0;s:while(true){switch($s){case 0:b=$makeSlice(AF,a.$length,a.$length);c=a;d=0;case 1:if(!(d=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);h=A.MakeFullWrapper((g=B.Characters[$Int.keyFor(f)],g!==undefined?g.v:AG.nil));$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}((e<0||e>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+e]=h);d++;$s=1;continue;case 2:$s=-1;return b;}return;}var $f={$blk:R,$c:true,$r,a,b,c,d,e,f,g,h,$s};return $f;};$pkg.GetCharacterConfigsOrderedByJoinIndex=R;S=function(a,b,c,d,e,f,g){var{a,b,c,d,e,f,g,h,i,j,$s,$r,$c}=$restore(this,{a,b,c,d,e,f,g});$s=$s||0;s:while(true){switch($s){case 0:h=B.ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame(a,b,c,d,e,f,g);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=A.MakeFullWrapper(h);$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=3;case 3:return j;}return;}var $f={$blk:S,$c:true,$r,a,b,c,d,e,f,g,h,i,j,$s};return $f;};$pkg.ApplyInputFrameDownsyncDynamicsOnSingleRenderFrameJs=S;T=function(){$global.gopkgs=$externalize($makeMap($String.keyFor,[{k:"NewVec2DJs",v:new AH(G)},{k:"NewPolygon2DJs",v:new AI(H)},{k:"NewBarrierJs",v:new AJ(I)},{k:"NewPlayerDownsyncJs",v:new AK(J)},{k:"NewMeleeBulletJs",v:new AL(K)},{k:"NewFireballBulletJs",v:new AM(L)},{k:"NewNpcPatrolCue",v:new AN(M)},{k:"NewRoomDownsyncFrameJs",v:new AO(N)},{k:"NewCollisionSpaceJs",v:new AP(F)},{k:"NewInputFrameDownsync",v:new AQ(D)},{k:"NewRingBufferJs",v:new AR(E)},{k:"GenerateRectColliderJs",v:new AS(P)},{k:"GenerateConvexPolygonColliderJs",v:new AT(Q)},{k:"GetCollisionSpaceObjsJs",v:new AV(O)},{k:"WorldToPolygonColliderBLPos",v:new AW(B.WorldToPolygonColliderBLPos)},{k:"PolygonColliderBLToWorldPos",v:new AW(B.PolygonColliderBLToWorldPos)},{k:"WorldToVirtualGridPos",v:new AX(B.WorldToVirtualGridPos)},{k:"VirtualGridToWorldPos",v:new AY(B.VirtualGridToWorldPos)},{k:"GetCharacterConfigsOrderedByJoinIndex",v:new BA(R)},{k:"ApplyInputFrameDownsyncDynamicsOnSingleRenderFrameJs",v:new BG(S)},{k:"ConvertToDelayedInputFrameId",v:new BH(B.ConvertToDelayedInputFrameId)},{k:"ConvertToNoDelayInputFrameId",v:new BH(B.ConvertToNoDelayInputFrameId)},{k:"ConvertToFirstUsedRenderFrameId",v:new BH(B.ConvertToFirstUsedRenderFrameId)},{k:"ConvertToLastUsedRenderFrameId",v:new BH(B.ConvertToLastUsedRenderFrameId)},{k:"ShouldGenerateInputFrameUpsync",v:new BI(B.ShouldGenerateInputFrameUpsync)},{k:"IsMeleeBulletActive",v:new BJ(B.IsMeleeBulletActive)},{k:"IsMeleeBulletAlive",v:new BJ(B.IsMeleeBulletAlive)},{k:"IsFireballBulletActive",v:new BK(B.IsFireballBulletActive)},{k:"IsFireballBulletAlive",v:new BK(B.IsFireballBulletAlive)}]),BL);};$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if($pkg===$mainPkg){T();$mainFinished=true;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$synthesizeMethods();
$initAllLinknames();
diff --git a/frontend/assets/scripts/modules/jsexport.js.meta b/frontend/assets/scripts/modules/jsexport.js.meta
index 1d475e5..577be13 100644
--- a/frontend/assets/scripts/modules/jsexport.js.meta
+++ b/frontend/assets/scripts/modules/jsexport.js.meta
@@ -1,7 +1,7 @@
{
"ver": "1.0.5",
- "uuid": "22e2b0ab-1350-4f5e-9960-f2b45b0bf353",
- "isPlugin": false,
+ "uuid": "171e2c96-28b4-4225-bdcc-5e464f07d91a",
+ "isPlugin": true,
"loadPluginInWeb": true,
"loadPluginInNative": true,
"loadPluginInEditor": false,
diff --git a/jsexport/battle/battle.go b/jsexport/battle/battle.go
index c2c3c98..c391b90 100644
--- a/jsexport/battle/battle.go
+++ b/jsexport/battle/battle.go
@@ -84,6 +84,7 @@ const (
ATK_CHARACTER_STATE_ONWALL = int32(16)
ATK_CHARACTER_STATE_TURNAROUND = int32(17)
+ ATK_CHARACTER_STATE_DYING = int32(18)
)
var inAirSet = map[int32]bool{
@@ -531,7 +532,7 @@ It's not easy to remove all of the dynamic heap-memory blocks allocation/dealloc
```
func overwriteRoomDownsyncFrame(src *RoomDownsyncFrame, dst *RoomDownsyncFrame) {
- // Copy "src" into "dst" down to every primitive field
+ // Copy "src" into "dst" down to every primitive field; as for a same room, the "RenderFrameBuffer" is always accessed (R & W) by a same kernel thread (both frontend & backend), no thread-safety concern here
}
type Room struct {
diff --git a/jsexport/battle/characterConfig.go b/jsexport/battle/characterConfig.go
index d78feab..f302374 100644
--- a/jsexport/battle/characterConfig.go
+++ b/jsexport/battle/characterConfig.go
@@ -51,8 +51,12 @@ var Characters = map[int]*CharacterConfig{
InertiaFramesToRecover: int32(9),
- DashingEnabled: false,
- OnWallEnabled: false,
+ DashingEnabled: true,
+ OnWallEnabled: true,
+ WallJumpingFramesToRecover: int32(8), // 8 would be the minimum for an avg human
+ WallJumpingInitVelX: int32(float64(2.8) * WORLD_TO_VIRTUAL_GRID_RATIO), // Default is "appeared facing right", but actually holding ctrl against left
+ WallJumpingInitVelY: int32(float64(7) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ WallSlidingVelY: int32(float64(-1) * WORLD_TO_VIRTUAL_GRID_RATIO),
SkillMapper: func(patternId int, currPlayerDownsync *PlayerDownsync) int {
if 1 == patternId {
@@ -75,6 +79,15 @@ var Characters = map[int]*CharacterConfig{
}
}
}
+ } else if 3 == patternId {
+ if 0 == currPlayerDownsync.FramesToRecover && !currPlayerDownsync.InAir {
+ return 15
+ }
+ } else if 5 == patternId {
+ // Dashing is already constrained by "FramesToRecover & CapturedByInertia" in "deriveOpPattern"
+ if !currPlayerDownsync.InAir {
+ return 12
+ }
}
// By default no skill can be fired
@@ -128,9 +141,14 @@ var Characters = map[int]*CharacterConfig{
}
}
}
+ } else if 3 == patternId {
+ if 0 == currPlayerDownsync.FramesToRecover && !currPlayerDownsync.InAir {
+ return 16
+ }
} else if 5 == patternId {
+ // Air dash allowed for this character
// Dashing is already constrained by "FramesToRecover & CapturedByInertia" in "deriveOpPattern"
- return 12
+ return 13
}
// By default no skill can be fired
@@ -156,7 +174,7 @@ var Characters = map[int]*CharacterConfig{
InertiaFramesToRecover: int32(9),
- DashingEnabled: false,
+ DashingEnabled: true,
OnWallEnabled: false,
SkillMapper: func(patternId int, currPlayerDownsync *PlayerDownsync) int {
@@ -188,6 +206,11 @@ var Characters = map[int]*CharacterConfig{
if 0 == currPlayerDownsync.FramesToRecover && !currPlayerDownsync.InAir {
return 10
}
+ } else if 5 == patternId {
+ // Dashing is already constrained by "FramesToRecover & CapturedByInertia" in "deriveOpPattern"
+ if !currPlayerDownsync.InAir {
+ return 14
+ }
}
// By default no skill can be fired
@@ -492,30 +515,30 @@ var skills = map[int]*Skill{
},
},
10: &Skill{
- RecoveryFrames: int32(40),
- RecoveryFramesOnBlock: int32(40),
- RecoveryFramesOnHit: int32(40),
+ RecoveryFrames: int32(38),
+ RecoveryFramesOnBlock: int32(38),
+ RecoveryFramesOnHit: int32(38),
ReleaseTriggerType: int32(1),
BoundChState: ATK_CHARACTER_STATE_ATK4,
Hits: []interface{}{
&FireballBullet{
- Speed: int32(float64(5) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ Speed: int32(float64(6) * WORLD_TO_VIRTUAL_GRID_RATIO),
Bullet: &BulletConfig{
- StartupFrames: int32(12),
+ StartupFrames: int32(10),
ActiveFrames: MAX_INT32,
HitStunFrames: int32(15),
BlockStunFrames: int32(9),
- Damage: int32(20),
+ Damage: int32(22),
SelfLockVelX: NO_LOCK_VEL,
SelfLockVelY: NO_LOCK_VEL,
PushbackVelX: int32(float64(2) * WORLD_TO_VIRTUAL_GRID_RATIO),
PushbackVelY: int32(0),
- HitboxOffsetX: int32(float64(24) * WORLD_TO_VIRTUAL_GRID_RATIO),
- HitboxOffsetY: int32(float64(8) * WORLD_TO_VIRTUAL_GRID_RATIO),
- HitboxSizeX: int32(float64(48) * WORLD_TO_VIRTUAL_GRID_RATIO),
- HitboxSizeY: int32(float64(32) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ HitboxOffsetX: int32(float64(32) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ HitboxOffsetY: int32(float64(10) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ HitboxSizeX: int32(float64(64) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ HitboxSizeY: int32(float64(48) * WORLD_TO_VIRTUAL_GRID_RATIO),
BlowUp: false,
- ExplosionFrames: 15,
+ ExplosionFrames: 10,
SpeciesId: int32(1),
},
},
@@ -534,7 +557,7 @@ var skills = map[int]*Skill{
ActiveFrames: int32(25),
HitStunFrames: MAX_INT32,
BlockStunFrames: int32(9),
- Damage: int32(30),
+ Damage: int32(35),
SelfLockVelX: int32(float64(1) * WORLD_TO_VIRTUAL_GRID_RATIO),
SelfLockVelY: int32(float64(8) * WORLD_TO_VIRTUAL_GRID_RATIO),
PushbackVelX: int32(float64(2) * WORLD_TO_VIRTUAL_GRID_RATIO),
@@ -551,6 +574,33 @@ var skills = map[int]*Skill{
},
},
12: &Skill{
+ RecoveryFrames: int32(10),
+ RecoveryFramesOnBlock: int32(10),
+ RecoveryFramesOnHit: int32(10),
+ ReleaseTriggerType: int32(1),
+ BoundChState: ATK_CHARACTER_STATE_DASHING,
+ Hits: []interface{}{
+ &MeleeBullet{
+ Bullet: &BulletConfig{
+ StartupFrames: int32(3),
+ ActiveFrames: int32(0),
+ HitStunFrames: int32(0),
+ BlockStunFrames: int32(0),
+ Damage: int32(0),
+ SelfLockVelX: int32(float64(8) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ SelfLockVelY: int32(0),
+ PushbackVelX: NO_LOCK_VEL,
+ PushbackVelY: NO_LOCK_VEL,
+ HitboxOffsetX: int32(0),
+ HitboxOffsetY: int32(0),
+ HitboxSizeX: int32(0),
+ HitboxSizeY: int32(0),
+ BlowUp: false,
+ },
+ },
+ },
+ },
+ 13: &Skill{
RecoveryFrames: int32(12),
RecoveryFramesOnBlock: int32(12),
RecoveryFramesOnHit: int32(12),
@@ -559,9 +609,9 @@ var skills = map[int]*Skill{
Hits: []interface{}{
&MeleeBullet{
Bullet: &BulletConfig{
- StartupFrames: int32(0),
+ StartupFrames: int32(3),
ActiveFrames: int32(0),
- HitStunFrames: MAX_INT32,
+ HitStunFrames: int32(0),
BlockStunFrames: int32(0),
Damage: int32(0),
SelfLockVelX: int32(float64(9) * WORLD_TO_VIRTUAL_GRID_RATIO),
@@ -577,6 +627,93 @@ var skills = map[int]*Skill{
},
},
},
+ 14: &Skill{
+ RecoveryFrames: int32(10),
+ RecoveryFramesOnBlock: int32(10),
+ RecoveryFramesOnHit: int32(10),
+ ReleaseTriggerType: int32(1),
+ BoundChState: ATK_CHARACTER_STATE_DASHING,
+ Hits: []interface{}{
+ &MeleeBullet{
+ Bullet: &BulletConfig{
+ StartupFrames: int32(3),
+ ActiveFrames: int32(0),
+ HitStunFrames: MAX_INT32,
+ BlockStunFrames: int32(0),
+ Damage: int32(0),
+ SelfLockVelX: int32(float64(7) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ SelfLockVelY: int32(0),
+ PushbackVelX: NO_LOCK_VEL,
+ PushbackVelY: NO_LOCK_VEL,
+ HitboxOffsetX: int32(0),
+ HitboxOffsetY: int32(0),
+ HitboxSizeX: int32(0),
+ HitboxSizeY: int32(0),
+ BlowUp: false,
+ },
+ },
+ },
+ },
+ 15: &Skill{
+ RecoveryFrames: int32(48),
+ RecoveryFramesOnBlock: int32(48),
+ RecoveryFramesOnHit: int32(48),
+ ReleaseTriggerType: int32(1),
+ BoundChState: ATK_CHARACTER_STATE_ATK4,
+ Hits: []interface{}{
+ &FireballBullet{
+ Speed: int32(float64(4) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ Bullet: &BulletConfig{
+ StartupFrames: int32(12),
+ ActiveFrames: MAX_INT32,
+ HitStunFrames: int32(15),
+ BlockStunFrames: int32(9),
+ Damage: int32(18),
+ SelfLockVelX: NO_LOCK_VEL,
+ SelfLockVelY: NO_LOCK_VEL,
+ PushbackVelX: int32(float64(3) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ PushbackVelY: int32(0),
+ HitboxOffsetX: int32(float64(24) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ HitboxOffsetY: int32(float64(8) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ HitboxSizeX: int32(float64(48) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ HitboxSizeY: int32(float64(32) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ BlowUp: false,
+ ExplosionFrames: 30,
+ SpeciesId: int32(2),
+ },
+ },
+ },
+ },
+ 16: &Skill{
+ RecoveryFrames: int32(60),
+ RecoveryFramesOnBlock: int32(60),
+ RecoveryFramesOnHit: int32(60),
+ ReleaseTriggerType: int32(1),
+ BoundChState: ATK_CHARACTER_STATE_ATK4,
+ Hits: []interface{}{
+ &FireballBullet{
+ Speed: int32(float64(4) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ Bullet: &BulletConfig{
+ StartupFrames: int32(16),
+ ActiveFrames: MAX_INT32,
+ HitStunFrames: MAX_INT32,
+ BlockStunFrames: int32(9),
+ Damage: int32(30),
+ SelfLockVelX: NO_LOCK_VEL,
+ SelfLockVelY: NO_LOCK_VEL,
+ PushbackVelX: int32(float64(3) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ PushbackVelY: int32(float64(7) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ HitboxOffsetX: int32(float64(24) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ HitboxOffsetY: int32(float64(8) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ HitboxSizeX: int32(float64(48) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ HitboxSizeY: int32(float64(32) * WORLD_TO_VIRTUAL_GRID_RATIO),
+ BlowUp: true,
+ ExplosionFrames: 30,
+ SpeciesId: int32(3),
+ },
+ },
+ },
+ },
255: &Skill{
RecoveryFrames: int32(30),
RecoveryFramesOnBlock: int32(30),