diff --git a/battle_srv/models/room.go b/battle_srv/models/room.go index 68c9cd0..fe69ed2 100644 --- a/battle_srv/models/room.go +++ b/battle_srv/models/room.go @@ -92,7 +92,6 @@ type Room struct { Capacity int collisionSpaceOffsetX float64 collisionSpaceOffsetY float64 - playerOpPatternToSkillId map[int]int Players map[int32]*Player PlayersArr []*Player // ordered by joinIndex Space *resolv.Space @@ -397,18 +396,11 @@ func (pR *Room) StartBattle() { pR.RenderFrameId = 0 - // [WARNING] Only since battle starts do we have all players bound to certain joinIndexes. - for _, player := range pR.Players { - opJoinIndexPrefix := (int(player.JoinIndex) << uint(8)) - pR.playerOpPatternToSkillId[opJoinIndexPrefix+0] = 1 // Hardcoded for now - } - // Initialize the "collisionSys" as well as "RenderFrameBuffer" pR.CurDynamicsRenderFrameId = 0 kickoffFrameJs := &battle.RoomDownsyncFrame{ Id: pR.RenderFrameId, PlayersArr: toJsPlayers(pR.Players), - PlayerOpPatternToSkillId: pR.playerOpPatternToSkillId, CountdownNanos: pR.BattleDurationNanos, } pR.RenderFrameBuffer.Put(kickoffFrameJs) @@ -1270,7 +1262,7 @@ func (pR *Room) applyInputFrameDownsyncDynamics(fromRenderFrameId int32, toRende } } - nextRenderFrame := battle.ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame(pR.InputsBuffer, currRenderFrame, pR.Space, pR.CollisionSysMap, pR.InputDelayFrames, pR.InputScaleFrames, pR.collisionSpaceOffsetX, pR.collisionSpaceOffsetY, pR.SnapIntoPlatformOverlap, pR.SnapIntoPlatformThreshold, pR.WorldToVirtualGridRatio, pR.VirtualGridToWorldRatio, pR.playerOpPatternToSkillId) + nextRenderFrame := battle.ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame(pR.InputsBuffer, currRenderFrame, pR.Space, pR.CollisionSysMap, pR.collisionSpaceOffsetX, pR.collisionSpaceOffsetY) pR.RenderFrameBuffer.Put(nextRenderFrame) pR.CurDynamicsRenderFrameId++ } @@ -1467,7 +1459,6 @@ func (pR *Room) downsyncToSinglePlayer(playerId int32, player *Player, refRender } refRenderFrame := tmp.(*battle.RoomDownsyncFrame) - refRenderFrame.PlayerOpPatternToSkillId = pR.playerOpPatternToSkillId for i, player := range pR.PlayersArr { refRenderFrame.PlayersArr[i].ColliderRadius = player.ColliderRadius // hardcoded for now } diff --git a/frontend/assets/plugin_scripts/jsexport.js b/frontend/assets/plugin_scripts/jsexport.js index 601ee24..1d8605f 100644 --- a/frontend/assets/plugin_scripts/jsexport.js +++ b/frontend/assets/plugin_scripts/jsexport.js @@ -4724,7 +4724,7 @@ $packages["resolv"] = (function() { return $pkg; })(); $packages["jsexport/battle"] = (function() { - var $pkg = {}, $init, math, resolv, Vec2D, Polygon2D, PlayerDownsync, InputFrameDecoded, Barrier, Bullet, MeleeBullet, FireballBullet, Skill, RoomDownsyncFrame, InputFrameDownsync, RingBuffer, CharacterConfig, SatResult, sliceType, sliceType$1, sliceType$2, ptrType, sliceType$3, sliceType$4, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, sliceType$5, ptrType$7, sliceType$6, sliceType$7, sliceType$8, sliceType$9, ptrType$8, sliceType$10, ptrType$9, sliceType$11, sliceType$12, ptrType$10, sliceType$13, ptrType$11, mapType, ptrType$12, skills, inAirSet, noOpSet, invinsibleSet, nonAttackingSet, NewRingBuffer, ConvertToInputFrameId, decodeInput, CalcPushbacks, isPolygonPairOverlapped, isPolygonPairSeparatedByDir, WorldToVirtualGridPos, VirtualGridToWorldPos, WorldToPolygonColliderBLPos, PolygonColliderBLToWorldPos, PolygonColliderBLToVirtualGridPos, VirtualGridToPolygonColliderBLPos, calcHardPushbacksNorms, deriveOpPattern, ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame, GenerateRectCollider, generateRectColliderInCollisionSpace, GenerateConvexPolygonCollider, AlignPolygon2DToBoundingBox; + var $pkg = {}, $init, math, resolv, Vec2D, Polygon2D, PlayerDownsync, InputFrameDecoded, Barrier, Bullet, MeleeBullet, FireballBullet, Skill, RoomDownsyncFrame, InputFrameDownsync, RingBuffer, SkillMapperType, CharacterConfig, SatResult, sliceType, sliceType$1, sliceType$2, ptrType, ptrType$1, ptrType$2, sliceType$3, sliceType$4, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, sliceType$5, sliceType$6, sliceType$7, sliceType$8, sliceType$9, ptrType$8, sliceType$10, ptrType$9, sliceType$11, sliceType$12, ptrType$10, sliceType$13, ptrType$11, mapType, ptrType$12, skills, inAirSet, noOpSet, invinsibleSet, nonAttackingSet, NewRingBuffer, ConvertToInputFrameId, decodeInput, CalcPushbacks, isPolygonPairOverlapped, isPolygonPairSeparatedByDir, WorldToVirtualGridPos, VirtualGridToWorldPos, WorldToPolygonColliderBLPos, PolygonColliderBLToWorldPos, PolygonColliderBLToVirtualGridPos, VirtualGridToPolygonColliderBLPos, calcHardPushbacksNorms, deriveOpPattern, ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame, GenerateRectCollider, generateRectColliderInCollisionSpace, GenerateConvexPolygonCollider, AlignPolygon2DToBoundingBox; math = $packages["math"]; resolv = $packages["resolv"]; Vec2D = $pkg.Vec2D = $newType(0, $kindStruct, "battle.Vec2D", true, "jsexport/battle", true, function(X_, Y_) { @@ -4819,7 +4819,7 @@ $packages["jsexport/battle"] = (function() { } this.Boundary = Boundary_; }); - Bullet = $pkg.Bullet = $newType(0, $kindStruct, "battle.Bullet", true, "jsexport/battle", true, function(OriginatedRenderFrameId_, OffenderJoinIndex_, StartupFrames_, CancellableStFrame_, CancellableEdFrame_, ActiveFrames_, HitStunFrames_, BlockStunFrames_, PushbackVelX_, PushbackVelY_, Damage_, SelfLockVelX_, SelfLockVelY_, HitboxOffsetX_, HitboxOffsetY_, HitboxSizeX_, HitboxSizeY_, BlowUp_) { + Bullet = $pkg.Bullet = $newType(0, $kindStruct, "battle.Bullet", true, "jsexport/battle", true, function(OriginatedRenderFrameId_, OffenderJoinIndex_, StartupFrames_, CancellableStFrame_, CancellableEdFrame_, ActiveFrames_, HitStunFrames_, BlockStunFrames_, PushbackVelX_, PushbackVelY_, Damage_, SelfLockVelX_, SelfLockVelY_, HitboxOffsetX_, HitboxOffsetY_, HitboxSizeX_, HitboxSizeY_, BlowUp_, CancelTransit_) { this.$val = this; if (arguments.length === 0) { this.OriginatedRenderFrameId = 0; @@ -4840,6 +4840,7 @@ $packages["jsexport/battle"] = (function() { this.HitboxSizeX = 0; this.HitboxSizeY = 0; this.BlowUp = false; + this.CancelTransit = false; return; } this.OriginatedRenderFrameId = OriginatedRenderFrameId_; @@ -4860,11 +4861,12 @@ $packages["jsexport/battle"] = (function() { this.HitboxSizeX = HitboxSizeX_; this.HitboxSizeY = HitboxSizeY_; this.BlowUp = BlowUp_; + this.CancelTransit = CancelTransit_; }); MeleeBullet = $pkg.MeleeBullet = $newType(0, $kindStruct, "battle.MeleeBullet", true, "jsexport/battle", true, function(Bullet_) { this.$val = this; if (arguments.length === 0) { - this.Bullet = new Bullet.ptr(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false); + this.Bullet = new Bullet.ptr(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false, false); return; } this.Bullet = Bullet_; @@ -4879,7 +4881,7 @@ $packages["jsexport/battle"] = (function() { this.VelX = 0; this.VelY = 0; this.Speed = 0; - this.Bullet = new Bullet.ptr(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false); + this.Bullet = new Bullet.ptr(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false, false); return; } this.VirtualGridX = VirtualGridX_; @@ -4891,7 +4893,7 @@ $packages["jsexport/battle"] = (function() { this.Speed = Speed_; this.Bullet = Bullet_; }); - Skill = $pkg.Skill = $newType(0, $kindStruct, "battle.Skill", true, "jsexport/battle", true, function(BattleLocalId_, RecoveryFrames_, RecoveryFramesOnBlock_, RecoveryFramesOnHit_, ReleaseTriggerType_, Hits_) { + Skill = $pkg.Skill = $newType(0, $kindStruct, "battle.Skill", true, "jsexport/battle", true, function(BattleLocalId_, RecoveryFrames_, RecoveryFramesOnBlock_, RecoveryFramesOnHit_, ReleaseTriggerType_, BoundChState_, Hits_) { this.$val = this; if (arguments.length === 0) { this.BattleLocalId = 0; @@ -4899,7 +4901,8 @@ $packages["jsexport/battle"] = (function() { this.RecoveryFramesOnBlock = 0; this.RecoveryFramesOnHit = 0; this.ReleaseTriggerType = 0; - this.Hits = sliceType.nil; + this.BoundChState = 0; + this.Hits = sliceType$2.nil; return; } this.BattleLocalId = BattleLocalId_; @@ -4907,6 +4910,7 @@ $packages["jsexport/battle"] = (function() { this.RecoveryFramesOnBlock = RecoveryFramesOnBlock_; this.RecoveryFramesOnHit = RecoveryFramesOnHit_; this.ReleaseTriggerType = ReleaseTriggerType_; + this.BoundChState = BoundChState_; this.Hits = Hits_; }); RoomDownsyncFrame = $pkg.RoomDownsyncFrame = $newType(0, $kindStruct, "battle.RoomDownsyncFrame", true, "jsexport/battle", true, function(Id_, PlayersArr_, CountdownNanos_, MeleeBullets_, FireballBullets_, BackendUnconfirmedMask_, ShouldForceResync_, PlayerOpPatternToSkillId_) { @@ -4952,7 +4956,7 @@ $packages["jsexport/battle"] = (function() { this.StFrameId = 0; this.N = 0; this.Cnt = 0; - this.Eles = sliceType.nil; + this.Eles = sliceType$2.nil; return; } this.Ed = Ed_; @@ -4963,7 +4967,8 @@ $packages["jsexport/battle"] = (function() { this.Cnt = Cnt_; this.Eles = Eles_; }); - CharacterConfig = $pkg.CharacterConfig = $newType(0, $kindStruct, "battle.CharacterConfig", true, "jsexport/battle", true, function(SpeciesId_, SpeciesName_, InAirIdleFrameIdxTurningPoint_, InAirIdleFrameIdxTurnedCycle_, LayDownFrames_, LayDownFramesToRecover_, GetUpFrames_, GetUpFramesToRecover_, JumpingInitVelY_, PatternIdToSkillId_) { + SkillMapperType = $pkg.SkillMapperType = $newType(4, $kindFunc, "battle.SkillMapperType", true, "jsexport/battle", true, null); + CharacterConfig = $pkg.CharacterConfig = $newType(0, $kindStruct, "battle.CharacterConfig", true, "jsexport/battle", true, function(SpeciesId_, SpeciesName_, InAirIdleFrameIdxTurningPoint_, InAirIdleFrameIdxTurnedCycle_, LayDownFrames_, LayDownFramesToRecover_, GetUpFrames_, GetUpFramesToRecover_, JumpingInitVelY_, SkillMapper_) { this.$val = this; if (arguments.length === 0) { this.SpeciesId = 0; @@ -4975,7 +4980,7 @@ $packages["jsexport/battle"] = (function() { this.GetUpFrames = 0; this.GetUpFramesToRecover = 0; this.JumpingInitVelY = 0; - this.PatternIdToSkillId = false; + this.SkillMapper = $throwNilPointerError; return; } this.SpeciesId = SpeciesId_; @@ -4987,7 +4992,7 @@ $packages["jsexport/battle"] = (function() { this.GetUpFrames = GetUpFrames_; this.GetUpFramesToRecover = GetUpFramesToRecover_; this.JumpingInitVelY = JumpingInitVelY_; - this.PatternIdToSkillId = PatternIdToSkillId_; + this.SkillMapper = SkillMapper_; }); SatResult = $pkg.SatResult = $newType(0, $kindStruct, "battle.SatResult", true, "jsexport/battle", true, function(Overlap_, OverlapX_, OverlapY_, AContainedInB_, BContainedInA_, Axis_) { this.$val = this; @@ -5007,23 +5012,23 @@ $packages["jsexport/battle"] = (function() { this.BContainedInA = BContainedInA_; this.Axis = Axis_; }); - sliceType = $sliceType($emptyInterface); - sliceType$1 = $sliceType($Int32); - sliceType$2 = $sliceType(sliceType$1); - ptrType = $ptrType(SatResult); + sliceType = $sliceType($Int32); + sliceType$1 = $sliceType(sliceType); + sliceType$2 = $sliceType($emptyInterface); + ptrType = $ptrType(Skill); + ptrType$1 = $ptrType(MeleeBullet); + ptrType$2 = $ptrType(SatResult); sliceType$3 = $sliceType(Vec2D); sliceType$4 = $sliceType($String); - ptrType$1 = $ptrType(resolv.Collision); - ptrType$2 = $ptrType(sliceType$3); - ptrType$3 = $ptrType(PlayerDownsync); - ptrType$4 = $ptrType(MeleeBullet); - ptrType$5 = $ptrType(resolv.ConvexPolygon); - ptrType$6 = $ptrType(InputFrameDownsync); + ptrType$3 = $ptrType(resolv.Collision); + ptrType$4 = $ptrType(sliceType$3); + ptrType$5 = $ptrType(PlayerDownsync); + ptrType$6 = $ptrType(resolv.ConvexPolygon); + ptrType$7 = $ptrType(InputFrameDownsync); sliceType$5 = $sliceType($Uint64); - ptrType$7 = $ptrType(Skill); - sliceType$6 = $sliceType(ptrType$3); - sliceType$7 = $sliceType(ptrType$4); - sliceType$8 = $sliceType(ptrType$2); + sliceType$6 = $sliceType(ptrType$5); + sliceType$7 = $sliceType(ptrType$1); + sliceType$8 = $sliceType(ptrType$4); sliceType$9 = $sliceType($Bool); ptrType$8 = $ptrType(resolv.Object); sliceType$10 = $sliceType(ptrType$8); @@ -5037,7 +5042,7 @@ $packages["jsexport/battle"] = (function() { ptrType$12 = $ptrType(RingBuffer); NewRingBuffer = function(n) { var n; - return new RingBuffer.ptr(0, 0, 0, 0, n, 0, $makeSlice(sliceType, n)); + return new RingBuffer.ptr(0, 0, 0, 0, n, 0, $makeSlice(sliceType$2, n)); }; $pkg.NewRingBuffer = NewRingBuffer; RingBuffer.ptr.prototype.Put = function(pItem) { @@ -5190,8 +5195,8 @@ $packages["jsexport/battle"] = (function() { $24r$1 = [false, 0, 0, overlapResult]; $s = 5; case 5: return $24r$1; /* } */ case 3: - $s = -1; return [false, 0, 0, ptrType.nil]; - /* */ } return; } } catch(err) { $err = err; $s = -1; return [false, 0, 0, ptrType.nil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: CalcPushbacks, $c: true, $r, $24r, $24r$1, _tmp, _tmp$1, _tuple, barrierShape, oldDx, oldDy, origX, origY, overlapResult, overlapped, playerShape, pushbackX, pushbackY, $s, $deferred};return $f; } } + $s = -1; return [false, 0, 0, ptrType$2.nil]; + /* */ } return; } } catch(err) { $err = err; $s = -1; return [false, 0, 0, ptrType$2.nil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { var $f = {$blk: CalcPushbacks, $c: true, $r, $24r, $24r$1, _tmp, _tmp$1, _tuple, barrierShape, oldDx, oldDy, origX, origY, overlapResult, overlapped, playerShape, pushbackX, pushbackY, $s, $deferred};return $f; } } }; $pkg.CalcPushbacks = CalcPushbacks; isPolygonPairOverlapped = function(a, b, result) { @@ -5201,7 +5206,7 @@ $packages["jsexport/battle"] = (function() { aCnt = _tmp; bCnt = _tmp$1; if ((1 === aCnt) && (1 === bCnt)) { - if (!(ptrType.nil === result)) { + if (!(ptrType$2.nil === result)) { result.Overlap = 0; } return ((x = (x$1 = a.Points, (0 >= x$1.$length ? ($throwRuntimeError("index out of range"), undefined) : x$1.$array[x$1.$offset + 0])), (0 >= x.$length ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + 0])) === (x$2 = (x$3 = b.Points, (0 >= x$3.$length ? ($throwRuntimeError("index out of range"), undefined) : x$3.$array[x$3.$offset + 0])), (0 >= x$2.$length ? ($throwRuntimeError("index out of range"), undefined) : x$2.$array[x$2.$offset + 0]))) && ((x$4 = (x$5 = a.Points, (0 >= x$5.$length ? ($throwRuntimeError("index out of range"), undefined) : x$5.$array[x$5.$offset + 0])), (1 >= x$4.$length ? ($throwRuntimeError("index out of range"), undefined) : x$4.$array[x$4.$offset + 1])) === (x$6 = (x$7 = b.Points, (0 >= x$7.$length ? ($throwRuntimeError("index out of range"), undefined) : x$7.$array[x$7.$offset + 0])), (1 >= x$6.$length ? ($throwRuntimeError("index out of range"), undefined) : x$6.$array[x$6.$offset + 1]))); @@ -5273,7 +5278,7 @@ $packages["jsexport/battle"] = (function() { if (aStart > bEnd || aEnd < bStart) { return true; } - if (!(ptrType.nil === result)) { + if (!(ptrType$2.nil === result)) { overlap = 0; if (aStart < bStart) { result.AContainedInB = false; @@ -5368,8 +5373,8 @@ $packages["jsexport/battle"] = (function() { ret = [ret]; ret[0] = $makeSlice(sliceType$3, 0, 10); collision = playerCollider.Check(0, 0, new sliceType$4([])); - if (ptrType$1.nil === collision) { - $s = -1; return (ret.$ptr || (ret.$ptr = new ptrType$2(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, ret))); + if (ptrType$3.nil === collision) { + $s = -1; return (ret.$ptr || (ret.$ptr = new ptrType$4(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, ret))); } _ref = collision.Objects; _i = 0; @@ -5378,8 +5383,8 @@ $packages["jsexport/battle"] = (function() { obj = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]); isBarrier = false; _ref$1 = obj.Data; - if ($assertType(_ref$1, ptrType$3, true)[1]) { - } else if ($assertType(_ref$1, ptrType$4, true)[1]) { + if ($assertType(_ref$1, ptrType$5, true)[1]) { + } else if ($assertType(_ref$1, ptrType$1, true)[1]) { } else { isBarrier = true; } @@ -5387,7 +5392,7 @@ $packages["jsexport/battle"] = (function() { _i++; /* continue; */ $s = 1; continue; } - barrierShape = $assertType(obj.Shape, ptrType$5); + barrierShape = $assertType(obj.Shape, ptrType$6); _r = CalcPushbacks(0, 0, playerShape, barrierShape); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } _tuple = _r; overlapped = _tuple[0]; @@ -5408,11 +5413,11 @@ $packages["jsexport/battle"] = (function() { _i++; $s = 1; continue; case 2: - $s = -1; return (ret.$ptr || (ret.$ptr = new ptrType$2(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, ret))); + $s = -1; return (ret.$ptr || (ret.$ptr = new ptrType$4(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, ret))); /* */ } return; } var $f = {$blk: calcHardPushbacksNorms, $c: true, $r, _i, _r, _ref, _ref$1, _tmp, _tmp$1, _tuple, barrierShape, collision, isBarrier, joinIndex, obj, overlapResult, overlapped, pEffPushback, playerCollider, playerShape, pushbackX, pushbackY, ret, snapIntoPlatformOverlap, $s};return $f; }; deriveOpPattern = function(currPlayerDownsync, thatPlayerInNextFrame, currRenderFrame, inputsBuffer, inputDelayFrames, inputScaleFrames) { - var _entry, _entry$1, _entry$2, _ref, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tuple, _tuple$1, currPlayerDownsync, currRenderFrame, decodedInput, delayedInputFrameId, delayedInputFrameIdForPrevRdf, delayedInputList, delayedInputListForPrevRdf, effDx, effDy, existent, existent$1, inputDelayFrames, inputScaleFrames, inputsBuffer, joinIndex, jumpedOrNot, patternId, prevBtnALevel, prevBtnBLevel, prevDecodedInput, skillConfig, thatPlayerInNextFrame, v, x, x$1, x$2, x$3; + var _entry, _entry$1, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tuple, _tuple$1, currPlayerDownsync, currRenderFrame, decodedInput, delayedInputFrameId, delayedInputFrameIdForPrevRdf, delayedInputList, delayedInputListForPrevRdf, effDx, effDy, existent, existent$1, inputDelayFrames, inputScaleFrames, inputsBuffer, joinIndex, jumpedOrNot, patternId, prevBtnALevel, prevBtnBLevel, prevDecodedInput, thatPlayerInNextFrame, x, x$1; delayedInputFrameId = ConvertToInputFrameId(currRenderFrame.Id, inputDelayFrames, inputScaleFrames); delayedInputFrameIdForPrevRdf = ConvertToInputFrameId(currRenderFrame.Id - 1 >> 0, inputDelayFrames, inputScaleFrames); if (0 >= delayedInputFrameId) { @@ -5423,10 +5428,10 @@ $packages["jsexport/battle"] = (function() { if (existent) { return [-2, false, 0, 0]; } - delayedInputList = $assertType(inputsBuffer.GetByFrameId(delayedInputFrameId), ptrType$6).InputList; + delayedInputList = $assertType(inputsBuffer.GetByFrameId(delayedInputFrameId), ptrType$7).InputList; delayedInputListForPrevRdf = sliceType$5.nil; if (0 < delayedInputFrameIdForPrevRdf) { - delayedInputListForPrevRdf = $assertType(inputsBuffer.GetByFrameId(delayedInputFrameIdForPrevRdf), ptrType$6).InputList; + delayedInputListForPrevRdf = $assertType(inputsBuffer.GetByFrameId(delayedInputFrameIdForPrevRdf), ptrType$7).InputList; } jumpedOrNot = false; joinIndex = currPlayerDownsync.JoinIndex; @@ -5459,27 +5464,12 @@ $packages["jsexport/battle"] = (function() { } patternId = -1; if (decodedInput.BtnALevel > prevBtnALevel) { - if (currPlayerDownsync.InAir) { - patternId = 255; - } else { - patternId = 1; - } - } - if (!((-1 === patternId)) && 0 < currPlayerDownsync.FramesToRecover) { - patternId = -1; - skillConfig = (_entry$2 = skills[$Int.keyFor(((currPlayerDownsync.ActiveSkillId >> 0)))], _entry$2 !== undefined ? _entry$2.v : ptrType$7.nil); - _ref = (x$2 = skillConfig.Hits, x$3 = currPlayerDownsync.ActiveSkillHit, ((x$3 < 0 || x$3 >= x$2.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$2.$array[x$2.$offset + x$3])); - if ($assertType(_ref, ptrType$4, true)[1]) { - v = _ref.$val; - if (v.Bullet.CancellableStFrame <= currPlayerDownsync.FramesInChState && currPlayerDownsync.FramesInChState < v.Bullet.CancellableEdFrame) { - patternId = (((currPlayerDownsync.ActiveSkillId + 1 >> 0) >> 0)); - } - } + patternId = 1; } return [patternId, jumpedOrNot, effDx, effDy]; }; ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame = function(inputsBuffer, currRenderFrame, collisionSys, collisionSysMap, collisionSpaceOffsetX, collisionSpaceOffsetY, chConfigsOrderedByJoinIndex) { - var {_1, _2, _entry, _entry$1, _entry$2, _entry$3, _entry$4, _entry$5, _entry$6, _i, _i$1, _i$2, _i$3, _i$4, _i$5, _i$6, _i$7, _i$8, _i$9, _index, _index$1, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _ref$10, _ref$11, _ref$12, _ref$13, _ref$2, _ref$3, _ref$4, _ref$5, _ref$6, _ref$7, _ref$8, _ref$9, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, atkedPlayerInNextFrame, bShape, bulletCollider, bulletColliders, bulletShape, bulletWx, bulletWy, chConfig, chConfig$1, chConfig$2, chConfigsOrderedByJoinIndex, collision, collision$1, collisionPlayerIndex, collisionPlayerIndex$1, collisionPlayerIndex$2, collisionSpaceOffsetX, collisionSpaceOffsetY, collisionSys, collisionSysMap, currPlayerDownsync, currPlayerDownsync$1, currPlayerDownsync$2, currPlayerDownsync$3, currPlayerDownsync$4, currRenderFrame, defenderShape, effDx, effDy, effPushbacks, existent, existent$1, existent$2, hardPushbackNorm, hardPushbackNorms, hitboxSizeWx, hitboxSizeWy, i, i$1, i$2, i$3, i$4, inputsBuffer, isAnotherPlayer, isBarrier, isBullet, joinIndex, joinIndex$1, joinIndex$2, joinIndex$3, jumpedOrNot, jumpedOrNotList, landedOnGravityPushback, meleeBullet, newBullet, newBulletCollider, newVx, newVy, nextRenderFrameMeleeBullets, nextRenderFramePlayers, normAlignmentWithGravity, obj, obj$1, offender, offender$1, oldFramesToRecover, oldNextCharacterState, overlapResult, overlapped, overlapped$1, patternId, playerCollider, playerCollider$1, playerCollider$2, playerShape, projectedMagnitude, pushbackVelX, pushbackVelY, pushbackX, pushbackY, roomCapacity, skillConfig, skillId, t, t$1, thatPlayerInNextFrame, thatPlayerInNextFrame$1, thatPlayerInNextFrame$2, thatPlayerInNextFrame$3, v, v$1, x, x$1, x$10, x$11, x$12, x$13, x$14, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, xfac, xfac$1, $s, $r, $c} = $restore(this, {inputsBuffer, currRenderFrame, collisionSys, collisionSysMap, collisionSpaceOffsetX, collisionSpaceOffsetY, chConfigsOrderedByJoinIndex}); + var {_1, _entry, _entry$1, _entry$2, _entry$3, _entry$4, _entry$5, _i, _i$1, _i$2, _i$3, _i$4, _i$5, _i$6, _i$7, _i$8, _i$9, _index, _index$1, _r, _r$1, _r$2, _r$3, _r$4, _ref, _ref$1, _ref$10, _ref$11, _ref$12, _ref$13, _ref$2, _ref$3, _ref$4, _ref$5, _ref$6, _ref$7, _ref$8, _ref$9, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, atkedPlayerInNextFrame, bShape, bulletCollider, bulletColliders, bulletShape, bulletWx, bulletWy, chConfig, chConfig$1, chConfig$2, chConfigsOrderedByJoinIndex, collision, collision$1, collisionPlayerIndex, collisionPlayerIndex$1, collisionPlayerIndex$2, collisionSpaceOffsetX, collisionSpaceOffsetY, collisionSys, collisionSysMap, currPlayerDownsync, currPlayerDownsync$1, currPlayerDownsync$2, currPlayerDownsync$3, currPlayerDownsync$4, currRenderFrame, defenderShape, effDx, effDy, effPushbacks, existent, existent$1, existent$2, hardPushbackNorm, hardPushbackNorms, hitboxSizeWx, hitboxSizeWy, i, i$1, i$2, i$3, i$4, inputsBuffer, isAnotherPlayer, isBarrier, isBullet, joinIndex, joinIndex$1, joinIndex$2, joinIndex$3, jumpedOrNot, jumpedOrNotList, landedOnGravityPushback, meleeBullet, newBullet, newBulletCollider, newVx, newVy, nextRenderFrameMeleeBullets, nextRenderFramePlayers, normAlignmentWithGravity, obj, obj$1, offender, offender$1, oldFramesToRecover, oldNextCharacterState, overlapResult, overlapped, overlapped$1, patternId, playerCollider, playerCollider$1, playerCollider$2, playerShape, projectedMagnitude, pushbackVelX, pushbackVelY, pushbackX, pushbackY, roomCapacity, skillConfig, skillId, t, t$1, thatPlayerInNextFrame, thatPlayerInNextFrame$1, thatPlayerInNextFrame$2, thatPlayerInNextFrame$3, v, v$1, x, x$1, x$10, x$11, x$12, x$13, x$14, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, xfac, xfac$1, $s, $r, $c} = $restore(this, {inputsBuffer, currRenderFrame, collisionSys, collisionSysMap, collisionSpaceOffsetX, collisionSpaceOffsetY, chConfigsOrderedByJoinIndex}); /* */ $s = $s || 0; s: while (true) { switch ($s) { case 0: roomCapacity = currRenderFrame.PlayersArr.$length; nextRenderFramePlayers = $makeSlice(sliceType$6, roomCapacity); @@ -5501,8 +5491,8 @@ $packages["jsexport/battle"] = (function() { jumpedOrNotList = $makeSlice(sliceType$9, roomCapacity); _ref$1 = currRenderFrame.PlayersArr; _i$1 = 0; - while (true) { - if (!(_i$1 < _ref$1.$length)) { break; } + /* while (true) { */ case 1: + /* if (!(_i$1 < _ref$1.$length)) { break; } */ if(!(_i$1 < _ref$1.$length)) { $s = 2; continue; } newBullet = [newBullet]; i$1 = _i$1; currPlayerDownsync$1 = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]); @@ -5519,37 +5509,29 @@ $packages["jsexport/battle"] = (function() { ((i$1 < 0 || i$1 >= jumpedOrNotList.$length) ? ($throwRuntimeError("index out of range"), undefined) : jumpedOrNotList.$array[jumpedOrNotList.$offset + i$1] = true); } joinIndex = currPlayerDownsync$1.JoinIndex; - if (!((-1 === patternId))) { - _tuple$1 = (_entry = chConfig.PatternIdToSkillId[$Int.keyFor(patternId)], _entry !== undefined ? [_entry.v, true] : [0, false]); - skillId = _tuple$1[0]; - existent = _tuple$1[1]; - if (existent) { - skillConfig = (_entry$1 = skills[$Int.keyFor(skillId)], _entry$1 !== undefined ? _entry$1.v : ptrType$7.nil); - thatPlayerInNextFrame.ActiveSkillId = ((skillId >> 0)); - thatPlayerInNextFrame.ActiveSkillHit = 0; - _ref$2 = (x = skillConfig.Hits, x$1 = thatPlayerInNextFrame.ActiveSkillHit, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + x$1])); - if ($assertType(_ref$2, ptrType$4, true)[1]) { - v = _ref$2.$val; - newBullet[0] = $clone(v, MeleeBullet); - newBullet[0].Bullet.OriginatedRenderFrameId = currRenderFrame.Id; - newBullet[0].Bullet.OffenderJoinIndex = joinIndex; - nextRenderFrameMeleeBullets = $append(nextRenderFrameMeleeBullets, newBullet[0]); - thatPlayerInNextFrame.FramesToRecover = skillConfig.RecoveryFrames; - } - _1 = skillId; - if (_1 === (1)) { - thatPlayerInNextFrame.CharacterState = 2; - } else if (_1 === (2)) { - thatPlayerInNextFrame.CharacterState = 11; - } else if (_1 === (3)) { - thatPlayerInNextFrame.CharacterState = 12; - } - if (false === currPlayerDownsync$1.InAir) { - thatPlayerInNextFrame.VelX = 0; - } - _i$1++; - continue; + _r = chConfig.SkillMapper(patternId, currPlayerDownsync$1); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + skillId = _r; + _tuple$1 = (_entry = skills[$Int.keyFor(skillId)], _entry !== undefined ? [_entry.v, true] : [ptrType.nil, false]); + skillConfig = _tuple$1[0]; + existent = _tuple$1[1]; + if (existent) { + thatPlayerInNextFrame.ActiveSkillId = ((skillId >> 0)); + thatPlayerInNextFrame.ActiveSkillHit = 0; + _ref$2 = (x = skillConfig.Hits, x$1 = thatPlayerInNextFrame.ActiveSkillHit, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + x$1])); + if ($assertType(_ref$2, ptrType$1, true)[1]) { + v = _ref$2.$val; + newBullet[0] = $clone(v, MeleeBullet); + newBullet[0].Bullet.OriginatedRenderFrameId = currRenderFrame.Id; + newBullet[0].Bullet.OffenderJoinIndex = joinIndex; + nextRenderFrameMeleeBullets = $append(nextRenderFrameMeleeBullets, newBullet[0]); + thatPlayerInNextFrame.FramesToRecover = skillConfig.RecoveryFrames; } + thatPlayerInNextFrame.CharacterState = skillConfig.BoundChState; + if (false === currPlayerDownsync$1.InAir) { + thatPlayerInNextFrame.VelX = 0; + } + _i$1++; + /* continue; */ $s = 1; continue; } if (0 === currPlayerDownsync$1.FramesToRecover) { if (!((0 === effDx)) || !((0 === effDy))) { @@ -5565,11 +5547,12 @@ $packages["jsexport/battle"] = (function() { } } _i$1++; - } + $s = 1; continue; + case 2: _ref$3 = currRenderFrame.PlayersArr; _i$2 = 0; - /* while (true) { */ case 1: - /* if (!(_i$2 < _ref$3.$length)) { break; } */ if(!(_i$2 < _ref$3.$length)) { $s = 2; continue; } + /* while (true) { */ case 4: + /* if (!(_i$2 < _ref$3.$length)) { break; } */ if(!(_i$2 < _ref$3.$length)) { $s = 5; continue; } i$2 = _i$2; currPlayerDownsync$2 = ((_i$2 < 0 || _i$2 >= _ref$3.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$3.$array[_ref$3.$offset + _i$2]); joinIndex$1 = currPlayerDownsync$2.JoinIndex; @@ -5578,7 +5561,7 @@ $packages["jsexport/battle"] = (function() { (x$2 = joinIndex$1 - 1 >> 0, ((x$2 < 0 || x$2 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$2])).X = _tmp$2; (x$3 = joinIndex$1 - 1 >> 0, ((x$3 < 0 || x$3 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$3])).Y = _tmp$3; collisionPlayerIndex = 131072 + joinIndex$1 >> 0; - playerCollider = (_entry$2 = collisionSysMap[$Int32.keyFor(collisionPlayerIndex)], _entry$2 !== undefined ? _entry$2.v : ptrType$8.nil); + playerCollider = (_entry$1 = collisionSysMap[$Int32.keyFor(collisionPlayerIndex)], _entry$1 !== undefined ? _entry$1.v : ptrType$8.nil); thatPlayerInNextFrame$1 = ((i$2 < 0 || i$2 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + i$2]); chConfig$1 = ((i$2 < 0 || i$2 >= chConfigsOrderedByJoinIndex.$length) ? ($throwRuntimeError("index out of range"), undefined) : chConfigsOrderedByJoinIndex.$array[chConfigsOrderedByJoinIndex.$offset + i$2]); _tmp$4 = currPlayerDownsync$2.VirtualGridX + currPlayerDownsync$2.VelX >> 0; @@ -5591,23 +5574,23 @@ $packages["jsexport/battle"] = (function() { _tuple$2 = VirtualGridToPolygonColliderBLPos(newVx, newVy, playerCollider.W * 0.5, playerCollider.H * 0.5, 0, 0, 0, 0, collisionSpaceOffsetX, collisionSpaceOffsetY); playerCollider.X = _tuple$2[0]; playerCollider.Y = _tuple$2[1]; - $r = playerCollider.Update(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = playerCollider.Update(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } if (currPlayerDownsync$2.InAir) { thatPlayerInNextFrame$1.VelX = thatPlayerInNextFrame$1.VelX + (0) >> 0; thatPlayerInNextFrame$1.VelY = thatPlayerInNextFrame$1.VelY + (-50) >> 0; } _i$2++; - $s = 1; continue; - case 2: + $s = 4; continue; + case 5: bulletColliders = $makeSlice(sliceType$10, 0, currRenderFrame.MeleeBullets.$length); _ref$4 = currRenderFrame.MeleeBullets; _i$3 = 0; - /* while (true) { */ case 4: - /* if (!(_i$3 < _ref$4.$length)) { break; } */ if(!(_i$3 < _ref$4.$length)) { $s = 5; continue; } + /* while (true) { */ case 7: + /* if (!(_i$3 < _ref$4.$length)) { break; } */ if(!(_i$3 < _ref$4.$length)) { $s = 8; continue; } meleeBullet = ((_i$3 < 0 || _i$3 >= _ref$4.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$4.$array[_ref$4.$offset + _i$3]); - /* */ if (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) <= currRenderFrame.Id) && (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) + meleeBullet.Bullet.ActiveFrames >> 0) > currRenderFrame.Id)) { $s = 6; continue; } - /* */ $s = 7; continue; - /* if (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) <= currRenderFrame.Id) && (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) + meleeBullet.Bullet.ActiveFrames >> 0) > currRenderFrame.Id)) { */ case 6: + /* */ if (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) <= currRenderFrame.Id) && (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) + meleeBullet.Bullet.ActiveFrames >> 0) > currRenderFrame.Id)) { $s = 9; continue; } + /* */ $s = 10; continue; + /* if (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) <= currRenderFrame.Id) && (((meleeBullet.Bullet.OriginatedRenderFrameId + meleeBullet.Bullet.StartupFrames >> 0) + meleeBullet.Bullet.ActiveFrames >> 0) > currRenderFrame.Id)) { */ case 9: offender = (x$4 = currRenderFrame.PlayersArr, x$5 = meleeBullet.Bullet.OffenderJoinIndex - 1 >> 0, ((x$5 < 0 || x$5 >= x$4.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$4.$array[x$4.$offset + x$5])); xfac = 1; if (0 > offender.DirX) { @@ -5619,40 +5602,40 @@ $packages["jsexport/battle"] = (function() { _tuple$4 = VirtualGridToWorldPos(meleeBullet.Bullet.HitboxSizeX, meleeBullet.Bullet.HitboxSizeY); hitboxSizeWx = _tuple$4[0]; hitboxSizeWy = _tuple$4[1]; - _r = GenerateRectCollider(bulletWx, bulletWy, hitboxSizeWx, hitboxSizeWy, 0.1, 0.1, 0.1, 0.1, collisionSpaceOffsetX, collisionSpaceOffsetY, meleeBullet, "MeleeBullet"); /* */ $s = 9; case 9: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - newBulletCollider = _r; - $r = collisionSys.Add(new sliceType$10([newBulletCollider])); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + _r$1 = GenerateRectCollider(bulletWx, bulletWy, hitboxSizeWx, hitboxSizeWy, 0.1, 0.1, 0.1, 0.1, collisionSpaceOffsetX, collisionSpaceOffsetY, meleeBullet, "MeleeBullet"); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + newBulletCollider = _r$1; + $r = collisionSys.Add(new sliceType$10([newBulletCollider])); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } bulletColliders = $append(bulletColliders, newBulletCollider); - $s = 8; continue; - /* } else { */ case 7: + $s = 11; continue; + /* } else { */ case 10: nextRenderFrameMeleeBullets = $append(nextRenderFrameMeleeBullets, meleeBullet); - /* } */ case 8: + /* } */ case 11: _i$3++; - $s = 4; continue; - case 5: + $s = 7; continue; + case 8: _ref$5 = currRenderFrame.PlayersArr; _i$4 = 0; - /* while (true) { */ case 11: - /* if (!(_i$4 < _ref$5.$length)) { break; } */ if(!(_i$4 < _ref$5.$length)) { $s = 12; continue; } + /* while (true) { */ case 14: + /* if (!(_i$4 < _ref$5.$length)) { break; } */ if(!(_i$4 < _ref$5.$length)) { $s = 15; continue; } i$3 = _i$4; currPlayerDownsync$3 = ((_i$4 < 0 || _i$4 >= _ref$5.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$5.$array[_ref$5.$offset + _i$4]); joinIndex$2 = currPlayerDownsync$3.JoinIndex; collisionPlayerIndex$1 = 131072 + joinIndex$2 >> 0; - playerCollider$1 = (_entry$3 = collisionSysMap[$Int32.keyFor(collisionPlayerIndex$1)], _entry$3 !== undefined ? _entry$3.v : ptrType$8.nil); - playerShape = $assertType(playerCollider$1.Shape, ptrType$5); - _r$1 = calcHardPushbacksNorms(joinIndex$2, playerCollider$1, playerShape, 0.1, (x$6 = joinIndex$2 - 1 >> 0, ((x$6 < 0 || x$6 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$6]))); /* */ $s = 13; case 13: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - (x$7 = joinIndex$2 - 1 >> 0, ((x$7 < 0 || x$7 >= hardPushbackNorms.$length) ? ($throwRuntimeError("index out of range"), undefined) : hardPushbackNorms.$array[hardPushbackNorms.$offset + x$7] = _r$1)); + playerCollider$1 = (_entry$2 = collisionSysMap[$Int32.keyFor(collisionPlayerIndex$1)], _entry$2 !== undefined ? _entry$2.v : ptrType$8.nil); + playerShape = $assertType(playerCollider$1.Shape, ptrType$6); + _r$2 = calcHardPushbacksNorms(joinIndex$2, playerCollider$1, playerShape, 0.1, (x$6 = joinIndex$2 - 1 >> 0, ((x$6 < 0 || x$6 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$6]))); /* */ $s = 16; case 16: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + (x$7 = joinIndex$2 - 1 >> 0, ((x$7 < 0 || x$7 >= hardPushbackNorms.$length) ? ($throwRuntimeError("index out of range"), undefined) : hardPushbackNorms.$array[hardPushbackNorms.$offset + x$7] = _r$2)); thatPlayerInNextFrame$2 = ((i$3 < 0 || i$3 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + i$3]); chConfig$2 = ((i$3 < 0 || i$3 >= chConfigsOrderedByJoinIndex.$length) ? ($throwRuntimeError("index out of range"), undefined) : chConfigsOrderedByJoinIndex.$array[chConfigsOrderedByJoinIndex.$offset + i$3]); landedOnGravityPushback = false; collision = playerCollider$1.Check(0, 0, new sliceType$4([])); - /* */ if (!(ptrType$1.nil === collision)) { $s = 14; continue; } - /* */ $s = 15; continue; - /* if (!(ptrType$1.nil === collision)) { */ case 14: + /* */ if (!(ptrType$3.nil === collision)) { $s = 17; continue; } + /* */ $s = 18; continue; + /* if (!(ptrType$3.nil === collision)) { */ case 17: _ref$6 = collision.Objects; _i$5 = 0; - /* while (true) { */ case 16: - /* if (!(_i$5 < _ref$6.$length)) { break; } */ if(!(_i$5 < _ref$6.$length)) { $s = 17; continue; } + /* while (true) { */ case 19: + /* if (!(_i$5 < _ref$6.$length)) { break; } */ if(!(_i$5 < _ref$6.$length)) { $s = 20; continue; } obj = ((_i$5 < 0 || _i$5 >= _ref$6.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$6.$array[_ref$6.$offset + _i$5]); _tmp$6 = false; _tmp$7 = false; @@ -5661,27 +5644,27 @@ $packages["jsexport/battle"] = (function() { isAnotherPlayer = _tmp$7; isBullet = _tmp$8; _ref$7 = obj.Data; - if ($assertType(_ref$7, ptrType$3, true)[1]) { + if ($assertType(_ref$7, ptrType$5, true)[1]) { isAnotherPlayer = true; - } else if ($assertType(_ref$7, ptrType$4, true)[1]) { + } else if ($assertType(_ref$7, ptrType$1, true)[1]) { isBullet = true; } else { isBarrier = true; } if (isBullet) { _i$5++; - /* continue; */ $s = 16; continue; + /* continue; */ $s = 19; continue; } - bShape = $assertType(obj.Shape, ptrType$5); - _r$2 = CalcPushbacks(0, 0, playerShape, bShape); /* */ $s = 18; case 18: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - _tuple$5 = _r$2; + bShape = $assertType(obj.Shape, ptrType$6); + _r$3 = CalcPushbacks(0, 0, playerShape, bShape); /* */ $s = 21; case 21: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } + _tuple$5 = _r$3; overlapped = _tuple$5[0]; pushbackX = _tuple$5[1]; pushbackY = _tuple$5[2]; overlapResult = _tuple$5[3]; if (!overlapped) { _i$5++; - /* continue; */ $s = 16; continue; + /* continue; */ $s = 19; continue; } normAlignmentWithGravity = overlapResult.OverlapX * 0 + overlapResult.OverlapY * -1; if (isAnotherPlayer) { @@ -5710,9 +5693,9 @@ $packages["jsexport/battle"] = (function() { landedOnGravityPushback = true; } _i$5++; - $s = 16; continue; - case 17: - /* } */ case 15: + $s = 19; continue; + case 20: + /* } */ case 18: if (landedOnGravityPushback) { thatPlayerInNextFrame$2.InAir = false; if (currPlayerDownsync$3.InAir && 0 >= currPlayerDownsync$3.VelY) { @@ -5739,54 +5722,54 @@ $packages["jsexport/battle"] = (function() { } } _i$4++; - $s = 11; continue; - case 12: + $s = 14; continue; + case 15: _ref$9 = bulletColliders; _i$7 = 0; - /* while (true) { */ case 19: - /* if (!(_i$7 < _ref$9.$length)) { break; } */ if(!(_i$7 < _ref$9.$length)) { $s = 20; continue; } + /* while (true) { */ case 22: + /* if (!(_i$7 < _ref$9.$length)) { break; } */ if(!(_i$7 < _ref$9.$length)) { $s = 23; continue; } bulletCollider = ((_i$7 < 0 || _i$7 >= _ref$9.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$9.$array[_ref$9.$offset + _i$7]); collision$1 = bulletCollider.Check(0, 0, new sliceType$4([])); bulletCollider.Space.Remove(new sliceType$10([bulletCollider])); _ref$10 = bulletCollider.Data; - /* */ if ($assertType(_ref$10, ptrType$4, true)[1]) { $s = 21; continue; } - /* */ $s = 22; continue; - /* if ($assertType(_ref$10, ptrType$4, true)[1]) { */ case 21: + /* */ if ($assertType(_ref$10, ptrType$1, true)[1]) { $s = 24; continue; } + /* */ $s = 25; continue; + /* if ($assertType(_ref$10, ptrType$1, true)[1]) { */ case 24: v$1 = _ref$10.$val; - if (ptrType$1.nil === collision$1) { + if (ptrType$3.nil === collision$1) { nextRenderFrameMeleeBullets = $append(nextRenderFrameMeleeBullets, v$1); _i$7++; - /* continue; */ $s = 19; continue; + /* continue; */ $s = 22; continue; } - bulletShape = $assertType(bulletCollider.Shape, ptrType$5); + bulletShape = $assertType(bulletCollider.Shape, ptrType$6); offender$1 = (x$9 = currRenderFrame.PlayersArr, x$10 = v$1.Bullet.OffenderJoinIndex - 1 >> 0, ((x$10 < 0 || x$10 >= x$9.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$9.$array[x$9.$offset + x$10])); _ref$11 = collision$1.Objects; _i$8 = 0; - /* while (true) { */ case 23: - /* if (!(_i$8 < _ref$11.$length)) { break; } */ if(!(_i$8 < _ref$11.$length)) { $s = 24; continue; } + /* while (true) { */ case 26: + /* if (!(_i$8 < _ref$11.$length)) { break; } */ if(!(_i$8 < _ref$11.$length)) { $s = 27; continue; } obj$1 = ((_i$8 < 0 || _i$8 >= _ref$11.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$11.$array[_ref$11.$offset + _i$8]); - defenderShape = $assertType(obj$1.Shape, ptrType$5); + defenderShape = $assertType(obj$1.Shape, ptrType$6); _ref$12 = obj$1.Data; - /* */ if ($assertType(_ref$12, ptrType$3, true)[1]) { $s = 25; continue; } - /* */ $s = 26; continue; - /* if ($assertType(_ref$12, ptrType$3, true)[1]) { */ case 25: + /* */ if ($assertType(_ref$12, ptrType$5, true)[1]) { $s = 28; continue; } + /* */ $s = 29; continue; + /* if ($assertType(_ref$12, ptrType$5, true)[1]) { */ case 28: t = _ref$12.$val; if (v$1.Bullet.OffenderJoinIndex === t.JoinIndex) { _i$8++; - /* continue; */ $s = 23; continue; + /* continue; */ $s = 26; continue; } - _tuple$6 = (_entry$4 = invinsibleSet[$Int32.keyFor(t.CharacterState)], _entry$4 !== undefined ? [_entry$4.v, true] : [false, false]); + _tuple$6 = (_entry$3 = invinsibleSet[$Int32.keyFor(t.CharacterState)], _entry$3 !== undefined ? [_entry$3.v, true] : [false, false]); existent$1 = _tuple$6[1]; if (existent$1) { _i$8++; - /* continue; */ $s = 23; continue; + /* continue; */ $s = 26; continue; } - _r$3 = CalcPushbacks(0, 0, bulletShape, defenderShape); /* */ $s = 28; case 28: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } - _tuple$7 = _r$3; + _r$4 = CalcPushbacks(0, 0, bulletShape, defenderShape); /* */ $s = 31; case 31: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } + _tuple$7 = _r$4; overlapped$1 = _tuple$7[0]; if (!overlapped$1) { _i$8++; - /* continue; */ $s = 23; continue; + /* continue; */ $s = 26; continue; } xfac$1 = 1; if (0 > offender$1.DirX) { @@ -5808,17 +5791,17 @@ $packages["jsexport/battle"] = (function() { if (v$1.Bullet.HitStunFrames > oldFramesToRecover) { atkedPlayerInNextFrame.FramesToRecover = v$1.Bullet.HitStunFrames; } - $s = 27; continue; - /* } else { */ case 26: + $s = 30; continue; + /* } else { */ case 29: t$1 = _ref$12; - /* } */ case 27: + /* } */ case 30: _i$8++; - $s = 23; continue; - case 24: - /* } */ case 22: + $s = 26; continue; + case 27: + /* } */ case 25: _i$7++; - $s = 19; continue; - case 20: + $s = 22; continue; + case 23: _ref$13 = currRenderFrame.PlayersArr; _i$9 = 0; while (true) { @@ -5827,30 +5810,30 @@ $packages["jsexport/battle"] = (function() { currPlayerDownsync$4 = ((_i$9 < 0 || _i$9 >= _ref$13.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$13.$array[_ref$13.$offset + _i$9]); joinIndex$3 = currPlayerDownsync$4.JoinIndex; collisionPlayerIndex$2 = 131072 + joinIndex$3 >> 0; - playerCollider$2 = (_entry$5 = collisionSysMap[$Int32.keyFor(collisionPlayerIndex$2)], _entry$5 !== undefined ? _entry$5.v : ptrType$8.nil); + playerCollider$2 = (_entry$4 = collisionSysMap[$Int32.keyFor(collisionPlayerIndex$2)], _entry$4 !== undefined ? _entry$4.v : ptrType$8.nil); thatPlayerInNextFrame$3 = ((i$4 < 0 || i$4 >= nextRenderFramePlayers.$length) ? ($throwRuntimeError("index out of range"), undefined) : nextRenderFramePlayers.$array[nextRenderFramePlayers.$offset + i$4]); _tuple$8 = PolygonColliderBLToVirtualGridPos(playerCollider$2.X - (x$13 = joinIndex$3 - 1 >> 0, ((x$13 < 0 || x$13 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$13])).X, playerCollider$2.Y - (x$14 = joinIndex$3 - 1 >> 0, ((x$14 < 0 || x$14 >= effPushbacks.$length) ? ($throwRuntimeError("index out of range"), undefined) : effPushbacks.$array[effPushbacks.$offset + x$14])).Y, playerCollider$2.W * 0.5, playerCollider$2.H * 0.5, 0, 0, 0, 0, collisionSpaceOffsetX, collisionSpaceOffsetY); thatPlayerInNextFrame$3.VirtualGridX = _tuple$8[0]; thatPlayerInNextFrame$3.VirtualGridY = _tuple$8[1]; if (thatPlayerInNextFrame$3.InAir) { oldNextCharacterState = thatPlayerInNextFrame$3.CharacterState; - _2 = oldNextCharacterState; - if ((_2 === (0)) || (_2 === (1))) { + _1 = oldNextCharacterState; + if ((_1 === (0)) || (_1 === (1))) { if (((i$4 < 0 || i$4 >= jumpedOrNotList.$length) ? ($throwRuntimeError("index out of range"), undefined) : jumpedOrNotList.$array[jumpedOrNotList.$offset + i$4]) || (5 === currPlayerDownsync$4.CharacterState)) { thatPlayerInNextFrame$3.CharacterState = 5; } else { thatPlayerInNextFrame$3.CharacterState = 4; } - } else if (_2 === (2)) { + } else if (_1 === (2)) { thatPlayerInNextFrame$3.CharacterState = 6; - } else if (_2 === (3)) { + } else if (_1 === (3)) { thatPlayerInNextFrame$3.CharacterState = 7; } } if (!((thatPlayerInNextFrame$3.CharacterState === currPlayerDownsync$4.CharacterState))) { thatPlayerInNextFrame$3.FramesInChState = 0; } - _tuple$9 = (_entry$6 = nonAttackingSet[$Int32.keyFor(thatPlayerInNextFrame$3.CharacterState)], _entry$6 !== undefined ? [_entry$6.v, true] : [false, false]); + _tuple$9 = (_entry$5 = nonAttackingSet[$Int32.keyFor(thatPlayerInNextFrame$3.CharacterState)], _entry$5 !== undefined ? [_entry$5.v, true] : [false, false]); existent$2 = _tuple$9[1]; if (existent$2) { thatPlayerInNextFrame$3.ActiveSkillId = -1; @@ -5859,7 +5842,7 @@ $packages["jsexport/battle"] = (function() { _i$9++; } $s = -1; return new RoomDownsyncFrame.ptr(currRenderFrame.Id + 1 >> 0, nextRenderFramePlayers, new $Int64(0, 0), nextRenderFrameMeleeBullets, sliceType$11.nil, new $Uint64(0, 0), false, false); - /* */ } return; } var $f = {$blk: ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame, $c: true, $r, _1, _2, _entry, _entry$1, _entry$2, _entry$3, _entry$4, _entry$5, _entry$6, _i, _i$1, _i$2, _i$3, _i$4, _i$5, _i$6, _i$7, _i$8, _i$9, _index, _index$1, _r, _r$1, _r$2, _r$3, _ref, _ref$1, _ref$10, _ref$11, _ref$12, _ref$13, _ref$2, _ref$3, _ref$4, _ref$5, _ref$6, _ref$7, _ref$8, _ref$9, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, atkedPlayerInNextFrame, bShape, bulletCollider, bulletColliders, bulletShape, bulletWx, bulletWy, chConfig, chConfig$1, chConfig$2, chConfigsOrderedByJoinIndex, collision, collision$1, collisionPlayerIndex, collisionPlayerIndex$1, collisionPlayerIndex$2, collisionSpaceOffsetX, collisionSpaceOffsetY, collisionSys, collisionSysMap, currPlayerDownsync, currPlayerDownsync$1, currPlayerDownsync$2, currPlayerDownsync$3, currPlayerDownsync$4, currRenderFrame, defenderShape, effDx, effDy, effPushbacks, existent, existent$1, existent$2, hardPushbackNorm, hardPushbackNorms, hitboxSizeWx, hitboxSizeWy, i, i$1, i$2, i$3, i$4, inputsBuffer, isAnotherPlayer, isBarrier, isBullet, joinIndex, joinIndex$1, joinIndex$2, joinIndex$3, jumpedOrNot, jumpedOrNotList, landedOnGravityPushback, meleeBullet, newBullet, newBulletCollider, newVx, newVy, nextRenderFrameMeleeBullets, nextRenderFramePlayers, normAlignmentWithGravity, obj, obj$1, offender, offender$1, oldFramesToRecover, oldNextCharacterState, overlapResult, overlapped, overlapped$1, patternId, playerCollider, playerCollider$1, playerCollider$2, playerShape, projectedMagnitude, pushbackVelX, pushbackVelY, pushbackX, pushbackY, roomCapacity, skillConfig, skillId, t, t$1, thatPlayerInNextFrame, thatPlayerInNextFrame$1, thatPlayerInNextFrame$2, thatPlayerInNextFrame$3, v, v$1, x, x$1, x$10, x$11, x$12, x$13, x$14, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, xfac, xfac$1, $s};return $f; + /* */ } return; } var $f = {$blk: ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame, $c: true, $r, _1, _entry, _entry$1, _entry$2, _entry$3, _entry$4, _entry$5, _i, _i$1, _i$2, _i$3, _i$4, _i$5, _i$6, _i$7, _i$8, _i$9, _index, _index$1, _r, _r$1, _r$2, _r$3, _r$4, _ref, _ref$1, _ref$10, _ref$11, _ref$12, _ref$13, _ref$2, _ref$3, _ref$4, _ref$5, _ref$6, _ref$7, _ref$8, _ref$9, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, atkedPlayerInNextFrame, bShape, bulletCollider, bulletColliders, bulletShape, bulletWx, bulletWy, chConfig, chConfig$1, chConfig$2, chConfigsOrderedByJoinIndex, collision, collision$1, collisionPlayerIndex, collisionPlayerIndex$1, collisionPlayerIndex$2, collisionSpaceOffsetX, collisionSpaceOffsetY, collisionSys, collisionSysMap, currPlayerDownsync, currPlayerDownsync$1, currPlayerDownsync$2, currPlayerDownsync$3, currPlayerDownsync$4, currRenderFrame, defenderShape, effDx, effDy, effPushbacks, existent, existent$1, existent$2, hardPushbackNorm, hardPushbackNorms, hitboxSizeWx, hitboxSizeWy, i, i$1, i$2, i$3, i$4, inputsBuffer, isAnotherPlayer, isBarrier, isBullet, joinIndex, joinIndex$1, joinIndex$2, joinIndex$3, jumpedOrNot, jumpedOrNotList, landedOnGravityPushback, meleeBullet, newBullet, newBulletCollider, newVx, newVy, nextRenderFrameMeleeBullets, nextRenderFramePlayers, normAlignmentWithGravity, obj, obj$1, offender, offender$1, oldFramesToRecover, oldNextCharacterState, overlapResult, overlapped, overlapped$1, patternId, playerCollider, playerCollider$1, playerCollider$2, playerShape, projectedMagnitude, pushbackVelX, pushbackVelY, pushbackX, pushbackY, roomCapacity, skillConfig, skillId, t, t$1, thatPlayerInNextFrame, thatPlayerInNextFrame$1, thatPlayerInNextFrame$2, thatPlayerInNextFrame$3, v, v$1, x, x$1, x$10, x$11, x$12, x$13, x$14, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, xfac, xfac$1, $s};return $f; }; $pkg.ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame = ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame; GenerateRectCollider = function(wx, wy, w, h, topPadding, bottomPadding, leftPadding, rightPadding, spaceOffsetX, spaceOffsetY, data, tag) { @@ -5968,23 +5951,84 @@ $packages["jsexport/battle"] = (function() { PlayerDownsync.init("", [{prop: "Id", name: "Id", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "VirtualGridX", name: "VirtualGridX", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "VirtualGridY", name: "VirtualGridY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "DirX", name: "DirX", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "DirY", name: "DirY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "VelX", name: "VelX", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "VelY", name: "VelY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "Speed", name: "Speed", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "BattleState", name: "BattleState", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "JoinIndex", name: "JoinIndex", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "ColliderRadius", name: "ColliderRadius", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "Removed", name: "Removed", embedded: false, exported: true, typ: $Bool, tag: ""}, {prop: "Score", name: "Score", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "LastMoveGmtMillis", name: "LastMoveGmtMillis", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "FramesToRecover", name: "FramesToRecover", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "FramesInChState", name: "FramesInChState", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "Hp", name: "Hp", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "MaxHp", name: "MaxHp", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "CharacterState", name: "CharacterState", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "InAir", name: "InAir", embedded: false, exported: true, typ: $Bool, tag: ""}, {prop: "ActiveSkillId", name: "ActiveSkillId", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "ActiveSkillHit", name: "ActiveSkillHit", embedded: false, exported: true, typ: $Int32, tag: ""}]); InputFrameDecoded.init("", [{prop: "Dx", name: "Dx", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "Dy", name: "Dy", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "BtnALevel", name: "BtnALevel", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "BtnBLevel", name: "BtnBLevel", embedded: false, exported: true, typ: $Int32, tag: ""}]); Barrier.init("", [{prop: "Boundary", name: "Boundary", embedded: false, exported: true, typ: ptrType$11, tag: ""}]); - Bullet.init("", [{prop: "OriginatedRenderFrameId", name: "OriginatedRenderFrameId", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "OffenderJoinIndex", name: "OffenderJoinIndex", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "StartupFrames", name: "StartupFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "CancellableStFrame", name: "CancellableStFrame", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "CancellableEdFrame", name: "CancellableEdFrame", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "ActiveFrames", name: "ActiveFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "HitStunFrames", name: "HitStunFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "BlockStunFrames", name: "BlockStunFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "PushbackVelX", name: "PushbackVelX", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "PushbackVelY", name: "PushbackVelY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "Damage", name: "Damage", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "SelfLockVelX", name: "SelfLockVelX", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "SelfLockVelY", name: "SelfLockVelY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "HitboxOffsetX", name: "HitboxOffsetX", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "HitboxOffsetY", name: "HitboxOffsetY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "HitboxSizeX", name: "HitboxSizeX", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "HitboxSizeY", name: "HitboxSizeY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "BlowUp", name: "BlowUp", embedded: false, exported: true, typ: $Bool, tag: ""}]); + Bullet.init("", [{prop: "OriginatedRenderFrameId", name: "OriginatedRenderFrameId", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "OffenderJoinIndex", name: "OffenderJoinIndex", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "StartupFrames", name: "StartupFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "CancellableStFrame", name: "CancellableStFrame", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "CancellableEdFrame", name: "CancellableEdFrame", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "ActiveFrames", name: "ActiveFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "HitStunFrames", name: "HitStunFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "BlockStunFrames", name: "BlockStunFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "PushbackVelX", name: "PushbackVelX", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "PushbackVelY", name: "PushbackVelY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "Damage", name: "Damage", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "SelfLockVelX", name: "SelfLockVelX", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "SelfLockVelY", name: "SelfLockVelY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "HitboxOffsetX", name: "HitboxOffsetX", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "HitboxOffsetY", name: "HitboxOffsetY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "HitboxSizeX", name: "HitboxSizeX", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "HitboxSizeY", name: "HitboxSizeY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "BlowUp", name: "BlowUp", embedded: false, exported: true, typ: $Bool, tag: ""}, {prop: "CancelTransit", name: "CancelTransit", embedded: false, exported: true, typ: mapType, tag: ""}]); MeleeBullet.init("", [{prop: "Bullet", name: "Bullet", embedded: true, exported: true, typ: Bullet, tag: ""}]); FireballBullet.init("", [{prop: "VirtualGridX", name: "VirtualGridX", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "VirtualGridY", name: "VirtualGridY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "DirX", name: "DirX", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "DirY", name: "DirY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "VelX", name: "VelX", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "VelY", name: "VelY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "Speed", name: "Speed", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "Bullet", name: "Bullet", embedded: true, exported: true, typ: Bullet, tag: ""}]); - Skill.init("", [{prop: "BattleLocalId", name: "BattleLocalId", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "RecoveryFrames", name: "RecoveryFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "RecoveryFramesOnBlock", name: "RecoveryFramesOnBlock", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "RecoveryFramesOnHit", name: "RecoveryFramesOnHit", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "ReleaseTriggerType", name: "ReleaseTriggerType", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "Hits", name: "Hits", embedded: false, exported: true, typ: sliceType, tag: ""}]); + Skill.init("", [{prop: "BattleLocalId", name: "BattleLocalId", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "RecoveryFrames", name: "RecoveryFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "RecoveryFramesOnBlock", name: "RecoveryFramesOnBlock", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "RecoveryFramesOnHit", name: "RecoveryFramesOnHit", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "ReleaseTriggerType", name: "ReleaseTriggerType", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "BoundChState", name: "BoundChState", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "Hits", name: "Hits", embedded: false, exported: true, typ: sliceType$2, tag: ""}]); RoomDownsyncFrame.init("", [{prop: "Id", name: "Id", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "PlayersArr", name: "PlayersArr", embedded: false, exported: true, typ: sliceType$6, tag: ""}, {prop: "CountdownNanos", name: "CountdownNanos", embedded: false, exported: true, typ: $Int64, tag: ""}, {prop: "MeleeBullets", name: "MeleeBullets", embedded: false, exported: true, typ: sliceType$7, tag: ""}, {prop: "FireballBullets", name: "FireballBullets", embedded: false, exported: true, typ: sliceType$11, tag: ""}, {prop: "BackendUnconfirmedMask", name: "BackendUnconfirmedMask", embedded: false, exported: true, typ: $Uint64, tag: ""}, {prop: "ShouldForceResync", name: "ShouldForceResync", embedded: false, exported: true, typ: $Bool, tag: ""}, {prop: "PlayerOpPatternToSkillId", name: "PlayerOpPatternToSkillId", embedded: false, exported: true, typ: mapType, tag: ""}]); InputFrameDownsync.init("", [{prop: "InputFrameId", name: "InputFrameId", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "InputList", name: "InputList", embedded: false, exported: true, typ: sliceType$5, tag: ""}, {prop: "ConfirmedList", name: "ConfirmedList", embedded: false, exported: true, typ: $Uint64, tag: ""}]); - RingBuffer.init("", [{prop: "Ed", name: "Ed", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "St", name: "St", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "EdFrameId", name: "EdFrameId", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "StFrameId", name: "StFrameId", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "N", name: "N", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "Cnt", name: "Cnt", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "Eles", name: "Eles", embedded: false, exported: true, typ: sliceType, tag: ""}]); - CharacterConfig.init("", [{prop: "SpeciesId", name: "SpeciesId", embedded: false, exported: true, typ: $Int, tag: ""}, {prop: "SpeciesName", name: "SpeciesName", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "InAirIdleFrameIdxTurningPoint", name: "InAirIdleFrameIdxTurningPoint", embedded: false, exported: true, typ: $Int, tag: ""}, {prop: "InAirIdleFrameIdxTurnedCycle", name: "InAirIdleFrameIdxTurnedCycle", embedded: false, exported: true, typ: $Int, tag: ""}, {prop: "LayDownFrames", name: "LayDownFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "LayDownFramesToRecover", name: "LayDownFramesToRecover", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "GetUpFrames", name: "GetUpFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "GetUpFramesToRecover", name: "GetUpFramesToRecover", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "JumpingInitVelY", name: "JumpingInitVelY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "PatternIdToSkillId", name: "PatternIdToSkillId", embedded: false, exported: true, typ: mapType, tag: ""}]); + RingBuffer.init("", [{prop: "Ed", name: "Ed", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "St", name: "St", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "EdFrameId", name: "EdFrameId", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "StFrameId", name: "StFrameId", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "N", name: "N", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "Cnt", name: "Cnt", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "Eles", name: "Eles", embedded: false, exported: true, typ: sliceType$2, tag: ""}]); + SkillMapperType.init([$Int, ptrType$5], [$Int], false); + CharacterConfig.init("", [{prop: "SpeciesId", name: "SpeciesId", embedded: false, exported: true, typ: $Int, tag: ""}, {prop: "SpeciesName", name: "SpeciesName", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "InAirIdleFrameIdxTurningPoint", name: "InAirIdleFrameIdxTurningPoint", embedded: false, exported: true, typ: $Int, tag: ""}, {prop: "InAirIdleFrameIdxTurnedCycle", name: "InAirIdleFrameIdxTurnedCycle", embedded: false, exported: true, typ: $Int, tag: ""}, {prop: "LayDownFrames", name: "LayDownFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "LayDownFramesToRecover", name: "LayDownFramesToRecover", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "GetUpFrames", name: "GetUpFrames", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "GetUpFramesToRecover", name: "GetUpFramesToRecover", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "JumpingInitVelY", name: "JumpingInitVelY", embedded: false, exported: true, typ: $Int32, tag: ""}, {prop: "SkillMapper", name: "SkillMapper", embedded: false, exported: true, typ: SkillMapperType, tag: ""}]); SatResult.init("", [{prop: "Overlap", name: "Overlap", embedded: false, exported: true, typ: $Float64, tag: ""}, {prop: "OverlapX", name: "OverlapX", embedded: false, exported: true, typ: $Float64, tag: ""}, {prop: "OverlapY", name: "OverlapY", embedded: false, exported: true, typ: $Float64, tag: ""}, {prop: "AContainedInB", name: "AContainedInB", embedded: false, exported: true, typ: $Bool, tag: ""}, {prop: "BContainedInA", name: "BContainedInA", embedded: false, exported: true, typ: $Bool, tag: ""}, {prop: "Axis", name: "Axis", embedded: false, exported: true, typ: resolv.Vector, tag: ""}]); $init = function() { $pkg.$init = function() {}; /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: $r = math.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } $r = resolv.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $pkg.Characters = $makeMap($Int.keyFor, [{ k: 0, v: new CharacterConfig.ptr(0, "MonkGirl", 11, 1, 16, 16, 33, 30, 800, $makeMap($Int.keyFor, [{ k: 1, v: 1 }, { k: 2, v: 2 }, { k: 3, v: 3 }, { k: 255, v: 255 }])) }]); - skills = $makeMap($Int.keyFor, [{ k: 1, v: new Skill.ptr(0, 20, 20, 20, 1, new sliceType([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 5, 8, 20, 10, 13, 9, 50, 0, 5, 0, 0, 1200, 0, 2400, 3200, false))])) }, { k: 2, v: new Skill.ptr(0, 36, 36, 36, 1, new sliceType([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 3, 18, 36, 20, 18, 9, 50, 0, 5, 0, 0, 1800, 0, 2400, 3200, false))])) }, { k: 3, v: new Skill.ptr(0, 60, 60, 60, 1, new sliceType([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 1, 0, 0, 30, 999999999, 9, 100, 400, 10, 0, 0, 2400, 0, 3200, 3200, true))])) }, { k: 255, v: new Skill.ptr(0, 34, 34, 34, 1, new sliceType([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 3, 0, 0, 20, 18, 9, 50, 0, 5, 0, 0, 1200, 0, 3200, 2400, false))])) }]); - $pkg.DIRECTION_DECODER = new sliceType$2([new sliceType$1([0, 0]), new sliceType$1([0, 2]), new sliceType$1([0, -2]), new sliceType$1([2, 0]), new sliceType$1([-2, 0]), new sliceType$1([1, 1]), new sliceType$1([-1, -1]), new sliceType$1([1, -1]), new sliceType$1([-1, 1])]); + $pkg.DIRECTION_DECODER = new sliceType$1([new sliceType([0, 0]), new sliceType([0, 2]), new sliceType([0, -2]), new sliceType([2, 0]), new sliceType([-2, 0]), new sliceType([1, 1]), new sliceType([-1, -1]), new sliceType([1, -1]), new sliceType([-1, 1])]); + skills = $makeMap($Int.keyFor, [{ k: 1, v: new Skill.ptr(0, 30, 30, 30, 1, 2, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 7, 13, 30, 22, 13, 9, 50, 0, 5, 0, 0, 1200, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 2 }])))])) }, { k: 2, v: new Skill.ptr(0, 36, 36, 36, 1, 11, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 18, 22, 36, 18, 18, 9, 50, 0, 5, 0, 0, 1800, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 3 }])))])) }, { k: 3, v: new Skill.ptr(0, 60, 60, 60, 1, 12, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 15, 0, 0, 40, 999999999, 9, 200, 700, 10, 0, 0, 2400, 0, 3200, 3200, true, false))])) }, { k: 4, v: new Skill.ptr(0, 30, 30, 30, 1, 2, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 7, 13, 30, 22, 13, 9, 50, 0, 5, 0, 0, 1200, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 5 }])))])) }, { k: 5, v: new Skill.ptr(0, 36, 36, 36, 1, 11, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 18, 22, 36, 18, 18, 9, 50, 0, 5, 0, 0, 1800, 0, 2400, 3200, false, $makeMap($Int.keyFor, [{ k: 1, v: 6 }])))])) }, { k: 6, v: new Skill.ptr(0, 60, 60, 60, 1, 12, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 15, 0, 0, 40, 999999999, 9, 200, 700, 10, 0, 0, 2400, 0, 3200, 3200, true, false))])) }, { k: 255, v: new Skill.ptr(0, 34, 34, 34, 1, 6, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 3, 0, 0, 20, 18, 9, 50, 0, 5, 0, 0, 1200, 0, 3200, 2400, false, false))])) }, { k: 256, v: new Skill.ptr(0, 34, 34, 34, 1, 6, new sliceType$2([new MeleeBullet.ptr(new Bullet.ptr(0, 0, 3, 0, 0, 20, 18, 9, 50, 0, 5, 0, 0, 1200, 0, 3200, 2400, false, false))])) }]); + $pkg.Characters = $makeMap($Int.keyFor, [{ k: 0, v: new CharacterConfig.ptr(0, "MonkGirl", 11, 1, 16, 16, 33, 30, 800, (function(patternId, currPlayerDownsync) { + var _entry, _entry$1, _ref, _tuple, _tuple$1, currPlayerDownsync, existent1, existent2, nextSkillId, patternId, skillConfig, v, x, x$1; + if (1 === patternId) { + if (0 === currPlayerDownsync.FramesToRecover) { + if (currPlayerDownsync.InAir) { + return 255; + } else { + return 1; + } + } else { + _tuple = (_entry = skills[$Int.keyFor(((currPlayerDownsync.ActiveSkillId >> 0)))], _entry !== undefined ? [_entry.v, true] : [ptrType.nil, false]); + skillConfig = _tuple[0]; + existent1 = _tuple[1]; + if (existent1) { + _ref = (x = skillConfig.Hits, x$1 = currPlayerDownsync.ActiveSkillHit, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + x$1])); + if ($assertType(_ref, ptrType$1, true)[1]) { + v = _ref.$val; + if (v.Bullet.CancellableStFrame <= currPlayerDownsync.FramesInChState && currPlayerDownsync.FramesInChState < v.Bullet.CancellableEdFrame) { + _tuple$1 = (_entry$1 = v.Bullet.CancelTransit[$Int.keyFor(patternId)], _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]); + nextSkillId = _tuple$1[0]; + existent2 = _tuple$1[1]; + if (existent2) { + return nextSkillId; + } + } + } + } + } + } + return -1; + })) }, { k: 1, v: new CharacterConfig.ptr(1, "KnifeGirl", 9, 1, 16, 16, 30, 27, 750, (function(patternId, currPlayerDownsync) { + var _entry, _entry$1, _ref, _tuple, _tuple$1, currPlayerDownsync, existent1, existent2, nextSkillId, patternId, skillConfig, v, x, x$1; + if (1 === patternId) { + if (0 === currPlayerDownsync.FramesToRecover) { + if (currPlayerDownsync.InAir) { + return 256; + } else { + return 4; + } + } else { + _tuple = (_entry = skills[$Int.keyFor(((currPlayerDownsync.ActiveSkillId >> 0)))], _entry !== undefined ? [_entry.v, true] : [ptrType.nil, false]); + skillConfig = _tuple[0]; + existent1 = _tuple[1]; + if (existent1) { + _ref = (x = skillConfig.Hits, x$1 = currPlayerDownsync.ActiveSkillHit, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + x$1])); + if ($assertType(_ref, ptrType$1, true)[1]) { + v = _ref.$val; + if (v.Bullet.CancellableStFrame <= currPlayerDownsync.FramesInChState && currPlayerDownsync.FramesInChState < v.Bullet.CancellableEdFrame) { + _tuple$1 = (_entry$1 = v.Bullet.CancelTransit[$Int.keyFor(patternId)], _entry$1 !== undefined ? [_entry$1.v, true] : [0, false]); + nextSkillId = _tuple$1[0]; + existent2 = _tuple$1[1]; + if (existent2) { + return nextSkillId; + } + } + } + } + } + } + return -1; + })) }]); inAirSet = $makeMap($Int32.keyFor, [{ k: 4, v: true }, { k: 5, v: true }, { k: 6, v: true }, { k: 7, v: true }, { k: 8, v: true }]); noOpSet = $makeMap($Int32.keyFor, [{ k: 3, v: true }, { k: 7, v: true }, { k: 8, v: true }, { k: 9, v: true }]); invinsibleSet = $makeMap($Int32.keyFor, [{ k: 8, v: true }, { k: 9, v: true }, { k: 10, v: true }]); @@ -6090,7 +6134,7 @@ $packages["jsexport"] = (function() { $pkg.NewPlayerDownsyncJs = NewPlayerDownsyncJs; NewMeleeBulletJs = function(originatedRenderFrameId, offenderJoinIndex, startupFrames, cancellableStFrame, cancellableEdFrame, activeFrames, hitStunFrames, blockStunFrames, pushbackVelX, pushbackVelY, damage, selfLockVelX, selfLockVelY, hitboxOffsetX, hitboxOffsetY, hitboxSizeX, hitboxSizeY, blowUp) { var activeFrames, blockStunFrames, blowUp, cancellableEdFrame, cancellableStFrame, damage, hitStunFrames, hitboxOffsetX, hitboxOffsetY, hitboxSizeX, hitboxSizeY, offenderJoinIndex, originatedRenderFrameId, pushbackVelX, pushbackVelY, selfLockVelX, selfLockVelY, startupFrames; - return js.MakeWrapper(new battle.MeleeBullet.ptr(new battle.Bullet.ptr(originatedRenderFrameId, offenderJoinIndex, startupFrames, cancellableStFrame, cancellableEdFrame, activeFrames, hitStunFrames, blockStunFrames, pushbackVelX, pushbackVelY, damage, selfLockVelX, selfLockVelY, hitboxOffsetX, hitboxOffsetY, hitboxSizeX, hitboxSizeY, blowUp))); + return js.MakeWrapper(new battle.MeleeBullet.ptr(new battle.Bullet.ptr(originatedRenderFrameId, offenderJoinIndex, startupFrames, cancellableStFrame, cancellableEdFrame, activeFrames, hitStunFrames, blockStunFrames, pushbackVelX, pushbackVelY, damage, selfLockVelX, selfLockVelY, hitboxOffsetX, hitboxOffsetY, hitboxSizeX, hitboxSizeY, blowUp, false))); }; $pkg.NewMeleeBulletJs = NewMeleeBulletJs; NewRoomDownsyncFrameJs = function(id, playersArr, meleeBullets) { diff --git a/frontend/assets/resources/animation/KnifeGirl.meta b/frontend/assets/resources/animation/KnifeGirl.meta new file mode 100644 index 0000000..6988f8b --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl.meta @@ -0,0 +1,7 @@ +{ + "ver": "1.0.1", + "uuid": "15043c55-01a9-408c-b985-910c5de144c7", + "isSubpackage": false, + "subpackageName": "", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/Atk1.anim b/frontend/assets/resources/animation/KnifeGirl/Atk1.anim new file mode 100644 index 0000000..87bd8ec --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/Atk1.anim @@ -0,0 +1,91 @@ +{ + "__type__": "cc.AnimationClip", + "_name": "Atk1", + "_objFlags": 0, + "_native": "", + "_duration": 0.6, + "sample": 60, + "speed": 1, + "wrapMode": 1, + "curveData": { + "comps": { + "cc.Sprite": { + "spriteFrame": [ + { + "frame": 0, + "value": { + "__uuid__": "6b2a1a09-8236-4972-8aee-1781b6547d4e" + } + }, + { + "frame": 0.06666666666666667, + "value": { + "__uuid__": "5b269b2e-0800-4bf5-b5db-055b78cf318d" + } + }, + { + "frame": 0.11666666666666667, + "value": { + "__uuid__": "e184f831-3f90-47cb-8ca5-ad9446ba0398" + } + }, + { + "frame": 0.18333333333333332, + "value": { + "__uuid__": "f260f82b-10cf-49af-b46c-cd8dc7a3503f" + } + }, + { + "frame": 0.23333333333333334, + "value": { + "__uuid__": "09f43e75-0986-4b8f-907b-e5a5a73b7c54" + } + }, + { + "frame": 0.2833333333333333, + "value": { + "__uuid__": "d7432402-fcbd-4e2e-b2c1-33364f31948b" + } + }, + { + "frame": 0.3333333333333333, + "value": { + "__uuid__": "8acf1c5a-6910-47d6-aa18-1e6f07546d7a" + } + }, + { + "frame": 0.38333333333333336, + "value": { + "__uuid__": "76120dbd-6390-4706-9580-dcec9687e83e" + } + }, + { + "frame": 0.43333333333333335, + "value": { + "__uuid__": "f9a7a04a-2369-4946-8313-c2da896da51e" + } + }, + { + "frame": 0.48333333333333334, + "value": { + "__uuid__": "c8fb14e2-745e-4a2b-b235-d43195052652" + } + }, + { + "frame": 0.5333333333333333, + "value": { + "__uuid__": "1f23e0e5-830c-4d07-8f80-cbb98a2a1954" + } + }, + { + "frame": 0.5833333333333334, + "value": { + "__uuid__": "4c512398-4290-4fdf-bb21-2b0062a9071b" + } + } + ] + } + } + }, + "events": [] +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/Atk1.anim.meta b/frontend/assets/resources/animation/KnifeGirl/Atk1.anim.meta new file mode 100644 index 0000000..1848098 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/Atk1.anim.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.1.0", + "uuid": "829b17c6-9365-4e97-b14f-fa266bd5ecbe", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/Atk2.anim b/frontend/assets/resources/animation/KnifeGirl/Atk2.anim new file mode 100644 index 0000000..a73ecfe --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/Atk2.anim @@ -0,0 +1,91 @@ +{ + "__type__": "cc.AnimationClip", + "_name": "Atk2", + "_objFlags": 0, + "_native": "", + "_duration": 1.0166666666666666, + "sample": 60, + "speed": 1, + "wrapMode": 1, + "curveData": { + "comps": { + "cc.Sprite": { + "spriteFrame": [ + { + "frame": 0, + "value": { + "__uuid__": "60f9f7d4-5cf7-4098-9455-0f6a74963fc6" + } + }, + { + "frame": 0.06666666666666667, + "value": { + "__uuid__": "dd9a00aa-ddbc-4b01-a7cb-3c43c3a655b6" + } + }, + { + "frame": 0.11666666666666667, + "value": { + "__uuid__": "f66e83bd-1afc-4957-bb16-488d70566ed1" + } + }, + { + "frame": 0.16666666666666666, + "value": { + "__uuid__": "bd682c41-dc62-49ff-a96a-18b33e50a6de" + } + }, + { + "frame": 0.23333333333333334, + "value": { + "__uuid__": "94ccab85-e32f-4e13-b0e5-72c798f78ad1" + } + }, + { + "frame": 0.3, + "value": { + "__uuid__": "e80d3a01-5048-42b7-a280-cb6aa01602c2" + } + }, + { + "frame": 0.36666666666666664, + "value": { + "__uuid__": "d899088c-be62-47b4-9ebf-0a89a2261565" + } + }, + { + "frame": 0.4166666666666667, + "value": { + "__uuid__": "5b1e5aa7-fd82-47ae-a5b2-6d4983d848ed" + } + }, + { + "frame": 0.48333333333333334, + "value": { + "__uuid__": "c2945988-b4bb-4583-a5ef-2fa02b23a347" + } + }, + { + "frame": 0.5666666666666667, + "value": { + "__uuid__": "070ea1e3-9c07-4735-8b94-515ef70216ad" + } + }, + { + "frame": 0.6666666666666666, + "value": { + "__uuid__": "3b8bc5c0-26df-4218-b7dc-134a36080a35" + } + }, + { + "frame": 1, + "value": { + "__uuid__": "3898259f-a3b0-490d-b260-f86ab5109dfe" + } + } + ] + } + } + }, + "events": [] +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/Atk2.anim.meta b/frontend/assets/resources/animation/KnifeGirl/Atk2.anim.meta new file mode 100644 index 0000000..ddd24ea --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/Atk2.anim.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.1.0", + "uuid": "52b8e47d-715c-4c12-a2c9-6f553e14dc42", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/Atk3.anim b/frontend/assets/resources/animation/KnifeGirl/Atk3.anim new file mode 100644 index 0000000..b6c9190 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/Atk3.anim @@ -0,0 +1,97 @@ +{ + "__type__": "cc.AnimationClip", + "_name": "Atk3", + "_objFlags": 0, + "_native": "", + "_duration": 1.0333333333333334, + "sample": 60, + "speed": 1, + "wrapMode": 1, + "curveData": { + "comps": { + "cc.Sprite": { + "spriteFrame": [ + { + "frame": 0, + "value": { + "__uuid__": "98276733-6f8d-4cac-8a7e-31883834c240" + } + }, + { + "frame": 0.06666666666666667, + "value": { + "__uuid__": "51ab185b-2271-48b5-a897-af79721d566c" + } + }, + { + "frame": 0.15, + "value": { + "__uuid__": "c29fd95d-7467-4138-9e01-6421af63dd68" + } + }, + { + "frame": 0.21666666666666667, + "value": { + "__uuid__": "3285b5eb-c6be-4cb9-ac60-c506645fee4b" + } + }, + { + "frame": 0.3, + "value": { + "__uuid__": "13fd4a87-71f4-4b69-a5b3-413d564c35e6" + } + }, + { + "frame": 0.38333333333333336, + "value": { + "__uuid__": "7189e229-00d6-427a-8ea1-d05fbd97824f" + } + }, + { + "frame": 0.4666666666666667, + "value": { + "__uuid__": "d9ccfe33-3db7-4b3a-807c-adb2121fb7c7" + } + }, + { + "frame": 0.55, + "value": { + "__uuid__": "a51cbc29-0826-46f7-a38b-8b0f996fbace" + } + }, + { + "frame": 0.65, + "value": { + "__uuid__": "7e9f3a24-6abc-4b49-a5c5-a0c100865ffc" + } + }, + { + "frame": 0.7333333333333333, + "value": { + "__uuid__": "ecbaeb43-1118-483a-91c9-ff1ff01b7b33" + } + }, + { + "frame": 0.8166666666666667, + "value": { + "__uuid__": "58afa365-a916-4ec6-aab3-1c87f5332b12" + } + }, + { + "frame": 0.9166666666666666, + "value": { + "__uuid__": "7ada26fa-c72d-46f6-9b3a-ae9d7ba5eaf4" + } + }, + { + "frame": 1.0166666666666666, + "value": { + "__uuid__": "ee5e4a85-6dda-4d1e-a469-5be1db6a8913" + } + } + ] + } + } + }, + "events": [] +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/Atk3.anim.meta b/frontend/assets/resources/animation/KnifeGirl/Atk3.anim.meta new file mode 100644 index 0000000..411a75a --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/Atk3.anim.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.1.0", + "uuid": "9b500cb0-8048-4715-81db-cc975c914225", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/Atked1.anim b/frontend/assets/resources/animation/KnifeGirl/Atked1.anim new file mode 100644 index 0000000..61a94da --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/Atked1.anim @@ -0,0 +1,43 @@ +{ + "__type__": "cc.AnimationClip", + "_name": "Atked1", + "_objFlags": 0, + "_native": "", + "_duration": 0.26666666666666666, + "sample": 60, + "speed": 1, + "wrapMode": 1, + "curveData": { + "comps": { + "cc.Sprite": { + "spriteFrame": [ + { + "frame": 0, + "value": { + "__uuid__": "9b90ae89-7fbe-4bb6-ab15-fc08462f54c5" + } + }, + { + "frame": 0.1, + "value": { + "__uuid__": "aeb3553a-6de4-4197-9f06-d7cc3fa7c4cf" + } + }, + { + "frame": 0.16666666666666666, + "value": { + "__uuid__": "07650461-a7c0-4638-92fc-fa436752c045" + } + }, + { + "frame": 0.25, + "value": { + "__uuid__": "ca22d473-83aa-4146-b732-89d0246a2968" + } + } + ] + } + } + }, + "events": [] +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/Atked1.anim.meta b/frontend/assets/resources/animation/KnifeGirl/Atked1.anim.meta new file mode 100644 index 0000000..3cf3078 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/Atked1.anim.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.1.0", + "uuid": "2a50c853-000b-46f3-ae59-1dfb793de814", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/BlownUp1.anim b/frontend/assets/resources/animation/KnifeGirl/BlownUp1.anim new file mode 100644 index 0000000..186d692 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/BlownUp1.anim @@ -0,0 +1,43 @@ +{ + "__type__": "cc.AnimationClip", + "_name": "BlownUp1", + "_objFlags": 0, + "_native": "", + "_duration": 0.45, + "sample": 60, + "speed": 1, + "wrapMode": 2, + "curveData": { + "comps": { + "cc.Sprite": { + "spriteFrame": [ + { + "frame": 0, + "value": { + "__uuid__": "8e2e03e0-7e2f-4bbb-b039-e232ef586232" + } + }, + { + "frame": 0.15, + "value": { + "__uuid__": "0ea84f61-4a2f-4ca2-a0b8-b580e027c142" + } + }, + { + "frame": 0.3, + "value": { + "__uuid__": "a3a31fcd-a162-456a-9c26-1f32413f87f3" + } + }, + { + "frame": 0.43333333333333335, + "value": { + "__uuid__": "da4ee0a0-ba66-455c-99d3-9c803a3d0f17" + } + } + ] + } + } + }, + "events": [] +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/BlownUp1.anim.meta b/frontend/assets/resources/animation/KnifeGirl/BlownUp1.anim.meta new file mode 100644 index 0000000..42d5cde --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/BlownUp1.anim.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.1.0", + "uuid": "0892a3ea-9da1-4157-825b-0c8ef1c73eeb", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/GetUp1.anim b/frontend/assets/resources/animation/KnifeGirl/GetUp1.anim new file mode 100644 index 0000000..3d7ca5f --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/GetUp1.anim @@ -0,0 +1,49 @@ +{ + "__type__": "cc.AnimationClip", + "_name": "GetUp1", + "_objFlags": 0, + "_native": "", + "_duration": 0.5166666666666667, + "sample": 60, + "speed": 1, + "wrapMode": 1, + "curveData": { + "comps": { + "cc.Sprite": { + "spriteFrame": [ + { + "frame": 0, + "value": { + "__uuid__": "57640cd8-17eb-4279-a118-1ea40174da3c" + } + }, + { + "frame": 0.15, + "value": { + "__uuid__": "d08a4f50-8707-4da2-8b12-83d1bf4fa2ca" + } + }, + { + "frame": 0.3, + "value": { + "__uuid__": "3f26b0a4-db13-4a14-b885-5a812073eccf" + } + }, + { + "frame": 0.4, + "value": { + "__uuid__": "23eb42d6-52a2-458d-98a3-2f692dd79398" + } + }, + { + "frame": 0.5, + "value": { + "__uuid__": "7bd4428c-44f9-4ff8-8d00-d3448a27a0c4" + } + } + ] + } + } + }, + "events": [] +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/GetUp1.anim.meta b/frontend/assets/resources/animation/KnifeGirl/GetUp1.anim.meta new file mode 100644 index 0000000..55c64ca --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/GetUp1.anim.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.1.0", + "uuid": "7d69868f-d474-4d86-a262-01f1cdd49021", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/Idle1.anim b/frontend/assets/resources/animation/KnifeGirl/Idle1.anim new file mode 100644 index 0000000..24396b6 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/Idle1.anim @@ -0,0 +1,85 @@ +{ + "__type__": "cc.AnimationClip", + "_name": "Idle1", + "_objFlags": 0, + "_native": "", + "_duration": 2.0166666666666666, + "sample": 60, + "speed": 1, + "wrapMode": 2, + "curveData": { + "comps": { + "cc.Sprite": { + "spriteFrame": [ + { + "frame": 0, + "value": { + "__uuid__": "9ecbf97e-34bc-4c5e-b9e8-4d885a02e0d3" + } + }, + { + "frame": 0.21666666666666667, + "value": { + "__uuid__": "92852885-b66d-42fe-a8e0-153e6c494bd2" + } + }, + { + "frame": 0.4166666666666667, + "value": { + "__uuid__": "b0f1ecf7-be41-46a8-bccb-92ee53b4ef88" + } + }, + { + "frame": 0.6166666666666667, + "value": { + "__uuid__": "944adaee-5e11-4c55-9573-1d529f21ed4b" + } + }, + { + "frame": 0.8, + "value": { + "__uuid__": "ede36130-8312-46a2-abe5-ba102bc97822" + } + }, + { + "frame": 1.0166666666666666, + "value": { + "__uuid__": "32dbb977-301c-4fbd-a19c-14a5ce0e2f5b" + } + }, + { + "frame": 1.2, + "value": { + "__uuid__": "581c7ab1-451d-46b0-9eeb-24cf3b898924" + } + }, + { + "frame": 1.4, + "value": { + "__uuid__": "27005132-eda8-4c3f-9f4a-3a6004245e9f" + } + }, + { + "frame": 1.5833333333333333, + "value": { + "__uuid__": "2b339657-aa80-4ab6-a4dd-83e9c12b6a54" + } + }, + { + "frame": 1.7833333333333334, + "value": { + "__uuid__": "08e25a99-158d-4159-8152-6c9047fe9d54" + } + }, + { + "frame": 2, + "value": { + "__uuid__": "ab739541-39b5-4758-9b93-6681d6038730" + } + } + ] + } + } + }, + "events": [] +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/Idle1.anim.meta b/frontend/assets/resources/animation/KnifeGirl/Idle1.anim.meta new file mode 100644 index 0000000..960a287 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/Idle1.anim.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.1.0", + "uuid": "5afe50e0-d03f-4d48-a7c0-a350c36e14d4", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/InAirAtk1.anim b/frontend/assets/resources/animation/KnifeGirl/InAirAtk1.anim new file mode 100644 index 0000000..06df660 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/InAirAtk1.anim @@ -0,0 +1,55 @@ +{ + "__type__": "cc.AnimationClip", + "_name": "InAirAtk1", + "_objFlags": 0, + "_native": "", + "_duration": 0.38333333333333336, + "sample": 60, + "speed": 1, + "wrapMode": 1, + "curveData": { + "comps": { + "cc.Sprite": { + "spriteFrame": [ + { + "frame": 0, + "value": { + "__uuid__": "e6a3099f-b4c3-425f-a66b-9b992ae1c7b0" + } + }, + { + "frame": 0.05, + "value": { + "__uuid__": "cade5a52-282e-47e5-aca9-5abb4f6afd14" + } + }, + { + "frame": 0.1, + "value": { + "__uuid__": "96b0b028-3045-4a04-bf9c-c957f8c9e9ab" + } + }, + { + "frame": 0.25, + "value": { + "__uuid__": "567f6bb7-c764-4c1d-bfec-f5c0c9812192" + } + }, + { + "frame": 0.31666666666666665, + "value": { + "__uuid__": "5d0c32b4-52ce-4157-9b91-dd400a7ed07a" + } + }, + { + "frame": 0.36666666666666664, + "value": { + "__uuid__": "fcef9c9b-dc71-459c-a541-9273b6e3923a" + } + } + ] + } + } + }, + "events": [] +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/InAirAtk1.anim.meta b/frontend/assets/resources/animation/KnifeGirl/InAirAtk1.anim.meta new file mode 100644 index 0000000..36c3312 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/InAirAtk1.anim.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.1.0", + "uuid": "0e7468cc-b90d-4f68-91ce-0be126b406dd", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/InAirAtked1.anim b/frontend/assets/resources/animation/KnifeGirl/InAirAtked1.anim new file mode 100644 index 0000000..907a389 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/InAirAtked1.anim @@ -0,0 +1,31 @@ +{ + "__type__": "cc.AnimationClip", + "_name": "InAirAtked1", + "_objFlags": 0, + "_native": "", + "_duration": 0.08333333333333333, + "sample": 60, + "speed": 1, + "wrapMode": 1, + "curveData": { + "comps": { + "cc.Sprite": { + "spriteFrame": [ + { + "frame": 0, + "value": { + "__uuid__": "01e8b938-03cb-4519-a417-384c31131a27" + } + }, + { + "frame": 0.06666666666666667, + "value": { + "__uuid__": "d7970a18-f3af-44c6-b216-ee55b9a1b32c" + } + } + ] + } + } + }, + "events": [] +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/InAirAtked1.anim.meta b/frontend/assets/resources/animation/KnifeGirl/InAirAtked1.anim.meta new file mode 100644 index 0000000..1937862 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/InAirAtked1.anim.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.1.0", + "uuid": "c86debde-118b-46b8-b483-f5ccec337315", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/InAirIdle1ByJump.anim b/frontend/assets/resources/animation/KnifeGirl/InAirIdle1ByJump.anim new file mode 100644 index 0000000..18f6225 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/InAirIdle1ByJump.anim @@ -0,0 +1,79 @@ +{ + "__type__": "cc.AnimationClip", + "_name": "InAirIdle1ByJump", + "_objFlags": 0, + "_native": "", + "_duration": 0.4666666666666667, + "sample": 60, + "speed": 1, + "wrapMode": 1, + "curveData": { + "comps": { + "cc.Sprite": { + "spriteFrame": [ + { + "frame": 0, + "value": { + "__uuid__": "6ff7b4e6-80ec-4673-b47b-e0bba7567c3c" + } + }, + { + "frame": 0.05, + "value": { + "__uuid__": "4ff35932-9869-4c78-9f75-b304eee46647" + } + }, + { + "frame": 0.1, + "value": { + "__uuid__": "6b1355c5-a750-4e37-9018-de1b84238f6c" + } + }, + { + "frame": 0.15, + "value": { + "__uuid__": "01193448-adb0-4364-94f3-ca810897f397" + } + }, + { + "frame": 0.2, + "value": { + "__uuid__": "f4f0cd5d-835b-44c3-8cc9-2651dd00cd37" + } + }, + { + "frame": 0.25, + "value": { + "__uuid__": "4c32b2d6-346f-4d6e-a92e-6678e4c4b1ad" + } + }, + { + "frame": 0.3, + "value": { + "__uuid__": "30ef09b2-366a-4946-b556-2c0fac359c0b" + } + }, + { + "frame": 0.35, + "value": { + "__uuid__": "6ab33993-124f-429e-ba4c-b0f6824ea6c7" + } + }, + { + "frame": 0.4, + "value": { + "__uuid__": "e0612a37-a743-40fe-83ff-f189971f1992" + } + }, + { + "frame": 0.45, + "value": { + "__uuid__": "6ff230eb-44e8-4ca9-97d0-1b059aa1e21b" + } + } + ] + } + } + }, + "events": [] +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/InAirIdle1ByJump.anim.meta b/frontend/assets/resources/animation/KnifeGirl/InAirIdle1ByJump.anim.meta new file mode 100644 index 0000000..617aa4b --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/InAirIdle1ByJump.anim.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.1.0", + "uuid": "c4ddf3ea-2292-4511-a320-5486934ac361", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/InAirIdle1NoJump.anim b/frontend/assets/resources/animation/KnifeGirl/InAirIdle1NoJump.anim new file mode 100644 index 0000000..efef36d --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/InAirIdle1NoJump.anim @@ -0,0 +1,25 @@ +{ + "__type__": "cc.AnimationClip", + "_name": "InAirIdle1NoJump", + "_objFlags": 0, + "_native": "", + "_duration": 0.016666666666666666, + "sample": 60, + "speed": 1, + "wrapMode": 2, + "curveData": { + "comps": { + "cc.Sprite": { + "spriteFrame": [ + { + "frame": 0, + "value": { + "__uuid__": "6ff230eb-44e8-4ca9-97d0-1b059aa1e21b" + } + } + ] + } + } + }, + "events": [] +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/InAirIdle1NoJump.anim.meta b/frontend/assets/resources/animation/KnifeGirl/InAirIdle1NoJump.anim.meta new file mode 100644 index 0000000..a578459 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/InAirIdle1NoJump.anim.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.1.0", + "uuid": "bc461a02-4d1a-46a4-9f3c-7370adc6c1c8", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/KnifeGirl.plist b/frontend/assets/resources/animation/KnifeGirl/KnifeGirl.plist new file mode 100644 index 0000000..f5c8b15 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/KnifeGirl.plist @@ -0,0 +1,1451 @@ + + + + + frames + + Atk1_0.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,128} + spriteSourceSize + {112,128} + textureRect + {{288,640},{112,128}} + textureRotated + + + Atk1_1.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,128} + spriteSourceSize + {112,128} + textureRect + {{352,768},{112,128}} + textureRotated + + + Atk1_10.png + + aliases + + spriteOffset + {0,0} + spriteSize + {64,128} + spriteSourceSize + {64,128} + textureRect + {{784,288},{64,128}} + textureRotated + + + Atk1_11.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{592,256},{80,128}} + textureRotated + + + Atk1_2.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{672,256},{80,128}} + textureRotated + + + Atk1_3.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,128} + spriteSourceSize + {112,128} + textureRect + {{416,896},{112,128}} + textureRotated + + + Atk1_4.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,128} + spriteSourceSize + {112,128} + textureRect + {{368,128},{112,128}} + textureRotated + + + Atk1_5.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,128} + spriteSourceSize + {96,128} + textureRect + {{480,384},{96,128}} + textureRotated + + + Atk1_6.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,128} + spriteSourceSize + {96,128} + textureRect + {{496,512},{96,128}} + textureRotated + + + Atk1_7.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{688,128},{80,128}} + textureRotated + + + Atk1_8.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{752,0},{80,128}} + textureRotated + + + Atk1_9.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{672,384},{80,128}} + textureRotated + + + Atk2_0.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{688,512},{80,128}} + textureRotated + + + Atk2_1.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,128} + spriteSourceSize + {96,128} + textureRect + {{576,384},{96,128}} + textureRotated + + + Atk2_10.png + + aliases + + spriteOffset + {0,0} + spriteSize + {128,112} + spriteSourceSize + {128,112} + textureRect + {{256,528},{128,112}} + textureRotated + + + Atk2_11.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,96} + spriteSourceSize + {96,96} + textureRect + {{1024,720},{96,96}} + textureRotated + + + Atk2_2.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,112} + spriteSourceSize + {96,112} + textureRect + {{816,352},{96,112}} + textureRotated + + + Atk2_3.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,112} + spriteSourceSize + {96,112} + textureRect + {{816,464},{96,112}} + textureRotated + + + Atk2_4.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,112} + spriteSourceSize + {96,112} + textureRect + {{1040,448},{96,112}} + textureRotated + + + Atk2_5.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,112} + spriteSourceSize + {96,112} + textureRect + {{912,480},{96,112}} + textureRotated + + + Atk2_6.png + + aliases + + spriteOffset + {0,0} + spriteSize + {144,112} + spriteSourceSize + {144,112} + textureRect + {{176,640},{144,112}} + textureRotated + + + Atk2_7.png + + aliases + + spriteOffset + {0,0} + spriteSize + {128,112} + spriteSourceSize + {128,112} + textureRect + {{480,128},{128,112}} + textureRotated + + + Atk2_8.png + + aliases + + spriteOffset + {0,0} + spriteSize + {160,112} + spriteSourceSize + {160,112} + textureRect + {{0,160},{160,112}} + textureRotated + + + Atk2_9.png + + aliases + + spriteOffset + {0,0} + spriteSize + {144,112} + spriteSourceSize + {144,112} + textureRect + {{240,784},{144,112}} + textureRotated + + + Atk3_0.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{704,640},{80,128}} + textureRotated + + + Atk3_1.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,128} + spriteSourceSize + {96,128} + textureRect + {{512,640},{96,128}} + textureRotated + + + Atk3_10.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{768,768},{80,128}} + textureRotated + + + Atk3_11.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{832,896},{80,128}} + textureRotated + + + Atk3_12.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,128} + spriteSourceSize + {112,128} + textureRect + {{432,0},{112,128}} + textureRotated + + + Atk3_2.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,128} + spriteSourceSize + {96,128} + textureRect + {{592,512},{96,128}} + textureRotated + + + Atk3_3.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,128} + spriteSourceSize + {112,128} + textureRect + {{368,256},{112,128}} + textureRotated + + + Atk3_4.png + + aliases + + spriteOffset + {0,0} + spriteSize + {144,128} + spriteSourceSize + {144,128} + textureRect + {{112,0},{144,128}} + textureRotated + + + Atk3_5.png + + aliases + + spriteOffset + {0,0} + spriteSize + {144,144} + spriteSourceSize + {144,144} + textureRect + {{96,800},{144,144}} + textureRotated + + + Atk3_6.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,160} + spriteSourceSize + {96,160} + textureRect + {{0,640},{96,160}} + textureRotated + + + Atk3_7.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,160} + spriteSourceSize + {96,160} + textureRect + {{0,800},{96,160}} + textureRotated + + + Atk3_8.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,160} + spriteSourceSize + {112,160} + textureRect + {{0,0},{112,160}} + textureRotated + + + Atk3_9.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,160} + spriteSourceSize + {80,160} + textureRect + {{96,640},{80,160}} + textureRotated + + + Atked1_0.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,128} + spriteSourceSize + {96,128} + textureRect + {{576,768},{96,128}} + textureRotated + + + Atked1_1.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,112} + spriteSourceSize + {112,112} + textureRect + {{1040,0},{112,112}} + textureRotated + + + Atked1_2.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,112} + spriteSourceSize + {96,112} + textureRect + {{1024,544},{96,112}} + textureRotated + + + Atked1_3.png + + aliases + + spriteOffset + {0,0} + spriteSize + {128,112} + spriteSourceSize + {128,112} + textureRect + {{544,0},{128,112}} + textureRotated + + + BlownUp1_0.png + + aliases + + spriteOffset + {0,0} + spriteSize + {160,112} + spriteSourceSize + {160,112} + textureRect + {{0,320},{160,112}} + textureRotated + + + BlownUp1_1.png + + aliases + + spriteOffset + {0,0} + spriteSize + {160,112} + spriteSourceSize + {160,112} + textureRect + {{0,480},{160,112}} + textureRotated + + + BlownUp1_2.png + + aliases + + spriteOffset + {0,0} + spriteSize + {128,96} + spriteSourceSize + {128,96} + textureRect + {{592,128},{128,96}} + textureRotated + + + BlownUp1_3.png + + aliases + + spriteOffset + {0,0} + spriteSize + {144,96} + spriteSourceSize + {144,96} + textureRect + {{272,928},{144,96}} + textureRotated + + + GetUp1_0.png + + aliases + + spriteOffset + {0,0} + spriteSize + {144,64} + spriteSourceSize + {144,64} + textureRect + {{0,960},{144,64}} + textureRotated + + + GetUp1_1.png + + aliases + + spriteOffset + {0,0} + spriteSize + {144,64} + spriteSourceSize + {144,64} + textureRect + {{112,576},{144,64}} + textureRotated + + + GetUp1_2.png + + aliases + + spriteOffset + {0,0} + spriteSize + {128,80} + spriteSourceSize + {128,80} + textureRect + {{144,944},{128,80}} + textureRotated + + + GetUp1_3.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,80} + spriteSourceSize + {96,80} + textureRect + {{928,768},{96,80}} + textureRotated + + + GetUp1_4.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,80} + spriteSourceSize + {80,80} + textureRect + {{992,928},{80,80}} + textureRotated + + + Idle1_0.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,128} + spriteSourceSize + {96,128} + textureRect + {{640,896},{96,128}} + textureRotated + + + Idle1_1.png + + aliases + + spriteOffset + {0,0} + spriteSize + {128,128} + spriteSourceSize + {128,128} + textureRect + {{240,144},{128,128}} + textureRotated + + + Idle1_10.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,128} + spriteSourceSize + {112,128} + textureRect + {{368,384},{112,128}} + textureRotated + + + Idle1_2.png + + aliases + + spriteOffset + {0,0} + spriteSize + {128,128} + spriteSourceSize + {128,128} + textureRect + {{304,0},{128,128}} + textureRotated + + + Idle1_3.png + + aliases + + spriteOffset + {0,0} + spriteSize + {144,128} + spriteSourceSize + {144,128} + textureRect + {{112,144},{144,128}} + textureRotated + + + Idle1_4.png + + aliases + + spriteOffset + {0,0} + spriteSize + {144,128} + spriteSourceSize + {144,128} + textureRect + {{112,288},{144,128}} + textureRotated + + + Idle1_5.png + + aliases + + spriteOffset + {0,0} + spriteSize + {144,128} + spriteSourceSize + {144,128} + textureRect + {{112,432},{144,128}} + textureRotated + + + Idle1_6.png + + aliases + + spriteOffset + {0,0} + spriteSize + {128,128} + spriteSourceSize + {128,128} + textureRect + {{240,272},{128,128}} + textureRotated + + + Idle1_7.png + + aliases + + spriteOffset + {0,0} + spriteSize + {128,128} + spriteSourceSize + {128,128} + textureRect + {{240,400},{128,128}} + textureRotated + + + Idle1_8.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,128} + spriteSourceSize + {112,128} + textureRect + {{384,512},{112,128}} + textureRotated + + + Idle1_9.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,128} + spriteSourceSize + {112,128} + textureRect + {{400,640},{112,128}} + textureRotated + + + InAirAtk1_0.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,80} + spriteSourceSize + {80,80} + textureRect + {{1072,896},{80,80}} + textureRotated + + + InAirAtk1_1.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,80} + spriteSourceSize + {96,80} + textureRect + {{1024,816},{96,80}} + textureRotated + + + InAirAtk1_2.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,112} + spriteSourceSize + {112,112} + textureRect + {{1040,112},{112,112}} + textureRotated + + + InAirAtk1_3.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,112} + spriteSourceSize + {112,112} + textureRect + {{1040,224},{112,112}} + textureRotated + + + InAirAtk1_4.png + + aliases + + spriteOffset + {0,0} + spriteSize + {128,112} + spriteSourceSize + {128,112} + textureRect + {{480,256},{128,112}} + textureRotated + + + InAirAtk1_5.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,80} + spriteSourceSize + {112,80} + textureRect + {{832,688},{112,80}} + textureRotated + + + InAirAtked1_0.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,112} + spriteSourceSize + {112,112} + textureRect + {{1040,336},{112,112}} + textureRotated + + + InAirAtked1_1.png + + aliases + + spriteOffset + {0,0} + spriteSize + {128,96} + spriteSourceSize + {128,96} + textureRect + {{656,0},{128,96}} + textureRotated + + + InAirIdle1_0.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,112} + spriteSourceSize + {80,112} + textureRect + {{832,576},{80,112}} + textureRotated + + + InAirIdle1_1.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,112} + spriteSourceSize + {80,112} + textureRect + {{848,768},{80,112}} + textureRotated + + + InAirIdle1_2.png + + aliases + + spriteOffset + {0,0} + spriteSize + {64,128} + spriteSourceSize + {64,128} + textureRect + {{912,320},{64,128}} + textureRotated + + + InAirIdle1_3.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,112} + spriteSourceSize + {80,112} + textureRect + {{1024,640},{80,112}} + textureRotated + + + InAirIdle1_4.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,96} + spriteSourceSize + {80,96} + textureRect + {{944,672},{80,96}} + textureRotated + + + InAirIdle1_5.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,96} + spriteSourceSize + {80,96} + textureRect + {{928,848},{80,96}} + textureRotated + + + InAirIdle1_6.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,96} + spriteSourceSize + {80,96} + textureRect + {{912,928},{80,96}} + textureRotated + + + InAirIdle1_7.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,112} + spriteSourceSize + {96,112} + textureRect + {{912,576},{96,112}} + textureRotated + + + InAirIdle1_8.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,128} + spriteSourceSize + {96,128} + textureRect + {{608,640},{96,128}} + textureRotated + + + InAirIdle1_9.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,128} + spriteSourceSize + {96,128} + textureRect + {{672,768},{96,128}} + textureRotated + + + LayDown1_0.png + + aliases + + spriteOffset + {0,0} + spriteSize + {144,64} + spriteSourceSize + {144,64} + textureRect + {{240,0},{144,64}} + textureRotated + + + LayDown1_1.png + + aliases + + spriteOffset + {0,0} + spriteSize + {128,48} + spriteSourceSize + {128,48} + textureRect + {{912,384},{128,48}} + textureRotated + + + LayDown1_2.png + + aliases + + spriteOffset + {0,0} + spriteSize + {128,48} + spriteSourceSize + {128,48} + textureRect + {{912,432},{128,48}} + textureRotated + + + Walking_0.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,128} + spriteSourceSize + {112,128} + textureRect + {{464,768},{112,128}} + textureRotated + + + Walking_1.png + + aliases + + spriteOffset + {0,0} + spriteSize + {112,128} + spriteSourceSize + {112,128} + textureRect + {{528,896},{112,128}} + textureRotated + + + Walking_10.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{912,0},{80,128}} + textureRotated + + + Walking_11.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{832,0},{80,128}} + textureRotated + + + Walking_12.png + + aliases + + spriteOffset + {0,0} + spriteSize + {96,128} + spriteSourceSize + {96,128} + textureRect + {{736,896},{96,128}} + textureRotated + + + Walking_2.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{912,80},{80,128}} + textureRotated + + + Walking_3.png + + aliases + + spriteOffset + {0,0} + spriteSize + {48,128} + spriteSourceSize + {48,128} + textureRect + {{768,512},{48,128}} + textureRotated + + + Walking_4.png + + aliases + + spriteOffset + {0,0} + spriteSize + {48,128} + spriteSourceSize + {48,128} + textureRect + {{784,640},{48,128}} + textureRotated + + + Walking_5.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{784,128},{80,128}} + textureRotated + + + Walking_6.png + + aliases + + spriteOffset + {0,0} + spriteSize + {64,128} + spriteSourceSize + {64,128} + textureRect + {{752,384},{64,128}} + textureRotated + + + Walking_7.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{912,160},{80,128}} + textureRotated + + + Walking_8.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{784,208},{80,128}} + textureRotated + + + Walking_9.png + + aliases + + spriteOffset + {0,0} + spriteSize + {80,128} + spriteSourceSize + {80,128} + textureRect + {{912,240},{80,128}} + textureRotated + + + + metadata + + format + 3 + pixelFormat + RGBA8888 + premultiplyAlpha + + realTextureFileName + KnifeGirl.png + size + {1152,1024} + smartupdate + $TexturePacker:SmartUpdate:43c720e0426fad1631b1b033ca007c9b:6efe60d7637a19764428580eac5c940c:1ae107e0c6667a1ecb5ed98687517e0e$ + textureFileName + KnifeGirl.png + + + diff --git a/frontend/assets/resources/animation/KnifeGirl/KnifeGirl.plist.meta b/frontend/assets/resources/animation/KnifeGirl/KnifeGirl.plist.meta new file mode 100644 index 0000000..14176d3 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/KnifeGirl.plist.meta @@ -0,0 +1,2102 @@ +{ + "ver": "1.2.4", + "uuid": "579bc0c1-f5e2-4a5d-889b-9d567e53b0e6", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "size": { + "width": 1152, + "height": 1024 + }, + "type": "Texture Packer", + "subMetas": { + "Atk1_0.png": { + "ver": "1.0.4", + "uuid": "5b269b2e-0800-4bf5-b5db-055b78cf318d", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 288, + "trimY": 640, + "width": 112, + "height": 128, + "rawWidth": 112, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk1_1.png": { + "ver": "1.0.4", + "uuid": "e184f831-3f90-47cb-8ca5-ad9446ba0398", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 352, + "trimY": 768, + "width": 112, + "height": 128, + "rawWidth": 112, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk1_10.png": { + "ver": "1.0.4", + "uuid": "4c512398-4290-4fdf-bb21-2b0062a9071b", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 784, + "trimY": 288, + "width": 64, + "height": 128, + "rawWidth": 64, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk1_11.png": { + "ver": "1.0.4", + "uuid": "6b2a1a09-8236-4972-8aee-1781b6547d4e", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 592, + "trimY": 256, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk1_2.png": { + "ver": "1.0.4", + "uuid": "f260f82b-10cf-49af-b46c-cd8dc7a3503f", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 672, + "trimY": 256, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk1_3.png": { + "ver": "1.0.4", + "uuid": "09f43e75-0986-4b8f-907b-e5a5a73b7c54", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 416, + "trimY": 896, + "width": 112, + "height": 128, + "rawWidth": 112, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk1_4.png": { + "ver": "1.0.4", + "uuid": "d7432402-fcbd-4e2e-b2c1-33364f31948b", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 368, + "trimY": 128, + "width": 112, + "height": 128, + "rawWidth": 112, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk1_5.png": { + "ver": "1.0.4", + "uuid": "8acf1c5a-6910-47d6-aa18-1e6f07546d7a", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 480, + "trimY": 384, + "width": 96, + "height": 128, + "rawWidth": 96, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk1_6.png": { + "ver": "1.0.4", + "uuid": "76120dbd-6390-4706-9580-dcec9687e83e", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 496, + "trimY": 512, + "width": 96, + "height": 128, + "rawWidth": 96, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk1_7.png": { + "ver": "1.0.4", + "uuid": "f9a7a04a-2369-4946-8313-c2da896da51e", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 688, + "trimY": 128, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk1_8.png": { + "ver": "1.0.4", + "uuid": "c8fb14e2-745e-4a2b-b235-d43195052652", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 752, + "trimY": 0, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk1_9.png": { + "ver": "1.0.4", + "uuid": "1f23e0e5-830c-4d07-8f80-cbb98a2a1954", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 672, + "trimY": 384, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk2_0.png": { + "ver": "1.0.4", + "uuid": "dd9a00aa-ddbc-4b01-a7cb-3c43c3a655b6", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 688, + "trimY": 512, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk2_1.png": { + "ver": "1.0.4", + "uuid": "f66e83bd-1afc-4957-bb16-488d70566ed1", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 576, + "trimY": 384, + "width": 96, + "height": 128, + "rawWidth": 96, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk2_10.png": { + "ver": "1.0.4", + "uuid": "3898259f-a3b0-490d-b260-f86ab5109dfe", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 256, + "trimY": 528, + "width": 128, + "height": 112, + "rawWidth": 128, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk2_11.png": { + "ver": "1.0.4", + "uuid": "60f9f7d4-5cf7-4098-9455-0f6a74963fc6", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1024, + "trimY": 720, + "width": 96, + "height": 96, + "rawWidth": 96, + "rawHeight": 96, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk2_2.png": { + "ver": "1.0.4", + "uuid": "bd682c41-dc62-49ff-a96a-18b33e50a6de", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 816, + "trimY": 352, + "width": 96, + "height": 112, + "rawWidth": 96, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk2_3.png": { + "ver": "1.0.4", + "uuid": "94ccab85-e32f-4e13-b0e5-72c798f78ad1", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 816, + "trimY": 464, + "width": 96, + "height": 112, + "rawWidth": 96, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk2_4.png": { + "ver": "1.0.4", + "uuid": "e80d3a01-5048-42b7-a280-cb6aa01602c2", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 1040, + "trimY": 448, + "width": 96, + "height": 112, + "rawWidth": 96, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk2_5.png": { + "ver": "1.0.4", + "uuid": "d899088c-be62-47b4-9ebf-0a89a2261565", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 912, + "trimY": 480, + "width": 96, + "height": 112, + "rawWidth": 96, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk2_6.png": { + "ver": "1.0.4", + "uuid": "5b1e5aa7-fd82-47ae-a5b2-6d4983d848ed", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 176, + "trimY": 640, + "width": 144, + "height": 112, + "rawWidth": 144, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk2_7.png": { + "ver": "1.0.4", + "uuid": "c2945988-b4bb-4583-a5ef-2fa02b23a347", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 480, + "trimY": 128, + "width": 128, + "height": 112, + "rawWidth": 128, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk2_8.png": { + "ver": "1.0.4", + "uuid": "070ea1e3-9c07-4735-8b94-515ef70216ad", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 160, + "width": 160, + "height": 112, + "rawWidth": 160, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk2_9.png": { + "ver": "1.0.4", + "uuid": "3b8bc5c0-26df-4218-b7dc-134a36080a35", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 240, + "trimY": 784, + "width": 144, + "height": 112, + "rawWidth": 144, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk3_0.png": { + "ver": "1.0.4", + "uuid": "98276733-6f8d-4cac-8a7e-31883834c240", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 704, + "trimY": 640, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk3_1.png": { + "ver": "1.0.4", + "uuid": "51ab185b-2271-48b5-a897-af79721d566c", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 512, + "trimY": 640, + "width": 96, + "height": 128, + "rawWidth": 96, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk3_10.png": { + "ver": "1.0.4", + "uuid": "58afa365-a916-4ec6-aab3-1c87f5332b12", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 768, + "trimY": 768, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk3_11.png": { + "ver": "1.0.4", + "uuid": "7ada26fa-c72d-46f6-9b3a-ae9d7ba5eaf4", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 832, + "trimY": 896, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk3_12.png": { + "ver": "1.0.4", + "uuid": "ee5e4a85-6dda-4d1e-a469-5be1db6a8913", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 432, + "trimY": 0, + "width": 112, + "height": 128, + "rawWidth": 112, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk3_2.png": { + "ver": "1.0.4", + "uuid": "c29fd95d-7467-4138-9e01-6421af63dd68", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 592, + "trimY": 512, + "width": 96, + "height": 128, + "rawWidth": 96, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk3_3.png": { + "ver": "1.0.4", + "uuid": "3285b5eb-c6be-4cb9-ac60-c506645fee4b", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 368, + "trimY": 256, + "width": 112, + "height": 128, + "rawWidth": 112, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk3_4.png": { + "ver": "1.0.4", + "uuid": "13fd4a87-71f4-4b69-a5b3-413d564c35e6", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 112, + "trimY": 0, + "width": 144, + "height": 128, + "rawWidth": 144, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk3_5.png": { + "ver": "1.0.4", + "uuid": "7189e229-00d6-427a-8ea1-d05fbd97824f", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 96, + "trimY": 800, + "width": 144, + "height": 144, + "rawWidth": 144, + "rawHeight": 144, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk3_6.png": { + "ver": "1.0.4", + "uuid": "d9ccfe33-3db7-4b3a-807c-adb2121fb7c7", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 640, + "width": 96, + "height": 160, + "rawWidth": 96, + "rawHeight": 160, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk3_7.png": { + "ver": "1.0.4", + "uuid": "a51cbc29-0826-46f7-a38b-8b0f996fbace", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 800, + "width": 96, + "height": 160, + "rawWidth": 96, + "rawHeight": 160, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk3_8.png": { + "ver": "1.0.4", + "uuid": "7e9f3a24-6abc-4b49-a5c5-a0c100865ffc", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 112, + "height": 160, + "rawWidth": 112, + "rawHeight": 160, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atk3_9.png": { + "ver": "1.0.4", + "uuid": "ecbaeb43-1118-483a-91c9-ff1ff01b7b33", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 96, + "trimY": 640, + "width": 80, + "height": 160, + "rawWidth": 80, + "rawHeight": 160, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atked1_0.png": { + "ver": "1.0.4", + "uuid": "9b90ae89-7fbe-4bb6-ab15-fc08462f54c5", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 576, + "trimY": 768, + "width": 96, + "height": 128, + "rawWidth": 96, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atked1_1.png": { + "ver": "1.0.4", + "uuid": "aeb3553a-6de4-4197-9f06-d7cc3fa7c4cf", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1040, + "trimY": 0, + "width": 112, + "height": 112, + "rawWidth": 112, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atked1_2.png": { + "ver": "1.0.4", + "uuid": "07650461-a7c0-4638-92fc-fa436752c045", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 1024, + "trimY": 544, + "width": 96, + "height": 112, + "rawWidth": 96, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Atked1_3.png": { + "ver": "1.0.4", + "uuid": "ca22d473-83aa-4146-b732-89d0246a2968", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 544, + "trimY": 0, + "width": 128, + "height": 112, + "rawWidth": 128, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "BlownUp1_0.png": { + "ver": "1.0.4", + "uuid": "8e2e03e0-7e2f-4bbb-b039-e232ef586232", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 320, + "width": 160, + "height": 112, + "rawWidth": 160, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "BlownUp1_1.png": { + "ver": "1.0.4", + "uuid": "0ea84f61-4a2f-4ca2-a0b8-b580e027c142", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 480, + "width": 160, + "height": 112, + "rawWidth": 160, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "BlownUp1_2.png": { + "ver": "1.0.4", + "uuid": "a3a31fcd-a162-456a-9c26-1f32413f87f3", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 592, + "trimY": 128, + "width": 128, + "height": 96, + "rawWidth": 128, + "rawHeight": 96, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "BlownUp1_3.png": { + "ver": "1.0.4", + "uuid": "da4ee0a0-ba66-455c-99d3-9c803a3d0f17", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 272, + "trimY": 928, + "width": 144, + "height": 96, + "rawWidth": 144, + "rawHeight": 96, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "GetUp1_0.png": { + "ver": "1.0.4", + "uuid": "d08a4f50-8707-4da2-8b12-83d1bf4fa2ca", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 960, + "width": 144, + "height": 64, + "rawWidth": 144, + "rawHeight": 64, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "GetUp1_1.png": { + "ver": "1.0.4", + "uuid": "3f26b0a4-db13-4a14-b885-5a812073eccf", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 112, + "trimY": 576, + "width": 144, + "height": 64, + "rawWidth": 144, + "rawHeight": 64, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "GetUp1_2.png": { + "ver": "1.0.4", + "uuid": "23eb42d6-52a2-458d-98a3-2f692dd79398", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 144, + "trimY": 944, + "width": 128, + "height": 80, + "rawWidth": 128, + "rawHeight": 80, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "GetUp1_3.png": { + "ver": "1.0.4", + "uuid": "7bd4428c-44f9-4ff8-8d00-d3448a27a0c4", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 928, + "trimY": 768, + "width": 96, + "height": 80, + "rawWidth": 96, + "rawHeight": 80, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "GetUp1_4.png": { + "ver": "1.0.4", + "uuid": "57640cd8-17eb-4279-a118-1ea40174da3c", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 992, + "trimY": 928, + "width": 80, + "height": 80, + "rawWidth": 80, + "rawHeight": 80, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Idle1_0.png": { + "ver": "1.0.4", + "uuid": "92852885-b66d-42fe-a8e0-153e6c494bd2", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 640, + "trimY": 896, + "width": 96, + "height": 128, + "rawWidth": 96, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Idle1_1.png": { + "ver": "1.0.4", + "uuid": "b0f1ecf7-be41-46a8-bccb-92ee53b4ef88", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 240, + "trimY": 144, + "width": 128, + "height": 128, + "rawWidth": 128, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Idle1_10.png": { + "ver": "1.0.4", + "uuid": "9ecbf97e-34bc-4c5e-b9e8-4d885a02e0d3", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 368, + "trimY": 384, + "width": 112, + "height": 128, + "rawWidth": 112, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Idle1_2.png": { + "ver": "1.0.4", + "uuid": "944adaee-5e11-4c55-9573-1d529f21ed4b", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 304, + "trimY": 0, + "width": 128, + "height": 128, + "rawWidth": 128, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Idle1_3.png": { + "ver": "1.0.4", + "uuid": "ede36130-8312-46a2-abe5-ba102bc97822", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 112, + "trimY": 144, + "width": 144, + "height": 128, + "rawWidth": 144, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Idle1_4.png": { + "ver": "1.0.4", + "uuid": "32dbb977-301c-4fbd-a19c-14a5ce0e2f5b", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 112, + "trimY": 288, + "width": 144, + "height": 128, + "rawWidth": 144, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Idle1_5.png": { + "ver": "1.0.4", + "uuid": "581c7ab1-451d-46b0-9eeb-24cf3b898924", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 112, + "trimY": 432, + "width": 144, + "height": 128, + "rawWidth": 144, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Idle1_6.png": { + "ver": "1.0.4", + "uuid": "27005132-eda8-4c3f-9f4a-3a6004245e9f", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 240, + "trimY": 272, + "width": 128, + "height": 128, + "rawWidth": 128, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Idle1_7.png": { + "ver": "1.0.4", + "uuid": "2b339657-aa80-4ab6-a4dd-83e9c12b6a54", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 240, + "trimY": 400, + "width": 128, + "height": 128, + "rawWidth": 128, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Idle1_8.png": { + "ver": "1.0.4", + "uuid": "08e25a99-158d-4159-8152-6c9047fe9d54", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 384, + "trimY": 512, + "width": 112, + "height": 128, + "rawWidth": 112, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Idle1_9.png": { + "ver": "1.0.4", + "uuid": "ab739541-39b5-4758-9b93-6681d6038730", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 400, + "trimY": 640, + "width": 112, + "height": 128, + "rawWidth": 112, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirAtk1_0.png": { + "ver": "1.0.4", + "uuid": "e6a3099f-b4c3-425f-a66b-9b992ae1c7b0", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1072, + "trimY": 896, + "width": 80, + "height": 80, + "rawWidth": 80, + "rawHeight": 80, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirAtk1_1.png": { + "ver": "1.0.4", + "uuid": "cade5a52-282e-47e5-aca9-5abb4f6afd14", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1024, + "trimY": 816, + "width": 96, + "height": 80, + "rawWidth": 96, + "rawHeight": 80, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirAtk1_2.png": { + "ver": "1.0.4", + "uuid": "96b0b028-3045-4a04-bf9c-c957f8c9e9ab", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1040, + "trimY": 112, + "width": 112, + "height": 112, + "rawWidth": 112, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirAtk1_3.png": { + "ver": "1.0.4", + "uuid": "567f6bb7-c764-4c1d-bfec-f5c0c9812192", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1040, + "trimY": 224, + "width": 112, + "height": 112, + "rawWidth": 112, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirAtk1_4.png": { + "ver": "1.0.4", + "uuid": "5d0c32b4-52ce-4157-9b91-dd400a7ed07a", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 480, + "trimY": 256, + "width": 128, + "height": 112, + "rawWidth": 128, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirAtk1_5.png": { + "ver": "1.0.4", + "uuid": "fcef9c9b-dc71-459c-a541-9273b6e3923a", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 832, + "trimY": 688, + "width": 112, + "height": 80, + "rawWidth": 112, + "rawHeight": 80, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirAtked1_0.png": { + "ver": "1.0.4", + "uuid": "01e8b938-03cb-4519-a417-384c31131a27", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 1040, + "trimY": 336, + "width": 112, + "height": 112, + "rawWidth": 112, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirAtked1_1.png": { + "ver": "1.0.4", + "uuid": "d7970a18-f3af-44c6-b216-ee55b9a1b32c", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 656, + "trimY": 0, + "width": 128, + "height": 96, + "rawWidth": 128, + "rawHeight": 96, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirIdle1_0.png": { + "ver": "1.0.4", + "uuid": "6ff7b4e6-80ec-4673-b47b-e0bba7567c3c", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 832, + "trimY": 576, + "width": 80, + "height": 112, + "rawWidth": 80, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirIdle1_1.png": { + "ver": "1.0.4", + "uuid": "4ff35932-9869-4c78-9f75-b304eee46647", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 848, + "trimY": 768, + "width": 80, + "height": 112, + "rawWidth": 80, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirIdle1_2.png": { + "ver": "1.0.4", + "uuid": "6b1355c5-a750-4e37-9018-de1b84238f6c", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 912, + "trimY": 320, + "width": 64, + "height": 128, + "rawWidth": 64, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirIdle1_3.png": { + "ver": "1.0.4", + "uuid": "01193448-adb0-4364-94f3-ca810897f397", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 1024, + "trimY": 640, + "width": 80, + "height": 112, + "rawWidth": 80, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirIdle1_4.png": { + "ver": "1.0.4", + "uuid": "f4f0cd5d-835b-44c3-8cc9-2651dd00cd37", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 944, + "trimY": 672, + "width": 80, + "height": 96, + "rawWidth": 80, + "rawHeight": 96, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirIdle1_5.png": { + "ver": "1.0.4", + "uuid": "4c32b2d6-346f-4d6e-a92e-6678e4c4b1ad", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 928, + "trimY": 848, + "width": 80, + "height": 96, + "rawWidth": 80, + "rawHeight": 96, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirIdle1_6.png": { + "ver": "1.0.4", + "uuid": "30ef09b2-366a-4946-b556-2c0fac359c0b", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 912, + "trimY": 928, + "width": 80, + "height": 96, + "rawWidth": 80, + "rawHeight": 96, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirIdle1_7.png": { + "ver": "1.0.4", + "uuid": "6ab33993-124f-429e-ba4c-b0f6824ea6c7", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 912, + "trimY": 576, + "width": 96, + "height": 112, + "rawWidth": 96, + "rawHeight": 112, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirIdle1_8.png": { + "ver": "1.0.4", + "uuid": "e0612a37-a743-40fe-83ff-f189971f1992", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 608, + "trimY": 640, + "width": 96, + "height": 128, + "rawWidth": 96, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "InAirIdle1_9.png": { + "ver": "1.0.4", + "uuid": "6ff230eb-44e8-4ca9-97d0-1b059aa1e21b", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 672, + "trimY": 768, + "width": 96, + "height": 128, + "rawWidth": 96, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "LayDown1_0.png": { + "ver": "1.0.4", + "uuid": "7effc101-0b6c-4399-beea-7c9ef6e9df7e", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 240, + "trimY": 0, + "width": 144, + "height": 64, + "rawWidth": 144, + "rawHeight": 64, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "LayDown1_1.png": { + "ver": "1.0.4", + "uuid": "4e8a4f3c-5406-4700-9230-b2abc29a1093", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 912, + "trimY": 384, + "width": 128, + "height": 48, + "rawWidth": 128, + "rawHeight": 48, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "LayDown1_2.png": { + "ver": "1.0.4", + "uuid": "1ae5e6f6-ba82-485d-b3c7-59fd16ece3d5", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 912, + "trimY": 432, + "width": 128, + "height": 48, + "rawWidth": 128, + "rawHeight": 48, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Walking_0.png": { + "ver": "1.0.4", + "uuid": "cbbd2ddc-9ed3-40bf-ab87-2f9d26c2dd85", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 464, + "trimY": 768, + "width": 112, + "height": 128, + "rawWidth": 112, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Walking_1.png": { + "ver": "1.0.4", + "uuid": "9435195e-4560-495e-b1ae-083c0c87e8a0", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 528, + "trimY": 896, + "width": 112, + "height": 128, + "rawWidth": 112, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Walking_10.png": { + "ver": "1.0.4", + "uuid": "9100da6b-7582-4afb-9698-3d67d3b2012d", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 912, + "trimY": 0, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Walking_11.png": { + "ver": "1.0.4", + "uuid": "1257f72d-0cb3-4750-ae70-13c2d8eb2269", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 832, + "trimY": 0, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Walking_12.png": { + "ver": "1.0.4", + "uuid": "1d34b6db-27ba-4e26-864d-0f00d501765e", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 736, + "trimY": 896, + "width": 96, + "height": 128, + "rawWidth": 96, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Walking_2.png": { + "ver": "1.0.4", + "uuid": "ec048360-7a17-4f22-ba52-eb86ec1acae8", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 912, + "trimY": 80, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Walking_3.png": { + "ver": "1.0.4", + "uuid": "82bb81e3-667c-4280-8710-211f4904ef2f", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 768, + "trimY": 512, + "width": 48, + "height": 128, + "rawWidth": 48, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Walking_4.png": { + "ver": "1.0.4", + "uuid": "c3b14ecc-a6d9-4cb3-8637-ca7b407a0f5c", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 784, + "trimY": 640, + "width": 48, + "height": 128, + "rawWidth": 48, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Walking_5.png": { + "ver": "1.0.4", + "uuid": "f958fb7f-ef5a-4918-81f3-564004572f45", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 784, + "trimY": 128, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Walking_6.png": { + "ver": "1.0.4", + "uuid": "8a0ecf92-db26-4206-9a80-20e749055def", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 752, + "trimY": 384, + "width": 64, + "height": 128, + "rawWidth": 64, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Walking_7.png": { + "ver": "1.0.4", + "uuid": "942f2e02-a700-4fbf-877e-08c93e4d4010", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 912, + "trimY": 160, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Walking_8.png": { + "ver": "1.0.4", + "uuid": "30546064-1a11-499e-8523-a82c83951c73", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 784, + "trimY": 208, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + }, + "Walking_9.png": { + "ver": "1.0.4", + "uuid": "515bb75f-7a1f-4500-8aa9-c895915ce19f", + "rawTextureUuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "trimType": "auto", + "trimThreshold": 1, + "rotated": true, + "offsetX": 0, + "offsetY": 0, + "trimX": 912, + "trimY": 240, + "width": 80, + "height": 128, + "rawWidth": 80, + "rawHeight": 128, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "spriteType": "normal", + "subMetas": {} + } + } +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/KnifeGirl.png b/frontend/assets/resources/animation/KnifeGirl/KnifeGirl.png new file mode 100644 index 0000000..ce49a1c Binary files /dev/null and b/frontend/assets/resources/animation/KnifeGirl/KnifeGirl.png differ diff --git a/frontend/assets/resources/animation/KnifeGirl/KnifeGirl.png.meta b/frontend/assets/resources/animation/KnifeGirl/KnifeGirl.png.meta new file mode 100644 index 0000000..8abb6b5 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/KnifeGirl.png.meta @@ -0,0 +1,12 @@ +{ + "ver": "2.3.3", + "uuid": "385b0a2b-765c-43fc-9243-977baccfd37a", + "type": "raw", + "wrapMode": "clamp", + "filterMode": "bilinear", + "premultiplyAlpha": false, + "genMipmaps": false, + "packable": true, + "platformSettings": {}, + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/LayDown1.anim b/frontend/assets/resources/animation/KnifeGirl/LayDown1.anim new file mode 100644 index 0000000..a0cd4e2 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/LayDown1.anim @@ -0,0 +1,37 @@ +{ + "__type__": "cc.AnimationClip", + "_name": "LayDown1", + "_objFlags": 0, + "_native": "", + "_duration": 0.25, + "sample": 60, + "speed": 1, + "wrapMode": 1, + "curveData": { + "comps": { + "cc.Sprite": { + "spriteFrame": [ + { + "frame": 0, + "value": { + "__uuid__": "7effc101-0b6c-4399-beea-7c9ef6e9df7e" + } + }, + { + "frame": 0.11666666666666667, + "value": { + "__uuid__": "4e8a4f3c-5406-4700-9230-b2abc29a1093" + } + }, + { + "frame": 0.23333333333333334, + "value": { + "__uuid__": "1ae5e6f6-ba82-485d-b3c7-59fd16ece3d5" + } + } + ] + } + } + }, + "events": [] +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/LayDown1.anim.meta b/frontend/assets/resources/animation/KnifeGirl/LayDown1.anim.meta new file mode 100644 index 0000000..0e3a0ce --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/LayDown1.anim.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.1.0", + "uuid": "0a6478a6-f4cc-47cb-a1c6-761cf9141eb2", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/Walking.anim b/frontend/assets/resources/animation/KnifeGirl/Walking.anim new file mode 100644 index 0000000..ef50177 --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/Walking.anim @@ -0,0 +1,97 @@ +{ + "__type__": "cc.AnimationClip", + "_name": "Walking", + "_objFlags": 0, + "_native": "", + "_duration": 1.1166666666666667, + "sample": 60, + "speed": 1.2, + "wrapMode": 2, + "curveData": { + "comps": { + "cc.Sprite": { + "spriteFrame": [ + { + "frame": 0, + "value": { + "__uuid__": "30546064-1a11-499e-8523-a82c83951c73" + } + }, + { + "frame": 0.08333333333333333, + "value": { + "__uuid__": "cbbd2ddc-9ed3-40bf-ab87-2f9d26c2dd85" + } + }, + { + "frame": 0.16666666666666666, + "value": { + "__uuid__": "9435195e-4560-495e-b1ae-083c0c87e8a0" + } + }, + { + "frame": 0.25, + "value": { + "__uuid__": "ec048360-7a17-4f22-ba52-eb86ec1acae8" + } + }, + { + "frame": 0.3333333333333333, + "value": { + "__uuid__": "82bb81e3-667c-4280-8710-211f4904ef2f" + } + }, + { + "frame": 0.4166666666666667, + "value": { + "__uuid__": "c3b14ecc-a6d9-4cb3-8637-ca7b407a0f5c" + } + }, + { + "frame": 0.5166666666666667, + "value": { + "__uuid__": "f958fb7f-ef5a-4918-81f3-564004572f45" + } + }, + { + "frame": 0.6166666666666667, + "value": { + "__uuid__": "8a0ecf92-db26-4206-9a80-20e749055def" + } + }, + { + "frame": 0.7333333333333333, + "value": { + "__uuid__": "942f2e02-a700-4fbf-877e-08c93e4d4010" + } + }, + { + "frame": 0.8333333333333334, + "value": { + "__uuid__": "515bb75f-7a1f-4500-8aa9-c895915ce19f" + } + }, + { + "frame": 0.9166666666666666, + "value": { + "__uuid__": "9100da6b-7582-4afb-9698-3d67d3b2012d" + } + }, + { + "frame": 1.0166666666666666, + "value": { + "__uuid__": "1257f72d-0cb3-4750-ae70-13c2d8eb2269" + } + }, + { + "frame": 1.1, + "value": { + "__uuid__": "1d34b6db-27ba-4e26-864d-0f00d501765e" + } + } + ] + } + } + }, + "events": [] +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/KnifeGirl/Walking.anim.meta b/frontend/assets/resources/animation/KnifeGirl/Walking.anim.meta new file mode 100644 index 0000000..c4729aa --- /dev/null +++ b/frontend/assets/resources/animation/KnifeGirl/Walking.anim.meta @@ -0,0 +1,5 @@ +{ + "ver": "2.1.0", + "uuid": "f7f60d3f-32c0-4b56-901e-6eec9f73fa83", + "subMetas": {} +} \ No newline at end of file diff --git a/frontend/assets/resources/animation/MonkGirl/Atk1.anim b/frontend/assets/resources/animation/MonkGirl/Atk1.anim index 0a2dc11..2a20d16 100644 --- a/frontend/assets/resources/animation/MonkGirl/Atk1.anim +++ b/frontend/assets/resources/animation/MonkGirl/Atk1.anim @@ -3,7 +3,7 @@ "_name": "Atk1", "_objFlags": 0, "_native": "", - "_duration": 0.2833333333333333, + "_duration": 0.5, "sample": 60, "speed": 1, "wrapMode": 1, @@ -24,19 +24,19 @@ } }, { - "frame": 0.1, + "frame": 0.11666666666666667, "value": { "__uuid__": "72bc74a1-6e8c-48bb-9ab2-9b8f502ceffb" } }, { - "frame": 0.25, + "frame": 0.43333333333333335, "value": { "__uuid__": "7e619896-100d-4903-b256-e30ddb5ad397" } }, { - "frame": 0.26666666666666666, + "frame": 0.48333333333333334, "value": { "__uuid__": "4a35e0f5-95c4-445b-8f9b-6514a060a72d" } diff --git a/frontend/assets/resources/animation/MonkGirl/Atk3.anim b/frontend/assets/resources/animation/MonkGirl/Atk3.anim index ebf6cfd..1c7c16b 100644 --- a/frontend/assets/resources/animation/MonkGirl/Atk3.anim +++ b/frontend/assets/resources/animation/MonkGirl/Atk3.anim @@ -3,7 +3,7 @@ "_name": "Atk3", "_objFlags": 0, "_native": "", - "_duration": 1, + "_duration": 1.0166666666666666, "sample": 60, "speed": 1, "wrapMode": 1, @@ -13,69 +13,57 @@ "spriteFrame": [ { "frame": 0, - "value": { - "__uuid__": "4e1a3e61-dc3e-4de1-9385-bce2c5f54764" - } - }, - { - "frame": 0.05, "value": { "__uuid__": "39ba4413-6f4a-49a5-a7ca-d11140dfe7dd" } }, { - "frame": 0.11666666666666667, + "frame": 0.08333333333333333, "value": { "__uuid__": "26b646c7-bdbc-495e-adaf-9d52ef1b5c84" } }, { - "frame": 0.21666666666666667, + "frame": 0.16666666666666666, "value": { "__uuid__": "5a5208a0-1c29-446f-8375-739aef09fe65" } }, { - "frame": 0.3, + "frame": 0.2833333333333333, "value": { "__uuid__": "414628f0-13ec-4f01-83a0-b94f6a13fff1" } }, { - "frame": 0.43333333333333335, + "frame": 0.4166666666666667, "value": { "__uuid__": "c494965a-e7e6-4c99-ac61-60642e6247dc" } }, { - "frame": 0.5666666666666667, + "frame": 0.5333333333333333, "value": { "__uuid__": "04cafb17-39ab-4f2b-9830-3eaf42cab254" } }, { - "frame": 0.7166666666666667, + "frame": 0.6666666666666666, "value": { "__uuid__": "fd9c7d8a-1038-4cab-a0e6-699e404701db" } }, { - "frame": 0.8333333333333334, + "frame": 0.8, "value": { "__uuid__": "2447c6b3-292b-43b4-84e5-acc35df0c1f5" } }, { - "frame": 0.9333333333333333, + "frame": 1, "value": { "__uuid__": "00275818-b9b6-41ab-a792-f21ff10747fa" } - }, - { - "frame": 0.9833333333333333, - "value": { - "__uuid__": "11a06f33-cdfa-46cf-aae4-41e72a6711c2" - } } ] } diff --git a/frontend/assets/resources/animation/MonkGirl/MonkGirl.plist b/frontend/assets/resources/animation/MonkGirl/MonkGirl.plist index cec6563..a7ecf2c 100644 --- a/frontend/assets/resources/animation/MonkGirl/MonkGirl.plist +++ b/frontend/assets/resources/animation/MonkGirl/MonkGirl.plist @@ -15,7 +15,7 @@ spriteSourceSize {62,92} textureRect - {{551,127},{62,92}} + {{1211,188},{62,92}} textureRotated @@ -30,9 +30,9 @@ spriteSourceSize {77,99} textureRect - {{93,594},{77,99}} + {{603,325},{77,99}} textureRotated - + Atk1_2.png @@ -45,7 +45,7 @@ spriteSourceSize {112,99} textureRect - {{0,359},{112,99}} + {{407,227},{112,99}} textureRotated @@ -60,7 +60,7 @@ spriteSourceSize {96,100} textureRect - {{240,88},{96,100}} + {{727,101},{96,100}} textureRotated @@ -75,7 +75,7 @@ spriteSourceSize {62,92} textureRect - {{551,127},{62,92}} + {{1211,188},{62,92}} textureRotated @@ -90,9 +90,9 @@ spriteSourceSize {58,97} textureRect - {{170,675},{58,97}} + {{770,402},{58,97}} textureRotated - + Atk2_1.png @@ -105,9 +105,9 @@ spriteSourceSize {60,90} textureRect - {{743,537},{60,90}} + {{1324,435},{60,90}} textureRotated - + Atk2_2.png @@ -120,9 +120,9 @@ spriteSourceSize {84,96} textureRect - {{920,215},{84,96}} + {{823,100},{84,96}} textureRotated - + Atk2_3.png @@ -135,7 +135,7 @@ spriteSourceSize {55,100} textureRect - {{302,365},{55,100}} + {{776,0},{55,100}} textureRotated @@ -150,9 +150,9 @@ spriteSourceSize {63,100} textureRect - {{312,562},{63,100}} + {{407,339},{63,100}} textureRotated - + Atk2_5.png @@ -165,9 +165,9 @@ spriteSourceSize {66,101} textureRect - {{915,299},{66,101}} + {{710,0},{66,101}} textureRotated - + Atk2_6.png @@ -180,7 +180,7 @@ spriteSourceSize {80,95} textureRect - {{548,461},{80,95}} + {{907,96},{80,95}} textureRotated @@ -195,7 +195,7 @@ spriteSourceSize {116,109} textureRect - {{0,0},{116,109}} + {{340,402},{116,109}} textureRotated @@ -210,7 +210,7 @@ spriteSourceSize {102,96} textureRect - {{144,93},{102,96}} + {{646,210},{102,96}} textureRotated @@ -225,9 +225,9 @@ spriteSourceSize {75,102} textureRect - {{170,573},{75,102}} + {{0,437},{75,102}} textureRotated - + Atk3_0.png @@ -236,11 +236,11 @@ spriteOffset {0,0} spriteSize - {51,131} + {66,109} spriteSourceSize - {51,131} + {66,109} textureRect - {{93,109},{51,131}} + {{456,402},{66,109}} textureRotated @@ -251,26 +251,11 @@ spriteOffset {0,0} spriteSize - {53,103} + {66,113} spriteSourceSize - {53,103} + {66,113} textureRect - {{162,470},{53,103}} - textureRotated - - - Atk3_10.png - - aliases - - spriteOffset - {0,0} - spriteSize - {74,100} - spriteSourceSize - {74,100} - textureRect - {{357,365},{74,100}} + {{403,114},{66,113}} textureRotated @@ -281,13 +266,13 @@ spriteOffset {0,0} spriteSize - {70,109} + {78,151} spriteSourceSize - {70,109} + {78,151} textureRect - {{442,127},{70,109}} + {{0,0},{78,151}} textureRotated - + Atk3_3.png @@ -296,13 +281,13 @@ spriteOffset {0,0} spriteSize - {131,93} + {77,144} spriteSourceSize - {131,93} + {77,144} textureRect - {{0,109},{131,93}} + {{0,151},{77,144}} textureRotated - + Atk3_4.png @@ -311,11 +296,11 @@ spriteOffset {0,0} spriteSize - {89,119} + {78,142} spriteSourceSize - {89,119} + {78,142} textureRect - {{0,240},{89,119}} + {{0,295},{78,142}} textureRotated @@ -326,13 +311,13 @@ spriteOffset {0,0} spriteSize - {88,119} + {83,139} spriteSourceSize - {88,119} + {83,139} textureRect - {{236,0},{88,119}} + {{77,151},{83,139}} textureRotated - + Atk3_6.png @@ -341,11 +326,11 @@ spriteOffset {0,0} spriteSize - {57,120} + {78,131} spriteSourceSize - {57,120} + {78,131} textureRect - {{959,0},{57,120}} + {{78,0},{78,131}} textureRotated @@ -356,11 +341,11 @@ spriteOffset {0,0} spriteSize - {59,122} + {59,139} spriteSourceSize - {59,122} + {59,139} textureRect - {{243,350},{59,122}} + {{78,290},{59,139}} textureRotated @@ -371,26 +356,11 @@ spriteOffset {0,0} spriteSize - {80,111} + {59,139} spriteSourceSize - {80,111} + {59,139} textureRect - {{163,350},{80,111}} - textureRotated - - - Atk3_9.png - - aliases - - spriteOffset - {0,0} - spriteSize - {82,110} - spriteSourceSize - {82,110} - textureRect - {{153,240},{82,110}} + {{137,290},{59,139}} textureRotated @@ -405,7 +375,7 @@ spriteSourceSize {62,97} textureRect - {{305,465},{62,97}} + {{708,402},{62,97}} textureRotated @@ -420,7 +390,7 @@ spriteSourceSize {73,95} textureRect - {{943,120},{73,95}} + {{1001,190},{73,95}} textureRotated @@ -435,9 +405,9 @@ spriteSourceSize {90,89} textureRect - {{706,356},{90,89}} + {{1260,93},{90,89}} textureRotated - + BlownUp1_0.png @@ -450,9 +420,9 @@ spriteSourceSize {95,80} textureRect - {{564,653},{95,80}} + {{896,394},{95,80}} textureRotated - + BlownUp1_1.png @@ -465,7 +435,7 @@ spriteSourceSize {80,95} textureRect - {{578,556},{80,95}} + {{976,0},{80,95}} textureRotated @@ -480,9 +450,9 @@ spriteSourceSize {83,92} textureRect - {{623,349},{83,92}} + {{194,429},{83,92}} textureRotated - + BlownUp1_3.png @@ -495,9 +465,9 @@ spriteSourceSize {92,83} textureRect - {{706,445},{92,83}} + {{102,429},{92,83}} textureRotated - + GetUp1_0.png @@ -510,9 +480,9 @@ spriteSourceSize {112,45} textureRect - {{144,195},{112,45}} + {{508,0},{112,45}} textureRotated - + GetUp1_1.png @@ -525,7 +495,7 @@ spriteSourceSize {88,69} textureRect - {{355,284},{88,69}} + {{1236,435},{88,69}} textureRotated @@ -540,9 +510,9 @@ spriteSourceSize {91,90} textureRect - {{215,472},{91,90}} + {{702,312},{91,90}} textureRotated - + GetUp1_3.png @@ -555,9 +525,9 @@ spriteSourceSize {120,93} textureRect - {{116,0},{120,93}} + {{254,124},{120,93}} textureRotated - + GetUp1_4.png @@ -570,7 +540,7 @@ spriteSourceSize {100,112} textureRect - {{0,471},{100,112}} + {{408,0},{100,112}} textureRotated @@ -585,7 +555,7 @@ spriteSourceSize {106,93} textureRect - {{0,583},{106,93}} + {{553,0},{106,93}} textureRotated @@ -600,9 +570,9 @@ spriteSourceSize {106,79} textureRect - {{336,112},{106,79}} + {{567,219},{106,79}} textureRotated - + GetUp1_7.png @@ -615,7 +585,7 @@ spriteSourceSize {73,87} textureRect - {{289,191},{73,87}} + {{1262,0},{73,87}} textureRotated @@ -630,9 +600,9 @@ spriteSourceSize {67,90} textureRect - {{736,627},{67,90}} + {{1341,368},{67,90}} textureRotated - + GetUp1_9.png @@ -645,9 +615,9 @@ spriteSourceSize {58,97} textureRect - {{170,675},{58,97}} + {{770,402},{58,97}} textureRotated - + Idle1_0.png @@ -660,7 +630,7 @@ spriteSourceSize {58,95} textureRect - {{565,365},{58,95}} + {{1050,381},{58,95}} textureRotated @@ -675,7 +645,7 @@ spriteSourceSize {58,97} textureRect - {{367,465},{58,97}} + {{742,201},{58,97}} textureRotated @@ -690,9 +660,9 @@ spriteSourceSize {60,94} textureRect - {{613,204},{60,94}} + {{1146,284},{60,94}} textureRotated - + Idle1_2.png @@ -705,7 +675,7 @@ spriteSourceSize {58,97} textureRect - {{375,562},{58,97}} + {{793,298},{58,97}} textureRotated @@ -720,7 +690,7 @@ spriteSourceSize {58,97} textureRect - {{425,465},{58,97}} + {{800,201},{58,97}} textureRotated @@ -735,9 +705,9 @@ spriteSourceSize {60,95} textureRect - {{802,318},{60,95}} + {{1065,95},{60,95}} textureRotated - + Idle1_5.png @@ -750,7 +720,7 @@ spriteSourceSize {60,94} textureRect - {{877,533},{60,94}} + {{1151,189},{60,94}} textureRotated @@ -765,7 +735,7 @@ spriteSourceSize {59,93} textureRect - {{376,191},{59,93}} + {{1203,0},{59,93}} textureRotated @@ -780,7 +750,7 @@ spriteSourceSize {58,93} textureRect - {{502,266},{58,93}} + {{1206,283},{58,93}} textureRotated @@ -795,7 +765,7 @@ spriteSourceSize {59,93} textureRect - {{443,266},{59,93}} + {{1177,378},{59,93}} textureRotated @@ -810,7 +780,7 @@ spriteSourceSize {60,94} textureRect - {{877,627},{60,94}} + {{1200,94},{60,94}} textureRotated @@ -825,7 +795,7 @@ spriteSourceSize {77,68} textureRect - {{937,652},{77,68}} + {{1264,341},{77,68}} textureRotated @@ -840,9 +810,9 @@ spriteSourceSize {118,76} textureRect - {{355,0},{118,76}} + {{267,284},{118,76}} textureRotated - + InAirAtk1_10.png @@ -855,9 +825,9 @@ spriteSourceSize {104,65} textureRect - {{707,213},{104,65}} + {{595,106},{104,65}} textureRotated - + InAirAtk1_11.png @@ -870,9 +840,9 @@ spriteSourceSize {80,66} textureRect - {{289,264},{80,66}} + {{1349,0},{80,66}} textureRotated - + InAirAtk1_12.png @@ -885,7 +855,7 @@ spriteSourceSize {102,67} textureRect - {{245,563},{102,67}} + {{660,104},{102,67}} textureRotated @@ -900,7 +870,7 @@ spriteSourceSize {79,66} textureRect - {{937,365},{79,66}} + {{1349,66},{79,66}} textureRotated @@ -915,9 +885,9 @@ spriteSourceSize {124,64} textureRect - {{711,0},{124,64}} + {{156,0},{124,64}} textureRotated - + InAirAtk1_4.png @@ -930,9 +900,9 @@ spriteSourceSize {104,64} textureRect - {{811,254},{104,64}} + {{646,0},{104,64}} textureRotated - + InAirAtk1_5.png @@ -945,7 +915,7 @@ spriteSourceSize {79,61} textureRect - {{937,497},{79,61}} + {{1264,280},{79,61}} textureRotated @@ -960,9 +930,9 @@ spriteSourceSize {124,64} textureRect - {{835,0},{124,64}} + {{160,124},{124,64}} textureRotated - + InAirAtk1_7.png @@ -975,9 +945,9 @@ spriteSourceSize {106,67} textureRect - {{814,187},{106,67}} + {{641,402},{106,67}} textureRotated - + InAirAtk1_8.png @@ -990,7 +960,7 @@ spriteSourceSize {79,66} textureRect - {{937,431},{79,66}} + {{1349,132},{79,66}} textureRotated @@ -1005,7 +975,7 @@ spriteSourceSize {118,64} textureRect - {{89,240},{118,64}} + {{343,244},{118,64}} textureRotated @@ -1020,9 +990,9 @@ spriteSourceSize {71,119} textureRect - {{473,0},{71,119}} + {{282,0},{71,119}} textureRotated - + InAirIdle1_1.png @@ -1035,9 +1005,9 @@ spriteSourceSize {71,119} textureRect - {{592,0},{71,119}} + {{196,284},{71,119}} textureRotated - + InAirIdle1_10.png @@ -1050,9 +1020,9 @@ spriteSourceSize {55,114} textureRect - {{593,71},{55,114}} + {{353,0},{55,114}} textureRotated - + InAirIdle1_11.png @@ -1065,7 +1035,7 @@ spriteSourceSize {62,124} textureRect - {{100,470},{62,124}} + {{220,0},{62,124}} textureRotated @@ -1080,7 +1050,7 @@ spriteSourceSize {74,90} textureRect - {{803,628},{74,90}} + {{1273,183},{74,90}} textureRotated @@ -1095,7 +1065,7 @@ spriteSourceSize {110,54} textureRect - {{235,240},{110,54}} + {{286,402},{110,54}} textureRotated @@ -1110,9 +1080,9 @@ spriteSourceSize {85,88} textureRect - {{658,537},{85,88}} + {{1343,283},{85,88}} textureRotated - + InAirIdle1_5.png @@ -1125,7 +1095,7 @@ spriteSourceSize {64,112} textureRect - {{99,358},{64,112}} + {{469,112},{64,112}} textureRotated @@ -1140,9 +1110,9 @@ spriteSourceSize {62,107} textureRect - {{707,151},{62,107}} + {{533,112},{62,107}} textureRotated - + InAirIdle1_7.png @@ -1155,7 +1125,7 @@ spriteSourceSize {85,84} textureRect - {{623,264},{85,84}} + {{1347,198},{85,84}} textureRotated @@ -1170,9 +1140,9 @@ spriteSourceSize {109,61} textureRect - {{834,64},{109,61}} + {{506,224},{109,61}} textureRotated - + InAirIdle1_9.png @@ -1185,9 +1155,9 @@ spriteSourceSize {78,95} textureRect - {{707,278},{78,95}} + {{916,292},{78,95}} textureRotated - + LayDown1_0.png @@ -1200,9 +1170,9 @@ spriteSourceSize {115,56} textureRect - {{478,71},{115,56}} + {{347,119},{115,56}} textureRotated - + LayDown1_1.png @@ -1215,9 +1185,9 @@ spriteSourceSize {109,57} textureRect - {{707,94},{109,57}} + {{522,402},{109,57}} textureRotated - + LayDown1_2.png @@ -1230,9 +1200,9 @@ spriteSourceSize {108,62} textureRect - {{816,125},{108,62}} + {{579,402},{108,62}} textureRotated - + LayDown1_3.png @@ -1245,7 +1215,7 @@ spriteSourceSize {123,36} textureRect - {{355,76},{123,36}} + {{160,248},{123,36}} textureRotated @@ -1260,9 +1230,9 @@ spriteSourceSize {123,30} textureRect - {{711,64},{123,30}} + {{224,124},{123,30}} textureRotated - + Walking_0.png @@ -1275,7 +1245,7 @@ spriteSourceSize {78,95} textureRect - {{628,441},{78,95}} + {{923,191},{78,95}} textureRotated @@ -1290,7 +1260,7 @@ spriteSourceSize {75,96} textureRect - {{433,562},{75,96}} + {{831,0},{75,96}} textureRotated @@ -1305,7 +1275,7 @@ spriteSourceSize {65,96} textureRect - {{431,365},{65,96}} + {{851,298},{65,96}} textureRotated @@ -1320,7 +1290,7 @@ spriteSourceSize {65,96} textureRect - {{483,461},{65,96}} + {{858,196},{65,96}} textureRotated @@ -1335,9 +1305,9 @@ spriteSourceSize {74,95} textureRect - {{375,659},{74,95}} + {{976,387},{74,95}} textureRotated - + Walking_13.png @@ -1350,9 +1320,9 @@ spriteSourceSize {75,94} textureRect - {{470,658},{75,94}} + {{1125,95},{75,94}} textureRotated - + Walking_14.png @@ -1365,7 +1335,7 @@ spriteSourceSize {70,94} textureRect - {{937,558},{70,94}} + {{1133,0},{70,94}} textureRotated @@ -1380,9 +1350,9 @@ spriteSourceSize {78,94} textureRect - {{613,126},{78,94}} + {{1068,285},{78,94}} textureRotated - + Walking_2.png @@ -1395,9 +1365,9 @@ spriteSourceSize {69,96} textureRect - {{496,365},{69,96}} + {{507,333},{69,96}} textureRotated - + Walking_3.png @@ -1410,7 +1380,7 @@ spriteSourceSize {70,96} textureRect - {{508,557},{70,96}} + {{906,0},{70,96}} textureRotated @@ -1425,9 +1395,9 @@ spriteSourceSize {78,95} textureRect - {{796,378},{78,95}} + {{987,95},{78,95}} textureRotated - + Walking_5.png @@ -1440,9 +1410,9 @@ spriteSourceSize {77,95} textureRect - {{789,456},{77,95}} + {{1056,0},{77,95}} textureRotated - + Walking_6.png @@ -1455,9 +1425,9 @@ spriteSourceSize {69,94} textureRect - {{435,197},{69,94}} + {{1108,379},{69,94}} textureRotated - + Walking_7.png @@ -1470,7 +1440,7 @@ spriteSourceSize {77,94} textureRect - {{659,625},{77,94}} + {{1074,190},{77,94}} textureRotated @@ -1485,7 +1455,7 @@ spriteSourceSize {74,95} textureRect - {{803,533},{74,95}} + {{994,286},{74,95}} textureRotated @@ -1500,9 +1470,9 @@ spriteSourceSize {68,96} textureRect - {{267,665},{68,96}} + {{828,395},{68,96}} textureRotated - + metadata @@ -1516,9 +1486,9 @@ realTextureFileName MonkGirl.png size - {1016,733} + {1431,512} smartupdate - $TexturePacker:SmartUpdate:278efbee9ca246d0ea7209b427040c71:0ee1cca010fb9c74ab24ae28995c20de:7b088363a1f16e4f4ff313aecc52227b$ + $TexturePacker:SmartUpdate:b61c8127138360fc5127f38c3072d44e:e6a91336f913f21d08fc641d99741429:7b088363a1f16e4f4ff313aecc52227b$ textureFileName MonkGirl.png diff --git a/frontend/assets/resources/animation/MonkGirl/MonkGirl.plist.meta b/frontend/assets/resources/animation/MonkGirl/MonkGirl.plist.meta index 2b6411b..d76ba3e 100644 --- a/frontend/assets/resources/animation/MonkGirl/MonkGirl.plist.meta +++ b/frontend/assets/resources/animation/MonkGirl/MonkGirl.plist.meta @@ -3,8 +3,8 @@ "uuid": "725c90f9-56f8-48ea-9159-4d2949cd3ce0", "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "size": { - "width": 1016, - "height": 733 + "width": 1431, + "height": 512 }, "type": "Texture Packer", "subMetas": { @@ -17,8 +17,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 551, - "trimY": 127, + "trimX": 1211, + "trimY": 188, "width": 62, "height": 92, "rawWidth": 62, @@ -36,11 +36,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 93, - "trimY": 594, + "trimX": 603, + "trimY": 325, "width": 77, "height": 99, "rawWidth": 77, @@ -61,8 +61,8 @@ "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 0, - "trimY": 359, + "trimX": 407, + "trimY": 227, "width": 112, "height": 99, "rawWidth": 112, @@ -83,8 +83,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 240, - "trimY": 88, + "trimX": 727, + "trimY": 101, "width": 96, "height": 100, "rawWidth": 96, @@ -105,8 +105,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 551, - "trimY": 127, + "trimX": 1211, + "trimY": 188, "width": 62, "height": 92, "rawWidth": 62, @@ -124,11 +124,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 170, - "trimY": 675, + "trimX": 770, + "trimY": 402, "width": 58, "height": 97, "rawWidth": 58, @@ -146,11 +146,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 743, - "trimY": 537, + "trimX": 1324, + "trimY": 435, "width": 60, "height": 90, "rawWidth": 60, @@ -168,11 +168,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 920, - "trimY": 215, + "trimX": 823, + "trimY": 100, "width": 84, "height": 96, "rawWidth": 84, @@ -193,8 +193,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 302, - "trimY": 365, + "trimX": 776, + "trimY": 0, "width": 55, "height": 100, "rawWidth": 55, @@ -212,11 +212,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 312, - "trimY": 562, + "trimX": 407, + "trimY": 339, "width": 63, "height": 100, "rawWidth": 63, @@ -234,11 +234,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 915, - "trimY": 299, + "trimX": 710, + "trimY": 0, "width": 66, "height": 101, "rawWidth": 66, @@ -259,8 +259,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 548, - "trimY": 461, + "trimX": 907, + "trimY": 96, "width": 80, "height": 95, "rawWidth": 80, @@ -281,8 +281,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 0, - "trimY": 0, + "trimX": 340, + "trimY": 402, "width": 116, "height": 109, "rawWidth": 116, @@ -303,8 +303,8 @@ "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 144, - "trimY": 93, + "trimX": 646, + "trimY": 210, "width": 102, "height": 96, "rawWidth": 102, @@ -322,11 +322,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 170, - "trimY": 573, + "trimX": 0, + "trimY": 437, "width": 75, "height": 102, "rawWidth": 75, @@ -347,12 +347,12 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 93, - "trimY": 109, - "width": 51, - "height": 131, - "rawWidth": 51, - "rawHeight": 131, + "trimX": 456, + "trimY": 402, + "width": 66, + "height": 109, + "rawWidth": 66, + "rawHeight": 109, "borderTop": 0, "borderBottom": 0, "borderLeft": 0, @@ -369,34 +369,12 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 162, - "trimY": 470, - "width": 53, - "height": 103, - "rawWidth": 53, - "rawHeight": 103, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "Atk3_10.png": { - "ver": "1.0.4", - "uuid": "4e1a3e61-dc3e-4de1-9385-bce2c5f54764", - "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 357, - "trimY": 365, - "width": 74, - "height": 100, - "rawWidth": 74, - "rawHeight": 100, + "trimX": 403, + "trimY": 114, + "width": 66, + "height": 113, + "rawWidth": 66, + "rawHeight": 113, "borderTop": 0, "borderBottom": 0, "borderLeft": 0, @@ -410,15 +388,15 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 442, - "trimY": 127, - "width": 70, - "height": 109, - "rawWidth": 70, - "rawHeight": 109, + "trimX": 0, + "trimY": 0, + "width": 78, + "height": 151, + "rawWidth": 78, + "rawHeight": 151, "borderTop": 0, "borderBottom": 0, "borderLeft": 0, @@ -432,15 +410,15 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, "trimX": 0, - "trimY": 109, - "width": 131, - "height": 93, - "rawWidth": 131, - "rawHeight": 93, + "trimY": 151, + "width": 77, + "height": 144, + "rawWidth": 77, + "rawHeight": 144, "borderTop": 0, "borderBottom": 0, "borderLeft": 0, @@ -458,11 +436,11 @@ "offsetX": 0, "offsetY": 0, "trimX": 0, - "trimY": 240, - "width": 89, - "height": 119, - "rawWidth": 89, - "rawHeight": 119, + "trimY": 295, + "width": 78, + "height": 142, + "rawWidth": 78, + "rawHeight": 142, "borderTop": 0, "borderBottom": 0, "borderLeft": 0, @@ -476,15 +454,15 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 236, - "trimY": 0, - "width": 88, - "height": 119, - "rawWidth": 88, - "rawHeight": 119, + "trimX": 77, + "trimY": 151, + "width": 83, + "height": 139, + "rawWidth": 83, + "rawHeight": 139, "borderTop": 0, "borderBottom": 0, "borderLeft": 0, @@ -501,12 +479,12 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 959, + "trimX": 78, "trimY": 0, - "width": 57, - "height": 120, - "rawWidth": 57, - "rawHeight": 120, + "width": 78, + "height": 131, + "rawWidth": 78, + "rawHeight": 131, "borderTop": 0, "borderBottom": 0, "borderLeft": 0, @@ -523,12 +501,12 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 243, - "trimY": 350, + "trimX": 78, + "trimY": 290, "width": 59, - "height": 122, + "height": 139, "rawWidth": 59, - "rawHeight": 122, + "rawHeight": 139, "borderTop": 0, "borderBottom": 0, "borderLeft": 0, @@ -545,34 +523,12 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 163, - "trimY": 350, - "width": 80, - "height": 111, - "rawWidth": 80, - "rawHeight": 111, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "Atk3_9.png": { - "ver": "1.0.4", - "uuid": "11a06f33-cdfa-46cf-aae4-41e72a6711c2", - "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 153, - "trimY": 240, - "width": 82, - "height": 110, - "rawWidth": 82, - "rawHeight": 110, + "trimX": 137, + "trimY": 290, + "width": 59, + "height": 139, + "rawWidth": 59, + "rawHeight": 139, "borderTop": 0, "borderBottom": 0, "borderLeft": 0, @@ -589,8 +545,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 305, - "trimY": 465, + "trimX": 708, + "trimY": 402, "width": 62, "height": 97, "rawWidth": 62, @@ -611,8 +567,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 943, - "trimY": 120, + "trimX": 1001, + "trimY": 190, "width": 73, "height": 95, "rawWidth": 73, @@ -630,11 +586,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 706, - "trimY": 356, + "trimX": 1260, + "trimY": 93, "width": 90, "height": 89, "rawWidth": 90, @@ -652,11 +608,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 564, - "trimY": 653, + "trimX": 896, + "trimY": 394, "width": 95, "height": 80, "rawWidth": 95, @@ -677,8 +633,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 578, - "trimY": 556, + "trimX": 976, + "trimY": 0, "width": 80, "height": 95, "rawWidth": 80, @@ -696,11 +652,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 623, - "trimY": 349, + "trimX": 194, + "trimY": 429, "width": 83, "height": 92, "rawWidth": 83, @@ -718,11 +674,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 706, - "trimY": 445, + "trimX": 102, + "trimY": 429, "width": 92, "height": 83, "rawWidth": 92, @@ -740,11 +696,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 144, - "trimY": 195, + "trimX": 508, + "trimY": 0, "width": 112, "height": 45, "rawWidth": 112, @@ -765,8 +721,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 355, - "trimY": 284, + "trimX": 1236, + "trimY": 435, "width": 88, "height": 69, "rawWidth": 88, @@ -784,11 +740,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 215, - "trimY": 472, + "trimX": 702, + "trimY": 312, "width": 91, "height": 90, "rawWidth": 91, @@ -806,11 +762,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 116, - "trimY": 0, + "trimX": 254, + "trimY": 124, "width": 120, "height": 93, "rawWidth": 120, @@ -831,8 +787,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 0, - "trimY": 471, + "trimX": 408, + "trimY": 0, "width": 100, "height": 112, "rawWidth": 100, @@ -853,8 +809,8 @@ "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 0, - "trimY": 583, + "trimX": 553, + "trimY": 0, "width": 106, "height": 93, "rawWidth": 106, @@ -872,11 +828,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 336, - "trimY": 112, + "trimX": 567, + "trimY": 219, "width": 106, "height": 79, "rawWidth": 106, @@ -897,8 +853,8 @@ "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 289, - "trimY": 191, + "trimX": 1262, + "trimY": 0, "width": 73, "height": 87, "rawWidth": 73, @@ -916,11 +872,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 736, - "trimY": 627, + "trimX": 1341, + "trimY": 368, "width": 67, "height": 90, "rawWidth": 67, @@ -938,11 +894,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 170, - "trimY": 675, + "trimX": 770, + "trimY": 402, "width": 58, "height": 97, "rawWidth": 58, @@ -963,8 +919,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 565, - "trimY": 365, + "trimX": 1050, + "trimY": 381, "width": 58, "height": 95, "rawWidth": 58, @@ -985,8 +941,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 367, - "trimY": 465, + "trimX": 742, + "trimY": 201, "width": 58, "height": 97, "rawWidth": 58, @@ -1004,11 +960,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 613, - "trimY": 204, + "trimX": 1146, + "trimY": 284, "width": 60, "height": 94, "rawWidth": 60, @@ -1029,8 +985,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 375, - "trimY": 562, + "trimX": 793, + "trimY": 298, "width": 58, "height": 97, "rawWidth": 58, @@ -1051,8 +1007,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 425, - "trimY": 465, + "trimX": 800, + "trimY": 201, "width": 58, "height": 97, "rawWidth": 58, @@ -1070,11 +1026,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 802, - "trimY": 318, + "trimX": 1065, + "trimY": 95, "width": 60, "height": 95, "rawWidth": 60, @@ -1095,8 +1051,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 877, - "trimY": 533, + "trimX": 1151, + "trimY": 189, "width": 60, "height": 94, "rawWidth": 60, @@ -1117,8 +1073,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 376, - "trimY": 191, + "trimX": 1203, + "trimY": 0, "width": 59, "height": 93, "rawWidth": 59, @@ -1139,8 +1095,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 502, - "trimY": 266, + "trimX": 1206, + "trimY": 283, "width": 58, "height": 93, "rawWidth": 58, @@ -1161,8 +1117,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 443, - "trimY": 266, + "trimX": 1177, + "trimY": 378, "width": 59, "height": 93, "rawWidth": 59, @@ -1183,8 +1139,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 877, - "trimY": 627, + "trimX": 1200, + "trimY": 94, "width": 60, "height": 94, "rawWidth": 60, @@ -1205,8 +1161,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 937, - "trimY": 652, + "trimX": 1264, + "trimY": 341, "width": 77, "height": 68, "rawWidth": 77, @@ -1224,11 +1180,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 355, - "trimY": 0, + "trimX": 267, + "trimY": 284, "width": 118, "height": 76, "rawWidth": 118, @@ -1246,11 +1202,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 707, - "trimY": 213, + "trimX": 595, + "trimY": 106, "width": 104, "height": 65, "rawWidth": 104, @@ -1268,11 +1224,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 289, - "trimY": 264, + "trimX": 1349, + "trimY": 0, "width": 80, "height": 66, "rawWidth": 80, @@ -1293,8 +1249,8 @@ "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 245, - "trimY": 563, + "trimX": 660, + "trimY": 104, "width": 102, "height": 67, "rawWidth": 102, @@ -1315,8 +1271,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 937, - "trimY": 365, + "trimX": 1349, + "trimY": 66, "width": 79, "height": 66, "rawWidth": 79, @@ -1334,10 +1290,10 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 711, + "trimX": 156, "trimY": 0, "width": 124, "height": 64, @@ -1356,11 +1312,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 811, - "trimY": 254, + "trimX": 646, + "trimY": 0, "width": 104, "height": 64, "rawWidth": 104, @@ -1381,8 +1337,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 937, - "trimY": 497, + "trimX": 1264, + "trimY": 280, "width": 79, "height": 61, "rawWidth": 79, @@ -1400,11 +1356,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 835, - "trimY": 0, + "trimX": 160, + "trimY": 124, "width": 124, "height": 64, "rawWidth": 124, @@ -1422,11 +1378,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 814, - "trimY": 187, + "trimX": 641, + "trimY": 402, "width": 106, "height": 67, "rawWidth": 106, @@ -1447,8 +1403,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 937, - "trimY": 431, + "trimX": 1349, + "trimY": 132, "width": 79, "height": 66, "rawWidth": 79, @@ -1469,8 +1425,8 @@ "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 89, - "trimY": 240, + "trimX": 343, + "trimY": 244, "width": 118, "height": 64, "rawWidth": 118, @@ -1488,10 +1444,10 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 473, + "trimX": 282, "trimY": 0, "width": 71, "height": 119, @@ -1510,11 +1466,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 592, - "trimY": 0, + "trimX": 196, + "trimY": 284, "width": 71, "height": 119, "rawWidth": 71, @@ -1532,11 +1488,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 593, - "trimY": 71, + "trimX": 353, + "trimY": 0, "width": 55, "height": 114, "rawWidth": 55, @@ -1557,8 +1513,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 100, - "trimY": 470, + "trimX": 220, + "trimY": 0, "width": 62, "height": 124, "rawWidth": 62, @@ -1579,8 +1535,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 803, - "trimY": 628, + "trimX": 1273, + "trimY": 183, "width": 74, "height": 90, "rawWidth": 74, @@ -1601,8 +1557,8 @@ "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 235, - "trimY": 240, + "trimX": 286, + "trimY": 402, "width": 110, "height": 54, "rawWidth": 110, @@ -1620,11 +1576,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 658, - "trimY": 537, + "trimX": 1343, + "trimY": 283, "width": 85, "height": 88, "rawWidth": 85, @@ -1645,8 +1601,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 99, - "trimY": 358, + "trimX": 469, + "trimY": 112, "width": 64, "height": 112, "rawWidth": 64, @@ -1664,11 +1620,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 707, - "trimY": 151, + "trimX": 533, + "trimY": 112, "width": 62, "height": 107, "rawWidth": 62, @@ -1689,8 +1645,8 @@ "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 623, - "trimY": 264, + "trimX": 1347, + "trimY": 198, "width": 85, "height": 84, "rawWidth": 85, @@ -1708,11 +1664,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 834, - "trimY": 64, + "trimX": 506, + "trimY": 224, "width": 109, "height": 61, "rawWidth": 109, @@ -1730,11 +1686,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 707, - "trimY": 278, + "trimX": 916, + "trimY": 292, "width": 78, "height": 95, "rawWidth": 78, @@ -1752,11 +1708,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 478, - "trimY": 71, + "trimX": 347, + "trimY": 119, "width": 115, "height": 56, "rawWidth": 115, @@ -1774,11 +1730,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 707, - "trimY": 94, + "trimX": 522, + "trimY": 402, "width": 109, "height": 57, "rawWidth": 109, @@ -1796,11 +1752,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 816, - "trimY": 125, + "trimX": 579, + "trimY": 402, "width": 108, "height": 62, "rawWidth": 108, @@ -1821,8 +1777,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 355, - "trimY": 76, + "trimX": 160, + "trimY": 248, "width": 123, "height": 36, "rawWidth": 123, @@ -1840,11 +1796,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 711, - "trimY": 64, + "trimX": 224, + "trimY": 124, "width": 123, "height": 30, "rawWidth": 123, @@ -1865,8 +1821,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 628, - "trimY": 441, + "trimX": 923, + "trimY": 191, "width": 78, "height": 95, "rawWidth": 78, @@ -1887,8 +1843,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 433, - "trimY": 562, + "trimX": 831, + "trimY": 0, "width": 75, "height": 96, "rawWidth": 75, @@ -1909,8 +1865,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 431, - "trimY": 365, + "trimX": 851, + "trimY": 298, "width": 65, "height": 96, "rawWidth": 65, @@ -1931,8 +1887,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 483, - "trimY": 461, + "trimX": 858, + "trimY": 196, "width": 65, "height": 96, "rawWidth": 65, @@ -1950,11 +1906,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 375, - "trimY": 659, + "trimX": 976, + "trimY": 387, "width": 74, "height": 95, "rawWidth": 74, @@ -1972,11 +1928,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 470, - "trimY": 658, + "trimX": 1125, + "trimY": 95, "width": 75, "height": 94, "rawWidth": 75, @@ -1997,8 +1953,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 937, - "trimY": 558, + "trimX": 1133, + "trimY": 0, "width": 70, "height": 94, "rawWidth": 70, @@ -2016,11 +1972,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 613, - "trimY": 126, + "trimX": 1068, + "trimY": 285, "width": 78, "height": 94, "rawWidth": 78, @@ -2038,11 +1994,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": false, + "rotated": true, "offsetX": 0, "offsetY": 0, - "trimX": 496, - "trimY": 365, + "trimX": 507, + "trimY": 333, "width": 69, "height": 96, "rawWidth": 69, @@ -2063,8 +2019,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 508, - "trimY": 557, + "trimX": 906, + "trimY": 0, "width": 70, "height": 96, "rawWidth": 70, @@ -2082,11 +2038,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 796, - "trimY": 378, + "trimX": 987, + "trimY": 95, "width": 78, "height": 95, "rawWidth": 78, @@ -2104,11 +2060,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 789, - "trimY": 456, + "trimX": 1056, + "trimY": 0, "width": 77, "height": 95, "rawWidth": 77, @@ -2126,11 +2082,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 435, - "trimY": 197, + "trimX": 1108, + "trimY": 379, "width": 69, "height": 94, "rawWidth": 69, @@ -2151,8 +2107,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 659, - "trimY": 625, + "trimX": 1074, + "trimY": 190, "width": 77, "height": 94, "rawWidth": 77, @@ -2173,8 +2129,8 @@ "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 803, - "trimY": 533, + "trimX": 994, + "trimY": 286, "width": 74, "height": 95, "rawWidth": 74, @@ -2192,11 +2148,11 @@ "rawTextureUuid": "8d4cf214-f71c-4237-bdc1-ca0069909248", "trimType": "auto", "trimThreshold": 1, - "rotated": true, + "rotated": false, "offsetX": 0, "offsetY": 0, - "trimX": 267, - "trimY": 665, + "trimX": 828, + "trimY": 395, "width": 68, "height": 96, "rawWidth": 68, diff --git a/frontend/assets/resources/animation/MonkGirl/MonkGirl.png b/frontend/assets/resources/animation/MonkGirl/MonkGirl.png index dc9467c..9c31fbd 100644 Binary files a/frontend/assets/resources/animation/MonkGirl/MonkGirl.png and b/frontend/assets/resources/animation/MonkGirl/MonkGirl.png differ diff --git a/frontend/assets/resources/prefabs/ControlledCharacter.prefab b/frontend/assets/resources/prefabs/ControlledCharacter.prefab index 1e75df0..f768285 100644 --- a/frontend/assets/resources/prefabs/ControlledCharacter.prefab +++ b/frontend/assets/resources/prefabs/ControlledCharacter.prefab @@ -33,14 +33,14 @@ "_active": true, "_components": [ { - "__id__": 27 + "__id__": 21 }, { - "__id__": 28 + "__id__": 22 } ], "_prefab": { - "__id__": 29 + "__id__": 23 }, "_opacity": 255, "_color": { @@ -489,19 +489,13 @@ "__id__": 12 }, { - "__id__": 15 - }, - { - "__id__": 18 - }, - { - "__id__": 22 + "__id__": 16 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 26 + "__id__": 20 }, "_opacity": 255, "_color": { @@ -550,381 +544,6 @@ "groupIndex": 0, "_id": "" }, - { - "__type__": "cc.Node", - "_name": "SoldierWaterGhost", - "_objFlags": 0, - "_parent": { - "__id__": 11 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 13 - } - ], - "_prefab": { - "__id__": 14 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - -24, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "dragonBones.ArmatureDisplay", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 12 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_armatureName": "SoldierWaterGhost", - "_animationName": "Idle1", - "_preCacheMode": 0, - "_cacheMode": 0, - "playTimes": -1, - "premultipliedAlpha": false, - "_armatureKey": "2ae76843-1f61-48cf-bbfb-384c0dcf77e1#e9e703e9-3589-4713-b889-28b23406d220", - "_accTime": 0, - "_playCount": 0, - "_frameCache": null, - "_curFrame": null, - "_playing": false, - "_armatureCache": null, - "_N$dragonAsset": { - "__uuid__": "2ae76843-1f61-48cf-bbfb-384c0dcf77e1" - }, - "_N$dragonAtlasAsset": { - "__uuid__": "e9e703e9-3589-4713-b889-28b23406d220" - }, - "_N$_defaultArmatureIndex": 0, - "_N$_animationIndex": 8, - "_N$_defaultCacheMode": 0, - "_N$timeScale": 1, - "_N$debugBones": false, - "_N$enableBatch": false, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__uuid__": "59bff7a2-23e1-4d69-bce7-afb37eae196a" - }, - "fileId": "42Rmp/YOdMOYWzJwr3ET1h", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "SoldierFireGhost", - "_objFlags": 0, - "_parent": { - "__id__": 11 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 16 - } - ], - "_prefab": { - "__id__": 17 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - -24, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "dragonBones.ArmatureDisplay", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 15 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_armatureName": "SoldierFireGhost", - "_animationName": "Idle1", - "_preCacheMode": 0, - "_cacheMode": 0, - "playTimes": -1, - "premultipliedAlpha": false, - "_armatureKey": "36230012-8df3-4e85-afad-76ec47d0e4d7#4a9187d5-a9ad-4464-a03c-d2f3cc277051", - "_accTime": 0, - "_playCount": 0, - "_frameCache": null, - "_curFrame": null, - "_playing": false, - "_armatureCache": null, - "_N$dragonAsset": { - "__uuid__": "36230012-8df3-4e85-afad-76ec47d0e4d7" - }, - "_N$dragonAtlasAsset": { - "__uuid__": "4a9187d5-a9ad-4464-a03c-d2f3cc277051" - }, - "_N$_defaultArmatureIndex": 0, - "_N$_animationIndex": 8, - "_N$_defaultCacheMode": 0, - "_N$timeScale": 1, - "_N$debugBones": false, - "_N$enableBatch": false, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__uuid__": "59bff7a2-23e1-4d69-bce7-afb37eae196a" - }, - "fileId": "3b2LJFABVL7ozO2U81FC4U", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "UltramanTiga", - "_objFlags": 0, - "_parent": { - "__id__": 11 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 19 - }, - { - "__id__": 20 - } - ], - "_prefab": { - "__id__": 21 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 1425, - "height": 1024 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0.7, - 0.7, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Animation", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "_defaultClip": null, - "_clips": [ - { - "__uuid__": "252b321f-81f4-485c-85bd-ea44d298cb76" - }, - { - "__uuid__": "f51bb583-0010-48f3-a6a1-451a78ac2d65" - }, - { - "__uuid__": "c738236a-0702-45f8-aa38-99457b051997" - }, - { - "__uuid__": "c69bcceb-d7d1-4e33-9623-e2a374a0a6b6" - }, - { - "__uuid__": "43dbf141-be76-48c3-bdef-29233ccbe30d" - }, - { - "__uuid__": "8710591c-3f5e-4911-83e7-42cc18be6af9" - }, - { - "__uuid__": "c69bcceb-d7d1-4e33-9623-e2a374a0a6b6" - } - ], - "playOnLoad": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": null, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "5d522f7b-359b-4f38-ac35-55fdbee56cae" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__uuid__": "59bff7a2-23e1-4d69-bce7-afb37eae196a" - }, - "fileId": "17JdhftghBYr81MfV9i6cy", - "sync": false - }, { "__type__": "cc.Node", "_name": "MonkGirl", @@ -933,17 +552,17 @@ "__id__": 11 }, "_children": [], - "_active": true, + "_active": false, "_components": [ { - "__id__": 23 + "__id__": 13 }, { - "__id__": 24 + "__id__": 14 } ], "_prefab": { - "__id__": 25 + "__id__": 15 }, "_opacity": 255, "_color": { @@ -997,7 +616,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 22 + "__id__": 12 }, "_enabled": true, "_defaultClip": null, @@ -1050,7 +669,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 22 + "__id__": 12 }, "_enabled": true, "_materials": [ @@ -1088,6 +707,169 @@ "fileId": "6cGpRwF5ZPjpJdtoqbrnta", "sync": false }, + { + "__type__": "cc.Node", + "_name": "KnifeGirl", + "_objFlags": 0, + "_parent": { + "__id__": 11 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 17 + }, + { + "__id__": 18 + } + ], + "_prefab": { + "__id__": 19 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 1425, + "height": 1024 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0.7, + 0.7, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Animation", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 16 + }, + "_enabled": true, + "_defaultClip": null, + "_clips": [ + { + "__uuid__": "5afe50e0-d03f-4d48-a7c0-a350c36e14d4" + }, + { + "__uuid__": "f7f60d3f-32c0-4b56-901e-6eec9f73fa83" + }, + { + "__uuid__": "829b17c6-9365-4e97-b14f-fa266bd5ecbe" + }, + { + "__uuid__": "2a50c853-000b-46f3-ae59-1dfb793de814" + }, + { + "__uuid__": "bc461a02-4d1a-46a4-9f3c-7370adc6c1c8" + }, + { + "__uuid__": "c4ddf3ea-2292-4511-a320-5486934ac361" + }, + { + "__uuid__": "0e7468cc-b90d-4f68-91ce-0be126b406dd" + }, + { + "__uuid__": "c86debde-118b-46b8-b483-f5ccec337315" + }, + { + "__uuid__": "0892a3ea-9da1-4157-825b-0c8ef1c73eeb" + }, + { + "__uuid__": "0a6478a6-f4cc-47cb-a1c6-761cf9141eb2" + }, + { + "__uuid__": "7d69868f-d474-4d86-a262-01f1cdd49021" + }, + { + "__uuid__": "52b8e47d-715c-4c12-a2c9-6f553e14dc42" + }, + { + "__uuid__": "9b500cb0-8048-4715-81db-cc975c914225" + } + ], + "playOnLoad": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 16 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": null, + "_type": 0, + "_sizeMode": 1, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": { + "__uuid__": "579bc0c1-f5e2-4a5d-889b-9d567e53b0e6" + }, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__uuid__": "59bff7a2-23e1-4d69-bce7-afb37eae196a" + }, + "fileId": "bdCx1wrTtJ1KaGHUmgL7iA", + "sync": false + }, { "__type__": "cc.PrefabInfo", "root": { diff --git a/frontend/assets/scenes/offline_map.fire b/frontend/assets/scenes/offline_map.fire index 7059ef0..6ba3709 100644 --- a/frontend/assets/scenes/offline_map.fire +++ b/frontend/assets/scenes/offline_map.fire @@ -461,7 +461,7 @@ "array": [ 0, 0, - 216.50635094610968, + 216.05530045313827, 0, 0, 0, diff --git a/frontend/assets/scripts/AttackingCharacter.js b/frontend/assets/scripts/AttackingCharacter.js index 672b997..ca81472 100644 --- a/frontend/assets/scripts/AttackingCharacter.js +++ b/frontend/assets/scripts/AttackingCharacter.js @@ -80,9 +80,9 @@ cc.Class({ // Update directions if (this.animComp && this.animComp.node) { if (0 > rdfPlayer.DirX) { - this.animComp.node.scaleX = (-1.0); + this.animNode.scaleX = (-1.0); } else if (0 < rdfPlayer.DirX) { - this.animComp.node.scaleX = (1.0); + this.animNode.scaleX = (1.0); } } diff --git a/frontend/assets/scripts/OfflineMap.js b/frontend/assets/scripts/OfflineMap.js index 166ffde..061ee53 100644 --- a/frontend/assets/scripts/OfflineMap.js +++ b/frontend/assets/scripts/OfflineMap.js @@ -161,7 +161,7 @@ cc.Class({ inAir: true, }), ], - speciesIdList: [0, 0], + speciesIdList: [1, 0], }); self.selfPlayerInfo = { diff --git a/jsexport/battle/battle.go b/jsexport/battle/battle.go index e59d3e9..e8917d5 100644 --- a/jsexport/battle/battle.go +++ b/jsexport/battle/battle.go @@ -28,8 +28,8 @@ const ( SNAP_INTO_PLATFORM_OVERLAP = float64(0.1) SNAP_INTO_PLATFORM_THRESHOLD = float64(0.5) - NO_SKILL = int32(-1) - NO_SKILL_HIT = int32(-1) + NO_SKILL = -1 + NO_SKILL_HIT = -1 ) // These directions are chosen such that when speed is changed to "(speedX+delta, speedY+delta)" for any of them, the direction is unchanged. @@ -383,30 +383,9 @@ func deriveOpPattern(currPlayerDownsync, thatPlayerInNextFrame *PlayerDownsync, } } - /* - As long as the current "CharacterState" is not in "noOpSet", we have 2 cases where attacking is allowed: - 1. it happens when the player is IDLE or Walking, i.e. "0 == currPlayerDownsync.FramesToRecover", which is just the normal case - 2. it happens when the player is having non-empty "ActiveSkillId" which might be cancellable - */ patternId := PATTERN_ID_NO_OP if decodedInput.BtnALevel > prevBtnALevel { - if currPlayerDownsync.InAir { - patternId = 255 - } else { - patternId = 1 - } - } - - if PATTERN_ID_NO_OP != patternId && 0 < currPlayerDownsync.FramesToRecover { - // [WARN] Handle skill cancellation - patternId = PATTERN_ID_NO_OP // First, reset the patternId to no-op as it should be by default not cancelling anything - skillConfig := skills[int(currPlayerDownsync.ActiveSkillId)] - switch v := skillConfig.Hits[currPlayerDownsync.ActiveSkillHit].(type) { - case *MeleeBullet: - if v.CancellableStFrame <= currPlayerDownsync.FramesInChState && currPlayerDownsync.FramesInChState < v.CancellableEdFrame { - patternId = int(currPlayerDownsync.ActiveSkillId + 1) // if "currPlayerDownsync.InAir", it won't map to a valid skill in the next step and thus act as PATTERN_ID_NO_OP - } - } + patternId = 1 } return patternId, jumpedOrNot, effDx, effDy @@ -463,38 +442,28 @@ func ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame(inputsBuffer *RingBuffer jumpedOrNotList[i] = true } joinIndex := currPlayerDownsync.JoinIndex - if PATTERN_ID_NO_OP != patternId { - if skillId, existent := chConfig.PatternIdToSkillId[patternId]; existent { - skillConfig := skills[skillId] - thatPlayerInNextFrame.ActiveSkillId = int32(skillId) - thatPlayerInNextFrame.ActiveSkillHit = 0 + skillId := chConfig.SkillMapper(patternId, currPlayerDownsync) + if skillConfig, existent := skills[skillId]; existent { + thatPlayerInNextFrame.ActiveSkillId = int32(skillId) + thatPlayerInNextFrame.ActiveSkillHit = 0 - // TODO: Respect non-zero "selfLockVel" + // TODO: Respect non-zero "selfLockVel" - // Hardcoded to use only the first hit for now - switch v := skillConfig.Hits[thatPlayerInNextFrame.ActiveSkillHit].(type) { - case *MeleeBullet: - var newBullet MeleeBullet = *v // Copied primitive fields into an onstack variable - newBullet.OriginatedRenderFrameId = currRenderFrame.Id - newBullet.OffenderJoinIndex = joinIndex - nextRenderFrameMeleeBullets = append(nextRenderFrameMeleeBullets, &newBullet) - thatPlayerInNextFrame.FramesToRecover = skillConfig.RecoveryFrames - } - - // TODO: How to differentiate skill cancellable among different characters, e.g. some characters might be allowed to have 4-cancellation-combo or more? - switch skillId { - case 1: - thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_ATK1 - case 2: - thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_ATK2 - case 3: - thatPlayerInNextFrame.CharacterState = ATK_CHARACTER_STATE_ATK3 - } - if false == currPlayerDownsync.InAir { - thatPlayerInNextFrame.VelX = 0 - } - continue // Don't allow movement if skill is used + // Hardcoded to use only the first hit for now + switch v := skillConfig.Hits[thatPlayerInNextFrame.ActiveSkillHit].(type) { + case *MeleeBullet: + var newBullet MeleeBullet = *v // Copied primitive fields into an onstack variable + newBullet.OriginatedRenderFrameId = currRenderFrame.Id + newBullet.OffenderJoinIndex = joinIndex + nextRenderFrameMeleeBullets = append(nextRenderFrameMeleeBullets, &newBullet) + thatPlayerInNextFrame.FramesToRecover = skillConfig.RecoveryFrames } + + thatPlayerInNextFrame.CharacterState = skillConfig.BoundChState + if false == currPlayerDownsync.InAir { + thatPlayerInNextFrame.VelX = 0 + } + continue // Don't allow movement if skill is used } if 0 == currPlayerDownsync.FramesToRecover { @@ -720,8 +689,8 @@ func ApplyInputFrameDownsyncDynamicsOnSingleRenderFrame(inputsBuffer *RingBuffer // Remove any active skill if not attacking if _, existent := nonAttackingSet[thatPlayerInNextFrame.CharacterState]; existent { - thatPlayerInNextFrame.ActiveSkillId = NO_SKILL - thatPlayerInNextFrame.ActiveSkillHit = NO_SKILL_HIT + thatPlayerInNextFrame.ActiveSkillId = int32(NO_SKILL) + thatPlayerInNextFrame.ActiveSkillHit = int32(NO_SKILL_HIT) } } diff --git a/jsexport/battle/characterConfig.go b/jsexport/battle/characterConfig.go index 4c30c39..165882a 100644 --- a/jsexport/battle/characterConfig.go +++ b/jsexport/battle/characterConfig.go @@ -1,5 +1,7 @@ package battle +type SkillMapperType func(patternId int, currPlayerDownsync *PlayerDownsync) int + type CharacterConfig struct { SpeciesId int SpeciesName string @@ -15,7 +17,7 @@ type CharacterConfig struct { JumpingInitVelY int32 - PatternIdToSkillId map[int]int + SkillMapper SkillMapperType } var Characters = map[int]*CharacterConfig{ @@ -34,26 +36,89 @@ var Characters = map[int]*CharacterConfig{ JumpingInitVelY: int32(float64(8) * WORLD_TO_VIRTUAL_GRID_RATIO), - PatternIdToSkillId: map[int]int{ - 1: 1, // Atk1 - 2: 2, // Atk2 - 3: 3, // Atk3 - 255: 255, // InAirAtk1 + SkillMapper: func(patternId int, currPlayerDownsync *PlayerDownsync) int { + if 1 == patternId { + if 0 == currPlayerDownsync.FramesToRecover { + if currPlayerDownsync.InAir { + return 255 + } else { + return 1 + } + } else { + // Now that "0 < FramesToRecover", we're only able to fire any skill if it's a cancellation + if skillConfig, existent1 := skills[int(currPlayerDownsync.ActiveSkillId)]; existent1 { + switch v := skillConfig.Hits[currPlayerDownsync.ActiveSkillHit].(type) { + case *MeleeBullet: + if v.CancellableStFrame <= currPlayerDownsync.FramesInChState && currPlayerDownsync.FramesInChState < v.CancellableEdFrame { + if nextSkillId, existent2 := v.CancelTransit[patternId]; existent2 { + return nextSkillId + } + } + } + } + } + } + + // By default no skill can be fired + return NO_SKILL + }, + }, + 1: &CharacterConfig{ + SpeciesId: 1, + SpeciesName: "KnifeGirl", + + InAirIdleFrameIdxTurningPoint: 9, + InAirIdleFrameIdxTurnedCycle: 1, + + LayDownFrames: int32(16), + LayDownFramesToRecover: int32(16), + + GetUpFrames: int32(30), + GetUpFramesToRecover: int32(27), // 3 invinsible frames for just-blown-up character to make a comeback + + JumpingInitVelY: int32(float64(7.5) * WORLD_TO_VIRTUAL_GRID_RATIO), + + SkillMapper: func(patternId int, currPlayerDownsync *PlayerDownsync) int { + if 1 == patternId { + if 0 == currPlayerDownsync.FramesToRecover { + if currPlayerDownsync.InAir { + return 256 + } else { + return 4 + } + } else { + // Now that "0 < FramesToRecover", we're only able to fire any skill if it's a cancellation + if skillConfig, existent1 := skills[int(currPlayerDownsync.ActiveSkillId)]; existent1 { + switch v := skillConfig.Hits[currPlayerDownsync.ActiveSkillHit].(type) { + case *MeleeBullet: + if v.CancellableStFrame <= currPlayerDownsync.FramesInChState && currPlayerDownsync.FramesInChState < v.CancellableEdFrame { + if nextSkillId, existent2 := v.CancelTransit[patternId]; existent2 { + return nextSkillId + } + } + } + } + } + } + + // By default no skill can be fired + return NO_SKILL }, }, } var skills = map[int]*Skill{ 1: &Skill{ - RecoveryFrames: int32(20), - RecoveryFramesOnBlock: int32(20), - RecoveryFramesOnHit: int32(20), + RecoveryFrames: int32(30), + RecoveryFramesOnBlock: int32(30), + RecoveryFramesOnHit: int32(30), ReleaseTriggerType: int32(1), + BoundChState: ATK_CHARACTER_STATE_ATK1, Hits: []interface{}{ &MeleeBullet{ Bullet: Bullet{ - StartupFrames: int32(5), - ActiveFrames: int32(10), + StartupFrames: int32(7), + ActiveFrames: int32(22), HitStunFrames: int32(13), BlockStunFrames: int32(9), Damage: int32(5), @@ -63,8 +128,12 @@ var skills = map[int]*Skill{ HitboxOffsetY: int32(0), HitboxSizeX: int32(float64(24) * WORLD_TO_VIRTUAL_GRID_RATIO), HitboxSizeY: int32(float64(32) * WORLD_TO_VIRTUAL_GRID_RATIO), - CancellableStFrame: int32(8), - CancellableEdFrame: int32(20), + CancellableStFrame: int32(13), + CancellableEdFrame: int32(30), + + CancelTransit: map[int]int{ + 1: 2, + }, // TODO: Use non-zero "selfLockVel" }, }, @@ -75,11 +144,12 @@ var skills = map[int]*Skill{ RecoveryFramesOnBlock: int32(36), RecoveryFramesOnHit: int32(36), ReleaseTriggerType: int32(1), + BoundChState: ATK_CHARACTER_STATE_ATK2, Hits: []interface{}{ &MeleeBullet{ Bullet: Bullet{ - StartupFrames: int32(3), - ActiveFrames: int32(20), + StartupFrames: int32(18), + ActiveFrames: int32(18), HitStunFrames: int32(18), BlockStunFrames: int32(9), Damage: int32(5), @@ -89,8 +159,11 @@ var skills = map[int]*Skill{ HitboxOffsetY: int32(0), HitboxSizeX: int32(float64(24) * WORLD_TO_VIRTUAL_GRID_RATIO), HitboxSizeY: int32(float64(32) * WORLD_TO_VIRTUAL_GRID_RATIO), - CancellableStFrame: int32(18), + CancellableStFrame: int32(22), CancellableEdFrame: int32(36), + CancelTransit: map[int]int{ + 1: 3, + }, }, }, }, @@ -100,16 +173,102 @@ var skills = map[int]*Skill{ RecoveryFramesOnBlock: int32(60), RecoveryFramesOnHit: int32(60), ReleaseTriggerType: int32(1), + BoundChState: ATK_CHARACTER_STATE_ATK3, Hits: []interface{}{ &MeleeBullet{ Bullet: Bullet{ - StartupFrames: int32(1), - ActiveFrames: int32(30), + StartupFrames: int32(15), + ActiveFrames: int32(40), HitStunFrames: MAX_INT32, BlockStunFrames: int32(9), Damage: int32(10), - PushbackVelX: int32(float64(1) * WORLD_TO_VIRTUAL_GRID_RATIO), - PushbackVelY: int32(float64(4) * WORLD_TO_VIRTUAL_GRID_RATIO), + PushbackVelX: int32(float64(2) * WORLD_TO_VIRTUAL_GRID_RATIO), + PushbackVelY: int32(float64(7) * WORLD_TO_VIRTUAL_GRID_RATIO), + HitboxOffsetX: int32(float64(24) * WORLD_TO_VIRTUAL_GRID_RATIO), + HitboxOffsetY: int32(0), + HitboxSizeX: int32(float64(32) * WORLD_TO_VIRTUAL_GRID_RATIO), + HitboxSizeY: int32(float64(32) * WORLD_TO_VIRTUAL_GRID_RATIO), + BlowUp: true, + }, + }, + }, + }, + 4: &Skill{ + RecoveryFrames: int32(30), + RecoveryFramesOnBlock: int32(30), + RecoveryFramesOnHit: int32(30), + ReleaseTriggerType: int32(1), + BoundChState: ATK_CHARACTER_STATE_ATK1, + Hits: []interface{}{ + &MeleeBullet{ + Bullet: Bullet{ + StartupFrames: int32(7), + ActiveFrames: int32(22), + HitStunFrames: int32(13), + BlockStunFrames: int32(9), + Damage: int32(5), + PushbackVelX: int32(float64(0.5) * WORLD_TO_VIRTUAL_GRID_RATIO), + PushbackVelY: int32(0), + HitboxOffsetX: int32(float64(12) * WORLD_TO_VIRTUAL_GRID_RATIO), + HitboxOffsetY: int32(0), + HitboxSizeX: int32(float64(24) * WORLD_TO_VIRTUAL_GRID_RATIO), + HitboxSizeY: int32(float64(32) * WORLD_TO_VIRTUAL_GRID_RATIO), + CancellableStFrame: int32(13), + CancellableEdFrame: int32(30), + + CancelTransit: map[int]int{ + 1: 5, + }, + // TODO: Use non-zero "selfLockVel" + }, + }, + }, + }, + 5: &Skill{ + RecoveryFrames: int32(36), + RecoveryFramesOnBlock: int32(36), + RecoveryFramesOnHit: int32(36), + ReleaseTriggerType: int32(1), + BoundChState: ATK_CHARACTER_STATE_ATK2, + Hits: []interface{}{ + &MeleeBullet{ + Bullet: Bullet{ + StartupFrames: int32(18), + ActiveFrames: int32(18), + HitStunFrames: int32(18), + BlockStunFrames: int32(9), + Damage: int32(5), + PushbackVelX: int32(float64(0.5) * WORLD_TO_VIRTUAL_GRID_RATIO), + PushbackVelY: int32(0), + HitboxOffsetX: int32(float64(18) * WORLD_TO_VIRTUAL_GRID_RATIO), + HitboxOffsetY: int32(0), + HitboxSizeX: int32(float64(24) * WORLD_TO_VIRTUAL_GRID_RATIO), + HitboxSizeY: int32(float64(32) * WORLD_TO_VIRTUAL_GRID_RATIO), + CancellableStFrame: int32(22), + CancellableEdFrame: int32(36), + CancelTransit: map[int]int{ + 1: 6, + }, + }, + }, + }, + }, + 6: &Skill{ + RecoveryFrames: int32(60), + RecoveryFramesOnBlock: int32(60), + RecoveryFramesOnHit: int32(60), + ReleaseTriggerType: int32(1), + BoundChState: ATK_CHARACTER_STATE_ATK3, + Hits: []interface{}{ + &MeleeBullet{ + Bullet: Bullet{ + StartupFrames: int32(15), + ActiveFrames: int32(40), + HitStunFrames: MAX_INT32, + BlockStunFrames: int32(9), + Damage: int32(10), + PushbackVelX: int32(float64(2) * WORLD_TO_VIRTUAL_GRID_RATIO), + PushbackVelY: int32(float64(7) * WORLD_TO_VIRTUAL_GRID_RATIO), HitboxOffsetX: int32(float64(24) * WORLD_TO_VIRTUAL_GRID_RATIO), HitboxOffsetY: int32(0), HitboxSizeX: int32(float64(32) * WORLD_TO_VIRTUAL_GRID_RATIO), @@ -124,6 +283,31 @@ var skills = map[int]*Skill{ RecoveryFramesOnBlock: int32(34), RecoveryFramesOnHit: int32(34), ReleaseTriggerType: int32(1), + BoundChState: ATK_CHARACTER_STATE_INAIR_ATK1, + Hits: []interface{}{ + &MeleeBullet{ + Bullet: Bullet{ + StartupFrames: int32(3), + ActiveFrames: int32(20), + HitStunFrames: int32(18), + BlockStunFrames: int32(9), + Damage: int32(5), + PushbackVelX: int32(float64(0.5) * WORLD_TO_VIRTUAL_GRID_RATIO), + PushbackVelY: int32(0), + HitboxOffsetX: int32(float64(12) * WORLD_TO_VIRTUAL_GRID_RATIO), + HitboxOffsetY: int32(0), + HitboxSizeX: int32(float64(32) * WORLD_TO_VIRTUAL_GRID_RATIO), + HitboxSizeY: int32(float64(24) * WORLD_TO_VIRTUAL_GRID_RATIO), + }, + }, + }, + }, + 256: &Skill{ + RecoveryFrames: int32(34), + RecoveryFramesOnBlock: int32(34), + RecoveryFramesOnHit: int32(34), + ReleaseTriggerType: int32(1), + BoundChState: ATK_CHARACTER_STATE_INAIR_ATK1, Hits: []interface{}{ &MeleeBullet{ Bullet: Bullet{ diff --git a/jsexport/battle/room_downsync_frame.go b/jsexport/battle/room_downsync_frame.go index f411c0e..110bf99 100644 --- a/jsexport/battle/room_downsync_frame.go +++ b/jsexport/battle/room_downsync_frame.go @@ -79,6 +79,8 @@ type Bullet struct { HitboxSizeY int32 BlowUp bool + + CancelTransit map[int]int } type MeleeBullet struct { @@ -101,7 +103,8 @@ type Skill struct { RecoveryFrames int32 RecoveryFramesOnBlock int32 RecoveryFramesOnHit int32 - ReleaseTriggerType int32 // 1: rising-edge, 2: falling-edge + ReleaseTriggerType int32 // 1: rising-edge, 2: falling-edge + BoundChState int32 Hits []interface{} // Hits within a "Skill" are automatically triggered }