mirror of
https://github.com/genxium/DelayNoMore
synced 2024-12-26 11:48:56 +00:00
Minor fix.
This commit is contained in:
parent
71a5a7b727
commit
845282db50
@ -4996,7 +4996,7 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
this.Eles = Eles_;
|
this.Eles = Eles_;
|
||||||
});
|
});
|
||||||
SkillMapperType = $pkg.SkillMapperType = $newType(4, $kindFunc, "battle.SkillMapperType", true, "jsexport/battle", true, null);
|
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_, GetUpInvinsibleFrames_, GetUpFramesToRecover_, Speed_, JumpingInitVelY_, SkillMapper_) {
|
CharacterConfig = $pkg.CharacterConfig = $newType(0, $kindStruct, "battle.CharacterConfig", true, "jsexport/battle", true, function(SpeciesId_, SpeciesName_, InAirIdleFrameIdxTurningPoint_, InAirIdleFrameIdxTurnedCycle_, LayDownFrames_, LayDownFramesToRecover_, GetUpInvinsibleFrames_, GetUpFramesToRecover_, Speed_, JumpingInitVelY_, DashingEnabled_, OnWallEnabled_, WallJumpingInitVelX_, WallJumpingInitVelY_, WallSlidingVelY_, SkillMapper_) {
|
||||||
this.$val = this;
|
this.$val = this;
|
||||||
if (arguments.length === 0) {
|
if (arguments.length === 0) {
|
||||||
this.SpeciesId = 0;
|
this.SpeciesId = 0;
|
||||||
@ -5009,6 +5009,11 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
this.GetUpFramesToRecover = 0;
|
this.GetUpFramesToRecover = 0;
|
||||||
this.Speed = 0;
|
this.Speed = 0;
|
||||||
this.JumpingInitVelY = 0;
|
this.JumpingInitVelY = 0;
|
||||||
|
this.DashingEnabled = false;
|
||||||
|
this.OnWallEnabled = false;
|
||||||
|
this.WallJumpingInitVelX = 0;
|
||||||
|
this.WallJumpingInitVelY = 0;
|
||||||
|
this.WallSlidingVelY = 0;
|
||||||
this.SkillMapper = $throwNilPointerError;
|
this.SkillMapper = $throwNilPointerError;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -5022,6 +5027,11 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
this.GetUpFramesToRecover = GetUpFramesToRecover_;
|
this.GetUpFramesToRecover = GetUpFramesToRecover_;
|
||||||
this.Speed = Speed_;
|
this.Speed = Speed_;
|
||||||
this.JumpingInitVelY = JumpingInitVelY_;
|
this.JumpingInitVelY = JumpingInitVelY_;
|
||||||
|
this.DashingEnabled = DashingEnabled_;
|
||||||
|
this.OnWallEnabled = OnWallEnabled_;
|
||||||
|
this.WallJumpingInitVelX = WallJumpingInitVelX_;
|
||||||
|
this.WallJumpingInitVelY = WallJumpingInitVelY_;
|
||||||
|
this.WallSlidingVelY = WallSlidingVelY_;
|
||||||
this.SkillMapper = SkillMapper_;
|
this.SkillMapper = SkillMapper_;
|
||||||
});
|
});
|
||||||
SatResult = $pkg.SatResult = $newType(0, $kindStruct, "battle.SatResult", true, "jsexport/battle", true, function(Overlap_, OverlapX_, OverlapY_, AContainedInB_, BContainedInA_, Axis_) {
|
SatResult = $pkg.SatResult = $newType(0, $kindStruct, "battle.SatResult", true, "jsexport/battle", true, function(Overlap_, OverlapX_, OverlapY_, AContainedInB_, BContainedInA_, Axis_) {
|
||||||
@ -5189,10 +5199,10 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
$pkg.ShouldGenerateInputFrameUpsync = ShouldGenerateInputFrameUpsync;
|
$pkg.ShouldGenerateInputFrameUpsync = ShouldGenerateInputFrameUpsync;
|
||||||
ConvertToDelayedInputFrameId = function(renderFrameId) {
|
ConvertToDelayedInputFrameId = function(renderFrameId) {
|
||||||
var renderFrameId;
|
var renderFrameId;
|
||||||
if (renderFrameId < 8) {
|
if (renderFrameId < 4) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return (((renderFrameId - 8 >> 0)) >> 2 >> 0);
|
return (((renderFrameId - 4 >> 0)) >> 2 >> 0);
|
||||||
};
|
};
|
||||||
$pkg.ConvertToDelayedInputFrameId = ConvertToDelayedInputFrameId;
|
$pkg.ConvertToDelayedInputFrameId = ConvertToDelayedInputFrameId;
|
||||||
ConvertToNoDelayInputFrameId = function(renderFrameId) {
|
ConvertToNoDelayInputFrameId = function(renderFrameId) {
|
||||||
@ -5202,12 +5212,12 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
$pkg.ConvertToNoDelayInputFrameId = ConvertToNoDelayInputFrameId;
|
$pkg.ConvertToNoDelayInputFrameId = ConvertToNoDelayInputFrameId;
|
||||||
ConvertToFirstUsedRenderFrameId = function(inputFrameId) {
|
ConvertToFirstUsedRenderFrameId = function(inputFrameId) {
|
||||||
var inputFrameId;
|
var inputFrameId;
|
||||||
return (((inputFrameId << 2 >> 0)) + 8 >> 0);
|
return (((inputFrameId << 2 >> 0)) + 4 >> 0);
|
||||||
};
|
};
|
||||||
$pkg.ConvertToFirstUsedRenderFrameId = ConvertToFirstUsedRenderFrameId;
|
$pkg.ConvertToFirstUsedRenderFrameId = ConvertToFirstUsedRenderFrameId;
|
||||||
ConvertToLastUsedRenderFrameId = function(inputFrameId) {
|
ConvertToLastUsedRenderFrameId = function(inputFrameId) {
|
||||||
var inputFrameId;
|
var inputFrameId;
|
||||||
return (((((inputFrameId << 2 >> 0)) + 8 >> 0) + 4 >> 0) - 1 >> 0);
|
return (((((inputFrameId << 2 >> 0)) + 4 >> 0) + 4 >> 0) - 1 >> 0);
|
||||||
};
|
};
|
||||||
$pkg.ConvertToLastUsedRenderFrameId = ConvertToLastUsedRenderFrameId;
|
$pkg.ConvertToLastUsedRenderFrameId = ConvertToLastUsedRenderFrameId;
|
||||||
decodeInput = function(encodedInput) {
|
decodeInput = function(encodedInput) {
|
||||||
@ -5501,6 +5511,8 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
existent$1 = _tuple$1[1];
|
existent$1 = _tuple$1[1];
|
||||||
if (!existent$1) {
|
if (!existent$1) {
|
||||||
jumpedOrNot = true;
|
jumpedOrNot = true;
|
||||||
|
} else if (16 === currPlayerDownsync.CharacterState) {
|
||||||
|
jumpedOrNot = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5517,7 +5529,7 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
return [patternId, jumpedOrNot, effDx, effDy];
|
return [patternId, jumpedOrNot, effDx, effDy];
|
||||||
};
|
};
|
||||||
ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame = function(inputsBuffer, currRenderFrame, collisionSys, collisionSysMap, collisionSpaceOffsetX, collisionSpaceOffsetY, chConfigsOrderedByJoinIndex) {
|
ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame = function(inputsBuffer, currRenderFrame, collisionSys, collisionSysMap, collisionSpaceOffsetX, collisionSpaceOffsetY, chConfigsOrderedByJoinIndex) {
|
||||||
var {_1, _2, _entry, _entry$1, _entry$2, _entry$3, _entry$4, _entry$5, _i, _i$1, _i$10, _i$11, _i$12, _i$2, _i$3, _i$4, _i$5, _i$6, _i$7, _i$8, _i$9, _index, _index$1, _index$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _ref, _ref$1, _ref$10, _ref$11, _ref$12, _ref$13, _ref$14, _ref$15, _ref$16, _ref$17, _ref$18, _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$13, _tmp$14, _tmp$15, _tmp$16, _tmp$17, _tmp$18, _tmp$19, _tmp$2, _tmp$20, _tmp$21, _tmp$22, _tmp$23, _tmp$24, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$10, _tuple$11, _tuple$12, _tuple$13, _tuple$14, _tuple$15, _tuple$16, _tuple$17, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, addToNextRenderFrame, atkedPlayerInNextFrame, atkedPlayerInNextFrame$1, bShape, bulletCollider, bulletColliders, bulletLocalId, bulletShape, bulletShape$1, bulletWx, bulletWx$1, bulletWy, bulletWy$1, chConfig, chConfig$1, chConfig$2, chConfigsOrderedByJoinIndex, colliderHeight, colliderWidth, colliderWorldHeight, colliderWorldWidth, collision, collision$1, collisionSpaceOffsetX, collisionSpaceOffsetY, collisionSys, collisionSysMap, currPlayerDownsync, currPlayerDownsync$1, currPlayerDownsync$2, currPlayerDownsync$3, currPlayerDownsync$4, currRenderFrame, defenderShape, defenderShape$1, effDx, effDy, effPushbacks, existent, existent$1, existent$2, existent$3, existent$4, existent$5, fireballBullet, halfColliderHeightDiff, halfColliderWidthDiff, halfColliderWorldHeightDiff, hardPushbackNorm, hardPushbackNorms, hasLockVel, hitboxSizeWx, hitboxSizeWx$1, hitboxSizeWy, hitboxSizeWy$1, 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, newBullet$1, newBulletCollider, newBulletCollider$1, newVx, newVy, nextRenderFrameFireballBullets, nextRenderFrameMeleeBullets, nextRenderFramePlayers, normAlignmentWithGravity, obj, obj$1, obj$2, offender, offender$1, offender$2, oldFramesToRecover, oldFramesToRecover$1, oldNextCharacterState, overlapResult, overlapped, overlapped$1, overlapped$2, patternId, playerCollider, playerCollider$1, playerCollider$2, playerCollider$3, playerColliders, playerShape, projectedMagnitude, pushbackVelX, pushbackVelX$1, pushbackVelY, pushbackVelY$1, pushbackX, pushbackY, roomCapacity, skillConfig, skillId, t, t$1, t$2, t$3, thatPlayerInNextFrame, thatPlayerInNextFrame$1, thatPlayerInNextFrame$2, thatPlayerInNextFrame$3, v, v$1, v$2, v$3, v$4, v$5, wx, wy, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, xfac, xfac$1, xfac$2, xfac$3, $s, $r, $c} = $restore(this, {inputsBuffer, currRenderFrame, collisionSys, collisionSysMap, collisionSpaceOffsetX, collisionSpaceOffsetY, chConfigsOrderedByJoinIndex});
|
var {_1, _2, _3, _entry, _entry$1, _entry$2, _entry$3, _entry$4, _entry$5, _i, _i$1, _i$10, _i$11, _i$12, _i$13, _i$2, _i$3, _i$4, _i$5, _i$6, _i$7, _i$8, _i$9, _index, _index$1, _index$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _ref, _ref$1, _ref$10, _ref$11, _ref$12, _ref$13, _ref$14, _ref$15, _ref$16, _ref$17, _ref$18, _ref$19, _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$13, _tmp$14, _tmp$15, _tmp$16, _tmp$17, _tmp$18, _tmp$19, _tmp$2, _tmp$20, _tmp$21, _tmp$22, _tmp$23, _tmp$24, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$10, _tuple$11, _tuple$12, _tuple$13, _tuple$14, _tuple$15, _tuple$16, _tuple$17, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, addToNextRenderFrame, atkedPlayerInNextFrame, atkedPlayerInNextFrame$1, bShape, bulletCollider, bulletColliders, bulletLocalId, bulletShape, bulletShape$1, bulletWx, bulletWx$1, bulletWy, bulletWy$1, chConfig, chConfig$1, chConfig$2, chConfigsOrderedByJoinIndex, colliderHeight, colliderWidth, colliderWorldHeight, colliderWorldWidth, collision, collision$1, collisionSpaceOffsetX, collisionSpaceOffsetY, collisionSys, collisionSysMap, ctrlAlignmentWithHorizon1, ctrlAlignmentWithHorizon2, currPlayerDownsync, currPlayerDownsync$1, currPlayerDownsync$2, currPlayerDownsync$3, currPlayerDownsync$4, currRenderFrame, defenderShape, defenderShape$1, effDx, effDy, effPushbacks, existent, existent$1, existent$2, existent$3, existent$4, existent$5, fallStopping, fireballBullet, halfColliderHeightDiff, halfColliderWidthDiff, halfColliderWorldHeightDiff, hardPushbackNorm, hardPushbackNorm$1, hardPushbackNorms, hasLockVel, hitboxSizeWx, hitboxSizeWx$1, hitboxSizeWy, hitboxSizeWy$1, 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, newBullet$1, newBulletCollider, newBulletCollider$1, newVx, newVy, nextRenderFrameFireballBullets, nextRenderFrameMeleeBullets, nextRenderFramePlayers, normAlignmentWithGravity, normAlignmentWithHorizon1, normAlignmentWithHorizon2, obj, obj$1, obj$2, offender, offender$1, offender$2, oldFramesToRecover, oldFramesToRecover$1, oldNextCharacterState, overlapResult, overlapped, overlapped$1, overlapped$2, patternId, playerCollider, playerCollider$1, playerCollider$2, playerCollider$3, playerColliders, playerShape, projectedMagnitude, pushbackVelX, pushbackVelX$1, pushbackVelY, pushbackVelY$1, pushbackX, pushbackY, roomCapacity, skillConfig, skillId, t, t$1, t$2, t$3, thatPlayerInNextFrame, thatPlayerInNextFrame$1, thatPlayerInNextFrame$2, thatPlayerInNextFrame$3, v, v$1, v$2, v$3, v$4, v$5, wx, wy, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, xfac, xfac$1, xfac$2, xfac$3, xfac$4, $s, $r, $c} = $restore(this, {inputsBuffer, currRenderFrame, collisionSys, collisionSysMap, collisionSpaceOffsetX, collisionSpaceOffsetY, chConfigsOrderedByJoinIndex});
|
||||||
/* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
|
/* */ $s = $s || 0; s: while (true) { switch ($s) { case 0:
|
||||||
roomCapacity = currRenderFrame.PlayersArr.$length;
|
roomCapacity = currRenderFrame.PlayersArr.$length;
|
||||||
nextRenderFramePlayers = $makeSlice(sliceType$6, roomCapacity);
|
nextRenderFramePlayers = $makeSlice(sliceType$6, roomCapacity);
|
||||||
@ -5550,7 +5562,6 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
newBullet$1 = [newBullet$1];
|
newBullet$1 = [newBullet$1];
|
||||||
i$1 = _i$1;
|
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]);
|
currPlayerDownsync$1 = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]);
|
||||||
((i$1 < 0 || i$1 >= jumpedOrNotList.$length) ? ($throwRuntimeError("index out of range"), undefined) : jumpedOrNotList.$array[jumpedOrNotList.$offset + i$1] = false);
|
|
||||||
chConfig = ((i$1 < 0 || i$1 >= chConfigsOrderedByJoinIndex.$length) ? ($throwRuntimeError("index out of range"), undefined) : chConfigsOrderedByJoinIndex.$array[chConfigsOrderedByJoinIndex.$offset + i$1]);
|
chConfig = ((i$1 < 0 || i$1 >= chConfigsOrderedByJoinIndex.$length) ? ($throwRuntimeError("index out of range"), undefined) : chConfigsOrderedByJoinIndex.$array[chConfigsOrderedByJoinIndex.$offset + i$1]);
|
||||||
thatPlayerInNextFrame = ((i$1 < 0 || i$1 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + i$1]);
|
thatPlayerInNextFrame = ((i$1 < 0 || i$1 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + i$1]);
|
||||||
_tuple = deriveOpPattern(currPlayerDownsync$1, thatPlayerInNextFrame, currRenderFrame, inputsBuffer);
|
_tuple = deriveOpPattern(currPlayerDownsync$1, thatPlayerInNextFrame, currRenderFrame, inputsBuffer);
|
||||||
@ -5558,10 +5569,7 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
jumpedOrNot = _tuple[1];
|
jumpedOrNot = _tuple[1];
|
||||||
effDx = _tuple[2];
|
effDx = _tuple[2];
|
||||||
effDy = _tuple[3];
|
effDy = _tuple[3];
|
||||||
if (jumpedOrNot) {
|
((i$1 < 0 || i$1 >= jumpedOrNotList.$length) ? ($throwRuntimeError("index out of range"), undefined) : jumpedOrNotList.$array[jumpedOrNotList.$offset + i$1] = jumpedOrNot);
|
||||||
thatPlayerInNextFrame.VelY = (chConfig.JumpingInitVelY);
|
|
||||||
((i$1 < 0 || i$1 >= jumpedOrNotList.$length) ? ($throwRuntimeError("index out of range"), undefined) : jumpedOrNotList.$array[jumpedOrNotList.$offset + i$1] = true);
|
|
||||||
}
|
|
||||||
joinIndex = currPlayerDownsync$1.JoinIndex;
|
joinIndex = currPlayerDownsync$1.JoinIndex;
|
||||||
_r = chConfig.SkillMapper(patternId, currPlayerDownsync$1); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }
|
_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;
|
skillId = _r;
|
||||||
@ -5654,14 +5662,28 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
_tmp$3 = 0;
|
_tmp$3 = 0;
|
||||||
(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$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;
|
(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;
|
||||||
|
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]);
|
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;
|
_tmp$4 = currPlayerDownsync$2.VirtualGridX + currPlayerDownsync$2.VelX >> 0;
|
||||||
_tmp$5 = currPlayerDownsync$2.VirtualGridY + currPlayerDownsync$2.VelY >> 0;
|
_tmp$5 = currPlayerDownsync$2.VirtualGridY + currPlayerDownsync$2.VelY >> 0;
|
||||||
newVx = _tmp$4;
|
newVx = _tmp$4;
|
||||||
newVy = _tmp$5;
|
newVy = _tmp$5;
|
||||||
if (((i$2 < 0 || i$2 >= jumpedOrNotList.$length) ? ($throwRuntimeError("index out of range"), undefined) : jumpedOrNotList.$array[jumpedOrNotList.$offset + i$2])) {
|
if (((i$2 < 0 || i$2 >= jumpedOrNotList.$length) ? ($throwRuntimeError("index out of range"), undefined) : jumpedOrNotList.$array[jumpedOrNotList.$offset + i$2])) {
|
||||||
|
if (16 === currPlayerDownsync$2.CharacterState) {
|
||||||
|
newVx = newVx - (currPlayerDownsync$2.VelX) >> 0;
|
||||||
|
xfac$1 = -1;
|
||||||
|
if (0 > thatPlayerInNextFrame$1.DirX) {
|
||||||
|
xfac$1 = -xfac$1;
|
||||||
|
}
|
||||||
|
newVx = newVx + (($imul(xfac$1, chConfig$1.WallJumpingInitVelX))) >> 0;
|
||||||
|
newVy = newVy + (chConfig$1.WallJumpingInitVelY) >> 0;
|
||||||
|
thatPlayerInNextFrame$1.VelX = (($imul(xfac$1, chConfig$1.WallJumpingInitVelX)));
|
||||||
|
thatPlayerInNextFrame$1.VelY = (chConfig$1.WallJumpingInitVelY);
|
||||||
|
} else {
|
||||||
|
thatPlayerInNextFrame$1.VelY = (chConfig$1.JumpingInitVelY);
|
||||||
newVy = newVy + (chConfig$1.JumpingInitVelY) >> 0;
|
newVy = newVy + (chConfig$1.JumpingInitVelY) >> 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
_tuple$2 = VirtualGridToWorldPos(newVx, newVy);
|
_tuple$2 = VirtualGridToWorldPos(newVx, newVy);
|
||||||
wx = _tuple$2[0];
|
wx = _tuple$2[0];
|
||||||
wy = _tuple$2[1];
|
wy = _tuple$2[1];
|
||||||
@ -5675,7 +5697,7 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
_tmp$9 = $imul(currPlayerDownsync$2.ColliderRadius, 2);
|
_tmp$9 = $imul(currPlayerDownsync$2.ColliderRadius, 2);
|
||||||
colliderWidth = _tmp$8;
|
colliderWidth = _tmp$8;
|
||||||
colliderHeight = _tmp$9;
|
colliderHeight = _tmp$9;
|
||||||
} else if ((_1 === (8)) || (_1 === (4)) || (_1 === (5))) {
|
} else if ((_1 === (8)) || (_1 === (4)) || (_1 === (5)) || (_1 === (16))) {
|
||||||
_tmp$10 = $imul(currPlayerDownsync$2.ColliderRadius, 2);
|
_tmp$10 = $imul(currPlayerDownsync$2.ColliderRadius, 2);
|
||||||
_tmp$11 = $imul(currPlayerDownsync$2.ColliderRadius, 2);
|
_tmp$11 = $imul(currPlayerDownsync$2.ColliderRadius, 2);
|
||||||
colliderWidth = _tmp$10;
|
colliderWidth = _tmp$10;
|
||||||
@ -5688,11 +5710,15 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
playerCollider = _r$1;
|
playerCollider = _r$1;
|
||||||
((i$2 < 0 || i$2 >= playerColliders.$length) ? ($throwRuntimeError("index out of range"), undefined) : playerColliders.$array[playerColliders.$offset + i$2] = playerCollider);
|
((i$2 < 0 || i$2 >= playerColliders.$length) ? ($throwRuntimeError("index out of range"), undefined) : playerColliders.$array[playerColliders.$offset + i$2] = playerCollider);
|
||||||
$r = collisionSys.Add(new sliceType$11([playerCollider])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
$r = collisionSys.Add(new sliceType$11([playerCollider])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
||||||
thatPlayerInNextFrame$1 = ((i$2 < 0 || i$2 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + i$2]);
|
|
||||||
if (currPlayerDownsync$2.InAir) {
|
if (currPlayerDownsync$2.InAir) {
|
||||||
|
if ((16 === currPlayerDownsync$2.CharacterState) && !((i$2 < 0 || i$2 >= jumpedOrNotList.$length) ? ($throwRuntimeError("index out of range"), undefined) : jumpedOrNotList.$array[jumpedOrNotList.$offset + i$2])) {
|
||||||
|
thatPlayerInNextFrame$1.VelX = thatPlayerInNextFrame$1.VelX + (0) >> 0;
|
||||||
|
thatPlayerInNextFrame$1.VelY = chConfig$1.WallSlidingVelY;
|
||||||
|
} else {
|
||||||
thatPlayerInNextFrame$1.VelX = thatPlayerInNextFrame$1.VelX + (0) >> 0;
|
thatPlayerInNextFrame$1.VelX = thatPlayerInNextFrame$1.VelX + (0) >> 0;
|
||||||
thatPlayerInNextFrame$1.VelY = thatPlayerInNextFrame$1.VelY + (-50) >> 0;
|
thatPlayerInNextFrame$1.VelY = thatPlayerInNextFrame$1.VelY + (-50) >> 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
_i$2++;
|
_i$2++;
|
||||||
$s = 4; continue;
|
$s = 4; continue;
|
||||||
case 5:
|
case 5:
|
||||||
@ -5707,11 +5733,11 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
/* */ $s = 12; continue;
|
/* */ $s = 12; 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 10:
|
/* if (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) <= currRenderFrame.Id) && (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) + meleeBullet.Bullet.ActiveFrames >> 0) > currRenderFrame.Id)) { */ case 10:
|
||||||
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]));
|
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 = 1;
|
xfac$2 = 1;
|
||||||
if (0 > offender.DirX) {
|
if (0 > offender.DirX) {
|
||||||
xfac$1 = -xfac$1;
|
xfac$2 = -xfac$2;
|
||||||
}
|
}
|
||||||
_tuple$4 = VirtualGridToWorldPos(offender.VirtualGridX + ($imul(xfac$1, meleeBullet.Bullet.HitboxOffsetX)) >> 0, offender.VirtualGridY);
|
_tuple$4 = VirtualGridToWorldPos(offender.VirtualGridX + ($imul(xfac$2, meleeBullet.Bullet.HitboxOffsetX)) >> 0, offender.VirtualGridY);
|
||||||
bulletWx = _tuple$4[0];
|
bulletWx = _tuple$4[0];
|
||||||
bulletWy = _tuple$4[1];
|
bulletWy = _tuple$4[1];
|
||||||
_tuple$5 = VirtualGridToWorldPos(meleeBullet.Bullet.HitboxSizeX, meleeBullet.Bullet.HitboxSizeY);
|
_tuple$5 = VirtualGridToWorldPos(meleeBullet.Bullet.HitboxSizeX, meleeBullet.Bullet.HitboxSizeY);
|
||||||
@ -5838,31 +5864,32 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
/* } */ case 26:
|
/* } */ case 26:
|
||||||
if (landedOnGravityPushback) {
|
if (landedOnGravityPushback) {
|
||||||
thatPlayerInNextFrame$2.InAir = false;
|
thatPlayerInNextFrame$2.InAir = false;
|
||||||
if (currPlayerDownsync$3.InAir && 0 >= currPlayerDownsync$3.VelY) {
|
fallStopping = currPlayerDownsync$3.InAir && 0 >= currPlayerDownsync$3.VelY;
|
||||||
|
if (fallStopping) {
|
||||||
thatPlayerInNextFrame$2.VelY = 0;
|
thatPlayerInNextFrame$2.VelY = 0;
|
||||||
thatPlayerInNextFrame$2.VelX = 0;
|
thatPlayerInNextFrame$2.VelX = 0;
|
||||||
_tuple$9 = (_entry$1 = nonAttackingSet[$Int32.keyFor(thatPlayerInNextFrame$2.CharacterState)], _entry$1 !== undefined ? [_entry$1.v, true] : [false, false]);
|
|
||||||
existent$1 = _tuple$9[1];
|
|
||||||
if (existent$1) {
|
|
||||||
if (8 === thatPlayerInNextFrame$2.CharacterState) {
|
if (8 === thatPlayerInNextFrame$2.CharacterState) {
|
||||||
thatPlayerInNextFrame$2.CharacterState = 9;
|
thatPlayerInNextFrame$2.CharacterState = 9;
|
||||||
thatPlayerInNextFrame$2.FramesToRecover = chConfig$2.LayDownFramesToRecover;
|
thatPlayerInNextFrame$2.FramesToRecover = chConfig$2.LayDownFramesToRecover;
|
||||||
} else {
|
} else {
|
||||||
|
_2 = currPlayerDownsync$3.CharacterState;
|
||||||
|
if ((_2 === (8)) || (_2 === (4)) || (_2 === (5)) || (_2 === (16))) {
|
||||||
_tmp$17 = 0;
|
_tmp$17 = 0;
|
||||||
_tmp$18 = currPlayerDownsync$3.ColliderRadius;
|
_tmp$18 = currPlayerDownsync$3.ColliderRadius;
|
||||||
halfColliderWidthDiff = _tmp$17;
|
halfColliderWidthDiff = _tmp$17;
|
||||||
halfColliderHeightDiff = _tmp$18;
|
halfColliderHeightDiff = _tmp$18;
|
||||||
_tuple$10 = VirtualGridToWorldPos(halfColliderWidthDiff, halfColliderHeightDiff);
|
_tuple$9 = VirtualGridToWorldPos(halfColliderWidthDiff, halfColliderHeightDiff);
|
||||||
halfColliderWorldHeightDiff = _tuple$10[1];
|
halfColliderWorldHeightDiff = _tuple$9[1];
|
||||||
_index$2 = joinIndex$2 - 1 >> 0;
|
_index$2 = joinIndex$2 - 1 >> 0;
|
||||||
((_index$2 < 0 || _index$2 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + _index$2]).Y = ((_index$2 < 0 || _index$2 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + _index$2]).Y - (halfColliderWorldHeightDiff);
|
((_index$2 < 0 || _index$2 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + _index$2]).Y = ((_index$2 < 0 || _index$2 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + _index$2]).Y - (halfColliderWorldHeightDiff);
|
||||||
thatPlayerInNextFrame$2.CharacterState = 0;
|
|
||||||
}
|
}
|
||||||
|
thatPlayerInNextFrame$2.CharacterState = 0;
|
||||||
|
thatPlayerInNextFrame$2.FramesToRecover = 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
_tuple$11 = (_entry$2 = nonAttackingSet[$Int32.keyFor(thatPlayerInNextFrame$2.CharacterState)], _entry$2 !== undefined ? [_entry$2.v, true] : [false, false]);
|
_tuple$10 = (_entry$1 = nonAttackingSet[$Int32.keyFor(thatPlayerInNextFrame$2.CharacterState)], _entry$1 !== undefined ? [_entry$1.v, true] : [false, false]);
|
||||||
existent$2 = _tuple$11[1];
|
existent$1 = _tuple$10[1];
|
||||||
if (existent$2) {
|
if (existent$1) {
|
||||||
if (9 === thatPlayerInNextFrame$2.CharacterState) {
|
if (9 === thatPlayerInNextFrame$2.CharacterState) {
|
||||||
if (0 === thatPlayerInNextFrame$2.FramesToRecover) {
|
if (0 === thatPlayerInNextFrame$2.FramesToRecover) {
|
||||||
thatPlayerInNextFrame$2.CharacterState = 10;
|
thatPlayerInNextFrame$2.CharacterState = 10;
|
||||||
@ -5877,70 +5904,96 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (thatPlayerInNextFrame$2.InAir && chConfig$2.OnWallEnabled) {
|
||||||
|
_tuple$11 = (_entry$2 = noOpSet[$Int32.keyFor(currPlayerDownsync$3.CharacterState)], _entry$2 !== undefined ? [_entry$2.v, true] : [false, false]);
|
||||||
|
existent$2 = _tuple$11[1];
|
||||||
|
if (!existent$2) {
|
||||||
|
_ref$10 = (x$9 = joinIndex$2 - 1 >> 0, ((x$9 < 0 || x$9 >= hardPushbackNorms.$length) ? ($throwRuntimeError("index out of range"), undefined) : hardPushbackNorms.$array[hardPushbackNorms.$offset + x$9])).$get();
|
||||||
|
_i$8 = 0;
|
||||||
|
while (true) {
|
||||||
|
if (!(_i$8 < _ref$10.$length)) { break; }
|
||||||
|
hardPushbackNorm$1 = $clone(((_i$8 < 0 || _i$8 >= _ref$10.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$10.$array[_ref$10.$offset + _i$8]), Vec2D);
|
||||||
|
normAlignmentWithHorizon1 = hardPushbackNorm$1.X * 1 + hardPushbackNorm$1.Y * 0;
|
||||||
|
ctrlAlignmentWithHorizon1 = (thatPlayerInNextFrame$2.DirX) * 1 + (thatPlayerInNextFrame$2.DirY) * 0;
|
||||||
|
normAlignmentWithHorizon2 = hardPushbackNorm$1.X * -1 + hardPushbackNorm$1.Y * 0;
|
||||||
|
ctrlAlignmentWithHorizon2 = (thatPlayerInNextFrame$2.DirX) * -1 + (thatPlayerInNextFrame$2.DirY) * 0;
|
||||||
|
if (0.9 < normAlignmentWithHorizon1 && 0.9 < ctrlAlignmentWithHorizon1) {
|
||||||
|
thatPlayerInNextFrame$2.OnWall = true;
|
||||||
|
}
|
||||||
|
if (0.9 < normAlignmentWithHorizon2 && 0.9 < ctrlAlignmentWithHorizon2) {
|
||||||
|
thatPlayerInNextFrame$2.OnWall = true;
|
||||||
|
}
|
||||||
|
_i$8++;
|
||||||
|
}
|
||||||
|
if (!currPlayerDownsync$3.OnWall && thatPlayerInNextFrame$2.OnWall) {
|
||||||
|
thatPlayerInNextFrame$2.VelY = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
_i$5++;
|
_i$5++;
|
||||||
$s = 22; continue;
|
$s = 22; continue;
|
||||||
case 23:
|
case 23:
|
||||||
_ref$10 = bulletColliders;
|
_ref$11 = bulletColliders;
|
||||||
_i$8 = 0;
|
_i$9 = 0;
|
||||||
/* while (true) { */ case 30:
|
/* while (true) { */ case 30:
|
||||||
/* if (!(_i$8 < _ref$10.$length)) { break; } */ if(!(_i$8 < _ref$10.$length)) { $s = 31; continue; }
|
/* if (!(_i$9 < _ref$11.$length)) { break; } */ if(!(_i$9 < _ref$11.$length)) { $s = 31; continue; }
|
||||||
bulletCollider = ((_i$8 < 0 || _i$8 >= _ref$10.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$10.$array[_ref$10.$offset + _i$8]);
|
bulletCollider = ((_i$9 < 0 || _i$9 >= _ref$11.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$11.$array[_ref$11.$offset + _i$9]);
|
||||||
collision$1 = bulletCollider.Check(0, 0, new sliceType$4([]));
|
collision$1 = bulletCollider.Check(0, 0, new sliceType$4([]));
|
||||||
bulletCollider.Space.Remove(new sliceType$11([bulletCollider]));
|
bulletCollider.Space.Remove(new sliceType$11([bulletCollider]));
|
||||||
addToNextRenderFrame = true;
|
addToNextRenderFrame = true;
|
||||||
/* */ if (!(ptrType$3.nil === collision$1)) { $s = 32; continue; }
|
/* */ if (!(ptrType$3.nil === collision$1)) { $s = 32; continue; }
|
||||||
/* */ $s = 33; continue;
|
/* */ $s = 33; continue;
|
||||||
/* if (!(ptrType$3.nil === collision$1)) { */ case 32:
|
/* if (!(ptrType$3.nil === collision$1)) { */ case 32:
|
||||||
_ref$11 = bulletCollider.Data;
|
_ref$12 = bulletCollider.Data;
|
||||||
/* */ if ($assertType(_ref$11, ptrType$1, true)[1]) { $s = 34; continue; }
|
/* */ if ($assertType(_ref$12, ptrType$1, true)[1]) { $s = 34; continue; }
|
||||||
/* */ if ($assertType(_ref$11, ptrType$6, true)[1]) { $s = 35; continue; }
|
/* */ if ($assertType(_ref$12, ptrType$6, true)[1]) { $s = 35; continue; }
|
||||||
/* */ $s = 36; continue;
|
/* */ $s = 36; continue;
|
||||||
/* if ($assertType(_ref$11, ptrType$1, true)[1]) { */ case 34:
|
/* if ($assertType(_ref$12, ptrType$1, true)[1]) { */ case 34:
|
||||||
v$2 = _ref$11.$val;
|
v$2 = _ref$12.$val;
|
||||||
bulletShape = $assertType(bulletCollider.Shape, ptrType$7);
|
bulletShape = $assertType(bulletCollider.Shape, ptrType$7);
|
||||||
offender$1 = (x$9 = currRenderFrame.PlayersArr, x$10 = v$2.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]));
|
offender$1 = (x$10 = currRenderFrame.PlayersArr, x$11 = v$2.Bullet.OffenderJoinIndex - 1 >> 0, ((x$11 < 0 || x$11 >= x$10.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$10.$array[x$10.$offset + x$11]));
|
||||||
_ref$12 = collision$1.Objects;
|
_ref$13 = collision$1.Objects;
|
||||||
_i$9 = 0;
|
_i$10 = 0;
|
||||||
/* while (true) { */ case 37:
|
/* while (true) { */ case 37:
|
||||||
/* if (!(_i$9 < _ref$12.$length)) { break; } */ if(!(_i$9 < _ref$12.$length)) { $s = 38; continue; }
|
/* if (!(_i$10 < _ref$13.$length)) { break; } */ if(!(_i$10 < _ref$13.$length)) { $s = 38; continue; }
|
||||||
obj$1 = ((_i$9 < 0 || _i$9 >= _ref$12.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$12.$array[_ref$12.$offset + _i$9]);
|
obj$1 = ((_i$10 < 0 || _i$10 >= _ref$13.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$13.$array[_ref$13.$offset + _i$10]);
|
||||||
defenderShape = $assertType(obj$1.Shape, ptrType$7);
|
defenderShape = $assertType(obj$1.Shape, ptrType$7);
|
||||||
_ref$13 = obj$1.Data;
|
_ref$14 = obj$1.Data;
|
||||||
/* */ if ($assertType(_ref$13, ptrType$5, true)[1]) { $s = 39; continue; }
|
/* */ if ($assertType(_ref$14, ptrType$5, true)[1]) { $s = 39; continue; }
|
||||||
/* */ $s = 40; continue;
|
/* */ $s = 40; continue;
|
||||||
/* if ($assertType(_ref$13, ptrType$5, true)[1]) { */ case 39:
|
/* if ($assertType(_ref$14, ptrType$5, true)[1]) { */ case 39:
|
||||||
t = _ref$13.$val;
|
t = _ref$14.$val;
|
||||||
if (v$2.Bullet.OffenderJoinIndex === t.JoinIndex) {
|
if (v$2.Bullet.OffenderJoinIndex === t.JoinIndex) {
|
||||||
_i$9++;
|
_i$10++;
|
||||||
/* continue; */ $s = 37; continue;
|
/* continue; */ $s = 37; continue;
|
||||||
}
|
}
|
||||||
_r$6 = CalcPushbacks(0, 0, bulletShape, defenderShape); /* */ $s = 42; case 42: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
|
_r$6 = CalcPushbacks(0, 0, bulletShape, defenderShape); /* */ $s = 42; case 42: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }
|
||||||
_tuple$12 = _r$6;
|
_tuple$12 = _r$6;
|
||||||
overlapped$1 = _tuple$12[0];
|
overlapped$1 = _tuple$12[0];
|
||||||
if (!overlapped$1) {
|
if (!overlapped$1) {
|
||||||
_i$9++;
|
_i$10++;
|
||||||
/* continue; */ $s = 37; continue;
|
/* continue; */ $s = 37; continue;
|
||||||
}
|
}
|
||||||
addToNextRenderFrame = false;
|
addToNextRenderFrame = false;
|
||||||
_tuple$13 = (_entry$3 = invinsibleSet[$Int32.keyFor(t.CharacterState)], _entry$3 !== undefined ? [_entry$3.v, true] : [false, false]);
|
_tuple$13 = (_entry$3 = invinsibleSet[$Int32.keyFor(t.CharacterState)], _entry$3 !== undefined ? [_entry$3.v, true] : [false, false]);
|
||||||
existent$3 = _tuple$13[1];
|
existent$3 = _tuple$13[1];
|
||||||
if (existent$3) {
|
if (existent$3) {
|
||||||
_i$9++;
|
_i$10++;
|
||||||
/* continue; */ $s = 37; continue;
|
/* continue; */ $s = 37; continue;
|
||||||
}
|
}
|
||||||
if (0 < t.FramesInvinsible) {
|
if (0 < t.FramesInvinsible) {
|
||||||
_i$9++;
|
_i$10++;
|
||||||
/* continue; */ $s = 37; continue;
|
/* continue; */ $s = 37; continue;
|
||||||
}
|
}
|
||||||
xfac$2 = 1;
|
xfac$3 = 1;
|
||||||
if (0 > offender$1.DirX) {
|
if (0 > offender$1.DirX) {
|
||||||
xfac$2 = -xfac$2;
|
xfac$3 = -xfac$3;
|
||||||
}
|
}
|
||||||
_tmp$19 = $imul(xfac$2, v$2.Bullet.PushbackVelX);
|
_tmp$19 = $imul(xfac$3, v$2.Bullet.PushbackVelX);
|
||||||
_tmp$20 = v$2.Bullet.PushbackVelY;
|
_tmp$20 = v$2.Bullet.PushbackVelY;
|
||||||
pushbackVelX = _tmp$19;
|
pushbackVelX = _tmp$19;
|
||||||
pushbackVelY = _tmp$20;
|
pushbackVelY = _tmp$20;
|
||||||
atkedPlayerInNextFrame = (x$11 = t.JoinIndex - 1 >> 0, ((x$11 < 0 || x$11 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + x$11]));
|
atkedPlayerInNextFrame = (x$12 = t.JoinIndex - 1 >> 0, ((x$12 < 0 || x$12 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + x$12]));
|
||||||
atkedPlayerInNextFrame.VelX = pushbackVelX;
|
atkedPlayerInNextFrame.VelX = pushbackVelX;
|
||||||
atkedPlayerInNextFrame.VelY = pushbackVelY;
|
atkedPlayerInNextFrame.VelY = pushbackVelY;
|
||||||
if (v$2.Bullet.BlowUp) {
|
if (v$2.Bullet.BlowUp) {
|
||||||
@ -5948,65 +6001,65 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
} else {
|
} else {
|
||||||
atkedPlayerInNextFrame.CharacterState = 3;
|
atkedPlayerInNextFrame.CharacterState = 3;
|
||||||
}
|
}
|
||||||
oldFramesToRecover = (x$12 = t.JoinIndex - 1 >> 0, ((x$12 < 0 || x$12 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + x$12])).FramesToRecover;
|
oldFramesToRecover = (x$13 = t.JoinIndex - 1 >> 0, ((x$13 < 0 || x$13 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + x$13])).FramesToRecover;
|
||||||
if (v$2.Bullet.HitStunFrames > oldFramesToRecover) {
|
if (v$2.Bullet.HitStunFrames > oldFramesToRecover) {
|
||||||
atkedPlayerInNextFrame.FramesToRecover = v$2.Bullet.HitStunFrames;
|
atkedPlayerInNextFrame.FramesToRecover = v$2.Bullet.HitStunFrames;
|
||||||
}
|
}
|
||||||
$s = 41; continue;
|
$s = 41; continue;
|
||||||
/* } else { */ case 40:
|
/* } else { */ case 40:
|
||||||
t$1 = _ref$13;
|
t$1 = _ref$14;
|
||||||
addToNextRenderFrame = false;
|
addToNextRenderFrame = false;
|
||||||
/* } */ case 41:
|
/* } */ case 41:
|
||||||
_i$9++;
|
_i$10++;
|
||||||
$s = 37; continue;
|
$s = 37; continue;
|
||||||
case 38:
|
case 38:
|
||||||
$s = 36; continue;
|
$s = 36; continue;
|
||||||
/* } else if ($assertType(_ref$11, ptrType$6, true)[1]) { */ case 35:
|
/* } else if ($assertType(_ref$12, ptrType$6, true)[1]) { */ case 35:
|
||||||
v$3 = _ref$11.$val;
|
v$3 = _ref$12.$val;
|
||||||
bulletShape$1 = $assertType(bulletCollider.Shape, ptrType$7);
|
bulletShape$1 = $assertType(bulletCollider.Shape, ptrType$7);
|
||||||
offender$2 = (x$13 = currRenderFrame.PlayersArr, x$14 = v$3.Bullet.OffenderJoinIndex - 1 >> 0, ((x$14 < 0 || x$14 >= x$13.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$13.$array[x$13.$offset + x$14]));
|
offender$2 = (x$14 = currRenderFrame.PlayersArr, x$15 = v$3.Bullet.OffenderJoinIndex - 1 >> 0, ((x$15 < 0 || x$15 >= x$14.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$14.$array[x$14.$offset + x$15]));
|
||||||
_ref$14 = collision$1.Objects;
|
_ref$15 = collision$1.Objects;
|
||||||
_i$10 = 0;
|
_i$11 = 0;
|
||||||
/* while (true) { */ case 43:
|
/* while (true) { */ case 43:
|
||||||
/* if (!(_i$10 < _ref$14.$length)) { break; } */ if(!(_i$10 < _ref$14.$length)) { $s = 44; continue; }
|
/* if (!(_i$11 < _ref$15.$length)) { break; } */ if(!(_i$11 < _ref$15.$length)) { $s = 44; continue; }
|
||||||
obj$2 = ((_i$10 < 0 || _i$10 >= _ref$14.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$14.$array[_ref$14.$offset + _i$10]);
|
obj$2 = ((_i$11 < 0 || _i$11 >= _ref$15.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$15.$array[_ref$15.$offset + _i$11]);
|
||||||
defenderShape$1 = $assertType(obj$2.Shape, ptrType$7);
|
defenderShape$1 = $assertType(obj$2.Shape, ptrType$7);
|
||||||
_ref$15 = obj$2.Data;
|
_ref$16 = obj$2.Data;
|
||||||
/* */ if ($assertType(_ref$15, ptrType$5, true)[1]) { $s = 45; continue; }
|
/* */ if ($assertType(_ref$16, ptrType$5, true)[1]) { $s = 45; continue; }
|
||||||
/* */ $s = 46; continue;
|
/* */ $s = 46; continue;
|
||||||
/* if ($assertType(_ref$15, ptrType$5, true)[1]) { */ case 45:
|
/* if ($assertType(_ref$16, ptrType$5, true)[1]) { */ case 45:
|
||||||
t$2 = _ref$15.$val;
|
t$2 = _ref$16.$val;
|
||||||
if (v$3.Bullet.OffenderJoinIndex === t$2.JoinIndex) {
|
if (v$3.Bullet.OffenderJoinIndex === t$2.JoinIndex) {
|
||||||
_i$10++;
|
_i$11++;
|
||||||
/* continue; */ $s = 43; continue;
|
/* continue; */ $s = 43; continue;
|
||||||
}
|
}
|
||||||
_r$7 = CalcPushbacks(0, 0, bulletShape$1, defenderShape$1); /* */ $s = 48; case 48: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
|
_r$7 = CalcPushbacks(0, 0, bulletShape$1, defenderShape$1); /* */ $s = 48; case 48: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }
|
||||||
_tuple$14 = _r$7;
|
_tuple$14 = _r$7;
|
||||||
overlapped$2 = _tuple$14[0];
|
overlapped$2 = _tuple$14[0];
|
||||||
if (!overlapped$2) {
|
if (!overlapped$2) {
|
||||||
_i$10++;
|
_i$11++;
|
||||||
/* continue; */ $s = 43; continue;
|
/* continue; */ $s = 43; continue;
|
||||||
}
|
}
|
||||||
addToNextRenderFrame = false;
|
addToNextRenderFrame = false;
|
||||||
_tuple$15 = (_entry$4 = invinsibleSet[$Int32.keyFor(t$2.CharacterState)], _entry$4 !== undefined ? [_entry$4.v, true] : [false, false]);
|
_tuple$15 = (_entry$4 = invinsibleSet[$Int32.keyFor(t$2.CharacterState)], _entry$4 !== undefined ? [_entry$4.v, true] : [false, false]);
|
||||||
existent$4 = _tuple$15[1];
|
existent$4 = _tuple$15[1];
|
||||||
if (existent$4) {
|
if (existent$4) {
|
||||||
_i$10++;
|
_i$11++;
|
||||||
/* continue; */ $s = 43; continue;
|
/* continue; */ $s = 43; continue;
|
||||||
}
|
}
|
||||||
if (0 < t$2.FramesInvinsible) {
|
if (0 < t$2.FramesInvinsible) {
|
||||||
_i$10++;
|
_i$11++;
|
||||||
/* continue; */ $s = 43; continue;
|
/* continue; */ $s = 43; continue;
|
||||||
}
|
}
|
||||||
xfac$3 = 1;
|
xfac$4 = 1;
|
||||||
if (0 > offender$2.DirX) {
|
if (0 > offender$2.DirX) {
|
||||||
xfac$3 = -xfac$3;
|
xfac$4 = -xfac$4;
|
||||||
}
|
}
|
||||||
_tmp$21 = $imul(xfac$3, v$3.Bullet.PushbackVelX);
|
_tmp$21 = $imul(xfac$4, v$3.Bullet.PushbackVelX);
|
||||||
_tmp$22 = v$3.Bullet.PushbackVelY;
|
_tmp$22 = v$3.Bullet.PushbackVelY;
|
||||||
pushbackVelX$1 = _tmp$21;
|
pushbackVelX$1 = _tmp$21;
|
||||||
pushbackVelY$1 = _tmp$22;
|
pushbackVelY$1 = _tmp$22;
|
||||||
atkedPlayerInNextFrame$1 = (x$15 = t$2.JoinIndex - 1 >> 0, ((x$15 < 0 || x$15 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + x$15]));
|
atkedPlayerInNextFrame$1 = (x$16 = t$2.JoinIndex - 1 >> 0, ((x$16 < 0 || x$16 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + x$16]));
|
||||||
atkedPlayerInNextFrame$1.VelX = pushbackVelX$1;
|
atkedPlayerInNextFrame$1.VelX = pushbackVelX$1;
|
||||||
atkedPlayerInNextFrame$1.VelY = pushbackVelY$1;
|
atkedPlayerInNextFrame$1.VelY = pushbackVelY$1;
|
||||||
if (v$3.Bullet.BlowUp) {
|
if (v$3.Bullet.BlowUp) {
|
||||||
@ -6014,27 +6067,27 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
} else {
|
} else {
|
||||||
atkedPlayerInNextFrame$1.CharacterState = 3;
|
atkedPlayerInNextFrame$1.CharacterState = 3;
|
||||||
}
|
}
|
||||||
oldFramesToRecover$1 = (x$16 = t$2.JoinIndex - 1 >> 0, ((x$16 < 0 || x$16 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + x$16])).FramesToRecover;
|
oldFramesToRecover$1 = (x$17 = t$2.JoinIndex - 1 >> 0, ((x$17 < 0 || x$17 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + x$17])).FramesToRecover;
|
||||||
if (v$3.Bullet.HitStunFrames > oldFramesToRecover$1) {
|
if (v$3.Bullet.HitStunFrames > oldFramesToRecover$1) {
|
||||||
atkedPlayerInNextFrame$1.FramesToRecover = v$3.Bullet.HitStunFrames;
|
atkedPlayerInNextFrame$1.FramesToRecover = v$3.Bullet.HitStunFrames;
|
||||||
}
|
}
|
||||||
$s = 47; continue;
|
$s = 47; continue;
|
||||||
/* } else { */ case 46:
|
/* } else { */ case 46:
|
||||||
t$3 = _ref$15;
|
t$3 = _ref$16;
|
||||||
addToNextRenderFrame = false;
|
addToNextRenderFrame = false;
|
||||||
/* } */ case 47:
|
/* } */ case 47:
|
||||||
_i$10++;
|
_i$11++;
|
||||||
$s = 43; continue;
|
$s = 43; continue;
|
||||||
case 44:
|
case 44:
|
||||||
/* } */ case 36:
|
/* } */ case 36:
|
||||||
/* } */ case 33:
|
/* } */ case 33:
|
||||||
if (addToNextRenderFrame) {
|
if (addToNextRenderFrame) {
|
||||||
_ref$16 = bulletCollider.Data;
|
_ref$17 = bulletCollider.Data;
|
||||||
if ($assertType(_ref$16, ptrType$1, true)[1]) {
|
if ($assertType(_ref$17, ptrType$1, true)[1]) {
|
||||||
v$4 = _ref$16.$val;
|
v$4 = _ref$17.$val;
|
||||||
nextRenderFrameMeleeBullets = $append(nextRenderFrameMeleeBullets, v$4);
|
nextRenderFrameMeleeBullets = $append(nextRenderFrameMeleeBullets, v$4);
|
||||||
} else if ($assertType(_ref$16, ptrType$6, true)[1]) {
|
} else if ($assertType(_ref$17, ptrType$6, true)[1]) {
|
||||||
v$5 = _ref$16.$val;
|
v$5 = _ref$17.$val;
|
||||||
_tmp$23 = v$5.VirtualGridX + v$5.VelX >> 0;
|
_tmp$23 = v$5.VirtualGridX + v$5.VelX >> 0;
|
||||||
_tmp$24 = v$5.VirtualGridY + v$5.VelY >> 0;
|
_tmp$24 = v$5.VirtualGridY + v$5.VelY >> 0;
|
||||||
v$5.VirtualGridX = _tmp$23;
|
v$5.VirtualGridX = _tmp$23;
|
||||||
@ -6042,33 +6095,41 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
nextRenderFrameFireballBullets = $append(nextRenderFrameFireballBullets, v$5);
|
nextRenderFrameFireballBullets = $append(nextRenderFrameFireballBullets, v$5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_i$8++;
|
_i$9++;
|
||||||
$s = 30; continue;
|
$s = 30; continue;
|
||||||
case 31:
|
case 31:
|
||||||
_ref$17 = currRenderFrame.PlayersArr;
|
_ref$18 = currRenderFrame.PlayersArr;
|
||||||
_i$11 = 0;
|
_i$12 = 0;
|
||||||
while (true) {
|
while (true) {
|
||||||
if (!(_i$11 < _ref$17.$length)) { break; }
|
if (!(_i$12 < _ref$18.$length)) { break; }
|
||||||
i$4 = _i$11;
|
i$4 = _i$12;
|
||||||
currPlayerDownsync$4 = ((_i$11 < 0 || _i$11 >= _ref$17.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$17.$array[_ref$17.$offset + _i$11]);
|
currPlayerDownsync$4 = ((_i$12 < 0 || _i$12 >= _ref$18.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$18.$array[_ref$18.$offset + _i$12]);
|
||||||
joinIndex$3 = currPlayerDownsync$4.JoinIndex;
|
joinIndex$3 = currPlayerDownsync$4.JoinIndex;
|
||||||
playerCollider$2 = ((i$4 < 0 || i$4 >= playerColliders.$length) ? ($throwRuntimeError("index out of range"), undefined) : playerColliders.$array[playerColliders.$offset + i$4]);
|
playerCollider$2 = ((i$4 < 0 || i$4 >= playerColliders.$length) ? ($throwRuntimeError("index out of range"), undefined) : playerColliders.$array[playerColliders.$offset + i$4]);
|
||||||
thatPlayerInNextFrame$3 = ((i$4 < 0 || i$4 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + i$4]);
|
thatPlayerInNextFrame$3 = ((i$4 < 0 || i$4 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + i$4]);
|
||||||
_tuple$16 = PolygonColliderBLToVirtualGridPos(playerCollider$2.X - (x$17 = joinIndex$3 - 1 >> 0, ((x$17 < 0 || x$17 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$17])).X, playerCollider$2.Y - (x$18 = joinIndex$3 - 1 >> 0, ((x$18 < 0 || x$18 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$18])).Y, playerCollider$2.W * 0.5, playerCollider$2.H * 0.5, 0, 0, 0, 0, collisionSpaceOffsetX, collisionSpaceOffsetY);
|
_tuple$16 = PolygonColliderBLToVirtualGridPos(playerCollider$2.X - (x$18 = joinIndex$3 - 1 >> 0, ((x$18 < 0 || x$18 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$18])).X, playerCollider$2.Y - (x$19 = joinIndex$3 - 1 >> 0, ((x$19 < 0 || x$19 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$19])).Y, playerCollider$2.W * 0.5, playerCollider$2.H * 0.5, 0, 0, 0, 0, collisionSpaceOffsetX, collisionSpaceOffsetY);
|
||||||
thatPlayerInNextFrame$3.VirtualGridX = _tuple$16[0];
|
thatPlayerInNextFrame$3.VirtualGridX = _tuple$16[0];
|
||||||
thatPlayerInNextFrame$3.VirtualGridY = _tuple$16[1];
|
thatPlayerInNextFrame$3.VirtualGridY = _tuple$16[1];
|
||||||
if (thatPlayerInNextFrame$3.InAir) {
|
if (thatPlayerInNextFrame$3.InAir) {
|
||||||
oldNextCharacterState = thatPlayerInNextFrame$3.CharacterState;
|
oldNextCharacterState = thatPlayerInNextFrame$3.CharacterState;
|
||||||
_2 = oldNextCharacterState;
|
_3 = oldNextCharacterState;
|
||||||
if ((_2 === (0)) || (_2 === (1))) {
|
if (_3 === (0)) {
|
||||||
if (((i$4 < 0 || i$4 >= jumpedOrNotList.$length) ? ($throwRuntimeError("index out of range"), undefined) : jumpedOrNotList.$array[jumpedOrNotList.$offset + i$4]) || (5 === currPlayerDownsync$4.CharacterState)) {
|
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;
|
thatPlayerInNextFrame$3.CharacterState = 5;
|
||||||
} else {
|
} else {
|
||||||
thatPlayerInNextFrame$3.CharacterState = 4;
|
thatPlayerInNextFrame$3.CharacterState = 4;
|
||||||
}
|
}
|
||||||
} else if (_2 === (2)) {
|
} else if (_3 === (1)) {
|
||||||
|
if (thatPlayerInNextFrame$3.OnWall) {
|
||||||
|
thatPlayerInNextFrame$3.CharacterState = 16;
|
||||||
|
} else 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 (_3 === (2)) {
|
||||||
thatPlayerInNextFrame$3.CharacterState = 6;
|
thatPlayerInNextFrame$3.CharacterState = 6;
|
||||||
} else if (_2 === (3)) {
|
} else if (_3 === (3)) {
|
||||||
thatPlayerInNextFrame$3.CharacterState = 7;
|
thatPlayerInNextFrame$3.CharacterState = 7;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -6081,18 +6142,18 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
thatPlayerInNextFrame$3.ActiveSkillId = -1;
|
thatPlayerInNextFrame$3.ActiveSkillId = -1;
|
||||||
thatPlayerInNextFrame$3.ActiveSkillHit = -1;
|
thatPlayerInNextFrame$3.ActiveSkillHit = -1;
|
||||||
}
|
}
|
||||||
_i$11++;
|
|
||||||
}
|
|
||||||
_ref$18 = playerColliders;
|
|
||||||
_i$12 = 0;
|
|
||||||
while (true) {
|
|
||||||
if (!(_i$12 < _ref$18.$length)) { break; }
|
|
||||||
playerCollider$3 = ((_i$12 < 0 || _i$12 >= _ref$18.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$18.$array[_ref$18.$offset + _i$12]);
|
|
||||||
playerCollider$3.Space.Remove(new sliceType$11([playerCollider$3]));
|
|
||||||
_i$12++;
|
_i$12++;
|
||||||
}
|
}
|
||||||
|
_ref$19 = playerColliders;
|
||||||
|
_i$13 = 0;
|
||||||
|
while (true) {
|
||||||
|
if (!(_i$13 < _ref$19.$length)) { break; }
|
||||||
|
playerCollider$3 = ((_i$13 < 0 || _i$13 >= _ref$19.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$19.$array[_ref$19.$offset + _i$13]);
|
||||||
|
playerCollider$3.Space.Remove(new sliceType$11([playerCollider$3]));
|
||||||
|
_i$13++;
|
||||||
|
}
|
||||||
$s = -1; return new RoomDownsyncFrame.ptr(currRenderFrame.Id + 1 >> 0, nextRenderFramePlayers, new $Int64(0, 0), nextRenderFrameMeleeBullets, nextRenderFrameFireballBullets, new $Uint64(0, 0), false, bulletLocalId);
|
$s = -1; return new RoomDownsyncFrame.ptr(currRenderFrame.Id + 1 >> 0, nextRenderFramePlayers, new $Int64(0, 0), nextRenderFrameMeleeBullets, nextRenderFrameFireballBullets, new $Uint64(0, 0), false, bulletLocalId);
|
||||||
/* */ } return; } var $f = {$blk: ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame, $c: true, $r, _1, _2, _entry, _entry$1, _entry$2, _entry$3, _entry$4, _entry$5, _i, _i$1, _i$10, _i$11, _i$12, _i$2, _i$3, _i$4, _i$5, _i$6, _i$7, _i$8, _i$9, _index, _index$1, _index$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _ref, _ref$1, _ref$10, _ref$11, _ref$12, _ref$13, _ref$14, _ref$15, _ref$16, _ref$17, _ref$18, _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$13, _tmp$14, _tmp$15, _tmp$16, _tmp$17, _tmp$18, _tmp$19, _tmp$2, _tmp$20, _tmp$21, _tmp$22, _tmp$23, _tmp$24, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$10, _tuple$11, _tuple$12, _tuple$13, _tuple$14, _tuple$15, _tuple$16, _tuple$17, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, addToNextRenderFrame, atkedPlayerInNextFrame, atkedPlayerInNextFrame$1, bShape, bulletCollider, bulletColliders, bulletLocalId, bulletShape, bulletShape$1, bulletWx, bulletWx$1, bulletWy, bulletWy$1, chConfig, chConfig$1, chConfig$2, chConfigsOrderedByJoinIndex, colliderHeight, colliderWidth, colliderWorldHeight, colliderWorldWidth, collision, collision$1, collisionSpaceOffsetX, collisionSpaceOffsetY, collisionSys, collisionSysMap, currPlayerDownsync, currPlayerDownsync$1, currPlayerDownsync$2, currPlayerDownsync$3, currPlayerDownsync$4, currRenderFrame, defenderShape, defenderShape$1, effDx, effDy, effPushbacks, existent, existent$1, existent$2, existent$3, existent$4, existent$5, fireballBullet, halfColliderHeightDiff, halfColliderWidthDiff, halfColliderWorldHeightDiff, hardPushbackNorm, hardPushbackNorms, hasLockVel, hitboxSizeWx, hitboxSizeWx$1, hitboxSizeWy, hitboxSizeWy$1, 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, newBullet$1, newBulletCollider, newBulletCollider$1, newVx, newVy, nextRenderFrameFireballBullets, nextRenderFrameMeleeBullets, nextRenderFramePlayers, normAlignmentWithGravity, obj, obj$1, obj$2, offender, offender$1, offender$2, oldFramesToRecover, oldFramesToRecover$1, oldNextCharacterState, overlapResult, overlapped, overlapped$1, overlapped$2, patternId, playerCollider, playerCollider$1, playerCollider$2, playerCollider$3, playerColliders, playerShape, projectedMagnitude, pushbackVelX, pushbackVelX$1, pushbackVelY, pushbackVelY$1, pushbackX, pushbackY, roomCapacity, skillConfig, skillId, t, t$1, t$2, t$3, thatPlayerInNextFrame, thatPlayerInNextFrame$1, thatPlayerInNextFrame$2, thatPlayerInNextFrame$3, v, v$1, v$2, v$3, v$4, v$5, wx, wy, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, xfac, xfac$1, xfac$2, xfac$3, $s};return $f;
|
/* */ } return; } var $f = {$blk: ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame, $c: true, $r, _1, _2, _3, _entry, _entry$1, _entry$2, _entry$3, _entry$4, _entry$5, _i, _i$1, _i$10, _i$11, _i$12, _i$13, _i$2, _i$3, _i$4, _i$5, _i$6, _i$7, _i$8, _i$9, _index, _index$1, _index$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _ref, _ref$1, _ref$10, _ref$11, _ref$12, _ref$13, _ref$14, _ref$15, _ref$16, _ref$17, _ref$18, _ref$19, _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$13, _tmp$14, _tmp$15, _tmp$16, _tmp$17, _tmp$18, _tmp$19, _tmp$2, _tmp$20, _tmp$21, _tmp$22, _tmp$23, _tmp$24, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$10, _tuple$11, _tuple$12, _tuple$13, _tuple$14, _tuple$15, _tuple$16, _tuple$17, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, addToNextRenderFrame, atkedPlayerInNextFrame, atkedPlayerInNextFrame$1, bShape, bulletCollider, bulletColliders, bulletLocalId, bulletShape, bulletShape$1, bulletWx, bulletWx$1, bulletWy, bulletWy$1, chConfig, chConfig$1, chConfig$2, chConfigsOrderedByJoinIndex, colliderHeight, colliderWidth, colliderWorldHeight, colliderWorldWidth, collision, collision$1, collisionSpaceOffsetX, collisionSpaceOffsetY, collisionSys, collisionSysMap, ctrlAlignmentWithHorizon1, ctrlAlignmentWithHorizon2, currPlayerDownsync, currPlayerDownsync$1, currPlayerDownsync$2, currPlayerDownsync$3, currPlayerDownsync$4, currRenderFrame, defenderShape, defenderShape$1, effDx, effDy, effPushbacks, existent, existent$1, existent$2, existent$3, existent$4, existent$5, fallStopping, fireballBullet, halfColliderHeightDiff, halfColliderWidthDiff, halfColliderWorldHeightDiff, hardPushbackNorm, hardPushbackNorm$1, hardPushbackNorms, hasLockVel, hitboxSizeWx, hitboxSizeWx$1, hitboxSizeWy, hitboxSizeWy$1, 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, newBullet$1, newBulletCollider, newBulletCollider$1, newVx, newVy, nextRenderFrameFireballBullets, nextRenderFrameMeleeBullets, nextRenderFramePlayers, normAlignmentWithGravity, normAlignmentWithHorizon1, normAlignmentWithHorizon2, obj, obj$1, obj$2, offender, offender$1, offender$2, oldFramesToRecover, oldFramesToRecover$1, oldNextCharacterState, overlapResult, overlapped, overlapped$1, overlapped$2, patternId, playerCollider, playerCollider$1, playerCollider$2, playerCollider$3, playerColliders, playerShape, projectedMagnitude, pushbackVelX, pushbackVelX$1, pushbackVelY, pushbackVelY$1, pushbackX, pushbackY, roomCapacity, skillConfig, skillId, t, t$1, t$2, t$3, thatPlayerInNextFrame, thatPlayerInNextFrame$1, thatPlayerInNextFrame$2, thatPlayerInNextFrame$3, v, v$1, v$2, v$3, v$4, v$5, wx, wy, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, xfac, xfac$1, xfac$2, xfac$3, xfac$4, $s};return $f;
|
||||||
};
|
};
|
||||||
$pkg.ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame = ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame;
|
$pkg.ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame = ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame;
|
||||||
GenerateRectCollider = function(wx, wy, w, h, topPadding, bottomPadding, leftPadding, rightPadding, spaceOffsetX, spaceOffsetY, data, tag) {
|
GenerateRectCollider = function(wx, wy, w, h, topPadding, bottomPadding, leftPadding, rightPadding, spaceOffsetX, spaceOffsetY, data, tag) {
|
||||||
@ -6210,7 +6271,7 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
NpcPatrolCue.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: ""}]);
|
NpcPatrolCue.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: ""}]);
|
||||||
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: ""}]);
|
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);
|
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: "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: "SkillMapper", name: "SkillMapper", embedded: false, exported: true, typ: SkillMapperType, 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: "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: "DashingEnabled", name: "DashingEnabled", embedded: false, exported: true, typ: $Bool, tag: ""}, {prop: "OnWallEnabled", name: "OnWallEnabled", embedded: false, exported: true, typ: $Bool, 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: "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: ""}]);
|
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() {
|
$init = function() {
|
||||||
$pkg.$init = function() {};
|
$pkg.$init = function() {};
|
||||||
@ -6218,8 +6279,8 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
$r = math.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
$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; }
|
$r = resolv.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }
|
||||||
$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])]);
|
$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, 0, 7, 13, 30, 22, 13, 9, 50, 0, 5, 5, -1, 1200, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 2 }]), 0))])) }, { k: 2, v: new Skill.ptr(0, 36, 36, 36, 1, 11, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 18, 22, 36, 18, 18, 9, 50, 0, 5, 10, -1, 1800, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 3 }]), 0))])) }, { k: 3, v: new Skill.ptr(0, 50, 50, 50, 1, 12, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 8, 0, 0, 30, 999999999, 9, 200, 700, 10, 50, 500, 1600, 800, 3200, 3200, true, false, 0))])) }, { k: 4, v: new Skill.ptr(0, 30, 30, 30, 1, 2, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 7, 13, 30, 22, 13, 9, 50, 0, 5, 5, -1, 1200, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 5 }]), 0))])) }, { k: 5, v: new Skill.ptr(0, 36, 36, 36, 1, 11, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 18, 22, 36, 18, 18, 9, 50, 0, 5, 10, -1, 1800, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 6 }]), 0))])) }, { k: 6, v: new Skill.ptr(0, 45, 45, 45, 1, 12, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 8, 0, 0, 28, 999999999, 9, 200, -1, 10, -10, -1, 2400, 0, 3200, 3200, true, false, 0))])) }, { k: 7, v: new Skill.ptr(0, 30, 30, 30, 1, 2, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 7, 13, 30, 22, 13, 9, 50, 0, 5, -1, -1, 1200, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 8 }]), 0))])) }, { k: 8, v: new Skill.ptr(0, 36, 36, 36, 1, 11, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 18, 22, 36, 18, 18, 9, 50, 0, 5, 10, -1, 1800, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 9 }]), 0))])) }, { k: 9, v: new Skill.ptr(0, 40, 40, 40, 1, 12, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 7, 0, 0, 30, 999999999, 9, 200, 400, 10, 100, -1, 1000, 0, 3200, 3200, true, false, 0))])) }, { k: 10, v: new Skill.ptr(0, 40, 40, 40, 1, 13, new sliceType$2([new FireballBullet.ptr(0, 0, 0, 0, 0, 0, 800, 1, new Bullet.ptr(0, 0, 0, 15, 0, 0, 999999999, 15, 9, 200, 0, 20, -1, -1, 3200, 500, 4800, 3200, false, false, 0))])) }, { k: 11, v: new Skill.ptr(0, 60, 60, 60, 1, 14, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 3, 0, 0, 25, 999999999, 9, 200, 700, 30, 100, 800, 800, 0, 4000, 6400, true, false, 0))])) }, { k: 255, v: new Skill.ptr(0, 30, 30, 30, 1, 6, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 3, 0, 0, 20, 18, 9, 50, 0, 5, -1, -1, 1200, 0, 3200, 2400, false, false, 0))])) }, { k: 256, v: new Skill.ptr(0, 20, 20, 20, 1, 6, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 3, 0, 0, 10, 15, 9, 50, 0, 5, -1, -1, 1200, 0, 3200, 2400, false, false, 0))])) }, { k: 257, v: new Skill.ptr(0, 30, 30, 30, 1, 6, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 3, 0, 0, 20, 18, 9, 50, 0, 5, -1, -1, 1200, 0, 3200, 2400, false, false, 0))])) }]);
|
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, 0, 7, 13, 30, 22, 13, 9, 50, 0, 5, 5, -1, 1200, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 2 }]), 0))])) }, { k: 2, v: new Skill.ptr(0, 36, 36, 36, 1, 11, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 18, 22, 36, 18, 18, 9, 50, 0, 5, 10, -1, 1800, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 3 }]), 0))])) }, { k: 3, v: new Skill.ptr(0, 50, 50, 50, 1, 12, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 8, 0, 0, 30, 999999999, 9, 200, 700, 10, 50, 500, 1600, 800, 3200, 3200, true, false, 0))])) }, { k: 4, v: new Skill.ptr(0, 30, 30, 30, 1, 2, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 7, 13, 30, 22, 13, 9, 50, 0, 5, 5, -1, 1200, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 5 }]), 0))])) }, { k: 5, v: new Skill.ptr(0, 36, 36, 36, 1, 11, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 18, 22, 36, 18, 18, 9, 50, 0, 5, 10, -1, 1800, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 6 }]), 0))])) }, { k: 6, v: new Skill.ptr(0, 45, 45, 45, 1, 12, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 8, 0, 0, 28, 999999999, 9, 200, 300, 10, -1, -1, 2400, 0, 3200, 3200, true, false, 0))])) }, { k: 7, v: new Skill.ptr(0, 30, 30, 30, 1, 2, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 7, 13, 30, 22, 13, 9, 50, 0, 5, -1, -1, 1200, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 8 }]), 0))])) }, { k: 8, v: new Skill.ptr(0, 36, 36, 36, 1, 11, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 18, 22, 36, 18, 18, 9, 50, 0, 5, 10, -1, 1800, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 9 }]), 0))])) }, { k: 9, v: new Skill.ptr(0, 40, 40, 40, 1, 12, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 7, 0, 0, 30, 999999999, 9, 200, 400, 10, 100, -1, 1000, 0, 3200, 3200, true, false, 0))])) }, { k: 10, v: new Skill.ptr(0, 40, 40, 40, 1, 13, new sliceType$2([new FireballBullet.ptr(0, 0, 0, 0, 0, 0, 800, 1, new Bullet.ptr(0, 0, 0, 15, 0, 0, 999999999, 15, 9, 200, 0, 20, -1, -1, 3200, 500, 4800, 3200, false, false, 0))])) }, { k: 11, v: new Skill.ptr(0, 60, 60, 60, 1, 14, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 3, 0, 0, 25, 999999999, 9, 200, 700, 30, 100, 800, 800, 0, 4000, 6400, true, false, 0))])) }, { k: 255, v: new Skill.ptr(0, 30, 30, 30, 1, 6, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 3, 0, 0, 20, 18, 9, 50, 0, 5, -1, -1, 1200, 0, 3200, 2400, false, false, 0))])) }, { k: 256, v: new Skill.ptr(0, 20, 20, 20, 1, 6, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 3, 0, 0, 10, 15, 9, 50, 0, 5, -1, -1, 1200, 0, 3200, 2400, false, false, 0))])) }, { k: 257, v: new Skill.ptr(0, 30, 30, 30, 1, 6, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 0, 3, 0, 0, 20, 18, 9, 50, 0, 5, -1, -1, 1200, 0, 3200, 2400, false, false, 0))])) }]);
|
||||||
$pkg.Characters = $makeMap($Int.keyFor, [{ k: 0, v: new CharacterConfig.ptr(0, "MonkGirl", 11, 1, 16, 16, 10, 27, 120, 800, (function(patternId, currPlayerDownsync) {
|
$pkg.Characters = $makeMap($Int.keyFor, [{ k: 0, v: new CharacterConfig.ptr(0, "MonkGirl", 11, 1, 16, 16, 10, 27, 120, 800, false, false, 0, 0, 0, (function(patternId, currPlayerDownsync) {
|
||||||
var _entry, _entry$1, _ref, _tuple, _tuple$1, currPlayerDownsync, existent1, existent2, nextSkillId, patternId, skillConfig, v, x, x$1;
|
var _entry, _entry$1, _ref, _tuple, _tuple$1, currPlayerDownsync, existent1, existent2, nextSkillId, patternId, skillConfig, v, x, x$1;
|
||||||
if (1 === patternId) {
|
if (1 === patternId) {
|
||||||
if (0 === currPlayerDownsync.FramesToRecover) {
|
if (0 === currPlayerDownsync.FramesToRecover) {
|
||||||
@ -6249,7 +6310,7 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
})) }, { k: 1, v: new CharacterConfig.ptr(1, "KnifeGirl", 9, 1, 16, 16, 10, 27, 140, 750, (function(patternId, currPlayerDownsync) {
|
})) }, { k: 1, v: new CharacterConfig.ptr(1, "KnifeGirl", 9, 1, 16, 16, 10, 27, 140, 750, true, true, 700, 700, -100, (function(patternId, currPlayerDownsync) {
|
||||||
var _entry, _entry$1, _ref, _tuple, _tuple$1, currPlayerDownsync, existent1, existent2, nextSkillId, patternId, skillConfig, v, x, x$1;
|
var _entry, _entry$1, _ref, _tuple, _tuple$1, currPlayerDownsync, existent1, existent2, nextSkillId, patternId, skillConfig, v, x, x$1;
|
||||||
if (1 === patternId) {
|
if (1 === patternId) {
|
||||||
if (0 === currPlayerDownsync.FramesToRecover) {
|
if (0 === currPlayerDownsync.FramesToRecover) {
|
||||||
@ -6279,7 +6340,7 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
})) }, { k: 4096, v: new CharacterConfig.ptr(4096, "Monk", 42, 2, 14, 14, 8, 30, 100, 750, (function(patternId, currPlayerDownsync) {
|
})) }, { k: 4096, v: new CharacterConfig.ptr(4096, "Monk", 42, 2, 14, 14, 8, 30, 100, 750, false, false, 0, 0, 0, (function(patternId, currPlayerDownsync) {
|
||||||
var _entry, _entry$1, _ref, _tuple, _tuple$1, currPlayerDownsync, existent1, existent2, nextSkillId, patternId, skillConfig, v, x, x$1;
|
var _entry, _entry$1, _ref, _tuple, _tuple$1, currPlayerDownsync, existent1, existent2, nextSkillId, patternId, skillConfig, v, x, x$1;
|
||||||
if (1 === patternId) {
|
if (1 === patternId) {
|
||||||
if (0 === currPlayerDownsync.FramesToRecover) {
|
if (0 === currPlayerDownsync.FramesToRecover) {
|
||||||
@ -6318,7 +6379,7 @@ $packages["jsexport/battle"] = (function() {
|
|||||||
}
|
}
|
||||||
return -1;
|
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 }]);
|
inAirSet = $makeMap($Int32.keyFor, [{ k: 4, v: true }, { k: 5, v: true }, { k: 6, v: true }, { k: 7, v: true }, { k: 8, v: true }, { k: 16, v: true }]);
|
||||||
noOpSet = $makeMap($Int32.keyFor, [{ k: 3, v: true }, { k: 7, v: true }, { k: 8, v: true }, { k: 9, 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 }]);
|
invinsibleSet = $makeMap($Int32.keyFor, [{ k: 8, v: true }, { k: 9, v: true }, { k: 10, v: true }]);
|
||||||
nonAttackingSet = $makeMap($Int32.keyFor, [{ k: 0, v: true }, { k: 1, v: true }, { k: 4, v: true }, { k: 5, v: true }, { k: 3, v: true }, { k: 7, v: true }, { k: 8, v: true }, { k: 9, v: true }, { k: 10, v: true }]);
|
nonAttackingSet = $makeMap($Int32.keyFor, [{ k: 0, v: true }, { k: 1, v: true }, { k: 4, v: true }, { k: 5, v: true }, { k: 3, v: true }, { k: 7, v: true }, { k: 8, v: true }, { k: 9, v: true }, { k: 10, v: true }]);
|
||||||
@ -6348,7 +6409,7 @@ $packages["jsexport"] = (function() {
|
|||||||
funcType = $funcType([$Float64, $Float64], [ptrType$5], false);
|
funcType = $funcType([$Float64, $Float64], [ptrType$5], false);
|
||||||
funcType$1 = $funcType([ptrType, sliceType$1], [ptrType$5], false);
|
funcType$1 = $funcType([ptrType, sliceType$1], [ptrType$5], false);
|
||||||
funcType$2 = $funcType([ptrType$1], [ptrType$5], false);
|
funcType$2 = $funcType([ptrType$1], [ptrType$5], false);
|
||||||
funcType$3 = $funcType([$Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Bool, $Int32, $Int32], [ptrType$5], false);
|
funcType$3 = $funcType([$Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Bool, $Bool, $Int32, $Int32], [ptrType$5], false);
|
||||||
funcType$4 = $funcType([$Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Bool, $Int32], [ptrType$5], false);
|
funcType$4 = $funcType([$Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Bool, $Int32], [ptrType$5], false);
|
||||||
funcType$5 = $funcType([$Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Bool, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32], [ptrType$5], false);
|
funcType$5 = $funcType([$Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Bool, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32, $Int32], [ptrType$5], false);
|
||||||
funcType$6 = $funcType([$Uint64, $Uint64, $Float64, $Float64], [ptrType$5], false);
|
funcType$6 = $funcType([$Uint64, $Uint64, $Float64, $Float64], [ptrType$5], false);
|
||||||
@ -6420,9 +6481,9 @@ $packages["jsexport"] = (function() {
|
|||||||
return js.MakeWrapper(new battle.Barrier.ptr(boundary));
|
return js.MakeWrapper(new battle.Barrier.ptr(boundary));
|
||||||
};
|
};
|
||||||
$pkg.NewBarrierJs = NewBarrierJs;
|
$pkg.NewBarrierJs = NewBarrierJs;
|
||||||
NewPlayerDownsyncJs = function(id, virtualGridX, virtualGridY, dirX, dirY, velX, velY, framesToRecover, framesInChState, activeSkillId, activeSkillHit, framesInvinsible, speed, battleState, characterState, joinIndex, hp, maxHp, colliderRadius, inAir, bulletTeamId, chCollisionTeamId) {
|
NewPlayerDownsyncJs = function(id, virtualGridX, virtualGridY, dirX, dirY, velX, velY, framesToRecover, framesInChState, activeSkillId, activeSkillHit, framesInvinsible, speed, battleState, characterState, joinIndex, hp, maxHp, colliderRadius, inAir, onWall, bulletTeamId, chCollisionTeamId) {
|
||||||
var activeSkillHit, activeSkillId, battleState, bulletTeamId, chCollisionTeamId, characterState, colliderRadius, dirX, dirY, framesInChState, framesInvinsible, framesToRecover, hp, id, inAir, joinIndex, maxHp, speed, velX, velY, virtualGridX, virtualGridY;
|
var activeSkillHit, activeSkillId, battleState, bulletTeamId, chCollisionTeamId, characterState, colliderRadius, dirX, dirY, framesInChState, framesInvinsible, framesToRecover, hp, id, inAir, joinIndex, maxHp, onWall, speed, velX, velY, virtualGridX, virtualGridY;
|
||||||
return js.MakeWrapper(new battle.PlayerDownsync.ptr(id, virtualGridX, virtualGridY, dirX, dirY, velX, velY, speed, battleState, joinIndex, colliderRadius, false, 0, 0, framesToRecover, framesInChState, hp, maxHp, characterState, inAir, false, activeSkillId, activeSkillHit, framesInvinsible, bulletTeamId, chCollisionTeamId));
|
return js.MakeWrapper(new battle.PlayerDownsync.ptr(id, virtualGridX, virtualGridY, dirX, dirY, velX, velY, speed, battleState, joinIndex, colliderRadius, false, 0, 0, framesToRecover, framesInChState, hp, maxHp, characterState, inAir, onWall, activeSkillId, activeSkillHit, framesInvinsible, bulletTeamId, chCollisionTeamId));
|
||||||
};
|
};
|
||||||
$pkg.NewPlayerDownsyncJs = NewPlayerDownsyncJs;
|
$pkg.NewPlayerDownsyncJs = NewPlayerDownsyncJs;
|
||||||
NewMeleeBulletJs = function(bulletLocalId, originatedRenderFrameId, offenderJoinIndex, startupFrames, cancellableStFrame, cancellableEdFrame, activeFrames, hitStunFrames, blockStunFrames, pushbackVelX, pushbackVelY, damage, selfLockVelX, selfLockVelY, hitboxOffsetX, hitboxOffsetY, hitboxSizeX, hitboxSizeY, blowUp, teamId) {
|
NewMeleeBulletJs = function(bulletLocalId, originatedRenderFrameId, offenderJoinIndex, startupFrames, cancellableStFrame, cancellableEdFrame, activeFrames, hitStunFrames, blockStunFrames, pushbackVelX, pushbackVelY, damage, selfLockVelX, selfLockVelY, hitboxOffsetX, hitboxOffsetY, hitboxSizeX, hitboxSizeY, blowUp, teamId) {
|
||||||
|
61
frontend/assets/resources/animation/KnifeGirl/Dashing.anim
Normal file
61
frontend/assets/resources/animation/KnifeGirl/Dashing.anim
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
"__type__": "cc.AnimationClip",
|
||||||
|
"_name": "Dashing",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"_native": "",
|
||||||
|
"_duration": 0.35,
|
||||||
|
"sample": 60,
|
||||||
|
"speed": 1,
|
||||||
|
"wrapMode": 1,
|
||||||
|
"curveData": {
|
||||||
|
"comps": {
|
||||||
|
"cc.Sprite": {
|
||||||
|
"spriteFrame": [
|
||||||
|
{
|
||||||
|
"frame": 0,
|
||||||
|
"value": {
|
||||||
|
"__uuid__": "cf396dac-50c9-4389-90c0-55f49fd3276d"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"frame": 0.05,
|
||||||
|
"value": {
|
||||||
|
"__uuid__": "b9e4b5d5-c296-48c8-aa60-d22db0e5a632"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"frame": 0.11666666666666667,
|
||||||
|
"value": {
|
||||||
|
"__uuid__": "e456c710-69f5-4dcc-9f5d-dd486a9198a1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"frame": 0.16666666666666666,
|
||||||
|
"value": {
|
||||||
|
"__uuid__": "ec6df76f-0004-4216-9b83-449487fe0cda"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"frame": 0.23333333333333334,
|
||||||
|
"value": {
|
||||||
|
"__uuid__": "26032d0f-845c-4b96-89a6-d88113ed7827"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"frame": 0.2833333333333333,
|
||||||
|
"value": {
|
||||||
|
"__uuid__": "e3e0169c-3c56-4206-a20e-35e4d0471873"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"frame": 0.3333333333333333,
|
||||||
|
"value": {
|
||||||
|
"__uuid__": "80b98036-c5de-492b-b0e8-f1703f3a7d20"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"events": []
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"ver": "2.1.0",
|
||||||
|
"uuid": "38b2c892-347b-4009-93f8-65b2ab1614f0",
|
||||||
|
"subMetas": {}
|
||||||
|
}
|
@ -15,9 +15,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{112,128}</string>
|
<string>{112,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{824,544},{112,128}}</string>
|
<string>{{806,750},{112,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Atk1_1.png</key>
|
<key>Atk1_1.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -30,9 +30,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{112,128}</string>
|
<string>{112,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{0,1200},{112,128}}</string>
|
<string>{{0,1076},{112,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Atk1_10.png</key>
|
<key>Atk1_10.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -60,7 +60,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{80,128}</string>
|
<string>{80,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{940,0},{80,128}}</string>
|
<string>{{528,515},{80,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -75,7 +75,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{80,128}</string>
|
<string>{80,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{940,128},{80,128}}</string>
|
<string>{{934,640},{80,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -90,9 +90,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{112,128}</string>
|
<string>{112,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{0,964},{112,128}}</string>
|
<string>{{128,1076},{112,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Atk1_4.png</key>
|
<key>Atk1_4.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -105,9 +105,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{112,128}</string>
|
<string>{112,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{112,964},{112,128}}</string>
|
<string>{{678,862},{112,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Atk1_5.png</key>
|
<key>Atk1_5.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -120,7 +120,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{96,128}</string>
|
<string>{96,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{840,288},{96,128}}</string>
|
<string>{{512,643},{96,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -135,7 +135,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{96,128}</string>
|
<string>{96,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{840,416},{96,128}}</string>
|
<string>{{512,771},{96,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -150,7 +150,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{80,128}</string>
|
<string>{80,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{940,256},{80,128}}</string>
|
<string>{{934,768},{80,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -165,7 +165,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{80,128}</string>
|
<string>{80,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{936,384},{80,128}}</string>
|
<string>{{934,896},{80,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -180,9 +180,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{80,128}</string>
|
<string>{80,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{936,512},{80,128}}</string>
|
<string>{{806,958},{80,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Atk2_0.png</key>
|
<key>Atk2_0.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -195,7 +195,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{80,128}</string>
|
<string>{80,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{936,640},{80,128}}</string>
|
<string>{{934,1024},{80,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -210,7 +210,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{96,128}</string>
|
<string>{96,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{582,531},{96,128}}</string>
|
<string>{{512,899},{96,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -225,7 +225,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{128,112}</string>
|
<string>{128,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{326,871},{128,112}}</string>
|
<string>{{128,964},{128,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -240,7 +240,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{96,96}</string>
|
<string>{96,96}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{696,1200},{96,96}}</string>
|
<string>{{912,1152},{96,96}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -255,7 +255,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{96,112}</string>
|
<string>{96,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{416,983},{96,112}}</string>
|
<string>{{340,1197},{96,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -270,7 +270,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{96,112}</string>
|
<string>{96,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{656,1092},{96,112}}</string>
|
<string>{{452,1196},{96,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -285,9 +285,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{96,112}</string>
|
<string>{96,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{528,1113},{96,112}}</string>
|
<string>{{564,1155},{96,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Atk2_5.png</key>
|
<key>Atk2_5.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -300,9 +300,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{96,112}</string>
|
<string>{96,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{392,1207},{96,112}}</string>
|
<string>{{608,1043},{96,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>Atk2_6.png</key>
|
<key>Atk2_6.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -330,7 +330,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{128,112}</string>
|
<string>{128,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{454,871},{128,112}}</string>
|
<string>{{678,750},{128,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -525,7 +525,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{96,128}</string>
|
<string>{96,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{582,659},{96,128}}</string>
|
<string>{{512,1027},{96,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -540,7 +540,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{112,112}</string>
|
<string>{112,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{240,1081},{112,112}}</string>
|
<string>{{448,1293},{112,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -555,7 +555,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{96,112}</string>
|
<string>{96,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{504,1209},{96,112}}</string>
|
<string>{{660,1155},{96,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -570,7 +570,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{128,112}</string>
|
<string>{128,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{678,980},{128,112}}</string>
|
<string>{{384,988},{128,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -634,6 +634,111 @@
|
|||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
|
<key>Dashing_1.png</key>
|
||||||
|
<dict>
|
||||||
|
<key>aliases</key>
|
||||||
|
<array/>
|
||||||
|
<key>spriteOffset</key>
|
||||||
|
<string>{0,0}</string>
|
||||||
|
<key>spriteSize</key>
|
||||||
|
<string>{114,112}</string>
|
||||||
|
<key>spriteSourceSize</key>
|
||||||
|
<string>{114,112}</string>
|
||||||
|
<key>textureRect</key>
|
||||||
|
<string>{{0,1188},{114,112}}</string>
|
||||||
|
<key>textureRotated</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<key>Dashing_2.png</key>
|
||||||
|
<dict>
|
||||||
|
<key>aliases</key>
|
||||||
|
<array/>
|
||||||
|
<key>spriteOffset</key>
|
||||||
|
<string>{0,0}</string>
|
||||||
|
<key>spriteSize</key>
|
||||||
|
<string>{114,112}</string>
|
||||||
|
<key>spriteSourceSize</key>
|
||||||
|
<string>{114,112}</string>
|
||||||
|
<key>textureRect</key>
|
||||||
|
<string>{{114,1188},{114,112}}</string>
|
||||||
|
<key>textureRotated</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
<key>Dashing_3.png</key>
|
||||||
|
<dict>
|
||||||
|
<key>aliases</key>
|
||||||
|
<array/>
|
||||||
|
<key>spriteOffset</key>
|
||||||
|
<string>{0,0}</string>
|
||||||
|
<key>spriteSize</key>
|
||||||
|
<string>{114,112}</string>
|
||||||
|
<key>spriteSourceSize</key>
|
||||||
|
<string>{114,112}</string>
|
||||||
|
<key>textureRect</key>
|
||||||
|
<string>{{0,1300},{114,112}}</string>
|
||||||
|
<key>textureRotated</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>Dashing_4.png</key>
|
||||||
|
<dict>
|
||||||
|
<key>aliases</key>
|
||||||
|
<array/>
|
||||||
|
<key>spriteOffset</key>
|
||||||
|
<string>{0,0}</string>
|
||||||
|
<key>spriteSize</key>
|
||||||
|
<string>{114,112}</string>
|
||||||
|
<key>spriteSourceSize</key>
|
||||||
|
<string>{114,112}</string>
|
||||||
|
<key>textureRect</key>
|
||||||
|
<string>{{112,1300},{114,112}}</string>
|
||||||
|
<key>textureRotated</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>Dashing_5.png</key>
|
||||||
|
<dict>
|
||||||
|
<key>aliases</key>
|
||||||
|
<array/>
|
||||||
|
<key>spriteOffset</key>
|
||||||
|
<string>{0,0}</string>
|
||||||
|
<key>spriteSize</key>
|
||||||
|
<string>{114,112}</string>
|
||||||
|
<key>spriteSourceSize</key>
|
||||||
|
<string>{114,112}</string>
|
||||||
|
<key>textureRect</key>
|
||||||
|
<string>{{0,1300},{114,112}}</string>
|
||||||
|
<key>textureRotated</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>Dashing_6.png</key>
|
||||||
|
<dict>
|
||||||
|
<key>aliases</key>
|
||||||
|
<array/>
|
||||||
|
<key>spriteOffset</key>
|
||||||
|
<string>{0,0}</string>
|
||||||
|
<key>spriteSize</key>
|
||||||
|
<string>{114,112}</string>
|
||||||
|
<key>spriteSourceSize</key>
|
||||||
|
<string>{114,112}</string>
|
||||||
|
<key>textureRect</key>
|
||||||
|
<string>{{224,1300},{114,112}}</string>
|
||||||
|
<key>textureRotated</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>Dashing_7.png</key>
|
||||||
|
<dict>
|
||||||
|
<key>aliases</key>
|
||||||
|
<array/>
|
||||||
|
<key>spriteOffset</key>
|
||||||
|
<string>{0,0}</string>
|
||||||
|
<key>spriteSize</key>
|
||||||
|
<string>{114,112}</string>
|
||||||
|
<key>spriteSourceSize</key>
|
||||||
|
<string>{114,112}</string>
|
||||||
|
<key>textureRect</key>
|
||||||
|
<string>{{336,1293},{114,112}}</string>
|
||||||
|
<key>textureRotated</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
<key>GetUp1_1.png</key>
|
<key>GetUp1_1.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>aliases</key>
|
<key>aliases</key>
|
||||||
@ -645,7 +750,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{128,118}</string>
|
<string>{128,118}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{806,791},{128,118}}</string>
|
<string>{{384,634},{128,118}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -660,7 +765,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{128,118}</string>
|
<string>{128,118}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{0,846},{128,118}}</string>
|
<string>{{384,752},{128,118}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -675,7 +780,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{128,118}</string>
|
<string>{128,118}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{128,846},{128,118}}</string>
|
<string>{{256,753},{128,118}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -690,7 +795,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{128,118}</string>
|
<string>{128,118}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{326,753},{128,118}}</string>
|
<string>{{128,846},{128,118}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -705,7 +810,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{128,118}</string>
|
<string>{128,118}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{454,753},{128,118}}</string>
|
<string>{{0,958},{128,118}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -720,7 +825,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{128,118}</string>
|
<string>{128,118}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{678,862},{128,118}}</string>
|
<string>{{384,870},{128,118}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -735,7 +840,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{128,118}</string>
|
<string>{128,118}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{806,909},{128,118}}</string>
|
<string>{{256,871},{128,118}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -750,7 +855,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{70,128}</string>
|
<string>{70,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{256,489},{70,128}}</string>
|
<string>{{940,0},{70,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -765,7 +870,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{70,128}</string>
|
<string>{70,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{256,617},{70,128}}</string>
|
<string>{{940,128},{70,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -780,7 +885,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{70,128}</string>
|
<string>{70,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{256,745},{70,128}}</string>
|
<string>{{940,256},{70,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -795,7 +900,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{70,128}</string>
|
<string>{70,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{256,873},{70,128}}</string>
|
<string>{{937,384},{70,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -810,7 +915,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{70,128}</string>
|
<string>{70,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{112,1200},{70,128}}</string>
|
<string>{{936,512},{70,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -825,7 +930,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{70,128}</string>
|
<string>{70,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{182,1200},{70,128}}</string>
|
<string>{{608,531},{70,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -840,7 +945,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{70,128}</string>
|
<string>{70,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{252,1200},{70,128}}</string>
|
<string>{{608,659},{70,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -855,7 +960,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{70,128}</string>
|
<string>{70,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{252,1200},{70,128}}</string>
|
<string>{{608,659},{70,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -870,7 +975,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{70,128}</string>
|
<string>{70,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{182,1200},{70,128}}</string>
|
<string>{{608,531},{70,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -885,7 +990,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{70,128}</string>
|
<string>{70,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{112,1200},{70,128}}</string>
|
<string>{{936,512},{70,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -900,7 +1005,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{70,128}</string>
|
<string>{70,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{256,873},{70,128}}</string>
|
<string>{{937,384},{70,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -915,7 +1020,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{70,128}</string>
|
<string>{70,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{256,745},{70,128}}</string>
|
<string>{{940,256},{70,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -930,7 +1035,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{70,128}</string>
|
<string>{70,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{256,617},{70,128}}</string>
|
<string>{{940,128},{70,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -945,7 +1050,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{70,128}</string>
|
<string>{70,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{322,1200},{70,128}}</string>
|
<string>{{608,787},{70,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -960,9 +1065,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{70,128}</string>
|
<string>{70,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{528,1043},{70,128}}</string>
|
<string>{{608,915},{70,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>InAirAtk1_0.png</key>
|
<key>InAirAtk1_0.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -975,7 +1080,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{112,96}</string>
|
<string>{112,96}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{128,1092},{112,96}}</string>
|
<string>{{228,1197},{112,96}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1005,7 +1110,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{144,112}</string>
|
<string>{144,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{680,512},{144,112}}</string>
|
<string>{{0,489},{144,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1020,7 +1125,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{128,112}</string>
|
<string>{128,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{806,1027},{128,112}}</string>
|
<string>{{256,989},{128,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1035,7 +1140,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{96,96}</string>
|
<string>{96,96}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{792,1139},{96,96}}</string>
|
<string>{{672,1363},{96,96}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1050,7 +1155,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{80,96}</string>
|
<string>{80,96}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{934,1104},{80,96}}</string>
|
<string>{{672,1267},{80,96}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1065,7 +1170,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{112,112}</string>
|
<string>{112,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{352,1081},{112,112}}</string>
|
<string>{{560,1292},{112,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1080,7 +1185,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{128,96}</string>
|
<string>{128,96}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{0,1092},{128,96}}</string>
|
<string>{{384,1100},{128,96}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1095,9 +1200,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{80,112}</string>
|
<string>{80,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{934,768},{80,112}}</string>
|
<string>{{800,1038},{80,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>InAirIdle1_1.png</key>
|
<key>InAirIdle1_1.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -1110,9 +1215,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{80,112}</string>
|
<string>{80,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{934,880},{80,112}}</string>
|
<string>{{800,1118},{80,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>InAirIdle1_2.png</key>
|
<key>InAirIdle1_2.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -1125,9 +1230,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{64,128}</string>
|
<string>{64,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{464,1079},{64,128}}</string>
|
<string>{{678,974},{64,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>InAirIdle1_3.png</key>
|
<key>InAirIdle1_3.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -1140,9 +1245,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{80,112}</string>
|
<string>{80,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{934,992},{80,112}}</string>
|
<string>{{756,1198},{80,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>InAirIdle1_4.png</key>
|
<key>InAirIdle1_4.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -1155,7 +1260,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{80,96}</string>
|
<string>{80,96}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{224,1001},{80,96}}</string>
|
<string>{{752,1278},{80,96}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1170,9 +1275,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{80,96}</string>
|
<string>{80,96}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{320,1001},{80,96}}</string>
|
<string>{{768,1358},{80,96}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>InAirIdle1_6.png</key>
|
<key>InAirIdle1_6.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -1185,9 +1290,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{80,96}</string>
|
<string>{80,96}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{792,1235},{80,96}}</string>
|
<string>{{868,1248},{80,96}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>InAirIdle1_7.png</key>
|
<key>InAirIdle1_7.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -1200,7 +1305,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{96,112}</string>
|
<string>{96,112}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{600,1209},{96,112}}</string>
|
<string>{{704,1038},{96,112}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1215,9 +1320,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{96,128}</string>
|
<string>{96,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{582,787},{96,128}}</string>
|
<string>{{256,1101},{96,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>InAirIdle1_9.png</key>
|
<key>InAirIdle1_9.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -1230,9 +1335,9 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{96,128}</string>
|
<string>{96,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{582,915},{96,128}}</string>
|
<string>{{806,862},{96,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
<key>LayDown1_1.png</key>
|
<key>LayDown1_1.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
@ -1264,6 +1369,51 @@
|
|||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<false/>
|
<false/>
|
||||||
</dict>
|
</dict>
|
||||||
|
<key>OnWall1_1.png</key>
|
||||||
|
<dict>
|
||||||
|
<key>aliases</key>
|
||||||
|
<array/>
|
||||||
|
<key>spriteOffset</key>
|
||||||
|
<string>{0,0}</string>
|
||||||
|
<key>spriteSize</key>
|
||||||
|
<string>{112,97}</string>
|
||||||
|
<key>spriteSourceSize</key>
|
||||||
|
<string>{112,97}</string>
|
||||||
|
<key>textureRect</key>
|
||||||
|
<string>{{840,288},{112,97}}</string>
|
||||||
|
<key>textureRotated</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>OnWall1_2.png</key>
|
||||||
|
<dict>
|
||||||
|
<key>aliases</key>
|
||||||
|
<array/>
|
||||||
|
<key>spriteOffset</key>
|
||||||
|
<string>{0,0}</string>
|
||||||
|
<key>spriteSize</key>
|
||||||
|
<string>{112,97}</string>
|
||||||
|
<key>spriteSourceSize</key>
|
||||||
|
<string>{112,97}</string>
|
||||||
|
<key>textureRect</key>
|
||||||
|
<string>{{840,400},{112,97}}</string>
|
||||||
|
<key>textureRotated</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
<key>OnWall1_3.png</key>
|
||||||
|
<dict>
|
||||||
|
<key>aliases</key>
|
||||||
|
<array/>
|
||||||
|
<key>spriteOffset</key>
|
||||||
|
<string>{0,0}</string>
|
||||||
|
<key>spriteSize</key>
|
||||||
|
<string>{112,97}</string>
|
||||||
|
<key>spriteSourceSize</key>
|
||||||
|
<string>{112,97}</string>
|
||||||
|
<key>textureRect</key>
|
||||||
|
<string>{{840,400},{112,97}}</string>
|
||||||
|
<key>textureRotated</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
<key>Walking_1.png</key>
|
<key>Walking_1.png</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>aliases</key>
|
<key>aliases</key>
|
||||||
@ -1275,7 +1425,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{119,128}</string>
|
<string>{119,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{0,489},{119,128}}</string>
|
<string>{{144,489},{119,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1290,7 +1440,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{119,128}</string>
|
<string>{119,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{128,489},{119,128}}</string>
|
<string>{{0,601},{119,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1305,7 +1455,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{119,128}</string>
|
<string>{119,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{0,608},{119,128}}</string>
|
<string>{{680,512},{119,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1320,7 +1470,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{119,128}</string>
|
<string>{119,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{128,608},{119,128}}</string>
|
<string>{{808,512},{119,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1335,7 +1485,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{119,128}</string>
|
<string>{119,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{326,515},{119,128}}</string>
|
<string>{{272,515},{119,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1350,7 +1500,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{119,128}</string>
|
<string>{119,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{454,515},{119,128}}</string>
|
<string>{{128,608},{119,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1365,7 +1515,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{119,128}</string>
|
<string>{119,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{678,624},{119,128}}</string>
|
<string>{{0,720},{119,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1380,7 +1530,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{119,128}</string>
|
<string>{119,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{806,672},{119,128}}</string>
|
<string>{{400,515},{119,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1395,7 +1545,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{119,128}</string>
|
<string>{119,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{0,727},{119,128}}</string>
|
<string>{{678,631},{119,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1410,7 +1560,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{119,128}</string>
|
<string>{119,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{128,727},{119,128}}</string>
|
<string>{{806,631},{119,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1425,7 +1575,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{119,128}</string>
|
<string>{119,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{326,634},{119,128}}</string>
|
<string>{{256,634},{119,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1440,7 +1590,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{119,128}</string>
|
<string>{119,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{454,634},{119,128}}</string>
|
<string>{{128,727},{119,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1455,7 +1605,7 @@
|
|||||||
<key>spriteSourceSize</key>
|
<key>spriteSourceSize</key>
|
||||||
<string>{119,128}</string>
|
<string>{119,128}</string>
|
||||||
<key>textureRect</key>
|
<key>textureRect</key>
|
||||||
<string>{{678,743},{119,128}}</string>
|
<string>{{0,839},{119,128}}</string>
|
||||||
<key>textureRotated</key>
|
<key>textureRotated</key>
|
||||||
<true/>
|
<true/>
|
||||||
</dict>
|
</dict>
|
||||||
@ -1471,9 +1621,9 @@
|
|||||||
<key>realTextureFileName</key>
|
<key>realTextureFileName</key>
|
||||||
<string>KnifeGirl.png</string>
|
<string>KnifeGirl.png</string>
|
||||||
<key>size</key>
|
<key>size</key>
|
||||||
<string>{1020,1331}</string>
|
<string>{1014,1459}</string>
|
||||||
<key>smartupdate</key>
|
<key>smartupdate</key>
|
||||||
<string>$TexturePacker:SmartUpdate:9514b6b35473e14baf98f68515bcb817:1aae9dd4a8024ce783fdab093a39672a:1ae107e0c6667a1ecb5ed98687517e0e$</string>
|
<string>$TexturePacker:SmartUpdate:4ca72309f7dc04bba6be361462471d91:9a48d10caa37a76ff8c43fb72bce6103:1ae107e0c6667a1ecb5ed98687517e0e$</string>
|
||||||
<key>textureFileName</key>
|
<key>textureFileName</key>
|
||||||
<string>KnifeGirl.png</string>
|
<string>KnifeGirl.png</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 114 KiB |
37
frontend/assets/resources/animation/KnifeGirl/OnWall.anim
Normal file
37
frontend/assets/resources/animation/KnifeGirl/OnWall.anim
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"__type__": "cc.AnimationClip",
|
||||||
|
"_name": "OnWall",
|
||||||
|
"_objFlags": 0,
|
||||||
|
"_native": "",
|
||||||
|
"_duration": 0.26666666666666666,
|
||||||
|
"sample": 60,
|
||||||
|
"speed": 1,
|
||||||
|
"wrapMode": 1,
|
||||||
|
"curveData": {
|
||||||
|
"comps": {
|
||||||
|
"cc.Sprite": {
|
||||||
|
"spriteFrame": [
|
||||||
|
{
|
||||||
|
"frame": 0,
|
||||||
|
"value": {
|
||||||
|
"__uuid__": "c18886db-8116-4602-84f2-51652a90269a"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"frame": 0.13333333333333333,
|
||||||
|
"value": {
|
||||||
|
"__uuid__": "0d81cbf0-dff8-4672-99b3-2ec8055c6931"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"frame": 0.25,
|
||||||
|
"value": {
|
||||||
|
"__uuid__": "a183e740-3c2d-4890-8430-39a00f55f446"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"events": []
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"ver": "2.1.0",
|
||||||
|
"uuid": "411f964a-4dd8-424c-b2e2-d92b10474ce2",
|
||||||
|
"subMetas": {}
|
||||||
|
}
|
@ -1,23 +1,23 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<map version="1.2" tiledversion="1.2.3" orientation="orthogonal" renderorder="right-down" width="128" height="128" tilewidth="16" tileheight="16" infinite="0" nextlayerid="6" nextobjectid="113">
|
<map version="1.2" tiledversion="1.2.3" orientation="orthogonal" renderorder="right-down" width="128" height="64" tilewidth="16" tileheight="16" infinite="0" nextlayerid="7" nextobjectid="134">
|
||||||
<tileset firstgid="1" source="tiles0.tsx"/>
|
<tileset firstgid="1" source="tiles0.tsx"/>
|
||||||
<tileset firstgid="65" source="tiles1.tsx"/>
|
<tileset firstgid="65" source="tiles1.tsx"/>
|
||||||
<tileset firstgid="129" source="tiles2.tsx"/>
|
<tileset firstgid="129" source="tiles2.tsx"/>
|
||||||
<layer id="2" name="Ground" width="128" height="128">
|
<layer id="6" name="Ground" width="128" height="64">
|
||||||
<data encoding="base64" compression="zlib">
|
<data encoding="base64" compression="zlib">
|
||||||
eJzt3LFu00AcwOEoFUuHigqBBANTByRegrlTWWBj6gsgWGBCqngAFgZ23hNHsiXj5mLncs6dfd/wSVUbWa1/f199VpSLzWZzAQAAAAAAAAAAAAAAAAAAES5buX8Pzue+p+t/X6HcHXL237a6/p8atwHbFdL///4h+q9Pv//tSP/LAlrpP1//ffRft93f/ry179wM14TcrfQ/b/8a6K9/7g45+z+LkLuZ/nn7r2kG9Nc/d4cl9i+J/nX2d/3X3T/FDOi/XK5//fWvt3+KGdA//bntnik+nGjua19//fVfRv+XLf3r6d/v3f9af/31z9f/6YiU/fv0z9t/rPu+/r8bH47U9Xf/V07/qe3vNu7/l2Jq/6ntt/ovylj/fY3fNq4C7Yf9h+6OpH++/vvaX/UMu8/R/0XjRv9i+h9a9/v9U9O/3P4x94jH0v/8/afMwPBcpuw7JmX/bQEtSuyf6hwfEtNe//X0P2ZG5ji2/qfPwN9ELVIdR/90/afMgP7LpL/+JXXL1T93B/31X3L/Xwnpv7z+S6Z/3fSvm/51079u+tdN/7rpXzf966Z/3fSvm/51079u+pfrJkD/MvrP9X7RUPc55kD/cvpfj3gSoP86+uegf3xv/Zet9Ps//dfXP/S/vfv5+4T6xwytT97/Pe5ja7jed9/PfQ2fev3rf9ih//nD/q8LaBqyb43QP2zXMrTn2hnbr12PHD93+65/7g6l9u86vznBqfvzOdvr/3i9Tr1+p3hGM1d7/dM/Twv1zzEDU/YItfefu8Fwts71nGjqHlH/8/bvZmDOz3s55hmB/o+lvJ8/tH8I+REhpr3+4/1OnYOY/jEz8DOS/tPEzsGrTVz/3WcBfA207nxvfG5fq/+8/WM1/d/F9t/5sgn3/9Z73a7ln5b+0/uTvwMAAAAAAAAAAAAAAABwfv8AQJoGWw==
|
eJzt27tSwzAQRmFNMm7SwQA9z5KhSccL8P6Pwc1uTFaS7ZVWw3+KryAXJ9ojKxXnlNIZAAAAAAAAAAAAADp4w4/oDpH9o79DNOUZKK+dGWivnRlor50ZlNc+OX2O13XoH9//qdK969Tug0en19B/39pzvY70z+0r+sf3r+nk0b+mba5v6Xn6+6y9Zf+aMyCn1wz+s2XtVovJ0ZY9FjEDRaOv/cGgNIOe/aPuxfXnWt1b7AP6j6W2vdc+GHEGkf1LZ8BrxXVrXtNy79B/+9ovM4+2Uf2PzkDN99qvd0zG49e5bQ3r/aNZZhDdIqr/abbc/x9fboaTA+s3vPT8XqXvo37/r/svptXfXv1HQ/9ft/R3D6x5z/6lga1nD/1tF2NmXudvqdee/bSlPf1Tep7lZnbk/s/tgV73f25/0t/u7yF3DvToXzqf1PsjvkNk/3dx9NdGf23010Z/bfTXRn9t9NdGf23010Z/bfTXRn9t9NdGf23010Z/bfTXRn9t9NdGf23010Z/bcv/QEW3oD/96U//3v3Rrv8nrcyzFQ==
|
||||||
</data>
|
</data>
|
||||||
</layer>
|
</layer>
|
||||||
<objectgroup id="1" name="PlayerStartingPos">
|
<objectgroup id="1" name="PlayerStartingPos">
|
||||||
<object id="135" x="1040.33" y="1081">
|
<object id="135" x="830.33" y="535.67">
|
||||||
<point/>
|
<point/>
|
||||||
</object>
|
</object>
|
||||||
<object id="137" x="1134.67" y="1081.67">
|
<object id="137" x="888.003" y="535.67">
|
||||||
<point/>
|
<point/>
|
||||||
</object>
|
</object>
|
||||||
</objectgroup>
|
</objectgroup>
|
||||||
<objectgroup id="4" name="NpcStartingPos">
|
<objectgroup id="4" name="NpcStartingPos">
|
||||||
<object id="108" x="926" y="1447">
|
<object id="108" x="927.333" y="535">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="dirX" value="-2"/>
|
<property name="dirX" value="-2"/>
|
||||||
<property name="speciesId" value="4196"/>
|
<property name="speciesId" value="4196"/>
|
||||||
@ -26,28 +26,28 @@
|
|||||||
</object>
|
</object>
|
||||||
</objectgroup>
|
</objectgroup>
|
||||||
<objectgroup id="5" name="NpcPatrolCue">
|
<objectgroup id="5" name="NpcPatrolCue">
|
||||||
<object id="109" x="773.337" y="1468.67">
|
<object id="109" x="774.67" y="556.67">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="flAct" value="36"/>
|
<property name="flAct" value="36"/>
|
||||||
<property name="frAct" value="35"/>
|
<property name="frAct" value="35"/>
|
||||||
</properties>
|
</properties>
|
||||||
<point/>
|
<point/>
|
||||||
</object>
|
</object>
|
||||||
<object id="110" x="728" y="1500">
|
<object id="110" x="729.333" y="588">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="flAct" value="4"/>
|
<property name="flAct" value="4"/>
|
||||||
<property name="frAct" value="35"/>
|
<property name="frAct" value="35"/>
|
||||||
</properties>
|
</properties>
|
||||||
<point/>
|
<point/>
|
||||||
</object>
|
</object>
|
||||||
<object id="111" x="668" y="1500">
|
<object id="111" x="669.333" y="588">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="flAct" value="3"/>
|
<property name="flAct" value="3"/>
|
||||||
<property name="frAct" value="3"/>
|
<property name="frAct" value="3"/>
|
||||||
</properties>
|
</properties>
|
||||||
<point/>
|
<point/>
|
||||||
</object>
|
</object>
|
||||||
<object id="112" x="984" y="1447">
|
<object id="112" x="985.333" y="535">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="flAct" value="4"/>
|
<property name="flAct" value="4"/>
|
||||||
<property name="frAct" value="4"/>
|
<property name="frAct" value="4"/>
|
||||||
@ -59,197 +59,177 @@
|
|||||||
<properties>
|
<properties>
|
||||||
<property name="type" value="barrier_and_shelter"/>
|
<property name="type" value="barrier_and_shelter"/>
|
||||||
</properties>
|
</properties>
|
||||||
<object id="54" x="656" y="1504" width="80" height="16">
|
<object id="57" x="768" y="560" width="32" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="55" x="736" y="1552" width="112" height="16">
|
<object id="60" x="1232" y="432" width="208" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="57" x="768" y="1472" width="32" height="16">
|
<object id="65" x="1040" y="576" width="32" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="58" x="1040" y="1536" width="80" height="16">
|
<object id="66" x="1040" y="560" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="59" x="1040" y="1568" width="224" height="48">
|
<object id="67" x="784" y="544" width="256" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="60" x="1216" y="1344" width="224" height="16">
|
<object id="84" x="640" y="224" width="16" height="800">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="62" x="1040" y="1552" width="208" height="16">
|
<object id="85" x="1680" y="224" width="16" height="800">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="63" x="1040" y="1504" width="48" height="16">
|
<object id="86" x="1104" y="496" width="96" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="64" x="1040" y="1520" width="64" height="16">
|
<object id="90" x="1232" y="496" width="320" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="65" x="1040" y="1488" width="32" height="16">
|
<object id="97" x="1248" y="416" width="158" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="66" x="1040" y="1472" width="16" height="16">
|
<object id="98" x="1280" y="400" width="96" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="67" x="784" y="1456" width="256" height="16">
|
<object id="100" x="1552" y="576" width="128" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="73" x="784" y="1568" width="96" height="16">
|
<object id="101" x="1568" y="560" width="112" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="74" x="816" y="1584" width="96" height="16">
|
<object id="102" x="1584" y="544" width="96" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="79" x="640" y="1616" width="1056" height="16">
|
<object id="103" x="1600" y="528" width="80" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="83" x="640" y="480" width="1056" height="16">
|
<object id="104" x="768" y="382" width="304" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="84" x="640" y="480" width="16" height="1152">
|
<object id="105" x="768" y="302" width="16" height="96">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="85" x="1680" y="480" width="16" height="1152">
|
<object id="106" x="1056" y="302" width="16" height="96">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="86" x="1104" y="1408" width="96" height="16">
|
<object id="113" x="640" y="1007.67" width="1056" height="14.6667">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="87" x="1456" y="1568" width="224" height="48">
|
<object id="114" x="640" y="224" width="1056" height="14.6667">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="88" x="1264" y="1584" width="16" height="32">
|
<object id="119" x="656" y="592" width="1024" height="416">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="89" x="1280" y="1600" width="16" height="16">
|
<object id="120" x="752" y="512" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="90" x="1232" y="1408" width="304" height="16">
|
<object id="121" x="736" y="336" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="91" x="1440" y="1584" width="16" height="32">
|
<object id="122" x="704" y="352" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="92" x="1424" y="1600" width="16" height="16">
|
<object id="123" x="672" y="384" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="93" x="1488" y="1552" width="192" height="16">
|
<object id="124" x="704" y="416" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="94" x="1504" y="1536" width="176" height="16">
|
<object id="125" x="720" y="448" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="95" x="1520" y="1520" width="160" height="16">
|
<object id="126" x="736" y="480" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="96" x="1568" y="1408" width="16" height="16">
|
<object id="127" x="1088" y="320" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="97" x="1248" y="1328" width="158" height="16">
|
<object id="128" x="1120" y="336" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="98" x="1280" y="1312" width="96" height="16">
|
<object id="129" x="1136" y="368" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="99" x="1536" y="1504" width="144" height="16">
|
<object id="130" x="1168" y="384" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="100" x="1552" y="1488" width="128" height="16">
|
<object id="131" x="1186" y="416" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="101" x="1568" y="1472" width="112" height="16">
|
<object id="132" x="1184" y="416" width="16" height="16">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
</object>
|
</object>
|
||||||
<object id="102" x="1584" y="1456" width="96" height="16">
|
<object id="133" x="1472" y="448" width="32" height="16">
|
||||||
<properties>
|
|
||||||
<property name="boundary_type" value="barrier"/>
|
|
||||||
</properties>
|
|
||||||
</object>
|
|
||||||
<object id="103" x="1600" y="1440" width="80" height="16">
|
|
||||||
<properties>
|
|
||||||
<property name="boundary_type" value="barrier"/>
|
|
||||||
</properties>
|
|
||||||
</object>
|
|
||||||
<object id="104" x="928" y="1088" width="304" height="16">
|
|
||||||
<properties>
|
|
||||||
<property name="boundary_type" value="barrier"/>
|
|
||||||
</properties>
|
|
||||||
</object>
|
|
||||||
<object id="105" x="928" y="1008" width="16" height="96">
|
|
||||||
<properties>
|
|
||||||
<property name="boundary_type" value="barrier"/>
|
|
||||||
</properties>
|
|
||||||
</object>
|
|
||||||
<object id="106" x="1216" y="1008" width="16" height="96">
|
|
||||||
<properties>
|
<properties>
|
||||||
<property name="boundary_type" value="barrier"/>
|
<property name="boundary_type" value="barrier"/>
|
||||||
</properties>
|
</properties>
|
||||||
|
@ -645,6 +645,14 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"__uuid__": "9b500cb0-8048-4715-81db-cc975c914225"
|
"__uuid__": "9b500cb0-8048-4715-81db-cc975c914225"
|
||||||
|
},
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
{
|
||||||
|
"__uuid__": "38b2c892-347b-4009-93f8-65b2ab1614f0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"__uuid__": "411f964a-4dd8-424c-b2e2-d92b10474ce2"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"playOnLoad": false,
|
"playOnLoad": false,
|
||||||
|
@ -191,8 +191,8 @@
|
|||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
1.5,
|
1.2,
|
||||||
1.5,
|
1.2,
|
||||||
1
|
1
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -464,7 +464,7 @@
|
|||||||
"array": [
|
"array": [
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
216.63421096211545,
|
209.57814771583418,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
|
@ -16,6 +16,8 @@ window.ATK_CHARACTER_STATE = {
|
|||||||
Atk3: [12, "Atk3"],
|
Atk3: [12, "Atk3"],
|
||||||
Atk4: [13, "Atk4"],
|
Atk4: [13, "Atk4"],
|
||||||
Atk5: [14, "Atk5"],
|
Atk5: [14, "Atk5"],
|
||||||
|
Dashing: [15, "Dashing"],
|
||||||
|
OnWall: [16, "OnWall"],
|
||||||
};
|
};
|
||||||
|
|
||||||
window.ATK_CHARACTER_STATE_ARR = [];
|
window.ATK_CHARACTER_STATE_ARR = [];
|
||||||
@ -31,6 +33,8 @@ window.ATK_CHARACTER_STATE_INTERRUPT_WAIVE_SET.add(window.ATK_CHARACTER_STATE.In
|
|||||||
window.ATK_CHARACTER_STATE_INTERRUPT_WAIVE_SET.add(window.ATK_CHARACTER_STATE.BlownUp1[0]);
|
window.ATK_CHARACTER_STATE_INTERRUPT_WAIVE_SET.add(window.ATK_CHARACTER_STATE.BlownUp1[0]);
|
||||||
window.ATK_CHARACTER_STATE_INTERRUPT_WAIVE_SET.add(window.ATK_CHARACTER_STATE.LayDown1[0]);
|
window.ATK_CHARACTER_STATE_INTERRUPT_WAIVE_SET.add(window.ATK_CHARACTER_STATE.LayDown1[0]);
|
||||||
window.ATK_CHARACTER_STATE_INTERRUPT_WAIVE_SET.add(window.ATK_CHARACTER_STATE.GetUp1[0]);
|
window.ATK_CHARACTER_STATE_INTERRUPT_WAIVE_SET.add(window.ATK_CHARACTER_STATE.GetUp1[0]);
|
||||||
|
window.ATK_CHARACTER_STATE_INTERRUPT_WAIVE_SET.add(window.ATK_CHARACTER_STATE.Dashing[0]);
|
||||||
|
window.ATK_CHARACTER_STATE_INTERRUPT_WAIVE_SET.add(window.ATK_CHARACTER_STATE.OnWall[0]);
|
||||||
|
|
||||||
window.ATK_CHARACTER_STATE_IN_AIR_SET = new Set();
|
window.ATK_CHARACTER_STATE_IN_AIR_SET = new Set();
|
||||||
window.ATK_CHARACTER_STATE_IN_AIR_SET.add(window.ATK_CHARACTER_STATE.InAirIdle1NoJump[0]);
|
window.ATK_CHARACTER_STATE_IN_AIR_SET.add(window.ATK_CHARACTER_STATE.InAirIdle1NoJump[0]);
|
||||||
@ -38,6 +42,7 @@ window.ATK_CHARACTER_STATE_IN_AIR_SET.add(window.ATK_CHARACTER_STATE.InAirIdle1B
|
|||||||
window.ATK_CHARACTER_STATE_IN_AIR_SET.add(window.ATK_CHARACTER_STATE.InAirAtk1[0]);
|
window.ATK_CHARACTER_STATE_IN_AIR_SET.add(window.ATK_CHARACTER_STATE.InAirAtk1[0]);
|
||||||
window.ATK_CHARACTER_STATE_IN_AIR_SET.add(window.ATK_CHARACTER_STATE.InAirAtked1[0]);
|
window.ATK_CHARACTER_STATE_IN_AIR_SET.add(window.ATK_CHARACTER_STATE.InAirAtked1[0]);
|
||||||
window.ATK_CHARACTER_STATE_IN_AIR_SET.add(window.ATK_CHARACTER_STATE.BlownUp1[0]);
|
window.ATK_CHARACTER_STATE_IN_AIR_SET.add(window.ATK_CHARACTER_STATE.BlownUp1[0]);
|
||||||
|
window.ATK_CHARACTER_STATE_IN_AIR_SET.add(window.ATK_CHARACTER_STATE.OnWall[0]);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Kindly note that the use of dragonBones anim is an informed choice for the feasibility of "gotoAndPlayByFrame", which is a required feature by "Map.rollbackAndChase". You might find that "cc.Animation" -- the traditional frame anim -- can also suffice this requirement, yet if we want to develop 3D frontend in the future, working with skeletal anim will make a smoother transition.
|
Kindly note that the use of dragonBones anim is an informed choice for the feasibility of "gotoAndPlayByFrame", which is a required feature by "Map.rollbackAndChase". You might find that "cc.Animation" -- the traditional frame anim -- can also suffice this requirement, yet if we want to develop 3D frontend in the future, working with skeletal anim will make a smoother transition.
|
||||||
@ -79,6 +84,8 @@ cc.Class({
|
|||||||
updateCharacterAnim(rdfPlayer, prevRdfPlayer, forceAnimSwitch, chConfig) {
|
updateCharacterAnim(rdfPlayer, prevRdfPlayer, forceAnimSwitch, chConfig) {
|
||||||
// As this function might be called after many frames of a rollback, it's possible that the playing animation was predicted, different from "prevRdfPlayer.CharacterState" but same as "newCharacterState". More granular checks are needed to determine whether we should interrupt the playing animation.
|
// As this function might be called after many frames of a rollback, it's possible that the playing animation was predicted, different from "prevRdfPlayer.CharacterState" but same as "newCharacterState". More granular checks are needed to determine whether we should interrupt the playing animation.
|
||||||
|
|
||||||
|
let newCharacterState = rdfPlayer.CharacterState;
|
||||||
|
|
||||||
// Update directions
|
// Update directions
|
||||||
if (this.animComp && this.animComp.node) {
|
if (this.animComp && this.animComp.node) {
|
||||||
if (0 > rdfPlayer.DirX) {
|
if (0 > rdfPlayer.DirX) {
|
||||||
@ -86,9 +93,11 @@ cc.Class({
|
|||||||
} else if (0 < rdfPlayer.DirX) {
|
} else if (0 < rdfPlayer.DirX) {
|
||||||
this.animNode.scaleX = (1.0);
|
this.animNode.scaleX = (1.0);
|
||||||
}
|
}
|
||||||
|
if (ATK_CHARACTER_STATE.OnWall[0] == newCharacterState) {
|
||||||
|
this.animNode.scaleX *= (-1.0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let newCharacterState = rdfPlayer.CharacterState;
|
|
||||||
let newAnimName = window.ATK_CHARACTER_STATE_ARR[newCharacterState][1];
|
let newAnimName = window.ATK_CHARACTER_STATE_ARR[newCharacterState][1];
|
||||||
let playingAnimName = null;
|
let playingAnimName = null;
|
||||||
let underlyingAnimationCtrl = null;
|
let underlyingAnimationCtrl = null;
|
||||||
|
@ -607,13 +607,13 @@ cc.Class({
|
|||||||
const jsPlayersArr = new Array(pbRdf.playersArr.length).fill(null);
|
const jsPlayersArr = new Array(pbRdf.playersArr.length).fill(null);
|
||||||
for (let k = 0; k < pbRdf.playersArr.length; ++k) {
|
for (let k = 0; k < pbRdf.playersArr.length; ++k) {
|
||||||
const pbPlayer = pbRdf.playersArr[k];
|
const pbPlayer = pbRdf.playersArr[k];
|
||||||
const jsPlayer = gopkgs.NewPlayerDownsyncJs(pbPlayer.id, pbPlayer.virtualGridX, pbPlayer.virtualGridY, pbPlayer.dirX, pbPlayer.dirY, pbPlayer.velX, pbPlayer.velY, pbPlayer.framesToRecover, pbPlayer.framesInChState, pbPlayer.activeSkillId, pbPlayer.activeSkillHit, pbPlayer.framesInvinsible, pbPlayer.speed, pbPlayer.battleState, pbPlayer.characterState, pbPlayer.joinIndex, pbPlayer.hp, pbPlayer.maxHp, pbPlayer.colliderRadius, pbPlayer.inAir);
|
const jsPlayer = gopkgs.NewPlayerDownsyncJs(pbPlayer.id, pbPlayer.virtualGridX, pbPlayer.virtualGridY, pbPlayer.dirX, pbPlayer.dirY, pbPlayer.velX, pbPlayer.velY, pbPlayer.framesToRecover, pbPlayer.framesInChState, pbPlayer.activeSkillId, pbPlayer.activeSkillHit, pbPlayer.framesInvinsible, pbPlayer.speed, pbPlayer.battleState, pbPlayer.characterState, pbPlayer.joinIndex, pbPlayer.hp, pbPlayer.maxHp, pbPlayer.colliderRadius, pbPlayer.inAir, pbPlayer.onWall, pbPlayer.bulletTeamId, pbPlayer.chCollisionTeamId);
|
||||||
jsPlayersArr[k] = jsPlayer;
|
jsPlayersArr[k] = jsPlayer;
|
||||||
}
|
}
|
||||||
const jsMeleeBulletsArr = new Array(pbRdf.meleeBullets.length).fill(null);
|
const jsMeleeBulletsArr = new Array(pbRdf.meleeBullets.length).fill(null);
|
||||||
for (let k = 0; k < pbRdf.meleeBullets.length; ++k) {
|
for (let k = 0; k < pbRdf.meleeBullets.length; ++k) {
|
||||||
const pbBullet = pbRdf.meleeBullets[k];
|
const pbBullet = pbRdf.meleeBullets[k];
|
||||||
const jsMeleeBullet = gopkgs.NewMeleeBulletJs(pbBullet.bulletLocalId, pbBullet.originatedRenderFrameId, pbBullet.offenderJoinIndex, pbBullet.startupFrames, pbBullet.cancellableStFrame, pbBullet.cancellableEdFrame, pbBullet.activeFrames, pbBullet.hitStunFrames, pbBullet.blockStunFrames, pbBullet.pushbackVelX, pbBullet.pushbackVelY, pbBullet.damage, pbBullet.selfLockVelX, pbBullet.selfLockVelY, pbBullet.hitboxOffsetX, pbBullet.hitboxOffsetY, pbBullet.hitboxSizeX, pbBullet.hitboxSizeY, pbBullet.blowUp);
|
const jsMeleeBullet = gopkgs.NewMeleeBulletJs(pbBullet.bulletLocalId, pbBullet.originatedRenderFrameId, pbBullet.offenderJoinIndex, pbBullet.startupFrames, pbBullet.cancellableStFrame, pbBullet.cancellableEdFrame, pbBullet.activeFrames, pbBullet.hitStunFrames, pbBullet.blockStunFrames, pbBullet.pushbackVelX, pbBullet.pushbackVelY, pbBullet.damage, pbBullet.selfLockVelX, pbBullet.selfLockVelY, pbBullet.hitboxOffsetX, pbBullet.hitboxOffsetY, pbBullet.hitboxSizeX, pbBullet.hitboxSizeY, pbBullet.blowUp, pbBullet.teamId);
|
||||||
jsMeleeBulletsArr[k] = jsMeleeBullet;
|
jsMeleeBulletsArr[k] = jsMeleeBullet;
|
||||||
}
|
}
|
||||||
const jsFireballBulletsArr = new Array(pbRdf.fireballBullets.length).fill(null);
|
const jsFireballBulletsArr = new Array(pbRdf.fireballBullets.length).fill(null);
|
||||||
@ -720,6 +720,8 @@ cc.Class({
|
|||||||
|
|
||||||
equalPlayers(lhs, rhs) {
|
equalPlayers(lhs, rhs) {
|
||||||
if (null == lhs || null == rhs) return false;
|
if (null == lhs || null == rhs) return false;
|
||||||
|
if (null == lhs && null != rhs) return false;
|
||||||
|
if (null != lhs && null == rhs) return false;
|
||||||
if (lhs.VirtualGridX != rhs.VirtualGridX) return false;
|
if (lhs.VirtualGridX != rhs.VirtualGridX) return false;
|
||||||
if (lhs.VirtualGridY != rhs.VirtualGridY) return false;
|
if (lhs.VirtualGridY != rhs.VirtualGridY) return false;
|
||||||
if (lhs.DirX != rhs.DirX) return false;
|
if (lhs.DirX != rhs.DirX) return false;
|
||||||
@ -738,9 +740,30 @@ cc.Class({
|
|||||||
|
|
||||||
equalMeleeBullets(lhs, rhs) {
|
equalMeleeBullets(lhs, rhs) {
|
||||||
if (null == lhs || null == rhs) return false;
|
if (null == lhs || null == rhs) return false;
|
||||||
if (lhs.BulletLocalId != rhs.BulletLocalId) return false;
|
if (null == lhs && null != rhs) return false;
|
||||||
if (lhs.OffenderJoinIndex != rhs.OffenderJoinIndex) return false;
|
if (null != lhs && null == rhs) return false;
|
||||||
if (lhs.OriginatedRenderFrameId != rhs.OriginatedRenderFrameId) return false;
|
if (lhs.Bullet.BulletLocalId != rhs.Bullet.BulletLocalId) return false;
|
||||||
|
if (lhs.Bullet.OffenderJoinIndex != rhs.Bullet.OffenderJoinIndex) return false;
|
||||||
|
if (lhs.Bullet.OriginatedRenderFrameId != rhs.Bullet.OriginatedRenderFrameId) return false;
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
|
equalFireballBullets(lhs, rhs) {
|
||||||
|
if (null == lhs || null == rhs) return false;
|
||||||
|
if (null == lhs && null != rhs) return false;
|
||||||
|
if (null != lhs && null == rhs) return false;
|
||||||
|
if (lhs.Bullet.BulletLocalId != rhs.Bullet.BulletLocalId) return false;
|
||||||
|
if (lhs.Bullet.OffenderJoinIndex != rhs.Bullet.OffenderJoinIndex) return false;
|
||||||
|
if (lhs.Bullet.OriginatedRenderFrameId != rhs.Bullet.OriginatedRenderFrameId) return false;
|
||||||
|
|
||||||
|
if (lhs.Bullet.VirtualGridX != rhs.Bullet.VirtualGridX) return false;
|
||||||
|
if (lhs.Bullet.VirtualGridY != rhs.Bullet.VirtualGridY) return false;
|
||||||
|
if (lhs.Bullet.DirX != rhs.Bullet.DirX) return false;
|
||||||
|
if (lhs.Bullet.DirY != rhs.Bullet.DirY) return false;
|
||||||
|
if (lhs.Bullet.VelX != rhs.Bullet.VelX) return false;
|
||||||
|
if (lhs.Bullet.VelY != rhs.Bullet.VelY) return false;
|
||||||
|
if (lhs.Bullet.Speed != rhs.Bullet.Speed) return false;
|
||||||
|
if (lhs.Bullet.SpeciesId != rhs.Bullet.SpeciesId) return false;
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -752,6 +775,9 @@ cc.Class({
|
|||||||
for (let k in lhs.meleeBullets) {
|
for (let k in lhs.meleeBullets) {
|
||||||
if (!this.equalMeleeBullets(lhs.meleeBullets[k], rhs.meleeBullets[k])) return false;
|
if (!this.equalMeleeBullets(lhs.meleeBullets[k], rhs.meleeBullets[k])) return false;
|
||||||
}
|
}
|
||||||
|
for (let k in lhs.fireballBullet) {
|
||||||
|
if (!this.equalMeleeBullets(lhs.meleeBullets[k], rhs.meleeBullets[k])) return false;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -927,17 +953,17 @@ batchInputFrameIdRange=[${batch[0].inputFrameId}, ${batch[batch.length - 1].inpu
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
// [WARNING] Don't try to get "prevRdf(i.e. renderFrameId == latest-1)" by "self.recentRenderCache.getByFrameId(...)" here, as the cache might have been updated by asynchronous "onRoomDownsyncFrame(...)" calls!
|
// [WARNING] Don't try to get "prevRdf(i.e. renderFrameId == latest-1)" by "self.recentRenderCache.getByFrameId(...)" here, as the cache might have been updated by asynchronous "onRoomDownsyncFrame(...)" calls!
|
||||||
if (self.othersForcedDownsyncRenderFrameDict.has(rdf.id)) {
|
if (self.othersForcedDownsyncRenderFrameDict.has(rdf.Id)) {
|
||||||
const delayedInputFrameId = gopkgs.ConvertToDelayedInputFrameId(rdf.id);
|
const delayedInputFrameId = gopkgs.ConvertToDelayedInputFrameId(rdf.Id);
|
||||||
const othersForcedDownsyncRenderFrame = self.othersForcedDownsyncRenderFrameDict.get(rdf.id);
|
const othersForcedDownsyncRenderFrame = self.othersForcedDownsyncRenderFrameDict.get(rdf.Id);
|
||||||
if (self.lastAllConfirmedInputFrameId >= delayedInputFrameId && !self.equalRoomDownsyncFrames(othersForcedDownsyncRenderFrame, rdf)) {
|
if (self.lastAllConfirmedInputFrameId >= delayedInputFrameId && !self.equalRoomDownsyncFrames(othersForcedDownsyncRenderFrame, rdf)) {
|
||||||
console.warn(`Mismatched render frame@rdf.id=${rdf.id} w/ inputFrameId=${delayedInputFrameId}:
|
console.warn(`Mismatched render frame@rdf.id=${rdf.Id} w/ inputFrameId=${delayedInputFrameId}:
|
||||||
rdf=${JSON.stringify(rdf)}
|
rdf=${JSON.stringify(rdf)}
|
||||||
othersForcedDownsyncRenderFrame=${JSON.stringify(othersForcedDownsyncRenderFrame)}`);
|
othersForcedDownsyncRenderFrame=${JSON.stringify(othersForcedDownsyncRenderFrame)}`);
|
||||||
// closeWSConnection(constants.RET_CODE.CLIENT_MISMATCHED_RENDER_FRAME, "");
|
// closeWSConnection(constants.RET_CODE.CLIENT_MISMATCHED_RENDER_FRAME, "");
|
||||||
// self.onManualRejoinRequired("[DEBUG] CLIENT_MISMATCHED_RENDER_FRAME");
|
// self.onManualRejoinRequired("[DEBUG] CLIENT_MISMATCHED_RENDER_FRAME");
|
||||||
rdf = othersForcedDownsyncRenderFrame;
|
rdf = othersForcedDownsyncRenderFrame;
|
||||||
self.othersForcedDownsyncRenderFrameDict.delete(rdf.id);
|
self.othersForcedDownsyncRenderFrameDict.delete(rdf.Id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.applyRoomDownsyncFrameDynamics(rdf, prevRdf);
|
self.applyRoomDownsyncFrameDynamics(rdf, prevRdf);
|
||||||
@ -1305,6 +1331,7 @@ actuallyUsedinputList:{${self.inputFrameDownsyncStr(actuallyUsedInputClone)}}`);
|
|||||||
case ATK_CHARACTER_STATE.BlownUp1[0]:
|
case ATK_CHARACTER_STATE.BlownUp1[0]:
|
||||||
case ATK_CHARACTER_STATE.InAirIdle1NoJump[0]:
|
case ATK_CHARACTER_STATE.InAirIdle1NoJump[0]:
|
||||||
case ATK_CHARACTER_STATE.InAirIdle1ByJump[0]:
|
case ATK_CHARACTER_STATE.InAirIdle1ByJump[0]:
|
||||||
|
case ATK_CHARACTER_STATE.OnWall[0]:
|
||||||
[colliderWidth, colliderHeight] = [player.ColliderRadius * 2, player.ColliderRadius * 2];
|
[colliderWidth, colliderHeight] = [player.ColliderRadius * 2, player.ColliderRadius * 2];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -129,7 +129,7 @@ cc.Class({
|
|||||||
inAir: true,
|
inAir: true,
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
speciesIdList: [4096, 0],
|
speciesIdList: [1, 4096],
|
||||||
});
|
});
|
||||||
|
|
||||||
self.selfPlayerInfo = {
|
self.selfPlayerInfo = {
|
||||||
|
@ -195,15 +195,31 @@ cc.Class({
|
|||||||
cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, function(evt) {
|
cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, function(evt) {
|
||||||
switch (evt.keyCode) {
|
switch (evt.keyCode) {
|
||||||
case cc.macro.KEY.w:
|
case cc.macro.KEY.w:
|
||||||
|
self.cachedBtnUpLevel = 0;
|
||||||
|
self.cachedBtnDownLevel = 0;
|
||||||
|
self.cachedBtnLeftLevel = 0;
|
||||||
|
self.cachedBtnRightLevel = 0;
|
||||||
self.cachedBtnUpLevel = 1;
|
self.cachedBtnUpLevel = 1;
|
||||||
break;
|
break;
|
||||||
case cc.macro.KEY.s:
|
case cc.macro.KEY.s:
|
||||||
|
self.cachedBtnUpLevel = 0;
|
||||||
|
self.cachedBtnDownLevel = 0;
|
||||||
|
self.cachedBtnLeftLevel = 0;
|
||||||
|
self.cachedBtnRightLevel = 0;
|
||||||
self.cachedBtnDownLevel = 1;
|
self.cachedBtnDownLevel = 1;
|
||||||
break;
|
break;
|
||||||
case cc.macro.KEY.a:
|
case cc.macro.KEY.a:
|
||||||
|
self.cachedBtnUpLevel = 0;
|
||||||
|
self.cachedBtnDownLevel = 0;
|
||||||
|
self.cachedBtnLeftLevel = 0;
|
||||||
|
self.cachedBtnRightLevel = 0;
|
||||||
self.cachedBtnLeftLevel = 1;
|
self.cachedBtnLeftLevel = 1;
|
||||||
break;
|
break;
|
||||||
case cc.macro.KEY.d:
|
case cc.macro.KEY.d:
|
||||||
|
self.cachedBtnUpLevel = 0;
|
||||||
|
self.cachedBtnDownLevel = 0;
|
||||||
|
self.cachedBtnLeftLevel = 0;
|
||||||
|
self.cachedBtnRightLevel = 0;
|
||||||
self.cachedBtnRightLevel = 1;
|
self.cachedBtnRightLevel = 1;
|
||||||
break;
|
break;
|
||||||
case cc.macro.KEY.h:
|
case cc.macro.KEY.h:
|
||||||
|
@ -21,7 +21,7 @@ const (
|
|||||||
GRAVITY_X = int32(0)
|
GRAVITY_X = int32(0)
|
||||||
GRAVITY_Y = -int32(float64(0.5) * WORLD_TO_VIRTUAL_GRID_RATIO) // makes all "playerCollider.Y" a multiple of 0.5 in all cases
|
GRAVITY_Y = -int32(float64(0.5) * WORLD_TO_VIRTUAL_GRID_RATIO) // makes all "playerCollider.Y" a multiple of 0.5 in all cases
|
||||||
|
|
||||||
INPUT_DELAY_FRAMES = int32(8) // in the count of render frames
|
INPUT_DELAY_FRAMES = int32(4) // in the count of render frames
|
||||||
INPUT_SCALE_FRAMES = uint32(2) // inputDelayedAndScaledFrameId = ((originalFrameId - InputDelayFrames) >> InputScaleFrames)
|
INPUT_SCALE_FRAMES = uint32(2) // inputDelayedAndScaledFrameId = ((originalFrameId - InputDelayFrames) >> InputScaleFrames)
|
||||||
NST_DELAY_FRAMES = int32(16) // network-single-trip delay in the count of render frames, proposed to be (InputDelayFrames >> 1) because we expect a round-trip delay to be exactly "InputDelayFrames"
|
NST_DELAY_FRAMES = int32(16) // network-single-trip delay in the count of render frames, proposed to be (InputDelayFrames >> 1) because we expect a round-trip delay to be exactly "InputDelayFrames"
|
||||||
|
|
||||||
@ -29,6 +29,7 @@ const (
|
|||||||
|
|
||||||
SNAP_INTO_PLATFORM_OVERLAP = float64(0.1)
|
SNAP_INTO_PLATFORM_OVERLAP = float64(0.1)
|
||||||
SNAP_INTO_PLATFORM_THRESHOLD = float64(0.5)
|
SNAP_INTO_PLATFORM_THRESHOLD = float64(0.5)
|
||||||
|
VERTICAL_PLATFORM_THRESHOLD = float64(0.9)
|
||||||
|
|
||||||
NO_SKILL = -1
|
NO_SKILL = -1
|
||||||
NO_SKILL_HIT = -1
|
NO_SKILL_HIT = -1
|
||||||
@ -66,6 +67,9 @@ const (
|
|||||||
ATK_CHARACTER_STATE_ATK3 = int32(12)
|
ATK_CHARACTER_STATE_ATK3 = int32(12)
|
||||||
ATK_CHARACTER_STATE_ATK4 = int32(13)
|
ATK_CHARACTER_STATE_ATK4 = int32(13)
|
||||||
ATK_CHARACTER_STATE_ATK5 = int32(14)
|
ATK_CHARACTER_STATE_ATK5 = int32(14)
|
||||||
|
|
||||||
|
ATK_CHARACTER_STATE_DASHING = int32(15)
|
||||||
|
ATK_CHARACTER_STATE_ONWALL = int32(16)
|
||||||
)
|
)
|
||||||
|
|
||||||
var inAirSet = map[int32]bool{
|
var inAirSet = map[int32]bool{
|
||||||
@ -74,6 +78,7 @@ var inAirSet = map[int32]bool{
|
|||||||
ATK_CHARACTER_STATE_INAIR_ATK1: true,
|
ATK_CHARACTER_STATE_INAIR_ATK1: true,
|
||||||
ATK_CHARACTER_STATE_INAIR_ATKED1: true,
|
ATK_CHARACTER_STATE_INAIR_ATKED1: true,
|
||||||
ATK_CHARACTER_STATE_BLOWN_UP1: true,
|
ATK_CHARACTER_STATE_BLOWN_UP1: true,
|
||||||
|
ATK_CHARACTER_STATE_ONWALL: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
var noOpSet = map[int32]bool{
|
var noOpSet = map[int32]bool{
|
||||||
@ -420,6 +425,8 @@ func deriveOpPattern(currPlayerDownsync, thatPlayerInNextFrame *PlayerDownsync,
|
|||||||
if decodedInput.BtnBLevel > prevBtnBLevel {
|
if decodedInput.BtnBLevel > prevBtnBLevel {
|
||||||
if _, existent := inAirSet[currPlayerDownsync.CharacterState]; !existent {
|
if _, existent := inAirSet[currPlayerDownsync.CharacterState]; !existent {
|
||||||
jumpedOrNot = true
|
jumpedOrNot = true
|
||||||
|
} else if ATK_CHARACTER_STATE_ONWALL == currPlayerDownsync.CharacterState {
|
||||||
|
jumpedOrNot = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -455,6 +462,7 @@ func ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame(inputsBuffer *RingBuffer
|
|||||||
VelY: currPlayerDownsync.VelY,
|
VelY: currPlayerDownsync.VelY,
|
||||||
CharacterState: currPlayerDownsync.CharacterState,
|
CharacterState: currPlayerDownsync.CharacterState,
|
||||||
InAir: true,
|
InAir: true,
|
||||||
|
OnWall: false,
|
||||||
Speed: currPlayerDownsync.Speed,
|
Speed: currPlayerDownsync.Speed,
|
||||||
BattleState: currPlayerDownsync.BattleState,
|
BattleState: currPlayerDownsync.BattleState,
|
||||||
Score: currPlayerDownsync.Score,
|
Score: currPlayerDownsync.Score,
|
||||||
@ -486,15 +494,11 @@ func ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame(inputsBuffer *RingBuffer
|
|||||||
bulletLocalId := currRenderFrame.BulletLocalIdCounter
|
bulletLocalId := currRenderFrame.BulletLocalIdCounter
|
||||||
// 1. Process player inputs
|
// 1. Process player inputs
|
||||||
for i, currPlayerDownsync := range currRenderFrame.PlayersArr {
|
for i, currPlayerDownsync := range currRenderFrame.PlayersArr {
|
||||||
jumpedOrNotList[i] = false
|
|
||||||
chConfig := chConfigsOrderedByJoinIndex[i]
|
chConfig := chConfigsOrderedByJoinIndex[i]
|
||||||
thatPlayerInNextFrame := nextRenderFramePlayers[i]
|
thatPlayerInNextFrame := nextRenderFramePlayers[i]
|
||||||
patternId, jumpedOrNot, effDx, effDy := deriveOpPattern(currPlayerDownsync, thatPlayerInNextFrame, currRenderFrame, inputsBuffer)
|
patternId, jumpedOrNot, effDx, effDy := deriveOpPattern(currPlayerDownsync, thatPlayerInNextFrame, currRenderFrame, inputsBuffer)
|
||||||
|
|
||||||
if jumpedOrNot {
|
jumpedOrNotList[i] = jumpedOrNot
|
||||||
thatPlayerInNextFrame.VelY = int32(chConfig.JumpingInitVelY)
|
|
||||||
jumpedOrNotList[i] = true
|
|
||||||
}
|
|
||||||
joinIndex := currPlayerDownsync.JoinIndex
|
joinIndex := currPlayerDownsync.JoinIndex
|
||||||
skillId := chConfig.SkillMapper(patternId, currPlayerDownsync)
|
skillId := chConfig.SkillMapper(patternId, currPlayerDownsync)
|
||||||
if skillConfig, existent := skills[skillId]; existent {
|
if skillConfig, existent := skills[skillId]; existent {
|
||||||
@ -573,20 +577,36 @@ func ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame(inputsBuffer *RingBuffer
|
|||||||
for i, currPlayerDownsync := range currRenderFrame.PlayersArr {
|
for i, currPlayerDownsync := range currRenderFrame.PlayersArr {
|
||||||
joinIndex := currPlayerDownsync.JoinIndex
|
joinIndex := currPlayerDownsync.JoinIndex
|
||||||
effPushbacks[joinIndex-1].X, effPushbacks[joinIndex-1].Y = float64(0), float64(0)
|
effPushbacks[joinIndex-1].X, effPushbacks[joinIndex-1].Y = float64(0), float64(0)
|
||||||
|
thatPlayerInNextFrame := nextRenderFramePlayers[i]
|
||||||
|
|
||||||
chConfig := chConfigsOrderedByJoinIndex[i]
|
chConfig := chConfigsOrderedByJoinIndex[i]
|
||||||
// Reset playerCollider position from the "virtual grid position"
|
// Reset playerCollider position from the "virtual grid position"
|
||||||
newVx, newVy := currPlayerDownsync.VirtualGridX+currPlayerDownsync.VelX, currPlayerDownsync.VirtualGridY+currPlayerDownsync.VelY
|
newVx, newVy := currPlayerDownsync.VirtualGridX+currPlayerDownsync.VelX, currPlayerDownsync.VirtualGridY+currPlayerDownsync.VelY
|
||||||
if jumpedOrNotList[i] {
|
if jumpedOrNotList[i] {
|
||||||
|
// We haven't proceeded with "OnWall" calculation for "thatPlayerInNextFrame", thus use "currPlayerDownsync.OnWall" for checking
|
||||||
|
if ATK_CHARACTER_STATE_ONWALL == currPlayerDownsync.CharacterState {
|
||||||
|
newVx -= +currPlayerDownsync.VelX // Cancel the alleged horizontal movement against wall first
|
||||||
|
xfac := int32(-1)
|
||||||
|
// "thatPlayerInNextFrame.DirX" already stores information of player input
|
||||||
|
if 0 > thatPlayerInNextFrame.DirX {
|
||||||
|
xfac = -xfac
|
||||||
|
}
|
||||||
|
newVx += xfac * chConfig.WallJumpingInitVelX
|
||||||
|
newVy += chConfig.WallJumpingInitVelY
|
||||||
|
thatPlayerInNextFrame.VelX = int32(xfac * chConfig.WallJumpingInitVelX)
|
||||||
|
thatPlayerInNextFrame.VelY = int32(chConfig.WallJumpingInitVelY)
|
||||||
|
} else {
|
||||||
|
thatPlayerInNextFrame.VelY = int32(chConfig.JumpingInitVelY)
|
||||||
newVy += chConfig.JumpingInitVelY // Immediately gets out of any snapping
|
newVy += chConfig.JumpingInitVelY // Immediately gets out of any snapping
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
wx, wy := VirtualGridToWorldPos(newVx, newVy)
|
wx, wy := VirtualGridToWorldPos(newVx, newVy)
|
||||||
colliderWidth, colliderHeight := currPlayerDownsync.ColliderRadius*2, currPlayerDownsync.ColliderRadius*4
|
colliderWidth, colliderHeight := currPlayerDownsync.ColliderRadius*2, currPlayerDownsync.ColliderRadius*4
|
||||||
switch currPlayerDownsync.CharacterState {
|
switch currPlayerDownsync.CharacterState {
|
||||||
case ATK_CHARACTER_STATE_LAY_DOWN1:
|
case ATK_CHARACTER_STATE_LAY_DOWN1:
|
||||||
colliderWidth, colliderHeight = currPlayerDownsync.ColliderRadius*4, currPlayerDownsync.ColliderRadius*2
|
colliderWidth, colliderHeight = currPlayerDownsync.ColliderRadius*4, currPlayerDownsync.ColliderRadius*2
|
||||||
case ATK_CHARACTER_STATE_BLOWN_UP1, ATK_CHARACTER_STATE_INAIR_IDLE1_NO_JUMP, ATK_CHARACTER_STATE_INAIR_IDLE1_BY_JUMP:
|
case ATK_CHARACTER_STATE_BLOWN_UP1, ATK_CHARACTER_STATE_INAIR_IDLE1_NO_JUMP, ATK_CHARACTER_STATE_INAIR_IDLE1_BY_JUMP, ATK_CHARACTER_STATE_ONWALL:
|
||||||
colliderWidth, colliderHeight = currPlayerDownsync.ColliderRadius*2, currPlayerDownsync.ColliderRadius*2
|
colliderWidth, colliderHeight = currPlayerDownsync.ColliderRadius*2, currPlayerDownsync.ColliderRadius*2
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -598,12 +618,16 @@ func ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame(inputsBuffer *RingBuffer
|
|||||||
// Add to collision system
|
// Add to collision system
|
||||||
collisionSys.Add(playerCollider)
|
collisionSys.Add(playerCollider)
|
||||||
|
|
||||||
thatPlayerInNextFrame := nextRenderFramePlayers[i]
|
|
||||||
if currPlayerDownsync.InAir {
|
if currPlayerDownsync.InAir {
|
||||||
|
if ATK_CHARACTER_STATE_ONWALL == currPlayerDownsync.CharacterState && !jumpedOrNotList[i] {
|
||||||
|
thatPlayerInNextFrame.VelX += GRAVITY_X
|
||||||
|
thatPlayerInNextFrame.VelY = chConfig.WallSlidingVelY
|
||||||
|
} else {
|
||||||
thatPlayerInNextFrame.VelX += GRAVITY_X
|
thatPlayerInNextFrame.VelX += GRAVITY_X
|
||||||
thatPlayerInNextFrame.VelY += GRAVITY_Y
|
thatPlayerInNextFrame.VelY += GRAVITY_Y
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 3. Add bullet colliders into collision system
|
// 3. Add bullet colliders into collision system
|
||||||
bulletColliders := make([]*resolv.Object, 0, len(currRenderFrame.MeleeBullets)) // Will all be removed at the end of this function due to the need for being rollback-compatible
|
bulletColliders := make([]*resolv.Object, 0, len(currRenderFrame.MeleeBullets)) // Will all be removed at the end of this function due to the need for being rollback-compatible
|
||||||
@ -692,24 +716,27 @@ func ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame(inputsBuffer *RingBuffer
|
|||||||
}
|
}
|
||||||
if landedOnGravityPushback {
|
if landedOnGravityPushback {
|
||||||
thatPlayerInNextFrame.InAir = false
|
thatPlayerInNextFrame.InAir = false
|
||||||
if currPlayerDownsync.InAir && 0 >= currPlayerDownsync.VelY {
|
fallStopping := (currPlayerDownsync.InAir && 0 >= currPlayerDownsync.VelY)
|
||||||
// fallStopping
|
if fallStopping {
|
||||||
thatPlayerInNextFrame.VelY = 0
|
thatPlayerInNextFrame.VelY = 0
|
||||||
thatPlayerInNextFrame.VelX = 0
|
thatPlayerInNextFrame.VelX = 0
|
||||||
if _, existent := nonAttackingSet[thatPlayerInNextFrame.CharacterState]; existent {
|
|
||||||
if ATK_CHARACTER_STATE_BLOWN_UP1 == thatPlayerInNextFrame.CharacterState {
|
if ATK_CHARACTER_STATE_BLOWN_UP1 == thatPlayerInNextFrame.CharacterState {
|
||||||
thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_LAY_DOWN1
|
thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_LAY_DOWN1
|
||||||
thatPlayerInNextFrame.FramesToRecover = chConfig.LayDownFramesToRecover
|
thatPlayerInNextFrame.FramesToRecover = chConfig.LayDownFramesToRecover
|
||||||
} else {
|
} else {
|
||||||
|
switch currPlayerDownsync.CharacterState {
|
||||||
|
case ATK_CHARACTER_STATE_BLOWN_UP1, ATK_CHARACTER_STATE_INAIR_IDLE1_NO_JUMP, ATK_CHARACTER_STATE_INAIR_IDLE1_BY_JUMP, ATK_CHARACTER_STATE_ONWALL:
|
||||||
|
// [WARNING] To prevent bouncing due to abrupt change of collider shape, it's important that we check "currPlayerDownsync" instead of "thatPlayerInNextFrame" here!
|
||||||
halfColliderWidthDiff, halfColliderHeightDiff := int32(0), currPlayerDownsync.ColliderRadius
|
halfColliderWidthDiff, halfColliderHeightDiff := int32(0), currPlayerDownsync.ColliderRadius
|
||||||
_, halfColliderWorldHeightDiff := VirtualGridToWorldPos(halfColliderWidthDiff, halfColliderHeightDiff)
|
_, halfColliderWorldHeightDiff := VirtualGridToWorldPos(halfColliderWidthDiff, halfColliderHeightDiff)
|
||||||
effPushbacks[joinIndex-1].Y -= halfColliderWorldHeightDiff // To prevent bouncing due to abrupt change of collider shape
|
effPushbacks[joinIndex-1].Y -= halfColliderWorldHeightDiff
|
||||||
thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_IDLE1
|
|
||||||
}
|
}
|
||||||
|
thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_IDLE1
|
||||||
|
thatPlayerInNextFrame.FramesToRecover = 0
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
// landedOnGravityPushback not fallStopping, could be in LayDown or GetUp
|
||||||
if _, existent := nonAttackingSet[thatPlayerInNextFrame.CharacterState]; existent {
|
if _, existent := nonAttackingSet[thatPlayerInNextFrame.CharacterState]; existent {
|
||||||
// not fallStopping, could be in LayDown or GetUp
|
|
||||||
if ATK_CHARACTER_STATE_LAY_DOWN1 == thatPlayerInNextFrame.CharacterState {
|
if ATK_CHARACTER_STATE_LAY_DOWN1 == thatPlayerInNextFrame.CharacterState {
|
||||||
if 0 == thatPlayerInNextFrame.FramesToRecover {
|
if 0 == thatPlayerInNextFrame.FramesToRecover {
|
||||||
thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_GET_UP1
|
thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_GET_UP1
|
||||||
@ -724,6 +751,30 @@ func ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame(inputsBuffer *RingBuffer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if thatPlayerInNextFrame.InAir && chConfig.OnWallEnabled {
|
||||||
|
// [WARNING] Sticking to wall MUST BE based on "InAir", otherwise we would get gravity reduction from ground up incorrectly!
|
||||||
|
if _, existent := noOpSet[currPlayerDownsync.CharacterState]; !existent {
|
||||||
|
// [WARNING] Sticking to wall could only be triggered by proactive player input
|
||||||
|
for _, hardPushbackNorm := range *hardPushbackNorms[joinIndex-1] {
|
||||||
|
normAlignmentWithHorizon1 := (hardPushbackNorm.X*float64(1.0) + hardPushbackNorm.Y*float64(0.0))
|
||||||
|
ctrlAlignmentWithHorizon1 := (float64(thatPlayerInNextFrame.DirX)*float64(1.0) + float64(thatPlayerInNextFrame.DirY)*float64(0.0))
|
||||||
|
normAlignmentWithHorizon2 := (hardPushbackNorm.X*float64(-1.0) + hardPushbackNorm.Y*float64(0.0))
|
||||||
|
ctrlAlignmentWithHorizon2 := (float64(thatPlayerInNextFrame.DirX)*float64(-1.0) + float64(thatPlayerInNextFrame.DirY)*float64(0.0))
|
||||||
|
if VERTICAL_PLATFORM_THRESHOLD < normAlignmentWithHorizon1 && VERTICAL_PLATFORM_THRESHOLD < ctrlAlignmentWithHorizon1 {
|
||||||
|
thatPlayerInNextFrame.OnWall = true
|
||||||
|
}
|
||||||
|
if VERTICAL_PLATFORM_THRESHOLD < normAlignmentWithHorizon2 && VERTICAL_PLATFORM_THRESHOLD < ctrlAlignmentWithHorizon2 {
|
||||||
|
thatPlayerInNextFrame.OnWall = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if !currPlayerDownsync.OnWall && thatPlayerInNextFrame.OnWall {
|
||||||
|
// To avoid mysterious climbing up the wall after sticking on it
|
||||||
|
thatPlayerInNextFrame.VelY = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 5. Check bullet-anything collisions
|
// 5. Check bullet-anything collisions
|
||||||
@ -842,12 +893,20 @@ func ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame(inputsBuffer *RingBuffer
|
|||||||
if thatPlayerInNextFrame.InAir {
|
if thatPlayerInNextFrame.InAir {
|
||||||
oldNextCharacterState := thatPlayerInNextFrame.CharacterState
|
oldNextCharacterState := thatPlayerInNextFrame.CharacterState
|
||||||
switch oldNextCharacterState {
|
switch oldNextCharacterState {
|
||||||
case ATK_CHARACTER_STATE_IDLE1, ATK_CHARACTER_STATE_WALKING:
|
case ATK_CHARACTER_STATE_IDLE1:
|
||||||
if jumpedOrNotList[i] || ATK_CHARACTER_STATE_INAIR_IDLE1_BY_JUMP == currPlayerDownsync.CharacterState {
|
if jumpedOrNotList[i] || ATK_CHARACTER_STATE_INAIR_IDLE1_BY_JUMP == currPlayerDownsync.CharacterState {
|
||||||
thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_INAIR_IDLE1_BY_JUMP
|
thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_INAIR_IDLE1_BY_JUMP
|
||||||
} else {
|
} else {
|
||||||
thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_INAIR_IDLE1_NO_JUMP
|
thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_INAIR_IDLE1_NO_JUMP
|
||||||
}
|
}
|
||||||
|
case ATK_CHARACTER_STATE_WALKING:
|
||||||
|
if thatPlayerInNextFrame.OnWall {
|
||||||
|
thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_ONWALL
|
||||||
|
} else if jumpedOrNotList[i] || ATK_CHARACTER_STATE_INAIR_IDLE1_BY_JUMP == currPlayerDownsync.CharacterState {
|
||||||
|
thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_INAIR_IDLE1_BY_JUMP
|
||||||
|
} else {
|
||||||
|
thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_INAIR_IDLE1_NO_JUMP
|
||||||
|
}
|
||||||
case ATK_CHARACTER_STATE_ATK1:
|
case ATK_CHARACTER_STATE_ATK1:
|
||||||
thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_INAIR_ATK1
|
thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_INAIR_ATK1
|
||||||
// No inAir transition for ATK2/ATK3 for now
|
// No inAir transition for ATK2/ATK3 for now
|
||||||
|
@ -18,6 +18,12 @@ type CharacterConfig struct {
|
|||||||
Speed int32
|
Speed int32
|
||||||
JumpingInitVelY int32
|
JumpingInitVelY int32
|
||||||
|
|
||||||
|
DashingEnabled bool
|
||||||
|
OnWallEnabled bool
|
||||||
|
WallJumpingInitVelX int32
|
||||||
|
WallJumpingInitVelY int32
|
||||||
|
WallSlidingVelY int32
|
||||||
|
|
||||||
SkillMapper SkillMapperType
|
SkillMapper SkillMapperType
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,6 +44,9 @@ var Characters = map[int]*CharacterConfig{
|
|||||||
Speed: int32(float64(1.2) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
Speed: int32(float64(1.2) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
||||||
JumpingInitVelY: int32(float64(8) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
JumpingInitVelY: int32(float64(8) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
||||||
|
|
||||||
|
DashingEnabled: false,
|
||||||
|
OnWallEnabled: false,
|
||||||
|
|
||||||
SkillMapper: func(patternId int, currPlayerDownsync *PlayerDownsync) int {
|
SkillMapper: func(patternId int, currPlayerDownsync *PlayerDownsync) int {
|
||||||
if 1 == patternId {
|
if 1 == patternId {
|
||||||
if 0 == currPlayerDownsync.FramesToRecover {
|
if 0 == currPlayerDownsync.FramesToRecover {
|
||||||
@ -81,6 +90,12 @@ var Characters = map[int]*CharacterConfig{
|
|||||||
Speed: int32(float64(1.4) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
Speed: int32(float64(1.4) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
||||||
JumpingInitVelY: int32(float64(7.5) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
JumpingInitVelY: int32(float64(7.5) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
||||||
|
|
||||||
|
DashingEnabled: true,
|
||||||
|
OnWallEnabled: true,
|
||||||
|
WallJumpingInitVelX: int32(float64(7) * 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 {
|
SkillMapper: func(patternId int, currPlayerDownsync *PlayerDownsync) int {
|
||||||
if 1 == patternId {
|
if 1 == patternId {
|
||||||
if 0 == currPlayerDownsync.FramesToRecover {
|
if 0 == currPlayerDownsync.FramesToRecover {
|
||||||
@ -124,6 +139,9 @@ var Characters = map[int]*CharacterConfig{
|
|||||||
Speed: int32(float64(1.0) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
Speed: int32(float64(1.0) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
||||||
JumpingInitVelY: int32(float64(7.5) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
JumpingInitVelY: int32(float64(7.5) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
||||||
|
|
||||||
|
DashingEnabled: false,
|
||||||
|
OnWallEnabled: false,
|
||||||
|
|
||||||
SkillMapper: func(patternId int, currPlayerDownsync *PlayerDownsync) int {
|
SkillMapper: func(patternId int, currPlayerDownsync *PlayerDownsync) int {
|
||||||
if 1 == patternId {
|
if 1 == patternId {
|
||||||
if 0 == currPlayerDownsync.FramesToRecover {
|
if 0 == currPlayerDownsync.FramesToRecover {
|
||||||
@ -331,10 +349,10 @@ var skills = map[int]*Skill{
|
|||||||
HitStunFrames: MAX_INT32,
|
HitStunFrames: MAX_INT32,
|
||||||
BlockStunFrames: int32(9),
|
BlockStunFrames: int32(9),
|
||||||
Damage: int32(10),
|
Damage: int32(10),
|
||||||
SelfLockVelX: int32(float64(-0.1) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
SelfLockVelX: NO_LOCK_VEL,
|
||||||
SelfLockVelY: NO_LOCK_VEL,
|
SelfLockVelY: NO_LOCK_VEL,
|
||||||
PushbackVelX: int32(float64(2) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
PushbackVelX: int32(float64(2) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
||||||
PushbackVelY: NO_LOCK_VEL,
|
PushbackVelY: int32(float64(3) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
||||||
HitboxOffsetX: int32(float64(24) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
HitboxOffsetX: int32(float64(24) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
||||||
HitboxOffsetY: int32(0),
|
HitboxOffsetY: int32(0),
|
||||||
HitboxSizeX: int32(float64(32) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
HitboxSizeX: int32(float64(32) * WORLD_TO_VIRTUAL_GRID_RATIO),
|
||||||
|
@ -42,7 +42,7 @@ func NewBarrierJs(boundary *Polygon2D) *js.Object {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewPlayerDownsyncJs(id, virtualGridX, virtualGridY, dirX, dirY, velX, velY, framesToRecover, framesInChState, activeSkillId, activeSkillHit, framesInvinsible, speed, battleState, characterState, joinIndex, hp, maxHp, colliderRadius int32, inAir bool, bulletTeamId, chCollisionTeamId int32) *js.Object {
|
func NewPlayerDownsyncJs(id, virtualGridX, virtualGridY, dirX, dirY, velX, velY, framesToRecover, framesInChState, activeSkillId, activeSkillHit, framesInvinsible, speed, battleState, characterState, joinIndex, hp, maxHp, colliderRadius int32, inAir, onWall bool, bulletTeamId, chCollisionTeamId int32) *js.Object {
|
||||||
return js.MakeWrapper(&PlayerDownsync{
|
return js.MakeWrapper(&PlayerDownsync{
|
||||||
Id: id,
|
Id: id,
|
||||||
VirtualGridX: virtualGridX,
|
VirtualGridX: virtualGridX,
|
||||||
@ -64,6 +64,7 @@ func NewPlayerDownsyncJs(id, virtualGridX, virtualGridY, dirX, dirY, velX, velY,
|
|||||||
MaxHp: maxHp,
|
MaxHp: maxHp,
|
||||||
ColliderRadius: colliderRadius,
|
ColliderRadius: colliderRadius,
|
||||||
InAir: inAir,
|
InAir: inAir,
|
||||||
|
OnWall: onWall,
|
||||||
BulletTeamId: bulletTeamId,
|
BulletTeamId: bulletTeamId,
|
||||||
ChCollisionTeamId: chCollisionTeamId,
|
ChCollisionTeamId: chCollisionTeamId,
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user