public void Load(S.ObjectNPC info) { Name = info.Name; NameColour = info.NameColour; CurrentLocation = info.Location; Movement = info.Location; MapLocation = info.Location; GameScene.Scene.MapControl.AddObject(this); Direction = info.Direction; if (info.Image < Libraries.NPCs.Length) BodyLibrary = Libraries.NPCs[info.Image]; switch (info.Image) { case 23: Frames = FrameSet.NPCs[1]; break; default: Frames = FrameSet.NPCs[0]; break; } Light = 10; SetAction(); }
public void Load(S.ObjectNPC info) { Name = info.Name; NameColour = info.NameColour; CurrentLocation = info.Location; Direction = info.Direction; Movement = info.Location; MapLocation = info.Location; GameScene.Scene.MapControl.AddObject(this); Quests = GameScene.QuestInfoList.Where(c => c.NPCIndex == ObjectID).ToList(); Image = info.Image; Colour = info.Colour; LoadLibrary(); Frames = BodyLibrary.Frames ?? FrameSet.DefaultNPC; Light = 10; BaseIndex = 0; SetAction(); }
public bool SetAction() { if (NextAction != null && !GameScene.CanMove) { switch (NextAction.Action) { case MirAction.Walking: case MirAction.Pushed: return false; } } if (ActionFeed.Count == 0) { CurrentAction = Stoned ? MirAction.Stoned : MirAction.Standing; if (CurrentAction == MirAction.Standing) CurrentAction = SitDown ? MirAction.SitDown : MirAction.Standing; Frames.Frames.TryGetValue(CurrentAction, out Frame); if (MapLocation != CurrentLocation) { GameScene.Scene.MapControl.RemoveObject(this); MapLocation = CurrentLocation; GameScene.Scene.MapControl.AddObject(this); } FrameIndex = 0; if (Frame == null) return false; FrameInterval = Frame.Interval; } else { QueuedAction action = ActionFeed[0]; ActionFeed.RemoveAt(0); CurrentAction = action.Action; CurrentLocation = action.Location; Direction = action.Direction; Point temp; switch (CurrentAction) { case MirAction.Walking: case MirAction.Pushed: int i = CurrentAction == MirAction.Running ? 2 : 1; temp = Functions.PointMove(CurrentLocation, Direction, CurrentAction == MirAction.Pushed ? 0 : -i); break; default: temp = CurrentLocation; break; } temp = new Point(action.Location.X, temp.Y > CurrentLocation.Y ? temp.Y : CurrentLocation.Y); if (MapLocation != temp) { GameScene.Scene.MapControl.RemoveObject(this); MapLocation = temp; GameScene.Scene.MapControl.AddObject(this); } switch (CurrentAction) { case MirAction.Pushed: Frames.Frames.TryGetValue(MirAction.Walking, out Frame); break; case MirAction.AttackRange1: if (!Frames.Frames.TryGetValue(CurrentAction, out Frame)) Frames.Frames.TryGetValue(MirAction.Attack1, out Frame); break; case MirAction.AttackRange2: if (!Frames.Frames.TryGetValue(CurrentAction, out Frame)) Frames.Frames.TryGetValue(MirAction.Attack2, out Frame); break; case MirAction.Special: if (!Frames.Frames.TryGetValue(CurrentAction, out Frame)) Frames.Frames.TryGetValue(MirAction.Attack1, out Frame); break; case MirAction.Skeleton: if (!Frames.Frames.TryGetValue(CurrentAction, out Frame)) Frames.Frames.TryGetValue(MirAction.Dead, out Frame); break; case MirAction.Hide: switch (BaseImage) { case Monster.Shinsu1: BodyLibrary = Libraries.Monsters[(ushort) Monster.Shinsu]; BaseImage = Monster.Shinsu; BaseSound = (ushort) BaseImage*10; Frames = FrameSet.Monsters[16]; Frames.Frames.TryGetValue(CurrentAction, out Frame); break; default: Frames.Frames.TryGetValue(CurrentAction, out Frame); break; } break; case MirAction.Dead: switch (BaseImage) { case Monster.Shinsu: case Monster.Shinsu1: case Monster.HolyDeva: case Monster.GuardianRock: case Monster.CharmedSnake://SummonSnakes Remove(); return false; default: Frames.Frames.TryGetValue(CurrentAction, out Frame); break; } break; default: Frames.Frames.TryGetValue(CurrentAction, out Frame); break; } FrameIndex = 0; if (Frame == null) return false; FrameInterval = Frame.Interval; switch (CurrentAction) { case MirAction.Appear: PlaySummonSound(); break; case MirAction.Show: PlayPopupSound(); break; case MirAction.Pushed: FrameIndex = Frame.Count - 1; GameScene.Scene.Redraw(); break; case MirAction.Walking: GameScene.Scene.Redraw(); break; case MirAction.Attack1: PlayAttackSound(); switch (BaseImage) { case Monster.FlamingWooma: Effects.Add(new Effect(Libraries.Monsters[(ushort) Monster.FlamingWooma], 224 + (int) Direction*7, 7, Frame.Count*Frame.Interval, this)); break; case Monster.ZumaTaurus: if (CurrentAction == MirAction.Attack1) Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.ZumaTaurus], 244 + (int)Direction * 8, 8, 8 * FrameInterval, this)); break; case Monster.MinotaurKing: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.MinotaurKing], 272 + (int)Direction * 6, 6, Frame.Count * Frame.Interval, this)); break; case Monster.YinDevilNode: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.YinDevilNode], 26, 26, Frame.Count * Frame.Interval, this)); break; case Monster.YangDevilNode: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.YangDevilNode], 26, 26, Frame.Count * Frame.Interval, this)); break; case Monster.GreatFoxSpirit: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.GreatFoxSpirit], 355, 20, Frame.Count * Frame.Interval, this)); break; case Monster.EvilMir: Effects.Add(new Effect(Libraries.Dragon, 60, 8, 8 * Frame.Interval, this)); Effects.Add(new Effect(Libraries.Dragon, 68, 14, 14 * Frame.Interval, this)); byte random = (byte)CMain.Random.Next(7); for (int i = 0; i <= 7 + random; i++) { Point source = new Point(User.CurrentLocation.X + CMain.Random.Next(-7, 7), User.CurrentLocation.Y + CMain.Random.Next(-7, 7)); MapControl.Effects.Add(new Effect(Libraries.Dragon, 230 + (CMain.Random.Next(5) * 10), 5, 400, source, CMain.Time + CMain.Random.Next(1000))); } break; } break; case MirAction.Attack2: PlaySecondAttackSound(); switch (BaseImage) { case Monster.CrystalSpider: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.CrystalSpider], 272 + (int)Direction * 10, 10, Frame.Count * Frame.Interval, this)); break; case Monster.Yimoogi: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.Yimoogi], 304, 6, Frame.Count * Frame.Interval, this)); Effects.Add(new Effect(Libraries.Magic2, 1280, 10, Frame.Count * Frame.Interval, this)); break; } break; case MirAction.Attack3: //PlaySecondAttackSound(); switch (BaseImage) { case Monster.Yimoogi: Effects.Add(new Effect(Libraries.Magic2, 1330, 10, Frame.Count * Frame.Interval, this)); break; } break; case MirAction.AttackRange1: PlayRangeSound(); switch (BaseImage) { case Monster.KingScorpion: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.KingScorpion], 272 + (int)Direction * 8, 8, Frame.Count * Frame.Interval, this)); break; case Monster.DarkDevil: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.DarkDevil], 272 + (int)Direction * 8, 8, Frame.Count * Frame.Interval, this)); break; case Monster.ShamanZombie: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.ShamanZombie], 232 + (int)Direction * 12, 6, Frame.Count * Frame.Interval, this)); Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.ShamanZombie], 328, 12, Frame.Count * Frame.Interval, this)); break; case Monster.GuardianRock: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.GuardianRock], 12, 10, Frame.Count * Frame.Interval, this)); break; case Monster.GreatFoxSpirit: byte random = (byte)CMain.Random.Next(4); for (int i = 0; i <= 4 + random; i++) { Point source = new Point(User.CurrentLocation.X + CMain.Random.Next(-7, 7), User.CurrentLocation.Y + CMain.Random.Next(-7, 7)); MapControl.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.GreatFoxSpirit], 375 + (CMain.Random.Next(3) * 20), 20, 1400, source, CMain.Time + CMain.Random.Next(600))); } break; case Monster.EvilMir: Effects.Add(new Effect(Libraries.Dragon, 90 + (int)Direction * 10, 10, 10 * Frame.Interval, this)); break; case Monster.DragonStatue: Effects.Add(new Effect(Libraries.Dragon, 310 + ((int)Direction / 3) * 20, 10, 10 * Frame.Interval, this)); break; } TargetID = (uint)action.Params[0]; break; case MirAction.AttackRange2: //PlayRangeSound(); TargetID = (uint)action.Params[0]; break; case MirAction.Struck: uint attackerID = (uint)action.Params[0]; StruckWeapon = -2; for (int i = 0; i < MapControl.Objects.Count; i++) { MapObject ob = MapControl.Objects[i]; if (ob.ObjectID != attackerID) continue; if (ob.Race != ObjectType.Player) break; PlayerObject player = ((PlayerObject) ob); StruckWeapon = player.Weapon; if (player.Class != MirClass.Assassin || StruckWeapon == -1) break; //Archer? StruckWeapon = 1; break; } PlayFlinchSound(); PlayStruckSound(); break; case MirAction.Die: switch (BaseImage) { case Monster.DarkDevil: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.DarkDevil], 336, 6, Frame.Count * Frame.Interval, this)); break; case Monster.ShamanZombie: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.ShamanZombie], 224, 8, Frame.Count * Frame.Interval, this)); break; case Monster.RoninGhoul: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.RoninGhoul], 224, 10, Frame.Count * FrameInterval, this)); break; case Monster.BoneCaptain: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.BoneCaptain], 224 + (int)Direction * 10, 10, Frame.Count * FrameInterval, this)); break; case Monster.RightGuard: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.RightGuard], 296, 5, Frame.Count * Frame.Interval, this)); break; case Monster.LeftGuard: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.LeftGuard], 296 + (int)Direction * 5, 5, 5 * Frame.Interval, this)); break; case Monster.FrostTiger: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.FrostTiger], 304, 10, Frame.Count * Frame.Interval, this)); break; case Monster.Yimoogi: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.Yimoogi], 352, 10, Frame.Count * Frame.Interval, this)); break; case Monster.YinDevilNode: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.YinDevilNode], 52, 20, Frame.Count * Frame.Interval, this)); break; case Monster.YangDevilNode: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.YangDevilNode], 52, 20, Frame.Count * Frame.Interval, this)); break; case Monster.BlackFoxman: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.BlackFoxman], 224, 10, Frame.Count * Frame.Interval, this)); break; case Monster.VampireSpider://SummonVampire Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.VampireSpider], 296, 5, Frame.Count * Frame.Interval, this)); break; case Monster.CharmedSnake://SummonSnakes Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.CharmedSnake], 40, 8, Frame.Count * Frame.Interval, this)); break; } PlayDieSound(); break; case MirAction.Dead: GameScene.Scene.Redraw(); GameScene.Scene.MapControl.SortObject(this); if (MouseObject == this) MouseObject = null; if (TargetObject == this) TargetObject = null; if (MagicObject == this) MagicObject = null; DeadTime = CMain.Time; break; } } GameScene.Scene.MapControl.TextureValid = false; NextMotion = CMain.Time + FrameInterval; return true; }
public void Load(S.ObjectMonster info, bool update = false) { Name = info.Name; NameColour = info.NameColour; BaseImage = info.Image; OldNameColor = NameColour; CurrentLocation = info.Location; MapLocation = info.Location; if (!update) GameScene.Scene.MapControl.AddObject(this); Effect = info.Effect; AI = info.AI; Light = info.Light; Direction = info.Direction; Dead = info.Dead; Poison = info.Poison; Skeleton = info.Skeleton; Hidden = info.Hidden; ShockTime = CMain.Time + info.ShockTime; BindingShotCenter = info.BindingShotCenter; if (Stage != info.ExtraByte) { switch (BaseImage) { case Monster.GreatFoxSpirit: if (update) Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.GreatFoxSpirit], 335, 20, 3000, this)); break; } } Stage = info.ExtraByte; switch (BaseImage) { case Monster.EvilMir: case Monster.DragonStatue: BodyLibrary = Libraries.Dragon; break; case Monster.EvilMirBody: break; case Monster.BabyPig: case Monster.Chick: case Monster.Kitten: case Monster.BabySkeleton: case Monster.Baekdon: case Monster.Wimaen: case Monster.BlackKitten: case Monster.BabyDragon: case Monster.OlympicFlame: case Monster.BabySnowMan: case Monster.Frog: BodyLibrary = Libraries.Pets[((ushort)BaseImage) - 10000]; break; case Monster.SabukGate: case Monster.PalaceWallLeft: case Monster.PalaceWall1: case Monster.PalaceWall2: BodyLibrary = Libraries.Effect; break; case Monster.SSabukWall1: case Monster.SSabukWall2: case Monster.SSabukWall3: BodyLibrary = Libraries.Gates[0]; break; case Monster.GiGateSouth: case Monster.GiGateEast: case Monster.GiGateWest: BodyLibrary = Libraries.Gates[1]; break; default: BodyLibrary = Libraries.Monsters[(ushort)BaseImage]; break; } if (Skeleton) ActionFeed.Add(new QueuedAction { Action = MirAction.Skeleton, Direction = Direction, Location = CurrentLocation }); else if (Dead) ActionFeed.Add(new QueuedAction { Action = MirAction.Dead, Direction = Direction, Location = CurrentLocation }); BaseSound = (ushort)BaseImage * 10; switch (BaseImage) { case Monster.Guard: case Monster.Guard2: Frames = FrameSet.Monsters[0]; break; case Monster.Hen: case Monster.Deer: case Monster.Sheep: case Monster.Wolf: case Monster.Pig: case Monster.Bull: case Monster.DarkBrownWolf: Frames = FrameSet.Monsters[1]; break; case Monster.Scarecrow: case Monster.HookingCat: case Monster.RakingCat: case Monster.Yob: case Monster.Oma: case Monster.SpittingSpider: case Monster.OmaFighter: case Monster.OmaWarrior: case Monster.CaveBat: case Monster.Skeleton: case Monster.BoneFighter: case Monster.AxeSkeleton: case Monster.BoneWarrior: case Monster.BoneElite: case Monster.Dung: case Monster.Dark: case Monster.WoomaSoldier: case Monster.WoomaFighter: case Monster.WoomaWarrior: case Monster.FlamingWooma: case Monster.WoomaGuardian: case Monster.WoomaTaurus: case Monster.WhimperingBee: case Monster.GiantWorm: case Monster.Centipede: case Monster.BlackMaggot: case Monster.Tongs: case Monster.EvilTongs: case Monster.BugBat: case Monster.WedgeMoth: case Monster.RedBoar: case Monster.BlackBoar: case Monster.SnakeScorpion: case Monster.WhiteBoar: case Monster.EvilSnake: case Monster.SpiderBat: case Monster.VenomSpider: case Monster.GangSpider: case Monster.GreatSpider: case Monster.LureSpider: case Monster.BigApe: case Monster.EvilApe: case Monster.GrayEvilApe: case Monster.RedEvilApe: case Monster.BigRat: case Monster.ZumaArcher: case Monster.Ghoul: case Monster.KingHog: case Monster.Shinsu1: case Monster.SpiderFrog: case Monster.HoroBlaster: case Monster.BlueHoroBlaster: case Monster.KekTal: case Monster.VioletKekTal: case Monster.RoninGhoul: case Monster.ToxicGhoul: case Monster.BoneCaptain: case Monster.BoneSpearman: case Monster.BoneBlademan: case Monster.BoneArcher: case Monster.Minotaur: case Monster.IceMinotaur: case Monster.ElectricMinotaur: case Monster.WindMinotaur: case Monster.FireMinotaur: case Monster.ShellNipper: case Monster.Keratoid: case Monster.GiantKeratoid: case Monster.SkyStinger: case Monster.SandWorm: case Monster.VisceralWorm: case Monster.RedSnake: case Monster.TigerSnake: case Monster.GiantWhiteSnake: case Monster.BlueSnake: case Monster.YellowSnake: case Monster.AxeOma: case Monster.SwordOma: case Monster.WingedOma: case Monster.FlailOma: case Monster.OmaGuard: case Monster.KatanaGuard: case Monster.RedFrogSpider: case Monster.BrownFrogSpider: case Monster.HalloweenScythe: case Monster.GhastlyLeecher: case Monster.CyanoGhast: case Monster.RedTurtle: case Monster.GreenTurtle: case Monster.BlueTurtle: case Monster.TowerTurtle: case Monster.DarkTurtle: case Monster.DarkSwordOma: case Monster.DarkAxeOma: case Monster.DarkWingedOma: case Monster.BoneWhoo: case Monster.DarkSpider: case Monster.ViscusWorm: case Monster.ViscusCrawler: case Monster.CrawlerLave: case Monster.DarkYob: case Monster.ValeBat: case Monster.Weaver: case Monster.VenomWeaver: case Monster.CrackingWeaver: case Monster.ArmingWeaver: case Monster.SpiderWarrior: case Monster.SpiderBarbarian: Frames = FrameSet.Monsters[2]; break; case Monster.CannibalPlant: Frames = FrameSet.Monsters[3]; break; case Monster.ForestYeti: case Monster.CaveMaggot: case Monster.FrostYeti: Frames = FrameSet.Monsters[4]; break; case Monster.Scorpion: Frames = FrameSet.Monsters[5]; break; case Monster.ChestnutTree: case Monster.EbonyTree: case Monster.LargeMushroom: case Monster.CherryTree: case Monster.ChristmasTree: case Monster.SnowTree: Frames = FrameSet.Monsters[6]; break; case Monster.EvilCentipede: Frames = FrameSet.Monsters[7]; break; case Monster.BugBatMaggot: Frames = FrameSet.Monsters[8]; break; case Monster.CrystalSpider: case Monster.WhiteFoxman: case Monster.LightTurtle: case Monster.CrystalWeaver: Frames = FrameSet.Monsters[9]; break; case Monster.RedMoonEvil: Frames = FrameSet.Monsters[10]; break; case Monster.ZumaStatue: case Monster.ZumaGuardian: case Monster.FrozenZumaStatue: case Monster.FrozenZumaGuardian: Stoned = info.Extra; Frames = FrameSet.Monsters[11]; break; case Monster.ZumaTaurus: Stoned = info.Extra; Frames = FrameSet.Monsters[12]; break; case Monster.RedThunderZuma: case Monster.FrozenRedZuma: Stoned = info.Extra; Frames = FrameSet.Monsters[13]; break; case Monster.KingScorpion: case Monster.DarkDevil: case Monster.RightGuard: case Monster.LeftGuard: case Monster.MinotaurKing: Frames = FrameSet.Monsters[14]; break; case Monster.BoneFamiliar: Frames = FrameSet.Monsters[15]; if (!info.Extra) ActionFeed.Add(new QueuedAction { Action = MirAction.Appear, Direction = Direction, Location = CurrentLocation }); break; case Monster.Shinsu: Frames = FrameSet.Monsters[16]; if (!info.Extra) ActionFeed.Add(new QueuedAction { Action = MirAction.Appear, Direction = Direction, Location = CurrentLocation }); break; case Monster.DigOutZombie: Frames = FrameSet.Monsters[17]; break; case Monster.ClZombie: case Monster.NdZombie: case Monster.CrawlerZombie: Frames = FrameSet.Monsters[18]; break; case Monster.ShamanZombie: Frames = FrameSet.Monsters[19]; break; case Monster.Khazard: case Monster.FinialTurtle: Frames = FrameSet.Monsters[20]; break; case Monster.BoneLord: Frames = FrameSet.Monsters[21]; break; case Monster.FrostTiger: case Monster.FlameTiger: SitDown = info.Extra; Frames = FrameSet.Monsters[22]; break; case Monster.Yimoogi: case Monster.RedYimoogi: case Monster.Sanke10: case Monster.Sanke11: case Monster.Sanke12: case Monster.Sanke13: case Monster.Sanke14: case Monster.Sanke15: case Monster.Sanke16: case Monster.Sanke17: Frames = FrameSet.Monsters[23]; break; case Monster.HolyDeva: Frames = FrameSet.Monsters[24]; if (!info.Extra) ActionFeed.Add(new QueuedAction { Action = MirAction.Appear, Direction = Direction, Location = CurrentLocation }); break; case Monster.GreaterWeaver: case Monster.RootSpider: Frames = FrameSet.Monsters[25]; break; case Monster.BombSpider: case Monster.MutatedHugger: Frames = FrameSet.Monsters[26]; break; case Monster.CrossbowOma: case Monster.DarkCrossbowOma: Frames = FrameSet.Monsters[27]; break; case Monster.YinDevilNode: case Monster.YangDevilNode: Frames = FrameSet.Monsters[28]; break; case Monster.OmaKing: Frames = FrameSet.Monsters[29]; break; case Monster.BlackFoxman: case Monster.RedFoxman: Frames = FrameSet.Monsters[30]; break; case Monster.TrapRock: Frames = FrameSet.Monsters[31]; break; case Monster.GuardianRock: Frames = FrameSet.Monsters[32]; break; case Monster.ThunderElement: case Monster.CloudElement: Frames = FrameSet.Monsters[33]; break; case Monster.GreatFoxSpirit: Frames = FrameSet.Monsters[34 + Stage]; break; case Monster.HedgeKekTal: case Monster.BigHedgeKekTal: Frames = FrameSet.Monsters[39]; break; case Monster.EvilMir: Frames = FrameSet.Monsters[40]; break; case Monster.DragonStatue: Frames = FrameSet.Monsters[41 + (byte)Direction]; break; case Monster.ArcherGuard: Frames = FrameSet.Monsters[47]; break; case Monster.TaoistGuard: Frames = FrameSet.Monsters[48]; break; case Monster.VampireSpider://SummonVampire Frames = FrameSet.Monsters[49]; break; case Monster.SpittingToad://SummonToad Frames = FrameSet.Monsters[50]; break; case Monster.SnakeTotem://SummonSnakes Totem Frames = FrameSet.Monsters[51]; break; case Monster.CharmedSnake://SummonSnakes Snake Frames = FrameSet.Monsters[52]; break; case Monster.HighAssassin: Frames = FrameSet.Monsters[53]; break; case Monster.DarkDustPile: case Monster.MudPile: case Monster.Treasurebox: case Monster.SnowPile: Frames = FrameSet.Monsters[54]; break; case Monster.Football: Frames = FrameSet.Monsters[55]; break; case Monster.GingerBreadman: Frames = FrameSet.Monsters[56]; break; case Monster.MutatedManworm: case Monster.CrazyManworm: Frames = FrameSet.Monsters[57]; break; case Monster.TailedLion: Frames = FrameSet.Monsters[58]; break; case Monster.Behemoth: Frames = FrameSet.Monsters[59]; break; case Monster.Hugger: case Monster.ManectricSlave: Frames = FrameSet.Monsters[60]; break; case Monster.DreamDevourer: Frames = FrameSet.Monsters[61]; break; case Monster.Snowman: Frames = FrameSet.Monsters[62]; break; case Monster.GiantEgg: case Monster.IcePillar: Frames = FrameSet.Monsters[63]; break; case Monster.BlueSanta: Frames = FrameSet.Monsters[64]; break; case Monster.BattleStandard: Frames = FrameSet.Monsters[65]; break; case Monster.WingedTigerLord: Frames = FrameSet.Monsters[66]; break; case Monster.TurtleKing: Frames = FrameSet.Monsters[67]; break; case Monster.Bush: Frames = FrameSet.Monsters[68]; break; case Monster.HellSlasher: case Monster.HellCannibal: case Monster.ManectricClub: Frames = FrameSet.Monsters[69]; break; case Monster.HellPirate: case Monster.FlameSpear: Frames = FrameSet.Monsters[70]; break; case Monster.HellBolt: case Monster.WitchDoctor: Frames = FrameSet.Monsters[71]; break; case Monster.HellKeeper: Frames = FrameSet.Monsters[72]; break; case Monster.ManectricHammer: Frames = FrameSet.Monsters[73]; break; case Monster.ManectricStaff: Frames = FrameSet.Monsters[74]; break; case Monster.NamelessGhost: case Monster.DarkGhost: case Monster.ChaosGhost: case Monster.ManectricBlest: case Monster.TrollHammer: case Monster.TrollBomber: case Monster.TrollStoner: Frames = FrameSet.Monsters[75]; break; case Monster.ManectricKing: case Monster.TrollKing: Frames = FrameSet.Monsters[76]; break; case Monster.FlameMage: case Monster.FlameScythe: case Monster.FlameAssassin: Frames = FrameSet.Monsters[77]; break; case Monster.FlameQueen: Frames = FrameSet.Monsters[78]; break; case Monster.HellKnight1: case Monster.HellKnight2: case Monster.HellKnight3: case Monster.HellKnight4: Frames = FrameSet.Monsters[79]; break; case Monster.HellLord: Frames = FrameSet.Monsters[80]; break; case Monster.WaterGuard: Frames = FrameSet.Monsters[81]; break; case Monster.IceGuard: case Monster.ElementGuard: Frames = FrameSet.Monsters[82]; break; case Monster.DemonGuard: Frames = FrameSet.Monsters[83]; break; case Monster.KingGuard: Frames = FrameSet.Monsters[84]; break; case Monster.Bunny2: case Monster.Bunny: Frames = FrameSet.Monsters[85]; break; case Monster.DarkBeast: case Monster.LightBeast: Frames = FrameSet.Monsters[86]; break; case Monster.WhiteMammoth: case Monster.HardenRhino: Frames = FrameSet.Monsters[87]; break; case Monster.AncientBringer: Frames = FrameSet.Monsters[88]; break; case Monster.Jar1: Frames = FrameSet.Monsters[89]; break; case Monster.SeedingsGeneral: Frames = FrameSet.Monsters[90]; break; case Monster.Tucson: case Monster.TucsonFighter: Frames = FrameSet.Monsters[91]; break; //92 blank case Monster.TucsonMage: Frames = FrameSet.Monsters[93]; break; case Monster.TucsonWarrior: Frames = FrameSet.Monsters[94]; break; case Monster.Armadillo: Frames = FrameSet.Monsters[95]; break; case Monster.ArmadilloElder: Frames = FrameSet.Monsters[96]; break; case Monster.TucsonEgg: Frames = FrameSet.Monsters[97]; break; case Monster.PlaguedTucson: Frames = FrameSet.Monsters[98]; break; case Monster.SandSnail: Frames = FrameSet.Monsters[99]; break; case Monster.CannibalTentacles: Frames = FrameSet.Monsters[100]; break; case Monster.TucsonGeneral: Frames = FrameSet.Monsters[101]; break; case Monster.GasToad: Frames = FrameSet.Monsters[102]; break; case Monster.Mantis: Frames = FrameSet.Monsters[103]; break; case Monster.SwampWarrior: Frames = FrameSet.Monsters[104]; break; case Monster.AssassinBird: Frames = FrameSet.Monsters[105]; break; case Monster.RhinoWarrior: Frames = FrameSet.Monsters[106]; break; case Monster.RhinoPriest: Frames = FrameSet.Monsters[107]; break; case Monster.SwampSlime: Frames = FrameSet.Monsters[108]; break; case Monster.RockGuard: Frames = FrameSet.Monsters[109]; break; case Monster.MudWarrior: Frames = FrameSet.Monsters[110]; break; case Monster.SmallPot: Frames = FrameSet.Monsters[111]; break; case Monster.TreeQueen: Frames = FrameSet.Monsters[112]; break; case Monster.ShellFighter: Frames = FrameSet.Monsters[113]; break; case Monster.DarkBaboon: Frames = FrameSet.Monsters[114]; break; case Monster.TwinHeadBeast: Frames = FrameSet.Monsters[115]; break; case Monster.OmaCannibal: Frames = FrameSet.Monsters[116]; break; case Monster.OmaBlest: Frames = FrameSet.Monsters[121]; break; case Monster.OmaSlasher: Frames = FrameSet.Monsters[117]; break; case Monster.OmaAssassin: Frames = FrameSet.Monsters[118]; break; case Monster.OmaMage: Frames = FrameSet.Monsters[119]; break; case Monster.OmaWitchDoctor: Frames = FrameSet.Monsters[120]; break; case Monster.LightningBead: case Monster.HealingBead: case Monster.PowerUpBead: Frames = FrameSet.Monsters[122]; break; case Monster.DarkOmaKing: Frames = FrameSet.Monsters[123]; break; case Monster.CaveMage: Frames = FrameSet.Monsters[124]; break; case Monster.Mandrill: Frames = FrameSet.Monsters[125]; break; case Monster.PlagueCrab: Frames = FrameSet.Monsters[126]; break; case Monster.CreeperPlant: Frames = FrameSet.Monsters[127]; break; case Monster.SackWarrior: Frames = FrameSet.Monsters[128]; break; case Monster.WereTiger: Frames = FrameSet.Monsters[129]; break; case Monster.KingHydrax: Frames = FrameSet.Monsters[130]; break; case Monster.FloatingWraith: Frames = FrameSet.Monsters[131]; break; case Monster.ArmedPlant: Frames = FrameSet.Monsters[132]; break; case Monster.AvengerPlant: Frames = FrameSet.Monsters[133]; break; case Monster.Nadz: case Monster.AvengingSpirit: Frames = FrameSet.Monsters[134]; break; case Monster.AvengingWarrior: Frames = FrameSet.Monsters[135]; break; case Monster.AxePlant: case Monster.ClawBeast: Frames = FrameSet.Monsters[136]; break; case Monster.WoodBox: Frames = FrameSet.Monsters[137]; break; case Monster.KillerPlant: Frames = FrameSet.Monsters[138]; break; case Monster.Hydrax: Frames = FrameSet.Monsters[139]; break; case Monster.Basiloid: Frames = FrameSet.Monsters[140]; break; case Monster.HornedMage: Frames = FrameSet.Monsters[141]; break; case Monster.HornedArcher: case Monster.ColdArcher: Frames = FrameSet.Monsters[142]; break; case Monster.HornedWarrior: Frames = FrameSet.Monsters[143]; break; case Monster.FloatingRock: Frames = FrameSet.Monsters[144]; break; case Monster.ScalyBeast: Frames = FrameSet.Monsters[145]; break; case Monster.HornedSorceror: Frames = FrameSet.Monsters[146]; break; case Monster.BoulderSpirit: Frames = FrameSet.Monsters[147]; break; case Monster.HornedCommander: Frames = FrameSet.Monsters[148]; break; case Monster.MoonStone: case Monster.SunStone: case Monster.LightningStone: Frames = FrameSet.Monsters[149]; break; case Monster.Turtlegrass: Frames = FrameSet.Monsters[150]; break; case Monster.Mantree: Frames = FrameSet.Monsters[151]; break; case Monster.Bear: Frames = FrameSet.Monsters[152]; break; case Monster.Leopard: Frames = FrameSet.Monsters[153]; break; case Monster.ChieftainArcher: Frames = FrameSet.Monsters[154]; break; case Monster.ChieftainSword: Frames = FrameSet.Monsters[155]; break; case Monster.StoningSpider: //StoneTrap Frames = FrameSet.Monsters[156]; break; case Monster.DarkSpirit: case Monster.FrozenSoldier: Frames = FrameSet.Monsters[157]; break; case Monster.FrozenFighter: Frames = FrameSet.Monsters[158]; break; case Monster.FrozenArcher: Frames = FrameSet.Monsters[159]; break; case Monster.FrozenKnight: Frames = FrameSet.Monsters[160]; break; case Monster.FrozenGolem: Frames = FrameSet.Monsters[161]; break; case Monster.IcePhantom: Frames = FrameSet.Monsters[162]; break; case Monster.SnowWolf: Frames = FrameSet.Monsters[163]; break; case Monster.SnowWolfKing: Frames = FrameSet.Monsters[164]; break; case Monster.WaterDragon: Frames = FrameSet.Monsters[165]; break; case Monster.BlackTortoise: Frames = FrameSet.Monsters[166]; break; case Monster.Manticore: Frames = FrameSet.Monsters[167]; break; case Monster.DragonWarrior: Frames = FrameSet.Monsters[168]; break; case Monster.DragonArcher: Frames = FrameSet.Monsters[169]; break; case Monster.Kirin: Frames = FrameSet.Monsters[170]; break; case Monster.Guard3: Frames = FrameSet.Monsters[171]; break; case Monster.ArcherGuard3: Frames = FrameSet.Monsters[172]; break; //173 blank case Monster.FrozenMiner: Frames = FrameSet.Monsters[174]; break; case Monster.FrozenAxeman: Frames = FrameSet.Monsters[175]; break; case Monster.FrozenMagician: Frames = FrameSet.Monsters[176]; break; case Monster.SnowYeti: Frames = FrameSet.Monsters[177]; break; case Monster.IceCrystalSoldier: Frames = FrameSet.Monsters[178]; break; case Monster.DarkWraith: Frames = FrameSet.Monsters[179]; break; case Monster.CrystalBeast: Frames = FrameSet.Monsters[180]; break; case Monster.RedOrb: case Monster.BlueOrb: case Monster.YellowOrb: case Monster.GreenOrb: case Monster.WhiteOrb: Frames = FrameSet.Monsters[181]; break; case Monster.FatalLotus: Frames = FrameSet.Monsters[182]; break; case Monster.AntCommander: Frames = FrameSet.Monsters[183]; break; case Monster.CargoBoxwithlogo: case Monster.CargoBox: Frames = FrameSet.Monsters[184]; break; case Monster.Doe: Frames = FrameSet.Monsters[185]; break; case Monster.AngryReindeer: Frames = FrameSet.Monsters[186]; break; case Monster.DeathCrawler: Frames = FrameSet.Monsters[187]; break; case Monster.UndeadWolf: case Monster.Demonwolf: Frames = FrameSet.Monsters[188]; break; case Monster.BurningZombie: case Monster.FrozenZombie: Frames = FrameSet.Monsters[189]; break; case Monster.MudZombie: Frames = FrameSet.Monsters[190]; break; case Monster.BloodBaboon: Frames = FrameSet.Monsters[191]; break; case Monster.FightingCat: case Monster.PoisonHugger: Frames = FrameSet.Monsters[192]; break; case Monster.FireCat: Frames = FrameSet.Monsters[193]; break; case Monster.CatWidow: Frames = FrameSet.Monsters[194]; break; case Monster.StainHammerCat: Frames = FrameSet.Monsters[195]; break; case Monster.BlackHammerCat: Frames = FrameSet.Monsters[196]; break; case Monster.StrayCat: Frames = FrameSet.Monsters[197]; break; case Monster.CatShaman: Frames = FrameSet.Monsters[198]; break; case Monster.Jar2: Frames = FrameSet.Monsters[199]; break; case Monster.RestlessJar: Frames = FrameSet.Monsters[200]; break; case Monster.FlamingMutant: case Monster.FlyingStatue: case Monster.ManectricClaw: Frames = FrameSet.Monsters[201]; break; case Monster.StoningStatue: Frames = FrameSet.Monsters[202]; break; case Monster.ArcherGuard2: Frames = FrameSet.Monsters[203]; break; case Monster.BabyPig: case Monster.Chick: case Monster.Kitten: case Monster.BabySkeleton: case Monster.Baekdon: case Monster.Wimaen: case Monster.BlackKitten: case Monster.BabyDragon: case Monster.OlympicFlame: case Monster.BabySnowMan: case Monster.Frog: Frames = FrameSet.HelperPets[((ushort)BaseImage) - 10000]; break; case Monster.SabukGate: Frames = FrameSet.Gates[0]; break; case Monster.GiGateSouth: Frames = FrameSet.Gates[1]; break; case Monster.GiGateEast: Frames = FrameSet.Gates[2]; break; case Monster.GiGateWest: Frames = FrameSet.Gates[3]; break; case Monster.PalaceWallLeft: Frames = FrameSet.Walls[0]; break; case Monster.PalaceWall1: Frames = FrameSet.Walls[1]; break; case Monster.PalaceWall2: Frames = FrameSet.Walls[2]; break; case Monster.SSabukWall1: Frames = FrameSet.Walls[3]; break; case Monster.SSabukWall2: Frames = FrameSet.Walls[4]; break; case Monster.SSabukWall3: Frames = FrameSet.Walls[5]; break; default: Frames = FrameSet.Monsters[0]; break; } SetAction(); SetCurrentEffects(); if (CurrentAction == MirAction.Standing) { PlayAppearSound(); FrameIndex = CMain.Random.Next(Frame.Count); } else if(CurrentAction == MirAction.SitDown) { PlayAppearSound(); } NextMotion -= NextMotion % 100; }
public bool SetAction() { if (NextAction != null && !GameScene.CanMove) { switch (NextAction.Action) { case MirAction.Walking: case MirAction.Pushed: return false; } } //IntelligentCreature switch (BaseImage) { case Monster.BabyPig: case Monster.Chick: case Monster.Kitten: case Monster.BabySkeleton: case Monster.Baekdon: case Monster.Wimaen: case Monster.BlackKitten: case Monster.BabyDragon: case Monster.OlympicFlame: case Monster.BabySnowMan: case Monster.Frog: BodyLibrary = Libraries.Pets[((ushort)BaseImage) - 10000]; break; break; } if (ActionFeed.Count == 0) { CurrentAction = Stoned ? MirAction.Stoned : MirAction.Standing; if (CurrentAction == MirAction.Standing) CurrentAction = SitDown ? MirAction.SitDown : MirAction.Standing; Frames.Frames.TryGetValue(CurrentAction, out Frame); if (MapLocation != CurrentLocation) { GameScene.Scene.MapControl.RemoveObject(this); MapLocation = CurrentLocation; GameScene.Scene.MapControl.AddObject(this); } FrameIndex = 0; if (Frame == null) return false; FrameInterval = Frame.Interval; } else { QueuedAction action = ActionFeed[0]; ActionFeed.RemoveAt(0); CurrentAction = action.Action; CurrentLocation = action.Location; Direction = action.Direction; Point temp; switch (CurrentAction) { case MirAction.Walking: case MirAction.Pushed: int i = CurrentAction == MirAction.Running ? 2 : 1; temp = Functions.PointMove(CurrentLocation, Direction, CurrentAction == MirAction.Pushed ? 0 : -i); break; default: temp = CurrentLocation; break; } temp = new Point(action.Location.X, temp.Y > CurrentLocation.Y ? temp.Y : CurrentLocation.Y); if (MapLocation != temp) { GameScene.Scene.MapControl.RemoveObject(this); MapLocation = temp; GameScene.Scene.MapControl.AddObject(this); } switch (CurrentAction) { case MirAction.Pushed: Frames.Frames.TryGetValue(MirAction.Walking, out Frame); break; case MirAction.AttackRange1: if (!Frames.Frames.TryGetValue(CurrentAction, out Frame)) Frames.Frames.TryGetValue(MirAction.Attack1, out Frame); break; case MirAction.AttackRange2: if (!Frames.Frames.TryGetValue(CurrentAction, out Frame)) Frames.Frames.TryGetValue(MirAction.Attack2, out Frame); break; case MirAction.Special: if (!Frames.Frames.TryGetValue(CurrentAction, out Frame)) Frames.Frames.TryGetValue(MirAction.Attack1, out Frame); break; case MirAction.Skeleton: if (!Frames.Frames.TryGetValue(CurrentAction, out Frame)) Frames.Frames.TryGetValue(MirAction.Dead, out Frame); break; case MirAction.Hide: switch (BaseImage) { case Monster.Shinsu1: BodyLibrary = Libraries.Monsters[(ushort)Monster.Shinsu]; BaseImage = Monster.Shinsu; BaseSound = (ushort)BaseImage * 10; Frames = FrameSet.Monsters[16]; Frames.Frames.TryGetValue(CurrentAction, out Frame); break; default: Frames.Frames.TryGetValue(CurrentAction, out Frame); break; } break; case MirAction.Dead: switch (BaseImage) { case Monster.Shinsu: case Monster.Shinsu1: case Monster.HolyDeva: case Monster.GuardianRock: case Monster.CharmedSnake://SummonSnakes Remove(); return false; default: Frames.Frames.TryGetValue(CurrentAction, out Frame); break; } break; default: Frames.Frames.TryGetValue(CurrentAction, out Frame); break; } FrameIndex = 0; if (Frame == null) return false; FrameInterval = Frame.Interval; switch (CurrentAction) { case MirAction.Appear: PlaySummonSound(); break; case MirAction.Show: PlayPopupSound(); break; case MirAction.Pushed: FrameIndex = Frame.Count - 1; GameScene.Scene.Redraw(); break; case MirAction.Walking: GameScene.Scene.Redraw(); break; case MirAction.Attack1: PlayAttackSound(); switch (BaseImage) { case Monster.FlamingWooma: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.FlamingWooma], 224 + (int)Direction * 7, 7, Frame.Count * Frame.Interval, this)); break; case Monster.ZumaTaurus: if (CurrentAction == MirAction.Attack1) Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.ZumaTaurus], 244 + (int)Direction * 8, 8, 8 * FrameInterval, this)); break; case Monster.MinotaurKing: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.MinotaurKing], 272 + (int)Direction * 6, 6, Frame.Count * Frame.Interval, this)); break; case Monster.FlamingMutant:///////////////////////////stupple Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.FlamingMutant], 304 + (int)Direction * 6, 6, Frame.Count * Frame.Interval, this)); break; case Monster.Demonwolf: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.Demonwolf], 312 + (int)Direction * 3, 3, Frame.Count * Frame.Interval, this)); break; case Monster.DarkBeast: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.DarkBeast], 296 + (int)Direction * 4, 4, Frame.Count * Frame.Interval, this)); break; case Monster.HardenRhino: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.HardenRhino], 379 + (int)Direction * 6, 6, Frame.Count * Frame.Interval, this)); break; case Monster.AncientBringer: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.AncientBringer], 512 + (int)Direction * 6, 6, Frame.Count * Frame.Interval, this)); break; case Monster.HellSlasher: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.HellSlasher], 304 + (int)Direction * 4, 4, Frame.Count * Frame.Interval, this)); break; case Monster.HellPirate: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.HellPirate], 280 + (int)Direction * 4, 4, Frame.Count * Frame.Interval, this)); break; case Monster.DemonGuard: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.DemonGuard], 288 + (int)Direction * 2, 2, Frame.Count * Frame.Interval, this)); break; case Monster.Bear: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.Bear], 321 + (int)Direction * 4, 4, Frame.Count * Frame.Interval, this)); break; case Monster.Manticore: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.Manticore], 505 + (int)Direction * 3, 3, Frame.Count * Frame.Interval, this)); break; case Monster.DreamDevourer: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.DreamDevourer], 272 + (int)Direction * 4, 4, Frame.Count * Frame.Interval, this)); break; case Monster.DarkDevourer: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.DarkDevourer], 320 + (int)Direction * 5, 5, Frame.Count * Frame.Interval, this)); break; case Monster.StainHammerCat: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.StainHammerCat], 240 + (int)Direction * 5, 5, Frame.Count * Frame.Interval, this)); break; case Monster.BlackHammerCat: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.BlackHammerCat], 648 + (int)Direction * 11, 11, Frame.Count * Frame.Interval, this)); break; case Monster.SeedingsGeneral: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.SeedingsGeneral], 536 + (int)Direction * 4, 4, Frame.Count * Frame.Interval, this)); break; case Monster.TucsonMage: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.TucsonMage], 272 + (int)Direction * 4, 4, Frame.Count * Frame.Interval, this)); break; case Monster.WingedTigerLord: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.WingedTigerLord], 560 + (int)Direction * 3, 3, Frame.Count * Frame.Interval, this)); break; case Monster.FlameMage: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.FlameMage], 272 + (int)Direction * 4, 4, Frame.Count * Frame.Interval, this)); break; case Monster.HellKnight4: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.HellKnight4], 244 + (int)Direction * 4, 4, Frame.Count * Frame.Interval, this)); break;//stupple end case Monster.YinDevilNode: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.YinDevilNode], 26, 26, Frame.Count * Frame.Interval, this)); break; case Monster.YangDevilNode: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.YangDevilNode], 26, 26, Frame.Count * Frame.Interval, this)); break; case Monster.GreatFoxSpirit: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.GreatFoxSpirit], 355, 20, Frame.Count * Frame.Interval, this)); break; case Monster.EvilMir: Effects.Add(new Effect(Libraries.Dragon, 60, 8, 8 * Frame.Interval, this)); Effects.Add(new Effect(Libraries.Dragon, 68, 14, 14 * Frame.Interval, this)); byte random = (byte)CMain.Random.Next(7); for (int i = 0; i <= 7 + random; i++) { Point source = new Point(User.CurrentLocation.X + CMain.Random.Next(-7, 7), User.CurrentLocation.Y + CMain.Random.Next(-7, 7)); MapControl.Effects.Add(new Effect(Libraries.Dragon, 230 + (CMain.Random.Next(5) * 10), 5, 400, source, CMain.Time + CMain.Random.Next(1000))); } break; case Monster.StoningStatue: User.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.StoningStatue], 624, 8, 8 * 100, User)); break; case Monster.Behemoth: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.Behemoth], 667 + (int)Direction * 6, 6, Frame.Count * Frame.Interval, this)); break; case Monster.CrawlerLave: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.CrawlerLave], 224 + (int)Direction * 6, 6, Frame.Count * Frame.Interval, this)); break; case Monster.HellKeeper: User.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.HellKeeper], 32, 8, 8 * Frame.Interval, User)); break; case Monster.PoisonHugger: User.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.PoisonHugger], 224, 5, 5 * Frame.Interval, User, 500, false)); break; } break; case MirAction.Attack2: PlaySecondAttackSound(); switch (BaseImage) { case Monster.CrystalSpider: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.CrystalSpider], 272 + (int)Direction * 10, 10, Frame.Count * Frame.Interval, this)); break; case Monster.Yimoogi: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.Yimoogi], 304, 6, Frame.Count * Frame.Interval, this)); Effects.Add(new Effect(Libraries.Magic2, 1280, 10, Frame.Count * Frame.Interval, this)); break; } if ((ushort)BaseImage >= 10000) { PlayPetSound(); } break; case MirAction.Attack3: //PlaySecondAttackSound(); switch (BaseImage) { case Monster.Yimoogi: Effects.Add(new Effect(Libraries.Magic2, 1330, 10, Frame.Count * Frame.Interval, this)); break; } break; case MirAction.Attack4: break; case MirAction.AttackRange1: PlayRangeSound(); switch (BaseImage) { case Monster.KingScorpion: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.KingScorpion], 272 + (int)Direction * 8, 8, Frame.Count * Frame.Interval, this)); break; case Monster.DarkDevil: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.DarkDevil], 272 + (int)Direction * 8, 8, Frame.Count * Frame.Interval, this)); break; case Monster.ShamanZombie: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.ShamanZombie], 232 + (int)Direction * 12, 6, Frame.Count * Frame.Interval, this)); Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.ShamanZombie], 328, 12, Frame.Count * Frame.Interval, this)); break; case Monster.GuardianRock: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.GuardianRock], 12, 10, Frame.Count * Frame.Interval, this)); break; case Monster.GreatFoxSpirit: byte random = (byte)CMain.Random.Next(4); for (int i = 0; i <= 4 + random; i++) { Point source = new Point(User.CurrentLocation.X + CMain.Random.Next(-7, 7), User.CurrentLocation.Y + CMain.Random.Next(-7, 7)); MapControl.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.GreatFoxSpirit], 375 + (CMain.Random.Next(3) * 20), 20, 1400, source, CMain.Time + CMain.Random.Next(600))); } break; case Monster.EvilMir: Effects.Add(new Effect(Libraries.Dragon, 90 + (int)Direction * 10, 10, 10 * Frame.Interval, this)); break; case Monster.DragonStatue: Effects.Add(new Effect(Libraries.Dragon, 310 + ((int)Direction / 3) * 20, 10, 10 * Frame.Interval, this)); break; case Monster.StoningStatue: User.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.StoningStatue], 642, 25, 25 * 100, User)); break; case Monster.Behemoth: User.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.Behemoth], 658, 9, Frame.Count * Frame.Interval, User)); break; case Monster.TurtleKing: User.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.TurtleKing], 922, 12, Frame.Count * Frame.Interval, User)); break; case Monster.FlyingStatue: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.FlyingStatue], 314, 6, 6 * Frame.Interval, this)); //Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.FlyingStatue], 329, 5, 5 * Frame.Interval, this)); this should follow the projectile break; case Monster.HellBolt: User.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.HellBolt], 315, 10, 10 * 100, User)); break; } TargetID = (uint)action.Params[0]; break; case MirAction.AttackRange2: //PlayRangeSound(); TargetID = (uint)action.Params[0]; break; case MirAction.Struck: uint attackerID = (uint)action.Params[0]; StruckWeapon = -2; for (int i = 0; i < MapControl.Objects.Count; i++) { MapObject ob = MapControl.Objects[i]; if (ob.ObjectID != attackerID) continue; if (ob.Race != ObjectType.Player) break; PlayerObject player = ((PlayerObject)ob); StruckWeapon = player.Weapon; if (player.Class != MirClass.Assassin || StruckWeapon == -1) break; //Archer? StruckWeapon = 1; break; } PlayFlinchSound(); PlayStruckSound(); break; case MirAction.Die: switch (BaseImage) { case Monster.ManectricKing://stupple 08/04 Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.ManectricKing], 504, 6, Frame.Count * Frame.Interval, this)); break; case Monster.DarkDevil: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.DarkDevil], 336, 6, Frame.Count * Frame.Interval, this)); break; case Monster.ShamanZombie: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.ShamanZombie], 224, 8, Frame.Count * Frame.Interval, this)); break; case Monster.RoninGhoul: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.RoninGhoul], 224, 10, Frame.Count * FrameInterval, this)); break; case Monster.BoneCaptain: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.BoneCaptain], 224 + (int)Direction * 10, 10, Frame.Count * FrameInterval, this)); break; case Monster.RightGuard: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.RightGuard], 296, 5, Frame.Count * Frame.Interval, this)); break; case Monster.LeftGuard: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.LeftGuard], 296 + (int)Direction * 5, 5, 5 * Frame.Interval, this)); break; case Monster.FrostTiger: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.FrostTiger], 304, 10, Frame.Count * Frame.Interval, this)); break; case Monster.Yimoogi: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.Yimoogi], 352, 10, Frame.Count * Frame.Interval, this)); break; case Monster.YinDevilNode: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.YinDevilNode], 52, 20, Frame.Count * Frame.Interval, this)); break; case Monster.YangDevilNode: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.YangDevilNode], 52, 20, Frame.Count * Frame.Interval, this)); break; case Monster.BlackFoxman: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.BlackFoxman], 224, 10, Frame.Count * Frame.Interval, this)); break; case Monster.VampireSpider: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.VampireSpider], 296, 5, Frame.Count * Frame.Interval, this)); break; case Monster.CharmedSnake: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.CharmedSnake], 40, 8, Frame.Count * Frame.Interval, this)); break; case Monster.Manticore: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.Manticore], 592, 9, Frame.Count * Frame.Interval, this)); break; case Monster.Behemoth: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.Behemoth], 820, 10, Frame.Count * Frame.Interval, this)); break; case Monster.ValeBat: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.ValeBat], 224, 20, Frame.Count * Frame.Interval, this)); break; case Monster.SpiderBat: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.SpiderBat], 224, 20, Frame.Count * Frame.Interval, this)); break; case Monster.VenomWeaver: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.VenomWeaver], 224, 6, Frame.Count * Frame.Interval, this)); break; case Monster.HellBolt: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.HellBolt], 325, 10, Frame.Count * Frame.Interval, this)); break; case Monster.SabukGate: Effects.Add(new Effect(Libraries.Effect, 136, 7, Frame.Count * Frame.Interval, this) { Light = -1 }); break; } PlayDieSound(); break; case MirAction.Dead: GameScene.Scene.Redraw(); GameScene.Scene.MapControl.SortObject(this); if (MouseObject == this) MouseObject = null; if (TargetObject == this) TargetObject = null; if (MagicObject == this) MagicObject = null; DeadTime = CMain.Time; break; } } GameScene.Scene.MapControl.TextureValid = false; NextMotion = CMain.Time + FrameInterval; return true; }
public void Load(S.ObjectMonster info, bool update = false) { Name = info.Name; NameColour = info.NameColour; BaseImage = info.Image; OldNameColor = NameColour; CurrentLocation = info.Location; MapLocation = info.Location; if (!update) GameScene.Scene.MapControl.AddObject(this); Effect = info.Effect; AI = info.AI; Light = info.Light; Direction = info.Direction; Dead = info.Dead; Poison = info.Poison; Skeleton = info.Skeleton; Hidden = info.Hidden; ShockTime = CMain.Time + info.ShockTime; BindingShotCenter = info.BindingShotCenter; if (Stage != info.ExtraByte) { switch (BaseImage) { case Monster.GreatFoxSpirit: if (update) Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.GreatFoxSpirit], 335, 20, 3000, this)); break; } } Stage = info.ExtraByte; switch (BaseImage) { case Monster.EvilMir: case Monster.DragonStatue: BodyLibrary = Libraries.Dragon; break; case Monster.EvilMirBody: break; //IntelligentCreature case Monster.BabyPig: case Monster.Chick: case Monster.Kitten: case Monster.BabySkeleton: case Monster.Baekdon: case Monster.Wimaen: case Monster.BlackKitten: case Monster.BabyDragon: case Monster.OlympicFlame: case Monster.BabySnowMan: BodyLibrary = Libraries.Pets[((ushort)BaseImage) - 10000]; break; default: BodyLibrary = Libraries.Monsters[(ushort)BaseImage]; break; } if (Skeleton) ActionFeed.Add(new QueuedAction { Action = MirAction.Skeleton, Direction = Direction, Location = CurrentLocation }); else if (Dead) ActionFeed.Add(new QueuedAction { Action = MirAction.Dead, Direction = Direction, Location = CurrentLocation }); BaseSound = (ushort)BaseImage * 10; switch (BaseImage) { case Monster.Guard: case Monster.Guard2: Frames = FrameSet.Monsters[0]; break; case Monster.Hen: case Monster.Deer: case Monster.Sheep: case Monster.Wolf: case Monster.Pig: case Monster.Bull: case Monster.DarkBrownWolf: Frames = FrameSet.Monsters[1]; break; case Monster.Scarecrow: case Monster.HookingCat: case Monster.RakingCat: case Monster.Yob: case Monster.Oma: case Monster.SpittingSpider: case Monster.OmaFighter: case Monster.OmaWarrior: case Monster.CaveBat: case Monster.Skeleton: case Monster.BoneFighter: case Monster.AxeSkeleton: case Monster.BoneWarrior: case Monster.BoneElite: case Monster.Dung: case Monster.Dark: case Monster.WoomaSoldier: case Monster.WoomaFighter: case Monster.WoomaWarrior: case Monster.FlamingWooma: case Monster.WoomaGuardian: case Monster.WoomaTaurus: case Monster.WhimperingBee: case Monster.GiantWorm: case Monster.Centipede: case Monster.BlackMaggot: case Monster.Tongs: case Monster.EvilTongs: case Monster.BugBat: case Monster.WedgeMoth: case Monster.RedBoar: case Monster.BlackBoar: case Monster.SnakeScorpion: case Monster.WhiteBoar: case Monster.EvilSnake: case Monster.SpiderBat: case Monster.VenomSpider: case Monster.GangSpider: case Monster.GreatSpider: case Monster.LureSpider: case Monster.BigApe: case Monster.EvilApe: case Monster.GrayEvilApe: case Monster.RedEvilApe: case Monster.BigRat: case Monster.ZumaArcher: case Monster.Ghoul: case Monster.KingHog: case Monster.Shinsu1: case Monster.SpiderFrog: case Monster.HoroBlaster: case Monster.BlueHoroBlaster: case Monster.KekTal: case Monster.VioletKekTal: case Monster.RoninGhoul: case Monster.ToxicGhoul: case Monster.BoneCaptain: case Monster.BoneSpearman: case Monster.BoneBlademan: case Monster.BoneArcher: case Monster.Minotaur: case Monster.IceMinotaur: case Monster.ElectricMinotaur: case Monster.WindMinotaur: case Monster.FireMinotaur: case Monster.ShellNipper: case Monster.Keratoid: case Monster.GiantKeratoid: case Monster.SkyStinger: case Monster.SandWorm: case Monster.VisceralWorm: case Monster.RedSnake: case Monster.TigerSnake: case Monster.GiantWhiteSnake: case Monster.BlueSnake: case Monster.YellowSnake: case Monster.AxeOma: case Monster.SwordOma: case Monster.WingedOma: case Monster.FlailOma: case Monster.OmaGuard: case Monster.KatanaGuard: case Monster.RedFrogSpider: case Monster.BrownFrogSpider: case Monster.HalloweenScythe: case Monster.GhastlyLeecher: case Monster.CyanoGhast: case Monster.RedTurtle: case Monster.GreenTurtle: case Monster.BlueTurtle: case Monster.TowerTurtle: case Monster.DarkTurtle: case Monster.DarkSwordoma: case Monster.DarkAxeoma: case Monster.DarkWingedOma: case Monster.Bonewhoo: case Monster.DarkSpider: case Monster.ViscusWorm: case Monster.ViscusCrawler: case Monster.CrawlerLave: case Monster.DarkYob: case Monster.ValeBat: case Monster.Weaver: case Monster.VenomWeaver: case Monster.CrackingWeaver: case Monster.ArmingWeaver: case Monster.SpiderWarrior: case Monster.SpiderBarbarian: Frames = FrameSet.Monsters[2]; break; case Monster.CannibalPlant: Frames = FrameSet.Monsters[3]; break; case Monster.ForestYeti: case Monster.CaveMaggot: case Monster.FrostYeti: Frames = FrameSet.Monsters[4]; break; case Monster.Scorpion: Frames = FrameSet.Monsters[5]; break; case Monster.ChestnutTree: case Monster.EbonyTree: case Monster.LargeMushroom: case Monster.CherryTree: case Monster.ChristmasTree: case Monster.SnowTree: Frames = FrameSet.Monsters[6]; break; case Monster.EvilCentipede: Frames = FrameSet.Monsters[7]; break; case Monster.BugBatMaggot: Frames = FrameSet.Monsters[8]; break; case Monster.CrystalSpider: case Monster.WhiteFoxman: case Monster.LightTurtle: case Monster.CrystalWeaver: Frames = FrameSet.Monsters[9]; break; case Monster.RedMoonEvil: Frames = FrameSet.Monsters[10]; break; case Monster.ZumaStatue: case Monster.ZumaGuardian: case Monster.FrozenZumaStatue: case Monster.FrozenZumaGuardian: Stoned = info.Extra; Frames = FrameSet.Monsters[11]; break; case Monster.ZumaTaurus: Stoned = info.Extra; Frames = FrameSet.Monsters[12]; break; case Monster.RedThunderZuma: case Monster.FrozenRedZuma: Stoned = info.Extra; Frames = FrameSet.Monsters[13]; break; case Monster.KingScorpion: case Monster.DarkDevil: case Monster.RightGuard: case Monster.LeftGuard: case Monster.MinotaurKing: Frames = FrameSet.Monsters[14]; break; case Monster.BoneFamiliar: Frames = FrameSet.Monsters[15]; if (!info.Extra) ActionFeed.Add(new QueuedAction { Action = MirAction.Appear, Direction = Direction, Location = CurrentLocation }); break; case Monster.Shinsu: Frames = FrameSet.Monsters[16]; if (!info.Extra) ActionFeed.Add(new QueuedAction { Action = MirAction.Appear, Direction = Direction, Location = CurrentLocation }); break; case Monster.DigOutZombie: Frames = FrameSet.Monsters[17]; break; case Monster.ClZombie: case Monster.NdZombie: case Monster.CrawlerZombie: Frames = FrameSet.Monsters[18]; break; case Monster.ShamanZombie: Frames = FrameSet.Monsters[19]; break; case Monster.Khazard: case Monster.FinialTurtle: Frames = FrameSet.Monsters[20]; break; case Monster.BoneLord: Frames = FrameSet.Monsters[21]; break; case Monster.FrostTiger: case Monster.FlameTiger: SitDown = info.Extra; Frames = FrameSet.Monsters[22]; break; case Monster.Yimoogi: Frames = FrameSet.Monsters[23]; break; case Monster.HolyDeva: Frames = FrameSet.Monsters[24]; if (!info.Extra) ActionFeed.Add(new QueuedAction { Action = MirAction.Appear, Direction = Direction, Location = CurrentLocation }); break; case Monster.RootSpider: Frames = FrameSet.Monsters[25]; break; case Monster.BombSpider: case Monster.MutatedHugger: Frames = FrameSet.Monsters[26]; break; case Monster.CrossbowOma: case Monster.DarkCrossBowOma: Frames = FrameSet.Monsters[27]; break; case Monster.YinDevilNode: case Monster.YangDevilNode: Frames = FrameSet.Monsters[28]; break; case Monster.OmaKing: Frames = FrameSet.Monsters[29]; break; case Monster.BlackFoxman: case Monster.RedFoxman: Frames = FrameSet.Monsters[30]; break; case Monster.TrapRock: Frames = FrameSet.Monsters[31]; break; case Monster.GuardianRock: Frames = FrameSet.Monsters[32]; break; case Monster.ThunderElement: case Monster.CloudElement: Frames = FrameSet.Monsters[33]; break; case Monster.GreatFoxSpirit: Frames = FrameSet.Monsters[34 + Stage]; break; case Monster.HedgeKekTal: case Monster.BigHedgeKekTal: Frames = FrameSet.Monsters[39]; break; case Monster.EvilMir: Frames = FrameSet.Monsters[40]; break; case Monster.DragonStatue: Frames = FrameSet.Monsters[41 + (byte)Direction]; break; case Monster.ArcherGuard: Frames = FrameSet.Monsters[47]; break; case Monster.Guard1: Frames = FrameSet.Monsters[48]; break; case Monster.VampireSpider://SummonVampire Frames = FrameSet.Monsters[49]; break; case Monster.SpittingToad://SummonToad Frames = FrameSet.Monsters[50]; break; case Monster.SnakeTotem://SummonSnakes Totem Frames = FrameSet.Monsters[51]; break; case Monster.CharmedSnake://SummonSnakes Frames = FrameSet.Monsters[52]; break; case Monster.HighAssassin: //(146.lib) Frames = FrameSet.Monsters[53]; break; case Monster.DarkDustPile: //(147.lib) case Monster.MudPile: //(156.lib) case Monster.Treasurebox: //(164.lib) case Monster.SnowPile: //(165.lib) Frames = FrameSet.Monsters[54]; break; case Monster.Football: //(149.lib) Frames = FrameSet.Monsters[55]; break; case Monster.GingerBreadman: //(150.lib) Frames = FrameSet.Monsters[56]; break; case Monster.MutatedManworm: //(154.lib) case Monster.CrazyManworm: //(155.lib) Frames = FrameSet.Monsters[57]; break; case Monster.TailedLion: //(157.lib) Frames = FrameSet.Monsters[58]; break; case Monster.Behemoth: //(158.lib) Frames = FrameSet.Monsters[59]; break; case Monster.PoisonHugger: //(160.lib) case Monster.Hugger: //(161.lib) case Monster.ManectricSlave: //(233.lib) Frames = FrameSet.Monsters[60]; break; case Monster.DreamDevourer: //(163.lib) Frames = FrameSet.Monsters[61]; break; case Monster.Snowman: //(166.lib) Frames = FrameSet.Monsters[62]; break; case Monster.GiantEgg: //(168.lib) case Monster.IcePillar: //(231.lib) Frames = FrameSet.Monsters[63]; break; case Monster.BlueSanta: //(176.lib) Frames = FrameSet.Monsters[64]; break; case Monster.BattleStandard: //(177.lib) Frames = FrameSet.Monsters[65]; break; case Monster.WingedTigerLord: //(184.lib) Frames = FrameSet.Monsters[66]; break; case Monster.TurtleKing: //(187.lib) Frames = FrameSet.Monsters[67]; break; case Monster.Bush: Frames = FrameSet.Monsters[68]; break; case Monster.HellSlasher: case Monster.HellCannibal: case Monster.ManectricClub: case Monster.ManectricClaw: Frames = FrameSet.Monsters[69]; break; case Monster.HellPirate: case Monster.FlameSpear: Frames = FrameSet.Monsters[70]; break; case Monster.HellBolt: case Monster.WitchDoctor: Frames = FrameSet.Monsters[71]; break; case Monster.HellKeeper: Frames = FrameSet.Monsters[72]; break; case Monster.NamelessGhost: case Monster.DarkGhost: case Monster.ChaosGhost: case Monster.ManectricBlest: case Monster.TrollHammer: case Monster.TrollBomber: case Monster.TrollStoner: Frames = FrameSet.Monsters[75]; break; case Monster.ManectricHammer: Frames = FrameSet.Monsters[73]; break; case Monster.ManectricStaff: Frames = FrameSet.Monsters[74]; break; case Monster.ManectricKing: case Monster.TrollKing: Frames = FrameSet.Monsters[76]; break; case Monster.FlameMage: case Monster.FlameScythe: case Monster.FlameAssassin: Frames = FrameSet.Monsters[77]; break; case Monster.FlameQueen: Frames = FrameSet.Monsters[78]; break; case Monster.HellKnight1: case Monster.HellKnight2: case Monster.HellKnight3: case Monster.HellKnight4: Frames = FrameSet.Monsters[79]; break; case Monster.HellLord: Frames = FrameSet.Monsters[80]; break; case Monster.WaterGuard: Frames = FrameSet.Monsters[81]; break; case Monster.IceGuard: Frames = FrameSet.Monsters[82]; break; case Monster.DarkDevourer: //(159.lib) Frames = FrameSet.Monsters[83]; break; case Monster.BabyPig://IntelligentCreature case Monster.Chick: case Monster.Kitten: case Monster.BabySkeleton: case Monster.Baekdon: case Monster.Wimaen: case Monster.BlackKitten: case Monster.BabyDragon: case Monster.OlympicFlame: case Monster.BabySnowMan: Frames = FrameSet.HelperPets[((ushort)BaseImage) - 10000]; break; default: Frames = FrameSet.Monsters[0]; break; } SetAction(); SetCurrentEffects(); if (CurrentAction == MirAction.Standing) { PlayAppearSound(); FrameIndex = CMain.Random.Next(Frame.Count); } NextMotion -= NextMotion % 100; }
public void Load(S.ObjectNPC info) { Name = info.Name; NameColour = info.NameColour; CurrentLocation = info.Location; Direction = info.Direction; Movement = info.Location; MapLocation = info.Location; GameScene.Scene.MapControl.AddObject(this); Quests = GameScene.QuestInfoList.Where(c => c.NPCIndex == ObjectID).ToList(); Image = info.Image; if (info.Image < Libraries.NPCs.Length) { BodyLibrary = Libraries.NPCs[info.Image]; } switch (info.Image) { #region 4 frames + direction + harvest(10 frames) default: Frames = FrameSet.NPCs[0]; break; #endregion #region 4 frames + direction + harvest(20 frames) case 23: Frames = FrameSet.NPCs[1]; break; #endregion #region 4 frames case 62: case 63: case 64: case 65: case 66: case 159: Frames = FrameSet.NPCs[2]; CanChangeDir = false; break; #endregion #region 4 frames + direction case 24: case 25: case 27: case 52: case 61: case 68: case 69: case 70: case 75: case 83: case 90: case 91: case 92: case 93: case 94: case 95: case 100: case 101: case 111: case 112: case 115: case 116: case 117: case 118: case 141: case 142: case 151: case 152: case 163: case 178: case 187: case 188: case 189: case 190: Frames = FrameSet.NPCs[2]; break; #endregion #region 12 frames + animation(10 frames) (large tele) case 33: case 34: Frames = FrameSet.NPCs[3]; CanChangeDir = false; break; #endregion #region 2 frames + animation(9 frames) (small tele) case 79: case 80: Frames = FrameSet.NPCs[4]; CanChangeDir = false; break; #endregion #region 1 frame + animation(6 frames) case 85: case 86: Frames = FrameSet.NPCs[5]; CanChangeDir = false; break; #endregion #region 1 frame case 35: case 36: case 37: case 38: case 39: case 40: case 44: case 45: case 46: case 50: case 51: case 54: case 56: case 67: case 71: case 72: case 73: case 76: case 77: case 96: case 97: case 98: case 99: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 109: case 113: case 114: case 124: case 125: case 126: case 127: case 128: case 129: case 130: case 131: case 132: case 133: case 134: case 135: case 136: case 137: case 138: case 139: case 140: case 144: case 145: case 146: case 147: case 148: case 149: case 150: case 156: case 157: Frames = FrameSet.NPCs[6]; CanChangeDir = false; break; #endregion #region 10 frames case 53: case 153: case 158: case 161: case 162: case 123: case 175: case 176: Frames = FrameSet.NPCs[7]; CanChangeDir = false; break; #endregion #region 12 frames case 55: Frames = FrameSet.NPCs[8]; CanChangeDir = false; break; #endregion #region 8 frames case 87: case 88: case 89: case 154: Frames = FrameSet.NPCs[9]; CanChangeDir = false; break; #endregion #region 6 frames + direction case 110: case 119: case 122: case 143: case 174: case 185: Frames = FrameSet.NPCs[10]; break; #endregion #region 1 frame + animation(8 frames) case 155: case 191: Frames = FrameSet.NPCs[11]; CanChangeDir = false; break; #endregion #region 11 frames case 164: case 165: case 166: case 167: case 168: case 169: case 170: case 171: case 172: case 173: Frames = FrameSet.NPCs[12]; CanChangeDir = false; break; #endregion #region 20 frames + animation(20 frames) case 59: Frames = FrameSet.NPCs[13]; CanChangeDir = false; break; #endregion #region 4 frames + direction + animation(4 frames) case 81: case 82: Frames = FrameSet.NPCs[14]; break; #endregion #region 4 frames + harvest(6 frames) case 60: case 183: Frames = FrameSet.NPCs[15]; break; #endregion #region 6 frames + animation(12 frames) case 48: Frames = FrameSet.NPCs[16]; CanChangeDir = false; break; #endregion #region 9 frames + direction case 177: Frames = FrameSet.NPCs[17]; break; #endregion #region 5 frames + direction case 179: case 180: case 181: case 184: Frames = FrameSet.NPCs[18]; break; #endregion #region 7 frames + direction + harvest(10 frames) case 182: Frames = FrameSet.NPCs[0]; break; #endregion } Light = 10; SetAction(); }
private void ProcessFrames() { if (Frame == null) return; switch (CurrentAction) { case MirAction.Walking: if (!GameScene.CanMove) return; GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; SetAction(); } else { switch (FrameIndex) { case 0: PlayWalkSound(true); break; case 3: PlayWalkSound(false); break; } } break; case MirAction.Pushed: if (!GameScene.CanMove) return; GameScene.Scene.MapControl.TextureValid = false; FrameIndex -= 2; if (FrameIndex < 0) { FrameIndex = 0; SetAction(); } break; case MirAction.Show: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { switch (BaseImage) { case Monster.ZumaStatue: case Monster.ZumaGuardian: case Monster.RedThunderZuma: case Monster.ZumaTaurus: Stoned = false; break; case Monster.Shinsu: BodyLibrary = Libraries.Monsters[(ushort)Monster.Shinsu1]; BaseImage = Monster.Shinsu1; BaseSound = (ushort)BaseImage * 10; Frames = FrameSet.Monsters[2]; break; } FrameIndex = Frame.Count - 1; SetAction(); } else { NextMotion += FrameInterval; } } break; case MirAction.Hide: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { switch (BaseImage) { case Monster.CannibalPlant: case Monster.EvilCentipede: case Monster.DigOutZombie: Remove(); return; case Monster.ZumaStatue: case Monster.ZumaGuardian: case Monster.RedThunderZuma: case Monster.ZumaTaurus: Stoned = true; return; } FrameIndex = Frame.Count - 1; SetAction(); } else { NextMotion += FrameInterval; } } break; case MirAction.Appear: case MirAction.Standing: case MirAction.Stoned: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { if (CurrentAction == MirAction.Standing) { switch (BaseImage) { case Monster.SnakeTotem://SummonSnakes Totem if (TrackableEffect.GetOwnerEffectID(this.ObjectID, "SnakeTotem") < 0) Effects.Add(new TrackableEffect(new Effect(Libraries.Monsters[(ushort)Monster.SnakeTotem], 2, 10, 1500, this) { Repeat = true }, "SnakeTotem")); break; case Monster.PalaceWall1: //Effects.Add(new Effect(Libraries.Effect, 196, 1, 1000, this) { DrawBehind = true, d }); //Libraries.Effect.Draw(196, DrawLocation, Color.White, true); //Libraries.Effect.DrawBlend(196, DrawLocation, Color.White, true); break; } } FrameIndex = Frame.Count - 1; SetAction(); } else { NextMotion += FrameInterval; } } break; case MirAction.Attack1: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; if (SetAction()) { switch (BaseImage) { case Monster.EvilCentipede: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.EvilCentipede], 42, 10, 600, this)); break; case Monster.ToxicGhoul: SoundManager.PlaySound(BaseSound + 4); Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.ToxicGhoul], 224 + (int)Direction * 6, 6, 600, this)); break; } } } else { switch (FrameIndex) { case 3: { PlaySwingSound(); switch (BaseImage) { case Monster.RightGuard: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.RightGuard], 272 + (int)Direction * 3, 3, 3 * Frame.Interval, this)); break; case Monster.LeftGuard: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.LeftGuard], 272 + (int)Direction * 3, 3, 3 * Frame.Interval, this)); break; case Monster.Shinsu1: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.Shinsu1], 224 + (int)Direction * 6, 6, 6 * Frame.Interval, this)); break; } break; } } NextMotion += FrameInterval; } } break; case MirAction.SitDown: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; SetAction(); } else { NextMotion += FrameInterval; } } break; case MirAction.Attack2: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; SetAction(); } else { switch (FrameIndex) { case 1: { switch (BaseImage) { case Monster.BabySnowMan: if (FrameIndex == 1) { if (TrackableEffect.GetOwnerEffectID(this.ObjectID, "SnowmanSnow") < 0) Effects.Add(new TrackableEffect(new Effect(Libraries.Pets[((ushort)BaseImage) - 10000], 208, 11, 1500, this), "SnowmanSnow")); } break; } } break; case 3: { switch(BaseImage) { case Monster.Behemoth: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.Behemoth], 768, 10, Frame.Count * Frame.Interval, this)); break; case Monster.FlameQueen: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.FlameQueen], 720, 9, Frame.Count * Frame.Interval, this)); break; } } break; case 10: { switch(BaseImage) { case Monster.StoningStatue: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.StoningStatue], 642, 15, 15 * 100, this)); break; } } break; case 19: { switch(BaseImage) { case Monster.StoningStatue: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.StoningStatue], 624, 8, 8 * 100, this)); break; } } break; } if (FrameIndex == 3) PlaySwingSound(); NextMotion += FrameInterval; } } break; case MirAction.Attack3: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; SetAction(); } else { switch (FrameIndex) { case 1: switch (BaseImage) { case Monster.OlympicFlame: if (TrackableEffect.GetOwnerEffectID(this.ObjectID, "CreatureFlame") < 0) Effects.Add(new TrackableEffect(new Effect(Libraries.Pets[((ushort)BaseImage) - 10000], 280, 4, 800, this), "CreatureFlame")); break; } break; case 3: { switch (BaseImage) { case Monster.WingedTigerLord: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.WingedTigerLord], 632, 8, 600, this, 0, true)); break; } } break; case 4: switch (BaseImage) { case Monster.OlympicFlame: if (TrackableEffect.GetOwnerEffectID(this.ObjectID, "CreatureSmoke") < 0) Effects.Add(new TrackableEffect(new Effect(Libraries.Pets[((ushort)BaseImage) - 10000], 256, 3, 1000, this), "CreatureSmoke")); break; } break; } NextMotion += FrameInterval; } } break; case MirAction.Attack4: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; SetAction(); } else { NextMotion += FrameInterval; } } break; case MirAction.AttackRange1: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { switch (BaseImage) { case Monster.DragonStatue: MapObject ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Dragon, 350, 35, 1200, ob)); SoundManager.PlaySound(BaseSound + 6); } break; } FrameIndex = Frame.Count - 1; SetAction(); } else { if (FrameIndex == 2) PlaySwingSound(); MapObject ob = null; Missile missile; switch (FrameIndex) { case 1: { switch (BaseImage) { case Monster.GuardianRock: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Magic2, 1410, 10, 400, ob)); SoundManager.PlaySound(BaseSound + 6); } break; } break; } case 2: { switch (BaseImage) { case Monster.LeftGuard: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.LeftGuard], 336 + (int)Direction * 3, 3, 3 * Frame.Interval, this)); break; case Monster.ManectricClaw: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.ManectricClaw], 304 + (int)Direction * 10, 10, 10 * Frame.Interval, this)); break; case Monster.FlameSpear: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.FlameSpear], 544 + (int)Direction * 10, 10, 10 * 100, this)); break; } break; } case 4: { switch (BaseImage) { case Monster.AxeSkeleton: if (MapControl.GetObject(TargetID) != null) CreateProjectile(224, Libraries.Monsters[(ushort)Monster.AxeSkeleton], false, 3, 30, 0); break; case Monster.Dark: if (MapControl.GetObject(TargetID) != null) CreateProjectile(224, Libraries.Monsters[(ushort)Monster.Dark], false, 3, 30, 0); break; case Monster.ZumaArcher: case Monster.BoneArcher: if (MapControl.GetObject(TargetID) != null) { CreateProjectile(224, Libraries.Monsters[(ushort)Monster.ZumaArcher], false, 1, 30, 0); SoundManager.PlaySound(BaseSound + 6); } break; case Monster.RedThunderZuma: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Dragon, 400 + CMain.Random.Next(3) * 10, 5, 300, ob)); SoundManager.PlaySound(BaseSound + 6); } break; case Monster.BoneLord: if (MapControl.GetObject(TargetID) != null) CreateProjectile(784, Libraries.Monsters[(ushort)Monster.BoneLord], true, 6, 30, 0, false); break; case Monster.RightGuard: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Magic2, 10, 5, 300, ob)); } break; case Monster.LeftGuard: if (MapControl.GetObject(TargetID) != null) { CreateProjectile(10, Libraries.Magic, true, 6, 30, 4); } break; case Monster.MinotaurKing: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.MinotaurKing], 320, 20, 1000, ob)); } break; case Monster.FrostTiger: if (MapControl.GetObject(TargetID) != null) { CreateProjectile(410, Libraries.Magic2, true, 4, 30, 6); } break; case Monster.Yimoogi: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Magic2, 1250, 15, 1000, ob)); SoundManager.PlaySound(BaseSound + 6); } break; case Monster.HolyDeva: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Magic2, 10, 5, 300, ob)); SoundManager.PlaySound(BaseSound + 6); } break; case Monster.CrossbowOma: if (MapControl.GetObject(TargetID) != null) CreateProjectile(38, Libraries.Monsters[(ushort)Monster.CrossbowOma], false, 1, 30, 6); break; case Monster.WingedOma: missile = CreateProjectile(224, Libraries.Monsters[(ushort)Monster.WingedOma], false, 6, 30, 0, false); if (missile.Target != null) { missile.Complete += (o, e) => { if (missile.Target.CurrentAction == MirAction.Dead) return; missile.Target.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.WingedOma], 272, 2, 150, missile.Target) { Blend = false }); }; } break; case Monster.PoisonHugger: missile = CreateProjectile(208, Libraries.Monsters[(ushort)Monster.PoisonHugger], true, 1, 30, 0); if (missile.Target != null) { missile.Complete += (o, e) => { if (missile.Target.CurrentAction == MirAction.Dead) return; missile.Target.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.PoisonHugger], 224, 5, 150, missile.Target) { Blend = true }); }; } break; case Monster.RedFoxman: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.RedFoxman], 224, 9, 300, ob)); SoundManager.PlaySound(BaseSound + 6); } break; case Monster.WhiteFoxman: missile = CreateProjectile(1160, Libraries.Magic, true, 3, 30, 7); if (missile.Target != null) { missile.Complete += (o, e) => { if (missile.Target.CurrentAction == MirAction.Dead) return; missile.Target.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.WhiteFoxman], 352, 10, 600, missile.Target)); SoundManager.PlaySound(BaseSound + 6); }; } break; case Monster.TrapRock: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.TrapRock], 26, 10, 600, ob)); SoundManager.PlaySound(BaseSound + 6); } break; case Monster.HedgeKekTal: if (MapControl.GetObject(TargetID) != null) CreateProjectile(38, Libraries.Monsters[(ushort)Monster.HedgeKekTal], false, 4, 30, 6); break; case Monster.BigHedgeKekTal: if (MapControl.GetObject(TargetID) != null) CreateProjectile(38, Libraries.Monsters[(ushort)Monster.BigHedgeKekTal], false, 4, 30, 6); break; case Monster.EvilMir: missile = CreateProjectile(60, Libraries.Dragon, true, 10, 10, 0); if (missile.Direction > 12) missile.Direction = 12; if (missile.Direction < 7) missile.Direction = 7; if (missile.Target != null) { missile.Complete += (o, e) => { if (missile.Target.CurrentAction == MirAction.Dead) return; missile.Target.Effects.Add(new Effect(Libraries.Dragon, 200, 20, 600, missile.Target)); }; } break; case Monster.ArcherGuard: if (MapControl.GetObject(TargetID) != null) CreateProjectile(38, Libraries.Monsters[(ushort)Monster.ArcherGuard], false, 3, 30, 6); break; case Monster.SpittingToad: if (MapControl.GetObject(TargetID) != null) CreateProjectile(280, Libraries.Monsters[(ushort)Monster.SpittingToad], true, 6, 30, 0); break; case Monster.ArcherGuard2: if (MapControl.GetObject(TargetID) != null) CreateProjectile(38, Libraries.Monsters[(ushort)Monster.ArcherGuard], false, 3, 30, 6); break; case Monster.FinialTurtle: missile = CreateProjectile(272, Libraries.Monsters[(ushort)Monster.FinialTurtle], true, 3, 30, 0, true); if (missile.Target != null) { missile.Complete += (o, e) => { if (missile.Target.CurrentAction == MirAction.Dead) return; missile.Target.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.FinialTurtle], 320, 10, 500, missile.Target) { Blend = true }); SoundManager.PlaySound(20000 + (ushort)Spell.FrostCrunch * 10 + 2); }; } break; case Monster.HellBolt: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.HellBolt], 315, 10, 600, ob)); SoundManager.PlaySound(BaseSound + 6); } break; case Monster.WitchDoctor: if (MapControl.GetObject(TargetID) != null) { missile = CreateProjectile(313, Libraries.Monsters[(ushort)Monster.WitchDoctor], true, 5, 30, -5, false); if (missile.Target != null) { missile.Complete += (o, e) => { if (missile.Target.CurrentAction == MirAction.Dead) return; missile.Target.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.WitchDoctor], 318, 10, 600, missile.Target)); SoundManager.PlaySound(BaseSound + 6); }; } } break; case Monster.WingedTigerLord: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.WingedTigerLord], 640, 10, 800, ob, CMain.Time + 400, false)); } break; case Monster.TrollBomber: missile = CreateProjectile(208, Libraries.Monsters[(ushort)Monster.TrollBomber], false, 4, 40, -4, false); if (missile.Target != null) { missile.Complete += (o, e) => { missile.Target.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.TrollBomber], 212, 6, 600, missile.Target) { Blend = true }); }; } break; case Monster.TrollStoner: missile = CreateProjectile(208, Libraries.Monsters[(ushort)Monster.TrollStoner], false, 4, 40, -4, false); break; case Monster.FlameMage: missile = CreateProjectile(544, Libraries.Monsters[(ushort)Monster.FlameMage], true, 3, 20, 0); if (missile.Target != null) { missile.Complete += (o, e) => { missile.Target.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.FlameMage], 592, 10, 1000, missile.Target)); }; } break; case Monster.FlameScythe: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.FlameScythe], 586, 9, 900, ob)); } break; case Monster.FlameAssassin: missile = CreateProjectile(592, Libraries.Monsters[(ushort)Monster.FlameAssassin], true, 3, 20, 0); if (missile.Target != null) { missile.Complete += (o, e) => { missile.Target.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.FlameAssassin], 640, 6, 600, missile.Target)); }; } break; case Monster.FlameQueen: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.FlameQueen], 729, 10, Frame.Count * Frame.Interval, this)); break; } break; } case 5: break; } NextMotion += FrameInterval; } } break; case MirAction.AttackRange2: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; SetAction(); } else { switch (FrameIndex) { case 4: { MapObject ob = null; Missile missile; switch (BaseImage) { case Monster.RedFoxman: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.RedFoxman], 233, 10, 400, ob)); SoundManager.PlaySound(BaseSound + 7); } break; case Monster.WhiteFoxman: missile = CreateProjectile(1160, Libraries.Magic, true, 3, 30, 7); if (missile.Target != null) { missile.Complete += (o, e) => { if (missile.Target.CurrentAction == MirAction.Dead) return; missile.Target.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.WhiteFoxman], 362, 15, 1800, missile.Target)); SoundManager.PlaySound(BaseSound + 7); }; } break; case Monster.TrollKing: missile = CreateProjectile(294, Libraries.Monsters[(ushort)Monster.TrollKing], false, 4, 40, -4, false); if (missile.Target != null) { missile.Complete += (o, e) => { missile.Target.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.TrollKing], 298, 6, 600, missile.Target) { Blend = true }); }; } break; } break; } } NextMotion += FrameInterval; } } break; case MirAction.AttackRange3: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; SetAction(); } else { NextMotion += FrameInterval; } } break; case MirAction.Struck: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; SetAction(); } else { NextMotion += FrameInterval; } } break; case MirAction.Die: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; ActionFeed.Clear(); ActionFeed.Add(new QueuedAction { Action = MirAction.Dead, Direction = Direction, Location = CurrentLocation }); SetAction(); } else { switch (FrameIndex) { case 1: switch (BaseImage) { case Monster.PoisonHugger: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.PoisonHugger], 224, 5, Frame.Count * FrameInterval, this)); break; case Monster.Hugger: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.Hugger], 256, 8, Frame.Count * FrameInterval, this)); break; case Monster.MutatedHugger: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.MutatedHugger], 128, 7, Frame.Count * FrameInterval, this)); break; case Monster.CyanoGhast: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.CyanoGhast], 681, 7, Frame.Count * FrameInterval, this)); break; } break; case 3: PlayDeadSound(); switch (BaseImage) { case Monster.BoneSpearman: case Monster.BoneBlademan: case Monster.BoneArcher: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.BoneSpearman], 224, 8, Frame.Count * FrameInterval, this)); break; } break; } NextMotion += FrameInterval; } } break; case MirAction.Revive: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; ActionFeed.Clear(); ActionFeed.Add(new QueuedAction { Action = MirAction.Standing, Direction = Direction, Location = CurrentLocation }); SetAction(); } else { if (FrameIndex == 3) PlayReviveSound(); NextMotion += FrameInterval; } } break; case MirAction.Dead: break; } if ((CurrentAction == MirAction.Standing || CurrentAction == MirAction.SitDown) && NextAction != null) SetAction(); else if (CurrentAction == MirAction.Dead && NextAction != null && (NextAction.Action == MirAction.Skeleton || NextAction.Action == MirAction.Revive)) SetAction(); }
public PlayerObject(uint objectID) : base(objectID) { Frames = FrameSet.Players; }
public void Load(S.ObjectNPC info) { Name = info.Name; NameColour = info.NameColour; CurrentLocation = info.Location; Direction = info.Direction; Movement = info.Location; MapLocation = info.Location; GameScene.Scene.MapControl.AddObject(this); Image = info.Image; if (info.Image < Libraries.NPCs.Length) BodyLibrary = Libraries.NPCs[info.Image]; switch (info.Image) { #region 4 frames + direction + harvest(10 frames) default: Frames = FrameSet.NPCs[0]; break; #endregion #region 4 frames + direction + harvest(20 frames) case 23: Frames = FrameSet.NPCs[1]; break; #endregion #region 4 frames case 62: case 63: case 64: case 65: case 66: case 159: Frames = FrameSet.NPCs[2]; CanChangeDir = false; break; #endregion #region 4 frames + direction case 52: case 61: case 68: case 69: case 70: case 75: case 83: case 90: case 91: case 92: case 93: case 94: case 95: case 100: case 101: case 111: case 112: case 115: case 116: case 117: case 118: case 141: case 142: case 151: case 152: case 163: Frames = FrameSet.NPCs[2]; break; #endregion #region 12 frames + animation(10 frames) (large tele) case 33: case 34: Frames = FrameSet.NPCs[3]; CanChangeDir = false; break; #endregion #region 2 frames + animation(9 frames) (small tele) case 79: case 80: Frames = FrameSet.NPCs[4]; CanChangeDir = false; break; #endregion #region 1 frame + animation(6 frames) case 85: case 86: Frames = FrameSet.NPCs[5]; CanChangeDir = false; break; #endregion #region 1 frame case 35: case 36: case 37: case 38: case 39: case 40: case 44: case 45: case 46: case 50: case 51: case 54: case 56: case 67: case 71: case 72: case 73: case 76: case 77: case 96: case 97: case 98: case 99: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 109: case 113: case 114: case 124: case 125: case 126: case 127: case 128: case 129: case 130: case 131: case 132: case 133: case 134: case 135: case 136: case 137: case 138: case 139: case 140: case 144: case 145: case 146: case 147: case 148: case 149: case 150: case 156: case 157: Frames = FrameSet.NPCs[6]; CanChangeDir = false; break; #endregion #region 10 frames case 53: case 153: case 158: case 161: case 162: case 123: Frames = FrameSet.NPCs[7]; CanChangeDir = false; break; #endregion #region 12 frames case 55: Frames = FrameSet.NPCs[8]; CanChangeDir = false; break; #endregion #region 8 frames case 87: case 88: case 89: case 154: Frames = FrameSet.NPCs[9]; CanChangeDir = false; break; #endregion #region 6 frames + direction case 110: case 119: case 122: case 143: Frames = FrameSet.NPCs[10]; break; #endregion #region 1 frame + animation(8 frames) case 155: Frames = FrameSet.NPCs[11]; CanChangeDir = false; break; #endregion #region 11 frames case 164: case 165: case 166: case 167: case 168: case 169: case 170: case 171: case 172: case 173: Frames = FrameSet.NPCs[12]; CanChangeDir = false; break; #endregion #region 20 frames + animation(20 frames) case 59: Frames = FrameSet.NPCs[13]; CanChangeDir = false; break; #endregion #region 4 frames + direction + animation(4 frames) case 81: case 82: Frames = FrameSet.NPCs[14]; break; #endregion #region 4 frames + harvest(6 frames) case 60: Frames = FrameSet.NPCs[15]; break; #endregion #region 6 frames + animation(12 frames) case 48: Frames = FrameSet.NPCs[16]; CanChangeDir = false; break; #endregion } Light = 10; SetAction(); }
static FrameSet() { FrameSet frame; NPCs = new List <FrameSet>(); Monsters = new List <FrameSet>(); Players = new FrameSet(); /* * PLAYERS */ #region Player Frames //Common Players.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500, 0, 8, 0, 250)); Players.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100, 64, 6, 0, 100)); Players.Frames.Add(MirAction.Running, new Frame(80, 6, 0, 100, 112, 6, 0, 100)); Players.Frames.Add(MirAction.Stance, new Frame(128, 1, 0, 1000, 160, 1, 0, 1000)); Players.Frames.Add(MirAction.Stance2, new Frame(300, 1, 5, 1000, 300, 1, 5, 1000)); Players.Frames.Add(MirAction.Attack1, new Frame(136, 6, 0, 100, 168, 6, 0, 100)); Players.Frames.Add(MirAction.Attack2, new Frame(184, 6, 0, 100, 216, 6, 0, 100)); Players.Frames.Add(MirAction.Attack3, new Frame(232, 8, 0, 100, 264, 8, 0, 100)); Players.Frames.Add(MirAction.Attack4, new Frame(416, 6, 0, 100, 448, 6, 0, 100)); Players.Frames.Add(MirAction.Spell, new Frame(296, 6, 0, 100, 328, 6, 0, 100)); Players.Frames.Add(MirAction.Harvest, new Frame(344, 2, 0, 300, 376, 2, 0, 300)); Players.Frames.Add(MirAction.Struck, new Frame(360, 3, 0, 100, 392, 3, 0, 100)); Players.Frames.Add(MirAction.Die, new Frame(384, 4, 0, 100, 416, 4, 0, 100)); Players.Frames.Add(MirAction.Dead, new Frame(387, 1, 3, 1000, 419, 1, 3, 1000)); Players.Frames.Add(MirAction.Revive, new Frame(384, 4, 0, 100, 416, 4, 0, 100) { Reverse = true }); Players.Frames.Add(MirAction.Mine, new Frame(184, 6, 0, 100, 216, 6, 0, 100)); //Assassin Players.Frames.Add(MirAction.Sneek, new Frame(464, 6, 0, 100, 496, 6, 0, 100)); Players.Frames.Add(MirAction.DashAttack, new Frame(80, 3, 3, 100, 112, 3, 3, 100)); //Archer Players.Frames.Add(MirAction.WalkingBow, new Frame(0, 6, 0, 100, 0, 6, 0, 100)); Players.Frames.Add(MirAction.RunningBow, new Frame(48, 6, 0, 100, 48, 6, 0, 100)); Players.Frames.Add(MirAction.AttackRange1, new Frame(96, 8, 0, 100, 96, 8, 0, 100)); Players.Frames.Add(MirAction.AttackRange2, new Frame(160, 8, 0, 100, 160, 8, 0, 100)); Players.Frames.Add(MirAction.AttackRange3, new Frame(224, 8, 0, 100, 224, 8, 0, 100)); Players.Frames.Add(MirAction.Jump, new Frame(288, 8, 0, 100, 288, 8, 0, 100)); //Mounts Players.Frames.Add(MirAction.MountStanding, new Frame(416, 4, 0, 500, 448, 4, 0, 500)); Players.Frames.Add(MirAction.MountWalking, new Frame(448, 8, 0, 100, 480, 8, 0, 500)); Players.Frames.Add(MirAction.MountRunning, new Frame(512, 6, 0, 100, 544, 6, 0, 100)); Players.Frames.Add(MirAction.MountStruck, new Frame(560, 3, 0, 100, 592, 3, 0, 100)); Players.Frames.Add(MirAction.MountAttack, new Frame(584, 6, 0, 100, 616, 6, 0, 100)); //Fishing Players.Frames.Add(MirAction.FishingCast, new Frame(632, 8, 0, 100)); Players.Frames.Add(MirAction.FishingWait, new Frame(696, 6, 0, 120)); Players.Frames.Add(MirAction.FishingReel, new Frame(744, 8, 0, 100)); #endregion /* * NPCS */ #region NPC Frames //Default NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 450)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 10, 0, 200)); //Washer NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(4, 4, 0, 450)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 20, 0, 200)); //Default - No Harvest Animation NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 450)); // Large Teleport Stones NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 12, 0, 200, 12, 10, 0, 150)); // Small Teleport Stones NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 500, 2, 9, 0, 100)); // Pot With Flames NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 300, 2, 6, 0, 100)); // Statues NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, 0, 1500)); // Flags (10 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 12, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 8, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 300, 2, 8, 0, 100)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 11, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 20, 0, 450, 20, 20, 0, 450)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 250, 12, 4, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 250)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 6, 0, 200)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 450, 6, 12, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 9, 0, 650)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 5, 0, 400)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 7, 0, 550)); frame.Frames.Add(MirAction.Harvest, new Frame(21, 10, 0, 200)); #endregion /* * MONSTERS */ #region Monster Frames //0 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); //1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Skeleton, new Frame(224, 1, 0, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //2 - Regular Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Show, new Frame(4, 8, -8, 200)); frame.Frames.Add(MirAction.Hide, new Frame(11, 8, -8, 200) { Reverse = true }); frame.Frames.Add(MirAction.Attack1, new Frame(12, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(60, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(76, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(85, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(76, 10, 0, 100) { Reverse = true }); //4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 4, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(147, 1, 3, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 4, 0, 100) { Reverse = true }); //5 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(128, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); //6 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 500)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 100)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 100) { Reverse = true }); //7 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Show, new Frame(22, 10, -10, 150)); frame.Frames.Add(MirAction.Hide, new Frame(31, 10, -10, 150) { Reverse = true }); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 150) { Reverse = true }); //8 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 150) { Reverse = true }); //9 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //10 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 20, -20, 100)); frame.Frames.Add(MirAction.Dead, new Frame(31, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 20, -20, 100) { Reverse = true }); //11 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Stoned, new Frame(0, 1, 5, 100)); frame.Frames.Add(MirAction.Show, new Frame(0, 6, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(5, 6, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Standing, new Frame(48, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(192, 10, 0, 100) { Reverse = true }); //12 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Stoned, new Frame(0, 1, -1, 100)); frame.Frames.Add(MirAction.Show, new Frame(0, 20, -20, 100)); frame.Frames.Add(MirAction.Standing, new Frame(20, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(52, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(100, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(148, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(164, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(173, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(164, 10, 0, 100) { Reverse = true }); //13 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Stoned, new Frame(272, 1, 5, 100)); frame.Frames.Add(MirAction.Show, new Frame(272, 6, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(277, 6, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //14 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //15 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Appear, new Frame(224, 10, -10, 100) { Blend = true }); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //16 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Appear, new Frame(0, 10, 0, 100)); frame.Frames.Add(MirAction.Standing, new Frame(80, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(112, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 10, 0, 100)); frame.Frames.Add(MirAction.Show, new Frame(256, 10, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(265, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Revive, new Frame(176, 10, 0, 100) { Reverse = true }); //17 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Show, new Frame(224, 10, 0, 200)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //18 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(224, 10, 0, 100)); //19 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //20 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //21 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(128, 6, 0, 200)); frame.Frames.Add(MirAction.AttackRange1, new Frame(176, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(224, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(240, 20, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(259, 1, 19, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(240, 20, 0, 150) { Reverse = true }); //22 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.SitDown, new Frame(272, 4, 0, 500)); //23 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //24 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Appear, new Frame(216, 10, -10, 100) { Blend = true }); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500) { Blend = true }); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100) { Blend = true }); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100) { Blend = true }); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200) { Blend = true }); frame.Frames.Add(MirAction.Die, new Frame(144, 9, 0, 100) { Blend = true }); frame.Frames.Add(MirAction.Revive, new Frame(144, 9, 0, 100) { Blend = true, Reverse = true }); //25 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 18, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, 16, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, 20, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, 12, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, 21, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, 12, 150) { Reverse = true }); //26 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, 5, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(0, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(0, 1, 5, 200)); frame.Frames.Add(MirAction.Die, new Frame(48, 10, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(57, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(48, 10, 0, 150) { Reverse = true }); //27 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 1, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(88, 6, 1, 100)); frame.Frames.Add(MirAction.Struck, new Frame(144, 1, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(160, 10, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(169, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(160, 10, 0, 150) { Reverse = true }); //28 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 180)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 150) { Reverse = true }); //29 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(464, 20, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 20, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(163, 1, 19, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 20, 0, 150) { Reverse = true }); //30 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //31 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Show, new Frame(4, 5, -5, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(9, 5, -5, 100)); frame.Frames.Add(MirAction.Struck, new Frame(14, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(16, 10, -10, 100)); frame.Frames.Add(MirAction.Dead, new Frame(25, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(16, 10, -10, 100) { Reverse = true }); //32 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 4, -4, 200)); //33 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 800)); frame.Frames.Add(MirAction.Walking, new Frame(10, 10, -10, 80)); frame.Frames.Add(MirAction.Attack1, new Frame(20, 10, -10, 80)); frame.Frames.Add(MirAction.Struck, new Frame(30, 4, -4, 200)); frame.Frames.Add(MirAction.Die, new Frame(34, 10, -10, 120)); frame.Frames.Add(MirAction.Dead, new Frame(43, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(34, 10, -10, 150) { Reverse = true }); //34 - GreatFoxSpirit level 0 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(22, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(20, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //35 - GreatFoxSpirit level 1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(60, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(82, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(80, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //36 - GreatFoxSpirit level 2 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(120, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(142, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(140, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //37 - GreatFoxSpirit level 3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(180, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(202, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(200, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //38 - GreatFoxSpirit level 4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(240, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(262, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(260, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //39 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 4, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(112, 6, 4, 100)); frame.Frames.Add(MirAction.Struck, new Frame(192, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(208, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(217, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(208, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.AttackRange1, new Frame(288, 6, 0, 100)); //40 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(42, 8, -8, 120)); frame.Frames.Add(MirAction.AttackRange1, new Frame(10, 6, 4, 120)); frame.Frames.Add(MirAction.Struck, new Frame(40, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(42, 7, -7, 120)); frame.Frames.Add(MirAction.Dead, new Frame(48, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(42, 7, -7, 120) { Reverse = true }); //41 - Dragon Statue 1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(300, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(300, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(300, 1, -1, 200)); //42 - Dragon Statue 2 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(301, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(301, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(301, 1, -1, 200)); //43 - Dragon Statue 3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(302, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(302, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(302, 1, -1, 200)); //44 - Dragon Statue 4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(320, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(320, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(320, 1, -1, 200)); //45 - Dragon Statue 5 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(321, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(321, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(321, 1, -1, 200)); //46 - Dragon Statue 6 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(322, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(322, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(322, 1, -1, 200)); //47 - Archer Guard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 3, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(104, 6, 3, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 100)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); //48 - Taoist Guard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(32, 6, 0, 100)); //49 - Archer SummonVampire Monsters.Add(frame = new FrameSet()); //frame.Frames.Add(MirAction.???, new Frame(0, 3, 0, 500));// dunno what miraction to assign to this ? frame.Frames.Add(MirAction.Show, new Frame(24, 6, 0, 150)); frame.Frames.Add(MirAction.Hide, new Frame(29, 6, 0, 150) { Reverse = true }); frame.Frames.Add(MirAction.Standing, new Frame(72, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(104, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(152, 5, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(192, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(216, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(225, 1, 9, 1000)); //50 - Archer SummonToad Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.AttackRange1, new Frame(32, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(104, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(128, 10, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(208, 4, 0, 100)); frame.Frames.Add(MirAction.Show, new Frame(211, 4, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Dead, new Frame(137, 1, 9, 1000)); //51 - Archer SummonSnakes Totem Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(0, 2, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(0, 1, 0, 100)); frame.Frames.Add(MirAction.Die, new Frame(0, 1, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(0, 1, 0, 100)); //52 - Archer SummonSnakes Snake Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 5, 0, 200)); frame.Frames.Add(MirAction.Walking, new Frame(0, 5, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(0, 5, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(0, 5, 0, 100)); frame.Frames.Add(MirAction.Die, new Frame(52, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(59, 1, 7, 1000)); #endregion }
public void Load(S.ObjectNPC info) { Name = info.Name; NameColour = info.NameColour; CurrentLocation = info.Location; Direction = info.Direction; Movement = info.Location; MapLocation = info.Location; GameScene.Scene.MapControl.AddObject(this); Quests = GameScene.QuestInfoList.Where(c => c.NPCIndex == ObjectID).ToList(); Image = info.Image; Colour = info.Colour; LoadLibrary(); switch (info.Image) { #region 4 frames + direction + harvest(10 frames) default: Frames = FrameSet.NPCs[0]; break; #endregion #region 4 frames + direction + harvest(20 frames) case 23: Frames = FrameSet.NPCs[1]; break; #endregion #region 4 frames case 62: case 63: case 64: case 65: case 66: case 159: Frames = FrameSet.NPCs[2]; CanChangeDir = false; break; #endregion #region 4 frames + direction case 24: case 25: case 27: case 32: case 52: case 61: case 68: case 69: case 70: case 75: case 83: case 90: case 91: case 92: case 93: case 94: case 95: case 100: case 101: case 111: case 112: case 115: case 116: case 117: case 118: case 120: case 141: case 142: case 151: case 152: case 163: case 178: case 186: case 187: case 188: case 189: case 190: Frames = FrameSet.NPCs[2]; break; #endregion #region 12 frames + animation(10 frames) (large tele) case 33: case 34: Frames = FrameSet.NPCs[3]; CanChangeDir = false; break; #endregion #region 2 frames + animation(9 frames) (small tele) case 79: case 80: case 240: case 241: Frames = FrameSet.NPCs[4]; CanChangeDir = false; break; #endregion #region 2 frame + animation(6 frames) case 85: case 86: Frames = FrameSet.NPCs[5]; CanChangeDir = false; break; #endregion #region 1 frame case 35: case 36: case 37: case 38: case 39: case 40: case 44: case 45: case 46: case 50: case 51: case 54: case 56: case 67: case 71: case 72: case 73: case 76: case 77: case 96: case 97: case 98: case 99: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 109: case 113: case 114: case 124: case 125: case 126: case 127: case 128: case 129: case 130: case 131: case 132: case 133: case 134: case 135: case 136: case 137: case 138: case 139: case 140: case 144: case 145: case 146: case 147: case 148: case 149: case 150: case 156: case 157: case 229: // Ice 9/25 case 230: case 231: case 232: case 233: case 234: case 235: case 236: case 237: case 238: Frames = FrameSet.NPCs[6]; CanChangeDir = false; break; #endregion #region 10 frames case 53: case 153: case 158: case 161: case 162: case 123: case 175: case 176: case 192: case 1000: case 1001: case 1002: case 1003: case 1004: case 1005: case 1006: case 1007: case 1008: case 1009: case 1010: case 1011: Frames = FrameSet.NPCs[7]; CanChangeDir = false; break; #endregion #region 12 frames case 55: Frames = FrameSet.NPCs[8]; CanChangeDir = false; break; #endregion #region 8 frames case 87: case 88: case 89: case 154: Frames = FrameSet.NPCs[9]; CanChangeDir = false; break; #endregion #region 6 frames + direction case 110: case 119: case 122: case 143: case 174: case 185: case 201: //Ice 9/25 case 202: case 203: case 204: case 205: case 206: case 207: case 209: case 210: case 211: case 212: case 215: case 216: case 217: case 218: case 219: case 220: case 221: case 222: case 223: case 224: case 225: case 226: case 227: Frames = FrameSet.NPCs[10]; break; #endregion #region 2 frame + animation(8 frames) case 155: Frames = FrameSet.NPCs[11]; CanChangeDir = false; break; #endregion #region 11 frames case 164: case 165: case 166: case 167: case 168: case 169: case 170: case 171: case 172: case 173: Frames = FrameSet.NPCs[12]; CanChangeDir = false; break; #endregion #region 20 frames + animation(20 frames) case 59: Frames = FrameSet.NPCs[13]; CanChangeDir = false; break; #endregion #region 4 frames + direction + animation(4 frames) case 81: case 82: Frames = FrameSet.NPCs[14]; break; #endregion #region 4 frames + harvest(6 frames) case 60: case 183: Frames = FrameSet.NPCs[15]; break; #endregion #region 6 frames + animation(12 frames) case 48: Frames = FrameSet.NPCs[16]; CanChangeDir = false; break; #endregion #region 9 frames + direction case 177: case 213: //Ice 9/25 Frames = FrameSet.NPCs[17]; break; #endregion #region 5 frames + direction case 179: case 180: case 181: case 184: Frames = FrameSet.NPCs[18]; break; #endregion #region 7 frames + direction + harvest(10 frames) case 182: Frames = FrameSet.NPCs[19]; break; #endregion #region 1 frame + animation(9 frames) case 191: Frames = FrameSet.NPCs[20]; CanChangeDir = false; break; #endregion #region 6 frames #endregion #region 9 Animation case 239: //case 242: //case 243: Frames = FrameSet.NPCs[23]; CanChangeDir = false; break; /* * case 250: * Frames = FrameSet.NPCs[24]; * CanChangeDir = false; * break; */ case 242: case 243: case 244: case 245: Frames = FrameSet.NPCs[25]; CanChangeDir = true; break; case 246: Frames = FrameSet.NPCs[26]; CanChangeDir = false; break; case 247: case 252: Frames = FrameSet.NPCs[27]; CanChangeDir = false; break; case 248: Frames = FrameSet.NPCs[28]; CanChangeDir = false; break; case 249: case 250: case 251: Frames = FrameSet.NPCs[29]; CanChangeDir = false; break; #endregion } Light = 10; BaseIndex = 0; SetAction(); }
static FrameSet() { FrameSet frame; Player = new FrameSet(); //Default NPC DefaultNPC = new FrameSet { { MirAction.Standing, new Frame(0, 4, 0, 450) }, { MirAction.Harvest, new Frame(12, 10, 0, 200) } }; //Default Monster DefaultMonster = new FrameSet { { MirAction.Standing, new Frame(0, 4, 0, 500) }, { MirAction.Walking, new Frame(32, 6, 0, 100) }, { MirAction.Attack1, new Frame(80, 6, 0, 100) }, { MirAction.Struck, new Frame(128, 2, 0, 200) }, { MirAction.Die, new Frame(144, 10, 0, 100) }, { MirAction.Dead, new Frame(153, 1, 9, 1000) }, { MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true } } }; #region DragonStatue //DragonStatue 1 DragonStatue = new List <FrameSet> { (frame = new FrameSet()) }; frame.Add(MirAction.Standing, new Frame(300, 1, -1, 1000)); frame.Add(MirAction.AttackRange1, new Frame(300, 1, -1, 120)); frame.Add(MirAction.Struck, new Frame(300, 1, -1, 200)); //DragonStatue 2 DragonStatue.Add(frame = new FrameSet()); frame.Add(MirAction.Standing, new Frame(301, 1, -1, 1000)); frame.Add(MirAction.AttackRange1, new Frame(301, 1, -1, 120)); frame.Add(MirAction.Struck, new Frame(301, 1, -1, 200)); //DragonStatue 3 DragonStatue.Add(frame = new FrameSet()); frame.Add(MirAction.Standing, new Frame(302, 1, -1, 1000)); frame.Add(MirAction.AttackRange1, new Frame(302, 1, -1, 120)); frame.Add(MirAction.Struck, new Frame(302, 1, -1, 200)); //DragonStatue 4 DragonStatue.Add(frame = new FrameSet()); frame.Add(MirAction.Standing, new Frame(320, 1, -1, 1000)); frame.Add(MirAction.AttackRange1, new Frame(320, 1, -1, 120)); frame.Add(MirAction.Struck, new Frame(320, 1, -1, 200)); //DragonStatue 5 DragonStatue.Add(frame = new FrameSet()); frame.Add(MirAction.Standing, new Frame(321, 1, -1, 1000)); frame.Add(MirAction.AttackRange1, new Frame(321, 1, -1, 120)); frame.Add(MirAction.Struck, new Frame(321, 1, -1, 200)); //DragonStatue 6 DragonStatue.Add(frame = new FrameSet()); frame.Add(MirAction.Standing, new Frame(322, 1, -1, 1000)); frame.Add(MirAction.AttackRange1, new Frame(322, 1, -1, 120)); frame.Add(MirAction.Struck, new Frame(322, 1, -1, 200)); #endregion #region GreatFoxSpirit //GreatFoxSpirit level 0 GreatFoxSpirit = new List <FrameSet> { (frame = new FrameSet()) }; frame.Add(MirAction.Standing, new Frame(0, 20, -20, 100)); frame.Add(MirAction.Attack1, new Frame(22, 8, -8, 120)); frame.Add(MirAction.Struck, new Frame(20, 2, -2, 200)); frame.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //GreatFoxSpirit level 1 GreatFoxSpirit.Add(frame = new FrameSet()); frame.Add(MirAction.Standing, new Frame(60, 20, -20, 100)); frame.Add(MirAction.Attack1, new Frame(82, 8, -8, 120)); frame.Add(MirAction.Struck, new Frame(80, 2, -2, 200)); frame.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //GreatFoxSpirit level 2 GreatFoxSpirit.Add(frame = new FrameSet()); frame.Add(MirAction.Standing, new Frame(120, 20, -20, 100)); frame.Add(MirAction.Attack1, new Frame(142, 8, -8, 120)); frame.Add(MirAction.Struck, new Frame(140, 2, -2, 200)); frame.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //GreatFoxSpirit level 3 GreatFoxSpirit.Add(frame = new FrameSet()); frame.Add(MirAction.Standing, new Frame(180, 20, -20, 100)); frame.Add(MirAction.Attack1, new Frame(202, 8, -8, 120)); frame.Add(MirAction.Struck, new Frame(200, 2, -2, 200)); frame.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //GreatFoxSpirit level 4 GreatFoxSpirit.Add(frame = new FrameSet()); frame.Add(MirAction.Standing, new Frame(240, 20, -20, 100)); frame.Add(MirAction.Attack1, new Frame(262, 8, -8, 120)); frame.Add(MirAction.Struck, new Frame(260, 2, -2, 200)); frame.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); #endregion #region HellBombs //HellBomb1 HellBomb = new List <FrameSet> { (frame = new FrameSet()) }; frame.Add(MirAction.Standing, new Frame(52, 9, -9, 100) { Blend = true }); frame.Add(MirAction.Attack1, new Frame(999, 1, -1, 120) { Blend = true }); frame.Add(MirAction.Struck, new Frame(52, 9, -9, 100) { Blend = true }); //HellBomb2 HellBomb.Add(frame = new FrameSet()); frame.Add(MirAction.Standing, new Frame(70, 9, -9, 100) { Blend = true }); frame.Add(MirAction.Attack1, new Frame(999, 1, -1, 120) { Blend = true }); frame.Add(MirAction.Struck, new Frame(70, 9, -9, 100) { Blend = true }); //HellBomb3 HellBomb.Add(frame = new FrameSet()); frame.Add(MirAction.Standing, new Frame(88, 9, -9, 100) { Blend = true }); frame.Add(MirAction.Attack1, new Frame(999, 1, -1, 120) { Blend = true }); frame.Add(MirAction.Struck, new Frame(88, 9, -9, 100) { Blend = true }); #endregion #region Player //Common Player.Add(MirAction.Standing, new Frame(0, 4, 0, 500, 0, 8, 0, 250)); Player.Add(MirAction.Walking, new Frame(32, 6, 0, 100, 64, 6, 0, 100)); Player.Add(MirAction.Running, new Frame(80, 6, 0, 100, 112, 6, 0, 100)); Player.Add(MirAction.Stance, new Frame(128, 1, 0, 1000, 160, 1, 0, 1000)); Player.Add(MirAction.Stance2, new Frame(300, 1, 5, 1000, 332, 1, 5, 1000)); Player.Add(MirAction.Attack1, new Frame(136, 6, 0, 100, 168, 6, 0, 100)); Player.Add(MirAction.Attack2, new Frame(184, 6, 0, 100, 216, 6, 0, 100)); Player.Add(MirAction.Attack3, new Frame(232, 8, 0, 100, 264, 8, 0, 100)); Player.Add(MirAction.Attack4, new Frame(416, 6, 0, 100, 448, 6, 0, 100)); Player.Add(MirAction.Spell, new Frame(296, 6, 0, 100, 328, 6, 0, 100)); Player.Add(MirAction.Harvest, new Frame(344, 2, 0, 300, 376, 2, 0, 300)); Player.Add(MirAction.Struck, new Frame(360, 3, 0, 100, 392, 3, 0, 100)); Player.Add(MirAction.Die, new Frame(384, 4, 0, 100, 416, 4, 0, 100)); Player.Add(MirAction.Dead, new Frame(387, 1, 3, 1000, 419, 1, 3, 1000)); Player.Add(MirAction.Revive, new Frame(384, 4, 0, 100, 416, 4, 0, 100) { Reverse = true }); Player.Add(MirAction.Mine, new Frame(184, 6, 0, 100, 216, 6, 0, 100)); Player.Add(MirAction.Lunge, new Frame(139, 1, 5, 1000, 300, 1, 5, 1000)); //Assassin Player.Add(MirAction.Sneek, new Frame(464, 6, 0, 100, 496, 6, 0, 100)); Player.Add(MirAction.DashAttack, new Frame(80, 3, 3, 100, 112, 3, 3, 100)); //Archer Player.Add(MirAction.WalkingBow, new Frame(0, 6, 0, 100, 0, 6, 0, 100)); Player.Add(MirAction.RunningBow, new Frame(48, 6, 0, 100, 48, 6, 0, 100)); Player.Add(MirAction.AttackRange1, new Frame(96, 8, 0, 100, 96, 8, 0, 100)); Player.Add(MirAction.AttackRange2, new Frame(160, 8, 0, 100, 160, 8, 0, 100)); Player.Add(MirAction.AttackRange3, new Frame(224, 8, 0, 100, 224, 8, 0, 100)); Player.Add(MirAction.Jump, new Frame(288, 8, 0, 100, 288, 8, 0, 100)); //Mounts Player.Add(MirAction.MountStanding, new Frame(416, 4, 0, 500, 448, 4, 0, 500)); Player.Add(MirAction.MountWalking, new Frame(448, 8, 0, 100, 480, 8, 0, 500)); Player.Add(MirAction.MountRunning, new Frame(512, 6, 0, 100, 544, 6, 0, 100)); Player.Add(MirAction.MountStruck, new Frame(560, 3, 0, 100, 592, 3, 0, 100)); Player.Add(MirAction.MountAttack, new Frame(584, 6, 0, 100, 616, 6, 0, 100)); //Fishing Player.Add(MirAction.FishingCast, new Frame(632, 8, 0, 100)); Player.Add(MirAction.FishingWait, new Frame(696, 6, 0, 120)); Player.Add(MirAction.FishingReel, new Frame(744, 8, 0, 100)); #endregion }
static FrameSet() { FrameSet frame; NPCs = new List<FrameSet>(); Monsters = new List<FrameSet>(); Players = new FrameSet(); Players.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500, 0, 8, 0, 250)); Players.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100, 64, 6, 0, 100)); Players.Frames.Add(MirAction.Running, new Frame(80, 6, 0, 100, 112, 6, 0, 100)); Players.Frames.Add(MirAction.Stance, new Frame(128, 1, 0, 1000, 160, 1, 0, 1000)); Players.Frames.Add(MirAction.Stance2, new Frame(300, 1, 5, 1000, 300, 1, 5, 1000)); Players.Frames.Add(MirAction.Attack1, new Frame(136, 6, 0, 100, 168, 6, 0, 100)); Players.Frames.Add(MirAction.Attack2, new Frame(184, 6, 0, 100, 216, 6, 0, 100)); Players.Frames.Add(MirAction.Attack3, new Frame(232, 8, 0, 100, 264, 8, 0, 100)); Players.Frames.Add(MirAction.Spell, new Frame(296, 6, 0, 100, 328, 6, 0, 100)); Players.Frames.Add(MirAction.Harvest, new Frame(344, 2, 0, 300, 376, 2, 0, 300)); Players.Frames.Add(MirAction.Struck, new Frame(360, 3, 0, 100, 392, 3, 0, 100)); Players.Frames.Add(MirAction.Die, new Frame(384, 4, 0, 100, 416, 4, 0, 100)); Players.Frames.Add(MirAction.Dead, new Frame(387, 1, 3, 1000, 419, 1, 3, 1000)); Players.Frames.Add(MirAction.Attack4, new Frame(416, 6, 0, 100, 448, 6, 0, 100)); Players.Frames.Add(MirAction.Revive, new Frame(384, 4, 0, 100, 416, 4, 0, 100) { Reverse = true }); Players.Frames.Add(MirAction.Mine,new Frame(184, 6, 0, 100, 216, 6, 0, 100)); /* * NPCS */ //Default NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 450)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 10, 0, 200)); //Washer NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(4, 4, 0, 450)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 20, 0, 200)); //Default - No Harvest Animation NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 450)); // Large Teleport Stones NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 12, 0, 200, 12, 10, 0, 150)); // Small Teleport Stones NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 500, 2, 9, 0, 100)); // Pot With Flames NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 300, 2, 6, 0, 100)); // Statues NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, 0, 0)); // Flags (10 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 12, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 8, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 300, 2, 8, 0, 100)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 11, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 20, 0, 450, 20, 20, 0, 450)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 250, 12, 4, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 250)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 6, 0, 200)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 450, 6, 12, 0, 250)); /* * MONSTERS */ //0 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); //1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Skeleton, new Frame(224, 1, 0, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //2 - Regular Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Show, new Frame(4, 8, -8, 200)); frame.Frames.Add(MirAction.Hide, new Frame(11, 8, -8, 200) { Reverse = true }); frame.Frames.Add(MirAction.Attack1, new Frame(12, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(60, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(76, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(85, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(76, 10, 0, 100) { Reverse = true }); //4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 4, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(147, 1, 3, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 4, 0, 100) { Reverse = true }); //5 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(128, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); //6 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 500)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 100)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 100) { Reverse = true }); //7 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Show, new Frame(22, 10, -10, 150)); frame.Frames.Add(MirAction.Hide, new Frame(31, 10, -10, 150) { Reverse = true }); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 150) { Reverse = true }); //8 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 150) { Reverse = true }); //9 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //10 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 20, -20, 100)); frame.Frames.Add(MirAction.Dead, new Frame(31, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 20, -20, 100) { Reverse = true }); //11 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Stoned, new Frame(0, 1, 5, 100)); frame.Frames.Add(MirAction.Show, new Frame(0, 6, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(5, 6, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Standing, new Frame(48, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(192, 10, 0, 100) { Reverse = true }); //12 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Stoned, new Frame(0, 1, -1, 100)); frame.Frames.Add(MirAction.Show, new Frame(0, 20, -20, 100)); frame.Frames.Add(MirAction.Standing, new Frame(20, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(52, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(100, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(148, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(164, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(173, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(164, 10, 0, 100) { Reverse = true }); //13 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Stoned, new Frame(272, 1, 5, 100)); frame.Frames.Add(MirAction.Show, new Frame(272, 6, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(277, 6, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //14 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //15 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Appear, new Frame(224, 10, -10, 100) { Blend = true }); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //16 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Appear, new Frame(0, 10, 0, 100)); frame.Frames.Add(MirAction.Standing, new Frame(80, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(112, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 10, 0, 100)); frame.Frames.Add(MirAction.Show, new Frame(256, 10, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(265, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Revive, new Frame(176, 10, 0, 100) { Reverse = true }); //17 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Show, new Frame(224, 10, 0, 200)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //18 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(224, 10, 0, 100)); //19 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //20 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //21 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(128, 6, 0, 200)); frame.Frames.Add(MirAction.AttackRange, new Frame(176, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(224, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(240, 20, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(259, 1, 19, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(240, 20, 0, 150) { Reverse = true }); //22 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.SitDown, new Frame(272, 4, 0, 500)); //23 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //24 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Appear, new Frame(216, 10, -10, 100) { Blend = true }); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500) { Blend = true }); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100) { Blend = true }); frame.Frames.Add(MirAction.AttackRange, new Frame(80, 6, 0, 100) { Blend = true }); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200) { Blend = true }); frame.Frames.Add(MirAction.Die, new Frame(144, 9, 0, 100) { Blend = true }); frame.Frames.Add(MirAction.Revive, new Frame(144, 9, 0, 100) { Blend = true, Reverse = true }); //25 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 18, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, 16, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, 20, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, 12, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, 21, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, 12, 150) { Reverse = true }); //26 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, 5, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(0, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(0, 1, 5, 200)); frame.Frames.Add(MirAction.Die, new Frame(48, 10, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(57, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(48, 10, 0, 150) { Reverse = true }); //27 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 1, 100)); frame.Frames.Add(MirAction.AttackRange, new Frame(88, 6, 1, 100)); frame.Frames.Add(MirAction.Struck, new Frame(144, 1, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(160, 10, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(169, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(160, 10, 0, 150) { Reverse = true }); //28 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 180)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 150) { Reverse = true }); //29 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(464, 20, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 20, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(163, 1, 19, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 20, 0, 150) { Reverse = true }); //30 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //31 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Show, new Frame(4, 5, -5, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(9, 5, -5, 100)); frame.Frames.Add(MirAction.Struck, new Frame(14, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(16, 10, -10, 100)); frame.Frames.Add(MirAction.Dead, new Frame(25, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(16, 10, -10, 100) { Reverse = true }); //32 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 4, -4, 200)); //33 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 800)); frame.Frames.Add(MirAction.Walking, new Frame(10, 10, -10, 80)); frame.Frames.Add(MirAction.Attack1, new Frame(20, 10, -10, 80)); frame.Frames.Add(MirAction.Struck, new Frame(30, 4, -4, 200)); frame.Frames.Add(MirAction.Die, new Frame(34, 10, -10, 120)); frame.Frames.Add(MirAction.Dead, new Frame(43, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(34, 10, -10, 150) { Reverse = true }); //34 - GreatFoxSpirit level 0 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(22, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(20, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //35 - GreatFoxSpirit level 1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(60, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(82, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(80, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //36 - GreatFoxSpirit level 2 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(120, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(142, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(140, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //37 - GreatFoxSpirit level 3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(180, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(202, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(200, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //38 - GreatFoxSpirit level 4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(240, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(262, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(260, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //39 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 4, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(112, 6, 4, 100)); frame.Frames.Add(MirAction.Struck, new Frame(192, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(208, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(217, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(208, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.AttackRange, new Frame(288, 6, 0, 100)); //40 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(42, 8, -8, 120)); frame.Frames.Add(MirAction.AttackRange, new Frame(10, 6, 4, 120)); frame.Frames.Add(MirAction.Struck, new Frame(40, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(42, 7, -7, 120)); frame.Frames.Add(MirAction.Dead, new Frame(48, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(42, 7, -7, 120) { Reverse = true }); //41 - Dragon Statue 1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(300, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange, new Frame(300, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(300, 1, -1, 200)); //42 - Dragon Statue 2 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(301, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange, new Frame(301, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(301, 1, -1, 200)); //43 - Dragon Statue 3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(302, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange, new Frame(302, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(302, 1, -1, 200)); //44 - Dragon Statue 4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(320, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange, new Frame(320, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(320, 1, -1, 200)); //45 - Dragon Statue 5 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(321, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange, new Frame(321, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(321, 1, -1, 200)); //46 - Dragon Statue 6 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(322, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange, new Frame(322, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(322, 1, -1, 200)); }
static FrameSet() { FrameSet frame; NPCs = new List <FrameSet>(); Monsters = new List <FrameSet>(); Players = new FrameSet(); HelperPets = new List <FrameSet>(); //IntelligentCreature /* * PLAYERS */ #region Player Frames //Common Players.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500, 0, 8, 0, 250)); Players.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100, 64, 6, 0, 100)); Players.Frames.Add(MirAction.Running, new Frame(80, 6, 0, 100, 112, 6, 0, 100)); Players.Frames.Add(MirAction.Stance, new Frame(128, 1, 0, 1000, 160, 1, 0, 1000)); Players.Frames.Add(MirAction.Stance2, new Frame(300, 1, 5, 1000, 300, 1, 5, 1000)); Players.Frames.Add(MirAction.Attack1, new Frame(136, 6, 0, 100, 168, 6, 0, 100)); Players.Frames.Add(MirAction.Attack2, new Frame(184, 6, 0, 100, 216, 6, 0, 100)); Players.Frames.Add(MirAction.Attack3, new Frame(232, 8, 0, 100, 264, 8, 0, 100)); Players.Frames.Add(MirAction.Attack4, new Frame(416, 6, 0, 100, 448, 6, 0, 100)); Players.Frames.Add(MirAction.Spell, new Frame(296, 6, 0, 100, 328, 6, 0, 100)); Players.Frames.Add(MirAction.Harvest, new Frame(344, 2, 0, 300, 376, 2, 0, 300)); Players.Frames.Add(MirAction.Struck, new Frame(360, 3, 0, 100, 392, 3, 0, 100)); Players.Frames.Add(MirAction.Die, new Frame(384, 4, 0, 100, 416, 4, 0, 100)); Players.Frames.Add(MirAction.Dead, new Frame(387, 1, 3, 1000, 419, 1, 3, 1000)); Players.Frames.Add(MirAction.Revive, new Frame(384, 4, 0, 100, 416, 4, 0, 100) { Reverse = true }); Players.Frames.Add(MirAction.Mine, new Frame(184, 6, 0, 100, 216, 6, 0, 100)); //Assassin Players.Frames.Add(MirAction.Sneek, new Frame(464, 6, 0, 100, 496, 6, 0, 100)); Players.Frames.Add(MirAction.DashAttack, new Frame(80, 3, 3, 100, 112, 3, 3, 100)); //Archer Players.Frames.Add(MirAction.WalkingBow, new Frame(0, 6, 0, 100, 0, 6, 0, 100)); Players.Frames.Add(MirAction.RunningBow, new Frame(48, 6, 0, 100, 48, 6, 0, 100)); Players.Frames.Add(MirAction.AttackRange1, new Frame(96, 8, 0, 100, 96, 8, 0, 100)); Players.Frames.Add(MirAction.AttackRange2, new Frame(160, 8, 0, 100, 160, 8, 0, 100)); Players.Frames.Add(MirAction.AttackRange3, new Frame(224, 8, 0, 100, 224, 8, 0, 100)); Players.Frames.Add(MirAction.Jump, new Frame(288, 8, 0, 100, 288, 8, 0, 100)); //Mounts Players.Frames.Add(MirAction.MountStanding, new Frame(416, 4, 0, 500, 448, 4, 0, 500)); Players.Frames.Add(MirAction.MountWalking, new Frame(448, 8, 0, 100, 480, 8, 0, 500)); Players.Frames.Add(MirAction.MountRunning, new Frame(512, 6, 0, 100, 544, 6, 0, 100)); Players.Frames.Add(MirAction.MountStruck, new Frame(560, 3, 0, 100, 592, 3, 0, 100)); Players.Frames.Add(MirAction.MountAttack, new Frame(584, 6, 0, 100, 616, 6, 0, 100)); //Fishing Players.Frames.Add(MirAction.FishingCast, new Frame(632, 8, 0, 100)); Players.Frames.Add(MirAction.FishingWait, new Frame(696, 6, 0, 120)); Players.Frames.Add(MirAction.FishingReel, new Frame(744, 8, 0, 100)); #endregion /* * NPCS */ #region NPC Frames //Default NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 450)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 10, 0, 200)); //Washer NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(4, 4, 0, 450)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 20, 0, 200)); //Default - No Harvest Animation NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 450)); // Large Teleport Stones NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 12, 0, 200, 12, 10, 0, 150)); // Small Teleport Stones NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 500, 2, 9, 0, 100)); // Pot With Flames NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 300, 2, 6, 0, 100)); // Statues NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, 0, 1500)); // Flags (10 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 12, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 8, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 300, 2, 8, 0, 100)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 11, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 20, 0, 450, 20, 20, 0, 450)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 250, 12, 4, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 250)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 6, 0, 200)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 450, 6, 12, 0, 250)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 9, 0, 650)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 5, 0, 400)); // NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 7, 0, 550)); frame.Frames.Add(MirAction.Harvest, new Frame(21, 10, 0, 200)); #endregion /* * MONSTERS */ #region Monster Frames //0 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); //1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Skeleton, new Frame(224, 1, 0, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //2 - Regular Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Show, new Frame(4, 8, -8, 200)); frame.Frames.Add(MirAction.Hide, new Frame(11, 8, -8, 200) { Reverse = true }); frame.Frames.Add(MirAction.Attack1, new Frame(12, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(60, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(76, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(85, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(76, 10, 0, 100) { Reverse = true }); //4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 4, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(147, 1, 3, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 4, 0, 100) { Reverse = true }); //5 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(128, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); //6 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 500)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 100)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 100) { Reverse = true }); //7 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Show, new Frame(22, 10, -10, 150)); frame.Frames.Add(MirAction.Hide, new Frame(31, 10, -10, 150) { Reverse = true }); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 150) { Reverse = true }); //8 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 150) { Reverse = true }); //9 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //10 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 20, -20, 100)); frame.Frames.Add(MirAction.Dead, new Frame(31, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 20, -20, 100) { Reverse = true }); //11 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Stoned, new Frame(0, 1, 5, 100)); frame.Frames.Add(MirAction.Show, new Frame(0, 6, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(5, 6, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Standing, new Frame(48, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(192, 10, 0, 100) { Reverse = true }); //12 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Stoned, new Frame(0, 1, -1, 100)); frame.Frames.Add(MirAction.Show, new Frame(0, 20, -20, 100)); frame.Frames.Add(MirAction.Standing, new Frame(20, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(52, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(100, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(148, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(164, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(173, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(164, 10, 0, 100) { Reverse = true }); //13 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Stoned, new Frame(272, 1, 5, 100)); frame.Frames.Add(MirAction.Show, new Frame(272, 6, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(277, 6, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //14 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //15 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Appear, new Frame(224, 10, -10, 100) { Blend = true }); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //16 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Appear, new Frame(0, 10, 0, 100)); frame.Frames.Add(MirAction.Standing, new Frame(80, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(112, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 10, 0, 100)); frame.Frames.Add(MirAction.Show, new Frame(256, 10, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(265, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Revive, new Frame(176, 10, 0, 100) { Reverse = true }); //17 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Show, new Frame(224, 10, 0, 200)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //18 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(224, 10, 0, 100)); //19 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //20 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //21 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(128, 6, 0, 200)); frame.Frames.Add(MirAction.AttackRange1, new Frame(176, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(224, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(240, 20, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(259, 1, 19, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(240, 20, 0, 150) { Reverse = true }); //22 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.SitDown, new Frame(272, 4, 0, 500)); //23 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //24 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Appear, new Frame(216, 10, -10, 100) { Blend = true }); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500) { Blend = true }); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100) { Blend = true }); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100) { Blend = true }); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200) { Blend = true }); frame.Frames.Add(MirAction.Die, new Frame(144, 9, 0, 100) { Blend = true }); frame.Frames.Add(MirAction.Revive, new Frame(144, 9, 0, 100) { Blend = true, Reverse = true }); //25 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 18, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, 16, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, 20, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, 12, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, 21, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, 12, 150) { Reverse = true }); //26 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, 5, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(0, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(0, 1, 5, 200)); frame.Frames.Add(MirAction.Die, new Frame(48, 10, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(57, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(48, 10, 0, 150) { Reverse = true }); //27 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 1, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(88, 6, 1, 100)); frame.Frames.Add(MirAction.Struck, new Frame(144, 1, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(160, 10, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(169, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(160, 10, 0, 150) { Reverse = true }); //28 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 180)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 150) { Reverse = true }); //29 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(464, 20, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 20, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(163, 1, 19, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 20, 0, 150) { Reverse = true }); //30 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //31 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Show, new Frame(4, 5, -5, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(9, 5, -5, 100)); frame.Frames.Add(MirAction.Struck, new Frame(14, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(16, 10, -10, 100)); frame.Frames.Add(MirAction.Dead, new Frame(25, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(16, 10, -10, 100) { Reverse = true }); //32 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 4, -4, 200)); //33 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 800)); frame.Frames.Add(MirAction.Walking, new Frame(10, 10, -10, 80)); frame.Frames.Add(MirAction.Attack1, new Frame(20, 10, -10, 80)); frame.Frames.Add(MirAction.Struck, new Frame(30, 4, -4, 200)); frame.Frames.Add(MirAction.Die, new Frame(34, 10, -10, 120)); frame.Frames.Add(MirAction.Dead, new Frame(43, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(34, 10, -10, 150) { Reverse = true }); //34 - GreatFoxSpirit level 0 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(22, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(20, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //35 - GreatFoxSpirit level 1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(60, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(82, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(80, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //36 - GreatFoxSpirit level 2 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(120, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(142, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(140, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //37 - GreatFoxSpirit level 3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(180, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(202, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(200, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //38 - GreatFoxSpirit level 4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(240, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(262, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(260, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //39 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 4, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(112, 6, 4, 100)); frame.Frames.Add(MirAction.Struck, new Frame(192, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(208, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(217, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(208, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.AttackRange1, new Frame(288, 6, 0, 100)); //40 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(42, 8, -8, 120)); frame.Frames.Add(MirAction.AttackRange1, new Frame(10, 6, 4, 120)); frame.Frames.Add(MirAction.Struck, new Frame(40, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(42, 7, -7, 120)); frame.Frames.Add(MirAction.Dead, new Frame(48, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(42, 7, -7, 120) { Reverse = true }); //41 - Dragon Statue 1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(300, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(300, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(300, 1, -1, 200)); //42 - Dragon Statue 2 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(301, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(301, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(301, 1, -1, 200)); //43 - Dragon Statue 3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(302, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(302, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(302, 1, -1, 200)); //44 - Dragon Statue 4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(320, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(320, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(320, 1, -1, 200)); //45 - Dragon Statue 5 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(321, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(321, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(321, 1, -1, 200)); //46 - Dragon Statue 6 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(322, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(322, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(322, 1, -1, 200)); //47 - Archer Guard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 3, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(104, 6, 3, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 100)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); //48 - Taoist Guard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(32, 6, 0, 100)); //49 - Archer SummonVampire Monsters.Add(frame = new FrameSet()); //frame.Frames.Add(MirAction.???, new Frame(0, 3, 0, 500));// dunno what miraction to assign to this ? frame.Frames.Add(MirAction.Show, new Frame(24, 6, 0, 150)); frame.Frames.Add(MirAction.Hide, new Frame(29, 6, 0, 150) { Reverse = true }); frame.Frames.Add(MirAction.Standing, new Frame(72, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(104, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(152, 5, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(192, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(216, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(225, 1, 9, 1000)); //50 - Archer SummonToad Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.AttackRange1, new Frame(32, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(104, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(128, 10, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(208, 4, 0, 100)); frame.Frames.Add(MirAction.Show, new Frame(211, 4, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Dead, new Frame(137, 1, 9, 1000)); //51 - Archer SummonSnakes Totem Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(0, 2, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(0, 1, 0, 100)); frame.Frames.Add(MirAction.Die, new Frame(0, 1, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(0, 1, 0, 100)); //52 - Archer SummonSnakes Snake Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 5, 0, 200)); frame.Frames.Add(MirAction.Walking, new Frame(0, 5, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(0, 5, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(0, 5, 0, 100)); frame.Frames.Add(MirAction.Die, new Frame(52, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(59, 1, 7, 1000)); #endregion /* * INTELLIGENTCREATURES */ #region IntelligentCreature Frames //0 - BabyPig HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 9, 0, 100)); //Standing Variant_0 frame.Frames.Add(MirAction.Attack2, new Frame(168, 5, 0, 100)); //Standing Variant_1 frame.Frames.Add(MirAction.Attack3, new Frame(208, 10, 0, 100)); //Standing Variant_2 frame.Frames.Add(MirAction.Attack4, new Frame(288, 10, 0, 100)); //Standing Variant_3 frame.Frames.Add(MirAction.Die, new Frame(288, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(297, 1, 9, 1000)); //1 - Chick HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); // normal pickup frame.Frames.Add(MirAction.Attack2, new Frame(160, 8, 0, 100)); // cleaning himself ? frame.Frames.Add(MirAction.Attack3, new Frame(224, 17, 0, 100)); // flying? frame.Frames.Add(MirAction.Attack4, new Frame(360, 9, 0, 100)); // chirping or gulping worm ? frame.Frames.Add(MirAction.Die, new Frame(360, 1, 9, 100)); frame.Frames.Add(MirAction.Dead, new Frame(360, 1, 9, 1000)); //2 - Kitten - BlackKitten HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 6, 0, 100)); // slipping frame.Frames.Add(MirAction.Attack2, new Frame(144, 10, 0, 100)); // pickup frame.Frames.Add(MirAction.Attack3, new Frame(224, 10, 0, 100)); // rolling frame.Frames.Add(MirAction.Attack4, new Frame(304, 7, 0, 100)); // boxing frame.Frames.Add(MirAction.Die, new Frame(224, 3, 7, 100)); frame.Frames.Add(MirAction.Dead, new Frame(226, 1, 9, 1000)); //3 - BabySkeleton HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 7, 0, 100)); // headbutt frame.Frames.Add(MirAction.Attack2, new Frame(136, 10, 0, 100)); // head rotate frame.Frames.Add(MirAction.Attack3, new Frame(216, 8, 0, 100)); // poking frame.Frames.Add(MirAction.Attack4, new Frame(280, 20, 0, 100)); // die and revive frame.Frames.Add(MirAction.Die, new Frame(280, 10, 10, 100)); frame.Frames.Add(MirAction.Dead, new Frame(290, 1, 19, 1000)); //4 - Baekdon HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 6, 0, 100)); // mace swing frame.Frames.Add(MirAction.Attack2, new Frame(144, 10, 0, 100)); // mace tap frame.Frames.Add(MirAction.Attack3, new Frame(224, 7, 0, 100)); // dance frame.Frames.Add(MirAction.Attack4, new Frame(280, 5, 0, 100)); // ears dance frame.Frames.Add(MirAction.Die, new Frame(280, 5, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(284, 1, 4, 1000)); //5 - Wimaen HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 8, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 7, 0, 100)); // handstand frame.Frames.Add(MirAction.Attack2, new Frame(152, 10, 0, 100)); // punch frame.Frames.Add(MirAction.Attack3, new Frame(232, 6, 0, 100)); // rolling frame.Frames.Add(MirAction.Attack4, new Frame(280, 4, 0, 100)); // wave frame.Frames.Add(MirAction.Die, new Frame(280, 4, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(283, 1, 3, 1000)); //6 - BlackKitten HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 6, 0, 100)); // paw stretch frame.Frames.Add(MirAction.Attack2, new Frame(144, 10, 0, 100)); // tail up frame.Frames.Add(MirAction.Attack3, new Frame(224, 10, 0, 100)); // rolling frame.Frames.Add(MirAction.Attack4, new Frame(304, 7, 0, 100)); // boxing frame.Frames.Add(MirAction.Die, new Frame(224, 3, 7, 100)); frame.Frames.Add(MirAction.Dead, new Frame(226, 1, 9, 1000)); //7 - BabyDragon HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 7, 0, 100)); // bow down frame.Frames.Add(MirAction.Attack2, new Frame(152, 6, 0, 100)); // ball play frame.Frames.Add(MirAction.Attack3, new Frame(200, 10, 0, 100)); // tail swing frame.Frames.Add(MirAction.Die, new Frame(200, 5, 5, 100)); frame.Frames.Add(MirAction.Dead, new Frame(204, 1, 9, 1000)); //8 - OlympicFlame HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 3, 0, 100)); // bow down frame.Frames.Add(MirAction.Attack2, new Frame(112, 8, 0, 100)); // jump frame.Frames.Add(MirAction.Attack3, new Frame(176, 10, 0, 100)); // lay down frame.Frames.Add(MirAction.Die, new Frame(176, 8, 2, 100)); frame.Frames.Add(MirAction.Dead, new Frame(183, 1, 9, 1000)); //Effect1 Smoke : 256,3,0,100 //Effect2 Fire : 280,4,0,100 //9 - BabySnowMan HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 7, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(104, 6, 0, 100)); // belly dance :P frame.Frames.Add(MirAction.Attack2, new Frame(152, 7, 0, 100)); // melting frame.Frames.Add(MirAction.Die, new Frame(152, 7, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(158, 1, 6, 1000)); //Effect1 Snow : 208,11,0,100 #endregion }
private void ProcessFrames() { if (Frame == null) return; switch (CurrentAction) { case MirAction.Walking: if (!GameScene.CanMove) return; GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; SetAction(); } break; case MirAction.Pushed: if (!GameScene.CanMove) return; GameScene.Scene.MapControl.TextureValid = false; FrameIndex -= 2; if (FrameIndex < 0) { FrameIndex = 0; SetAction(); } break; case MirAction.Show: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { switch (BaseImage) { case Monster.ZumaStatue: case Monster.ZumaGuardian: case Monster.RedThunderZuma: case Monster.ZumaTaurus: Stoned = false; break; case Monster.Shinsu: BodyLibrary = Libraries.Monsters[(ushort)Monster.Shinsu1]; BaseImage = Monster.Shinsu1; BaseSound = (ushort)BaseImage * 10; Frames = FrameSet.Monsters[2]; break; } FrameIndex = Frame.Count - 1; SetAction(); } else { NextMotion += FrameInterval; } } break; case MirAction.Hide: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { switch (BaseImage) { case Monster.CannibalPlant: case Monster.EvilCentipede: case Monster.DigOutZombie: Remove(); return; case Monster.ZumaStatue: case Monster.ZumaGuardian: case Monster.RedThunderZuma: case Monster.ZumaTaurus: Stoned = true; return; } FrameIndex = Frame.Count - 1; SetAction(); } else { NextMotion += FrameInterval; } } break; case MirAction.Appear: case MirAction.Standing: case MirAction.Stoned: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { if (CurrentAction == MirAction.Standing) switch (BaseImage) { case Monster.SnakeTotem://SummonSnakes Totem if (TrackableEffect.GetOwnerEffectID(this.ObjectID, "SnakeTotem") < 0) Effects.Add(new TrackableEffect(new Effect(Libraries.Monsters[(ushort)Monster.SnakeTotem], 16, 10, 1500, this) { Repeat = true }, "SnakeTotem")); break; } FrameIndex = Frame.Count - 1; SetAction(); } else { NextMotion += FrameInterval; } } break; case MirAction.Attack1: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; if (SetAction()) { switch (BaseImage) { case Monster.EvilCentipede: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.EvilCentipede], 42, 10, 600, this)); break; case Monster.ToxicGhoul: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.ToxicGhoul], 224 + (int)Direction * 6, 6, 600, this)); break; } } } else { switch (FrameIndex) { case 3: { PlaySwingSound(); switch (BaseImage) { case Monster.RightGuard: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.RightGuard], 272 + (int)Direction * 3, 3, 3 * Frame.Interval, this)); break; case Monster.LeftGuard: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.LeftGuard], 272 + (int)Direction * 3, 3, 3 * Frame.Interval, this)); break; } break; } } NextMotion += FrameInterval; } } break; case MirAction.SitDown: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; SetAction(); } else { NextMotion += FrameInterval; } } break; case MirAction.Attack2: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; SetAction(); } else { if (FrameIndex == 3) PlaySwingSound(); NextMotion += FrameInterval; } } break; case MirAction.Attack3: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; SetAction(); } else { NextMotion += FrameInterval; } } break; case MirAction.AttackRange1: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { switch (BaseImage) { case Monster.DragonStatue: MapObject ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Dragon, 350, 35, 1200, ob)); SoundManager.PlaySound(BaseSound + 6); } break; } FrameIndex = Frame.Count - 1; SetAction(); } else { if (FrameIndex == 2) PlaySwingSound(); MapObject ob = null; Missile missile; switch (FrameIndex) { case 1: { switch (BaseImage) { case Monster.GuardianRock: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Magic2, 1410, 10, 400, ob)); SoundManager.PlaySound(BaseSound + 6); } break; } break; } case 2: { switch (BaseImage) { case Monster.LeftGuard: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.LeftGuard], 336 + (int)Direction * 3, 3, 3 * Frame.Interval, this)); break; } break; } case 4: { switch (BaseImage) { case Monster.AxeSkeleton: if (MapControl.GetObject(TargetID) != null) CreateProjectile(224, Libraries.Monsters[(ushort)Monster.AxeSkeleton], false, 3, 30, 0); break; case Monster.Dark: if (MapControl.GetObject(TargetID) != null) CreateProjectile(224, Libraries.Monsters[(ushort)Monster.Dark], false, 3, 30, 0); break; case Monster.ZumaArcher: case Monster.BoneArcher: if (MapControl.GetObject(TargetID) != null) CreateProjectile(224, Libraries.Monsters[(ushort)Monster.ZumaArcher], false, 1, 30, 0); break; case Monster.RedThunderZuma: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Dragon, 400 + CMain.Random.Next(3) * 10, 5, 300, ob)); SoundManager.PlaySound(BaseSound + 6); } break; case Monster.BoneLord: if (MapControl.GetObject(TargetID) != null) CreateProjectile(784, Libraries.Monsters[(ushort)Monster.BoneLord], true, 6, 30, 0, false); break; case Monster.RightGuard: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Magic2, 10, 5, 300, ob)); SoundManager.PlaySound(BaseSound + 6); } break; case Monster.LeftGuard: if (MapControl.GetObject(TargetID) != null) CreateProjectile(10, Libraries.Magic, true, 6, 30, 4); break; case Monster.MinotaurKing: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.MinotaurKing], 320, 20, 1000, ob)); SoundManager.PlaySound(BaseSound + 6); } break; case Monster.FrostTiger: if (MapControl.GetObject(TargetID) != null) CreateProjectile(410, Libraries.Magic2, true, 4, 30, 6); break; case Monster.Yimoogi: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Magic2, 1250, 15, 1000, ob)); SoundManager.PlaySound(BaseSound + 6); } break; case Monster.HolyDeva: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Magic2, 10, 5, 300, ob)); SoundManager.PlaySound(BaseSound + 6); } break; case Monster.CrossbowOma: if (MapControl.GetObject(TargetID) != null) CreateProjectile(38, Libraries.Monsters[(ushort)Monster.CrossbowOma], false, 1, 30, 6); break; case Monster.WingedOma: missile = CreateProjectile(224, Libraries.Monsters[(ushort)Monster.WingedOma], false, 6, 30, 0, false); if (missile.Target != null) { missile.Complete += (o, e) => { if (missile.Target.CurrentAction == MirAction.Dead) return; missile.Target.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.WingedOma], 272, 2, 150, missile.Target) { Blend = false }); }; } break; case Monster.RedFoxman: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.RedFoxman], 224, 9, 300, ob)); SoundManager.PlaySound(BaseSound + 6); } break; case Monster.WhiteFoxman: missile = CreateProjectile(1160, Libraries.Magic, true, 3, 30, 7); if (missile.Target != null) { missile.Complete += (o, e) => { if (missile.Target.CurrentAction == MirAction.Dead) return; missile.Target.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.WhiteFoxman], 352, 10, 600, missile.Target)); }; } break; case Monster.TrapRock: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.TrapRock], 26, 10, 600, ob)); SoundManager.PlaySound(BaseSound + 6); } break; case Monster.HedgeKekTal: if (MapControl.GetObject(TargetID) != null) CreateProjectile(38, Libraries.Monsters[(ushort)Monster.HedgeKekTal], false, 4, 30, 6); break; case Monster.BigHedgeKekTal: if (MapControl.GetObject(TargetID) != null) CreateProjectile(38, Libraries.Monsters[(ushort)Monster.BigHedgeKekTal], false, 4, 30, 6); break; case Monster.EvilMir: missile = CreateProjectile(60, Libraries.Dragon, true, 10, 10, 0); if (missile.Target != null) { missile.Complete += (o, e) => { if (missile.Target.CurrentAction == MirAction.Dead) return; missile.Target.Effects.Add(new Effect(Libraries.Dragon, 200, 20, 600, missile.Target)); }; } break; case Monster.ArcherGuard: if (MapControl.GetObject(TargetID) != null) CreateProjectile(38, Libraries.Monsters[(ushort)Monster.ArcherGuard], false, 3, 30, 6); break; case Monster.SpittingToad://SummonToad if (MapControl.GetObject(TargetID) != null) CreateProjectile(280, Libraries.Monsters[(ushort)Monster.SpittingToad], true, 6, 30, 0); break; } break; } } NextMotion += FrameInterval; } } break; case MirAction.AttackRange2: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; SetAction(); } else { switch (FrameIndex) { case 4: { MapObject ob = null; Missile missile; switch (BaseImage) { case Monster.RedFoxman: ob = MapControl.GetObject(TargetID); if (ob != null) { ob.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.RedFoxman], 233, 10, 400, ob)); SoundManager.PlaySound(BaseSound + 6); } break; case Monster.WhiteFoxman: missile = CreateProjectile(1160, Libraries.Magic, true, 3, 30, 7); if (missile.Target != null) { missile.Complete += (o, e) => { if (missile.Target.CurrentAction == MirAction.Dead) return; missile.Target.Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.WhiteFoxman], 362, 15, 1000, missile.Target)); }; } break; } break; } } NextMotion += FrameInterval; } } break; case MirAction.Struck: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; SetAction(); } else { NextMotion += FrameInterval; } } break; case MirAction.Die: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; ActionFeed.Clear(); ActionFeed.Add(new QueuedAction { Action = MirAction.Dead, Direction = Direction, Location = CurrentLocation }); SetAction(); } else { if (FrameIndex == 3) { PlayDeadSound(); switch (BaseImage) { case Monster.BoneSpearman: case Monster.BoneBlademan: case Monster.BoneArcher: Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.BoneSpearman], 224, 8, Frame.Count * FrameInterval, this)); break; } } NextMotion += FrameInterval; } } break; case MirAction.Revive: if (CMain.Time >= NextMotion) { GameScene.Scene.MapControl.TextureValid = false; if (SkipFrames) UpdateFrame(); if (UpdateFrame() >= Frame.Count) { FrameIndex = Frame.Count - 1; ActionFeed.Clear(); ActionFeed.Add(new QueuedAction { Action = MirAction.Standing, Direction = Direction, Location = CurrentLocation }); SetAction(); } else { if (FrameIndex == 3) PlayReviveSound(); NextMotion += FrameInterval; } } break; case MirAction.Dead: break; } if ((CurrentAction == MirAction.Standing || CurrentAction == MirAction.SitDown) && NextAction != null) SetAction(); else if (CurrentAction == MirAction.Dead && NextAction != null && (NextAction.Action == MirAction.Skeleton || NextAction.Action == MirAction.Revive)) SetAction(); }
public void Load(S.ObjectMonster info, bool update = false) { Name = info.Name; NameColour = info.NameColour; BaseImage = info.Image; OldNameColor = NameColour; CurrentLocation = info.Location; MapLocation = info.Location; if (!update) GameScene.Scene.MapControl.AddObject(this); Effect = info.Effect; AI = info.AI; Light = info.Light; Direction = info.Direction; Dead = info.Dead; Poison = info.Poison; Skeleton = info.Skeleton; Hidden = info.Hidden; ShockTime = CMain.Time + info.ShockTime; BindingShotCenter = info.BindingShotCenter; if (Stage != info.ExtraByte) { switch (BaseImage) { case Monster.GreatFoxSpirit: if (update) Effects.Add(new Effect(Libraries.Monsters[(ushort)Monster.GreatFoxSpirit], 335, 20, 3000, this)); break; } } Stage = info.ExtraByte; switch (BaseImage) { case Monster.EvilMir: case Monster.DragonStatue: BodyLibrary = Libraries.Dragon; break; default: BodyLibrary = Libraries.Monsters[(ushort)BaseImage]; break; } if (Skeleton) ActionFeed.Add(new QueuedAction { Action = MirAction.Skeleton, Direction = Direction, Location = CurrentLocation }); else if (Dead) ActionFeed.Add(new QueuedAction { Action = MirAction.Dead, Direction = Direction, Location = CurrentLocation }); BaseSound = (ushort)BaseImage * 10; switch (BaseImage) { case Monster.Guard: case Monster.Guard2: Frames = FrameSet.Monsters[0]; break; case Monster.Hen: case Monster.Deer: case Monster.Sheep: case Monster.Wolf: case Monster.Pig: case Monster.Bull: Frames = FrameSet.Monsters[1]; break; case Monster.Scarecrow: case Monster.HookingCat: case Monster.RakingCat: case Monster.Yob: case Monster.Oma: case Monster.SpittingSpider: case Monster.OmaFighter: case Monster.OmaWarrior: case Monster.CaveBat: case Monster.Skeleton: case Monster.BoneFighter: case Monster.AxeSkeleton: case Monster.BoneWarrior: case Monster.BoneElite: case Monster.Dung: case Monster.Dark: case Monster.WoomaSoldier: case Monster.WoomaFighter: case Monster.WoomaWarrior: case Monster.FlamingWooma: case Monster.WoomaGuardian: case Monster.WoomaTaurus: case Monster.WhimperingBee: case Monster.GiantWorm: case Monster.Centipede: case Monster.BlackMaggot: case Monster.Tongs: case Monster.EvilTongs: case Monster.BugBat: case Monster.WedgeMoth: case Monster.RedBoar: case Monster.BlackBoar: case Monster.SnakeScorpion: case Monster.WhiteBoar: case Monster.EvilSnake: case Monster.SpiderBat: case Monster.VenomSpider: case Monster.GangSpider: case Monster.GreatSpider: case Monster.LureSpider: case Monster.BigApe: case Monster.EvilApe: case Monster.GrayEvilApe: case Monster.RedEvilApe: case Monster.BigRat: case Monster.ZumaArcher: case Monster.Ghoul: case Monster.KingHog: case Monster.Shinsu1: case Monster.SpiderFrog: case Monster.HoroBlaster: case Monster.BlueHoroBlaster: case Monster.KekTal: case Monster.VioletKekTal: case Monster.RoninGhoul: case Monster.ToxicGhoul: case Monster.BoneCaptain: case Monster.BoneSpearman: case Monster.BoneBlademan: case Monster.BoneArcher: case Monster.Minotaur: case Monster.IceMinotaur: case Monster.ElectricMinotaur: case Monster.WindMinotaur: case Monster.FireMinotaur: case Monster.ShellNipper: case Monster.Keratoid: case Monster.GiantKeratoid: case Monster.SkyStinger: case Monster.SandWorm: case Monster.VisceralWorm: case Monster.RedSnake: case Monster.TigerSnake: case Monster.GiantWhiteSnake: case Monster.BlueSnake: case Monster.YellowSnake: case Monster.AxeOma: case Monster.SwordOma: case Monster.WingedOma: case Monster.FlailOma: case Monster.OmaGuard: case Monster.KatanaGuard: case Monster.RedFrogSpider: case Monster.BrownFrogSpider: Frames = FrameSet.Monsters[2]; break; case Monster.CannibalPlant: Frames = FrameSet.Monsters[3]; break; case Monster.ForestYeti: case Monster.CaveMaggot: Frames = FrameSet.Monsters[4]; break; case Monster.Scorpion: Frames = FrameSet.Monsters[5]; break; case Monster.ChestnutTree: case Monster.EbonyTree: case Monster.LargeMushroom: case Monster.CherryTree: Frames = FrameSet.Monsters[6]; break; case Monster.EvilCentipede: Frames = FrameSet.Monsters[7]; break; case Monster.BugBatMaggot: Frames = FrameSet.Monsters[8]; break; case Monster.CrystalSpider: case Monster.WhiteFoxman: Frames = FrameSet.Monsters[9]; break; case Monster.RedMoonEvil: Frames = FrameSet.Monsters[10]; break; case Monster.ZumaStatue: case Monster.ZumaGuardian: Stoned = info.Extra; Frames = FrameSet.Monsters[11]; break; case Monster.ZumaTaurus: Stoned = info.Extra; Frames = FrameSet.Monsters[12]; break; case Monster.RedThunderZuma: Stoned = info.Extra; Frames = FrameSet.Monsters[13]; break; case Monster.KingScorpion: case Monster.DarkDevil: case Monster.RightGuard: case Monster.LeftGuard: case Monster.MinotaurKing: Frames = FrameSet.Monsters[14]; break; case Monster.BoneFamiliar: Frames = FrameSet.Monsters[15]; if (!info.Extra) ActionFeed.Add(new QueuedAction { Action = MirAction.Appear, Direction = Direction, Location = CurrentLocation }); break; case Monster.Shinsu: Frames = FrameSet.Monsters[16]; if (!info.Extra) ActionFeed.Add(new QueuedAction { Action = MirAction.Appear, Direction = Direction, Location = CurrentLocation }); break; case Monster.DigOutZombie: Frames = FrameSet.Monsters[17]; break; case Monster.ClZombie: case Monster.NdZombie: case Monster.CrawlerZombie: Frames = FrameSet.Monsters[18]; break; case Monster.ShamanZombie: Frames = FrameSet.Monsters[19]; break; case Monster.Khazard: Frames = FrameSet.Monsters[20]; break; case Monster.BoneLord: Frames = FrameSet.Monsters[21]; break; case Monster.FrostTiger: SitDown = info.Extra; Frames = FrameSet.Monsters[22]; break; case Monster.Yimoogi: Frames = FrameSet.Monsters[23]; break; case Monster.HolyDeva: Frames = FrameSet.Monsters[24]; if (!info.Extra) ActionFeed.Add(new QueuedAction { Action = MirAction.Appear, Direction = Direction, Location = CurrentLocation }); break; case Monster.RootSpider: Frames = FrameSet.Monsters[25]; break; case Monster.BombSpider: Frames = FrameSet.Monsters[26]; break; case Monster.CrossbowOma: Frames = FrameSet.Monsters[27]; break; case Monster.YinDevilNode: case Monster.YangDevilNode: Frames = FrameSet.Monsters[28]; break; case Monster.OmaKing: Frames = FrameSet.Monsters[29]; break; case Monster.BlackFoxman: case Monster.RedFoxman: Frames = FrameSet.Monsters[30]; break; case Monster.TrapRock: Frames = FrameSet.Monsters[31]; break; case Monster.GuardianRock: Frames = FrameSet.Monsters[32]; break; case Monster.ThunderElement: case Monster.CloudElement: Frames = FrameSet.Monsters[33]; break; case Monster.GreatFoxSpirit: Frames = FrameSet.Monsters[34 + Stage]; break; case Monster.HedgeKekTal: case Monster.BigHedgeKekTal: Frames = FrameSet.Monsters[39]; break; case Monster.EvilMir: Frames = FrameSet.Monsters[40]; break; case Monster.DragonStatue: Frames = FrameSet.Monsters[41 + (byte)Direction]; break; case Monster.ArcherGuard: Frames = FrameSet.Monsters[47]; break; case Monster.Guard1: Frames = FrameSet.Monsters[48]; break; case Monster.VampireSpider://SummonVampire Frames = FrameSet.Monsters[49]; break; case Monster.SpittingToad://SummonToad Frames = FrameSet.Monsters[50]; break; case Monster.SnakeTotem://SummonSnakes Totem Frames = FrameSet.Monsters[51]; break; case Monster.CharmedSnake://SummonSnakes Frames = FrameSet.Monsters[52]; break; default: Frames = FrameSet.Monsters[0]; break; } SetAction(); SetCurrentEffects(); if (CurrentAction == MirAction.Standing) { PlayAppearSound(); FrameIndex = CMain.Random.Next(Frame.Count); } NextMotion -= NextMotion % 100; }
static FrameSet() { FrameSet frame; NPCs = new List<FrameSet>(); Monsters = new List<FrameSet>(); Players = new FrameSet(); HelperPets = new List<FrameSet>(); //IntelligentCreature /* * PLAYERS */ #region Player Frames //Common Players.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500, 0, 8, 0, 250)); Players.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100, 64, 6, 0, 100)); Players.Frames.Add(MirAction.Running, new Frame(80, 6, 0, 100, 112, 6, 0, 100)); Players.Frames.Add(MirAction.Stance, new Frame(128, 1, 0, 1000, 160, 1, 0, 1000)); Players.Frames.Add(MirAction.Stance2, new Frame(300, 1, 5, 1000, 300, 1, 5, 1000)); Players.Frames.Add(MirAction.Attack1, new Frame(136, 6, 0, 100, 168, 6, 0, 100)); Players.Frames.Add(MirAction.Attack2, new Frame(184, 6, 0, 100, 216, 6, 0, 100)); Players.Frames.Add(MirAction.Attack3, new Frame(232, 8, 0, 100, 264, 8, 0, 100)); Players.Frames.Add(MirAction.Attack4, new Frame(416, 6, 0, 100, 448, 6, 0, 100)); Players.Frames.Add(MirAction.Spell, new Frame(296, 6, 0, 100, 328, 6, 0, 100)); Players.Frames.Add(MirAction.Harvest, new Frame(344, 2, 0, 300, 376, 2, 0, 300)); Players.Frames.Add(MirAction.Struck, new Frame(360, 3, 0, 100, 392, 3, 0, 100)); Players.Frames.Add(MirAction.Die, new Frame(384, 4, 0, 100, 416, 4, 0, 100)); Players.Frames.Add(MirAction.Dead, new Frame(387, 1, 3, 1000, 419, 1, 3, 1000)); Players.Frames.Add(MirAction.Revive, new Frame(384, 4, 0, 100, 416, 4, 0, 100) { Reverse = true }); Players.Frames.Add(MirAction.Mine, new Frame(184, 6, 0, 100, 216, 6, 0, 100)); Players.Frames.Add(MirAction.Lunge, new Frame(139, 1, 5, 1000, 300, 1, 5, 1000)); //slashingburst test //Assassin Players.Frames.Add(MirAction.Sneek, new Frame(464, 6, 0, 100, 496, 6, 0, 100)); Players.Frames.Add(MirAction.DashAttack, new Frame(80, 3, 3, 100, 112, 3, 3, 100)); //Archer Players.Frames.Add(MirAction.WalkingBow, new Frame(0, 6, 0, 100, 0, 6, 0, 100)); Players.Frames.Add(MirAction.RunningBow, new Frame(48, 6, 0, 100, 48, 6, 0, 100)); Players.Frames.Add(MirAction.AttackRange1, new Frame(96, 8, 0, 100, 96, 8, 0, 100)); Players.Frames.Add(MirAction.AttackRange2, new Frame(160, 8, 0, 100, 160, 8, 0, 100)); Players.Frames.Add(MirAction.AttackRange3, new Frame(224, 8, 0, 100, 224, 8, 0, 100)); Players.Frames.Add(MirAction.Jump, new Frame(288, 8, 0, 100, 288, 8, 0, 100)); //Mounts Players.Frames.Add(MirAction.MountStanding, new Frame(416, 4, 0, 500, 448, 4, 0, 500)); Players.Frames.Add(MirAction.MountWalking, new Frame(448, 8, 0, 100, 480, 8, 0, 500)); Players.Frames.Add(MirAction.MountRunning, new Frame(512, 6, 0, 100, 544, 6, 0, 100)); Players.Frames.Add(MirAction.MountStruck, new Frame(560, 3, 0, 100, 592, 3, 0, 100)); Players.Frames.Add(MirAction.MountAttack, new Frame(584, 6, 0, 100, 616, 6, 0, 100)); //Fishing Players.Frames.Add(MirAction.FishingCast, new Frame(632, 8, 0, 100)); Players.Frames.Add(MirAction.FishingWait, new Frame(696, 6, 0, 120)); Players.Frames.Add(MirAction.FishingReel, new Frame(744, 8, 0, 100)); #endregion /* * NPCS */ #region NPC Frames //0 4 frames + direction + harvest(10 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 450)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 10, 0, 200)); //1 4 frames + direction + harvest(20 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(4, 4, 0, 450)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 20, 0, 200)); //2 4 frames, 4 frames + direction NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 450)); //3 12 frames + animation(10 frames) (large tele) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 12, 0, 250, 12, 10, 2, 250)); //4 2 frames + animation(9 frames) (small tele) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 1250, 2, 9, 1, 250)); //5 2 frame + animation(6 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 300, 2, 6, 0, 100)); //6 1 frame NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, 0, 1500)); //7 10 frames NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 250)); //8 12 frames NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 12, 0, 250)); //9 8 frames NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 8, 0, 250)); //10 6 frames + direction NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 250)); //11 1 frame + animation(8 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 400, 2, 8, 0, 100)); //12 11 frames NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 11, 0, 250)); //13 20 frames + animation(20 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 20, 0, 450, 20, 20, 0, 450)); //14 4 frames + direction + animation(4 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 250, 12, 4, 0, 250)); //15 4 frames + harvest(6 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 250)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 6, 0, 200)); //16 6 frames + animation(12 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 400, 6, 12, 0, 200)); //17 9 frames + direction NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 9, 0, 650)); //18 5 frames + direction NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 5, 0, 400)); //19 7 frames + direction + harvest(10 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 7, 0, 550)); frame.Frames.Add(MirAction.Harvest, new Frame(21, 10, 0, 200)); //20 1 frame + animation(9 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, 0, 900, 1, 9, 0, 100)); #endregion /* * MONSTERS */ #region Monster Frames //0 - Guard, Guard2 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); //1 - Hen, Deer, Sheep, Wolf, Pig, Bull, DarkBrownWolf Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Skeleton, new Frame(224, 1, 0, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //2 - Regular Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //3 - CannibalPlant Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Show, new Frame(4, 8, -8, 200)); frame.Frames.Add(MirAction.Hide, new Frame(11, 8, -8, 200) { Reverse = true }); frame.Frames.Add(MirAction.Attack1, new Frame(12, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(60, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(76, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(85, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(76, 10, 0, 100) { Reverse = true }); //4 - ForestYeti, CaveMaggot, FrostYeti Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 4, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(147, 1, 3, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 4, 0, 100) { Reverse = true }); //5 - Scorpion Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(128, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); //6 - ChestnutTree, EbonyTree, LargeMushroom, CherryTree, ChristmasTree, SnowTree Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 500)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 100)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 100) { Reverse = true }); //7 - EvilCentipede Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Show, new Frame(22, 10, -10, 150)); frame.Frames.Add(MirAction.Hide, new Frame(31, 10, -10, 150) { Reverse = true }); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 150) { Reverse = true }); //8 - BugBatMaggot Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 150) { Reverse = true }); //9 - CrystalSpider, WhiteFoxman, LightTurtle, CrystalWeaver Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //10 - RedMoonEvil Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 20, -20, 100)); frame.Frames.Add(MirAction.Dead, new Frame(31, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 20, -20, 100) { Reverse = true }); //11 - ZumaStatue, ZumaGuardian, FrozenZumaStatue, FrozenZumaGuardian Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Stoned, new Frame(0, 1, 5, 100)); frame.Frames.Add(MirAction.Show, new Frame(0, 6, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(5, 6, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Standing, new Frame(48, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(192, 10, 0, 100) { Reverse = true }); //12 - ZumaTaurus Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Stoned, new Frame(0, 1, -1, 100)); frame.Frames.Add(MirAction.Show, new Frame(0, 20, -20, 100)); frame.Frames.Add(MirAction.Standing, new Frame(20, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(52, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(100, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(148, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(164, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(173, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(164, 10, 0, 100) { Reverse = true }); //13 - RedThunderZuma, FrozenRedZuma Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Stoned, new Frame(272, 1, 5, 100)); frame.Frames.Add(MirAction.Show, new Frame(272, 6, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(277, 6, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //14 - KingScorpion, DarkDevil, RightGuard, LeftGuard, MinotaurKing Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //15 - BoneFamilar Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Appear, new Frame(224, 10, -10, 100) { Blend = true }); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //16 - Shinsu Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Appear, new Frame(0, 10, 0, 100)); frame.Frames.Add(MirAction.Standing, new Frame(80, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(112, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 10, 0, 100)); frame.Frames.Add(MirAction.Show, new Frame(256, 10, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(265, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Revive, new Frame(176, 10, 0, 100) { Reverse = true }); //17 - DigOutZombie Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Show, new Frame(224, 10, 0, 200)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //18 - ClZombie, NdZombie, CrawlerZombie Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(224, 10, 0, 100)); //19 - ShamanZombie Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //20 - Khazard, FinialTurtle Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //21 - BoneLord Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(128, 6, 0, 200)); frame.Frames.Add(MirAction.AttackRange1, new Frame(176, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(224, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(240, 20, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(259, 1, 19, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(240, 20, 0, 150) { Reverse = true }); //22 - FrostTiger, FlameTiger Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.SitDown, new Frame(272, 4, 0, 500)); //23 Yimoogi, RedYimoogi, Sanke10-17 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //24 - HolyDeva Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Appear, new Frame(216, 10, -10, 100) { Blend = true }); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500) { Blend = true }); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100) { Blend = true }); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100) { Blend = true }); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200) { Blend = true }); frame.Frames.Add(MirAction.Die, new Frame(144, 9, 0, 100) { Blend = true }); frame.Frames.Add(MirAction.Revive, new Frame(144, 9, 0, 100) { Blend = true, Reverse = true }); //25 - GreaterWeaver, RootSpider Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 18, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, 16, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, 20, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, 12, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, 21, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, 12, 150) { Reverse = true }); //26 - BombSpider, MutatedHugger Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, 5, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(0, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(0, 1, 5, 200)); frame.Frames.Add(MirAction.Die, new Frame(48, 10, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(57, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(48, 10, 0, 150) { Reverse = true }); //27 - CrossbowOma, DarkCrossbowOma Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 1, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(88, 6, 1, 100)); frame.Frames.Add(MirAction.Struck, new Frame(144, 1, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(160, 10, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(169, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(160, 10, 0, 150) { Reverse = true }); //28 - YinDevilNode, YangDevilNode Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 180)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 150) { Reverse = true }); //29 - OmaKing Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(464, 20, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 20, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(163, 1, 19, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 20, 0, 150) { Reverse = true }); //30 - BlackFoxman, RedFoxman Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //31 - TrapRock Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Show, new Frame(4, 5, -5, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(9, 5, -5, 100)); frame.Frames.Add(MirAction.Struck, new Frame(14, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(16, 10, -10, 100)); frame.Frames.Add(MirAction.Dead, new Frame(25, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(16, 10, -10, 100) { Reverse = true }); //32 - GuardianRock Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 4, -4, 200)); //33 - ThunderElement, CloudElement Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 800)); frame.Frames.Add(MirAction.Walking, new Frame(10, 10, -10, 80)); frame.Frames.Add(MirAction.Attack1, new Frame(20, 10, -10, 80)); frame.Frames.Add(MirAction.Struck, new Frame(30, 4, -4, 200)); frame.Frames.Add(MirAction.Die, new Frame(34, 10, -10, 120)); frame.Frames.Add(MirAction.Dead, new Frame(43, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(34, 10, -10, 150) { Reverse = true }); //34 - GreatFoxSpirit level 0 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(22, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(20, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //35 - GreatFoxSpirit level 1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(60, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(82, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(80, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //36 - GreatFoxSpirit level 2 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(120, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(142, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(140, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //37 - GreatFoxSpirit level 3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(180, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(202, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(200, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //38 - GreatFoxSpirit level 4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(240, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(262, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(260, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //39 - HedgeKekTal, BigHedgeKekTal Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 4, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(112, 6, 4, 100)); frame.Frames.Add(MirAction.Struck, new Frame(192, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(208, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(217, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(208, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.AttackRange1, new Frame(288, 6, 0, 100)); //40 - EvilMir Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(42, 8, -8, 120)); frame.Frames.Add(MirAction.AttackRange1, new Frame(10, 6, 4, 120)); frame.Frames.Add(MirAction.Struck, new Frame(40, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(42, 7, -7, 120)); frame.Frames.Add(MirAction.Dead, new Frame(48, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(42, 7, -7, 120) { Reverse = true }); //41 - DragonStatue 1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(300, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(300, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(300, 1, -1, 200)); //42 - DragonStatue 2 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(301, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(301, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(301, 1, -1, 200)); //43 - DragonStatue 3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(302, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(302, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(302, 1, -1, 200)); //44 - DragonStatue 4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(320, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(320, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(320, 1, -1, 200)); //45 - DragonStatue 5 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(321, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(321, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(321, 1, -1, 200)); //46 - DragonStatue 6 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(322, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(322, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(322, 1, -1, 200)); //47 - ArcherGuard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 3, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(104, 6, 3, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 100)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); //48 - TaoistGuard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(32, 6, 0, 100)); //49 - VampireSpider (Archer SummonVampire) Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Show, new Frame(24, 6, 0, 150)); frame.Frames.Add(MirAction.Hide, new Frame(29, 6, 0, 150) { Reverse = true }); frame.Frames.Add(MirAction.Standing, new Frame(72, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(104, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(152, 5, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(192, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(216, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(225, 1, 9, 1000)); //50 - SpittingToad (Archer SummonToad) Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.AttackRange1, new Frame(32, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(104, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(128, 10, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(208, 4, 0, 100)); frame.Frames.Add(MirAction.Show, new Frame(211, 4, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Dead, new Frame(137, 1, 9, 1000)); //51 - SnakeTotem (Archer SummonSnakes Totem) Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(0, 2, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(0, 1, 0, 100)); frame.Frames.Add(MirAction.Die, new Frame(0, 1, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(0, 1, 0, 100)); //52 - CharmedSnake (Archer SummonSnakes Snake) Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 5, 0, 200)); frame.Frames.Add(MirAction.Walking, new Frame(0, 5, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(0, 5, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(0, 5, 0, 100)); frame.Frames.Add(MirAction.Die, new Frame(52, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(59, 1, 7, 1000)); //----------------------- //--ABOVE FRAMES LOCKED, NO NEED TO TEST ABOVE-- //----------------------- //53 - HighAssassin Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(152, 4, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(155, 1, 3, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(152, 4, 0, 100) { Reverse = true }); //54 - DarkDustPile, MudPile, SnowPile, Treasurebox Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 3, -3, 1000)); frame.Frames.Add(MirAction.Struck, new Frame(3, 3, -3, 200)); frame.Frames.Add(MirAction.Die, new Frame(3, 7, -7, 150)); frame.Frames.Add(MirAction.Dead, new Frame(9, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(3, 7, -7, 150) { Reverse = true }); //55 - Football Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(8, 6, 0, 100)); //56 - GingerBreadman Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(152, 6, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(157, 1, 5, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(152, 6, 0, 100) { Reverse = true }); //57 - MutatedManworm, CrazyManworm Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(151, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 8, 0, 100) { Reverse = true }); //58 - TailedLion Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 8, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(120, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(96, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(168, 6, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(173, 1, 5, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(168, 6, 0, 100) { Reverse = true }); //59 - Behemoth Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(272, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //60 - PoisonHugger, Hugger, ManectricSlave Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 6, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(256, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(151, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 8, 0, 100) { Reverse = true }); //61 - DreamDevourer, DarkDevourer Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(151, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 8, 0, 100) { Reverse = true }); //62 - Snowman Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 500)); frame.Frames.Add(MirAction.Struck, new Frame(16, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(32, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(39, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(32, 8, 0, 100) { Reverse = true }); //63 - GiantEgg, IcePillar Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, -1, 1000)); frame.Frames.Add(MirAction.Struck, new Frame(1, 4, -4, 200)); frame.Frames.Add(MirAction.Die, new Frame(5, 7, -7, 150)); frame.Frames.Add(MirAction.Dead, new Frame(11, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(5, 7, -7, 150) { Reverse = true }); //64 - BlueSanta Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 8, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(120, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(96, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(168, 5, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(173, 1, 4, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(168, 5, 0, 100) { Reverse = true }); //65 - BattleStandard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 8, -8, 500)); frame.Frames.Add(MirAction.Struck, new Frame(8, 3, -3, 200)); frame.Frames.Add(MirAction.Die, new Frame(11, 8, -8, 100)); frame.Frames.Add(MirAction.Dead, new Frame(17, 1, -1, 1000)); //66 - WingedTigerLord Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 10, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 11, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(216, 9, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(288, 5, 0, 100)); //frame.Frames.Add(MirAction.Attack4, new Frame(328, 8, 0, 100)); //frame.Frames.Add(MirAction.Attack5, new Frame(392, 5, 0, 200)); //frame.Frames.Add(MirAction.Attack6, new Frame(432, 8, 0, 100)); //frame.Frames.Add(MirAction.Attack7, new Frame(496, 8, 0, 100)); //This mob has a lot actions , I just listed the frame numbers ready for adding when coding the AI //67 - TurtleKing Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(248, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(184, 1, 8, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(176, 9, 0, 100) { Reverse = true }); //frame.Frames.Add(MirAction.Attack3, new Frame(296, 6, 0, 100)); //frame.Frames.Add(MirAction.Attack4, new Frame(344, 6, 0, 100)); //frame.Frames.Add(MirAction.Attack5, new Frame(392, 8, 0, 100)); //68 - Bush Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Struck, new Frame(4, 4, -4, 200)); frame.Frames.Add(MirAction.Die, new Frame(8, 4, -4, 100)); frame.Frames.Add(MirAction.Dead, new Frame(15, 1, -1, 1000)); //-------------------- //--CHECK NO FURTHER UNTIL ABOVE HAS BEEN LOCKED-- //-------------------- //69 - HellSlasher, HellCannibal, ManectricClub, ManectricClaw Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //70 - HellPirate, FlameSpear Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 7, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(224, 7, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //71 - HellBolt, WitchDoctor Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(80, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(185, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(256, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(256, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(176, 10, 0, 100) { Reverse = true }); //72 - Hellkeeper Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 8, -8, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(22, 10, -10, 100)); frame.Frames.Add(MirAction.Struck, new Frame(12, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(14, 8, -8, 100)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(21, 1, 0, 100) { Reverse = true }); //73 - ManectricHammer Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 7, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(150, 1, 6, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 7, 0, 100) { Reverse = true }); //74 - ManectricStaff Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(248, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(184, 1, 8, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(176, 9, 0, 100) { Reverse = true }); //75 - ManectricBlest, NamelessGhost, DarkGhost, ChaosGhost, TrollHammer, TrollBommer, TrollStoner Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(151, 1, 7, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 8, 0, 100) { Reverse = true }); //76 - ManectricKing, TrollKing Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 8, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(224, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 8, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //77 - FlameMage, FlameScythe, FlameAssassin Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //78 - FlameQueen Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 9, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(224, 9, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //79 - HellKnight1~4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(176, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 4, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(147, 1, 3, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(176, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 4, 0, 100) { Reverse = true }); //80 - HellLord Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(10, 5, -5, 100)); frame.Frames.Add(MirAction.Struck, new Frame(0, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(0, 4, -4, 100)); frame.Frames.Add(MirAction.Dead, new Frame(0, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(10, 5, -5, 100)); frame.Frames.Add(MirAction.Revive, new Frame(0, 4, -4, 100) { Reverse = true }); //81 - WaterGuard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(151, 1, 7, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(208, 7, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 8, 0, 100) { Reverse = true }); //82 - IceGuard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(151, 1, 7, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(208, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 8, 0, 100) { Reverse = true }); //83 - DemonGuard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 4, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(112, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(128, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(135, 1, 7, 1000)); frame.Frames.Add(MirAction.Attack2, new Frame(192, 6, 0, 100)); frame.Frames.Add(MirAction.Show, new Frame(240, 6, 0, 200)); //84 - KingGuard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 6, 0, 100));//bugy frame.Frames.Add(MirAction.AttackRange1, new Frame(272, 8, 0, 100));//ragneg ? frame.Frames.Add(MirAction.AttackRange2, new Frame(336, 7, 0, 100));//ragneg ? frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //85 - Bunny, Bunny2 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 5, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(72, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 6, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(149, 1, 4, 1000)); //86 - DarkBeast, LightBeast Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(152, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(184, 1, 0, 1000) { Reverse = true }); frame.Frames.Add(MirAction.Attack2, new Frame(248, 6, 0, 100)); //87 - HardenRhino Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 10, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(184, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(208, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(217, 1, 0, 1000) { Reverse = true }); frame.Frames.Add(MirAction.Attack2, new Frame(288, 7, 0, 100)); //88 - AncientBringer Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(112, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(304, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(192, 4, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(224, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(233, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(384, 8, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(448, 8, 0, 100)); //89 - Jar1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Struck, new Frame(18, 4, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(50, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(59, 1, 0, 1000)); //90 - SeedingsGeneral Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.SitDown, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Standing, new Frame(32, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(64, 7, 0, 200)); //frame.Frames.Add(MirAction.Runing, new Frame(120, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(168, 9, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(240, 9, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(312, 8, 0, 100)); //stupple 08/04 frame.Frames.Add(MirAction.AttackRange2, new Frame(376, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(448, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(472, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(479, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(472, 10, 0, 100) { Reverse = true }); //91 - Tucson, TucsonFighter Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(168, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(200, 1, 8, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(192, 10, 0, 100) { Reverse = true }); //92 - BLANK Monsters.Add(frame = new FrameSet()); //93 - TucsonMage Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 7, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(56, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(104, 7, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(160, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(216, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(240, 7, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(246, 1, 6, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(240, 7, 0, 100) { Reverse = true }); //94 - TucsonWarrior Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 5, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(40, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(88, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(152, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(216, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(240, 7, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(246, 1, 6, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(240, 7, 0, 100) { Reverse = true }); //95 - Armadillo Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(160, 10, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(240, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(312, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(336, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(345, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(336, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Show, new Frame(416, 7, 0, 200)); //96 - ArmadilloElder Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 5, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(40, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(88, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(168, 10, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(248, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(320, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(344, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(353, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(336, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Show, new Frame(424, 7, 0, 200)); //97 - TucsonEgg Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, -1, 500)); frame.Frames.Add(MirAction.Struck, new Frame(1, 1, -1, 200)); frame.Frames.Add(MirAction.Die, new Frame(10, 10, -10, 100)); frame.Frames.Add(MirAction.Dead, new Frame(11, 1, -1, 1000)); //98 - PlaguedTucson Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(184, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(191, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(184, 8, 0, 100) { Reverse = true }); //99 - SandSnail Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 9, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(72, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(120, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(184, 10, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(264, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(344, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(368, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(377, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(368, 10, 0, 100) { Reverse = true }); //100 - CannibalTentacles Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 9, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(72, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(120, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(184, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(344, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(368, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(377, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(368, 10, 0, 100) { Reverse = true }); //101 - TucsonGeneral Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 8, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(64, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(112, 7, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(168, 7, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(224, 7, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(280, 8, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(344, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(408, 4, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(440, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(448, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(440, 8, 0, 100) { Reverse = true }); //102 - GasToad Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 8, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(64, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(112, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(192, 8, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(256, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(336, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(360, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(369, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(360, 10, 0, 100) { Reverse = true }); //103 - Mantis Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 7, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(56, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(104, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(168, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(224, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(248, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(288, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(248, 8, 0, 100) { Reverse = true }); //104 - SwampWarrior Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(80, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(288, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(312, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(321, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(312, 10, 0, 100) { Reverse = true }); //105 - AssassinBird Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 7, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(56, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(104, 7, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(160, 9, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(232, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(304, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(328, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(335, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(328, 8, 0, 100) { Reverse = true }); //106 - RhinoWarrior Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(80, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 7, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(184, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(240, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(264, 7, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(270, 1, 6, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(264, 7, 0, 100) { Reverse = true }); //107 - RhinoPriest Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 7, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(152, 7, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(208, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(280, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(304, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(312, 1, 8, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(304, 9, 0, 100) { Reverse = true }); //108 - SwampSlime Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(80, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(288, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(312, 7, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(218, 1, 6, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(312, 7, 0, 100) { Reverse = true }); //109 - RockGuard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 9, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(72, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(120, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(200, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(280, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(304, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(311, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(304, 8, 0, 100) { Reverse = true }); //110 - MudWarrior Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 8, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(64, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(112, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(192, 10, 0, 100)); //frame.Frames.Add(MirAction.Attack3, new Frame(272, 10, 0, 100)); //frame.Frames.Add(MirAction.AttackRange1, new Frame(848, 8, 0, 100)); //frame.Frames.Add(MirAction.AttackRange2, new Frame(912, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(272, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(296, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(303, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(396, 8, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Show, new Frame(360, 9, 0, 200)); //111 - SmallPot Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(12, 9, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(84, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(132, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(212, 10, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(292, 10, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(372, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(452, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(476, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(303, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(476, 1, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Show, new Frame(360, 9, 0, 200)); //112 - TreeQueen Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(11, 10, -10, 100)); frame.Frames.Add(MirAction.Struck, new Frame(21, 3, -3, 200)); frame.Frames.Add(MirAction.Die, new Frame(24, 11, -11, 100)); frame.Frames.Add(MirAction.Dead, new Frame(34, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(24, 11, -11, 100) { Reverse = true }); //113 - ShellFighter Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 9, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(72, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(120, 9, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(272, 9, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(344, 9, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(416, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(496, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(520, 9, 1, 100)); frame.Frames.Add(MirAction.Dead, new Frame(528, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(520, 9, 1, 100) { Reverse = true }); //114 - DarkBaboon Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 7, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(232, 8, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(296, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(152, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 7, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(182, 1, 6, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(176, 7, 0, 100) { Reverse = true }); //115 - TwinHeadBeast Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 9, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(72, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(120, 9, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(296, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(192, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(216, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(225, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(216, 10, 0, 100) { Reverse = true }); //116 - OmaCannibal Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 9, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(72, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(120, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(184, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(256, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(280, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(289, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(280, 10, 0, 100) { Reverse = true }); //117 - OmaSlasher Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(80, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(208, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(232, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(240, 1, 8, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(232, 9, 0, 100) { Reverse = true }); //118 - OmaAssassin Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(80, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(208, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(232, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(241, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(232, 10, 0, 100) { Reverse = true }); //119 - OmaMage //DUPE of 104 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(80, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(288, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(312, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(311, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(312, 10, 0, 100) { Reverse = true }); //120 - OmaWitchDoctor Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 9, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(72, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(120, 7, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(176, 7, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(232, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(304, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(328, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(336, 1, 8, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(280, 9, 0, 100) { Reverse = true }); //121 - OmaBlest //DUPE of 104 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(80, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(288, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(312, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(321, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(312, 10, 0, 100) { Reverse = true }); //122 - LightningBead, HealingBead, PowerUpBead Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 7, -7, 800)); frame.Frames.Add(MirAction.Walking, new Frame(7, 7, -7, 80)); frame.Frames.Add(MirAction.Attack1, new Frame(8, 5, -5, 80)); frame.Frames.Add(MirAction.Struck, new Frame(14, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(16, 8, -8, 120)); frame.Frames.Add(MirAction.Dead, new Frame(23, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(34, 10, -10, 150) { Reverse = true }); //123 - DarkOmaKing Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(80, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 9, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(200, 34, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(472, 8, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(536, 9, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(608, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(680, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(704, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(703, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(704, 10, 0, 100) { Reverse = true }); //124 - CaveMage Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, -2, 800)); frame.Frames.Add(MirAction.Attack1, new Frame(0, 2, -2, 80)); frame.Frames.Add(MirAction.Struck, new Frame(0, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(2, 8, -8, 120)); frame.Frames.Add(MirAction.Dead, new Frame(9, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(2, 8, -8, 150) { Reverse = true }); //125 - Mandrill Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 7, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(136, 3, 0, 200)); frame.Frames.Add(MirAction.Struck, new Frame(160, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(184, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(193, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(184, 10, 0, 100) { Reverse = true }); //126 - PlagueCrab Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(144, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(168, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(177, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(168, 10, 0, 100) { Reverse = true }); //127 - CreeperPlant Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(32, 7, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(88, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(136, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(160, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(168, 1, 8, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(160, 9, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Show, new Frame(232, 9, -9, 150)); frame.Frames.Add(MirAction.Hide, new Frame(241, 9, -9, 150) { Reverse = true }); //128 - SackWarrior Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(144, 9, 0, 200)); frame.Frames.Add(MirAction.Struck, new Frame(216, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(240, 13, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(252, 1, 12, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(240, 13, 0, 100) { Reverse = true }); //129 - WereTiger Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(160, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(240, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(264, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(263, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(264, 10, 0, 100) { Reverse = true }); //130 - KingHydrax Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(144, 7, 0, 200)); frame.Frames.Add(MirAction.Attack3, new Frame(200, 8, 0, 200)); frame.Frames.Add(MirAction.Struck, new Frame(264, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(288, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(287, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(288, 10, 0, 100) { Reverse = true }); //131 - FloatingWraith Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(143, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(167, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(176, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(167, 10, 0, 100) { Reverse = true }); //132 - ArmedPlant Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(144, 6, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(198, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(192, 8, 0, 100) { Reverse = true }); //133 - AvengerPlant Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(136, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(160, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(167, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(160, 8, 0, 100) { Reverse = true }); //134 - Nadz, AvengingSpirit Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(140, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //135 - AvengingWarrior Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(128, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(178, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(191, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(192, 10, 0, 100) { Reverse = true }); //136 - AxePlant, ClawBeast Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(185, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(193, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(185, 8, 0, 100) { Reverse = true }); //137 - WoodBox Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(1, 1, 0, 500)); frame.Frames.Add(MirAction.Struck, new Frame(1, 1, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(9, 11, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(19, 1, 0, 1000)); //138 - KillerPlant Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(80, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(144, 7, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(200, 7, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(256, 7, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(368, 7, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(424, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(480, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(504, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(503, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(504, 10, 0, 100) { Reverse = true }); //139 - Hydrax Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(144, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(168, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(167, 1, 8, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(168, 9, 0, 100) { Reverse = true }); //140 - Basiloid Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, -1, 500)); frame.Frames.Add(MirAction.Struck, new Frame(0, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(2, 7, -7, 100)); frame.Frames.Add(MirAction.Dead, new Frame(8, 1, -1, 1000)); //141 - HornedMage Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(144, 9, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(216, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(280, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(304, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(313, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(304, 10, 0, 100) { Reverse = true }); //142 - HornedArcher, ColdArcher Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(160, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(232, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(256, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(265, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(256, 10, 0, 100) { Reverse = true }); //143 - HornedWarrior Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(144, 9, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(216, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(280, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(304, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(312, 1, 8, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(304, 9, 0, 100) { Reverse = true }); //144 - FloatingRock Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(80, 8, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 7, -7, 100)); frame.Frames.Add(MirAction.Dead, new Frame(1502, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 7, -7, 100) { Reverse = true }); //145 - ScalyBeast Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 10, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(112, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(176, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(256, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(272, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(270, 1, 8, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(272, 9, 0, 100) { Reverse = true }); //146 - HornedSorceror Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(160, 9, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(224, 9, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(295, 8, 0, 200)); frame.Frames.Add(MirAction.AttackRange2, new Frame(359, 9, 0, 200)); frame.Frames.Add(MirAction.Struck, new Frame(432, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(456, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(455, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(456, 10, 0, 100) { Reverse = true }); //147 - BoulderSpirit Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 8, -8, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(8, 3, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(32, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(56, 8, -8, 100)); frame.Frames.Add(MirAction.Dead, new Frame(63, 1, -1, 1000)); //148 - HornedCommander Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(176, 8, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(240, 10, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(320, 8, 0, 200)); frame.Frames.Add(MirAction.AttackRange2, new Frame(384, 8, 0, 200)); frame.Frames.Add(MirAction.AttackRange3, new Frame(448, 8, 0, 200)); //frame.Frames.Add(MirAction.AttackRange4, new Frame(512, 10, 0, 200)); //frame.Frames.Add(MirAction.AttackRange5, new Frame(592, 8, 0, 200)); frame.Frames.Add(MirAction.Struck, new Frame(656, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(680, 13, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(692, 1, 12, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(680, 13, 0, 100) { Reverse = true }); //149 - MoonStone, SunStone, LightningStone Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, -2, 500)); //150 - Turtlegrass // use black fox ai -- 1turtlegrass Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Hide, new Frame(0, 1, 0, 500)); frame.Frames.Add(MirAction.Show, new Frame(8, 4, 0, 200) { Reverse = true }); frame.Frames.Add(MirAction.Standing, new Frame(40, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(72, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(120, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(256, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(280, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(289, 1, 0, 1000)); frame.Frames.Add(MirAction.Attack2, new Frame(184, 9, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //151 - Mantree Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(64, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(96, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(144, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 10, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(288, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(368, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(392, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(401, 1, 0, 1000)); //frame.Frames.Add(MirAction.Standing, new Frame(1, 1, 0, 500)); neeed codeing //frame.Frames.Add(MirAction.Walking, new Frame(8, 7, 0, 100));neeed codeing //152 - Bear //AI BLACKFOX Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(216, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(240, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(248, 1, 0, 1000)); frame.Frames.Add(MirAction.Attack2, new Frame(152, 8, 0, 100)); //153 - Leopard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(184, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(191, 1, 0, 1000)); //154 - ChieftainArcher Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 9, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(152, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(216, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(240, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(248, 1, 8, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(240, 9, 0, 100) { Reverse = true }); //155 - ChieftainSword Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(160, 9, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(232, 10, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(312, 10, 0, 200)); frame.Frames.Add(MirAction.AttackRange2, new Frame(384, 9, 0, 200)); frame.Frames.Add(MirAction.Struck, new Frame(658, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(672, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(681, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(672, 10, 0, 100) { Reverse = true }); //156 - StoningSpider //Archer Summon Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, -0, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(16, 4, 0, 100)); frame.Frames.Add(MirAction.Die, new Frame(48, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(57, 1, 9, 1000)); //157 - FrozenSoldier Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(152, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(175, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(176, 10, 0, 100) { Reverse = true }); //158 - FrozenFighter //DUPE of 142 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(160, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(232, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(256, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(265, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(256, 10, 0, 100) { Reverse = true }); //159 - FrozenArcher Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(184, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(193, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(184, 10, 0, 100) { Reverse = true }); //160 - FrozenKnight Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(176, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(256, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(280, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(289, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(280, 10, 0, 100) { Reverse = true }); //161 - FrozenGolem Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(144, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(168, 12, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(179, 1, 11, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(168, 11, 0, 100) { Reverse = true }); //162 - IcePhantom Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 9, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(152, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(216, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(240, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(249, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(240, 10, 0, 100) { Reverse = true }); //163 - SnowWolf Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(160, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(232, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(256, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(254, 1, 8, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(256, 9, 0, 100) { Reverse = true }); //164 - SnowWolfKing Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(160, 9, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(232, 10, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(312, 5, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(352, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(376, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(385, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(376, 10, 0, 100) { Reverse = true }); //165 - WaterDragon //ec ai Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Hide, new Frame(0, 8, 0, 500) { Reverse = true }); frame.Frames.Add(MirAction.Standing, new Frame(64, 6, 0, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(112, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(176, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(256, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(280, 15, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(294, 1, 0, 1000)); //frame.Frames.Add(MirAction.Walking, new Frame(72, 6, 0, 100)); //166 - BlackTortoise Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); //frame.Frames.Add(MirAction.StandingAlt, new Frame(32, 10, 0, 200)); frame.Frames.Add(MirAction.Walking, new Frame(112, 4, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(144, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(192, 7, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(248, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(296, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(312, 6, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(326, 1, 5, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(312, 6, 0, 100) { Reverse = true }); //167 - Manticore //mage ai needed black fox will do 4 now Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(112, 8, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(176, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(240, 7, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(296, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(352, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(376, 15, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(390, 1, 0, 1000)); //frame.Frames.Add(MirAction.Flying, new Frame(32, 9, 0, 100)); //168 - DragonWarrior: Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); //frame.Frames.Add(MirAction.Standing2, new Frame(32, 10, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(112, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(176, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(240, 10, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(320, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(376, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(400, 13, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(412, 1, 12, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(400, 13, 0, 100) { Reverse = true }); //169 - DragonArcher Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); //frame.Frames.Add(MirAction.Standing2, new Frame(32, 10, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(112, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(176, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(240, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(288, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(312, 13, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(324, 1, 12, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(312, 13, 0, 100) { Reverse = true }); //170 - Kirin Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); //frame.Frames.Add(MirAction.Standing2, new Frame(32, 9, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(104, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(152, 7, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 12, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(304, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(352, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(376, 2, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(377, 1, 0, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(376, 2, 0, 100) { Reverse = true }); //171 - Guard3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 7, 0, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(56, 7, 0, 100)); //172 - ArcherGuard3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 4, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 7, 3, 100)); //173 - BLANK Monsters.Add(frame = new FrameSet()); //174 - FrozenMiner Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 10, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(112, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(160, 10, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(240, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(320, 4, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(352, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(361, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(352, 10, 0, 100) { Reverse = true }); //175 - FrozenAxeman Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); //frame.Frames.Add(MirAction.Standing2, new Frame(32, 10, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(112, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(176, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(256, 10, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(336, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(416, 4, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(448, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(457, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(448, 10, 0, 100) { Reverse = true }); //176 - FrozenMagician Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); //frame.Frames.Add(MirAction.Standing2, new Frame(32, 10, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(112, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(160, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(240, 10, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(320, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(400, 4, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(432, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(441, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(4432, 10, 0, 100) { Reverse = true }); //177 - SnowYeti Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 7, 0, 500)); //frame.Frames.Add(MirAction.Standing2, new Frame(56, 10, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(136, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(200, 9, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(272, 9, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(344, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(408, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(432, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(440, 1, 8, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(432, 9, 0, 100) { Reverse = true }); //178 - IceCrystalSoldier Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(112, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(272, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(352, 4, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(384, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(393, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(384, 10, 0, 100) { Reverse = true }); //179 - DarkWraith Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(224, 4, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(256, 4, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(280, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(289, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(280, 10, 0, 100) { Reverse = true }); //180 - CrystalBeast Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(176, 8, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(240, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(288, 5, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(328, 2, 0, 100)); frame.Frames.Add(MirAction.AttackRange3, new Frame(344, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(408, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(432, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(440, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(432, 8, 0, 100) { Reverse = true }); //181 - RedOrb, BlueOrb, YellowOrb, GreenOrb, WhiteOrb Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 5, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(120, 5, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 5, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(180, 1, 4, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(176, 5, 0, 100) { Reverse = true }); //182 - FatalLotus Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(160, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(224, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(240, 6, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(245, 1, 5, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(240, 6, 0, 100) { Reverse = true }); //183 - AntCommander Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(112, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(176, 8, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(240, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(304, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(320, 6, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(393, 1, 5, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(320, 6, 0, 100) { Reverse = true }); //184 - CargoBoxwithlogo Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, 0, 500)); frame.Frames.Add(MirAction.Struck, new Frame(8, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(24, 6, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(29, 1, 0, 1000)); //185 - Doe Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(144, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(160, 6, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(165, 1, 5, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(160, 6, 0, 100) { Reverse = true }); //186 - AngryReindeer Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 7, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(56, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(120, 8, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(184, 9, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(256, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(312, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(328, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(335, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(328, 8, 0, 100) { Reverse = true }); //187 - DeathCrawler Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(152, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(184, 1, 8, 1000)); //188 - UndeadWolf //Dupe of 126 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(144, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(168, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(177, 1, 9, 1000)); //189 - BurningZombie //FrozenZombie Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 8, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(152, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(185, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(256, 7, 0, 100));//fozzesrange //190 - MudZombie Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 10, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(200, 6, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(205, 1, 5, 1000)); frame.Frames.Add(MirAction.Attack2, new Frame(248, 1, 7, 1000)); //191 - BloodBaboon Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(152, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(183, 1, 7, 1000)); //192 - FightingCat Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(151, 1, 7, 1000)); //193 - FireCat Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 5, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(120, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(168, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(184, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(191, 1, 7, 1000)); //194 - CatWidow Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(128, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(199, 1, 7, 1000)); //195 - StainHammerCat Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(136, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(160, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(169, 1, 9, 1000)); //196 - BlackHammerCat Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 7, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(136, 12, 0, 200)); frame.Frames.Add(MirAction.Struck, new Frame(232, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(256, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(265, 1, 9, 1000)); //197 - StrayCat Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); //frame.Frames.Add(MirAction.Walking, new Frame(32, 10, 0, 200)); frame.Frames.Add(MirAction.Walking, new Frame(112, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(160, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(240, 10, 0, 200)); //frame.Frames.Add(MirAction.Attack2, new Frame(320, 13, 0, 200)); frame.Frames.Add(MirAction.Struck, new Frame(424, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(448, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(457, 1, 9, 1000)); //198 - CatShaman Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 10, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(112, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(160, 7, 0, 200)); //frame.Frames.Add(MirAction.Attack2, new Frame(216, 7, 0, 200)); frame.Frames.Add(MirAction.Struck, new Frame(272, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(288, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(296, 1, 8, 1000)); //199 - Jar2 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(128, 10, 0, 200)); frame.Frames.Add(MirAction.Struck, new Frame(208, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(232, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(241, 1, 9, 1000)); //200 - RestlessJar Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(48, 9, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(120, 10, 0, 200)); frame.Frames.Add(MirAction.Attack3, new Frame(200, 10, 0, 200)); frame.Frames.Add(MirAction.Struck, new Frame(280, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(304, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(303, 1, 9, 1000)); #endregion /* * INTELLIGENTCREATURES */ #region IntelligentCreature Frames //0 - BabyPig HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 9, 0, 100)); //Standing Variant_0 frame.Frames.Add(MirAction.Attack2, new Frame(168, 5, 0, 100)); //Standing Variant_1 frame.Frames.Add(MirAction.Attack3, new Frame(208, 10, 0, 100)); //Standing Variant_2 frame.Frames.Add(MirAction.Attack4, new Frame(288, 10, 0, 100)); //Standing Variant_3 frame.Frames.Add(MirAction.Die, new Frame(288, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(297, 1, 9, 1000)); //1 - Chick HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); // normal pickup frame.Frames.Add(MirAction.Attack2, new Frame(160, 8, 0, 100)); // cleaning himself ? frame.Frames.Add(MirAction.Attack3, new Frame(224, 17, 0, 100)); // flying? frame.Frames.Add(MirAction.Attack4, new Frame(360, 9, 0, 100)); // chirping or gulping worm ? frame.Frames.Add(MirAction.Die, new Frame(360, 1, 9, 100)); frame.Frames.Add(MirAction.Dead, new Frame(360, 1, 9, 1000)); //2 - Kitten - BlackKitten HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 6, 0, 100)); // slipping frame.Frames.Add(MirAction.Attack2, new Frame(144, 10, 0, 100)); // pickup frame.Frames.Add(MirAction.Attack3, new Frame(224, 10, 0, 100)); // rolling frame.Frames.Add(MirAction.Attack4, new Frame(304, 7, 0, 100)); // boxing frame.Frames.Add(MirAction.Die, new Frame(224, 3, 7, 100)); frame.Frames.Add(MirAction.Dead, new Frame(226, 1, 9, 1000)); //3 - BabySkeleton HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 7, 0, 100)); // headbutt frame.Frames.Add(MirAction.Attack2, new Frame(136, 10, 0, 100)); // head rotate frame.Frames.Add(MirAction.Attack3, new Frame(216, 8, 0, 100)); // poking frame.Frames.Add(MirAction.Attack4, new Frame(280, 20, 0, 100)); // die and revive frame.Frames.Add(MirAction.Die, new Frame(280, 10, 10, 100)); frame.Frames.Add(MirAction.Dead, new Frame(290, 1, 19, 1000)); //4 - Baekdon HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 6, 0, 100)); // mace swing frame.Frames.Add(MirAction.Attack2, new Frame(144, 10, 0, 100)); // mace tap frame.Frames.Add(MirAction.Attack3, new Frame(224, 7, 0, 100)); // dance frame.Frames.Add(MirAction.Attack4, new Frame(280, 5, 0, 100)); // ears dance frame.Frames.Add(MirAction.Die, new Frame(280, 5, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(284, 1, 4, 1000)); //5 - Wimaen HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 8, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 7, 0, 100)); // handstand frame.Frames.Add(MirAction.Attack2, new Frame(152, 10, 0, 100)); // punch frame.Frames.Add(MirAction.Attack3, new Frame(232, 6, 0, 100)); // rolling frame.Frames.Add(MirAction.Attack4, new Frame(280, 4, 0, 100)); // wave frame.Frames.Add(MirAction.Die, new Frame(280, 4, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(283, 1, 3, 1000)); //6 - BlackKitten HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 6, 0, 100)); // paw stretch frame.Frames.Add(MirAction.Attack2, new Frame(144, 10, 0, 100)); // tail up frame.Frames.Add(MirAction.Attack3, new Frame(224, 10, 0, 100)); // rolling frame.Frames.Add(MirAction.Attack4, new Frame(304, 7, 0, 100)); // boxing frame.Frames.Add(MirAction.Die, new Frame(224, 3, 7, 100)); frame.Frames.Add(MirAction.Dead, new Frame(226, 1, 9, 1000)); //7 - BabyDragon HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 7, 0, 100)); // bow down frame.Frames.Add(MirAction.Attack2, new Frame(152, 6, 0, 100)); // ball play frame.Frames.Add(MirAction.Attack3, new Frame(200, 10, 0, 100)); // tail swing frame.Frames.Add(MirAction.Die, new Frame(200, 5, 5, 100)); frame.Frames.Add(MirAction.Dead, new Frame(204, 1, 9, 1000)); //8 - OlympicFlame HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 3, 0, 100)); // bow down frame.Frames.Add(MirAction.Attack2, new Frame(112, 8, 0, 100)); // jump frame.Frames.Add(MirAction.Attack3, new Frame(176, 10, 0, 100)); // lay down frame.Frames.Add(MirAction.Die, new Frame(176, 8, 2, 100)); frame.Frames.Add(MirAction.Dead, new Frame(183, 1, 9, 1000)); //Effect1 Smoke : 256,3,0,100 //Effect2 Fire : 280,4,0,100 //9 - BabySnowMan HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 7, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(104, 6, 0, 100)); // belly dance :P frame.Frames.Add(MirAction.Attack2, new Frame(152, 7, 0, 100)); // melting frame.Frames.Add(MirAction.Die, new Frame(152, 7, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(158, 1, 6, 1000)); //Effect1 Snow : 208,11,0,100 #endregion }
static FrameSet() { FrameSet frame; NPCs = new List<FrameSet>(); Monsters = new List<FrameSet>(); Players = new FrameSet(); HelperPets = new List<FrameSet>(); //IntelligentCreature /* * PLAYERS */ #region Player Frames //Common Players.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500, 0, 8, 0, 250)); Players.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100, 64, 6, 0, 100)); Players.Frames.Add(MirAction.Running, new Frame(80, 6, 0, 100, 112, 6, 0, 100)); Players.Frames.Add(MirAction.Stance, new Frame(128, 1, 0, 1000, 160, 1, 0, 1000)); Players.Frames.Add(MirAction.Stance2, new Frame(300, 1, 5, 1000, 300, 1, 5, 1000)); Players.Frames.Add(MirAction.Attack1, new Frame(136, 6, 0, 100, 168, 6, 0, 100)); Players.Frames.Add(MirAction.Attack2, new Frame(184, 6, 0, 100, 216, 6, 0, 100)); Players.Frames.Add(MirAction.Attack3, new Frame(232, 8, 0, 100, 264, 8, 0, 100)); Players.Frames.Add(MirAction.Attack4, new Frame(416, 6, 0, 100, 448, 6, 0, 100)); Players.Frames.Add(MirAction.Spell, new Frame(296, 6, 0, 100, 328, 6, 0, 100)); Players.Frames.Add(MirAction.Harvest, new Frame(344, 2, 0, 300, 376, 2, 0, 300)); Players.Frames.Add(MirAction.Struck, new Frame(360, 3, 0, 100, 392, 3, 0, 100)); Players.Frames.Add(MirAction.Die, new Frame(384, 4, 0, 100, 416, 4, 0, 100)); Players.Frames.Add(MirAction.Dead, new Frame(387, 1, 3, 1000, 419, 1, 3, 1000)); Players.Frames.Add(MirAction.Revive, new Frame(384, 4, 0, 100, 416, 4, 0, 100) { Reverse = true }); Players.Frames.Add(MirAction.Mine, new Frame(184, 6, 0, 100, 216, 6, 0, 100)); //Assassin Players.Frames.Add(MirAction.Sneek, new Frame(464, 6, 0, 100, 496, 6, 0, 100)); Players.Frames.Add(MirAction.DashAttack, new Frame(80, 3, 3, 100, 112, 3, 3, 100)); //Archer Players.Frames.Add(MirAction.WalkingBow, new Frame(0, 6, 0, 100, 0, 6, 0, 100)); Players.Frames.Add(MirAction.RunningBow, new Frame(48, 6, 0, 100, 48, 6, 0, 100)); Players.Frames.Add(MirAction.AttackRange1, new Frame(96, 8, 0, 100, 96, 8, 0, 100)); Players.Frames.Add(MirAction.AttackRange2, new Frame(160, 8, 0, 100, 160, 8, 0, 100)); Players.Frames.Add(MirAction.AttackRange3, new Frame(224, 8, 0, 100, 224, 8, 0, 100)); Players.Frames.Add(MirAction.Jump, new Frame(288, 8, 0, 100, 288, 8, 0, 100)); //Mounts Players.Frames.Add(MirAction.MountStanding, new Frame(416, 4, 0, 500, 448, 4, 0, 500)); Players.Frames.Add(MirAction.MountWalking, new Frame(448, 8, 0, 100, 480, 8, 0, 500)); Players.Frames.Add(MirAction.MountRunning, new Frame(512, 6, 0, 100, 544, 6, 0, 100)); Players.Frames.Add(MirAction.MountStruck, new Frame(560, 3, 0, 100, 592, 3, 0, 100)); Players.Frames.Add(MirAction.MountAttack, new Frame(584, 6, 0, 100, 616, 6, 0, 100)); //Fishing Players.Frames.Add(MirAction.FishingCast, new Frame(632, 8, 0, 100)); Players.Frames.Add(MirAction.FishingWait, new Frame(696, 6, 0, 120)); Players.Frames.Add(MirAction.FishingReel, new Frame(744, 8, 0, 100)); #endregion /* * NPCS */ #region NPC Frames //0 4 frames + direction + harvest(10 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 450)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 10, 0, 200)); //1 4 frames + direction + harvest(20 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(4, 4, 0, 450)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 20, 0, 200)); //2 4 frames, 4 frames + direction NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 450)); //3 12 frames + animation(10 frames) (large tele) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 12, 0, 250, 12, 10, 2, 250)); //4 2 frames + animation(9 frames) (small tele) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 1250, 2, 9, 1, 250)); //5 2 frame + animation(6 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 300, 2, 6, 0, 100)); //6 1 frame NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, 0, 1500)); //7 10 frames NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, 0, 250)); //8 12 frames NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 12, 0, 250)); //9 8 frames NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 8, 0, 250)); //10 6 frames + direction NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 250)); //11 1 frame + animation(8 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 400, 2, 8, 0, 100)); //12 11 frames NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 11, 0, 250)); //13 20 frames + animation(20 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 20, 0, 450, 20, 20, 0, 450)); //14 4 frames + direction + animation(4 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 250, 12, 4, 0, 250)); //15 4 frames + harvest(6 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 250)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 6, 0, 200)); //16 6 frames + animation(12 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 400, 6, 12, 0, 200)); //17 9 frames + direction NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 9, 0, 650)); //18 5 frames + direction NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 5, 0, 400)); //19 7 frames + direction + harvest(10 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 7, 0, 550)); frame.Frames.Add(MirAction.Harvest, new Frame(21, 10, 0, 200)); //20 1 frame + animation(9 frames) NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, 0, 900, 1, 9, 0, 100)); #endregion /* * MONSTERS */ #region Monster Frames //0 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); //1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Skeleton, new Frame(224, 1, 0, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //2 - Regular Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Show, new Frame(4, 8, -8, 200)); frame.Frames.Add(MirAction.Hide, new Frame(11, 8, -8, 200) { Reverse = true }); frame.Frames.Add(MirAction.Attack1, new Frame(12, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(60, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(76, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(85, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(76, 10, 0, 100) { Reverse = true }); //4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 4, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(147, 1, 3, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 4, 0, 100) { Reverse = true }); //5 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(128, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); //6 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 500)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 100)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 100) { Reverse = true }); //7 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Show, new Frame(22, 10, -10, 150)); frame.Frames.Add(MirAction.Hide, new Frame(31, 10, -10, 150) { Reverse = true }); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 150) { Reverse = true }); //8 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 150) { Reverse = true }); //9 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //10 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 20, -20, 100)); frame.Frames.Add(MirAction.Dead, new Frame(31, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 20, -20, 100) { Reverse = true }); //11 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Stoned, new Frame(0, 1, 5, 100)); frame.Frames.Add(MirAction.Show, new Frame(0, 6, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(5, 6, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Standing, new Frame(48, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(192, 10, 0, 100) { Reverse = true }); //12 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Stoned, new Frame(0, 1, -1, 100)); frame.Frames.Add(MirAction.Show, new Frame(0, 20, -20, 100)); frame.Frames.Add(MirAction.Standing, new Frame(20, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(52, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(100, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(148, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(164, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(173, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(164, 10, 0, 100) { Reverse = true }); //13 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Stoned, new Frame(272, 1, 5, 100)); frame.Frames.Add(MirAction.Show, new Frame(272, 6, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(277, 6, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //14 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //15 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Appear, new Frame(224, 10, -10, 100) { Blend = true }); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //16 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Appear, new Frame(0, 10, 0, 100)); frame.Frames.Add(MirAction.Standing, new Frame(80, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(112, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 10, 0, 100)); frame.Frames.Add(MirAction.Show, new Frame(256, 10, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(265, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Revive, new Frame(176, 10, 0, 100) { Reverse = true }); //17 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Show, new Frame(224, 10, 0, 200)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //18 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(224, 10, 0, 100)); //19 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //20 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //21 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(128, 6, 0, 200)); frame.Frames.Add(MirAction.AttackRange1, new Frame(176, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(224, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(240, 20, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(259, 1, 19, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(240, 20, 0, 150) { Reverse = true }); //22 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.SitDown, new Frame(272, 4, 0, 500)); //23 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //24 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Appear, new Frame(216, 10, -10, 100) { Blend = true }); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500) { Blend = true }); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100) { Blend = true }); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100) { Blend = true }); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200) { Blend = true }); frame.Frames.Add(MirAction.Die, new Frame(144, 9, 0, 100) { Blend = true }); frame.Frames.Add(MirAction.Revive, new Frame(144, 9, 0, 100) { Blend = true, Reverse = true }); //25 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 18, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, 16, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, 20, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, 12, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, 21, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, 12, 150) { Reverse = true }); //26 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, 5, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(0, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(0, 1, 5, 200)); frame.Frames.Add(MirAction.Die, new Frame(48, 10, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(57, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(48, 10, 0, 150) { Reverse = true }); //27 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 1, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(88, 6, 1, 100)); frame.Frames.Add(MirAction.Struck, new Frame(144, 1, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(160, 10, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(169, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(160, 10, 0, 150) { Reverse = true }); //28 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 180)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(12, 10, -10, 150) { Reverse = true }); //29 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(464, 20, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 20, 0, 150)); frame.Frames.Add(MirAction.Dead, new Frame(163, 1, 19, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 20, 0, 150) { Reverse = true }); //30 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //31 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Show, new Frame(4, 5, -5, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(9, 5, -5, 100)); frame.Frames.Add(MirAction.Struck, new Frame(14, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(16, 10, -10, 100)); frame.Frames.Add(MirAction.Dead, new Frame(25, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(16, 10, -10, 100) { Reverse = true }); //32 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 4, -4, 200)); //33 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 800)); frame.Frames.Add(MirAction.Walking, new Frame(10, 10, -10, 80)); frame.Frames.Add(MirAction.Attack1, new Frame(20, 10, -10, 80)); frame.Frames.Add(MirAction.Struck, new Frame(30, 4, -4, 200)); frame.Frames.Add(MirAction.Die, new Frame(34, 10, -10, 120)); frame.Frames.Add(MirAction.Dead, new Frame(43, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(34, 10, -10, 150) { Reverse = true }); //34 - GreatFoxSpirit level 0 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(22, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(20, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //35 - GreatFoxSpirit level 1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(60, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(82, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(80, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //36 - GreatFoxSpirit level 2 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(120, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(142, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(140, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //37 - GreatFoxSpirit level 3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(180, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(202, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(200, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //38 - GreatFoxSpirit level 4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(240, 20, -20, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(262, 8, -8, 120)); frame.Frames.Add(MirAction.Struck, new Frame(260, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(300, 18, -18, 120)); frame.Frames.Add(MirAction.Dead, new Frame(317, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(300, 18, -18, 150) { Reverse = true }); //39 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 4, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(112, 6, 4, 100)); frame.Frames.Add(MirAction.Struck, new Frame(192, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(208, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(217, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(208, 10, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.AttackRange1, new Frame(288, 6, 0, 100)); //40 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(42, 8, -8, 120)); frame.Frames.Add(MirAction.AttackRange1, new Frame(10, 6, 4, 120)); frame.Frames.Add(MirAction.Struck, new Frame(40, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(42, 7, -7, 120)); frame.Frames.Add(MirAction.Dead, new Frame(48, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(42, 7, -7, 120) { Reverse = true }); //41 - Dragon Statue 1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(300, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(300, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(300, 1, -1, 200)); //42 - Dragon Statue 2 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(301, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(301, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(301, 1, -1, 200)); //43 - Dragon Statue 3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(302, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(302, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(302, 1, -1, 200)); //44 - Dragon Statue 4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(320, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(320, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(320, 1, -1, 200)); //45 - Dragon Statue 5 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(321, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(321, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(321, 1, -1, 200)); //46 - Dragon Statue 6 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(322, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(322, 1, -1, 120)); frame.Frames.Add(MirAction.Struck, new Frame(322, 1, -1, 200)); //47 - Archer Guard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 3, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(104, 6, 3, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0 , 100)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); //48 - Taoist Guard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(32, 6, 0, 100)); //49 - Archer SummonVampire Monsters.Add(frame = new FrameSet()); //frame.Frames.Add(MirAction.???, new Frame(0, 3, 0, 500));// dunno what miraction to assign to this ? frame.Frames.Add(MirAction.Show, new Frame(24, 6, 0, 150)); frame.Frames.Add(MirAction.Hide, new Frame(29, 6, 0, 150) { Reverse = true }); frame.Frames.Add(MirAction.Standing, new Frame(72, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(104, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(152, 5, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(192, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(216, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(225, 1, 9, 1000)); //50 - Archer SummonToad Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.AttackRange1, new Frame(32, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(104, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(128, 10, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(208, 4, 0, 100)); frame.Frames.Add(MirAction.Show, new Frame(211, 4, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Dead, new Frame(137, 1, 9, 1000)); //51 - Archer SummonSnakes Totem Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(0, 2, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(0, 1, 0, 100)); frame.Frames.Add(MirAction.Die, new Frame(0, 1, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(0, 1, 0, 100)); //52 - Archer SummonSnakes Snake Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 5, 0, 200)); frame.Frames.Add(MirAction.Walking, new Frame(0, 5, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(0, 5, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(0, 5, 0, 100)); frame.Frames.Add(MirAction.Die, new Frame(52, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(59, 1, 7, 1000)); //53 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(152, 4, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(155, 1, 3, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(152, 4, 0, 100) { Reverse = true }); //54 DirtPiles & TreasureChest (147, 156, 164, 165) Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 3, -3, 1000)); frame.Frames.Add(MirAction.Struck, new Frame(3, 3, -3, 200)); frame.Frames.Add(MirAction.Die, new Frame(3, 7, -7, 150)); frame.Frames.Add(MirAction.Dead, new Frame(9, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(3, 7, -7, 150) { Reverse = true }); //55 Football (149) Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(8, 6, 0, 100)); //56 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(152, 6, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(157, 1, 5, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(152, 6, 0, 100) { Reverse = true }); //57 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(151, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 8, 0, 100) { Reverse = true }); //58 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 8, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(120, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(96, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(168, 6, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(173, 1, 5, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(168, 6, 0, 100) { Reverse = true }); //59 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(272, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //60 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 6, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(256, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(151, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 8, 0, 100) { Reverse = true }); //61 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(151, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 8, 0, 100) { Reverse = true }); //62 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 2, 0, 500)); frame.Frames.Add(MirAction.Struck, new Frame(16, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(32, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(39, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(32, 8, 0, 100) { Reverse = true }); //63 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 1, -1, 1000)); frame.Frames.Add(MirAction.Struck, new Frame(1, 4, -4, 200)); frame.Frames.Add(MirAction.Die, new Frame(5, 7, -7, 150)); frame.Frames.Add(MirAction.Dead, new Frame(11, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(5, 7, -7, 150) { Reverse = true }); //64 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 8, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(120, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(96, 3, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(168, 5, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(173, 1, 4, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(168, 5, 0, 100) { Reverse = true }); //65 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 8, -8, 500)); frame.Frames.Add(MirAction.Struck, new Frame(8, 3, -3, 200)); frame.Frames.Add(MirAction.Die, new Frame(11, 8, -8, 100)); frame.Frames.Add(MirAction.Dead, new Frame(17, 1, -1, 1000)); //66 (Mob 184) Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 10, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 11, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(216, 9, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(288, 5, 0, 100)); //frame.Frames.Add(MirAction.Attack4, new Frame(328, 8, 0, 100)); //frame.Frames.Add(MirAction.Attack5, new Frame(392, 5, 0, 200)); //frame.Frames.Add(MirAction.Attack6, new Frame(432, 8, 0, 100)); //frame.Frames.Add(MirAction.Attack7, new Frame(496, 8, 0, 100)); //This mob has a lot actions , I just listed the frame numbers ready for adding when coding the AI //67 (Mob187) Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(248, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(184, 1, 8, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(176, 9, 0, 100) { Reverse = true }); //frame.Frames.Add(MirAction.Attack3, new Frame(296, 6, 0, 100)); //frame.Frames.Add(MirAction.Attack4, new Frame(344, 6, 0, 100)); //frame.Frames.Add(MirAction.Attack5, new Frame(392, 8, 0, 100)); //68 (Bush) Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Struck, new Frame(4, 4, -4, 200)); frame.Frames.Add(MirAction.Die, new Frame(8, 4, -4, 100)); frame.Frames.Add(MirAction.Dead, new Frame(15, 1, -1, 1000)); //69 HellSlasher, HellCannibal, ManectricClub, ManectricClaw Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //70 HellPirate, FlameSpear Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 7, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(224, 7, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //71 HellBolt, WitchDoctor Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(80, 10, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(185, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(256, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(256, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(176, 10, 0, 100) { Reverse = true }); //72 Hellkeeper Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 8, -8, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(22, 10, -10, 100)); frame.Frames.Add(MirAction.Struck, new Frame(12, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(14, 8, -8, 100)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(21, 1, 0, 100) { Reverse = true }); //73 ManectricHammer Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 7, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(150, 1, 6, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 7, 0, 100) { Reverse = true }); //74 ManectricStaff Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(248, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 9, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(184, 1, 8, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(176, 9, 0, 100) { Reverse = true }); //75 ManectricBlest, NamelessGhost, DarkGhost, ChaosGhost, TrollHammer, TrollBommer, TrollStoner Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(151, 1, 7, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 8, 0, 100) { Reverse = true }); //76 ManectricKing, TrollKing Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 8, 0, 100)); frame.Frames.Add(MirAction.Attack3, new Frame(224, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 8, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //77 FlameMage, FlameScythe, FlameAssassin Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //78 FlameQueen Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(224, 9, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(224, 9, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(224, 9, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 10, 0, 100) { Reverse = true }); //79 HellKnight1~4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(176, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 4, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(147, 1, 3, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(176, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 4, 0, 100) { Reverse = true }); //80 HellLord Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(10, 5, -5, 100)); frame.Frames.Add(MirAction.Struck, new Frame(0, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(0, 4, -4, 100)); frame.Frames.Add(MirAction.Dead, new Frame(0, 1, -1, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(10, 5, -5, 100)); frame.Frames.Add(MirAction.Revive, new Frame(0, 4, -4, 100) { Reverse = true }); //81 WaterGuard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 7, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(151, 1, 7, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(208, 7, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 8, 0, 100) { Reverse = true }); //82 IceGuard Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 200)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(208, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(151, 1, 7, 1000)); frame.Frames.Add(MirAction.AttackRange1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange2, new Frame(208, 6, 0, 100)); frame.Frames.Add(MirAction.Revive, new Frame(144, 8, 0, 100) { Reverse = true }); //83 DarkDevourer Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.AttackRange1, new Frame(208, 8, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 8, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(151, 1, 7, 1000)); frame.Frames.Add(MirAction.Revive, new Frame(144, 8, 0, 100) { Reverse = true }); #endregion /* * INTELLIGENTCREATURES */ #region IntelligentCreature Frames //0 - BabyPig HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 9, 0, 100)); //Standing Variant_0 frame.Frames.Add(MirAction.Attack2, new Frame(168, 5, 0, 100)); //Standing Variant_1 frame.Frames.Add(MirAction.Attack3, new Frame(208, 10, 0, 100)); //Standing Variant_2 frame.Frames.Add(MirAction.Attack4, new Frame(288, 10, 0, 100)); //Standing Variant_3 frame.Frames.Add(MirAction.Die, new Frame(288, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(297, 1, 9, 1000)); //1 - Chick HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 10, 0, 100)); // normal pickup frame.Frames.Add(MirAction.Attack2, new Frame(160, 8, 0, 100)); // cleaning himself ? frame.Frames.Add(MirAction.Attack3, new Frame(224, 17, 0, 100)); // flying? frame.Frames.Add(MirAction.Attack4, new Frame(360, 9, 0, 100)); // chirping or gulping worm ? frame.Frames.Add(MirAction.Die, new Frame(360, 1, 9, 100)); frame.Frames.Add(MirAction.Dead, new Frame(360, 1, 9, 1000)); //2 - Kitten - BlackKitten HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 6, 0, 100)); // slipping frame.Frames.Add(MirAction.Attack2, new Frame(144, 10, 0, 100)); // pickup frame.Frames.Add(MirAction.Attack3, new Frame(224, 10, 0, 100)); // rolling frame.Frames.Add(MirAction.Attack4, new Frame(304, 7, 0, 100)); // boxing frame.Frames.Add(MirAction.Die, new Frame(224, 3, 7, 100)); frame.Frames.Add(MirAction.Dead, new Frame(226, 1, 9, 1000)); //3 - BabySkeleton HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 7, 0, 100)); // headbutt frame.Frames.Add(MirAction.Attack2, new Frame(136, 10, 0, 100)); // head rotate frame.Frames.Add(MirAction.Attack3, new Frame(216, 8, 0, 100)); // poking frame.Frames.Add(MirAction.Attack4, new Frame(280, 20, 0, 100)); // die and revive frame.Frames.Add(MirAction.Die, new Frame(280, 10, 10, 100)); frame.Frames.Add(MirAction.Dead, new Frame(290, 1, 19, 1000)); //4 - Baekdon HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 6, 0, 100)); // mace swing frame.Frames.Add(MirAction.Attack2, new Frame(144, 10, 0, 100)); // mace tap frame.Frames.Add(MirAction.Attack3, new Frame(224, 7, 0, 100)); // dance frame.Frames.Add(MirAction.Attack4, new Frame(280, 5, 0, 100)); // ears dance frame.Frames.Add(MirAction.Die, new Frame(280, 5, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(284, 1, 4, 1000)); //5 - Wimaen HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 8, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 7, 0, 100)); // handstand frame.Frames.Add(MirAction.Attack2, new Frame(152, 10, 0, 100)); // punch frame.Frames.Add(MirAction.Attack3, new Frame(232, 6, 0, 100)); // rolling frame.Frames.Add(MirAction.Attack4, new Frame(280, 4, 0, 100)); // wave frame.Frames.Add(MirAction.Die, new Frame(280, 4, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(283, 1, 3, 1000)); //6 - BlackKitten HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 6, 0, 100)); // paw stretch frame.Frames.Add(MirAction.Attack2, new Frame(144, 10, 0, 100)); // tail up frame.Frames.Add(MirAction.Attack3, new Frame(224, 10, 0, 100)); // rolling frame.Frames.Add(MirAction.Attack4, new Frame(304, 7, 0, 100)); // boxing frame.Frames.Add(MirAction.Die, new Frame(224, 3, 7, 100)); frame.Frames.Add(MirAction.Dead, new Frame(226, 1, 9, 1000)); //7 - BabyDragon HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 7, 0, 100)); // bow down frame.Frames.Add(MirAction.Attack2, new Frame(152, 6, 0, 100)); // ball play frame.Frames.Add(MirAction.Attack3, new Frame(200, 10, 0, 100)); // tail swing frame.Frames.Add(MirAction.Die, new Frame(200, 5, 5, 100)); frame.Frames.Add(MirAction.Dead, new Frame(204, 1, 9, 1000)); //8 - OlympicFlame HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(96, 3, 0, 100)); // bow down frame.Frames.Add(MirAction.Attack2, new Frame(112, 8, 0, 100)); // jump frame.Frames.Add(MirAction.Attack3, new Frame(176, 10, 0, 100)); // lay down frame.Frames.Add(MirAction.Die, new Frame(176, 8, 2, 100)); frame.Frames.Add(MirAction.Dead, new Frame(183, 1, 9, 1000)); //Effect1 Smoke : 256,3,0,100 //Effect2 Fire : 280,4,0,100 //9 - BabySnowMan HelperPets.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 6, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(48, 7, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(104, 6, 0, 100)); // belly dance :P frame.Frames.Add(MirAction.Attack2, new Frame(152, 7, 0, 100)); // melting frame.Frames.Add(MirAction.Die, new Frame(152, 7, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(158, 1, 6, 1000)); //Effect1 Snow : 208,11,0,100 #endregion }
static FrameSet() { FrameSet frame; NPCs = new List<FrameSet>(); Monsters = new List<FrameSet>(); Players = new FrameSet(); Players.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500, 0, 8, 0, 250)); Players.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100, 64, 6, 0, 100)); Players.Frames.Add(MirAction.Running, new Frame(80, 6, 0, 100, 112, 6, 0, 100)); Players.Frames.Add(MirAction.Stance, new Frame(128, 1, 0, 2000, 160, 1, 0, 2000)); Players.Frames.Add(MirAction.Attack1, new Frame(136, 6, 0, 100, 168, 6, 0, 100)); Players.Frames.Add(MirAction.Attack2, new Frame(184, 6, 0, 100, 216, 6, 0, 100)); Players.Frames.Add(MirAction.Attack3, new Frame(232, 8, 0, 100, 264, 8, 0, 100)); Players.Frames.Add(MirAction.Spell, new Frame(296, 6, 0, 100, 328, 6, 0, 100)); Players.Frames.Add(MirAction.Harvest, new Frame(344, 2, 0, 300, 376, 2, 0, 300)); Players.Frames.Add(MirAction.Struck, new Frame(360, 3, 0, 100, 392, 3, 0, 100)); Players.Frames.Add(MirAction.Die, new Frame(384, 4, 0, 100, 416, 4, 0, 100)); Players.Frames.Add(MirAction.Dead, new Frame(387, 1, 3, 1000, 419, 1, 3, 1000)); Players.Frames.Add(MirAction.Attack4, new Frame(416, 6, 0, 100, 448, 6, 0, 100)); /* * NPCS */ NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 450)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 10, 0, 200)); NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 450)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 10, 0, 200)); NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 450)); frame.Frames.Add(MirAction.Harvest, new Frame(12, 20, 0, 200)); NPCs.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 450)); /* * MONSTERS */ //0 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); //1 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Skeleton, new Frame(224, 1, 0, 1000)); //2 - Regular Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); //3 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 500)); frame.Frames.Add(MirAction.Show, new Frame(4, 8, -8, 200)); frame.Frames.Add(MirAction.Hide, new Frame(11, 8, -8, 200) { Reverse = true }); frame.Frames.Add(MirAction.Attack1, new Frame(12, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(60, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(76, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(85, 1, 9, 1000)); //4 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 4, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(147, 1, 3, 1000)); //5 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack2, new Frame(128, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); //6 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 10, -10, 500)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 100)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); //7 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Show, new Frame(22, 10, -10, 150)); frame.Frames.Add(MirAction.Hide, new Frame(31, 10, -10, 150) { Reverse = true }); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); //8 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 10, -10, 150)); frame.Frames.Add(MirAction.Dead, new Frame(21, 1, -1, 1000)); //9 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange, new Frame(224, 6, 0, 100)); //10 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, -4, 1000)); frame.Frames.Add(MirAction.Attack1, new Frame(4, 6, -6, 100)); frame.Frames.Add(MirAction.Struck, new Frame(10, 2, -2, 200)); frame.Frames.Add(MirAction.Die, new Frame(12, 20, -20, 100)); frame.Frames.Add(MirAction.Dead, new Frame(31, 1, -1, 1000)); //11 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Stoned, new Frame(0, 1, 5, 100)); frame.Frames.Add(MirAction.Show, new Frame(0, 6, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(5, 6, 0, 100) { Reverse = true }); frame.Frames.Add(MirAction.Standing, new Frame(48, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(128, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(176, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(192, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(201, 1, 9, 1000)); //12 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Stoned, new Frame(0, 1, -1, 100)); frame.Frames.Add(MirAction.Show, new Frame(0, 20, -20, 100)); frame.Frames.Add(MirAction.Standing, new Frame(20, 4, 0, 1000)); frame.Frames.Add(MirAction.Walking, new Frame(52, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(100, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(148, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(164, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(173, 1, 9, 1000)); //13 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange, new Frame(224, 6, 0, 100)); frame.Frames.Add(MirAction.Stoned, new Frame(272, 1, 5, 100)); frame.Frames.Add(MirAction.Show, new Frame(272, 6, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(277, 6, 0, 100) { Reverse = true }); //14 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.AttackRange, new Frame(224, 6, 0, 100)); //15 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Appear, new Frame(224, 10, -10, 100) { Blend = true }); //16 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Appear, new Frame(0, 10, 0, 100)); frame.Frames.Add(MirAction.Standing, new Frame(80, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(112, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(160, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(176, 10, 0, 100)); frame.Frames.Add(MirAction.Show, new Frame(256, 10, 0, 100)); frame.Frames.Add(MirAction.Hide, new Frame(265, 10, 0, 100) { Reverse = true }); //17 Monsters.Add(frame = new FrameSet()); frame.Frames.Add(MirAction.Standing, new Frame(0, 4, 0, 500)); frame.Frames.Add(MirAction.Walking, new Frame(32, 6, 0, 100)); frame.Frames.Add(MirAction.Attack1, new Frame(80, 6, 0, 100)); frame.Frames.Add(MirAction.Struck, new Frame(128, 2, 0, 200)); frame.Frames.Add(MirAction.Die, new Frame(144, 10, 0, 100)); frame.Frames.Add(MirAction.Dead, new Frame(153, 1, 9, 1000)); frame.Frames.Add(MirAction.Show, new Frame(224, 10, 0, 200)); }