mirror of
https://github.com/genxium/DelayNoMore
synced 2025-11-29 01:18:59 +00:00
Enhanced multihit config.
This commit is contained in:
@@ -4724,7 +4724,7 @@ $packages["resolv"] = (function() {
|
||||
return $pkg;
|
||||
})();
|
||||
$packages["jsexport/battle"] = (function() {
|
||||
var $pkg = {}, $init, math, resolv, Vec2D, Polygon2D, PlayerDownsync, InputFrameDecoded, Barrier, Bullet, MeleeBullet, FireballBullet, Skill, RoomDownsyncFrame, InputFrameDownsync, RingBuffer, CharacterConfig, SatResult, sliceType, sliceType$1, sliceType$2, ptrType, sliceType$3, sliceType$4, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, sliceType$5, ptrType$7, sliceType$6, sliceType$7, sliceType$8, sliceType$9, ptrType$8, sliceType$10, ptrType$9, sliceType$11, sliceType$12, ptrType$10, sliceType$13, ptrType$11, mapType, ptrType$12, skills, inAirSet, noOpSet, invinsibleSet, nonAttackingSet, NewRingBuffer, ConvertToInputFrameId, decodeInput, CalcPushbacks, isPolygonPairOverlapped, isPolygonPairSeparatedByDir, WorldToVirtualGridPos, VirtualGridToWorldPos, WorldToPolygonColliderBLPos, PolygonColliderBLToWorldPos, PolygonColliderBLToVirtualGridPos, VirtualGridToPolygonColliderBLPos, calcHardPushbacksNorms, deriveOpPattern, ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame, GenerateRectCollider, generateRectColliderInCollisionSpace, GenerateConvexPolygonCollider, AlignPolygon2DToBoundingBox;
|
||||
var $pkg = {}, $init, math, resolv, Vec2D, Polygon2D, PlayerDownsync, InputFrameDecoded, Barrier, Bullet, MeleeBullet, FireballBullet, Skill, RoomDownsyncFrame, InputFrameDownsync, RingBuffer, SkillMapperType, CharacterConfig, SatResult, sliceType, sliceType$1, sliceType$2, ptrType, ptrType$1, ptrType$2, sliceType$3, sliceType$4, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, sliceType$5, sliceType$6, sliceType$7, sliceType$8, sliceType$9, ptrType$8, sliceType$10, ptrType$9, sliceType$11, sliceType$12, ptrType$10, sliceType$13, ptrType$11, mapType, ptrType$12, skills, inAirSet, noOpSet, invinsibleSet, nonAttackingSet, NewRingBuffer, ConvertToInputFrameId, decodeInput, CalcPushbacks, isPolygonPairOverlapped, isPolygonPairSeparatedByDir, WorldToVirtualGridPos, VirtualGridToWorldPos, WorldToPolygonColliderBLPos, PolygonColliderBLToWorldPos, PolygonColliderBLToVirtualGridPos, VirtualGridToPolygonColliderBLPos, calcHardPushbacksNorms, deriveOpPattern, ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame, GenerateRectCollider, generateRectColliderInCollisionSpace, GenerateConvexPolygonCollider, AlignPolygon2DToBoundingBox;
|
||||
math = $packages["math"];
|
||||
resolv = $packages["resolv"];
|
||||
Vec2D = $pkg.Vec2D = $newType(0, $kindStruct, "battle.Vec2D", true, "jsexport/battle", true, function(X_, Y_) {
|
||||
@@ -4819,7 +4819,7 @@ $packages["jsexport/battle"] = (function() {
|
||||
}
|
||||
this.Boundary = Boundary_;
|
||||
});
|
||||
Bullet = $pkg.Bullet = $newType(0, $kindStruct, "battle.Bullet", true, "jsexport/battle", true, function(OriginatedRenderFrameId_, OffenderJoinIndex_, StartupFrames_, CancellableStFrame_, CancellableEdFrame_, ActiveFrames_, HitStunFrames_, BlockStunFrames_, PushbackVelX_, PushbackVelY_, Damage_, SelfLockVelX_, SelfLockVelY_, HitboxOffsetX_, HitboxOffsetY_, HitboxSizeX_, HitboxSizeY_, BlowUp_) {
|
||||
Bullet = $pkg.Bullet = $newType(0, $kindStruct, "battle.Bullet", true, "jsexport/battle", true, function(OriginatedRenderFrameId_, OffenderJoinIndex_, StartupFrames_, CancellableStFrame_, CancellableEdFrame_, ActiveFrames_, HitStunFrames_, BlockStunFrames_, PushbackVelX_, PushbackVelY_, Damage_, SelfLockVelX_, SelfLockVelY_, HitboxOffsetX_, HitboxOffsetY_, HitboxSizeX_, HitboxSizeY_, BlowUp_, CancelTransit_) {
|
||||
this.$val = this;
|
||||
if (arguments.length === 0) {
|
||||
this.OriginatedRenderFrameId = 0;
|
||||
@@ -4840,6 +4840,7 @@ $packages["jsexport/battle"] = (function() {
|
||||
this.HitboxSizeX = 0;
|
||||
this.HitboxSizeY = 0;
|
||||
this.BlowUp = false;
|
||||
this.CancelTransit = false;
|
||||
return;
|
||||
}
|
||||
this.OriginatedRenderFrameId = OriginatedRenderFrameId_;
|
||||
@@ -4860,11 +4861,12 @@ $packages["jsexport/battle"] = (function() {
|
||||
this.HitboxSizeX = HitboxSizeX_;
|
||||
this.HitboxSizeY = HitboxSizeY_;
|
||||
this.BlowUp = BlowUp_;
|
||||
this.CancelTransit = CancelTransit_;
|
||||
});
|
||||
MeleeBullet = $pkg.MeleeBullet = $newType(0, $kindStruct, "battle.MeleeBullet", true, "jsexport/battle", true, function(Bullet_) {
|
||||
this.$val = this;
|
||||
if (arguments.length === 0) {
|
||||
this.Bullet = new Bullet.ptr(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
|
||||
this.Bullet = new Bullet.ptr(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false, false);
|
||||
return;
|
||||
}
|
||||
this.Bullet = Bullet_;
|
||||
@@ -4879,7 +4881,7 @@ $packages["jsexport/battle"] = (function() {
|
||||
this.VelX = 0;
|
||||
this.VelY = 0;
|
||||
this.Speed = 0;
|
||||
this.Bullet = new Bullet.ptr(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
|
||||
this.Bullet = new Bullet.ptr(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false, false);
|
||||
return;
|
||||
}
|
||||
this.VirtualGridX = VirtualGridX_;
|
||||
@@ -4891,7 +4893,7 @@ $packages["jsexport/battle"] = (function() {
|
||||
this.Speed = Speed_;
|
||||
this.Bullet = Bullet_;
|
||||
});
|
||||
Skill = $pkg.Skill = $newType(0, $kindStruct, "battle.Skill", true, "jsexport/battle", true, function(BattleLocalId_, RecoveryFrames_, RecoveryFramesOnBlock_, RecoveryFramesOnHit_, ReleaseTriggerType_, Hits_) {
|
||||
Skill = $pkg.Skill = $newType(0, $kindStruct, "battle.Skill", true, "jsexport/battle", true, function(BattleLocalId_, RecoveryFrames_, RecoveryFramesOnBlock_, RecoveryFramesOnHit_, ReleaseTriggerType_, BoundChState_, Hits_) {
|
||||
this.$val = this;
|
||||
if (arguments.length === 0) {
|
||||
this.BattleLocalId = 0;
|
||||
@@ -4899,7 +4901,8 @@ $packages["jsexport/battle"] = (function() {
|
||||
this.RecoveryFramesOnBlock = 0;
|
||||
this.RecoveryFramesOnHit = 0;
|
||||
this.ReleaseTriggerType = 0;
|
||||
this.Hits = sliceType.nil;
|
||||
this.BoundChState = 0;
|
||||
this.Hits = sliceType$2.nil;
|
||||
return;
|
||||
}
|
||||
this.BattleLocalId = BattleLocalId_;
|
||||
@@ -4907,6 +4910,7 @@ $packages["jsexport/battle"] = (function() {
|
||||
this.RecoveryFramesOnBlock = RecoveryFramesOnBlock_;
|
||||
this.RecoveryFramesOnHit = RecoveryFramesOnHit_;
|
||||
this.ReleaseTriggerType = ReleaseTriggerType_;
|
||||
this.BoundChState = BoundChState_;
|
||||
this.Hits = Hits_;
|
||||
});
|
||||
RoomDownsyncFrame = $pkg.RoomDownsyncFrame = $newType(0, $kindStruct, "battle.RoomDownsyncFrame", true, "jsexport/battle", true, function(Id_, PlayersArr_, CountdownNanos_, MeleeBullets_, FireballBullets_, BackendUnconfirmedMask_, ShouldForceResync_, PlayerOpPatternToSkillId_) {
|
||||
@@ -4952,7 +4956,7 @@ $packages["jsexport/battle"] = (function() {
|
||||
this.StFrameId = 0;
|
||||
this.N = 0;
|
||||
this.Cnt = 0;
|
||||
this.Eles = sliceType.nil;
|
||||
this.Eles = sliceType$2.nil;
|
||||
return;
|
||||
}
|
||||
this.Ed = Ed_;
|
||||
@@ -4963,7 +4967,8 @@ $packages["jsexport/battle"] = (function() {
|
||||
this.Cnt = Cnt_;
|
||||
this.Eles = Eles_;
|
||||
});
|
||||
CharacterConfig = $pkg.CharacterConfig = $newType(0, $kindStruct, "battle.CharacterConfig", true, "jsexport/battle", true, function(SpeciesId_, SpeciesName_, InAirIdleFrameIdxTurningPoint_, InAirIdleFrameIdxTurnedCycle_, LayDownFrames_, LayDownFramesToRecover_, GetUpFrames_, GetUpFramesToRecover_, JumpingInitVelY_, PatternIdToSkillId_) {
|
||||
SkillMapperType = $pkg.SkillMapperType = $newType(4, $kindFunc, "battle.SkillMapperType", true, "jsexport/battle", true, null);
|
||||
CharacterConfig = $pkg.CharacterConfig = $newType(0, $kindStruct, "battle.CharacterConfig", true, "jsexport/battle", true, function(SpeciesId_, SpeciesName_, InAirIdleFrameIdxTurningPoint_, InAirIdleFrameIdxTurnedCycle_, LayDownFrames_, LayDownFramesToRecover_, GetUpFrames_, GetUpFramesToRecover_, JumpingInitVelY_, SkillMapper_) {
|
||||
this.$val = this;
|
||||
if (arguments.length === 0) {
|
||||
this.SpeciesId = 0;
|
||||
@@ -4975,7 +4980,7 @@ $packages["jsexport/battle"] = (function() {
|
||||
this.GetUpFrames = 0;
|
||||
this.GetUpFramesToRecover = 0;
|
||||
this.JumpingInitVelY = 0;
|
||||
this.PatternIdToSkillId = false;
|
||||
this.SkillMapper = $throwNilPointerError;
|
||||
return;
|
||||
}
|
||||
this.SpeciesId = SpeciesId_;
|
||||
@@ -4987,7 +4992,7 @@ $packages["jsexport/battle"] = (function() {
|
||||
this.GetUpFrames = GetUpFrames_;
|
||||
this.GetUpFramesToRecover = GetUpFramesToRecover_;
|
||||
this.JumpingInitVelY = JumpingInitVelY_;
|
||||
this.PatternIdToSkillId = PatternIdToSkillId_;
|
||||
this.SkillMapper = SkillMapper_;
|
||||
});
|
||||
SatResult = $pkg.SatResult = $newType(0, $kindStruct, "battle.SatResult", true, "jsexport/battle", true, function(Overlap_, OverlapX_, OverlapY_, AContainedInB_, BContainedInA_, Axis_) {
|
||||
this.$val = this;
|
||||
@@ -5007,23 +5012,23 @@ $packages["jsexport/battle"] = (function() {
|
||||
this.BContainedInA = BContainedInA_;
|
||||
this.Axis = Axis_;
|
||||
});
|
||||
sliceType = $sliceType($emptyInterface);
|
||||
sliceType$1 = $sliceType($Int32);
|
||||
sliceType$2 = $sliceType(sliceType$1);
|
||||
ptrType = $ptrType(SatResult);
|
||||
sliceType = $sliceType($Int32);
|
||||
sliceType$1 = $sliceType(sliceType);
|
||||
sliceType$2 = $sliceType($emptyInterface);
|
||||
ptrType = $ptrType(Skill);
|
||||
ptrType$1 = $ptrType(MeleeBullet);
|
||||
ptrType$2 = $ptrType(SatResult);
|
||||
sliceType$3 = $sliceType(Vec2D);
|
||||
sliceType$4 = $sliceType($String);
|
||||
ptrType$1 = $ptrType(resolv.Collision);
|
||||
ptrType$2 = $ptrType(sliceType$3);
|
||||
ptrType$3 = $ptrType(PlayerDownsync);
|
||||
ptrType$4 = $ptrType(MeleeBullet);
|
||||
ptrType$5 = $ptrType(resolv.ConvexPolygon);
|
||||
ptrType$6 = $ptrType(InputFrameDownsync);
|
||||
ptrType$3 = $ptrType(resolv.Collision);
|
||||
ptrType$4 = $ptrType(sliceType$3);
|
||||
ptrType$5 = $ptrType(PlayerDownsync);
|
||||
ptrType$6 = $ptrType(resolv.ConvexPolygon);
|
||||
ptrType$7 = $ptrType(InputFrameDownsync);
|
||||
sliceType$5 = $sliceType($Uint64);
|
||||
ptrType$7 = $ptrType(Skill);
|
||||
sliceType$6 = $sliceType(ptrType$3);
|
||||
sliceType$7 = $sliceType(ptrType$4);
|
||||
sliceType$8 = $sliceType(ptrType$2);
|
||||
sliceType$6 = $sliceType(ptrType$5);
|
||||
sliceType$7 = $sliceType(ptrType$1);
|
||||
sliceType$8 = $sliceType(ptrType$4);
|
||||
sliceType$9 = $sliceType($Bool);
|
||||
ptrType$8 = $ptrType(resolv.Object);
|
||||
sliceType$10 = $sliceType(ptrType$8);
|
||||
@@ -5037,7 +5042,7 @@ $packages["jsexport/battle"] = (function() {
|
||||
ptrType$12 = $ptrType(RingBuffer);
|
||||
NewRingBuffer = function(n) {
|
||||
var n;
|
||||
return new RingBuffer.ptr(0, 0, 0, 0, n, 0, $makeSlice(sliceType, n));
|
||||
return new RingBuffer.ptr(0, 0, 0, 0, n, 0, $makeSlice(sliceType$2, n));
|
||||
};
|
||||
$pkg.NewRingBuffer = NewRingBuffer;
|
||||
RingBuffer.ptr.prototype.Put = function(pItem) {
|
||||
@@ -5190,8 +5195,8 @@ $packages["jsexport/battle"] = (function() {
|
||||
$24r$1 = [false, 0, 0, overlapResult];
|
||||
$s = 5; case 5: return $24r$1;
|
||||
/* } */ case 3:
|
||||
$s = -1; return [false, 0, 0, ptrType.nil];
|
||||
/* */ } return; } } catch(err) { $err = err; $s = -1; return [false, 0, 0, ptrType.nil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: CalcPushbacks, $c: true, $r, $24r, $24r$1, _tmp, _tmp$1, _tuple, barrierShape, oldDx, oldDy, origX, origY, overlapResult, overlapped, playerShape, pushbackX, pushbackY, $s, $deferred};return $f; } }
|
||||
$s = -1; return [false, 0, 0, ptrType$2.nil];
|
||||
/* */ } return; } } catch(err) { $err = err; $s = -1; return [false, 0, 0, ptrType$2.nil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: CalcPushbacks, $c: true, $r, $24r, $24r$1, _tmp, _tmp$1, _tuple, barrierShape, oldDx, oldDy, origX, origY, overlapResult, overlapped, playerShape, pushbackX, pushbackY, $s, $deferred};return $f; } }
|
||||
};
|
||||
$pkg.CalcPushbacks = CalcPushbacks;
|
||||
isPolygonPairOverlapped = function(a, b, result) {
|
||||
@@ -5201,7 +5206,7 @@ $packages["jsexport/battle"] = (function() {
|
||||
aCnt = _tmp;
|
||||
bCnt = _tmp$1;
|
||||
if ((1 === aCnt) && (1 === bCnt)) {
|
||||
if (!(ptrType.nil === result)) {
|
||||
if (!(ptrType$2.nil === result)) {
|
||||
result.Overlap = 0;
|
||||
}
|
||||
return ((x = (x$1 = a.Points, (0 >= x$1.$length ? ($throwRuntimeError("index out of range"), undefined) : x$1.$array[x$1.$offset + 0])), (0 >= x.$length ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + 0])) === (x$2 = (x$3 = b.Points, (0 >= x$3.$length ? ($throwRuntimeError("index out of range"), undefined) : x$3.$array[x$3.$offset + 0])), (0 >= x$2.$length ? ($throwRuntimeError("index out of range"), undefined) : x$2.$array[x$2.$offset + 0]))) && ((x$4 = (x$5 = a.Points, (0 >= x$5.$length ? ($throwRuntimeError("index out of range"), undefined) : x$5.$array[x$5.$offset + 0])), (1 >= x$4.$length ? ($throwRuntimeError("index out of range"), undefined) : x$4.$array[x$4.$offset + 1])) === (x$6 = (x$7 = b.Points, (0 >= x$7.$length ? ($throwRuntimeError("index out of range"), undefined) : x$7.$array[x$7.$offset + 0])), (1 >= x$6.$length ? ($throwRuntimeError("index out of range"), undefined) : x$6.$array[x$6.$offset + 1])));
|
||||
@@ -5273,7 +5278,7 @@ $packages["jsexport/battle"] = (function() {
|
||||
if (aStart > bEnd || aEnd < bStart) {
|
||||
return true;
|
||||
}
|
||||
if (!(ptrType.nil === result)) {
|
||||
if (!(ptrType$2.nil === result)) {
|
||||
overlap = 0;
|
||||
if (aStart < bStart) {
|
||||
result.AContainedInB = false;
|
||||
@@ -5368,8 +5373,8 @@ $packages["jsexport/battle"] = (function() {
|
||||
ret = [ret];
|
||||
ret[0] = $makeSlice(sliceType$3, 0, 10);
|
||||
collision = playerCollider.Check(0, 0, new sliceType$4([]));
|
||||
if (ptrType$1.nil === collision) {
|
||||
$s = -1; return (ret.$ptr || (ret.$ptr = new ptrType$2(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, ret)));
|
||||
if (ptrType$3.nil === collision) {
|
||||
$s = -1; return (ret.$ptr || (ret.$ptr = new ptrType$4(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, ret)));
|
||||
}
|
||||
_ref = collision.Objects;
|
||||
_i = 0;
|
||||
@@ -5378,8 +5383,8 @@ $packages["jsexport/battle"] = (function() {
|
||||
obj = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]);
|
||||
isBarrier = false;
|
||||
_ref$1 = obj.Data;
|
||||
if ($assertType(_ref$1, ptrType$3, true)[1]) {
|
||||
} else if ($assertType(_ref$1, ptrType$4, true)[1]) {
|
||||
if ($assertType(_ref$1, ptrType$5, true)[1]) {
|
||||
} else if ($assertType(_ref$1, ptrType$1, true)[1]) {
|
||||
} else {
|
||||
isBarrier = true;
|
||||
}
|
||||
@@ -5387,7 +5392,7 @@ $packages["jsexport/battle"] = (function() {
|
||||
_i++;
|
||||
/* continue; */ $s = 1; continue;
|
||||
}
|
||||
barrierShape = $assertType(obj.Shape, ptrType$5);
|
||||
barrierShape = $assertType(obj.Shape, ptrType$6);
|
||||
_r = CalcPushbacks(0, 0, playerShape, barrierShape); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
|
||||
_tuple = _r;
|
||||
overlapped = _tuple[0];
|
||||
@@ -5408,11 +5413,11 @@ $packages["jsexport/battle"] = (function() {
|
||||
_i++;
|
||||
$s = 1; continue;
|
||||
case 2:
|
||||
$s = -1; return (ret.$ptr || (ret.$ptr = new ptrType$2(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, ret)));
|
||||
$s = -1; return (ret.$ptr || (ret.$ptr = new ptrType$4(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, ret)));
|
||||
/* */ } return; } var $f = {$blk: calcHardPushbacksNorms, $c: true, $r, _i, _r, _ref, _ref$1, _tmp, _tmp$1, _tuple, barrierShape, collision, isBarrier, joinIndex, obj, overlapResult, overlapped, pEffPushback, playerCollider, playerShape, pushbackX, pushbackY, ret, snapIntoPlatformOverlap, $s};return $f;
|
||||
};
|
||||
deriveOpPattern = function(currPlayerDownsync, thatPlayerInNextFrame, currRenderFrame, inputsBuffer, inputDelayFrames, inputScaleFrames) {
|
||||
var _entry, _entry$1, _entry$2, _ref, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tuple, _tuple$1, currPlayerDownsync, currRenderFrame, decodedInput, delayedInputFrameId, delayedInputFrameIdForPrevRdf, delayedInputList, delayedInputListForPrevRdf, effDx, effDy, existent, existent$1, inputDelayFrames, inputScaleFrames, inputsBuffer, joinIndex, jumpedOrNot, patternId, prevBtnALevel, prevBtnBLevel, prevDecodedInput, skillConfig, thatPlayerInNextFrame, v, x, x$1, x$2, x$3;
|
||||
var _entry, _entry$1, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tuple, _tuple$1, currPlayerDownsync, currRenderFrame, decodedInput, delayedInputFrameId, delayedInputFrameIdForPrevRdf, delayedInputList, delayedInputListForPrevRdf, effDx, effDy, existent, existent$1, inputDelayFrames, inputScaleFrames, inputsBuffer, joinIndex, jumpedOrNot, patternId, prevBtnALevel, prevBtnBLevel, prevDecodedInput, thatPlayerInNextFrame, x, x$1;
|
||||
delayedInputFrameId = ConvertToInputFrameId(currRenderFrame.Id, inputDelayFrames, inputScaleFrames);
|
||||
delayedInputFrameIdForPrevRdf = ConvertToInputFrameId(currRenderFrame.Id - 1 >> 0, inputDelayFrames, inputScaleFrames);
|
||||
if (0 >= delayedInputFrameId) {
|
||||
@@ -5423,10 +5428,10 @@ $packages["jsexport/battle"] = (function() {
|
||||
if (existent) {
|
||||
return [-2, false, 0, 0];
|
||||
}
|
||||
delayedInputList = $assertType(inputsBuffer.GetByFrameId(delayedInputFrameId), ptrType$6).InputList;
|
||||
delayedInputList = $assertType(inputsBuffer.GetByFrameId(delayedInputFrameId), ptrType$7).InputList;
|
||||
delayedInputListForPrevRdf = sliceType$5.nil;
|
||||
if (0 < delayedInputFrameIdForPrevRdf) {
|
||||
delayedInputListForPrevRdf = $assertType(inputsBuffer.GetByFrameId(delayedInputFrameIdForPrevRdf), ptrType$6).InputList;
|
||||
delayedInputListForPrevRdf = $assertType(inputsBuffer.GetByFrameId(delayedInputFrameIdForPrevRdf), ptrType$7).InputList;
|
||||
}
|
||||
jumpedOrNot = false;
|
||||
joinIndex = currPlayerDownsync.JoinIndex;
|
||||
@@ -5459,27 +5464,12 @@ $packages["jsexport/battle"] = (function() {
|
||||
}
|
||||
patternId = -1;
|
||||
if (decodedInput.BtnALevel > prevBtnALevel) {
|
||||
if (currPlayerDownsync.InAir) {
|
||||
patternId = 255;
|
||||
} else {
|
||||
patternId = 1;
|
||||
}
|
||||
}
|
||||
if (!((-1 === patternId)) && 0 < currPlayerDownsync.FramesToRecover) {
|
||||
patternId = -1;
|
||||
skillConfig = (_entry$2 = skills[$Int.keyFor(((currPlayerDownsync.ActiveSkillId >> 0)))], _entry$2 !== undefined ? _entry$2.v : ptrType$7.nil);
|
||||
_ref = (x$2 = skillConfig.Hits, x$3 = currPlayerDownsync.ActiveSkillHit, ((x$3 < 0 || x$3 >= x$2.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$2.$array[x$2.$offset + x$3]));
|
||||
if ($assertType(_ref, ptrType$4, true)[1]) {
|
||||
v = _ref.$val;
|
||||
if (v.Bullet.CancellableStFrame <= currPlayerDownsync.FramesInChState && currPlayerDownsync.FramesInChState < v.Bullet.CancellableEdFrame) {
|
||||
patternId = (((currPlayerDownsync.ActiveSkillId + 1 >> 0) >> 0));
|
||||
}
|
||||
}
|
||||
patternId = 1;
|
||||
}
|
||||
return [patternId, jumpedOrNot, effDx, effDy];
|
||||
};
|
||||
ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame = function(inputsBuffer, currRenderFrame, collisionSys, collisionSysMap, collisionSpaceOffsetX, collisionSpaceOffsetY, chConfigsOrderedByJoinIndex) {
|
||||
var {_1, _2, _entry, _entry$1, _entry$2, _entry$3, _entry$4, _entry$5, _entry$6, _i, _i$1, _i$2, _i$3, _i$4, _i$5, _i$6, _i$7, _i$8, _i$9, _index, _index$1, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _ref$10, _ref$11, _ref$12, _ref$13, _ref$2, _ref$3, _ref$4, _ref$5, _ref$6, _ref$7, _ref$8, _ref$9, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, atkedPlayerInNextFrame, bShape, bulletCollider, bulletColliders, bulletShape, bulletWx, bulletWy, chConfig, chConfig$1, chConfig$2, chConfigsOrderedByJoinIndex, collision, collision$1, collisionPlayerIndex, collisionPlayerIndex$1, collisionPlayerIndex$2, collisionSpaceOffsetX, collisionSpaceOffsetY, collisionSys, collisionSysMap, currPlayerDownsync, currPlayerDownsync$1, currPlayerDownsync$2, currPlayerDownsync$3, currPlayerDownsync$4, currRenderFrame, defenderShape, effDx, effDy, effPushbacks, existent, existent$1, existent$2, hardPushbackNorm, hardPushbackNorms, hitboxSizeWx, hitboxSizeWy, i, i$1, i$2, i$3, i$4, inputsBuffer, isAnotherPlayer, isBarrier, isBullet, joinIndex, joinIndex$1, joinIndex$2, joinIndex$3, jumpedOrNot, jumpedOrNotList, landedOnGravityPushback, meleeBullet, newBullet, newBulletCollider, newVx, newVy, nextRenderFrameMeleeBullets, nextRenderFramePlayers, normAlignmentWithGravity, obj, obj$1, offender, offender$1, oldFramesToRecover, oldNextCharacterState, overlapResult, overlapped, overlapped$1, patternId, playerCollider, playerCollider$1, playerCollider$2, playerShape, projectedMagnitude, pushbackVelX, pushbackVelY, pushbackX, pushbackY, roomCapacity, skillConfig, skillId, t, t$1, thatPlayerInNextFrame, thatPlayerInNextFrame$1, thatPlayerInNextFrame$2, thatPlayerInNextFrame$3, v, v$1, x, x$1, x$10, x$11, x$12, x$13, x$14, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, xfac, xfac$1, $s, $r, $c} = $restore(this, {inputsBuffer, currRenderFrame, collisionSys, collisionSysMap, collisionSpaceOffsetX, collisionSpaceOffsetY, chConfigsOrderedByJoinIndex});
|
||||
var {_1, _entry, _entry$1, _entry$2, _entry$3, _entry$4, _entry$5, _i, _i$1, _i$2, _i$3, _i$4, _i$5, _i$6, _i$7, _i$8, _i$9, _index, _index$1, _r, _r$1, _r$2, _r$3, _r$4, _ref, _ref$1, _ref$10, _ref$11, _ref$12, _ref$13, _ref$2, _ref$3, _ref$4, _ref$5, _ref$6, _ref$7, _ref$8, _ref$9, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, atkedPlayerInNextFrame, bShape, bulletCollider, bulletColliders, bulletShape, bulletWx, bulletWy, chConfig, chConfig$1, chConfig$2, chConfigsOrderedByJoinIndex, collision, collision$1, collisionPlayerIndex, collisionPlayerIndex$1, collisionPlayerIndex$2, collisionSpaceOffsetX, collisionSpaceOffsetY, collisionSys, collisionSysMap, currPlayerDownsync, currPlayerDownsync$1, currPlayerDownsync$2, currPlayerDownsync$3, currPlayerDownsync$4, currRenderFrame, defenderShape, effDx, effDy, effPushbacks, existent, existent$1, existent$2, hardPushbackNorm, hardPushbackNorms, hitboxSizeWx, hitboxSizeWy, i, i$1, i$2, i$3, i$4, inputsBuffer, isAnotherPlayer, isBarrier, isBullet, joinIndex, joinIndex$1, joinIndex$2, joinIndex$3, jumpedOrNot, jumpedOrNotList, landedOnGravityPushback, meleeBullet, newBullet, newBulletCollider, newVx, newVy, nextRenderFrameMeleeBullets, nextRenderFramePlayers, normAlignmentWithGravity, obj, obj$1, offender, offender$1, oldFramesToRecover, oldNextCharacterState, overlapResult, overlapped, overlapped$1, patternId, playerCollider, playerCollider$1, playerCollider$2, playerShape, projectedMagnitude, pushbackVelX, pushbackVelY, pushbackX, pushbackY, roomCapacity, skillConfig, skillId, t, t$1, thatPlayerInNextFrame, thatPlayerInNextFrame$1, thatPlayerInNextFrame$2, thatPlayerInNextFrame$3, v, v$1, x, x$1, x$10, x$11, x$12, x$13, x$14, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, xfac, xfac$1, $s, $r, $c} = $restore(this, {inputsBuffer, currRenderFrame, collisionSys, collisionSysMap, collisionSpaceOffsetX, collisionSpaceOffsetY, chConfigsOrderedByJoinIndex});
|
||||
/* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
|
||||
roomCapacity = currRenderFrame.PlayersArr.$length;
|
||||
nextRenderFramePlayers = $makeSlice(sliceType$6, roomCapacity);
|
||||
@@ -5501,8 +5491,8 @@ $packages["jsexport/battle"] = (function() {
|
||||
jumpedOrNotList = $makeSlice(sliceType$9, roomCapacity);
|
||||
_ref$1 = currRenderFrame.PlayersArr;
|
||||
_i$1 = 0;
|
||||
while (true) {
|
||||
if (!(_i$1 < _ref$1.$length)) { break; }
|
||||
/* while (true) { */ case 1:
|
||||
/* if (!(_i$1 < _ref$1.$length)) { break; } */ if(!(_i$1 < _ref$1.$length)) { $s = 2; continue; }
|
||||
newBullet = [newBullet];
|
||||
i$1 = _i$1;
|
||||
currPlayerDownsync$1 = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]);
|
||||
@@ -5519,37 +5509,29 @@ $packages["jsexport/battle"] = (function() {
|
||||
((i$1 < 0 || i$1 >= jumpedOrNotList.$length) ? ($throwRuntimeError("index out of range"), undefined) : jumpedOrNotList.$array[jumpedOrNotList.$offset + i$1] = true);
|
||||
}
|
||||
joinIndex = currPlayerDownsync$1.JoinIndex;
|
||||
if (!((-1 === patternId))) {
|
||||
_tuple$1 = (_entry = chConfig.PatternIdToSkillId[$Int.keyFor(patternId)], _entry !== undefined ? [_entry.v, true] : [0, false]);
|
||||
skillId = _tuple$1[0];
|
||||
existent = _tuple$1[1];
|
||||
if (existent) {
|
||||
skillConfig = (_entry$1 = skills[$Int.keyFor(skillId)], _entry$1 !== undefined ? _entry$1.v : ptrType$7.nil);
|
||||
thatPlayerInNextFrame.ActiveSkillId = ((skillId >> 0));
|
||||
thatPlayerInNextFrame.ActiveSkillHit = 0;
|
||||
_ref$2 = (x = skillConfig.Hits, x$1 = thatPlayerInNextFrame.ActiveSkillHit, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + x$1]));
|
||||
if ($assertType(_ref$2, ptrType$4, true)[1]) {
|
||||
v = _ref$2.$val;
|
||||
newBullet[0] = $clone(v, MeleeBullet);
|
||||
newBullet[0].Bullet.OriginatedRenderFrameId = currRenderFrame.Id;
|
||||
newBullet[0].Bullet.OffenderJoinIndex = joinIndex;
|
||||
nextRenderFrameMeleeBullets = $append(nextRenderFrameMeleeBullets, newBullet[0]);
|
||||
thatPlayerInNextFrame.FramesToRecover = skillConfig.RecoveryFrames;
|
||||
}
|
||||
_1 = skillId;
|
||||
if (_1 === (1)) {
|
||||
thatPlayerInNextFrame.CharacterState = 2;
|
||||
} else if (_1 === (2)) {
|
||||
thatPlayerInNextFrame.CharacterState = 11;
|
||||
} else if (_1 === (3)) {
|
||||
thatPlayerInNextFrame.CharacterState = 12;
|
||||
}
|
||||
if (false === currPlayerDownsync$1.InAir) {
|
||||
thatPlayerInNextFrame.VelX = 0;
|
||||
}
|
||||
_i$1++;
|
||||
continue;
|
||||
_r = chConfig.SkillMapper(patternId, currPlayerDownsync$1); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
|
||||
skillId = _r;
|
||||
_tuple$1 = (_entry = skills[$Int.keyFor(skillId)], _entry !== undefined ? [_entry.v, true] : [ptrType.nil, false]);
|
||||
skillConfig = _tuple$1[0];
|
||||
existent = _tuple$1[1];
|
||||
if (existent) {
|
||||
thatPlayerInNextFrame.ActiveSkillId = ((skillId >> 0));
|
||||
thatPlayerInNextFrame.ActiveSkillHit = 0;
|
||||
_ref$2 = (x = skillConfig.Hits, x$1 = thatPlayerInNextFrame.ActiveSkillHit, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + x$1]));
|
||||
if ($assertType(_ref$2, ptrType$1, true)[1]) {
|
||||
v = _ref$2.$val;
|
||||
newBullet[0] = $clone(v, MeleeBullet);
|
||||
newBullet[0].Bullet.OriginatedRenderFrameId = currRenderFrame.Id;
|
||||
newBullet[0].Bullet.OffenderJoinIndex = joinIndex;
|
||||
nextRenderFrameMeleeBullets = $append(nextRenderFrameMeleeBullets, newBullet[0]);
|
||||
thatPlayerInNextFrame.FramesToRecover = skillConfig.RecoveryFrames;
|
||||
}
|
||||
thatPlayerInNextFrame.CharacterState = skillConfig.BoundChState;
|
||||
if (false === currPlayerDownsync$1.InAir) {
|
||||
thatPlayerInNextFrame.VelX = 0;
|
||||
}
|
||||
_i$1++;
|
||||
/* continue; */ $s = 1; continue;
|
||||
}
|
||||
if (0 === currPlayerDownsync$1.FramesToRecover) {
|
||||
if (!((0 === effDx)) || !((0 === effDy))) {
|
||||
@@ -5565,11 +5547,12 @@ $packages["jsexport/battle"] = (function() {
|
||||
}
|
||||
}
|
||||
_i$1++;
|
||||
}
|
||||
$s = 1; continue;
|
||||
case 2:
|
||||
_ref$3 = currRenderFrame.PlayersArr;
|
||||
_i$2 = 0;
|
||||
/* while (true) { */ case 1:
|
||||
/* if (!(_i$2 < _ref$3.$length)) { break; } */ if(!(_i$2 < _ref$3.$length)) { $s = 2; continue; }
|
||||
/* while (true) { */ case 4:
|
||||
/* if (!(_i$2 < _ref$3.$length)) { break; } */ if(!(_i$2 < _ref$3.$length)) { $s = 5; continue; }
|
||||
i$2 = _i$2;
|
||||
currPlayerDownsync$2 = ((_i$2 < 0 || _i$2 >= _ref$3.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$3.$array[_ref$3.$offset + _i$2]);
|
||||
joinIndex$1 = currPlayerDownsync$2.JoinIndex;
|
||||
@@ -5578,7 +5561,7 @@ $packages["jsexport/battle"] = (function() {
|
||||
(x$2 = joinIndex$1 - 1 >> 0, ((x$2 < 0 || x$2 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$2])).X = _tmp$2;
|
||||
(x$3 = joinIndex$1 - 1 >> 0, ((x$3 < 0 || x$3 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$3])).Y = _tmp$3;
|
||||
collisionPlayerIndex = 131072 + joinIndex$1 >> 0;
|
||||
playerCollider = (_entry$2 = collisionSysMap[$Int32.keyFor(collisionPlayerIndex)], _entry$2 !== undefined ? _entry$2.v : ptrType$8.nil);
|
||||
playerCollider = (_entry$1 = collisionSysMap[$Int32.keyFor(collisionPlayerIndex)], _entry$1 !== undefined ? _entry$1.v : ptrType$8.nil);
|
||||
thatPlayerInNextFrame$1 = ((i$2 < 0 || i$2 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + i$2]);
|
||||
chConfig$1 = ((i$2 < 0 || i$2 >= chConfigsOrderedByJoinIndex.$length) ? ($throwRuntimeError("index out of range"), undefined) : chConfigsOrderedByJoinIndex.$array[chConfigsOrderedByJoinIndex.$offset + i$2]);
|
||||
_tmp$4 = currPlayerDownsync$2.VirtualGridX + currPlayerDownsync$2.VelX >> 0;
|
||||
@@ -5591,23 +5574,23 @@ $packages["jsexport/battle"] = (function() {
|
||||
_tuple$2 = VirtualGridToPolygonColliderBLPos(newVx, newVy, playerCollider.W * 0.5, playerCollider.H * 0.5, 0, 0, 0, 0, collisionSpaceOffsetX, collisionSpaceOffsetY);
|
||||
playerCollider.X = _tuple$2[0];
|
||||
playerCollider.Y = _tuple$2[1];
|
||||
$r = playerCollider.Update(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
||||
$r = playerCollider.Update(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
||||
if (currPlayerDownsync$2.InAir) {
|
||||
thatPlayerInNextFrame$1.VelX = thatPlayerInNextFrame$1.VelX + (0) >> 0;
|
||||
thatPlayerInNextFrame$1.VelY = thatPlayerInNextFrame$1.VelY + (-50) >> 0;
|
||||
}
|
||||
_i$2++;
|
||||
$s = 1; continue;
|
||||
case 2:
|
||||
$s = 4; continue;
|
||||
case 5:
|
||||
bulletColliders = $makeSlice(sliceType$10, 0, currRenderFrame.MeleeBullets.$length);
|
||||
_ref$4 = currRenderFrame.MeleeBullets;
|
||||
_i$3 = 0;
|
||||
/* while (true) { */ case 4:
|
||||
/* if (!(_i$3 < _ref$4.$length)) { break; } */ if(!(_i$3 < _ref$4.$length)) { $s = 5; continue; }
|
||||
/* while (true) { */ case 7:
|
||||
/* if (!(_i$3 < _ref$4.$length)) { break; } */ if(!(_i$3 < _ref$4.$length)) { $s = 8; continue; }
|
||||
meleeBullet = ((_i$3 < 0 || _i$3 >= _ref$4.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$4.$array[_ref$4.$offset + _i$3]);
|
||||
/* */ if (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) <= currRenderFrame.Id) && (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) + meleeBullet.Bullet.ActiveFrames >> 0) > currRenderFrame.Id)) { $s = 6; continue; }
|
||||
/* */ $s = 7; continue;
|
||||
/* if (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) <= currRenderFrame.Id) && (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) + meleeBullet.Bullet.ActiveFrames >> 0) > currRenderFrame.Id)) { */ case 6:
|
||||
/* */ if (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) <= currRenderFrame.Id) && (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) + meleeBullet.Bullet.ActiveFrames >> 0) > currRenderFrame.Id)) { $s = 9; continue; }
|
||||
/* */ $s = 10; continue;
|
||||
/* if (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) <= currRenderFrame.Id) && (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) + meleeBullet.Bullet.ActiveFrames >> 0) > currRenderFrame.Id)) { */ case 9:
|
||||
offender = (x$4 = currRenderFrame.PlayersArr, x$5 = meleeBullet.Bullet.OffenderJoinIndex - 1 >> 0, ((x$5 < 0 || x$5 >= x$4.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$4.$array[x$4.$offset + x$5]));
|
||||
xfac = 1;
|
||||
if (0 > offender.DirX) {
|
||||
@@ -5619,40 +5602,40 @@ $packages["jsexport/battle"] = (function() {
|
||||
_tuple$4 = VirtualGridToWorldPos(meleeBullet.Bullet.HitboxSizeX, meleeBullet.Bullet.HitboxSizeY);
|
||||
hitboxSizeWx = _tuple$4[0];
|
||||
hitboxSizeWy = _tuple$4[1];
|
||||
_r = GenerateRectCollider(bulletWx, bulletWy, hitboxSizeWx, hitboxSizeWy, 0.1, 0.1, 0.1, 0.1, collisionSpaceOffsetX, collisionSpaceOffsetY, meleeBullet, "MeleeBullet"); /* */ $s = 9; case 9: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
|
||||
newBulletCollider = _r;
|
||||
$r = collisionSys.Add(new sliceType$10([newBulletCollider])); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
||||
_r$1 = GenerateRectCollider(bulletWx, bulletWy, hitboxSizeWx, hitboxSizeWy, 0.1, 0.1, 0.1, 0.1, collisionSpaceOffsetX, collisionSpaceOffsetY, meleeBullet, "MeleeBullet"); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
|
||||
newBulletCollider = _r$1;
|
||||
$r = collisionSys.Add(new sliceType$10([newBulletCollider])); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
||||
bulletColliders = $append(bulletColliders, newBulletCollider);
|
||||
$s = 8; continue;
|
||||
/* } else { */ case 7:
|
||||
$s = 11; continue;
|
||||
/* } else { */ case 10:
|
||||
nextRenderFrameMeleeBullets = $append(nextRenderFrameMeleeBullets, meleeBullet);
|
||||
/* } */ case 8:
|
||||
/* } */ case 11:
|
||||
_i$3++;
|
||||
$s = 4; continue;
|
||||
case 5:
|
||||
$s = 7; continue;
|
||||
case 8:
|
||||
_ref$5 = currRenderFrame.PlayersArr;
|
||||
_i$4 = 0;
|
||||
/* while (true) { */ case 11:
|
||||
/* if (!(_i$4 < _ref$5.$length)) { break; } */ if(!(_i$4 < _ref$5.$length)) { $s = 12; continue; }
|
||||
/* while (true) { */ case 14:
|
||||
/* if (!(_i$4 < _ref$5.$length)) { break; } */ if(!(_i$4 < _ref$5.$length)) { $s = 15; continue; }
|
||||
i$3 = _i$4;
|
||||
currPlayerDownsync$3 = ((_i$4 < 0 || _i$4 >= _ref$5.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$5.$array[_ref$5.$offset + _i$4]);
|
||||
joinIndex$2 = currPlayerDownsync$3.JoinIndex;
|
||||
collisionPlayerIndex$1 = 131072 + joinIndex$2 >> 0;
|
||||
playerCollider$1 = (_entry$3 = collisionSysMap[$Int32.keyFor(collisionPlayerIndex$1)], _entry$3 !== undefined ? _entry$3.v : ptrType$8.nil);
|
||||
playerShape = $assertType(playerCollider$1.Shape, ptrType$5);
|
||||
_r$1 = calcHardPushbacksNorms(joinIndex$2, playerCollider$1, playerShape, 0.1, (x$6 = joinIndex$2 - 1 >> 0, ((x$6 < 0 || x$6 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$6]))); /* */ $s = 13; case 13: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }
|
||||
(x$7 = joinIndex$2 - 1 >> 0, ((x$7 < 0 || x$7 >= hardPushbackNorms.$length) ? ($throwRuntimeError("index out of range"), undefined) : hardPushbackNorms.$array[hardPushbackNorms.$offset + x$7] = _r$1));
|
||||
playerCollider$1 = (_entry$2 = collisionSysMap[$Int32.keyFor(collisionPlayerIndex$1)], _entry$2 !== undefined ? _entry$2.v : ptrType$8.nil);
|
||||
playerShape = $assertType(playerCollider$1.Shape, ptrType$6);
|
||||
_r$2 = calcHardPushbacksNorms(joinIndex$2, playerCollider$1, playerShape, 0.1, (x$6 = joinIndex$2 - 1 >> 0, ((x$6 < 0 || x$6 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$6]))); /* */ $s = 16; case 16: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
|
||||
(x$7 = joinIndex$2 - 1 >> 0, ((x$7 < 0 || x$7 >= hardPushbackNorms.$length) ? ($throwRuntimeError("index out of range"), undefined) : hardPushbackNorms.$array[hardPushbackNorms.$offset + x$7] = _r$2));
|
||||
thatPlayerInNextFrame$2 = ((i$3 < 0 || i$3 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + i$3]);
|
||||
chConfig$2 = ((i$3 < 0 || i$3 >= chConfigsOrderedByJoinIndex.$length) ? ($throwRuntimeError("index out of range"), undefined) : chConfigsOrderedByJoinIndex.$array[chConfigsOrderedByJoinIndex.$offset + i$3]);
|
||||
landedOnGravityPushback = false;
|
||||
collision = playerCollider$1.Check(0, 0, new sliceType$4([]));
|
||||
/* */ if (!(ptrType$1.nil === collision)) { $s = 14; continue; }
|
||||
/* */ $s = 15; continue;
|
||||
/* if (!(ptrType$1.nil === collision)) { */ case 14:
|
||||
/* */ if (!(ptrType$3.nil === collision)) { $s = 17; continue; }
|
||||
/* */ $s = 18; continue;
|
||||
/* if (!(ptrType$3.nil === collision)) { */ case 17:
|
||||
_ref$6 = collision.Objects;
|
||||
_i$5 = 0;
|
||||
/* while (true) { */ case 16:
|
||||
/* if (!(_i$5 < _ref$6.$length)) { break; } */ if(!(_i$5 < _ref$6.$length)) { $s = 17; continue; }
|
||||
/* while (true) { */ case 19:
|
||||
/* if (!(_i$5 < _ref$6.$length)) { break; } */ if(!(_i$5 < _ref$6.$length)) { $s = 20; continue; }
|
||||
obj = ((_i$5 < 0 || _i$5 >= _ref$6.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$6.$array[_ref$6.$offset + _i$5]);
|
||||
_tmp$6 = false;
|
||||
_tmp$7 = false;
|
||||
@@ -5661,27 +5644,27 @@ $packages["jsexport/battle"] = (function() {
|
||||
isAnotherPlayer = _tmp$7;
|
||||
isBullet = _tmp$8;
|
||||
_ref$7 = obj.Data;
|
||||
if ($assertType(_ref$7, ptrType$3, true)[1]) {
|
||||
if ($assertType(_ref$7, ptrType$5, true)[1]) {
|
||||
isAnotherPlayer = true;
|
||||
} else if ($assertType(_ref$7, ptrType$4, true)[1]) {
|
||||
} else if ($assertType(_ref$7, ptrType$1, true)[1]) {
|
||||
isBullet = true;
|
||||
} else {
|
||||
isBarrier = true;
|
||||
}
|
||||
if (isBullet) {
|
||||
_i$5++;
|
||||
/* continue; */ $s = 16; continue;
|
||||
/* continue; */ $s = 19; continue;
|
||||
}
|
||||
bShape = $assertType(obj.Shape, ptrType$5);
|
||||
_r$2 = CalcPushbacks(0, 0, playerShape, bShape); /* */ $s = 18; case 18: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }
|
||||
_tuple$5 = _r$2;
|
||||
bShape = $assertType(obj.Shape, ptrType$6);
|
||||
_r$3 = CalcPushbacks(0, 0, playerShape, bShape); /* */ $s = 21; case 21: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
|
||||
_tuple$5 = _r$3;
|
||||
overlapped = _tuple$5[0];
|
||||
pushbackX = _tuple$5[1];
|
||||
pushbackY = _tuple$5[2];
|
||||
overlapResult = _tuple$5[3];
|
||||
if (!overlapped) {
|
||||
_i$5++;
|
||||
/* continue; */ $s = 16; continue;
|
||||
/* continue; */ $s = 19; continue;
|
||||
}
|
||||
normAlignmentWithGravity = overlapResult.OverlapX * 0 + overlapResult.OverlapY * -1;
|
||||
if (isAnotherPlayer) {
|
||||
@@ -5710,9 +5693,9 @@ $packages["jsexport/battle"] = (function() {
|
||||
landedOnGravityPushback = true;
|
||||
}
|
||||
_i$5++;
|
||||
$s = 16; continue;
|
||||
case 17:
|
||||
/* } */ case 15:
|
||||
$s = 19; continue;
|
||||
case 20:
|
||||
/* } */ case 18:
|
||||
if (landedOnGravityPushback) {
|
||||
thatPlayerInNextFrame$2.InAir = false;
|
||||
if (currPlayerDownsync$3.InAir && 0 >= currPlayerDownsync$3.VelY) {
|
||||
@@ -5739,54 +5722,54 @@ $packages["jsexport/battle"] = (function() {
|
||||
}
|
||||
}
|
||||
_i$4++;
|
||||
$s = 11; continue;
|
||||
case 12:
|
||||
$s = 14; continue;
|
||||
case 15:
|
||||
_ref$9 = bulletColliders;
|
||||
_i$7 = 0;
|
||||
/* while (true) { */ case 19:
|
||||
/* if (!(_i$7 < _ref$9.$length)) { break; } */ if(!(_i$7 < _ref$9.$length)) { $s = 20; continue; }
|
||||
/* while (true) { */ case 22:
|
||||
/* if (!(_i$7 < _ref$9.$length)) { break; } */ if(!(_i$7 < _ref$9.$length)) { $s = 23; continue; }
|
||||
bulletCollider = ((_i$7 < 0 || _i$7 >= _ref$9.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$9.$array[_ref$9.$offset + _i$7]);
|
||||
collision$1 = bulletCollider.Check(0, 0, new sliceType$4([]));
|
||||
bulletCollider.Space.Remove(new sliceType$10([bulletCollider]));
|
||||
_ref$10 = bulletCollider.Data;
|
||||
/* */ if ($assertType(_ref$10, ptrType$4, true)[1]) { $s = 21; continue; }
|
||||
/* */ $s = 22; continue;
|
||||
/* if ($assertType(_ref$10, ptrType$4, true)[1]) { */ case 21:
|
||||
/* */ if ($assertType(_ref$10, ptrType$1, true)[1]) { $s = 24; continue; }
|
||||
/* */ $s = 25; continue;
|
||||
/* if ($assertType(_ref$10, ptrType$1, true)[1]) { */ case 24:
|
||||
v$1 = _ref$10.$val;
|
||||
if (ptrType$1.nil === collision$1) {
|
||||
if (ptrType$3.nil === collision$1) {
|
||||
nextRenderFrameMeleeBullets = $append(nextRenderFrameMeleeBullets, v$1);
|
||||
_i$7++;
|
||||
/* continue; */ $s = 19; continue;
|
||||
/* continue; */ $s = 22; continue;
|
||||
}
|
||||
bulletShape = $assertType(bulletCollider.Shape, ptrType$5);
|
||||
bulletShape = $assertType(bulletCollider.Shape, ptrType$6);
|
||||
offender$1 = (x$9 = currRenderFrame.PlayersArr, x$10 = v$1.Bullet.OffenderJoinIndex - 1 >> 0, ((x$10 < 0 || x$10 >= x$9.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$9.$array[x$9.$offset + x$10]));
|
||||
_ref$11 = collision$1.Objects;
|
||||
_i$8 = 0;
|
||||
/* while (true) { */ case 23:
|
||||
/* if (!(_i$8 < _ref$11.$length)) { break; } */ if(!(_i$8 < _ref$11.$length)) { $s = 24; continue; }
|
||||
/* while (true) { */ case 26:
|
||||
/* if (!(_i$8 < _ref$11.$length)) { break; } */ if(!(_i$8 < _ref$11.$length)) { $s = 27; continue; }
|
||||
obj$1 = ((_i$8 < 0 || _i$8 >= _ref$11.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$11.$array[_ref$11.$offset + _i$8]);
|
||||
defenderShape = $assertType(obj$1.Shape, ptrType$5);
|
||||
defenderShape = $assertType(obj$1.Shape, ptrType$6);
|
||||
_ref$12 = obj$1.Data;
|
||||
/* */ if ($assertType(_ref$12, ptrType$3, true)[1]) { $s = 25; continue; }
|
||||
/* */ $s = 26; continue;
|
||||
/* if ($assertType(_ref$12, ptrType$3, true)[1]) { */ case 25:
|
||||
/* */ if ($assertType(_ref$12, ptrType$5, true)[1]) { $s = 28; continue; }
|
||||
/* */ $s = 29; continue;
|
||||
/* if ($assertType(_ref$12, ptrType$5, true)[1]) { */ case 28:
|
||||
t = _ref$12.$val;
|
||||
if (v$1.Bullet.OffenderJoinIndex === t.JoinIndex) {
|
||||
_i$8++;
|
||||
/* continue; */ $s = 23; continue;
|
||||
/* continue; */ $s = 26; continue;
|
||||
}
|
||||
_tuple$6 = (_entry$4 = invinsibleSet[$Int32.keyFor(t.CharacterState)], _entry$4 !== undefined ? [_entry$4.v, true] : [false, false]);
|
||||
_tuple$6 = (_entry$3 = invinsibleSet[$Int32.keyFor(t.CharacterState)], _entry$3 !== undefined ? [_entry$3.v, true] : [false, false]);
|
||||
existent$1 = _tuple$6[1];
|
||||
if (existent$1) {
|
||||
_i$8++;
|
||||
/* continue; */ $s = 23; continue;
|
||||
/* continue; */ $s = 26; continue;
|
||||
}
|
||||
_r$3 = CalcPushbacks(0, 0, bulletShape, defenderShape); /* */ $s = 28; case 28: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }
|
||||
_tuple$7 = _r$3;
|
||||
_r$4 = CalcPushbacks(0, 0, bulletShape, defenderShape); /* */ $s = 31; case 31: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }
|
||||
_tuple$7 = _r$4;
|
||||
overlapped$1 = _tuple$7[0];
|
||||
if (!overlapped$1) {
|
||||
_i$8++;
|
||||
/* continue; */ $s = 23; continue;
|
||||
/* continue; */ $s = 26; continue;
|
||||
}
|
||||
xfac$1 = 1;
|
||||
if (0 > offender$1.DirX) {
|
||||
@@ -5808,17 +5791,17 @@ $packages["jsexport/battle"] = (function() {
|
||||
if (v$1.Bullet.HitStunFrames > oldFramesToRecover) {
|
||||
atkedPlayerInNextFrame.FramesToRecover = v$1.Bullet.HitStunFrames;
|
||||
}
|
||||
$s = 27; continue;
|
||||
/* } else { */ case 26:
|
||||
$s = 30; continue;
|
||||
/* } else { */ case 29:
|
||||
t$1 = _ref$12;
|
||||
/* } */ case 27:
|
||||
/* } */ case 30:
|
||||
_i$8++;
|
||||
$s = 23; continue;
|
||||
case 24:
|
||||
/* } */ case 22:
|
||||
$s = 26; continue;
|
||||
case 27:
|
||||
/* } */ case 25:
|
||||
_i$7++;
|
||||
$s = 19; continue;
|
||||
case 20:
|
||||
$s = 22; continue;
|
||||
case 23:
|
||||
_ref$13 = currRenderFrame.PlayersArr;
|
||||
_i$9 = 0;
|
||||
while (true) {
|
||||
@@ -5827,30 +5810,30 @@ $packages["jsexport/battle"] = (function() {
|
||||
currPlayerDownsync$4 = ((_i$9 < 0 || _i$9 >= _ref$13.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$13.$array[_ref$13.$offset + _i$9]);
|
||||
joinIndex$3 = currPlayerDownsync$4.JoinIndex;
|
||||
collisionPlayerIndex$2 = 131072 + joinIndex$3 >> 0;
|
||||
playerCollider$2 = (_entry$5 = collisionSysMap[$Int32.keyFor(collisionPlayerIndex$2)], _entry$5 !== undefined ? _entry$5.v : ptrType$8.nil);
|
||||
playerCollider$2 = (_entry$4 = collisionSysMap[$Int32.keyFor(collisionPlayerIndex$2)], _entry$4 !== undefined ? _entry$4.v : ptrType$8.nil);
|
||||
thatPlayerInNextFrame$3 = ((i$4 < 0 || i$4 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + i$4]);
|
||||
_tuple$8 = PolygonColliderBLToVirtualGridPos(playerCollider$2.X - (x$13 = joinIndex$3 - 1 >> 0, ((x$13 < 0 || x$13 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$13])).X, playerCollider$2.Y - (x$14 = joinIndex$3 - 1 >> 0, ((x$14 < 0 || x$14 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$14])).Y, playerCollider$2.W * 0.5, playerCollider$2.H * 0.5, 0, 0, 0, 0, collisionSpaceOffsetX, collisionSpaceOffsetY);
|
||||
thatPlayerInNextFrame$3.VirtualGridX = _tuple$8[0];
|
||||
thatPlayerInNextFrame$3.VirtualGridY = _tuple$8[1];
|
||||
if (thatPlayerInNextFrame$3.InAir) {
|
||||
oldNextCharacterState = thatPlayerInNextFrame$3.CharacterState;
|
||||
_2 = oldNextCharacterState;
|
||||
if ((_2 === (0)) || (_2 === (1))) {
|
||||
_1 = oldNextCharacterState;
|
||||
if ((_1 === (0)) || (_1 === (1))) {
|
||||
if (((i$4 < 0 || i$4 >= jumpedOrNotList.$length) ? ($throwRuntimeError("index out of range"), undefined) : jumpedOrNotList.$array[jumpedOrNotList.$offset + i$4]) || (5 === currPlayerDownsync$4.CharacterState)) {
|
||||
thatPlayerInNextFrame$3.CharacterState = 5;
|
||||
} else {
|
||||
thatPlayerInNextFrame$3.CharacterState = 4;
|
||||
}
|
||||
} else if (_2 === (2)) {
|
||||
} else if (_1 === (2)) {
|
||||
thatPlayerInNextFrame$3.CharacterState = 6;
|
||||
} else if (_2 === (3)) {
|
||||
} else if (_1 === (3)) {
|
||||
thatPlayerInNextFrame$3.CharacterState = 7;
|
||||
}
|
||||
}
|
||||
if (!((thatPlayerInNextFrame$3.CharacterState === currPlayerDownsync$4.CharacterState))) {
|
||||
thatPlayerInNextFrame$3.FramesInChState = 0;
|
||||
}
|
||||
_tuple$9 = (_entry$6 = nonAttackingSet[$Int32.keyFor(thatPlayerInNextFrame$3.CharacterState)], _entry$6 !== undefined ? [_entry$6.v, true] : [false, false]);
|
||||
_tuple$9 = (_entry$5 = nonAttackingSet[$Int32.keyFor(thatPlayerInNextFrame$3.CharacterState)], _entry$5 !== undefined ? [_entry$5.v, true] : [false, false]);
|
||||
existent$2 = _tuple$9[1];
|
||||
if (existent$2) {
|
||||
thatPlayerInNextFrame$3.ActiveSkillId = -1;
|
||||
@@ -5859,7 +5842,7 @@ $packages["jsexport/battle"] = (function() {
|
||||
_i$9++;
|
||||
}
|
||||
$s = -1; return new RoomDownsyncFrame.ptr(currRenderFrame.Id + 1 >> 0, nextRenderFramePlayers, new $Int64(0, 0), nextRenderFrameMeleeBullets, sliceType$11.nil, new $Uint64(0, 0), false, false);
|
||||
/* */ } return; } var $f = {$blk: ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame, $c: true, $r, _1, _2, _entry, _entry$1, _entry$2, _entry$3, _entry$4, _entry$5, _entry$6, _i, _i$1, _i$2, _i$3, _i$4, _i$5, _i$6, _i$7, _i$8, _i$9, _index, _index$1, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _ref$10, _ref$11, _ref$12, _ref$13, _ref$2, _ref$3, _ref$4, _ref$5, _ref$6, _ref$7, _ref$8, _ref$9, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, atkedPlayerInNextFrame, bShape, bulletCollider, bulletColliders, bulletShape, bulletWx, bulletWy, chConfig, chConfig$1, chConfig$2, chConfigsOrderedByJoinIndex, collision, collision$1, collisionPlayerIndex, collisionPlayerIndex$1, collisionPlayerIndex$2, collisionSpaceOffsetX, collisionSpaceOffsetY, collisionSys, collisionSysMap, currPlayerDownsync, currPlayerDownsync$1, currPlayerDownsync$2, currPlayerDownsync$3, currPlayerDownsync$4, currRenderFrame, defenderShape, effDx, effDy, effPushbacks, existent, existent$1, existent$2, hardPushbackNorm, hardPushbackNorms, hitboxSizeWx, hitboxSizeWy, i, i$1, i$2, i$3, i$4, inputsBuffer, isAnotherPlayer, isBarrier, isBullet, joinIndex, joinIndex$1, joinIndex$2, joinIndex$3, jumpedOrNot, jumpedOrNotList, landedOnGravityPushback, meleeBullet, newBullet, newBulletCollider, newVx, newVy, nextRenderFrameMeleeBullets, nextRenderFramePlayers, normAlignmentWithGravity, obj, obj$1, offender, offender$1, oldFramesToRecover, oldNextCharacterState, overlapResult, overlapped, overlapped$1, patternId, playerCollider, playerCollider$1, playerCollider$2, playerShape, projectedMagnitude, pushbackVelX, pushbackVelY, pushbackX, pushbackY, roomCapacity, skillConfig, skillId, t, t$1, thatPlayerInNextFrame, thatPlayerInNextFrame$1, thatPlayerInNextFrame$2, thatPlayerInNextFrame$3, v, v$1, x, x$1, x$10, x$11, x$12, x$13, x$14, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, xfac, xfac$1, $s};return $f;
|
||||
/* */ } return; } var $f = {$blk: ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame, $c: true, $r, _1, _entry, _entry$1, _entry$2, _entry$3, _entry$4, _entry$5, _i, _i$1, _i$2, _i$3, _i$4, _i$5, _i$6, _i$7, _i$8, _i$9, _index, _index$1, _r, _r$1, _r$2, _r$3, _r$4, _ref, _ref$1, _ref$10, _ref$11, _ref$12, _ref$13, _ref$2, _ref$3, _ref$4, _ref$5, _ref$6, _ref$7, _ref$8, _ref$9, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, atkedPlayerInNextFrame, bShape, bulletCollider, bulletColliders, bulletShape, bulletWx, bulletWy, chConfig, chConfig$1, chConfig$2, chConfigsOrderedByJoinIndex, collision, collision$1, collisionPlayerIndex, collisionPlayerIndex$1, collisionPlayerIndex$2, collisionSpaceOffsetX, collisionSpaceOffsetY, collisionSys, collisionSysMap, currPlayerDownsync, currPlayerDownsync$1, currPlayerDownsync$2, currPlayerDownsync$3, currPlayerDownsync$4, currRenderFrame, defenderShape, effDx, effDy, effPushbacks, existent, existent$1, existent$2, hardPushbackNorm, hardPushbackNorms, hitboxSizeWx, hitboxSizeWy, i, i$1, i$2, i$3, i$4, inputsBuffer, isAnotherPlayer, isBarrier, isBullet, joinIndex, joinIndex$1, joinIndex$2, joinIndex$3, jumpedOrNot, jumpedOrNotList, landedOnGravityPushback, meleeBullet, newBullet, newBulletCollider, newVx, newVy, nextRenderFrameMeleeBullets, nextRenderFramePlayers, normAlignmentWithGravity, obj, obj$1, offender, offender$1, oldFramesToRecover, oldNextCharacterState, overlapResult, overlapped, overlapped$1, patternId, playerCollider, playerCollider$1, playerCollider$2, playerShape, projectedMagnitude, pushbackVelX, pushbackVelY, pushbackX, pushbackY, roomCapacity, skillConfig, skillId, t, t$1, thatPlayerInNextFrame, thatPlayerInNextFrame$1, thatPlayerInNextFrame$2, thatPlayerInNextFrame$3, v, v$1, x, x$1, x$10, x$11, x$12, x$13, x$14, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, xfac, xfac$1, $s};return $f;
|
||||
};
|
||||
$pkg.ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame = ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame;
|
||||
GenerateRectCollider = function(wx, wy, w, h, topPadding, bottomPadding, leftPadding, rightPadding, spaceOffsetX, spaceOffsetY, data, tag) {
|
||||
@@ -5968,23 +5951,84 @@ $packages["jsexport/battle"] = (function() {
|
||||
PlayerDownsync.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: "ActiveSkillId", name: "ActiveSkillId", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "ActiveSkillHit", name: "ActiveSkillHit", embedded: false, exported: true, typ: $Int32, tag: ""}]);
|
||||
InputFrameDecoded.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: ""}]);
|
||||
Barrier.init("", [{prop: "Boundary", name: "Boundary", embedded: false, exported: true, typ: ptrType$11, tag: ""}]);
|
||||
Bullet.init("", [{prop: "OriginatedRenderFrameId", name: "OriginatedRenderFrameId", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "OffenderJoinIndex", name: "OffenderJoinIndex", embedded: false, exported: true, typ: $Int32, tag: ""}, {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: ""}]);
|
||||
Bullet.init("", [{prop: "OriginatedRenderFrameId", name: "OriginatedRenderFrameId", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "OffenderJoinIndex", name: "OffenderJoinIndex", embedded: false, exported: true, typ: $Int32, tag: ""}, {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: "CancelTransit", name: "CancelTransit", embedded: false, exported: true, typ: mapType, tag: ""}]);
|
||||
MeleeBullet.init("", [{prop: "Bullet", name: "Bullet", embedded: true, exported: true, typ: Bullet, tag: ""}]);
|
||||
FireballBullet.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: "Bullet", name: "Bullet", embedded: true, exported: true, typ: Bullet, tag: ""}]);
|
||||
Skill.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: "Hits", name: "Hits", embedded: false, exported: true, typ: sliceType, tag: ""}]);
|
||||
Skill.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: sliceType$2, tag: ""}]);
|
||||
RoomDownsyncFrame.init("", [{prop: "Id", name: "Id", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "PlayersArr", name: "PlayersArr", embedded: false, exported: true, typ: sliceType$6, tag: ""}, {prop: "CountdownNanos", name: "CountdownNanos", embedded: false, exported: true, typ: $Int64, tag: ""}, {prop: "MeleeBullets", name: "MeleeBullets", embedded: false, exported: true, typ: sliceType$7, tag: ""}, {prop: "FireballBullets", name: "FireballBullets", embedded: false, exported: true, typ: sliceType$11, tag: ""}, {prop: "BackendUnconfirmedMask", name: "BackendUnconfirmedMask", embedded: false, exported: true, typ: $Uint64, tag: ""}, {prop: "ShouldForceResync", name: "ShouldForceResync", embedded: false, exported: true, typ: $Bool, tag: ""}, {prop: "PlayerOpPatternToSkillId", name: "PlayerOpPatternToSkillId", embedded: false, exported: true, typ: mapType, tag: ""}]);
|
||||
InputFrameDownsync.init("", [{prop: "InputFrameId", name: "InputFrameId", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "InputList", name: "InputList", embedded: false, exported: true, typ: sliceType$5, tag: ""}, {prop: "ConfirmedList", name: "ConfirmedList", embedded: false, exported: true, typ: $Uint64, tag: ""}]);
|
||||
RingBuffer.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: sliceType, tag: ""}]);
|
||||
CharacterConfig.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: "GetUpFrames", name: "GetUpFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "GetUpFramesToRecover", name: "GetUpFramesToRecover", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "JumpingInitVelY", name: "JumpingInitVelY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "PatternIdToSkillId", name: "PatternIdToSkillId", embedded: false, exported: true, typ: mapType, tag: ""}]);
|
||||
RingBuffer.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: sliceType$2, tag: ""}]);
|
||||
SkillMapperType.init([$Int, ptrType$5], [$Int], false);
|
||||
CharacterConfig.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: "GetUpFrames", name: "GetUpFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "GetUpFramesToRecover", name: "GetUpFramesToRecover", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "JumpingInitVelY", name: "JumpingInitVelY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "SkillMapper", name: "SkillMapper", embedded: false, exported: true, typ: SkillMapperType, tag: ""}]);
|
||||
SatResult.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: resolv.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 = math.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
||||
$r = resolv.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
||||
$pkg.Characters = $makeMap($Int.keyFor, [{ k: 0, v: new CharacterConfig.ptr(0, "MonkGirl", 11, 1, 16, 16, 33, 30, 800, $makeMap($Int.keyFor, [{ k: 1, v: 1 }, { k: 2, v: 2 }, { k: 3, v: 3 }, { k: 255, v: 255 }])) }]);
|
||||
skills = $makeMap($Int.keyFor, [{ k: 1, v: new Skill.ptr(0, 20, 20, 20, 1, new sliceType([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 5, 8, 20, 10, 13, 9, 50, 0, 5, 0, 0, 1200, 0, 2400, 3200, false))])) }, { k: 2, v: new Skill.ptr(0, 36, 36, 36, 1, new sliceType([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 3, 18, 36, 20, 18, 9, 50, 0, 5, 0, 0, 1800, 0, 2400, 3200, false))])) }, { k: 3, v: new Skill.ptr(0, 60, 60, 60, 1, new sliceType([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 1, 0, 0, 30, 999999999, 9, 100, 400, 10, 0, 0, 2400, 0, 3200, 3200, true))])) }, { k: 255, v: new Skill.ptr(0, 34, 34, 34, 1, new sliceType([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 3, 0, 0, 20, 18, 9, 50, 0, 5, 0, 0, 1200, 0, 3200, 2400, false))])) }]);
|
||||
$pkg.DIRECTION_DECODER = new sliceType$2([new sliceType$1([0, 0]), new sliceType$1([0, 2]), new sliceType$1([0, -2]), new sliceType$1([2, 0]), new sliceType$1([-2, 0]), new sliceType$1([1, 1]), new sliceType$1([-1, -1]), new sliceType$1([1, -1]), new sliceType$1([-1, 1])]);
|
||||
$pkg.DIRECTION_DECODER = new sliceType$1([new sliceType([0, 0]), new sliceType([0, 2]), new sliceType([0, -2]), new sliceType([2, 0]), new sliceType([-2, 0]), new sliceType([1, 1]), new sliceType([-1, -1]), new sliceType([1, -1]), new sliceType([-1, 1])]);
|
||||
skills = $makeMap($Int.keyFor, [{ k: 1, v: new Skill.ptr(0, 30, 30, 30, 1, 2, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 7, 13, 30, 22, 13, 9, 50, 0, 5, 0, 0, 1200, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 2 }])))])) }, { k: 2, v: new Skill.ptr(0, 36, 36, 36, 1, 11, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 18, 22, 36, 18, 18, 9, 50, 0, 5, 0, 0, 1800, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 3 }])))])) }, { k: 3, v: new Skill.ptr(0, 60, 60, 60, 1, 12, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 15, 0, 0, 40, 999999999, 9, 200, 700, 10, 0, 0, 2400, 0, 3200, 3200, true, false))])) }, { k: 4, v: new Skill.ptr(0, 30, 30, 30, 1, 2, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 7, 13, 30, 22, 13, 9, 50, 0, 5, 0, 0, 1200, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 5 }])))])) }, { k: 5, v: new Skill.ptr(0, 36, 36, 36, 1, 11, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 18, 22, 36, 18, 18, 9, 50, 0, 5, 0, 0, 1800, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 6 }])))])) }, { k: 6, v: new Skill.ptr(0, 60, 60, 60, 1, 12, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 15, 0, 0, 40, 999999999, 9, 200, 700, 10, 0, 0, 2400, 0, 3200, 3200, true, false))])) }, { k: 255, v: new Skill.ptr(0, 34, 34, 34, 1, 6, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 3, 0, 0, 20, 18, 9, 50, 0, 5, 0, 0, 1200, 0, 3200, 2400, false, false))])) }, { k: 256, v: new Skill.ptr(0, 34, 34, 34, 1, 6, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 3, 0, 0, 20, 18, 9, 50, 0, 5, 0, 0, 1200, 0, 3200, 2400, false, false))])) }]);
|
||||
$pkg.Characters = $makeMap($Int.keyFor, [{ k: 0, v: new CharacterConfig.ptr(0, "MonkGirl", 11, 1, 16, 16, 33, 30, 800, (function(patternId, currPlayerDownsync) {
|
||||
var _entry, _entry$1, _ref, _tuple, _tuple$1, currPlayerDownsync, existent1, existent2, nextSkillId, patternId, skillConfig, v, x, x$1;
|
||||
if (1 === patternId) {
|
||||
if (0 === currPlayerDownsync.FramesToRecover) {
|
||||
if (currPlayerDownsync.InAir) {
|
||||
return 255;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
} else {
|
||||
_tuple = (_entry = skills[$Int.keyFor(((currPlayerDownsync.ActiveSkillId >> 0)))], _entry !== undefined ? [_entry.v, true] : [ptrType.nil, false]);
|
||||
skillConfig = _tuple[0];
|
||||
existent1 = _tuple[1];
|
||||
if (existent1) {
|
||||
_ref = (x = skillConfig.Hits, x$1 = currPlayerDownsync.ActiveSkillHit, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + x$1]));
|
||||
if ($assertType(_ref, ptrType$1, true)[1]) {
|
||||
v = _ref.$val;
|
||||
if (v.Bullet.CancellableStFrame <= currPlayerDownsync.FramesInChState && currPlayerDownsync.FramesInChState < v.Bullet.CancellableEdFrame) {
|
||||
_tuple$1 = (_entry$1 = v.Bullet.CancelTransit[$Int.keyFor(patternId)], _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]);
|
||||
nextSkillId = _tuple$1[0];
|
||||
existent2 = _tuple$1[1];
|
||||
if (existent2) {
|
||||
return nextSkillId;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
})) }, { k: 1, v: new CharacterConfig.ptr(1, "KnifeGirl", 9, 1, 16, 16, 30, 27, 750, (function(patternId, currPlayerDownsync) {
|
||||
var _entry, _entry$1, _ref, _tuple, _tuple$1, currPlayerDownsync, existent1, existent2, nextSkillId, patternId, skillConfig, v, x, x$1;
|
||||
if (1 === patternId) {
|
||||
if (0 === currPlayerDownsync.FramesToRecover) {
|
||||
if (currPlayerDownsync.InAir) {
|
||||
return 256;
|
||||
} else {
|
||||
return 4;
|
||||
}
|
||||
} else {
|
||||
_tuple = (_entry = skills[$Int.keyFor(((currPlayerDownsync.ActiveSkillId >> 0)))], _entry !== undefined ? [_entry.v, true] : [ptrType.nil, false]);
|
||||
skillConfig = _tuple[0];
|
||||
existent1 = _tuple[1];
|
||||
if (existent1) {
|
||||
_ref = (x = skillConfig.Hits, x$1 = currPlayerDownsync.ActiveSkillHit, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + x$1]));
|
||||
if ($assertType(_ref, ptrType$1, true)[1]) {
|
||||
v = _ref.$val;
|
||||
if (v.Bullet.CancellableStFrame <= currPlayerDownsync.FramesInChState && currPlayerDownsync.FramesInChState < v.Bullet.CancellableEdFrame) {
|
||||
_tuple$1 = (_entry$1 = v.Bullet.CancelTransit[$Int.keyFor(patternId)], _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]);
|
||||
nextSkillId = _tuple$1[0];
|
||||
existent2 = _tuple$1[1];
|
||||
if (existent2) {
|
||||
return nextSkillId;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
})) }]);
|
||||
inAirSet = $makeMap($Int32.keyFor, [{ k: 4, v: true }, { k: 5, v: true }, { k: 6, v: true }, { k: 7, v: true }, { k: 8, v: true }]);
|
||||
noOpSet = $makeMap($Int32.keyFor, [{ k: 3, v: true }, { k: 7, v: true }, { k: 8, v: true }, { k: 9, v: true }]);
|
||||
invinsibleSet = $makeMap($Int32.keyFor, [{ k: 8, v: true }, { k: 9, v: true }, { k: 10, v: true }]);
|
||||
@@ -6090,7 +6134,7 @@ $packages["jsexport"] = (function() {
|
||||
$pkg.NewPlayerDownsyncJs = NewPlayerDownsyncJs;
|
||||
NewMeleeBulletJs = function(originatedRenderFrameId, offenderJoinIndex, startupFrames, cancellableStFrame, cancellableEdFrame, activeFrames, hitStunFrames, blockStunFrames, pushbackVelX, pushbackVelY, damage, selfLockVelX, selfLockVelY, hitboxOffsetX, hitboxOffsetY, hitboxSizeX, hitboxSizeY, blowUp) {
|
||||
var activeFrames, blockStunFrames, blowUp, cancellableEdFrame, cancellableStFrame, damage, hitStunFrames, hitboxOffsetX, hitboxOffsetY, hitboxSizeX, hitboxSizeY, offenderJoinIndex, originatedRenderFrameId, pushbackVelX, pushbackVelY, selfLockVelX, selfLockVelY, startupFrames;
|
||||
return js.MakeWrapper(new battle.MeleeBullet.ptr(new battle.Bullet.ptr(originatedRenderFrameId, offenderJoinIndex, startupFrames, cancellableStFrame, cancellableEdFrame, activeFrames, hitStunFrames, blockStunFrames, pushbackVelX, pushbackVelY, damage, selfLockVelX, selfLockVelY, hitboxOffsetX, hitboxOffsetY, hitboxSizeX, hitboxSizeY, blowUp)));
|
||||
return js.MakeWrapper(new battle.MeleeBullet.ptr(new battle.Bullet.ptr(originatedRenderFrameId, offenderJoinIndex, startupFrames, cancellableStFrame, cancellableEdFrame, activeFrames, hitStunFrames, blockStunFrames, pushbackVelX, pushbackVelY, damage, selfLockVelX, selfLockVelY, hitboxOffsetX, hitboxOffsetY, hitboxSizeX, hitboxSizeY, blowUp, false)));
|
||||
};
|
||||
$pkg.NewMeleeBulletJs = NewMeleeBulletJs;
|
||||
NewRoomDownsyncFrameJs = function(id, playersArr, meleeBullets) {
|
||||
|
||||
Reference in New Issue
Block a user