public override void OnAdd() { this.xShadowDude = Program.game._EntityMaster_AddNPC(NPCCodex.NPCTypes.Halloween_HoodedMan, this.v2SpawnPos); Program.game._EffectMaster_AddEffect(new SortedAnimated(this.xShadowDude.xTransform.v2Pos, SortedAnimated.SortedAnimatedEffects._SkillEffects_OneHand_ShadowClone_CloudLv1)); this.xShadowDude.bIsInteractable = false; this.xShadowDude.xCollisionComponent.DeactivateGroup(CollisionComponent.ColliderGroup.All); }
public void CreateSummon(bool bFromPersistent = false) { Game1 game = Program.game; if (Program.game.dixNPCList.ContainsKey((ushort)(11000 + (int)(this.xOwner as PlayerEntity).iPlayerNumberOnServer))) { this.xPet = Program.game.dixNPCList[(ushort)(11000 + (int)(this.xOwner as PlayerEntity).iPlayerNumberOnServer)]; return; } if (this.iPowerLevel < 3) { this.xPet = game._EntityMaster_AddNPC((ushort)(11000 + (int)(this.xOwner as PlayerEntity).iPlayerNumberOnServer), NPCCodex.NPCTypes.CombatPet_IceGolemLv1, this.xTransform.v2Pos); this.xPet.xRenderComponent.SwitchAnimation(100); this.xPet.xRenderComponent.fVirtualHeight = (this.xOwner as PlayerEntity).xRenderComponent.fVirtualHeight; this.xPet.xCollisionComponent.ChangeColliderLayer((this.xOwner as WorldActor).xCollisionComponent.ibitCurrentColliderLayer); this.xPet.xBaseStats.iKnockbackResistance = 0; this.xPet.xBaseStats.iBaseMaxHP = 50 + 25 * this.iPowerLevel + this.xPet.xBaseStats.iBaseATK; this.xPet.xBaseStats.iHP = (int)((float)this.xPet.xBaseStats.iBaseMaxHP * this.fHPPercentage); this.xPet.xRenderComponent.bReSortHeight = true; this.xPet.xCollisionComponent.DeactivateGroup(CollisionComponent.ColliderGroup.All); game.xEntityMaster.lxNPCTargets.Add(this.xPet); if (!bFromPersistent) { Program.game.xSoundSystem.PlayCue("frosty_lvl1_summon", this.xPet, false); } (this.xPet.xBehaviour as FrostyFriendLevelOneAI).SetOwner(this.xOwner as WorldActor); game.xCollisionMaster.RegisterHitboxCollider(this.xPet.xCollisionComponent.xMovementCollider, Collider.ColliderLayers.HeighDifferenceIntercept); } else { this.xPet = game._EntityMaster_AddNPC((ushort)(11000 + (int)(this.xOwner as PlayerEntity).iPlayerNumberOnServer), NPCCodex.NPCTypes.CombatPet_IceGolemLv2, this.xTransform.v2Pos); this.xPet.xRenderComponent.SwitchAnimation(100); this.xPet.xRenderComponent.fVirtualHeight = (this.xOwner as PlayerEntity).xRenderComponent.fVirtualHeight; this.xPet.xCollisionComponent.ChangeColliderLayer((this.xOwner as WorldActor).xCollisionComponent.ibitCurrentColliderLayer); this.xPet.xBaseStats.iKnockbackResistance = 3; this.xPet.xBaseStats.iBaseMaxHP = 100 + 30 * this.iPowerLevel + this.xPet.xBaseStats.iBaseATK; this.xPet.xBaseStats.iHP = (int)((float)this.xPet.xBaseStats.iBaseMaxHP * this.fHPPercentage); this.xPet.xRenderComponent.bReSortHeight = true; this.xPet.xCollisionComponent.DeactivateGroup(CollisionComponent.ColliderGroup.All); game.xEntityMaster.lxNPCTargets.Add(this.xPet); (this.xPet.xBehaviour as FrostyFriendLevelTwoAI).SetOwner(this.xOwner as WorldActor); game.xCollisionMaster.RegisterHitboxCollider(this.xPet.xCollisionComponent.xMovementCollider, Collider.ColliderLayers.HeighDifferenceIntercept); } (this.xOwner as PlayerEntity).HardRelocateEvent += new PlayerEntity.GenericPlayerEvent((this.xPet.xBehaviour as FrostyFriendBaseAI).OnOwnerHardRelocate); if (bFromPersistent) { (this.xPet.xBehaviour as FrostyFriendBaseAI).TeleportToOwner(); } this.xOwnerView.xGUIStuff.xFrostyFriend = this.xPet; }
public override void OnAdd() { new ToyFactoryTrainStuffBagman.Train(Vector2.Zero, Vector2.Zero, 0f, ToyFactoryTrainStuffBagman.Train.GraphicType.Cart01).xRenderComponent.Unregister(); new ToyFactoryTrainStuffBagman.Train(Vector2.Zero, Vector2.Zero, 0f, ToyFactoryTrainStuffBagman.Train.GraphicType.Engine01).xRenderComponent.Unregister(); this.lxSwitches.Add(new ToyFactoryTrainStuffBagman.SwitchRail(new Vector2(361f, 183f), 1)); this.lxSwitches.Add(new ToyFactoryTrainStuffBagman.SwitchRail(new Vector2(361f, 248f), 2)); this.lxSwitches.Add(new ToyFactoryTrainStuffBagman.SwitchRail(new Vector2(265f, 314f), 2)); this.lxSwitches.Add(new ToyFactoryTrainStuffBagman.SwitchRail(new Vector2(170f, 315f), 3)); this.xLeftSaftBlander = (SortedAnimated)Program.game._EffectMaster_AddEffect(new SortedAnimated(new Vector2(176f, 90f), SortedAnimated.SortedAnimatedEffects._Unique_ToyFactory_WarningLamp)); this.xLeftSaftBlander.xRenderComponent.fVirtualHeight = 50f; this.xRightSaftBlander = (SortedAnimated)Program.game._EffectMaster_AddEffect(new SortedAnimated(new Vector2(272f, 90f), SortedAnimated.SortedAnimatedEffects._Unique_ToyFactory_WarningLamp)); this.xRightSaftBlander.xRenderComponent.fVirtualHeight = 50f; this.xCollapsedDoor = (SortedAnimated)Program.game._EffectMaster_AddEffect(new SortedAnimated(new Vector2(590f, 310f), SortedAnimated.SortedAnimatedEffects._Unique_ToyFactory_FallingDoor)); Program.game.xLevelMaster.denxNamedEntities[NPCCodex.NPCTypes.GuestOrSign01] = this.xCollapsedDoor; for (int i = 0; i < this.lxSwitches.Count; i++) { this.lxSwitches[i].bIsStatic = true; } for (int j = 0; j < 10; j++) { SortedAnimated mos = (SortedAnimated)Program.game._EffectMaster_AddEffect(new SortedAnimated(new Vector2(385f, (float)(134 + 11 * j)), SortedAnimated.SortedAnimatedEffects._Blocks_Polka)); mos.xRenderComponent.AsAnimated().SwitchAnimation(3); this.lxFenceParts.Add(mos); } this.xTopGate = (Program.game._EntityMaster_AddDynamicEnvironment(DynamicEnvironmentCodex.ObjectTypes.Gate_ToyFactory, new Vector2(199f, 78f)) as Gate); if (CAS.NumberOfPlayers == 1) { this.xTopGate.xRenderComponent.SwitchAnimation(2); } Program.game._EffectMaster_AddEffect(new SortedAnimated(new Vector2(385f, 296f), SortedAnimated.SortedAnimatedEffects._Blocks_Polka)).xRenderComponent.AsAnimated().SwitchAnimation(1); Program.game._EffectMaster_AddEffect(new SortedAnimated(new Vector2(385f, 307f), SortedAnimated.SortedAnimatedEffects._Blocks_Polka)).xRenderComponent.AsAnimated().SwitchAnimation(1); Program.game._EffectMaster_AddEffect(new SortedAnimated(new Vector2(385f, 318f), SortedAnimated.SortedAnimatedEffects._Blocks_Polka)).xRenderComponent.AsAnimated().SwitchAnimation(1); Program.game._EffectMaster_AddEffect(new SortedAnimated(new Vector2(385f, 329f), SortedAnimated.SortedAnimatedEffects._Blocks_Polka)).xRenderComponent.AsAnimated().SwitchAnimation(1); Program.game.xCollisionMaster.RegisterStaticCollider(this.colRightBottomBlockade); if (Program.game.xLevelMaster.denxNamedEntities.ContainsKey(NPCCodex.NPCTypes.Main_Polarn)) { this.xLukeMan = (NPC)Program.game.xLevelMaster.denxNamedEntities[NPCCodex.NPCTypes.Main_Polarn]; } }
public FrostyFriendLevelOneAI(NPC xEnemy) { this.xOwner = xEnemy; }
public override void OnInstruction(byte byInstructionID, params float[] afParams) { if (byInstructionID == 0) { Program.game.xNetworkInfo.xServerHelper.lsTemporaryConnectGuards.Add("Event"); this.xTopGate.Close(); this.iLaserState = 1; Program.game.xCollisionMaster.RegisterStaticCollider(this.colRightBlockade); return; } if (byInstructionID == 1) { NPC Naniva = Program.game.xLevelMaster.denxNamedEntities[NPCCodex.NPCTypes.Fae_Naniva] as NPC; if (Naniva.xBehaviour is NPC_Naniva) { (Naniva.xBehaviour as NPC_Naniva).OnLevelUnload(); } Naniva.xBehaviour = new StaticBehaviour(); this.xNaniva = Naniva; return; } if (byInstructionID == 2) { this.xLeftSaftBlander.xRenderComponent.AsAnimated().SwitchAnimation(1); this.xRightSaftBlander.xRenderComponent.AsAnimated().SwitchAnimation(1); return; } if (byInstructionID == 3) { this.iState = 2; this.iPState = 1; ToyFactoryFallingBombsBagman xBag = Program.game.xEntityMaster.dbyxBagmen[1] as ToyFactoryFallingBombsBagman; xBag.bActive = true; return; } if (byInstructionID == 4) { Program.game.xCutsceneMaster.LoadCutscene(CutsceneLibrary.CutsceneID._MainStory_Winterland_LukeMidPuzzle); if (CAS.NetworkRole == NetworkHelperInterface.NetworkRole.Server) { base.SendNetworkInstruction(4, new float[0]); return; } } else { if (byInstructionID == 5) { this.xLeftSaftBlander.xRenderComponent.AsAnimated().SwitchAnimation(0); this.xRightSaftBlander.xRenderComponent.AsAnimated().SwitchAnimation(0); return; } if (byInstructionID == 6) { ToyFactoryFallingBombsBagman xBag2 = Program.game.xEntityMaster.dbyxBagmen[1] as ToyFactoryFallingBombsBagman; xBag2.bActive = true; this.iState = 2; this.iPState = 10; this.iPCounter = 0; return; } if (byInstructionID == 7) { this.iLaserState = 2; this.iOffCounter = 0; Program.game.xNetworkInfo.xServerHelper.lsTemporaryConnectGuards.Remove("Event"); Program.game.xCollisionMaster.UnregisterCollider(this.colRightBlockade); Program.game.xCutsceneMaster.LoadCutscene(CutsceneLibrary.CutsceneID._MainStory_Winterland_LukeEndPuzzle); Program.game.xGameSessionData.henActiveFlags.Add(FlagCodex.FlagID._MainStory_Winterland_ToyFactoryLukeSolverMaster); Program.game.xGameSessionData.henActiveFlags.Remove(FlagCodex.FlagID._MainStory_PostFlyingTemple_NanivaIsFollowing); if (CAS.NetworkRole == NetworkHelperInterface.NetworkRole.Server) { base.SendNetworkInstruction(7, new float[0]); return; } } else { if (byInstructionID == 8) { this.SpawnLeftTrain((int)afParams[0]); return; } if (byInstructionID == 9) { this.SpawnTopTrain((int)afParams[0]); } } } }
public static NPC GetNPCInstance(NPCCodex.NPCTypes enType) { NPC xEn = new NPC(); ContentManager Content = Program.GetTheGame().xLevelMaster.contRegionContent; string NPC_PATH = "Sprites/NPC/"; if (enType >= NPCCodex.NPCTypes.Evergrind_Carpenter && enType < NPCCodex.NPCTypes.Halloween_CandyWitch) { if (enType == NPCCodex.NPCTypes.Evergrind_Gardener) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; Dictionary<ushort, Animation> arg_1BD_0 = xEn.xRenderComponent.dixAnimations; ushort arg_1BD_1 = 0; ushort arg_1B8_0 = 0; byte arg_1B8_1 = 0; Texture2D arg_1B8_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind/Garden/Idle"); Vector2 arg_1B8_3 = new Vector2(15f, 33f); int arg_1B8_4 = 4; int arg_1B8_5 = 32; int arg_1B8_6 = 27; int arg_1B8_7 = 38; int arg_1B8_8 = 0; int arg_1B8_9 = 0; int arg_1B8_10 = 100; Animation.LoopSettings arg_1B8_11 = Animation.LoopSettings.Looping; Animation.CancelOptions arg_1B8_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_1B8_13 = true; bool arg_1B8_14 = true; AnimationInstruction[] array = new AnimationInstruction[4]; AnimationInstruction[] arg_10D_0 = array; int arg_10D_1 = 0; AnimInsCriteria arg_108_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 3f }); AnimInsEvent.EventType arg_103_0 = AnimInsEvent.EventType.PlaySound; string arg_103_1 = "Gardener_cut"; float[] p_afAlterableValues = new float[1]; arg_10D_0[arg_10D_1] = new AnimationInstruction(arg_108_0, new AnimInsEvent(arg_103_0, arg_103_1, p_afAlterableValues)); AnimationInstruction[] arg_145_0 = array; int arg_145_1 = 1; AnimInsCriteria arg_140_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 10f }); AnimInsEvent.EventType arg_13B_0 = AnimInsEvent.EventType.PlaySound; string arg_13B_1 = "Gardener_cut"; float[] p_afAlterableValues2 = new float[1]; arg_145_0[arg_145_1] = new AnimationInstruction(arg_140_0, new AnimInsEvent(arg_13B_0, arg_13B_1, p_afAlterableValues2)); AnimationInstruction[] arg_17D_0 = array; int arg_17D_1 = 2; AnimInsCriteria arg_178_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 20f }); AnimInsEvent.EventType arg_173_0 = AnimInsEvent.EventType.PlaySound; string arg_173_1 = "Gardener_cut"; float[] p_afAlterableValues3 = new float[1]; arg_17D_0[arg_17D_1] = new AnimationInstruction(arg_178_0, new AnimInsEvent(arg_173_0, arg_173_1, p_afAlterableValues3)); AnimationInstruction[] arg_1B5_0 = array; int arg_1B5_1 = 3; AnimInsCriteria arg_1B0_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 27f }); AnimInsEvent.EventType arg_1AB_0 = AnimInsEvent.EventType.PlaySound; string arg_1AB_1 = "Gardener_cut"; float[] p_afAlterableValues4 = new float[1]; arg_1B5_0[arg_1B5_1] = new AnimationInstruction(arg_1B0_0, new AnimInsEvent(arg_1AB_0, arg_1AB_1, p_afAlterableValues4)); arg_1BD_0.Add(arg_1BD_1, new Animation(arg_1B8_0, arg_1B8_1, arg_1B8_2, arg_1B8_3, arg_1B8_4, arg_1B8_5, arg_1B8_6, arg_1B8_7, arg_1B8_8, arg_1B8_9, arg_1B8_10, arg_1B8_11, arg_1B8_12, arg_1B8_13, arg_1B8_14, array)); Dictionary<ushort, Animation> arg_2EE_0 = xEn.xRenderComponent.dixAnimations; ushort arg_2EE_1 = 1; ushort arg_2E9_0 = 1; byte arg_2E9_1 = 0; Texture2D arg_2E9_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind/Garden/Idle"); Vector2 arg_2E9_3 = new Vector2(15f, 33f); int arg_2E9_4 = 4; int arg_2E9_5 = 32; int arg_2E9_6 = 27; int arg_2E9_7 = 38; int arg_2E9_8 = 0; int arg_2E9_9 = 0; int arg_2E9_10 = 100; Animation.LoopSettings arg_2E9_11 = Animation.LoopSettings.Looping; Animation.CancelOptions arg_2E9_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_2E9_13 = true; bool arg_2E9_14 = true; AnimationInstruction[] array2 = new AnimationInstruction[4]; AnimationInstruction[] arg_23E_0 = array2; int arg_23E_1 = 0; AnimInsCriteria arg_239_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 3f }); AnimInsEvent.EventType arg_234_0 = AnimInsEvent.EventType.PlaySound; string arg_234_1 = "Gardener_cut"; float[] p_afAlterableValues5 = new float[1]; arg_23E_0[arg_23E_1] = new AnimationInstruction(arg_239_0, new AnimInsEvent(arg_234_0, arg_234_1, p_afAlterableValues5)); AnimationInstruction[] arg_276_0 = array2; int arg_276_1 = 1; AnimInsCriteria arg_271_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 10f }); AnimInsEvent.EventType arg_26C_0 = AnimInsEvent.EventType.PlaySound; string arg_26C_1 = "Gardener_cut"; float[] p_afAlterableValues6 = new float[1]; arg_276_0[arg_276_1] = new AnimationInstruction(arg_271_0, new AnimInsEvent(arg_26C_0, arg_26C_1, p_afAlterableValues6)); AnimationInstruction[] arg_2AE_0 = array2; int arg_2AE_1 = 2; AnimInsCriteria arg_2A9_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 20f }); AnimInsEvent.EventType arg_2A4_0 = AnimInsEvent.EventType.PlaySound; string arg_2A4_1 = "Gardener_cut"; float[] p_afAlterableValues7 = new float[1]; arg_2AE_0[arg_2AE_1] = new AnimationInstruction(arg_2A9_0, new AnimInsEvent(arg_2A4_0, arg_2A4_1, p_afAlterableValues7)); AnimationInstruction[] arg_2E6_0 = array2; int arg_2E6_1 = 3; AnimInsCriteria arg_2E1_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 27f }); AnimInsEvent.EventType arg_2DC_0 = AnimInsEvent.EventType.PlaySound; string arg_2DC_1 = "Gardener_cut"; float[] p_afAlterableValues8 = new float[1]; arg_2E6_0[arg_2E6_1] = new AnimationInstruction(arg_2E1_0, new AnimInsEvent(arg_2DC_0, arg_2DC_1, p_afAlterableValues8)); arg_2EE_0.Add(arg_2EE_1, new Animation(arg_2E9_0, arg_2E9_1, arg_2E9_2, arg_2E9_3, arg_2E9_4, arg_2E9_5, arg_2E9_6, arg_2E9_7, arg_2E9_8, arg_2E9_9, arg_2E9_10, arg_2E9_11, arg_2E9_12, arg_2E9_13, arg_2E9_14, array2)); xEn.xRenderComponent.dixAnimations[1].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(25, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; } else if (enType == NPCCodex.NPCTypes.Evergrind_Carpenter) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Carpenter/Idle/Right"), new Vector2(12f, 32f), 4, 1, 24, 36, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 150f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); Dictionary<ushort, Animation> arg_500_0 = xEn.xRenderComponent.dixAnimations; ushort arg_500_1 = 1; ushort arg_4FB_0 = 1; byte arg_4FB_1 = 2; Texture2D arg_4FB_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind/Carpenter/Flavor/Kick"); Vector2 arg_4FB_3 = new Vector2(12f, 33f); int arg_4FB_4 = 4; int arg_4FB_5 = 12; int arg_4FB_6 = 25; int arg_4FB_7 = 38; int arg_4FB_8 = 0; int arg_4FB_9 = 0; int arg_4FB_10 = 100; Animation.LoopSettings arg_4FB_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_4FB_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_4FB_13 = true; bool arg_4FB_14 = true; AnimationInstruction[] array3 = new AnimationInstruction[1]; AnimationInstruction[] arg_4F8_0 = array3; int arg_4F8_1 = 0; AnimInsCriteria arg_4F3_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_4EE_0 = AnimInsEvent.EventType.PlayAnimation; float[] p_afAlterableValues9 = new float[1]; arg_4F8_0[arg_4F8_1] = new AnimationInstruction(arg_4F3_0, new AnimInsEvent(arg_4EE_0, p_afAlterableValues9)); arg_500_0.Add(arg_500_1, new Animation(arg_4FB_0, arg_4FB_1, arg_4FB_2, arg_4FB_3, arg_4FB_4, arg_4FB_5, arg_4FB_6, arg_4FB_7, arg_4FB_8, arg_4FB_9, arg_4FB_10, arg_4FB_11, arg_4FB_12, arg_4FB_13, arg_4FB_14, array3)); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Carpenter/Idle/Right"), new Vector2(12f, 32f), 4, 1, 24, 36, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Carpenter/Flavor/Chop"), new Vector2(24f, 79f), 4, 17, 89, 92, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 3f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(25, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; } else if (enType == NPCCodex.NPCTypes.Evergrind_Griddle) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; Dictionary<ushort, Animation> arg_750_0 = xEn.xRenderComponent.dixAnimations; ushort arg_750_1 = 0; ushort arg_74B_0 = 0; byte arg_74B_1 = 0; Texture2D arg_74B_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind/Griddle/Idle"); Vector2 arg_74B_3 = new Vector2(11f, 27f); int arg_74B_4 = 4; int arg_74B_5 = 1; int arg_74B_6 = 22; int arg_74B_7 = 32; int arg_74B_8 = 0; int arg_74B_9 = 0; int arg_74B_10 = 100; Animation.LoopSettings arg_74B_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_74B_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_74B_13 = true; bool arg_74B_14 = true; AnimationInstruction[] array4 = new AnimationInstruction[2]; AnimationInstruction[] arg_71A_0 = array4; int arg_71A_1 = 0; AnimInsCriteria arg_715_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }); AnimInsEvent.EventType arg_710_0 = AnimInsEvent.EventType.FreezeFrame; float[] array5 = new float[2]; array5[0] = 180f; arg_71A_0[arg_71A_1] = new AnimationInstruction(arg_715_0, new AnimInsEvent(arg_710_0, array5)); array4[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })); arg_750_0.Add(arg_750_1, new Animation(arg_74B_0, arg_74B_1, arg_74B_2, arg_74B_3, arg_74B_4, arg_74B_5, arg_74B_6, arg_74B_7, arg_74B_8, arg_74B_9, arg_74B_10, arg_74B_11, arg_74B_12, arg_74B_13, arg_74B_14, array4)); Dictionary<ushort, Animation> arg_7FE_0 = xEn.xRenderComponent.dixAnimations; ushort arg_7FE_1 = 1; ushort arg_7F9_0 = 1; byte arg_7F9_1 = 0; Texture2D arg_7F9_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind/Griddle/Shuffle"); Vector2 arg_7F9_3 = new Vector2(11f, 27f); int arg_7F9_4 = 4; int arg_7F9_5 = 25; int arg_7F9_6 = 22; int arg_7F9_7 = 32; int arg_7F9_8 = 0; int arg_7F9_9 = 0; int arg_7F9_10 = 100; Animation.LoopSettings arg_7F9_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_7F9_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_7F9_13 = true; bool arg_7F9_14 = true; AnimationInstruction[] array6 = new AnimationInstruction[2]; AnimationInstruction[] arg_7D1_0 = array6; int arg_7D1_1 = 0; AnimInsCriteria arg_7CC_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }); AnimInsEvent.EventType arg_7C7_0 = AnimInsEvent.EventType.PlaySound; string arg_7C7_1 = "Card_shuffling"; float[] p_afAlterableValues10 = new float[1]; arg_7D1_0[arg_7D1_1] = new AnimationInstruction(arg_7CC_0, new AnimInsEvent(arg_7C7_0, arg_7C7_1, p_afAlterableValues10)); AnimationInstruction[] arg_7F6_0 = array6; int arg_7F6_1 = 1; AnimInsCriteria arg_7F1_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_7EC_0 = AnimInsEvent.EventType.PlayAnimation; float[] p_afAlterableValues11 = new float[1]; arg_7F6_0[arg_7F6_1] = new AnimationInstruction(arg_7F1_0, new AnimInsEvent(arg_7EC_0, p_afAlterableValues11)); arg_7FE_0.Add(arg_7FE_1, new Animation(arg_7F9_0, arg_7F9_1, arg_7F9_2, arg_7F9_3, arg_7F9_4, arg_7F9_5, arg_7F9_6, arg_7F9_7, arg_7F9_8, arg_7F9_9, arg_7F9_10, arg_7F9_11, arg_7F9_12, arg_7F9_13, arg_7F9_14, array6)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(25, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; } else if (enType == NPCCodex.NPCTypes.Evergrind_Smithy) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; Dictionary<ushort, Animation> arg_952_0 = xEn.xRenderComponent.dixAnimations; ushort arg_952_1 = 0; ushort arg_94D_0 = 0; byte arg_94D_1 = 0; Texture2D arg_94D_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind/Smithy/Idle"); Vector2 arg_94D_3 = new Vector2(25f, 38f); int arg_94D_4 = 5; int arg_94D_5 = 10; int arg_94D_6 = 48; int arg_94D_7 = 48; int arg_94D_8 = 0; int arg_94D_9 = 0; int arg_94D_10 = 100; Animation.LoopSettings arg_94D_11 = Animation.LoopSettings.Looping; Animation.CancelOptions arg_94D_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_94D_13 = true; bool arg_94D_14 = true; AnimationInstruction[] array7 = new AnimationInstruction[1]; AnimationInstruction[] arg_94A_0 = array7; int arg_94A_1 = 0; AnimInsCriteria arg_945_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 8f }); AnimInsEvent.EventType arg_940_0 = AnimInsEvent.EventType.PlaySound; string arg_940_1 = "Blacksmith_hammering"; float[] p_afAlterableValues12 = new float[1]; arg_94A_0[arg_94A_1] = new AnimationInstruction(arg_945_0, new AnimInsEvent(arg_940_0, arg_940_1, p_afAlterableValues12)); arg_952_0.Add(arg_952_1, new Animation(arg_94D_0, arg_94D_1, arg_94D_2, arg_94D_3, arg_94D_4, arg_94D_5, arg_94D_6, arg_94D_7, arg_94D_8, arg_94D_9, arg_94D_10, arg_94D_11, arg_94D_12, arg_94D_13, arg_94D_14, array7)); Dictionary<ushort, Animation> arg_9C8_0 = xEn.xRenderComponent.dixAnimations; ushort arg_9C8_1 = 1; ushort arg_9C3_0 = 1; byte arg_9C3_1 = 0; Texture2D arg_9C3_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind/Griddle/Shuffle"); Vector2 arg_9C3_3 = new Vector2(11f, 27f); int arg_9C3_4 = 4; int arg_9C3_5 = 25; int arg_9C3_6 = 22; int arg_9C3_7 = 32; int arg_9C3_8 = 0; int arg_9C3_9 = 0; int arg_9C3_10 = 100; Animation.LoopSettings arg_9C3_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_9C3_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_9C3_13 = true; bool arg_9C3_14 = true; AnimationInstruction[] array8 = new AnimationInstruction[1]; AnimationInstruction[] arg_9C0_0 = array8; int arg_9C0_1 = 0; AnimInsCriteria arg_9BB_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_9B6_0 = AnimInsEvent.EventType.PlayAnimation; float[] p_afAlterableValues13 = new float[1]; arg_9C0_0[arg_9C0_1] = new AnimationInstruction(arg_9BB_0, new AnimInsEvent(arg_9B6_0, p_afAlterableValues13)); arg_9C8_0.Add(arg_9C8_1, new Animation(arg_9C3_0, arg_9C3_1, arg_9C3_2, arg_9C3_3, arg_9C3_4, arg_9C3_5, arg_9C3_6, arg_9C3_7, arg_9C3_8, arg_9C3_9, arg_9C3_10, arg_9C3_11, arg_9C3_12, arg_9C3_13, arg_9C3_14, array8)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(25, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; } else if (enType == NPCCodex.NPCTypes.Evergrind_OldLady) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; Dictionary<ushort, Animation> arg_B4D_0 = xEn.xRenderComponent.dixAnimations; ushort arg_B4D_1 = 0; ushort arg_B48_0 = 0; byte arg_B48_1 = 0; Texture2D arg_B48_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind/Granny/Idle"); Vector2 arg_B48_3 = new Vector2(9f, 32f); int arg_B48_4 = 4; int arg_B48_5 = 1; int arg_B48_6 = 20; int arg_B48_7 = 53; int arg_B48_8 = 0; int arg_B48_9 = 0; int arg_B48_10 = 100; Animation.LoopSettings arg_B48_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_B48_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_B48_13 = true; bool arg_B48_14 = true; AnimationInstruction[] array9 = new AnimationInstruction[2]; AnimationInstruction[] arg_B17_0 = array9; int arg_B17_1 = 0; AnimInsCriteria arg_B12_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }); AnimInsEvent.EventType arg_B0D_0 = AnimInsEvent.EventType.FreezeFrame; float[] array10 = new float[2]; array10[0] = 150f; arg_B17_0[arg_B17_1] = new AnimationInstruction(arg_B12_0, new AnimInsEvent(arg_B0D_0, array10)); array9[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })); arg_B4D_0.Add(arg_B4D_1, new Animation(arg_B48_0, arg_B48_1, arg_B48_2, arg_B48_3, arg_B48_4, arg_B48_5, arg_B48_6, arg_B48_7, arg_B48_8, arg_B48_9, arg_B48_10, arg_B48_11, arg_B48_12, arg_B48_13, arg_B48_14, array9)); Dictionary<ushort, Animation> arg_BC3_0 = xEn.xRenderComponent.dixAnimations; ushort arg_BC3_1 = 1; ushort arg_BBE_0 = 1; byte arg_BBE_1 = 0; Texture2D arg_BBE_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind/Granny/Seeds"); Vector2 arg_BBE_3 = new Vector2(9f, 32f); int arg_BBE_4 = 4; int arg_BBE_5 = 15; int arg_BBE_6 = 20; int arg_BBE_7 = 53; int arg_BBE_8 = 0; int arg_BBE_9 = 0; int arg_BBE_10 = 100; Animation.LoopSettings arg_BBE_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_BBE_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_BBE_13 = true; bool arg_BBE_14 = true; AnimationInstruction[] array11 = new AnimationInstruction[1]; AnimationInstruction[] arg_BBB_0 = array11; int arg_BBB_1 = 0; AnimInsCriteria arg_BB6_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_BB1_0 = AnimInsEvent.EventType.PlayAnimation; float[] p_afAlterableValues14 = new float[1]; arg_BBB_0[arg_BBB_1] = new AnimationInstruction(arg_BB6_0, new AnimInsEvent(arg_BB1_0, p_afAlterableValues14)); arg_BC3_0.Add(arg_BC3_1, new Animation(arg_BBE_0, arg_BBE_1, arg_BBE_2, arg_BBE_3, arg_BBE_4, arg_BBE_5, arg_BBE_6, arg_BBE_7, arg_BBE_8, arg_BBE_9, arg_BBE_10, arg_BBE_11, arg_BBE_12, arg_BBE_13, arg_BBE_14, array11)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(25, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; } else if (enType == NPCCodex.NPCTypes.Evergrind_Commentator) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Commentator/Idle/Up"), new Vector2(12f, 36f), 4, 1, 24, 40, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Commentator/Idle/Right"), new Vector2(12f, 38f), 4, 1, 24, 42, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Commentator/Idle/Down"), new Vector2(12f, 35f), 4, 1, 24, 38, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Commentator/Idle/Left"), new Vector2(12f, 38f), 4, 1, 24, 42, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Commentator/Walk/Up"), new Vector2(12f, 36f), 4, 8, 24, 40, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Commentator/Walk/Right"), new Vector2(12f, 38f), 4, 8, 24, 42, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Commentator/Walk/Down"), new Vector2(12f, 35f), 4, 8, 24, 38, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Commentator/Walk/Left"), new Vector2(12f, 38f), 4, 8, 24, 42, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(8, new Animation(8, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Commentator/Flavor/Welcome"), new Vector2(15f, 35f), 5, 19, 33, 38, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(9, new Animation(9, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Commentator/Flavor/Welcome"), new Vector2(15f, 35f), 5, 6, 33, 38, 627, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); Dictionary<ushort, Animation> arg_104E_0 = xEn.xRenderComponent.dixAnimations; ushort arg_104E_1 = 10; ushort arg_1049_0 = 10; byte arg_1049_1 = 2; Texture2D arg_1049_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind/Commentator/Flavor/ArenaWin"); Vector2 arg_1049_3 = new Vector2(25f, 34f); int arg_1049_4 = 6; int arg_1049_5 = 12; int arg_1049_6 = 37; int arg_1049_7 = 38; int arg_1049_8 = 0; int arg_1049_9 = 0; int arg_1049_10 = 100; Animation.LoopSettings arg_1049_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_1049_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_1049_13 = true; bool arg_1049_14 = true; AnimationInstruction[] array12 = new AnimationInstruction[1]; AnimationInstruction[] arg_1046_0 = array12; int arg_1046_1 = 0; AnimInsCriteria arg_1041_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 2f }); AnimInsEvent.EventType arg_103C_0 = AnimInsEvent.EventType.FreezeFrame; float[] array13 = new float[2]; array13[0] = 30f; arg_1046_0[arg_1046_1] = new AnimationInstruction(arg_1041_0, new AnimInsEvent(arg_103C_0, array13)); arg_104E_0.Add(arg_104E_1, new Animation(arg_1049_0, arg_1049_1, arg_1049_2, arg_1049_3, arg_1049_4, arg_1049_5, arg_1049_6, arg_1049_7, arg_1049_8, arg_1049_9, arg_1049_10, arg_1049_11, arg_1049_12, arg_1049_13, arg_1049_14, array12)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(25, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; } else if (enType == NPCCodex.NPCTypes.Evergrind_Receptionist) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Receptionist/Idle/Down"), new Vector2(18f, 22f), 4, 1, 36, 35, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Receptionist/Signup/Start"), new Vector2(18f, 22f), 4, 20, 36, 35, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Receptionist/Signup/Idle"), new Vector2(18f, 22f), 4, 1, 36, 35, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Dictionary<ushort, Animation> arg_12A6_0 = xEn.xRenderComponent.dixAnimations; ushort arg_12A6_1 = 3; ushort arg_12A1_0 = 3; byte arg_12A1_1 = 0; Texture2D arg_12A1_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind/Receptionist/Signup/Start"); Vector2 arg_12A1_3 = new Vector2(18f, 22f); int arg_12A1_4 = 4; int arg_12A1_5 = 20; int arg_12A1_6 = 36; int arg_12A1_7 = 35; int arg_12A1_8 = 0; int arg_12A1_9 = 0; int arg_12A1_10 = 100; Animation.LoopSettings arg_12A1_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_12A1_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_12A1_13 = true; bool arg_12A1_14 = true; AnimationInstruction[] array = new AnimationInstruction[1]; AnimationInstruction[] arg_129E_0 = array; int arg_129E_1 = 0; AnimInsCriteria arg_1299_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_1294_0 = AnimInsEvent.EventType.PlayAnimation; float[] array13 = new float[1]; arg_129E_0[arg_129E_1] = new AnimationInstruction(arg_1299_0, new AnimInsEvent(arg_1294_0, array13)); arg_12A6_0.Add(arg_12A6_1, new Animation(arg_12A1_0, arg_12A1_1, arg_12A1_2, arg_12A1_3, arg_12A1_4, arg_12A1_5, arg_12A1_6, arg_12A1_7, arg_12A1_8, arg_12A1_9, arg_12A1_10, arg_12A1_11, arg_12A1_12, arg_12A1_13, arg_12A1_14, array)); xEn.xRenderComponent.dixAnimations[3].bReversePlayback = true; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(25, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; } else if (enType >= NPCCodex.NPCTypes.Evergrind_Guard01 && enType <= NPCCodex.NPCTypes.Evergrind_Guard05) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Guard/Idle/Up"), new Vector2(11f, 39f), 4, 1, 22, 42, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Guard/Idle/Right"), new Vector2(10f, 36f), 4, 1, 21, 39, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Guard/Idle/Down"), new Vector2(11f, 38f), 4, 1, 22, 41, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Guard/Idle/Right"), new Vector2(12f, 36f), 4, 1, 21, 39, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Guard/Walk/Up"), new Vector2(11f, 37f), 4, 8, 22, 40, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Guard/Walk/Right"), new Vector2(10f, 36f), 4, 8, 21, 39, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Guard/Walk/Right"), new Vector2(12f, 36f), 4, 8, 21, 39, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Edward) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Edward/Idle/Up"), new Vector2(11f, 33f), 4, 1, 22, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Edward/Idle/Right"), new Vector2(12f, 32f), 4, 1, 22, 35, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Edward/Idle/Down"), new Vector2(10f, 32f), 4, 1, 20, 35, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Edward/Idle/Right"), new Vector2(11f, 32f), 4, 1, 22, 35, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Edward/Walk/Up"), new Vector2(11f, 32f), 4, 8, 22, 35, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Edward/Walk/Right"), new Vector2(12f, 32f), 4, 8, 22, 35, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Edward/Walk/Down"), new Vector2(10f, 32f), 4, 8, 20, 35, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Edward/Walk/Right"), new Vector2(11f, 32f), 4, 8, 22, 35, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Sally) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Sally/Idle/Up"), new Vector2(10f, 32f), 4, 1, 20, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Sally/Idle/Right"), new Vector2(10f, 32f), 4, 1, 19, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Sally/Idle/Down"), new Vector2(10f, 32f), 4, 1, 20, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Sally/Idle/Right"), new Vector2(9f, 32f), 4, 1, 19, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Sally/Walk/Up"), new Vector2(10f, 32f), 4, 8, 20, 36, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Sally/Walk/Right"), new Vector2(10f, 32f), 4, 8, 19, 36, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Sally/Walk/Right"), new Vector2(9f, 32f), 4, 8, 19, 36, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Anne) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Anne/Idle/Up"), new Vector2(10f, 34f), 4, 1, 21, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Anne/Idle/Right"), new Vector2(11f, 34f), 4, 1, 21, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Anne/Idle/Down"), new Vector2(10f, 34f), 4, 1, 21, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Anne/Idle/Right"), new Vector2(11f, 34f), 4, 1, 21, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Wyll) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, new Vector2(0f, 15f), xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Up"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Down"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Bella) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Bella/Idle/Up"), new Vector2(12f, 31f), 4, 1, 24, 33, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Bella/Idle/Right"), new Vector2(8f, 31f), 4, 1, 16, 33, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Bella/Idle/Down"), new Vector2(12f, 31f), 4, 1, 24, 33, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Bella/Idle/Right"), new Vector2(8f, 31f), 4, 1, 16, 33, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Hatter) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, new Vector2(0f, 15f), xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Hatty/Idle/Down"), new Vector2(11f, 32f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[0].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); } else if (enType == NPCCodex.NPCTypes.Evergrind_Emily) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Up"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Emily/Idle/Down"), new Vector2(13f, 34f), 4, 1, 24, 36, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 60f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 100f })) })); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(100, new Animation(100, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Emily/Flavor/Browse"), new Vector2(14f, 35f), 5, 37, 26, 39, 0, 0, 37, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Harry) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Up"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Harry/Idle/Down"), new Vector2(8f, 25f), 5, 1, 16, 28, 0, 0, 37, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(100, new Animation(100, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Harry/Flavor/Browse"), new Vector2(9f, 27f), 5, 1, 19, 30, 0, 0, 37, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 60f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 101f })) })); xEn.xRenderComponent.dixAnimations.Add(101, new Animation(101, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Harry/Flavor/Browse"), new Vector2(9f, 27f), 5, 37, 19, 30, 0, 0, 37, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 100f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Teacher) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Teacher/Idle/Down"), new Vector2(16f, 34f), 4, 15, 32, 38, 0, 0, 15, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Simon) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, new Vector2(0f, 15f), xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Up"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Simon/Idle/Down"), new Vector2(10f, 19f), 4, 1, 20, 24, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(15f, 34f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Stylist) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, new Vector2(0f, 15f), xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Up"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Stylist/Idle/Down"), new Vector2(8f, 19f), 4, 1, 16, 19, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 200f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 5f })) })); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(8f, 34f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Stylist/Hairflip/Down"), new Vector2(11f, 19f), 5, 16, 25, 19, 0, 0, 25, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_CityWitch) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, new Vector2(0f, 15f), xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Up"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fortune/Idle/Down"), new Vector2(10f, 19f), 4, 1, 20, 21, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(8f, 34f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Haddock) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, new Vector2(0f, 15f), xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Up"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fisherman/Idle/Down"), new Vector2(10f, 19f), 4, 1, 20, 19, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 200f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 100f })) })); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(8f, 34f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(100, new Animation(100, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fisherman/Flavor/Smoke"), new Vector2(11f, 23f), 4, 32, 22, 25, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_MasterJi) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Up"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(10f, 28f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wyll/Idle/Right"), new Vector2(8f, 34f), 4, 1, 21, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Master/Idle/Down"), new Vector2(13f, 28f), 4, 1, 26, 32, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 100f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 100f })) })); xEn.xRenderComponent.dixAnimations.Add(100, new Animation(100, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Master/Idle/Down"), new Vector2(13f, 28f), 4, 15, 26, 32, 0, 0, 15, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Ichi) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new NPC_Evergrind_Ichi(xEn); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Idle/Up"), new Vector2(10f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Idle/Right"), new Vector2(10f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Idle/Down"), new Vector2(10f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Idle/Right"), new Vector2(10f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/OnehandIdle/Up"), new Vector2(30f, 38f), 4, 1, 62, 40, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Dictionary<ushort, Animation> arg_3CF1_0 = xEn.xRenderComponent.dixAnimations; ushort arg_3CF1_1 = 5; ushort arg_3CEC_0 = 5; byte arg_3CEC_1 = 0; Texture2D arg_3CEC_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/OnehandAttack/Up"); Vector2 arg_3CEC_3 = new Vector2(30f, 38f); int arg_3CEC_4 = 4; int arg_3CEC_5 = 13; int arg_3CEC_6 = 62; int arg_3CEC_7 = 40; int arg_3CEC_8 = 0; int arg_3CEC_9 = 0; int arg_3CEC_10 = 13; Animation.LoopSettings arg_3CEC_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_3CEC_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_3CEC_13 = true; bool arg_3CEC_14 = true; AnimationInstruction[] array = new AnimationInstruction[2]; AnimationInstruction[] arg_3CBB_0 = array; int arg_3CBB_1 = 0; AnimInsCriteria arg_3CB6_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }); AnimInsEvent.EventType arg_3CB1_0 = AnimInsEvent.EventType.CallBackAnimation; float[] array13 = new float[1]; arg_3CBB_0[arg_3CBB_1] = new AnimationInstruction(arg_3CB6_0, new AnimInsEvent(arg_3CB1_0, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 4f })); arg_3CF1_0.Add(arg_3CF1_1, new Animation(arg_3CEC_0, arg_3CEC_1, arg_3CEC_2, arg_3CEC_3, arg_3CEC_4, arg_3CEC_5, arg_3CEC_6, arg_3CEC_7, arg_3CEC_8, arg_3CEC_9, arg_3CEC_10, arg_3CEC_11, arg_3CEC_12, arg_3CEC_13, arg_3CEC_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Ni) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Red/Idle/Up"), new Vector2(10f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Red/Idle/Right"), new Vector2(9f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Red/Idle/Down"), new Vector2(10f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Red/Idle/Right"), new Vector2(11f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_San) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new NPC_Evergrind_San(xEn); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Brown/Idle/Up"), new Vector2(10f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Brown/Idle/Right"), new Vector2(9f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Brown/Idle/Down"), new Vector2(10f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Brown/Idle/Right"), new Vector2(11f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_4238_0 = xEn.xRenderComponent.dixAnimations; ushort arg_4238_1 = 4; ushort arg_4233_0 = 4; byte arg_4233_1 = 0; Texture2D arg_4233_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Bow/Up"); Vector2 arg_4233_3 = new Vector2(12f, 30f); int arg_4233_4 = 4; int arg_4233_5 = 17; int arg_4233_6 = 24; int arg_4233_7 = 37; int arg_4233_8 = 0; int arg_4233_9 = 0; int arg_4233_10 = 17; Animation.LoopSettings arg_4233_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_4233_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_4233_13 = true; bool arg_4233_14 = true; AnimationInstruction[] array = new AnimationInstruction[4]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 160f })); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 20f })); AnimationInstruction[] arg_4202_0 = array; int arg_4202_1 = 2; AnimInsCriteria arg_41FD_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 10f }); AnimInsEvent.EventType arg_41F8_0 = AnimInsEvent.EventType.CallBackAnimation; float[] array13 = new float[1]; arg_4202_0[arg_4202_1] = new AnimationInstruction(arg_41FD_0, new AnimInsEvent(arg_41F8_0, array13)); array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 4f })); arg_4238_0.Add(arg_4238_1, new Animation(arg_4233_0, arg_4233_1, arg_4233_2, arg_4233_3, arg_4233_4, arg_4233_5, arg_4233_6, arg_4233_7, arg_4233_8, arg_4233_9, arg_4233_10, arg_4233_11, arg_4233_12, arg_4233_13, arg_4233_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Ryu) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Idle/Up"), new Vector2(10f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Idle/Right"), new Vector2(10f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Idle/Down"), new Vector2(10f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Fighter/Idle/Right"), new Vector2(10f, 30f), 4, 1, 20, 32, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_SchoolBoy_Tim) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Tim/Idle/Up"), new Vector2(9f, 27f), 4, 1, 18, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Tim/Idle/Right"), new Vector2(10f, 30f), 4, 1, 20, 31, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Tim/Idle/Down"), new Vector2(10f, 30f), 4, 1, 20, 31, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Tim/Idle/Right"), new Vector2(10f, 30f), 4, 1, 20, 31, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_SchoolBoy_Nicodemus) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Nicodemus/Idle/Up"), new Vector2(9f, 28f), 4, 1, 18, 31, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Nicodemus/Idle/Right"), new Vector2(10f, 28f), 4, 1, 20, 31, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Nicodemus/Idle/Down"), new Vector2(9f, 28f), 4, 1, 20, 31, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Nicodemus/Idle/Right"), new Vector2(11f, 28f), 4, 1, 18, 31, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_SchoolGirl_Albertina) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Albertina/Idle/Up"), new Vector2(9f, 27f), 4, 1, 18, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Albertina/Idle/Right"), new Vector2(9f, 27f), 4, 1, 17, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Albertina/Idle/Down"), new Vector2(9f, 27f), 4, 1, 17, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Albertina/Idle/Right"), new Vector2(9f, 27f), 4, 1, 18, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_SchoolGirl_Pernilla) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Up"), new Vector2(10f, 27f), 4, 1, 20, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Right"), new Vector2(10f, 27f), 4, 1, 19, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Down"), new Vector2(10f, 27f), 4, 1, 19, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Right"), new Vector2(9f, 27f), 4, 1, 20, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Silvia) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Up"), new Vector2(10f, 27f), 4, 1, 20, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Right"), new Vector2(10f, 27f), 4, 1, 19, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Down"), new Vector2(10f, 27f), 4, 1, 19, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Right"), new Vector2(9f, 27f), 4, 1, 20, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/MamaSnobb/Idle/Left"), new Vector2(15f, 31f), 4, 1, 27, 35, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 200f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 5f })) })); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/MamaSnobb/Drink/Left"), new Vector2(15f, 31f), 5, 24, 27, 35, 0, 0, 24, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 12f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 1f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 13f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 50f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 4f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Madeleine) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Up"), new Vector2(10f, 27f), 4, 1, 20, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Right"), new Vector2(10f, 27f), 4, 1, 19, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Down"), new Vector2(10f, 27f), 4, 1, 19, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Right"), new Vector2(9f, 27f), 4, 1, 20, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/DaughterSnobb/Idle/Down"), new Vector2(10f, 27f), 4, 1, 20, 27, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Alchemist) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, new Vector2(0f, 10f), xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.xBaseStats.iHP = (xEn.xBaseStats.iBaseMaxHP = 500); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.bAutoSwitchToHitAnimation = false; xEn.aiHitAnimation[0] = 4; xEn.aiHitAnimation[1] = 5; xEn.aiHitAnimation[2] = 6; xEn.aiHitAnimation[3] = 7; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Up"), new Vector2(10f, 27f), 4, 1, 20, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Right"), new Vector2(10f, 27f), 4, 1, 19, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/Idle/Down"), new Vector2(13f, 20f), 4, 1, 26, 21, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Right"), new Vector2(9f, 27f), 4, 1, 20, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/Idle2/Up"), new Vector2(13f, 30f), 4, 1, 26, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/Idle2/Right"), new Vector2(12f, 30f), 4, 1, 22, 33, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/Idle2/Down"), new Vector2(13f, 30f), 4, 1, 26, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/Idle2/Right"), new Vector2(10f, 30f), 4, 1, 22, 33, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(8, new Animation(8, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/Walk/Up"), new Vector2(13f, 31f), 4, 8, 26, 34, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(9, new Animation(9, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/Walk/Right"), new Vector2(12f, 30f), 4, 8, 22, 33, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(10, new Animation(10, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/Walk/Down"), new Vector2(13f, 31f), 4, 8, 26, 34, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(11, new Animation(11, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/Walk/Right"), new Vector2(10f, 30f), 4, 8, 22, 33, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[11].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(12, new Animation(12, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/Damage/Up"), new Vector2(15f, 30f), 4, 4, 30, 34, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, false, false, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 2f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 20f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 4f })) })); xEn.xRenderComponent.dixAnimations.Add(13, new Animation(13, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/Damage/Right"), new Vector2(15f, 31f), 4, 4, 29, 35, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, false, false, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 2f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 20f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 5f })) })); xEn.xRenderComponent.dixAnimations.Add(14, new Animation(14, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/Damage/Down"), new Vector2(15f, 31f), 4, 4, 30, 34, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, false, false, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 2f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 20f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 6f })) })); xEn.xRenderComponent.dixAnimations.Add(15, new Animation(15, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/Damage/Right"), new Vector2(14f, 31f), 4, 4, 29, 35, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, false, false, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 2f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 20f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 7f })) })); xEn.xRenderComponent.dixAnimations[15].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(16, new Animation(16, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/PickHerbs/Sit"), new Vector2(13f, 30f), 4, 4, 26, 34, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, false, false, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 17f })) })); xEn.xRenderComponent.dixAnimations.Add(17, new Animation(17, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/PickHerbs/Pick"), new Vector2(13f, 30f), 8, 4, 26, 34, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, false, false, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(18, new Animation(18, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/PickHerbs/Stand"), new Vector2(13f, 30f), 4, 4, 26, 34, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, false, false, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 4f })) })); xEn.xRenderComponent.dixAnimations.Add(19, new Animation(19, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/PickHerbs/Damage"), new Vector2(13f, 30f), 4, 4, 26, 34, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, false, false, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 2f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 20f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 17f })) })); xEn.xRenderComponent.dixAnimations.Add(20, new Animation(20, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Remedi/Angry/Down"), new Vector2(15f, 30f), 4, 19, 30, 34, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, false, false, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 17f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 40f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 6f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider = new SphereCollider(10f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.xMovementCollider.bIsActive = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Bartender) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(40f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Up"), new Vector2(10f, 27f), 4, 1, 20, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Right"), new Vector2(10f, 27f), 4, 1, 19, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/PapaGrinden/Idle/Down"), new Vector2(12f, 38f), 4, 1, 24, 38, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Pernilla/Idle/Right"), new Vector2(9f, 27f), 4, 1, 20, 30, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Loretta) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Loretta/Idle/Up"), new Vector2(17f, 33f), 4, 1, 30, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Loretta/Idle/Right"), new Vector2(10f, 33f), 4, 1, 19, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Loretta/Idle/Down"), new Vector2(14f, 33f), 4, 1, 30, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Loretta/Idle/Right"), new Vector2(9f, 33f), 4, 1, 19, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Smugface) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Papa Smugface/Idle/Up"), new Vector2(9f, 32f), 4, 1, 18, 35, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Papa Smugface/Idle/Right"), new Vector2(9f, 32f), 4, 1, 18, 35, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Papa Smugface/Idle/Down"), new Vector2(9f, 32f), 4, 1, 18, 35, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Papa Smugface/Idle/Right"), new Vector2(9f, 32f), 4, 1, 18, 35, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_MysteryDude) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(40f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.iActiveAnimation = 2; xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Merchant/Flavor/Look"), new Vector2(12f, 27f), 4, 1, 24, 33, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 200f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 100f })) })); xEn.xRenderComponent.dixAnimations.Add(100, new Animation(100, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Merchant/Flavor/Look"), new Vector2(12f, 27f), 4, 26, 24, 33, 0, 0, 26, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 20f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 12f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 20f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Hipster) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, new Vector2(0f, 15f), xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.iActiveAnimation = 2; xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Hipster/Idle/Down"), new Vector2(15f, 36f), 4, 1, 27, 40, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 150f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 100f })) })); xEn.xRenderComponent.dixAnimations.Add(100, new Animation(100, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Hipster/Flavor/Throw"), new Vector2(15f, 36f), 4, 17, 27, 40, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_RedheadGuy) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Redhead/Idle/Up"), new Vector2(10f, 31f), 4, 1, 20, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Redhead/Idle/Right"), new Vector2(9f, 31f), 4, 1, 19, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Redhead/Idle/Down"), new Vector2(10f, 31f), 4, 1, 20, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Redhead/Idle/Right"), new Vector2(10f, 31f), 4, 1, 19, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_ReadingGirl) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; Dictionary<ushort, Animation> arg_6D99_0 = xEn.xRenderComponent.dixAnimations; ushort arg_6D99_1 = 0; ushort arg_6D94_0 = 0; byte arg_6D94_1 = 2; Texture2D arg_6D94_2 = Content.Load<Texture2D>(NPC_PATH + "HQ/Reading/Idle"); Vector2 arg_6D94_3 = new Vector2(11f, 24f); int arg_6D94_4 = 4; int arg_6D94_5 = 20; int arg_6D94_6 = 22; int arg_6D94_7 = 33; int arg_6D94_8 = 0; int arg_6D94_9 = 0; int arg_6D94_10 = 20; Animation.LoopSettings arg_6D94_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_6D94_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_6D94_13 = true; bool arg_6D94_14 = true; AnimationInstruction[] array = new AnimationInstruction[5]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 45f })); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 4f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 30f })); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 45f })); array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 12f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 37f })); AnimationInstruction[] arg_6D91_0 = array; int arg_6D91_1 = 4; AnimInsCriteria arg_6D8C_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_6D87_0 = AnimInsEvent.EventType.PlayAnimation; float[] array13 = new float[1]; arg_6D91_0[arg_6D91_1] = new AnimationInstruction(arg_6D8C_0, new AnimInsEvent(arg_6D87_0, array13)); arg_6D99_0.Add(arg_6D99_1, new Animation(arg_6D94_0, arg_6D94_1, arg_6D94_2, arg_6D94_3, arg_6D94_4, arg_6D94_5, arg_6D94_6, arg_6D94_7, arg_6D94_8, arg_6D94_9, arg_6D94_10, arg_6D94_11, arg_6D94_12, arg_6D94_13, arg_6D94_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_LedgeDude) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; Dictionary<ushort, Animation> arg_6FD2_0 = xEn.xRenderComponent.dixAnimations; ushort arg_6FD2_1 = 0; ushort arg_6FCD_0 = 0; byte arg_6FCD_1 = 2; Texture2D arg_6FCD_2 = Content.Load<Texture2D>(NPC_PATH + "HQ/Ledge/Idle"); Vector2 arg_6FCD_3 = new Vector2(10f, 31f); int arg_6FCD_4 = 5; int arg_6FCD_5 = 8; int arg_6FCD_6 = 20; int arg_6FCD_7 = 35; int arg_6FCD_8 = 0; int arg_6FCD_9 = 0; int arg_6FCD_10 = 20; Animation.LoopSettings arg_6FCD_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_6FCD_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_6FCD_13 = true; bool arg_6FCD_14 = true; AnimationInstruction[] array = new AnimationInstruction[4]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 3f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 30f })); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 60f })); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 30f })); AnimationInstruction[] arg_6FCA_0 = array; int arg_6FCA_1 = 3; AnimInsCriteria arg_6FC5_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_6FC0_0 = AnimInsEvent.EventType.PlayAnimation; float[] array13 = new float[1]; arg_6FCA_0[arg_6FCA_1] = new AnimationInstruction(arg_6FC5_0, new AnimInsEvent(arg_6FC0_0, array13)); arg_6FD2_0.Add(arg_6FD2_1, new Animation(arg_6FCD_0, arg_6FCD_1, arg_6FCD_2, arg_6FCD_3, arg_6FCD_4, arg_6FCD_5, arg_6FCD_6, arg_6FCD_7, arg_6FCD_8, arg_6FCD_9, arg_6FCD_10, arg_6FCD_11, arg_6FCD_12, arg_6FCD_13, arg_6FCD_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(26, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_FilePerson) { xEn.bIsInteractable = false; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1.5f; xEn.enType = enType; xEn.xBehaviour = new NPC_Collector_PaperDude(xEn); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, Content.Load<Texture2D>(NPC_PATH + "HQ/File/FileA"), new Vector2(12f, 33f), 4, 8, 22, 37, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 3, Content.Load<Texture2D>(NPC_PATH + "HQ/File/FileA"), new Vector2(12f, 33f), 4, 8, 22, 37, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[1].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 1, Content.Load<Texture2D>(NPC_PATH + "HQ/File/FileB"), new Vector2(12f, 33f), 4, 8, 22, 37, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "HQ/File/FileB"), new Vector2(12f, 33f), 4, 8, 22, 37, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); } else if (enType == NPCCodex.NPCTypes.Evergrind_CartPerson) { xEn.bIsInteractable = false; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1.5f; xEn.enType = enType; xEn.xBehaviour = new NPC_Collector_CartDude(xEn); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, Content.Load<Texture2D>(NPC_PATH + "HQ/Cart/CartA"), new Vector2(16f, 33f), 4, 8, 56, 39, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 3, Content.Load<Texture2D>(NPC_PATH + "HQ/Cart/CartA"), new Vector2(40f, 33f), 4, 8, 56, 39, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[1].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 1, Content.Load<Texture2D>(NPC_PATH + "HQ/Cart/CartB"), new Vector2(16f, 33f), 4, 8, 56, 39, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "HQ/Cart/CartB"), new Vector2(40f, 33f), 4, 8, 56, 39, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 1, Content.Load<Texture2D>(NPC_PATH + "HQ/Cart/CartC"), new Vector2(16f, 33f), 4, 8, 56, 39, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 3, Content.Load<Texture2D>(NPC_PATH + "HQ/Cart/CartC"), new Vector2(40f, 33f), 4, 8, 56, 39, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[5].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); } else if (enType == NPCCodex.NPCTypes.Evergrind_StoneCutter) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Stonecutter/Idle"), new Vector2(19f, 37f), 4, 11, 43, 41, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Stonecutter/IdleDone"), new Vector2(19f, 37f), 4, 12, 36, 42, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 120f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(26, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Scientist_Bob) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "HQ/Scientist/Bob/Idle/Up"), new Vector2(12f, 33f), 4, 1, 23, 36, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "HQ/Scientist/Bob/Idle/Right"), new Vector2(11f, 33f), 4, 1, 22, 36, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "HQ/Scientist/Bob/Idle/Down"), new Vector2(12f, 33f), 4, 1, 23, 36, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "HQ/Scientist/Bob/Idle/Right"), new Vector2(11f, 33f), 4, 1, 22, 36, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "HQ/Scientist/Bob/Walk/Right"), new Vector2(11f, 33f), 4, 8, 22, 36, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "HQ/Scientist/Bob/Walk/Right"), new Vector2(11f, 33f), 4, 8, 22, 36, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Scientist_Chemist) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; Dictionary<ushort, Animation> arg_7BA7_0 = xEn.xRenderComponent.dixAnimations; ushort arg_7BA7_1 = 0; ushort arg_7BA2_0 = 0; byte arg_7BA2_1 = 0; Texture2D arg_7BA2_2 = Content.Load<Texture2D>(NPC_PATH + "HQ/Scientist/Chemist/Down"); Vector2 arg_7BA2_3 = new Vector2(16f, 51f); int arg_7BA2_4 = 4; int arg_7BA2_5 = 27; int arg_7BA2_6 = 35; int arg_7BA2_7 = 55; int arg_7BA2_8 = 0; int arg_7BA2_9 = 0; int arg_7BA2_10 = 27; Animation.LoopSettings arg_7BA2_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_7BA2_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_7BA2_13 = true; bool arg_7BA2_14 = true; AnimationInstruction[] array = new AnimationInstruction[2]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 120f })); AnimationInstruction[] arg_7B9F_0 = array; int arg_7B9F_1 = 1; AnimInsCriteria arg_7B9A_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_7B95_0 = AnimInsEvent.EventType.PlayAnimation; float[] array13 = new float[1]; arg_7B9F_0[arg_7B9F_1] = new AnimationInstruction(arg_7B9A_0, new AnimInsEvent(arg_7B95_0, array13)); arg_7BA7_0.Add(arg_7BA7_1, new Animation(arg_7BA2_0, arg_7BA2_1, arg_7BA2_2, arg_7BA2_3, arg_7BA2_4, arg_7BA2_5, arg_7BA2_6, arg_7BA2_7, arg_7BA2_8, arg_7BA2_9, arg_7BA2_10, arg_7BA2_11, arg_7BA2_12, arg_7BA2_13, arg_7BA2_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Scientist_Document) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "HQ/Scientist/Document/Read"), new Vector2(16f, 33f), 4, 13, 32, 37, 0, 0, 27, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 4f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 30f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 10f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 30f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); Dictionary<ushort, Animation> arg_7E24_0 = xEn.xRenderComponent.dixAnimations; ushort arg_7E24_1 = 1; ushort arg_7E1F_0 = 1; byte arg_7E1F_1 = 0; Texture2D arg_7E1F_2 = Content.Load<Texture2D>(NPC_PATH + "HQ/Scientist/Document/Roll"); Vector2 arg_7E1F_3 = new Vector2(16f, 33f); int arg_7E1F_4 = 4; int arg_7E1F_5 = 14; int arg_7E1F_6 = 32; int arg_7E1F_7 = 37; int arg_7E1F_8 = 0; int arg_7E1F_9 = 0; int arg_7E1F_10 = 27; Animation.LoopSettings arg_7E1F_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_7E1F_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_7E1F_13 = true; bool arg_7E1F_14 = true; AnimationInstruction[] array = new AnimationInstruction[1]; AnimationInstruction[] arg_7E1C_0 = array; int arg_7E1C_1 = 0; AnimInsCriteria arg_7E17_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_7E12_0 = AnimInsEvent.EventType.PlayAnimation; float[] array13 = new float[1]; arg_7E1C_0[arg_7E1C_1] = new AnimationInstruction(arg_7E17_0, new AnimInsEvent(arg_7E12_0, array13)); arg_7E24_0.Add(arg_7E24_1, new Animation(arg_7E1F_0, arg_7E1F_1, arg_7E1F_2, arg_7E1F_3, arg_7E1F_4, arg_7E1F_5, arg_7E1F_6, arg_7E1F_7, arg_7E1F_8, arg_7E1F_9, arg_7E1F_10, arg_7E1F_11, arg_7E1F_12, arg_7E1F_13, arg_7E1F_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Evergrind_Scientist_Pad) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "HQ/Scientist/Pad/Blink"), new Vector2(18f, 40f), 4, 4, 38, 44, 0, 0, 27, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 60f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(NPC_PATH + "HQ/Scientist/Pad/Blink"), new Vector2(18f, 40f), 4, 4, 38, 44, 0, 0, 27, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 5f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 4f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 30f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); Dictionary<ushort, Animation> arg_815A_0 = xEn.xRenderComponent.dixAnimations; ushort arg_815A_1 = 2; ushort arg_8155_0 = 2; byte arg_8155_1 = 0; Texture2D arg_8155_2 = Content.Load<Texture2D>(NPC_PATH + "HQ/Scientist/Pad/Write"); Vector2 arg_8155_3 = new Vector2(18f, 40f); int arg_8155_4 = 4; int arg_8155_5 = 22; int arg_8155_6 = 38; int arg_8155_7 = 44; int arg_8155_8 = 0; int arg_8155_9 = 0; int arg_8155_10 = 27; Animation.LoopSettings arg_8155_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_8155_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_8155_13 = true; bool arg_8155_14 = true; AnimationInstruction[] array = new AnimationInstruction[1]; AnimationInstruction[] arg_8152_0 = array; int arg_8152_1 = 0; AnimInsCriteria arg_814D_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_8148_0 = AnimInsEvent.EventType.PlayAnimation; float[] array13 = new float[1]; arg_8152_0[arg_8152_1] = new AnimationInstruction(arg_814D_0, new AnimInsEvent(arg_8148_0, array13)); arg_815A_0.Add(arg_815A_1, new Animation(arg_8155_0, arg_8155_1, arg_8155_2, arg_8155_3, arg_8155_4, arg_8155_5, arg_8155_6, arg_8155_7, arg_8155_8, arg_8155_9, arg_8155_10, arg_8155_11, arg_8155_12, arg_8155_13, arg_8155_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } } else if (enType == NPCCodex.NPCTypes.Father) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa New/Idle/Up"), new Vector2(10f, 34f), 4, 1, 20, 38, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa New/Idle/Right"), new Vector2(11f, 34f), 4, 1, 22, 37, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa New/Idle/Down"), new Vector2(11f, 34f), 4, 1, 21, 38, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa New/Idle/Left"), new Vector2(11f, 34f), 4, 1, 22, 37, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa New/Walk/Up"), new Vector2(10f, 34f), 4, 8, 20, 38, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa New/Walk/Right"), new Vector2(10f, 34f), 4, 8, 20, 37, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa New/Walk/Down"), new Vector2(11f, 34f), 4, 8, 21, 38, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa New/Walk/Left"), new Vector2(10f, 34f), 4, 8, 20, 37, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(8, new Animation(8, 2, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa New/Laugh/Down"), new Vector2(10f, 35f), 8, 17, 20, 38, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.FakeFather) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa/Idle/Up"), new Vector2(9f, 32f), 4, 1, 18, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa/Idle/Right"), new Vector2(10f, 32f), 4, 1, 18, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa/Idle/Down"), new Vector2(9f, 32f), 4, 1, 18, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa/Idle/Left"), new Vector2(9f, 32f), 4, 1, 18, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa/Walk/Up"), new Vector2(9f, 32f), 4, 9, 18, 34, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa/Walk/Right"), new Vector2(9f, 31f), 4, 10, 20, 34, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa/Walk/Down"), new Vector2(9f, 32f), 4, 10, 18, 34, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa/Walk/Left"), new Vector2(9f, 31f), 4, 10, 20, 34, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(8, new Animation(8, 2, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa/Laugh/Down"), new Vector2(9f, 32f), 8, 17, 18, 34, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); xEn.xRenderComponent.dixAnimations.Add(9, new Animation(9, 2, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Papa/Wipe/Down"), new Vector2(9f, 32f), 8, 35, 18, 34, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Slimy) { xEn.bDontAutoKillAt0HP = true; xEn.xBaseStats.iBaseATK = -4; xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new NPC_Slimy(xEn); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xBaseStats.bCanBeKnockedUp = true; xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xRenderComponent.bReSortHeight = true; string MONSTER_PATH = "Sprites/Monster/"; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(MONSTER_PATH + "Pillar Mountains/Slime/Idle/Up"), new Vector2(14f, 14f), 4, 8, 25, 18, 0, 0, 8, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(MONSTER_PATH + "Pillar Mountains/Slime/Run/Up"), new Vector2(14f, 19f), 4, 8, 25, 23, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 9f + (float)new Random().NextDouble(), xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.MrBag) { xEn.bIsInteractable = false; xEn.bLookAtPlayerAtInteraction = false; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Bag/Idle/Up"), new Vector2(9f, 16f), 4, 1, 17, 20, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Bag/Idle/Right"), new Vector2(10f, 18f), 4, 1, 18, 22, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Bag/Idle/Down"), new Vector2(10f, 17f), 4, 1, 18, 21, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Bag/Idle/Left"), new Vector2(9f, 18f), 4, 1, 18, 22, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Bag/Walk/Up"), new Vector2(9f, 16f), 4, 9, 17, 20, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "Bag/Walk/Right"), new Vector2(9f, 18f), 4, 9, 18, 22, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "Bag/Walk/Down"), new Vector2(10f, 17f), 4, 9, 18, 21, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "Bag/Walk/Left"), new Vector2(9f, 18f), 4, 9, 18, 22, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Dictionary<ushort, Animation> arg_8F37_0 = xEn.xRenderComponent.dixAnimations; ushort arg_8F37_1 = 10; ushort arg_8F32_0 = 10; byte arg_8F32_1 = 2; Texture2D arg_8F32_2 = Content.Load<Texture2D>(NPC_PATH + "Bag/Appear/Down"); Vector2 arg_8F32_3 = new Vector2(10f, 21f); int arg_8F32_4 = 4; int arg_8F32_5 = 17; int arg_8F32_6 = 19; int arg_8F32_7 = 24; int arg_8F32_8 = 0; int arg_8F32_9 = 0; int arg_8F32_10 = 17; Animation.LoopSettings arg_8F32_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_8F32_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_8F32_13 = true; bool arg_8F32_14 = true; AnimationInstruction[] array = new AnimationInstruction[2]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })); AnimationInstruction[] arg_8F2F_0 = array; int arg_8F2F_1 = 1; AnimInsCriteria arg_8F2A_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFramesXtoY, new float[] { 1f, 6f }); AnimInsEvent.EventType arg_8F25_0 = AnimInsEvent.EventType.AddSmoothPush; float[] array13 = new float[2]; array13[0] = 5f; arg_8F2F_0[arg_8F2F_1] = new AnimationInstruction(arg_8F2A_0, new AnimInsEvent(arg_8F25_0, array13)); arg_8F37_0.Add(arg_8F37_1, new Animation(arg_8F32_0, arg_8F32_1, arg_8F32_2, arg_8F32_3, arg_8F32_4, arg_8F32_5, arg_8F32_6, arg_8F32_7, arg_8F32_8, arg_8F32_9, arg_8F32_10, arg_8F32_11, arg_8F32_12, arg_8F32_13, arg_8F32_14, array)); xEn.xRenderComponent.dixAnimations.Add(12, new Animation(12, 1, Content.Load<Texture2D>(NPC_PATH + "Bag/Turn/Right"), new Vector2(11f, 14f), 5, 3, 21, 18, 0, 0, 18, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); xEn.xRenderComponent.dixAnimations.Add(13, new Animation(13, 3, Content.Load<Texture2D>(NPC_PATH + "Bag/Turn/Left"), new Vector2(11f, 14f), 5, 3, 21, 18, 0, 0, 18, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 3f })) })); xEn.xRenderComponent.dixAnimations.Add(14, new Animation(14, 1, Content.Load<Texture2D>(NPC_PATH + "Bag/Turn/LeftRight"), new Vector2(11f, 14f), 5, 4, 21, 18, 0, 0, 18, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); xEn.xRenderComponent.dixAnimations.Add(15, new Animation(15, 3, Content.Load<Texture2D>(NPC_PATH + "Bag/Turn/RightLeft"), new Vector2(11f, 14f), 5, 4, 21, 18, 0, 0, 18, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 3f })) })); Dictionary<ushort, Animation> arg_91CE_0 = xEn.xRenderComponent.dixAnimations; ushort arg_91CE_1 = 22; ushort arg_91C9_0 = 22; byte arg_91C9_1 = 2; Texture2D arg_91C9_2 = Content.Load<Texture2D>(NPC_PATH + "Bag/Disappear/Down"); Vector2 arg_91C9_3 = new Vector2(11f, 21f); int arg_91C9_4 = 4; int arg_91C9_5 = 16; int arg_91C9_6 = 19; int arg_91C9_7 = 24; int arg_91C9_8 = 0; int arg_91C9_9 = 0; int arg_91C9_10 = 16; Animation.LoopSettings arg_91C9_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_91C9_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_91C9_13 = true; bool arg_91C9_14 = true; array = new AnimationInstruction[1]; AnimationInstruction[] arg_91C6_0 = array; int arg_91C6_1 = 0; AnimInsCriteria arg_91C1_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFramesXtoY, new float[] { 1f, 6f }); AnimInsEvent.EventType arg_91BC_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = -5f; arg_91C6_0[arg_91C6_1] = new AnimationInstruction(arg_91C1_0, new AnimInsEvent(arg_91BC_0, array13)); arg_91CE_0.Add(arg_91CE_1, new Animation(arg_91C9_0, arg_91C9_1, arg_91C9_2, arg_91C9_3, arg_91C9_4, arg_91C9_5, arg_91C9_6, arg_91C9_7, arg_91C9_8, arg_91C9_9, arg_91C9_10, arg_91C9_11, arg_91C9_12, arg_91C9_13, arg_91C9_14, array)); xEn.xRenderComponent.dixAnimations.Add(100, new Animation(100, 3, Content.Load<Texture2D>(NPC_PATH + "Bag/ThrowUp/Left"), new Vector2(14f, 31f), 4, 38, 27, 35, 0, 0, 38, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 3f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.sAttackPhaseCategory = "Rabbi"; xEn.xCollisionComponent.xMovementCollider = null; } else if (enType == NPCCodex.NPCTypes.StarterTownOldMan01) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new NPC_Startington_Gramps(xEn); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Oldman1/Idle/Up"), new Vector2(12f, 31f), 4, 1, 23, 38, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Oldman1/Idle/Right"), new Vector2(11f, 33f), 4, 1, 22, 38, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Oldman1/Idle/Down"), new Vector2(15f, 33f), 4, 1, 30, 38, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Oldman1/Idle/Left"), new Vector2(12f, 33f), 4, 1, 22, 38, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Oldman1/Walk/Up"), new Vector2(12f, 31f), 4, 10, 23, 38, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Oldman1/Walk/Right"), new Vector2(11f, 33f), 4, 10, 22, 38, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Oldman1/Walk/Down"), new Vector2(15f, 33f), 4, 10, 30, 38, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Oldman1/Walk/Left"), new Vector2(12f, 33f), 4, 10, 22, 38, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; } else if (enType == NPCCodex.NPCTypes.StarterTownUncle01) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; Dictionary<ushort, Animation> arg_969B_0 = xEn.xRenderComponent.dixAnimations; ushort arg_969B_1 = 0; ushort arg_9696_0 = 0; byte arg_9696_1 = 2; Texture2D arg_9696_2 = Content.Load<Texture2D>(NPC_PATH + "StartingTon/UncleVev/UncleVev"); Vector2 arg_9696_3 = new Vector2(10f, 35f); int arg_9696_4 = 7; int arg_9696_5 = 8; int arg_9696_6 = 26; int arg_9696_7 = 43; int arg_9696_8 = 0; int arg_9696_9 = 0; int arg_9696_10 = 14; Animation.LoopSettings arg_9696_11 = Animation.LoopSettings.Looping; Animation.CancelOptions arg_9696_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_9696_13 = true; bool arg_9696_14 = true; AnimationInstruction[] array = new AnimationInstruction[1]; AnimationInstruction[] arg_9693_0 = array; int arg_9693_1 = 0; AnimInsCriteria arg_968E_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }); AnimInsEvent.EventType arg_9689_0 = AnimInsEvent.EventType.PlaySound; string arg_9689_1 = "Cranking1"; float[] array13 = new float[1]; arg_9693_0[arg_9693_1] = new AnimationInstruction(arg_968E_0, new AnimInsEvent(arg_9689_0, arg_9689_1, array13)); arg_969B_0.Add(arg_969B_1, new Animation(arg_9696_0, arg_9696_1, arg_9696_2, arg_9696_3, arg_9696_4, arg_9696_5, arg_9696_6, arg_9696_7, arg_9696_8, arg_9696_9, arg_9696_10, arg_9696_11, arg_9696_12, arg_9696_13, arg_9696_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(25, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.StarterTownWoman01) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; Dictionary<ushort, Animation> arg_98BA_0 = xEn.xRenderComponent.dixAnimations; ushort arg_98BA_1 = 0; ushort arg_98B5_0 = 0; byte arg_98B5_1 = 2; Texture2D arg_98B5_2 = Content.Load<Texture2D>(NPC_PATH + "StartingTon/MissBroom/MissBroom"); Vector2 arg_98B5_3 = new Vector2(18f, 34f); int arg_98B5_4 = 5; int arg_98B5_5 = 10; int arg_98B5_6 = 36; int arg_98B5_7 = 45; int arg_98B5_8 = 0; int arg_98B5_9 = 0; int arg_98B5_10 = 14; Animation.LoopSettings arg_98B5_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_98B5_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_98B5_13 = true; bool arg_98B5_14 = true; AnimationInstruction[] array = new AnimationInstruction[5]; AnimationInstruction[] arg_97D9_0 = array; int arg_97D9_1 = 0; AnimInsCriteria arg_97D4_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }); AnimInsEvent.EventType arg_97CF_0 = AnimInsEvent.EventType.FreezeFrame; float[] array13 = new float[2]; array13[0] = 2f; arg_97D9_0[arg_97D9_1] = new AnimationInstruction(arg_97D4_0, new AnimInsEvent(arg_97CF_0, array13)); AnimationInstruction[] arg_9815_0 = array; int arg_9815_1 = 1; AnimInsCriteria arg_9810_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 2f }); AnimInsEvent.EventType arg_980B_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 1f; arg_9815_0[arg_9815_1] = new AnimationInstruction(arg_9810_0, new AnimInsEvent(arg_980B_0, array13)); AnimationInstruction[] arg_9851_0 = array; int arg_9851_1 = 2; AnimInsCriteria arg_984C_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }); AnimInsEvent.EventType arg_9847_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 2f; arg_9851_0[arg_9851_1] = new AnimationInstruction(arg_984C_0, new AnimInsEvent(arg_9847_0, array13)); AnimationInstruction[] arg_988D_0 = array; int arg_988D_1 = 3; AnimInsCriteria arg_9888_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }); AnimInsEvent.EventType arg_9883_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 1f; arg_988D_0[arg_988D_1] = new AnimationInstruction(arg_9888_0, new AnimInsEvent(arg_9883_0, array13)); AnimationInstruction[] arg_98B2_0 = array; int arg_98B2_1 = 4; AnimInsCriteria arg_98AD_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_98A8_0 = AnimInsEvent.EventType.PlayAnimation; array13 = new float[1]; arg_98B2_0[arg_98B2_1] = new AnimationInstruction(arg_98AD_0, new AnimInsEvent(arg_98A8_0, array13)); arg_98BA_0.Add(arg_98BA_1, new Animation(arg_98B5_0, arg_98B5_1, arg_98B5_2, arg_98B5_3, arg_98B5_4, arg_98B5_5, arg_98B5_6, arg_98B5_7, arg_98B5_8, arg_98B5_9, arg_98B5_10, arg_98B5_11, arg_98B5_12, arg_98B5_13, arg_98B5_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(25, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.StarterTownWoman02) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; Dictionary<ushort, Animation> arg_9A6A_0 = xEn.xRenderComponent.dixAnimations; ushort arg_9A6A_1 = 0; ushort arg_9A65_0 = 0; byte arg_9A65_1 = 2; Texture2D arg_9A65_2 = Content.Load<Texture2D>(NPC_PATH + "StartingTon/WorriedMom/Idle"); Vector2 arg_9A65_3 = new Vector2(11f, 34f); int arg_9A65_4 = 7; int arg_9A65_5 = 9; int arg_9A65_6 = 22; int arg_9A65_7 = 40; int arg_9A65_8 = 0; int arg_9A65_9 = 0; int arg_9A65_10 = 14; Animation.LoopSettings arg_9A65_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_9A65_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_9A65_13 = true; bool arg_9A65_14 = true; AnimationInstruction[] array = new AnimationInstruction[3]; AnimationInstruction[] arg_99F8_0 = array; int arg_99F8_1 = 0; AnimInsCriteria arg_99F3_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }); AnimInsEvent.EventType arg_99EE_0 = AnimInsEvent.EventType.FreezeFrame; float[] array13 = new float[2]; array13[0] = 140f; arg_99F8_0[arg_99F8_1] = new AnimationInstruction(arg_99F3_0, new AnimInsEvent(arg_99EE_0, array13)); AnimationInstruction[] arg_9A34_0 = array; int arg_9A34_1 = 1; AnimInsCriteria arg_9A2F_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }); AnimInsEvent.EventType arg_9A2A_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 25f; arg_9A34_0[arg_9A34_1] = new AnimationInstruction(arg_9A2F_0, new AnimInsEvent(arg_9A2A_0, array13)); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })); arg_9A6A_0.Add(arg_9A6A_1, new Animation(arg_9A65_0, arg_9A65_1, arg_9A65_2, arg_9A65_3, arg_9A65_4, arg_9A65_5, arg_9A65_6, arg_9A65_7, arg_9A65_8, arg_9A65_9, arg_9A65_10, arg_9A65_11, arg_9A65_12, arg_9A65_13, arg_9A65_14, array)); Dictionary<ushort, Animation> arg_9B58_0 = xEn.xRenderComponent.dixAnimations; ushort arg_9B58_1 = 1; ushort arg_9B53_0 = 1; byte arg_9B53_1 = 2; Texture2D arg_9B53_2 = Content.Load<Texture2D>(NPC_PATH + "StartingTon/WorriedMom/Idle"); Vector2 arg_9B53_3 = new Vector2(11f, 34f); int arg_9B53_4 = 7; int arg_9B53_5 = 9; int arg_9B53_6 = 22; int arg_9B53_7 = 40; int arg_9B53_8 = 0; int arg_9B53_9 = 0; int arg_9B53_10 = 14; Animation.LoopSettings arg_9B53_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_9B53_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_9B53_13 = true; bool arg_9B53_14 = true; array = new AnimationInstruction[3]; AnimationInstruction[] arg_9AEF_0 = array; int arg_9AEF_1 = 0; AnimInsCriteria arg_9AEA_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }); AnimInsEvent.EventType arg_9AE5_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 140f; arg_9AEF_0[arg_9AEF_1] = new AnimationInstruction(arg_9AEA_0, new AnimInsEvent(arg_9AE5_0, array13)); AnimationInstruction[] arg_9B2B_0 = array; int arg_9B2B_1 = 1; AnimInsCriteria arg_9B26_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }); AnimInsEvent.EventType arg_9B21_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 25f; arg_9B2B_0[arg_9B2B_1] = new AnimationInstruction(arg_9B26_0, new AnimInsEvent(arg_9B21_0, array13)); AnimationInstruction[] arg_9B50_0 = array; int arg_9B50_1 = 2; AnimInsCriteria arg_9B4B_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_9B46_0 = AnimInsEvent.EventType.PlayAnimation; array13 = new float[1]; arg_9B50_0[arg_9B50_1] = new AnimationInstruction(arg_9B4B_0, new AnimInsEvent(arg_9B46_0, array13)); arg_9B58_0.Add(arg_9B58_1, new Animation(arg_9B53_0, arg_9B53_1, arg_9B53_2, arg_9B53_3, arg_9B53_4, arg_9B53_5, arg_9B53_6, arg_9B53_7, arg_9B53_8, arg_9B53_9, arg_9B53_10, arg_9B53_11, arg_9B53_12, arg_9B53_13, arg_9B53_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(25, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.StarterTownKid01) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new BoxCollider(70, 31, 0f, new Vector2(-1f, 5f), xEn.xTransform, 100000f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 1f; xEn.xRenderComponent.xOwnerObject = xEn; Dictionary<ushort, Animation> arg_9D08_0 = xEn.xRenderComponent.dixAnimations; ushort arg_9D08_1 = 0; ushort arg_9D03_0 = 0; byte arg_9D03_1 = 2; Texture2D arg_9D03_2 = Content.Load<Texture2D>(NPC_PATH + "StartingTon/SickBoy/Idle"); Vector2 arg_9D03_3 = new Vector2(26f, 25f); int arg_9D03_4 = 7; int arg_9D03_5 = 7; int arg_9D03_6 = 49; int arg_9D03_7 = 72; int arg_9D03_8 = 0; int arg_9D03_9 = 0; int arg_9D03_10 = 8; Animation.LoopSettings arg_9D03_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_9D03_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_9D03_13 = true; bool arg_9D03_14 = true; AnimationInstruction[] array = new AnimationInstruction[3]; AnimationInstruction[] arg_9CA3_0 = array; int arg_9CA3_1 = 0; AnimInsCriteria arg_9C9E_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }); AnimInsEvent.EventType arg_9C99_0 = AnimInsEvent.EventType.FreezeFrame; float[] array13 = new float[2]; array13[0] = 220f; arg_9CA3_0[arg_9CA3_1] = new AnimationInstruction(arg_9C9E_0, new AnimInsEvent(arg_9C99_0, array13)); AnimationInstruction[] arg_9CC8_0 = array; int arg_9CC8_1 = 1; AnimInsCriteria arg_9CC3_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_9CBE_0 = AnimInsEvent.EventType.PlayAnimation; array13 = new float[1]; arg_9CC8_0[arg_9CC8_1] = new AnimationInstruction(arg_9CC3_0, new AnimInsEvent(arg_9CBE_0, array13)); AnimationInstruction[] arg_9D00_0 = array; int arg_9D00_1 = 2; AnimInsCriteria arg_9CFB_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 3f }); AnimInsEvent.EventType arg_9CF6_0 = AnimInsEvent.EventType.PlaySound; string arg_9CF6_1 = "Cough1"; array13 = new float[1]; arg_9D00_0[arg_9D00_1] = new AnimationInstruction(arg_9CFB_0, new AnimInsEvent(arg_9CF6_0, arg_9CF6_1, array13)); arg_9D08_0.Add(arg_9D08_1, new Animation(arg_9D03_0, arg_9D03_1, arg_9D03_2, arg_9D03_3, arg_9D03_4, arg_9D03_5, arg_9D03_6, arg_9D03_7, arg_9D03_8, arg_9D03_9, arg_9D03_10, arg_9D03_11, arg_9D03_12, arg_9D03_13, arg_9D03_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); } else if (enType == NPCCodex.NPCTypes.StarterTownKid02) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.bRunNetworkUpdatesInCutscenes = true; xEn.bUpdateInCutscene = true; xEn.enType = enType; xEn.xBehaviour = new NPC_Startington_Girl(xEn); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Girl/Idle/Up"), new Vector2(15f, 33f), 7, 1, 30, 38, 0, 0, 8, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Girl/Idle/Right"), new Vector2(12f, 30f), 7, 1, 25, 35, 0, 0, 8, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Girl/Idle/Down"), new Vector2(15f, 33f), 7, 1, 30, 38, 0, 0, 8, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Girl/Idle/Left"), new Vector2(13f, 30f), 7, 1, 25, 35, 0, 0, 8, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Girl/Walk/Up"), new Vector2(15f, 34f), 6, 8, 30, 38, 0, 0, 8, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Girl/Walk/Right"), new Vector2(12f, 30f), 6, 8, 25, 35, 0, 0, 8, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Girl/Walk/Down"), new Vector2(15f, 34f), 6, 8, 30, 38, 0, 0, 8, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "StartingTon/Girl/Walk/Left"), new Vector2(13f, 30f), 6, 8, 25, 35, 0, 0, 8, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(25, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; } else if (enType == NPCCodex.NPCTypes.PillarMountains_Mumrik) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>(NPC_PATH + "PillarMountains/Haiku/Idle/Down"), new Vector2(13f, 34f), 6, 12, 26, 39, 0, 0, 14, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 2, Content.Load<Texture2D>(NPC_PATH + "PillarMountains/Haiku/Idle/Down"), new Vector2(13f, 34f), 6, 12, 26, 39, 0, 0, 14, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "PillarMountains/Haiku/Blow/Down"), new Vector2(13f, 34f), 6, 3, 26, 39, 0, 0, 14, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 3f })) })); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 2, Content.Load<Texture2D>(NPC_PATH + "PillarMountains/Haiku/Solo/Down"), new Vector2(13f, 34f), 6, 23, 26, 39, 0, 0, 23, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 4f })) })); xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 2, Content.Load<Texture2D>(NPC_PATH + "PillarMountains/Haiku/Blow/Down"), new Vector2(13f, 34f), 6, 3, 26, 39, 0, 0, 14, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 5f })) })); Dictionary<ushort, Animation> arg_A3A8_0 = xEn.xRenderComponent.dixAnimations; ushort arg_A3A8_1 = 5; ushort arg_A3A3_0 = 5; byte arg_A3A3_1 = 2; Texture2D arg_A3A3_2 = Content.Load<Texture2D>(NPC_PATH + "PillarMountains/Haiku/Idle/Down"); Vector2 arg_A3A3_3 = new Vector2(13f, 34f); int arg_A3A3_4 = 6; int arg_A3A3_5 = 12; int arg_A3A3_6 = 26; int arg_A3A3_7 = 39; int arg_A3A3_8 = 0; int arg_A3A3_9 = 0; int arg_A3A3_10 = 14; Animation.LoopSettings arg_A3A3_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_A3A3_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_A3A3_13 = true; bool arg_A3A3_14 = true; AnimationInstruction[] array = new AnimationInstruction[1]; AnimationInstruction[] arg_A3A0_0 = array; int arg_A3A0_1 = 0; AnimInsCriteria arg_A39B_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_A396_0 = AnimInsEvent.EventType.PlayAnimation; float[] array13 = new float[1]; arg_A3A0_0[arg_A3A0_1] = new AnimationInstruction(arg_A39B_0, new AnimInsEvent(arg_A396_0, array13)); arg_A3A8_0.Add(arg_A3A8_1, new Animation(arg_A3A3_0, arg_A3A3_1, arg_A3A3_2, arg_A3A3_3, arg_A3A3_4, arg_A3A3_5, arg_A3A3_6, arg_A3A3_7, arg_A3A3_8, arg_A3A3_9, arg_A3A3_10, arg_A3A3_11, arg_A3A3_12, arg_A3A3_13, arg_A3A3_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(25, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; } else if (enType == NPCCodex.NPCTypes.PillarMountains_FisherDude) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>(NPC_PATH + "PillarMountains/Fisherman/Idle"), new Vector2(14f, 55f), 5, 14, 27, 58, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerOnceAfterXTicks, new float[] { 210f }), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); Dictionary<ushort, Animation> arg_A5B0_0 = xEn.xRenderComponent.dixAnimations; ushort arg_A5B0_1 = 1; ushort arg_A5AB_0 = 1; byte arg_A5AB_1 = 2; Texture2D arg_A5AB_2 = Content.Load<Texture2D>(NPC_PATH + "PillarMountains/Fisherman/Pull"); Vector2 arg_A5AB_3 = new Vector2(14f, 55f); int arg_A5AB_4 = 5; int arg_A5AB_5 = 8; int arg_A5AB_6 = 27; int arg_A5AB_7 = 58; int arg_A5AB_8 = 0; int arg_A5AB_9 = 0; int arg_A5AB_10 = 14; Animation.LoopSettings arg_A5AB_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_A5AB_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_A5AB_13 = true; bool arg_A5AB_14 = true; AnimationInstruction[] array = new AnimationInstruction[2]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 4f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 10f })); AnimationInstruction[] arg_A5A8_0 = array; int arg_A5A8_1 = 1; AnimInsCriteria arg_A5A3_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_A59E_0 = AnimInsEvent.EventType.PlayAnimation; float[] array13 = new float[1]; arg_A5A8_0[arg_A5A8_1] = new AnimationInstruction(arg_A5A3_0, new AnimInsEvent(arg_A59E_0, array13)); arg_A5B0_0.Add(arg_A5B0_1, new Animation(arg_A5AB_0, arg_A5AB_1, arg_A5AB_2, arg_A5AB_3, arg_A5AB_4, arg_A5AB_5, arg_A5AB_6, arg_A5AB_7, arg_A5AB_8, arg_A5AB_9, arg_A5AB_10, arg_A5AB_11, arg_A5AB_12, arg_A5AB_13, arg_A5AB_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(50, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; } else if (enType == NPCCodex.NPCTypes.Main_Rival) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 3f; xEn.xRenderComponent.xOwnerObject = xEn; string MARINO_PATH = "Sprites/NPC/Main/Rival/"; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(MARINO_PATH + "Idle/Up"), new Vector2(11f, 31f), 4, 1, 22, 36, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(MARINO_PATH + "Idle/Right"), new Vector2(11f, 31f), 4, 1, 22, 36, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(MARINO_PATH + "Idle/Down"), new Vector2(11f, 31f), 4, 1, 22, 36, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(MARINO_PATH + "Idle/Right"), new Vector2(11f, 31f), 4, 1, 22, 36, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(MARINO_PATH + "Walk/Up"), new Vector2(11f, 31f), 4, 8, 22, 36, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(MARINO_PATH + "Walk/Right"), new Vector2(11f, 31f), 4, 8, 22, 35, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(MARINO_PATH + "Walk/Down"), new Vector2(11f, 31f), 4, 8, 23, 36, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(MARINO_PATH + "Walk/Right"), new Vector2(11f, 31f), 4, 8, 22, 35, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_A9C2_0 = xEn.xRenderComponent.dixAnimations; ushort arg_A9C2_1 = 8; ushort arg_A9BD_0 = 8; byte arg_A9BD_1 = 2; Texture2D arg_A9BD_2 = Content.Load<Texture2D>(NPC_PATH + "Main/Rival/Flavor/Laugh"); Vector2 arg_A9BD_3 = new Vector2(11f, 32f); int arg_A9BD_4 = 4; int arg_A9BD_5 = 15; int arg_A9BD_6 = 22; int arg_A9BD_7 = 37; int arg_A9BD_8 = 0; int arg_A9BD_9 = 0; int arg_A9BD_10 = 28; Animation.LoopSettings arg_A9BD_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_A9BD_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_A9BD_13 = true; bool arg_A9BD_14 = true; AnimationInstruction[] array = new AnimationInstruction[2]; AnimationInstruction[] arg_A98C_0 = array; int arg_A98C_1 = 0; AnimInsCriteria arg_A987_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_A982_0 = AnimInsEvent.EventType.PlaySound; string arg_A982_1 = "marino_laugh"; float[] array13 = new float[1]; arg_A98C_0[arg_A98C_1] = new AnimationInstruction(arg_A987_0, new AnimInsEvent(arg_A982_0, arg_A982_1, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })); arg_A9C2_0.Add(arg_A9C2_1, new Animation(arg_A9BD_0, arg_A9BD_1, arg_A9BD_2, arg_A9BD_3, arg_A9BD_4, arg_A9BD_5, arg_A9BD_6, arg_A9BD_7, arg_A9BD_8, arg_A9BD_9, arg_A9BD_10, arg_A9BD_11, arg_A9BD_12, arg_A9BD_13, arg_A9BD_14, array)); Dictionary<ushort, Animation> arg_AA3A_0 = xEn.xRenderComponent.dixAnimations; ushort arg_AA3A_1 = 9; ushort arg_AA35_0 = 9; byte arg_AA35_1 = 0; Texture2D arg_AA35_2 = Content.Load<Texture2D>(NPC_PATH + "Main/Rival/Flavor/Push"); Vector2 arg_AA35_3 = new Vector2(12f, 32f); int arg_AA35_4 = 4; int arg_AA35_5 = 12; int arg_AA35_6 = 27; int arg_AA35_7 = 37; int arg_AA35_8 = 0; int arg_AA35_9 = 0; int arg_AA35_10 = 28; Animation.LoopSettings arg_AA35_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_AA35_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_AA35_13 = true; bool arg_AA35_14 = true; array = new AnimationInstruction[1]; AnimationInstruction[] arg_AA32_0 = array; int arg_AA32_1 = 0; AnimInsCriteria arg_AA2D_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_AA28_0 = AnimInsEvent.EventType.PlayAnimation; array13 = new float[1]; arg_AA32_0[arg_AA32_1] = new AnimationInstruction(arg_AA2D_0, new AnimInsEvent(arg_AA28_0, array13)); arg_AA3A_0.Add(arg_AA3A_1, new Animation(arg_AA35_0, arg_AA35_1, arg_AA35_2, arg_AA35_3, arg_AA35_4, arg_AA35_5, arg_AA35_6, arg_AA35_7, arg_AA35_8, arg_AA35_9, arg_AA35_10, arg_AA35_11, arg_AA35_12, arg_AA35_13, arg_AA35_14, array)); xEn.xRenderComponent.dixAnimations.Add(10, new Animation(10, 0, Content.Load<Texture2D>(MARINO_PATH + "Run/Up"), new Vector2(12f, 32f), 4, 8, 24, 37, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(11, new Animation(11, 1, Content.Load<Texture2D>(MARINO_PATH + "Run/Right"), new Vector2(11f, 32f), 4, 8, 25, 37, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(12, new Animation(12, 2, Content.Load<Texture2D>(MARINO_PATH + "Run/Down"), new Vector2(12f, 32f), 4, 8, 24, 37, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(13, new Animation(13, 3, Content.Load<Texture2D>(MARINO_PATH + "Run/Right"), new Vector2(13f, 32f), 4, 8, 25, 37, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[13].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_AC41_0 = xEn.xRenderComponent.dixAnimations; ushort arg_AC41_1 = 5002; ushort arg_AC3C_0 = 5002; byte arg_AC3C_1 = 0; Texture2D arg_AC3C_2 = Content.Load<Texture2D>(MARINO_PATH + "Flavor/Laugh"); Vector2 arg_AC3C_3 = new Vector2(11f, 32f); int arg_AC3C_4 = 4; int arg_AC3C_5 = 15; int arg_AC3C_6 = 22; int arg_AC3C_7 = 37; int arg_AC3C_8 = 0; int arg_AC3C_9 = 0; int arg_AC3C_10 = 28; Animation.LoopSettings arg_AC3C_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_AC3C_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_AC3C_13 = true; bool arg_AC3C_14 = true; array = new AnimationInstruction[2]; AnimationInstruction[] arg_AC0B_0 = array; int arg_AC0B_1 = 0; AnimInsCriteria arg_AC06_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_AC01_0 = AnimInsEvent.EventType.PlaySound; string arg_AC01_1 = "marino_laugh"; array13 = new float[1]; arg_AC0B_0[arg_AC0B_1] = new AnimationInstruction(arg_AC06_0, new AnimInsEvent(arg_AC01_0, arg_AC01_1, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })); arg_AC41_0.Add(arg_AC41_1, new Animation(arg_AC3C_0, arg_AC3C_1, arg_AC3C_2, arg_AC3C_3, arg_AC3C_4, arg_AC3C_5, arg_AC3C_6, arg_AC3C_7, arg_AC3C_8, arg_AC3C_9, arg_AC3C_10, arg_AC3C_11, arg_AC3C_12, arg_AC3C_13, arg_AC3C_14, array)); Dictionary<ushort, Animation> arg_ACC0_0 = xEn.xRenderComponent.dixAnimations; ushort arg_ACC0_1 = 5003; ushort arg_ACBB_0 = 5003; byte arg_ACBB_1 = 0; Texture2D arg_ACBB_2 = Content.Load<Texture2D>(MARINO_PATH + "Flavor/Push"); Vector2 arg_ACBB_3 = new Vector2(12f, 32f); int arg_ACBB_4 = 4; int arg_ACBB_5 = 12; int arg_ACBB_6 = 27; int arg_ACBB_7 = 37; int arg_ACBB_8 = 0; int arg_ACBB_9 = 0; int arg_ACBB_10 = 28; Animation.LoopSettings arg_ACBB_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_ACBB_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_ACBB_13 = true; bool arg_ACBB_14 = true; array = new AnimationInstruction[1]; AnimationInstruction[] arg_ACB8_0 = array; int arg_ACB8_1 = 0; AnimInsCriteria arg_ACB3_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_ACAE_0 = AnimInsEvent.EventType.PlayAnimation; array13 = new float[1]; arg_ACB8_0[arg_ACB8_1] = new AnimationInstruction(arg_ACB3_0, new AnimInsEvent(arg_ACAE_0, array13)); arg_ACC0_0.Add(arg_ACC0_1, new Animation(arg_ACBB_0, arg_ACBB_1, arg_ACBB_2, arg_ACBB_3, arg_ACBB_4, arg_ACBB_5, arg_ACBB_6, arg_ACBB_7, arg_ACBB_8, arg_ACBB_9, arg_ACBB_10, arg_ACBB_11, arg_ACBB_12, arg_ACBB_13, arg_ACBB_14, array)); xEn.xRenderComponent.dixAnimations.Add(5004, new Animation(5004, 0, Content.Load<Texture2D>(MARINO_PATH + "Flavor/AmuletPull"), new Vector2(13f, 32f), 4, 9, 26, 37, 0, 0, 28, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 5005f })) })); xEn.xRenderComponent.dixAnimations.Add(5005, new Animation(5005, 0, Content.Load<Texture2D>(MARINO_PATH + "Flavor/Amulet"), new Vector2(13f, 31f), 5, 8, 24, 36, 0, 0, 28, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 3f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 60f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 60f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 5005f })) })); xEn.xRenderComponent.dixAnimations.Add(5006, new Animation(5006, 0, Content.Load<Texture2D>(MARINO_PATH + "Flavor/AmuletCaught"), new Vector2(13f, 32f), 4, 5, 24, 37, 0, 0, 28, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 14f })) })); xEn.xRenderComponent.dixAnimations.Add(5007, new Animation(5007, 0, Content.Load<Texture2D>(MARINO_PATH + "Flavor/Spin"), new Vector2(18f, 40f), 4, 14, 43, 48, 0, 0, 28, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.CallBackAnimation, new float[] { 3f })) })); xEn.xRenderComponent.dixAnimations.Add(5008, new Animation(5008, 0, Content.Load<Texture2D>(MARINO_PATH + "Flavor/AmuletPutback"), new Vector2(13f, 32f), 4, 9, 26, 37, 0, 0, 28, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(25, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; } else if (enType == NPCCodex.NPCTypes.Main_Polarn) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Idle/Up"), new Vector2(10f, 33f), 4, 1, 20, 36, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Idle/Right"), new Vector2(9f, 33f), 4, 1, 22, 36, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Idle/Down"), new Vector2(10f, 33f), 4, 1, 20, 36, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Idle/Right"), new Vector2(13f, 33f), 4, 1, 22, 36, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Walk/Up"), new Vector2(10f, 33f), 4, 8, 20, 36, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Walk/Right"), new Vector2(10f, 33f), 4, 8, 22, 36, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Walk/Down"), new Vector2(10f, 32f), 4, 8, 20, 37, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Walk/Right"), new Vector2(12f, 33f), 4, 8, 22, 36, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(8, new Animation(8, 0, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Push/Up"), new Vector2(10f, 32f), 4, 10, 21, 35, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(9, new Animation(9, 1, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Push/Right"), new Vector2(9f, 32f), 4, 10, 27, 35, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(10, new Animation(10, 2, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Push/Down"), new Vector2(11f, 33f), 4, 10, 21, 36, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(11, new Animation(11, 3, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Push/Right"), new Vector2(18f, 32f), 4, 10, 27, 35, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[11].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(1000, new Animation(1000, 1, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Overhead/Right"), new Vector2(45f, 63f), 4, 15, 91, 96, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1001, new Animation(1001, 3, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Overhead/Right"), new Vector2(46f, 63f), 4, 15, 91, 96, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[1001].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(1002, new Animation(1002, 1, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Combo/Right"), new Vector2(43f, 75f), 4, 30, 85, 86, 0, 0, 15, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.SkipFrameFractions, new float[] { 12f })) })); xEn.xRenderComponent.dixAnimations.Add(1003, new Animation(1003, 3, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Combo/Right"), new Vector2(42f, 75f), 4, 30, 85, 86, 0, 0, 15, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.SkipFrameFractions, new float[] { 12f })) })); xEn.xRenderComponent.dixAnimations[1003].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(1004, new Animation(1004, 1, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Combo/Right"), new Vector2(43f, 75f), 4, 1, 85, 86, 85, 0, 15, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1005, new Animation(1005, 3, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Combo/Right"), new Vector2(42f, 75f), 4, 1, 85, 86, 85, 0, 15, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[1005].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(1006, new Animation(1006, 2, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Thinking/Start"), new Vector2(11f, 34f), 6, 5, 22, 37, 0, 0, 15, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1007f })) })); xEn.xRenderComponent.dixAnimations.Add(1007, new Animation(1007, 2, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Thinking/Mid"), new Vector2(11f, 34f), 6, 6, 22, 37, 0, 0, 15, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1008, new Animation(1008, 2, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Thinking/End"), new Vector2(11f, 34f), 6, 4, 22, 37, 0, 0, 15, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); xEn.xRenderComponent.dixAnimations.Add(1009, new Animation(1009, 1, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Jump/Right"), new Vector2(10f, 42f), 4, 11, 25, 46, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1010, new Animation(1010, 3, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Jump/Right"), new Vector2(15f, 42f), 4, 11, 25, 46, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[1010].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(1011, new Animation(1011, 2, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/ButtonSmash/Down"), new Vector2(13f, 34f), 4, 17, 25, 26, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1012, new Animation(1012, 1, Content.Load<Texture2D>(NPC_PATH + "Main/Polarn/Jump/Jump"), new Vector2(38f, 61f), 4, 13, 75, 67, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(22, 10, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = false; } else if (enType == NPCCodex.NPCTypes.Main_Ninja) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Main/Ninja/Idle/Up"), new Vector2(12f, 34f), 4, 1, 22, 38, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Main/Ninja/Idle/Right"), new Vector2(10f, 34f), 4, 1, 21, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Main/Ninja/Idle/Down"), new Vector2(12f, 34f), 4, 1, 22, 38, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Main/Ninja/Idle/Right"), new Vector2(12f, 34f), 4, 1, 21, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Main/Ninja/Walk/Up"), new Vector2(10f, 32f), 4, 8, 18, 35, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "Main/Ninja/Walk/Up"), new Vector2(9f, 31f), 4, 8, 20, 34, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "Main/Ninja/Walk/Up"), new Vector2(9f, 32f), 4, 8, 18, 34, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "Main/Ninja/Walk/Up"), new Vector2(9f, 31f), 4, 8, 20, 34, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Main_Tanken) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Main/Tanken/Idle/Up"), new Vector2(11f, 32f), 4, 1, 22, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Main/Tanken/Idle/Right"), new Vector2(11f, 32f), 4, 1, 21, 35, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Main/Tanken/Idle/Down"), new Vector2(11f, 32f), 4, 1, 22, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Main/Tanken/Idle/Right"), new Vector2(11f, 32f), 4, 1, 21, 35, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Main/Tanken/Walk/Up"), new Vector2(11f, 32f), 4, 8, 22, 36, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "Main/Tanken/Walk/Right"), new Vector2(11f, 32f), 4, 8, 21, 35, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "Main/Tanken/Walk/Up"), new Vector2(11f, 32f), 4, 8, 22, 36, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "Main/Tanken/Walk/Right"), new Vector2(11f, 32f), 4, 8, 21, 35, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Main_Collector_Quintus) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Quinton/Idle/Up"), new Vector2(11f, 32f), 4, 1, 22, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Quinton/Idle/Right"), new Vector2(9f, 33f), 4, 1, 18, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Quinton/Idle/Down"), new Vector2(12f, 34f), 4, 1, 24, 38, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Quinton/Idle/Right"), new Vector2(9f, 33f), 4, 1, 18, 36, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Quinton/Walk/Up"), new Vector2(11f, 32f), 4, 8, 22, 36, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Quinton/Walk/Right"), new Vector2(9f, 32f), 4, 8, 18, 35, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Quinton/Walk/Down"), new Vector2(12f, 34f), 4, 8, 24, 38, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Quinton/Walk/Right"), new Vector2(9f, 32f), 4, 8, 18, 35, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(100, new Animation(100, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Quinton/Idle/Down"), new Vector2(12f, 34f), 4, 1, 24, 38, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 160f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 101f })) })); xEn.xRenderComponent.dixAnimations.Add(101, new Animation(101, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Quinton/Flavor/GlasWipe"), new Vector2(11f, 33f), 4, 34, 22, 36, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 100f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Main_Collector_Tjockis) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Rundo/Idle/Down"), new Vector2(18f, 31f), 4, 1, 36, 34, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 8f })) })); xEn.xRenderComponent.dixAnimations.Add(8, new Animation(8, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Rundo/Eating/Down"), new Vector2(17f, 31f), 4, 33, 35, 34, 0, 0, 33, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 180f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xRenderComponent.SwitchAnimation(2, Animation.CancelOptions.IgnoreIfPlaying); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Main_Collector_Wedge) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wedge/Idle/Up"), new Vector2(10f, 31f), 4, 1, 20, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wedge/Idle/Right"), new Vector2(9f, 31f), 4, 1, 19, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wedge/Idle/Down"), new Vector2(10f, 31f), 4, 1, 20, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Wedge/Idle/Right"), new Vector2(11f, 31f), 4, 1, 19, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Main_Collector_Biggs) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Biggs/Idle/Up"), new Vector2(9f, 31f), 4, 1, 18, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Biggs/Idle/Right"), new Vector2(9f, 31f), 4, 1, 18, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Biggs/Idle/Down"), new Vector2(9f, 31f), 4, 1, 18, 34, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 200f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 100f })) })); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Biggs/Idle/Right"), new Vector2(9f, 31f), 4, 1, 18, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(100, new Animation(100, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind/Biggs/Flavor/Sigh"), new Vector2(9f, 31f), 4, 18, 18, 34, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 16f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 6f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Main_Collector_MasterIvy) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "HQ/Master Ivy/Chair/Turn"), new Vector2(10f, 31f), 4, 1, 20, 34, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(100, new Animation(100, 0, Content.Load<Texture2D>(NPC_PATH + "HQ/Master Ivy/Chair/Turn"), new Vector2(17f, 30f), 4, 1, 34, 37, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(101, new Animation(101, 0, Content.Load<Texture2D>(NPC_PATH + "HQ/Master Ivy/Chair/Turn"), new Vector2(17f, 30f), 4, 10, 34, 37, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(102, new Animation(102, 0, Content.Load<Texture2D>(NPC_PATH + "HQ/Master Ivy/Chair/TurnBack"), new Vector2(17f, 30f), 4, 8, 34, 37, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(103, new Animation(103, 0, Content.Load<Texture2D>(NPC_PATH + "HQ/Master Ivy/Flavor/Slam"), new Vector2(15f, 28f), 4, 11, 30, 36, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 8f }), new AnimInsEvent(AnimInsEvent.EventType.SetVirtualHeight, new float[] { 200f })) })); xEn.xRenderComponent.dixAnimations.Add(104, new Animation(104, 0, Content.Load<Texture2D>(NPC_PATH + "HQ/Master Ivy/Flavor/Laugh"), new Vector2(13f, 27f), 6, 15, 26, 34, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Dictionary<ushort, Animation> arg_D1EB_0 = xEn.xRenderComponent.dixAnimations; ushort arg_D1EB_1 = 105; ushort arg_D1E6_0 = 105; byte arg_D1E6_1 = 0; Texture2D arg_D1E6_2 = Content.Load<Texture2D>(NPC_PATH + "HQ/Master Ivy/Flavor/Slam"); Vector2 arg_D1E6_3 = new Vector2(15f, 28f); int arg_D1E6_4 = 4; int arg_D1E6_5 = 3; int arg_D1E6_6 = 30; int arg_D1E6_7 = 36; int arg_D1E6_8 = 330; int arg_D1E6_9 = 0; int arg_D1E6_10 = 20; Animation.LoopSettings arg_D1E6_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_D1E6_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_D1E6_13 = true; bool arg_D1E6_14 = true; AnimationInstruction[] array = new AnimationInstruction[1]; AnimationInstruction[] arg_D1E3_0 = array; int arg_D1E3_1 = 0; AnimInsCriteria arg_D1DE_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 3f }); AnimInsEvent.EventType arg_D1D9_0 = AnimInsEvent.EventType.SetVirtualHeight; float[] array13 = new float[1]; arg_D1E3_0[arg_D1E3_1] = new AnimationInstruction(arg_D1DE_0, new AnimInsEvent(arg_D1D9_0, array13)); arg_D1EB_0.Add(arg_D1EB_1, new Animation(arg_D1E6_0, arg_D1E6_1, arg_D1E6_2, arg_D1E6_3, arg_D1E6_4, arg_D1E6_5, arg_D1E6_6, arg_D1E6_7, arg_D1E6_8, arg_D1E6_9, arg_D1E6_10, arg_D1E6_11, arg_D1E6_12, arg_D1E6_13, arg_D1E6_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Fae_Naniva) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(30f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Navi/Idle/Up"), new Vector2(10f, 27f), 4, 8, 20, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Navi/Idle/Right"), new Vector2(10f, 27f), 4, 8, 18, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Navi/Idle/Down"), new Vector2(11f, 27f), 4, 8, 22, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Navi/Idle/Right"), new Vector2(8f, 27f), 4, 8, 18, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_D475_0 = xEn.xRenderComponent.dixAnimations; ushort arg_D475_1 = 100; ushort arg_D470_0 = 100; byte arg_D470_1 = 0; Texture2D arg_D470_2 = Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Navi/Spellcast/Up"); Vector2 arg_D470_3 = new Vector2(20f, 34f); int arg_D470_4 = 4; int arg_D470_5 = 31; int arg_D470_6 = 40; int arg_D470_7 = 40; int arg_D470_8 = 0; int arg_D470_9 = 0; int arg_D470_10 = 31; Animation.LoopSettings arg_D470_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_D470_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_D470_13 = true; bool arg_D470_14 = true; AnimationInstruction[] array = new AnimationInstruction[1]; AnimationInstruction[] arg_D46D_0 = array; int arg_D46D_1 = 0; AnimInsCriteria arg_D468_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_D463_0 = AnimInsEvent.EventType.PlayAnimation; float[] array13 = new float[1]; arg_D46D_0[arg_D46D_1] = new AnimationInstruction(arg_D468_0, new AnimInsEvent(arg_D463_0, array13)); arg_D475_0.Add(arg_D475_1, new Animation(arg_D470_0, arg_D470_1, arg_D470_2, arg_D470_3, arg_D470_4, arg_D470_5, arg_D470_6, arg_D470_7, arg_D470_8, arg_D470_9, arg_D470_10, arg_D470_11, arg_D470_12, arg_D470_13, arg_D470_14, array)); xEn.xRenderComponent.dixAnimations.Add(101, new Animation(101, 0, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Navi/Spellcast/Up"), new Vector2(20f, 34f), 4, 6, 40, 40, 0, 0, 31, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Dictionary<ushort, Animation> arg_D53A_0 = xEn.xRenderComponent.dixAnimations; ushort arg_D53A_1 = 102; ushort arg_D535_0 = 102; byte arg_D535_1 = 0; Texture2D arg_D535_2 = Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Navi/Spellcast/Up"); Vector2 arg_D535_3 = new Vector2(20f, 34f); int arg_D535_4 = 4; int arg_D535_5 = 6; int arg_D535_6 = 40; int arg_D535_7 = 40; int arg_D535_8 = 0; int arg_D535_9 = 0; int arg_D535_10 = 31; Animation.LoopSettings arg_D535_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_D535_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_D535_13 = true; bool arg_D535_14 = true; array = new AnimationInstruction[1]; AnimationInstruction[] arg_D532_0 = array; int arg_D532_1 = 0; AnimInsCriteria arg_D52D_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_D528_0 = AnimInsEvent.EventType.PlayAnimation; array13 = new float[1]; arg_D532_0[arg_D532_1] = new AnimationInstruction(arg_D52D_0, new AnimInsEvent(arg_D528_0, array13)); arg_D53A_0.Add(arg_D53A_1, new Animation(arg_D535_0, arg_D535_1, arg_D535_2, arg_D535_3, arg_D535_4, arg_D535_5, arg_D535_6, arg_D535_7, arg_D535_8, arg_D535_9, arg_D535_10, arg_D535_11, arg_D535_12, arg_D535_13, arg_D535_14, array)); xEn.xRenderComponent.dixAnimations[102].bReversePlayback = true; xEn.xRenderComponent.dixAnimations.Add(103, new Animation(103, 0, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Navi/HoneyDrink/Down"), new Vector2(17f, 29f), 4, 42, 34, 33, 0, 0, 42, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(26, 20, 0f, new Vector2(0f, 4f), xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Fae_Autumn_FrozenGuy) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(30f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Navi/Idle/Up"), new Vector2(10f, 27f), 4, 8, 20, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/FrozenFae/Idle/Right"), new Vector2(8f, 25f), 4, 8, 16, 28, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Navi/Idle/Down"), new Vector2(11f, 27f), 4, 8, 22, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Navi/Idle/Right"), new Vector2(8f, 27f), 4, 8, 18, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(100, new Animation(100, 2, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/FrozenFae/Freeze/Start"), new Vector2(16f, 29f), 4, 7, 32, 36, 0, 0, 31, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 101f })) })); xEn.xRenderComponent.dixAnimations.Add(101, new Animation(101, 2, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/FrozenFae/Freeze/Idle"), new Vector2(16f, 29f), 4, 6, 32, 36, 0, 0, 31, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 102f })) })); xEn.xRenderComponent.dixAnimations.Add(102, new Animation(102, 2, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/FrozenFae/Freeze/Idle"), new Vector2(16f, 29f), 4, 1, 32, 36, 0, 0, 31, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAlwaysAfterXTicks, new float[] { 180f }), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 101f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(30, 14, 0f, new Vector2(0f, -2f), xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Fae_Autumn_Spectator) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(30f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Spectators/Fall/Up"), new Vector2(10f, 27f), 4, 8, 20, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Spectators/Fall/Right"), new Vector2(10f, 27f), 4, 8, 16, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Navi/Idle/Down"), new Vector2(11f, 27f), 4, 8, 22, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Spectators/Fall/Right"), new Vector2(6f, 27f), 4, 8, 16, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 14, 0f, new Vector2(0f, -2f), xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Fae_Spring_Spectator) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(30f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Spectators/Spring/Up"), new Vector2(10f, 27f), 4, 8, 20, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Spectators/Spring/Right"), new Vector2(10f, 27f), 4, 8, 18, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Navi/Idle/Down"), new Vector2(11f, 27f), 4, 8, 22, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Spectators/Spring/Right"), new Vector2(8f, 27f), 4, 8, 18, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 14, 0f, new Vector2(0f, -2f), xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Fae_Summer_Spectator) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(30f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Spectators/Summer/Up"), new Vector2(10f, 25f), 4, 8, 20, 28, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Spectators/Summer/Right"), new Vector2(10f, 25f), 4, 8, 16, 28, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Navi/Idle/Down"), new Vector2(11f, 27f), 4, 8, 22, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Spectators/Summer/Right"), new Vector2(6f, 25f), 4, 8, 16, 28, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 14, 0f, new Vector2(0f, -2f), xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Fae_Winter_Spectator) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(30f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Spectators/Winter/Up"), new Vector2(10f, 26f), 4, 8, 20, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Spectators/Winter/Right"), new Vector2(9f, 23f), 4, 8, 16, 26, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Navi/Idle/Down"), new Vector2(11f, 27f), 4, 8, 22, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Santa Fae/Spectators/Winter/Right"), new Vector2(9f, 23f), 4, 8, 16, 26, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 14, 0f, new Vector2(0f, -2f), xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Halloween_CandyWitch) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(30f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.v2QuestIndicatorOffset = new Vector2(3f, -9f); xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>(NPC_PATH + "Halloween/Witch/Idle/Down"), new Vector2(14f, 34f), 7, 10, 27, 50, 0, 0, 10, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(26, 20, 0f, new Vector2(0f, 4f), xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Halloween_HoodedMan) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(30f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Halloween/Hooded/Idle/Down"), new Vector2(11f, 32f), 7, 1, 22, 38, 0, 0, 10, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Halloween/Hooded/Lose/Down"), new Vector2(12f, 34f), 4, 14, 24, 40, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Halloween/Hooded/Throw/Down"), new Vector2(11f, 33f), 4, 11, 24, 38, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 9f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 10f })) })); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 2, Content.Load<Texture2D>(NPC_PATH + "Halloween/Hooded/Curse/Down"), new Vector2(12f, 34f), 4, 5, 24, 40, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 4f })) })); xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 2, Content.Load<Texture2D>(NPC_PATH + "Halloween/Hooded/Curse/Down"), new Vector2(12f, 34f), 4, 4, 24, 40, 120, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 2, Content.Load<Texture2D>(NPC_PATH + "Halloween/Hooded/Curse/Down"), new Vector2(12f, 34f), 4, 15, 24, 40, 216, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(26, 20, 0f, new Vector2(0f, 4f), xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Halloween_Scarecrow) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(30f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.v2QuestIndicatorOffset = new Vector2(0f, -14f); Dictionary<ushort, Animation> arg_E7AD_0 = xEn.xRenderComponent.dixAnimations; ushort arg_E7AD_1 = 0; ushort arg_E7A8_0 = 0; byte arg_E7A8_1 = 0; Texture2D arg_E7A8_2 = Content.Load<Texture2D>(NPC_PATH + "Halloween/Scarecrow/Idle/Up"); Vector2 arg_E7A8_3 = new Vector2(20f, 43f); int arg_E7A8_4 = 5; int arg_E7A8_5 = 22; int arg_E7A8_6 = 41; int arg_E7A8_7 = 46; int arg_E7A8_8 = 0; int arg_E7A8_9 = 0; int arg_E7A8_10 = 22; Animation.LoopSettings arg_E7A8_11 = Animation.LoopSettings.Looping; Animation.CancelOptions arg_E7A8_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_E7A8_13 = true; bool arg_E7A8_14 = true; AnimationInstruction[] array = new AnimationInstruction[1]; AnimationInstruction[] arg_E7A5_0 = array; int arg_E7A5_1 = 0; AnimInsCriteria arg_E7A0_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 2f }); AnimInsEvent.EventType arg_E79B_0 = AnimInsEvent.EventType.PlaySound; string arg_E79B_1 = "Scarecrow_Idle"; float[] array13 = new float[1]; arg_E7A5_0[arg_E7A5_1] = new AnimationInstruction(arg_E7A0_0, new AnimInsEvent(arg_E79B_0, arg_E79B_1, array13)); arg_E7AD_0.Add(arg_E7AD_1, new Animation(arg_E7A8_0, arg_E7A8_1, arg_E7A8_2, arg_E7A8_3, arg_E7A8_4, arg_E7A8_5, arg_E7A8_6, arg_E7A8_7, arg_E7A8_8, arg_E7A8_9, arg_E7A8_10, arg_E7A8_11, arg_E7A8_12, arg_E7A8_13, arg_E7A8_14, array)); Dictionary<ushort, Animation> arg_E836_0 = xEn.xRenderComponent.dixAnimations; ushort arg_E836_1 = 1; ushort arg_E831_0 = 1; byte arg_E831_1 = 1; Texture2D arg_E831_2 = Content.Load<Texture2D>(NPC_PATH + "Halloween/Scarecrow/Idle/Right"); Vector2 arg_E831_3 = new Vector2(19f, 44f); int arg_E831_4 = 5; int arg_E831_5 = 22; int arg_E831_6 = 37; int arg_E831_7 = 51; int arg_E831_8 = 0; int arg_E831_9 = 0; int arg_E831_10 = 22; Animation.LoopSettings arg_E831_11 = Animation.LoopSettings.Looping; Animation.CancelOptions arg_E831_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_E831_13 = true; bool arg_E831_14 = true; array = new AnimationInstruction[1]; AnimationInstruction[] arg_E82E_0 = array; int arg_E82E_1 = 0; AnimInsCriteria arg_E829_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 2f }); AnimInsEvent.EventType arg_E824_0 = AnimInsEvent.EventType.PlaySound; string arg_E824_1 = "Scarecrow_Idle"; array13 = new float[1]; arg_E82E_0[arg_E82E_1] = new AnimationInstruction(arg_E829_0, new AnimInsEvent(arg_E824_0, arg_E824_1, array13)); arg_E836_0.Add(arg_E836_1, new Animation(arg_E831_0, arg_E831_1, arg_E831_2, arg_E831_3, arg_E831_4, arg_E831_5, arg_E831_6, arg_E831_7, arg_E831_8, arg_E831_9, arg_E831_10, arg_E831_11, arg_E831_12, arg_E831_13, arg_E831_14, array)); Dictionary<ushort, Animation> arg_E8BF_0 = xEn.xRenderComponent.dixAnimations; ushort arg_E8BF_1 = 2; ushort arg_E8BA_0 = 2; byte arg_E8BA_1 = 2; Texture2D arg_E8BA_2 = Content.Load<Texture2D>(NPC_PATH + "Halloween/Scarecrow/Idle/Down"); Vector2 arg_E8BA_3 = new Vector2(20f, 44f); int arg_E8BA_4 = 5; int arg_E8BA_5 = 22; int arg_E8BA_6 = 41; int arg_E8BA_7 = 47; int arg_E8BA_8 = 0; int arg_E8BA_9 = 0; int arg_E8BA_10 = 22; Animation.LoopSettings arg_E8BA_11 = Animation.LoopSettings.Looping; Animation.CancelOptions arg_E8BA_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_E8BA_13 = true; bool arg_E8BA_14 = true; array = new AnimationInstruction[1]; AnimationInstruction[] arg_E8B7_0 = array; int arg_E8B7_1 = 0; AnimInsCriteria arg_E8B2_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 2f }); AnimInsEvent.EventType arg_E8AD_0 = AnimInsEvent.EventType.PlaySound; string arg_E8AD_1 = "Scarecrow_Idle"; array13 = new float[1]; arg_E8B7_0[arg_E8B7_1] = new AnimationInstruction(arg_E8B2_0, new AnimInsEvent(arg_E8AD_0, arg_E8AD_1, array13)); arg_E8BF_0.Add(arg_E8BF_1, new Animation(arg_E8BA_0, arg_E8BA_1, arg_E8BA_2, arg_E8BA_3, arg_E8BA_4, arg_E8BA_5, arg_E8BA_6, arg_E8BA_7, arg_E8BA_8, arg_E8BA_9, arg_E8BA_10, arg_E8BA_11, arg_E8BA_12, arg_E8BA_13, arg_E8BA_14, array)); Dictionary<ushort, Animation> arg_E948_0 = xEn.xRenderComponent.dixAnimations; ushort arg_E948_1 = 3; ushort arg_E943_0 = 3; byte arg_E943_1 = 3; Texture2D arg_E943_2 = Content.Load<Texture2D>(NPC_PATH + "Halloween/Scarecrow/Idle/Right"); Vector2 arg_E943_3 = new Vector2(17f, 44f); int arg_E943_4 = 5; int arg_E943_5 = 22; int arg_E943_6 = 37; int arg_E943_7 = 51; int arg_E943_8 = 0; int arg_E943_9 = 0; int arg_E943_10 = 22; Animation.LoopSettings arg_E943_11 = Animation.LoopSettings.Looping; Animation.CancelOptions arg_E943_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_E943_13 = true; bool arg_E943_14 = true; array = new AnimationInstruction[1]; AnimationInstruction[] arg_E940_0 = array; int arg_E940_1 = 0; AnimInsCriteria arg_E93B_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 2f }); AnimInsEvent.EventType arg_E936_0 = AnimInsEvent.EventType.PlaySound; string arg_E936_1 = "Scarecrow_Idle"; array13 = new float[1]; arg_E940_0[arg_E940_1] = new AnimationInstruction(arg_E93B_0, new AnimInsEvent(arg_E936_0, arg_E936_1, array13)); arg_E948_0.Add(arg_E948_1, new Animation(arg_E943_0, arg_E943_1, arg_E943_2, arg_E943_3, arg_E943_4, arg_E943_5, arg_E943_6, arg_E943_7, arg_E943_8, arg_E943_9, arg_E943_10, arg_E943_11, arg_E943_12, arg_E943_13, arg_E943_14, array)); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(26, 20, 0f, new Vector2(0f, 4f), xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Halloween_Treat) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(30f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Halloween/Trick/Idle/Up"), new Vector2(11f, 26f), 5, 1, 23, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Halloween/Trick/Idle/Right"), new Vector2(11f, 26f), 5, 1, 23, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Halloween/Trick/Idle/Down"), new Vector2(10f, 26f), 5, 1, 20, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Halloween/Trick/Idle/Right"), new Vector2(12f, 26f), 5, 1, 23, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(26, 20, 0f, new Vector2(0f, 4f), xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Halloween_Trick) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(30f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Halloween/Treat/Idle/Up"), new Vector2(11f, 26f), 5, 1, 23, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Halloween/Treat/Idle/Right"), new Vector2(11f, 26f), 5, 1, 23, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Halloween/Treat/Idle/Down"), new Vector2(10f, 26f), 5, 1, 20, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Halloween/Treat/Idle/Right"), new Vector2(12f, 26f), 5, 1, 23, 30, 0, 0, 22, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(26, 20, 0f, new Vector2(0f, 4f), xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Fields_FarmerOak) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(35f, new Vector2(0f, 10f), xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind Fields/Farmer Oak/Idle/Down"), new Vector2(11f, 35f), 4, 1, 22, 38, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Fields_FarmerGirl) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind Fields/Farm/Brud/Idle/Down"), new Vector2(12f, 32f), 4, 15, 24, 49, 0, 0, 15, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 120f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); Dictionary<ushort, Animation> arg_F0BE_0 = xEn.xRenderComponent.dixAnimations; ushort arg_F0BE_1 = 1; ushort arg_F0B9_0 = 1; byte arg_F0B9_1 = 2; Texture2D arg_F0B9_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind Fields/Farm/Brud/Idle/Down"); Vector2 arg_F0B9_3 = new Vector2(12f, 32f); int arg_F0B9_4 = 4; int arg_F0B9_5 = 15; int arg_F0B9_6 = 24; int arg_F0B9_7 = 49; int arg_F0B9_8 = 0; int arg_F0B9_9 = 0; int arg_F0B9_10 = 15; Animation.LoopSettings arg_F0B9_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_F0B9_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_F0B9_13 = true; bool arg_F0B9_14 = true; AnimationInstruction[] array = new AnimationInstruction[1]; AnimationInstruction[] arg_F0B6_0 = array; int arg_F0B6_1 = 0; AnimInsCriteria arg_F0B1_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_F0AC_0 = AnimInsEvent.EventType.PlayAnimation; float[] array13 = new float[1]; arg_F0B6_0[arg_F0B6_1] = new AnimationInstruction(arg_F0B1_0, new AnimInsEvent(arg_F0AC_0, array13)); arg_F0BE_0.Add(arg_F0BE_1, new Animation(arg_F0B9_0, arg_F0B9_1, arg_F0B9_2, arg_F0B9_3, arg_F0B9_4, arg_F0B9_5, arg_F0B9_6, arg_F0B9_7, arg_F0B9_8, arg_F0B9_9, arg_F0B9_10, arg_F0B9_11, arg_F0B9_12, arg_F0B9_13, arg_F0B9_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Fields_MiniChicken) { xEn.xBaseStats.fMovementSpeed = 0.4f; xEn.xBaseStats.bCanBeKnockedUp = true; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 6; xEn.aiHitAnimation[1] = 6; xEn.aiHitAnimation[2] = 7; xEn.aiHitAnimation[3] = 7; xEn.bDropsAnyLoot = false; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, Content.Load<Texture2D>(NPC_PATH + "Mini Chicken/Idle/Right"), new Vector2(7f, 14f), 8, 8, 14, 17, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 3, Content.Load<Texture2D>(NPC_PATH + "Mini Chicken/Idle/Left"), new Vector2(7f, 14f), 8, 8, 14, 17, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 1, Content.Load<Texture2D>(NPC_PATH + "Mini Chicken/Walk/Right"), new Vector2(7f, 14f), 4, 8, 14, 17, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Mini Chicken/Walk/Left"), new Vector2(7f, 14f), 4, 8, 14, 17, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Dictionary<ushort, Animation> arg_F337_0 = xEn.xRenderComponent.dixAnimations; ushort arg_F337_1 = 4; ushort arg_F332_0 = 4; byte arg_F332_1 = 1; Texture2D arg_F332_2 = Content.Load<Texture2D>(NPC_PATH + "Mini Chicken/Peck/Right"); Vector2 arg_F332_3 = new Vector2(7f, 14f); int arg_F332_4 = 4; int arg_F332_5 = 9; int arg_F332_6 = 14; int arg_F332_7 = 17; int arg_F332_8 = 0; int arg_F332_9 = 0; int arg_F332_10 = 12; Animation.LoopSettings arg_F332_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_F332_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_F332_13 = true; bool arg_F332_14 = true; AnimationInstruction[] array = new AnimationInstruction[1]; AnimationInstruction[] arg_F32F_0 = array; int arg_F32F_1 = 0; AnimInsCriteria arg_F32A_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_F325_0 = AnimInsEvent.EventType.PlayAnimation; float[] array13 = new float[1]; arg_F32F_0[arg_F32F_1] = new AnimationInstruction(arg_F32A_0, new AnimInsEvent(arg_F325_0, array13)); arg_F337_0.Add(arg_F337_1, new Animation(arg_F332_0, arg_F332_1, arg_F332_2, arg_F332_3, arg_F332_4, arg_F332_5, arg_F332_6, arg_F332_7, arg_F332_8, arg_F332_9, arg_F332_10, arg_F332_11, arg_F332_12, arg_F332_13, arg_F332_14, array)); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 3, Content.Load<Texture2D>(NPC_PATH + "Mini Chicken/Peck/Left"), new Vector2(7f, 14f), 4, 9, 14, 17, 0, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); Dictionary<ushort, Animation> arg_F497_0 = xEn.xRenderComponent.dixAnimations; ushort arg_F497_1 = 6; ushort arg_F492_0 = 6; byte arg_F492_1 = 1; Texture2D arg_F492_2 = Content.Load<Texture2D>(NPC_PATH + "Mini Chicken/Damage/Right"); Vector2 arg_F492_3 = new Vector2(7f, 14f); int arg_F492_4 = 4; int arg_F492_5 = 4; int arg_F492_6 = 14; int arg_F492_7 = 17; int arg_F492_8 = 0; int arg_F492_9 = 0; int arg_F492_10 = 12; Animation.LoopSettings arg_F492_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_F492_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_F492_13 = false; bool arg_F492_14 = false; array = new AnimationInstruction[3]; AnimationInstruction[] arg_F43A_0 = array; int arg_F43A_1 = 0; AnimInsCriteria arg_F435_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 2f }); AnimInsEvent.EventType arg_F430_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 10f; arg_F43A_0[arg_F43A_1] = new AnimationInstruction(arg_F435_0, new AnimInsEvent(arg_F430_0, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.CallBackAnimation, new float[] { 1f })); AnimationInstruction[] arg_F48F_0 = array; int arg_F48F_1 = 2; AnimInsCriteria arg_F48A_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_F485_0 = AnimInsEvent.EventType.CallBackAnimation; array13 = new float[1]; arg_F48F_0[arg_F48F_1] = new AnimationInstruction(arg_F48A_0, new AnimInsEvent(arg_F485_0, array13)); arg_F497_0.Add(arg_F497_1, new Animation(arg_F492_0, arg_F492_1, arg_F492_2, arg_F492_3, arg_F492_4, arg_F492_5, arg_F492_6, arg_F492_7, arg_F492_8, arg_F492_9, arg_F492_10, arg_F492_11, arg_F492_12, arg_F492_13, arg_F492_14, array)); Dictionary<ushort, Animation> arg_F578_0 = xEn.xRenderComponent.dixAnimations; ushort arg_F578_1 = 7; ushort arg_F573_0 = 7; byte arg_F573_1 = 3; Texture2D arg_F573_2 = Content.Load<Texture2D>(NPC_PATH + "Mini Chicken/Damage/Left"); Vector2 arg_F573_3 = new Vector2(7f, 14f); int arg_F573_4 = 4; int arg_F573_5 = 4; int arg_F573_6 = 14; int arg_F573_7 = 17; int arg_F573_8 = 0; int arg_F573_9 = 0; int arg_F573_10 = 12; Animation.LoopSettings arg_F573_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_F573_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_F573_13 = false; bool arg_F573_14 = false; array = new AnimationInstruction[3]; AnimationInstruction[] arg_F51B_0 = array; int arg_F51B_1 = 0; AnimInsCriteria arg_F516_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 2f }); AnimInsEvent.EventType arg_F511_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 10f; arg_F51B_0[arg_F51B_1] = new AnimationInstruction(arg_F516_0, new AnimInsEvent(arg_F511_0, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.CallBackAnimation, new float[] { 1f })); AnimationInstruction[] arg_F570_0 = array; int arg_F570_1 = 2; AnimInsCriteria arg_F56B_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_F566_0 = AnimInsEvent.EventType.CallBackAnimation; array13 = new float[1]; arg_F570_0[arg_F570_1] = new AnimationInstruction(arg_F56B_0, new AnimInsEvent(arg_F566_0, array13)); arg_F578_0.Add(arg_F578_1, new Animation(arg_F573_0, arg_F573_1, arg_F573_2, arg_F573_3, arg_F573_4, arg_F573_5, arg_F573_6, arg_F573_7, arg_F573_8, arg_F573_9, arg_F573_10, arg_F573_11, arg_F573_12, arg_F573_13, arg_F573_14, array)); xEn.xRenderComponent.dixAnimations.Add(8, new Animation(8, 1, Content.Load<Texture2D>(NPC_PATH + "Mini Chicken/Walk/Right"), new Vector2(7f, 14f), 2, 8, 14, 17, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(9, new Animation(9, 3, Content.Load<Texture2D>(NPC_PATH + "Mini Chicken/Walk/Left"), new Vector2(7f, 23f), 2, 8, 14, 17, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(100, new Animation(100, 1, Content.Load<Texture2D>(NPC_PATH + "Mini Chicken/Idle/Right"), new Vector2(7f, 14f), 8, 8, 14, 17, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerOnceAfterXTicks, new float[] { 104f }), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 102f })) })); xEn.xRenderComponent.dixAnimations.Add(101, new Animation(101, 3, Content.Load<Texture2D>(NPC_PATH + "Mini Chicken/Idle/Left"), new Vector2(7f, 14f), 8, 8, 14, 17, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerOnceAfterXTicks, new float[] { 80f }), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 103f })) })); xEn.xRenderComponent.dixAnimations.Add(102, new Animation(102, 1, Content.Load<Texture2D>(NPC_PATH + "Mini Chicken/Peck/Right"), new Vector2(11f, 13f), 5, 9, 21, 17, 0, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 100f })) })); xEn.xRenderComponent.dixAnimations.Add(103, new Animation(103, 3, Content.Load<Texture2D>(NPC_PATH + "Mini Chicken/Peck/Left"), new Vector2(10f, 13f), 5, 9, 21, 17, 0, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 101f })) })); SortedAnimated.PreLoadMany(new SortedAnimated.SortedAnimatedEffects[] { SortedAnimated.SortedAnimatedEffects._HitEffect_WhiteFeatherParticle }); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.sAttackPhaseCategory = "Chicken"; xEn.xCollisionComponent.xMovementCollider = new SphereCollider(3f, Vector2.Zero, xEn.xTransform, 10f + (float)new Random().NextDouble(), xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Fields_RobinHood) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind Fields/Robin Hood/Idle/Down"), new Vector2(11f, 41f), 4, 1, 20, 44, 0, 0, 15, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind Fields/Robin Hood/Drum/Start"), new Vector2(15f, 42f), 4, 8, 28, 45, 0, 0, 15, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 5f })) })); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind Fields/Robin Hood/Drum/Start"), new Vector2(15f, 42f), 4, 1, 28, 45, 196, 0, 15, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Dictionary<ushort, Animation> arg_FAF0_0 = xEn.xRenderComponent.dixAnimations; ushort arg_FAF0_1 = 6; ushort arg_FAEB_0 = 6; byte arg_FAEB_1 = 2; Texture2D arg_FAEB_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind Fields/Robin Hood/Drum/Hit"); Vector2 arg_FAEB_3 = new Vector2(15f, 42f); int arg_FAEB_4 = 3; int arg_FAEB_5 = 4; int arg_FAEB_6 = 28; int arg_FAEB_7 = 45; int arg_FAEB_8 = 0; int arg_FAEB_9 = 0; int arg_FAEB_10 = 15; Animation.LoopSettings arg_FAEB_11 = Animation.LoopSettings.Looping; Animation.CancelOptions arg_FAEB_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_FAEB_13 = true; bool arg_FAEB_14 = true; AnimationInstruction[] array = new AnimationInstruction[2]; AnimationInstruction[] arg_FAAD_0 = array; int arg_FAAD_1 = 0; AnimInsCriteria arg_FAA8_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 3f }); AnimInsEvent.EventType arg_FAA3_0 = AnimInsEvent.EventType.PlaySound; string arg_FAA3_1 = "Hit_Punchy"; float[] array13 = new float[1]; arg_FAAD_0[arg_FAAD_1] = new AnimationInstruction(arg_FAA8_0, new AnimInsEvent(arg_FAA3_0, arg_FAA3_1, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAlwaysAfterXTicks, new float[] { 64f }), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 5f })); arg_FAF0_0.Add(arg_FAF0_1, new Animation(arg_FAEB_0, arg_FAEB_1, arg_FAEB_2, arg_FAEB_3, arg_FAEB_4, arg_FAEB_5, arg_FAEB_6, arg_FAEB_7, arg_FAEB_8, arg_FAEB_9, arg_FAEB_10, arg_FAEB_11, arg_FAEB_12, arg_FAEB_13, arg_FAEB_14, array)); Dictionary<ushort, Animation> arg_FB66_0 = xEn.xRenderComponent.dixAnimations; ushort arg_FB66_1 = 7; ushort arg_FB61_0 = 7; byte arg_FB61_1 = 2; Texture2D arg_FB61_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind Fields/Robin Hood/Drum/End"); Vector2 arg_FB61_3 = new Vector2(15f, 42f); int arg_FB61_4 = 4; int arg_FB61_5 = 9; int arg_FB61_6 = 28; int arg_FB61_7 = 45; int arg_FB61_8 = 0; int arg_FB61_9 = 0; int arg_FB61_10 = 15; Animation.LoopSettings arg_FB61_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_FB61_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_FB61_13 = true; bool arg_FB61_14 = true; array = new AnimationInstruction[1]; AnimationInstruction[] arg_FB5E_0 = array; int arg_FB5E_1 = 0; AnimInsCriteria arg_FB59_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_FB54_0 = AnimInsEvent.EventType.PlayAnimation; array13 = new float[1]; arg_FB5E_0[arg_FB5E_1] = new AnimationInstruction(arg_FB59_0, new AnimInsEvent(arg_FB54_0, array13)); arg_FB66_0.Add(arg_FB66_1, new Animation(arg_FB61_0, arg_FB61_1, arg_FB61_2, arg_FB61_3, arg_FB61_4, arg_FB61_5, arg_FB61_6, arg_FB61_7, arg_FB61_8, arg_FB61_9, arg_FB61_10, arg_FB61_11, arg_FB61_12, arg_FB61_13, arg_FB61_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Fields_FarmerGuy) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>(NPC_PATH + "Evergrind Fields/Farm/Cowboy/Idle/Left"), new Vector2(33f, 47f), 4, 16, 58, 55, 0, 0, 16, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAlwaysAfterXTicks, new float[] { 512f }), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); Dictionary<ushort, Animation> arg_FDEC_0 = xEn.xRenderComponent.dixAnimations; ushort arg_FDEC_1 = 1; ushort arg_FDE7_0 = 1; byte arg_FDE7_1 = 2; Texture2D arg_FDE7_2 = Content.Load<Texture2D>(NPC_PATH + "Evergrind Fields/Farm/Cowboy/Sneeze/Left"); Vector2 arg_FDE7_3 = new Vector2(31f, 43f); int arg_FDE7_4 = 4; int arg_FDE7_5 = 18; int arg_FDE7_6 = 56; int arg_FDE7_7 = 51; int arg_FDE7_8 = 0; int arg_FDE7_9 = 0; int arg_FDE7_10 = 18; Animation.LoopSettings arg_FDE7_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_FDE7_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_FDE7_13 = true; bool arg_FDE7_14 = true; AnimationInstruction[] array = new AnimationInstruction[4]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 4f }), new AnimInsEvent(AnimInsEvent.EventType.PlaySound, "Sneeze1", new float[] { 1f })); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 20f })); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 18f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 40f })); AnimationInstruction[] arg_FDE4_0 = array; int arg_FDE4_1 = 3; AnimInsCriteria arg_FDDF_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_FDDA_0 = AnimInsEvent.EventType.PlayAnimation; float[] array13 = new float[1]; arg_FDE4_0[arg_FDE4_1] = new AnimationInstruction(arg_FDDF_0, new AnimInsEvent(arg_FDDA_0, array13)); arg_FDEC_0.Add(arg_FDEC_1, new Animation(arg_FDE7_0, arg_FDE7_1, arg_FDE7_2, arg_FDE7_3, arg_FDE7_4, arg_FDE7_5, arg_FDE7_6, arg_FDE7_7, arg_FDE7_8, arg_FDE7_9, arg_FDE7_10, arg_FDE7_11, arg_FDE7_12, arg_FDE7_13, arg_FDE7_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Winterland_Skottmannen) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>(NPC_PATH + "Winterland/Poor Dad/Shovel"), new Vector2(42f, 44f), 4, 23, 74, 54, 0, 0, 23, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Winterland_Fattigbruden) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Winterland/Santa/Idle/Down"), new Vector2(14f, 34f), 4, 1, 28, 38, 0, 0, 23, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 150f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); Dictionary<ushort, Animation> arg_100FF_0 = xEn.xRenderComponent.dixAnimations; ushort arg_100FF_1 = 1; ushort arg_100FA_0 = 1; byte arg_100FA_1 = 1; Texture2D arg_100FA_2 = Content.Load<Texture2D>(NPC_PATH + "Winterland/Santa/Idle/Down"); Vector2 arg_100FA_3 = new Vector2(14f, 34f); int arg_100FA_4 = 6; int arg_100FA_5 = 16; int arg_100FA_6 = 28; int arg_100FA_7 = 38; int arg_100FA_8 = 0; int arg_100FA_9 = 0; int arg_100FA_10 = 23; Animation.LoopSettings arg_100FA_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_100FA_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_100FA_13 = true; bool arg_100FA_14 = true; AnimationInstruction[] array = new AnimationInstruction[1]; AnimationInstruction[] arg_100F7_0 = array; int arg_100F7_1 = 0; AnimInsCriteria arg_100F2_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_100ED_0 = AnimInsEvent.EventType.PlayAnimation; float[] array13 = new float[1]; arg_100F7_0[arg_100F7_1] = new AnimationInstruction(arg_100F2_0, new AnimInsEvent(arg_100ED_0, array13)); arg_100FF_0.Add(arg_100FF_1, new Animation(arg_100FA_0, arg_100FA_1, arg_100FA_2, arg_100FA_3, arg_100FA_4, arg_100FA_5, arg_100FA_6, arg_100FA_7, arg_100FA_8, arg_100FA_9, arg_100FA_10, arg_100FA_11, arg_100FA_12, arg_100FA_13, arg_100FA_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Winterland_Santa) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Winterland/Santa/Idle/Down"), new Vector2(14f, 34f), 4, 1, 28, 38, 0, 0, 23, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 150f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); Dictionary<ushort, Animation> arg_102FA_0 = xEn.xRenderComponent.dixAnimations; ushort arg_102FA_1 = 1; ushort arg_102F5_0 = 1; byte arg_102F5_1 = 1; Texture2D arg_102F5_2 = Content.Load<Texture2D>(NPC_PATH + "Winterland/Santa/Idle/Down"); Vector2 arg_102F5_3 = new Vector2(14f, 34f); int arg_102F5_4 = 6; int arg_102F5_5 = 16; int arg_102F5_6 = 28; int arg_102F5_7 = 38; int arg_102F5_8 = 0; int arg_102F5_9 = 0; int arg_102F5_10 = 23; Animation.LoopSettings arg_102F5_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_102F5_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_102F5_13 = true; bool arg_102F5_14 = true; AnimationInstruction[] array = new AnimationInstruction[1]; AnimationInstruction[] arg_102F2_0 = array; int arg_102F2_1 = 0; AnimInsCriteria arg_102ED_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_102E8_0 = AnimInsEvent.EventType.PlayAnimation; float[] array13 = new float[1]; arg_102F2_0[arg_102F2_1] = new AnimationInstruction(arg_102ED_0, new AnimInsEvent(arg_102E8_0, array13)); arg_102FA_0.Add(arg_102FA_1, new Animation(arg_102F5_0, arg_102F5_1, arg_102F5_2, arg_102F5_3, arg_102F5_4, arg_102F5_5, arg_102F5_6, arg_102F5_7, arg_102F5_8, arg_102F5_9, arg_102F5_10, arg_102F5_11, arg_102F5_12, arg_102F5_13, arg_102F5_14, array)); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Winterland_MrsClaus) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Winterland/Santa Wife/Idle/Up"), new Vector2(10f, 34f), 4, 1, 20, 38, 0, 0, 23, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Winterland/Santa Wife/Idle/Right"), new Vector2(13f, 34f), 4, 1, 24, 38, 0, 0, 23, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Winterland/Santa Wife/Idle/Down"), new Vector2(10f, 34f), 4, 1, 20, 38, 0, 0, 23, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Winterland/Santa Wife/Idle/Right"), new Vector2(11f, 34f), 4, 1, 24, 38, 0, 0, 23, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Winterland_CupcakeBoy) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(50f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Winterland/Cupcake Boy/Idle/Down"), new Vector2(9f, 28f), 4, 10, 18, 34, 0, 0, 23, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); } else if (enType == NPCCodex.NPCTypes.CarrotStubbe) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(25f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.v2QuestIndicatorOffset = new Vector2(0f, -4f); xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>("Sprites/Environment/Forest/treestump_carrot"), new Vector2(28f, 34f), 5, 1, 54, 43, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 2, Content.Load<Texture2D>("Sprites/Environment/Forest/treestump_carrot"), new Vector2(28f, 34f), 4, 9, 54, 43, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>("Sprites/Environment/Forest/treestump_carrot"), new Vector2(28f, 34f), 5, 1, 54, 43, 432, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(38, 18, 0f, new Vector2(0f, -1f), xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.RogueLike_Nurse) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Nurse/Flavor/Down"), new Vector2(20f, 51f), 4, 1, 40, 55, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerOnceAfterXTicks, new float[] { 15f }), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); Dictionary<ushort, Animation> arg_10A22_0 = xEn.xRenderComponent.dixAnimations; ushort arg_10A22_1 = 1; ushort arg_10A1D_0 = 1; byte arg_10A1D_1 = 2; Texture2D arg_10A1D_2 = Content.Load<Texture2D>(NPC_PATH + "Roguelike/Nurse/Flavor/Down"); Vector2 arg_10A1D_3 = new Vector2(20f, 51f); int arg_10A1D_4 = 4; int arg_10A1D_5 = 37; int arg_10A1D_6 = 40; int arg_10A1D_7 = 55; int arg_10A1D_8 = 0; int arg_10A1D_9 = 0; int arg_10A1D_10 = 37; Animation.LoopSettings arg_10A1D_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_10A1D_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_10A1D_13 = true; bool arg_10A1D_14 = true; AnimationInstruction[] array = new AnimationInstruction[3]; AnimationInstruction[] arg_109B4_0 = array; int arg_109B4_1 = 0; AnimInsCriteria arg_109AF_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 24f }); AnimInsEvent.EventType arg_109AA_0 = AnimInsEvent.EventType.PlaySound; string arg_109AA_1 = "Nurse_SyringeTick"; float[] array13 = new float[1]; arg_109B4_0[arg_109B4_1] = new AnimationInstruction(arg_109AF_0, new AnimInsEvent(arg_109AA_0, arg_109AA_1, array13)); AnimationInstruction[] arg_109EC_0 = array; int arg_109EC_1 = 1; AnimInsCriteria arg_109E7_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 28f }); AnimInsEvent.EventType arg_109E2_0 = AnimInsEvent.EventType.PlaySound; string arg_109E2_1 = "Nurse_SyringeTick"; array13 = new float[1]; arg_109EC_0[arg_109EC_1] = new AnimationInstruction(arg_109E7_0, new AnimInsEvent(arg_109E2_0, arg_109E2_1, array13)); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })); arg_10A22_0.Add(arg_10A22_1, new Animation(arg_10A1D_0, arg_10A1D_1, arg_10A1D_2, arg_10A1D_3, arg_10A1D_4, arg_10A1D_5, arg_10A1D_6, arg_10A1D_7, arg_10A1D_8, arg_10A1D_9, arg_10A1D_10, arg_10A1D_11, arg_10A1D_12, arg_10A1D_13, arg_10A1D_14, array)); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Nurse/Flavor/Down"), new Vector2(20f, 51f), 4, 1, 40, 55, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerOnceAfterXTicks, new float[] { 300f }), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })) })); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.RogueLike_MayorHobo) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Poor/Idle/Up"), new Vector2(14f, 32f), 4, 1, 28, 37, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Poor/Idle/Right"), new Vector2(12f, 33f), 4, 1, 23, 37, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Poor/Idle/Down"), new Vector2(14f, 32f), 4, 1, 28, 37, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Poor/Idle/Right"), new Vector2(12f, 33f), 4, 1, 23, 37, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Poor/Walk/Up"), new Vector2(14f, 32f), 4, 8, 28, 37, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Poor/Walk/Right"), new Vector2(12f, 33f), 4, 8, 23, 37, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Poor/Walk/Up"), new Vector2(14f, 32f), 4, 8, 28, 37, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Poor/Walk/Right"), new Vector2(12f, 33f), 4, 8, 23, 37, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.RogueLike_MayorMiddle) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Idle/Up"), new Vector2(14f, 32f), 4, 1, 28, 37, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Idle/Right"), new Vector2(12f, 33f), 4, 1, 23, 37, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Idle/Down"), new Vector2(14f, 32f), 4, 1, 28, 37, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Idle/Right"), new Vector2(12f, 33f), 4, 1, 23, 37, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Walk/Up"), new Vector2(14f, 32f), 4, 8, 28, 37, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Walk/Right"), new Vector2(12f, 33f), 4, 8, 23, 37, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Walk/Up"), new Vector2(14f, 32f), 4, 8, 28, 37, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Walk/Right"), new Vector2(12f, 33f), 4, 8, 23, 37, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.RogueLike_MayorRich) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Idle/Up"), new Vector2(14f, 38f), 4, 1, 28, 43, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Idle/Right"), new Vector2(12f, 38f), 4, 1, 23, 43, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Idle/Down"), new Vector2(14f, 38f), 4, 1, 28, 43, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Idle/Right"), new Vector2(12f, 38f), 4, 1, 23, 43, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Walk/Up"), new Vector2(14f, 38f), 4, 8, 28, 43, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Walk/Right"), new Vector2(12f, 38f), 4, 8, 23, 43, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Walk/Up"), new Vector2(14f, 38f), 4, 8, 28, 43, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "Roguelike/Mayor/Middle/Walk/Right"), new Vector2(12f, 38f), 4, 8, 23, 43, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.RogueLike_FriendlyBloomo) { xEn.bIsInteractable = false; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.bSyncAnimationWithServer = false; xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 1f; xEn.enType = enType; xEn.xBehaviour = new NPC_ArcadeMode_Bloomie(xEn); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; string MONSTER_PATH2 = "Sprites/Monster/"; xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(MONSTER_PATH2 + "Pillar Mountains/Blomma/Appear/Right"), new Vector2(44f, 51f), 4, 1, 82, 64, 0, 0, 8, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(MONSTER_PATH2 + "Pillar Mountains/Blomma/Appear/Right"), new Vector2(41f, 51f), 4, 1, 82, 64, 0, 0, 8, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(MONSTER_PATH2 + "Pillar Mountains/Blomma/Idle/Right"), new Vector2(47f, 52f), 4, 10, 83, 63, 0, 0, 10, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(MONSTER_PATH2 + "Pillar Mountains/Blomma/Idle/Right"), new Vector2(39f, 52f), 4, 10, 83, 63, 0, 0, 10, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(10, new Animation(10, 2, Content.Load<Texture2D>(MONSTER_PATH2 + "Pillar Mountains/Blomma/Appear/Right"), new Vector2(44f, 51f), 4, 4, 82, 64, 1066, 0, 19, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 4f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 2f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 12f })) })); xEn.xRenderComponent.dixAnimations[10].bReversePlayback = true; xEn.xRenderComponent.dixAnimations.Add(11, new Animation(11, 3, Content.Load<Texture2D>(MONSTER_PATH2 + "Pillar Mountains/Blomma/Appear/Right"), new Vector2(41f, 51f), 4, 4, 82, 64, 1066, 0, 19, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 4f }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[] { 2f })), new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 13f })) })); xEn.xRenderComponent.dixAnimations[11].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations[11].bReversePlayback = true; xEn.xRenderComponent.dixAnimations.Add(12, new Animation(12, 2, Content.Load<Texture2D>(MONSTER_PATH2 + "Pillar Mountains/Blomma/Appear/Right"), new Vector2(44f, 51f), 4, 5, 82, 64, 984, 0, 19, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 6f })) })); xEn.xRenderComponent.dixAnimations.Add(13, new Animation(13, 3, Content.Load<Texture2D>(MONSTER_PATH2 + "Pillar Mountains/Blomma/Appear/Right"), new Vector2(41f, 51f), 4, 5, 82, 64, 984, 0, 19, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[] { new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 7f })) })); xEn.xRenderComponent.dixAnimations[13].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_11B73_0 = xEn.xRenderComponent.dixAnimations; ushort arg_11B73_1 = 14; ushort arg_11B6E_0 = 14; byte arg_11B6E_1 = 2; Texture2D arg_11B6E_2 = Content.Load<Texture2D>(MONSTER_PATH2 + "Pillar Mountains/Blomma/Attack/Right"); Vector2 arg_11B6E_3 = new Vector2(66f, 54f); int arg_11B6E_4 = 4; int arg_11B6E_5 = 14; int arg_11B6E_6 = 118; int arg_11B6E_7 = 88; int arg_11B6E_8 = 0; int arg_11B6E_9 = 0; int arg_11B6E_10 = 14; Animation.LoopSettings arg_11B6E_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_11B6E_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_11B6E_13 = false; bool arg_11B6E_14 = false; AnimationInstruction[] array = new AnimationInstruction[2]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 6f })); AnimationInstruction[] arg_11B6B_0 = array; int arg_11B6B_1 = 1; AnimInsCriteria arg_11B66_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 4f }); AnimInsEvent.EventType arg_11B61_0 = AnimInsEvent.EventType.PlaySound; string arg_11B61_1 = "Halloweed_Attack"; float[] array13 = new float[1]; arg_11B6B_0[arg_11B6B_1] = new AnimationInstruction(arg_11B66_0, new AnimInsEvent(arg_11B61_0, arg_11B61_1, array13)); arg_11B73_0.Add(arg_11B73_1, new Animation(arg_11B6E_0, arg_11B6E_1, arg_11B6E_2, arg_11B6E_3, arg_11B6E_4, arg_11B6E_5, arg_11B6E_6, arg_11B6E_7, arg_11B6E_8, arg_11B6E_9, arg_11B6E_10, arg_11B6E_11, arg_11B6E_12, arg_11B6E_13, arg_11B6E_14, array)); Dictionary<ushort, Animation> arg_11C2D_0 = xEn.xRenderComponent.dixAnimations; ushort arg_11C2D_1 = 15; ushort arg_11C28_0 = 15; byte arg_11C28_1 = 3; Texture2D arg_11C28_2 = Content.Load<Texture2D>(MONSTER_PATH2 + "Pillar Mountains/Blomma/Attack/Right"); Vector2 arg_11C28_3 = new Vector2(55f, 54f); int arg_11C28_4 = 4; int arg_11C28_5 = 14; int arg_11C28_6 = 118; int arg_11C28_7 = 88; int arg_11C28_8 = 0; int arg_11C28_9 = 0; int arg_11C28_10 = 14; Animation.LoopSettings arg_11C28_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_11C28_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_11C28_13 = false; bool arg_11C28_14 = false; array = new AnimationInstruction[2]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 7f })); AnimationInstruction[] arg_11C25_0 = array; int arg_11C25_1 = 1; AnimInsCriteria arg_11C20_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 4f }); AnimInsEvent.EventType arg_11C1B_0 = AnimInsEvent.EventType.PlaySound; string arg_11C1B_1 = "Halloweed_Attack"; array13 = new float[1]; arg_11C25_0[arg_11C25_1] = new AnimationInstruction(arg_11C20_0, new AnimInsEvent(arg_11C1B_0, arg_11C1B_1, array13)); arg_11C2D_0.Add(arg_11C2D_1, new Animation(arg_11C28_0, arg_11C28_1, arg_11C28_2, arg_11C28_3, arg_11C28_4, arg_11C28_5, arg_11C28_6, arg_11C28_7, arg_11C28_8, arg_11C28_9, arg_11C28_10, arg_11C28_11, arg_11C28_12, arg_11C28_13, arg_11C28_14, array)); xEn.xRenderComponent.dixAnimations[15].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_11CF0_0 = xEn.xRenderComponent.dixAnimations; ushort arg_11CF0_1 = 22; ushort arg_11CEB_0 = 22; byte arg_11CEB_1 = 2; Texture2D arg_11CEB_2 = Content.Load<Texture2D>(MONSTER_PATH2 + "Pillar Mountains/Blomma/Turn/Right"); Vector2 arg_11CEB_3 = new Vector2(48f, 44f); int arg_11CEB_4 = 4; int arg_11CEB_5 = 5; int arg_11CEB_6 = 93; int arg_11CEB_7 = 53; int arg_11CEB_8 = 0; int arg_11CEB_9 = 0; int arg_11CEB_10 = 5; Animation.LoopSettings arg_11CEB_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_11CEB_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_11CEB_13 = false; bool arg_11CEB_14 = false; array = new AnimationInstruction[2]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 7f })); AnimationInstruction[] arg_11CE8_0 = array; int arg_11CE8_1 = 1; AnimInsCriteria arg_11CE3_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_11CDE_0 = AnimInsEvent.EventType.PlaySound; string arg_11CDE_1 = "Halloweed_Turn"; array13 = new float[1]; arg_11CE8_0[arg_11CE8_1] = new AnimationInstruction(arg_11CE3_0, new AnimInsEvent(arg_11CDE_0, arg_11CDE_1, array13)); arg_11CF0_0.Add(arg_11CF0_1, new Animation(arg_11CEB_0, arg_11CEB_1, arg_11CEB_2, arg_11CEB_3, arg_11CEB_4, arg_11CEB_5, arg_11CEB_6, arg_11CEB_7, arg_11CEB_8, arg_11CEB_9, arg_11CEB_10, arg_11CEB_11, arg_11CEB_12, arg_11CEB_13, arg_11CEB_14, array)); Dictionary<ushort, Animation> arg_11D9B_0 = xEn.xRenderComponent.dixAnimations; ushort arg_11D9B_1 = 23; ushort arg_11D96_0 = 23; byte arg_11D96_1 = 3; Texture2D arg_11D96_2 = Content.Load<Texture2D>(MONSTER_PATH2 + "Pillar Mountains/Blomma/Turn/Right"); Vector2 arg_11D96_3 = new Vector2(48f, 44f); int arg_11D96_4 = 4; int arg_11D96_5 = 5; int arg_11D96_6 = 93; int arg_11D96_7 = 53; int arg_11D96_8 = 0; int arg_11D96_9 = 0; int arg_11D96_10 = 5; Animation.LoopSettings arg_11D96_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_11D96_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_11D96_13 = false; bool arg_11D96_14 = false; array = new AnimationInstruction[2]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 6f })); AnimationInstruction[] arg_11D93_0 = array; int arg_11D93_1 = 1; AnimInsCriteria arg_11D8E_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_11D89_0 = AnimInsEvent.EventType.PlaySound; string arg_11D89_1 = "Halloweed_Turn"; array13 = new float[1]; arg_11D93_0[arg_11D93_1] = new AnimationInstruction(arg_11D8E_0, new AnimInsEvent(arg_11D89_0, arg_11D89_1, array13)); arg_11D9B_0.Add(arg_11D9B_1, new Animation(arg_11D96_0, arg_11D96_1, arg_11D96_2, arg_11D96_3, arg_11D96_4, arg_11D96_5, arg_11D96_6, arg_11D96_7, arg_11D96_8, arg_11D96_9, arg_11D96_10, arg_11D96_11, arg_11D96_12, arg_11D96_13, arg_11D96_14, array)); xEn.xRenderComponent.dixAnimations[23].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.SwitchAnimation(6, Animation.CancelOptions.IgnoreIfPlaying); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 9, 0f, Vector2.Zero, xEn.xTransform, 100000f, xEn); xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true; xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.CombatPet_IceGolemLv1) { xEn.bIsInteractable = false; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.bRunNetworkUpdatesInCutscenes = true; xEn.bUpdateInCutscene = true; xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 2f; xEn.enType = enType; xEn.xBehaviour = new FrostyFriendLevelOneAI(xEn); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 16; xEn.aiHitAnimation[1] = 17; xEn.aiHitAnimation[2] = 18; xEn.aiHitAnimation[3] = 19; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Idle/Up"), new Vector2(11f, 14f), 4, 11, 23, 20, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Idle/Right"), new Vector2(11f, 14f), 4, 11, 23, 20, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Idle/Down"), new Vector2(11f, 14f), 4, 11, 23, 20, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Idle/Right"), new Vector2(11f, 14f), 4, 11, 23, 20, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Move/Up"), new Vector2(11f, 16f), 4, 12, 23, 22, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Move/Right"), new Vector2(12f, 16f), 4, 12, 24, 22, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Move/Down"), new Vector2(11f, 16f), 4, 12, 23, 22, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Move/Right"), new Vector2(11f, 16f), 4, 12, 24, 22, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_1228F_0 = xEn.xRenderComponent.dixAnimations; ushort arg_1228F_1 = 8; ushort arg_1228A_0 = 8; byte arg_1228A_1 = 0; Texture2D arg_1228A_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/AttackA/Up"); Vector2 arg_1228A_3 = new Vector2(10f, 18f); int arg_1228A_4 = 4; int arg_1228A_5 = 9; int arg_1228A_6 = 21; int arg_1228A_7 = 32; int arg_1228A_8 = 0; int arg_1228A_9 = 0; int arg_1228A_10 = 30; Animation.LoopSettings arg_1228A_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_1228A_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_1228A_13 = false; bool arg_1228A_14 = true; AnimationInstruction[] array = new AnimationInstruction[4]; AnimationInstruction[] arg_121EC_0 = array; int arg_121EC_1 = 0; AnimInsCriteria arg_121E7_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_121E2_0 = AnimInsEvent.EventType.PlaySound; string arg_121E2_1 = "frosty_lvl1_headbuttA"; float[] array13 = new float[1]; arg_121EC_0[arg_121EC_1] = new AnimationInstruction(arg_121E7_0, new AnimInsEvent(arg_121E2_0, arg_121E2_1, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, -15f })); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, -10f })); AnimationInstruction[] arg_12287_0 = array; int arg_12287_1 = 3; AnimInsCriteria arg_12282_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_1227D_0 = AnimInsEvent.EventType.PlayAnimation; array13 = new float[1]; arg_12287_0[arg_12287_1] = new AnimationInstruction(arg_12282_0, new AnimInsEvent(arg_1227D_0, array13)); arg_1228F_0.Add(arg_1228F_1, new Animation(arg_1228A_0, arg_1228A_1, arg_1228A_2, arg_1228A_3, arg_1228A_4, arg_1228A_5, arg_1228A_6, arg_1228A_7, arg_1228A_8, arg_1228A_9, arg_1228A_10, arg_1228A_11, arg_1228A_12, arg_1228A_13, arg_1228A_14, array)); Dictionary<ushort, Animation> arg_123B1_0 = xEn.xRenderComponent.dixAnimations; ushort arg_123B1_1 = 9; ushort arg_123AC_0 = 9; byte arg_123AC_1 = 1; Texture2D arg_123AC_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/AttackA/Right"); Vector2 arg_123AC_3 = new Vector2(12f, 13f); int arg_123AC_4 = 4; int arg_123AC_5 = 9; int arg_123AC_6 = 33; int arg_123AC_7 = 19; int arg_123AC_8 = 0; int arg_123AC_9 = 0; int arg_123AC_10 = 30; Animation.LoopSettings arg_123AC_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_123AC_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_123AC_13 = false; bool arg_123AC_14 = true; array = new AnimationInstruction[4]; AnimationInstruction[] arg_12305_0 = array; int arg_12305_1 = 0; AnimInsCriteria arg_12300_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_122FB_0 = AnimInsEvent.EventType.PlaySound; string arg_122FB_1 = "frosty_lvl1_headbuttA"; array13 = new float[1]; arg_12305_0[arg_12305_1] = new AnimationInstruction(arg_12300_0, new AnimInsEvent(arg_122FB_0, arg_122FB_1, array13)); AnimationInstruction[] arg_12340_0 = array; int arg_12340_1 = 1; AnimInsCriteria arg_1233B_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }); AnimInsEvent.EventType arg_12336_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = 15f; arg_12340_0[arg_12340_1] = new AnimationInstruction(arg_1233B_0, new AnimInsEvent(arg_12336_0, array13)); AnimationInstruction[] arg_1237B_0 = array; int arg_1237B_1 = 2; AnimInsCriteria arg_12376_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }); AnimInsEvent.EventType arg_12371_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = 10f; arg_1237B_0[arg_1237B_1] = new AnimationInstruction(arg_12376_0, new AnimInsEvent(arg_12371_0, array13)); array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })); arg_123B1_0.Add(arg_123B1_1, new Animation(arg_123AC_0, arg_123AC_1, arg_123AC_2, arg_123AC_3, arg_123AC_4, arg_123AC_5, arg_123AC_6, arg_123AC_7, arg_123AC_8, arg_123AC_9, arg_123AC_10, arg_123AC_11, arg_123AC_12, arg_123AC_13, arg_123AC_14, array)); Dictionary<ushort, Animation> arg_124D3_0 = xEn.xRenderComponent.dixAnimations; ushort arg_124D3_1 = 10; ushort arg_124CE_0 = 10; byte arg_124CE_1 = 2; Texture2D arg_124CE_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/AttackA/Down"); Vector2 arg_124CE_3 = new Vector2(10f, 17f); int arg_124CE_4 = 4; int arg_124CE_5 = 9; int arg_124CE_6 = 21; int arg_124CE_7 = 32; int arg_124CE_8 = 0; int arg_124CE_9 = 0; int arg_124CE_10 = 30; Animation.LoopSettings arg_124CE_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_124CE_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_124CE_13 = false; bool arg_124CE_14 = true; array = new AnimationInstruction[4]; AnimationInstruction[] arg_12427_0 = array; int arg_12427_1 = 0; AnimInsCriteria arg_12422_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_1241D_0 = AnimInsEvent.EventType.PlaySound; string arg_1241D_1 = "frosty_lvl1_headbuttA"; array13 = new float[1]; arg_12427_0[arg_12427_1] = new AnimationInstruction(arg_12422_0, new AnimInsEvent(arg_1241D_0, arg_1241D_1, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, 15f })); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, 10f })); array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })); arg_124D3_0.Add(arg_124D3_1, new Animation(arg_124CE_0, arg_124CE_1, arg_124CE_2, arg_124CE_3, arg_124CE_4, arg_124CE_5, arg_124CE_6, arg_124CE_7, arg_124CE_8, arg_124CE_9, arg_124CE_10, arg_124CE_11, arg_124CE_12, arg_124CE_13, arg_124CE_14, array)); Dictionary<ushort, Animation> arg_125F5_0 = xEn.xRenderComponent.dixAnimations; ushort arg_125F5_1 = 11; ushort arg_125F0_0 = 11; byte arg_125F0_1 = 3; Texture2D arg_125F0_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/AttackA/Right"); Vector2 arg_125F0_3 = new Vector2(20f, 13f); int arg_125F0_4 = 4; int arg_125F0_5 = 9; int arg_125F0_6 = 33; int arg_125F0_7 = 19; int arg_125F0_8 = 0; int arg_125F0_9 = 0; int arg_125F0_10 = 30; Animation.LoopSettings arg_125F0_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_125F0_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_125F0_13 = false; bool arg_125F0_14 = true; array = new AnimationInstruction[4]; AnimationInstruction[] arg_12549_0 = array; int arg_12549_1 = 0; AnimInsCriteria arg_12544_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_1253F_0 = AnimInsEvent.EventType.PlaySound; string arg_1253F_1 = "frosty_lvl1_headbuttA"; array13 = new float[1]; arg_12549_0[arg_12549_1] = new AnimationInstruction(arg_12544_0, new AnimInsEvent(arg_1253F_0, arg_1253F_1, array13)); AnimationInstruction[] arg_12584_0 = array; int arg_12584_1 = 1; AnimInsCriteria arg_1257F_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }); AnimInsEvent.EventType arg_1257A_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = -15f; arg_12584_0[arg_12584_1] = new AnimationInstruction(arg_1257F_0, new AnimInsEvent(arg_1257A_0, array13)); AnimationInstruction[] arg_125BF_0 = array; int arg_125BF_1 = 2; AnimInsCriteria arg_125BA_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }); AnimInsEvent.EventType arg_125B5_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = -10f; arg_125BF_0[arg_125BF_1] = new AnimationInstruction(arg_125BA_0, new AnimInsEvent(arg_125B5_0, array13)); array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 3f })); arg_125F5_0.Add(arg_125F5_1, new Animation(arg_125F0_0, arg_125F0_1, arg_125F0_2, arg_125F0_3, arg_125F0_4, arg_125F0_5, arg_125F0_6, arg_125F0_7, arg_125F0_8, arg_125F0_9, arg_125F0_10, arg_125F0_11, arg_125F0_12, arg_125F0_13, arg_125F0_14, array)); xEn.xRenderComponent.dixAnimations[11].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_1279C_0 = xEn.xRenderComponent.dixAnimations; ushort arg_1279C_1 = 12; ushort arg_12797_0 = 12; byte arg_12797_1 = 0; Texture2D arg_12797_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/AttackB/Up"); Vector2 arg_12797_3 = new Vector2(15f, 20f); int arg_12797_4 = 4; int arg_12797_5 = 9; int arg_12797_6 = 30; int arg_12797_7 = 29; int arg_12797_8 = 0; int arg_12797_9 = 0; int arg_12797_10 = 30; Animation.LoopSettings arg_12797_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_12797_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_12797_13 = false; bool arg_12797_14 = true; array = new AnimationInstruction[6]; AnimationInstruction[] arg_12683_0 = array; int arg_12683_1 = 0; AnimInsCriteria arg_1267E_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_12679_0 = AnimInsEvent.EventType.PlaySound; string arg_12679_1 = "frosty_lvl1_roundhouseA"; array13 = new float[1]; arg_12683_0[arg_12683_1] = new AnimationInstruction(arg_1267E_0, new AnimInsEvent(arg_12679_0, arg_12679_1, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, -12f })); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, -10f })); array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, -8f })); array[4] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 8f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, -5f })); AnimationInstruction[] arg_12794_0 = array; int arg_12794_1 = 5; AnimInsCriteria arg_1278F_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_1278A_0 = AnimInsEvent.EventType.PlayAnimation; array13 = new float[1]; arg_12794_0[arg_12794_1] = new AnimationInstruction(arg_1278F_0, new AnimInsEvent(arg_1278A_0, array13)); arg_1279C_0.Add(arg_1279C_1, new Animation(arg_12797_0, arg_12797_1, arg_12797_2, arg_12797_3, arg_12797_4, arg_12797_5, arg_12797_6, arg_12797_7, arg_12797_8, arg_12797_9, arg_12797_10, arg_12797_11, arg_12797_12, arg_12797_13, arg_12797_14, array)); Dictionary<ushort, Animation> arg_12934_0 = xEn.xRenderComponent.dixAnimations; ushort arg_12934_1 = 13; ushort arg_1292F_0 = 13; byte arg_1292F_1 = 1; Texture2D arg_1292F_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/AttackB/Right"); Vector2 arg_1292F_3 = new Vector2(13f, 20f); int arg_1292F_4 = 4; int arg_1292F_5 = 9; int arg_1292F_6 = 32; int arg_1292F_7 = 27; int arg_1292F_8 = 0; int arg_1292F_9 = 0; int arg_1292F_10 = 30; Animation.LoopSettings arg_1292F_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_1292F_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_1292F_13 = false; bool arg_1292F_14 = true; array = new AnimationInstruction[6]; AnimationInstruction[] arg_12812_0 = array; int arg_12812_1 = 0; AnimInsCriteria arg_1280D_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_12808_0 = AnimInsEvent.EventType.PlaySound; string arg_12808_1 = "frosty_lvl1_roundhouseA"; array13 = new float[1]; arg_12812_0[arg_12812_1] = new AnimationInstruction(arg_1280D_0, new AnimInsEvent(arg_12808_0, arg_12808_1, array13)); AnimationInstruction[] arg_1284D_0 = array; int arg_1284D_1 = 1; AnimInsCriteria arg_12848_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }); AnimInsEvent.EventType arg_12843_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = 12f; arg_1284D_0[arg_1284D_1] = new AnimationInstruction(arg_12848_0, new AnimInsEvent(arg_12843_0, array13)); AnimationInstruction[] arg_12888_0 = array; int arg_12888_1 = 2; AnimInsCriteria arg_12883_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }); AnimInsEvent.EventType arg_1287E_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = 10f; arg_12888_0[arg_12888_1] = new AnimationInstruction(arg_12883_0, new AnimInsEvent(arg_1287E_0, array13)); AnimationInstruction[] arg_128C3_0 = array; int arg_128C3_1 = 3; AnimInsCriteria arg_128BE_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }); AnimInsEvent.EventType arg_128B9_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = 8f; arg_128C3_0[arg_128C3_1] = new AnimationInstruction(arg_128BE_0, new AnimInsEvent(arg_128B9_0, array13)); AnimationInstruction[] arg_128FE_0 = array; int arg_128FE_1 = 4; AnimInsCriteria arg_128F9_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 8f }); AnimInsEvent.EventType arg_128F4_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = 5f; arg_128FE_0[arg_128FE_1] = new AnimationInstruction(arg_128F9_0, new AnimInsEvent(arg_128F4_0, array13)); array[5] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })); arg_12934_0.Add(arg_12934_1, new Animation(arg_1292F_0, arg_1292F_1, arg_1292F_2, arg_1292F_3, arg_1292F_4, arg_1292F_5, arg_1292F_6, arg_1292F_7, arg_1292F_8, arg_1292F_9, arg_1292F_10, arg_1292F_11, arg_1292F_12, arg_1292F_13, arg_1292F_14, array)); Dictionary<ushort, Animation> arg_12ACC_0 = xEn.xRenderComponent.dixAnimations; ushort arg_12ACC_1 = 14; ushort arg_12AC7_0 = 14; byte arg_12AC7_1 = 2; Texture2D arg_12AC7_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/AttackB/Down"); Vector2 arg_12AC7_3 = new Vector2(14f, 20f); int arg_12AC7_4 = 4; int arg_12AC7_5 = 9; int arg_12AC7_6 = 28; int arg_12AC7_7 = 31; int arg_12AC7_8 = 0; int arg_12AC7_9 = 0; int arg_12AC7_10 = 30; Animation.LoopSettings arg_12AC7_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_12AC7_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_12AC7_13 = false; bool arg_12AC7_14 = true; array = new AnimationInstruction[6]; AnimationInstruction[] arg_129AA_0 = array; int arg_129AA_1 = 0; AnimInsCriteria arg_129A5_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_129A0_0 = AnimInsEvent.EventType.PlaySound; string arg_129A0_1 = "frosty_lvl1_roundhouseA"; array13 = new float[1]; arg_129AA_0[arg_129AA_1] = new AnimationInstruction(arg_129A5_0, new AnimInsEvent(arg_129A0_0, arg_129A0_1, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, 12f })); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, 10f })); array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, 8f })); array[4] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 8f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, 5f })); array[5] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })); arg_12ACC_0.Add(arg_12ACC_1, new Animation(arg_12AC7_0, arg_12AC7_1, arg_12AC7_2, arg_12AC7_3, arg_12AC7_4, arg_12AC7_5, arg_12AC7_6, arg_12AC7_7, arg_12AC7_8, arg_12AC7_9, arg_12AC7_10, arg_12AC7_11, arg_12AC7_12, arg_12AC7_13, arg_12AC7_14, array)); Dictionary<ushort, Animation> arg_12C64_0 = xEn.xRenderComponent.dixAnimations; ushort arg_12C64_1 = 15; ushort arg_12C5F_0 = 15; byte arg_12C5F_1 = 3; Texture2D arg_12C5F_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/AttackB/Right"); Vector2 arg_12C5F_3 = new Vector2(18f, 20f); int arg_12C5F_4 = 4; int arg_12C5F_5 = 9; int arg_12C5F_6 = 32; int arg_12C5F_7 = 27; int arg_12C5F_8 = 0; int arg_12C5F_9 = 0; int arg_12C5F_10 = 30; Animation.LoopSettings arg_12C5F_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_12C5F_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_12C5F_13 = false; bool arg_12C5F_14 = true; array = new AnimationInstruction[6]; AnimationInstruction[] arg_12B42_0 = array; int arg_12B42_1 = 0; AnimInsCriteria arg_12B3D_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_12B38_0 = AnimInsEvent.EventType.PlaySound; string arg_12B38_1 = "frosty_lvl1_roundhouseA"; array13 = new float[1]; arg_12B42_0[arg_12B42_1] = new AnimationInstruction(arg_12B3D_0, new AnimInsEvent(arg_12B38_0, arg_12B38_1, array13)); AnimationInstruction[] arg_12B7D_0 = array; int arg_12B7D_1 = 1; AnimInsCriteria arg_12B78_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }); AnimInsEvent.EventType arg_12B73_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = -12f; arg_12B7D_0[arg_12B7D_1] = new AnimationInstruction(arg_12B78_0, new AnimInsEvent(arg_12B73_0, array13)); AnimationInstruction[] arg_12BB8_0 = array; int arg_12BB8_1 = 2; AnimInsCriteria arg_12BB3_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }); AnimInsEvent.EventType arg_12BAE_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = -10f; arg_12BB8_0[arg_12BB8_1] = new AnimationInstruction(arg_12BB3_0, new AnimInsEvent(arg_12BAE_0, array13)); AnimationInstruction[] arg_12BF3_0 = array; int arg_12BF3_1 = 3; AnimInsCriteria arg_12BEE_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }); AnimInsEvent.EventType arg_12BE9_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = -8f; arg_12BF3_0[arg_12BF3_1] = new AnimationInstruction(arg_12BEE_0, new AnimInsEvent(arg_12BE9_0, array13)); AnimationInstruction[] arg_12C2E_0 = array; int arg_12C2E_1 = 4; AnimInsCriteria arg_12C29_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 8f }); AnimInsEvent.EventType arg_12C24_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = -5f; arg_12C2E_0[arg_12C2E_1] = new AnimationInstruction(arg_12C29_0, new AnimInsEvent(arg_12C24_0, array13)); array[5] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 3f })); arg_12C64_0.Add(arg_12C64_1, new Animation(arg_12C5F_0, arg_12C5F_1, arg_12C5F_2, arg_12C5F_3, arg_12C5F_4, arg_12C5F_5, arg_12C5F_6, arg_12C5F_7, arg_12C5F_8, arg_12C5F_9, arg_12C5F_10, arg_12C5F_11, arg_12C5F_12, arg_12C5F_13, arg_12C5F_14, array)); xEn.xRenderComponent.dixAnimations[15].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_12D5A_0 = xEn.xRenderComponent.dixAnimations; ushort arg_12D5A_1 = 16; ushort arg_12D55_0 = 16; byte arg_12D55_1 = 0; Texture2D arg_12D55_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Damage/Up"); Vector2 arg_12D55_3 = new Vector2(12f, 11f); int arg_12D55_4 = 4; int arg_12D55_5 = 2; int arg_12D55_6 = 25; int arg_12D55_7 = 17; int arg_12D55_8 = 0; int arg_12D55_9 = 0; int arg_12D55_10 = 30; Animation.LoopSettings arg_12D55_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_12D55_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_12D55_13 = false; bool arg_12D55_14 = true; array = new AnimationInstruction[3]; AnimationInstruction[] arg_12CF1_0 = array; int arg_12CF1_1 = 0; AnimInsCriteria arg_12CEC_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_12CE7_0 = AnimInsEvent.EventType.PlaySound; string arg_12CE7_1 = "frosty_lvl1_damage"; array13 = new float[1]; arg_12CF1_0[arg_12CF1_1] = new AnimationInstruction(arg_12CEC_0, new AnimInsEvent(arg_12CE7_0, arg_12CE7_1, array13)); AnimationInstruction[] arg_12D2D_0 = array; int arg_12D2D_1 = 1; AnimInsCriteria arg_12D28_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }); AnimInsEvent.EventType arg_12D23_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 10f; arg_12D2D_0[arg_12D2D_1] = new AnimationInstruction(arg_12D28_0, new AnimInsEvent(arg_12D23_0, array13)); AnimationInstruction[] arg_12D52_0 = array; int arg_12D52_1 = 2; AnimInsCriteria arg_12D4D_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_12D48_0 = AnimInsEvent.EventType.PlayAnimation; array13 = new float[1]; arg_12D52_0[arg_12D52_1] = new AnimationInstruction(arg_12D4D_0, new AnimInsEvent(arg_12D48_0, array13)); arg_12D5A_0.Add(arg_12D5A_1, new Animation(arg_12D55_0, arg_12D55_1, arg_12D55_2, arg_12D55_3, arg_12D55_4, arg_12D55_5, arg_12D55_6, arg_12D55_7, arg_12D55_8, arg_12D55_9, arg_12D55_10, arg_12D55_11, arg_12D55_12, arg_12D55_13, arg_12D55_14, array)); Dictionary<ushort, Animation> arg_12E41_0 = xEn.xRenderComponent.dixAnimations; ushort arg_12E41_1 = 17; ushort arg_12E3C_0 = 17; byte arg_12E3C_1 = 1; Texture2D arg_12E3C_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Damage/Right"); Vector2 arg_12E3C_3 = new Vector2(12f, 11f); int arg_12E3C_4 = 4; int arg_12E3C_5 = 2; int arg_12E3C_6 = 25; int arg_12E3C_7 = 17; int arg_12E3C_8 = 0; int arg_12E3C_9 = 0; int arg_12E3C_10 = 30; Animation.LoopSettings arg_12E3C_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_12E3C_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_12E3C_13 = false; bool arg_12E3C_14 = true; array = new AnimationInstruction[3]; AnimationInstruction[] arg_12DCF_0 = array; int arg_12DCF_1 = 0; AnimInsCriteria arg_12DCA_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_12DC5_0 = AnimInsEvent.EventType.PlaySound; string arg_12DC5_1 = "frosty_lvl1_damage"; array13 = new float[1]; arg_12DCF_0[arg_12DCF_1] = new AnimationInstruction(arg_12DCA_0, new AnimInsEvent(arg_12DC5_0, arg_12DC5_1, array13)); AnimationInstruction[] arg_12E0B_0 = array; int arg_12E0B_1 = 1; AnimInsCriteria arg_12E06_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }); AnimInsEvent.EventType arg_12E01_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 10f; arg_12E0B_0[arg_12E0B_1] = new AnimationInstruction(arg_12E06_0, new AnimInsEvent(arg_12E01_0, array13)); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })); arg_12E41_0.Add(arg_12E41_1, new Animation(arg_12E3C_0, arg_12E3C_1, arg_12E3C_2, arg_12E3C_3, arg_12E3C_4, arg_12E3C_5, arg_12E3C_6, arg_12E3C_7, arg_12E3C_8, arg_12E3C_9, arg_12E3C_10, arg_12E3C_11, arg_12E3C_12, arg_12E3C_13, arg_12E3C_14, array)); Dictionary<ushort, Animation> arg_12F28_0 = xEn.xRenderComponent.dixAnimations; ushort arg_12F28_1 = 18; ushort arg_12F23_0 = 18; byte arg_12F23_1 = 2; Texture2D arg_12F23_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Damage/Down"); Vector2 arg_12F23_3 = new Vector2(12f, 11f); int arg_12F23_4 = 4; int arg_12F23_5 = 2; int arg_12F23_6 = 25; int arg_12F23_7 = 17; int arg_12F23_8 = 0; int arg_12F23_9 = 0; int arg_12F23_10 = 30; Animation.LoopSettings arg_12F23_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_12F23_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_12F23_13 = false; bool arg_12F23_14 = true; array = new AnimationInstruction[3]; AnimationInstruction[] arg_12EB6_0 = array; int arg_12EB6_1 = 0; AnimInsCriteria arg_12EB1_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_12EAC_0 = AnimInsEvent.EventType.PlaySound; string arg_12EAC_1 = "frosty_lvl1_damage"; array13 = new float[1]; arg_12EB6_0[arg_12EB6_1] = new AnimationInstruction(arg_12EB1_0, new AnimInsEvent(arg_12EAC_0, arg_12EAC_1, array13)); AnimationInstruction[] arg_12EF2_0 = array; int arg_12EF2_1 = 1; AnimInsCriteria arg_12EED_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }); AnimInsEvent.EventType arg_12EE8_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 10f; arg_12EF2_0[arg_12EF2_1] = new AnimationInstruction(arg_12EED_0, new AnimInsEvent(arg_12EE8_0, array13)); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })); arg_12F28_0.Add(arg_12F28_1, new Animation(arg_12F23_0, arg_12F23_1, arg_12F23_2, arg_12F23_3, arg_12F23_4, arg_12F23_5, arg_12F23_6, arg_12F23_7, arg_12F23_8, arg_12F23_9, arg_12F23_10, arg_12F23_11, arg_12F23_12, arg_12F23_13, arg_12F23_14, array)); Dictionary<ushort, Animation> arg_1300F_0 = xEn.xRenderComponent.dixAnimations; ushort arg_1300F_1 = 19; ushort arg_1300A_0 = 19; byte arg_1300A_1 = 3; Texture2D arg_1300A_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Damage/Right"); Vector2 arg_1300A_3 = new Vector2(12f, 11f); int arg_1300A_4 = 4; int arg_1300A_5 = 2; int arg_1300A_6 = 25; int arg_1300A_7 = 17; int arg_1300A_8 = 0; int arg_1300A_9 = 0; int arg_1300A_10 = 30; Animation.LoopSettings arg_1300A_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_1300A_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_1300A_13 = false; bool arg_1300A_14 = true; array = new AnimationInstruction[3]; AnimationInstruction[] arg_12F9D_0 = array; int arg_12F9D_1 = 0; AnimInsCriteria arg_12F98_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_12F93_0 = AnimInsEvent.EventType.PlaySound; string arg_12F93_1 = "frosty_lvl1_damage"; array13 = new float[1]; arg_12F9D_0[arg_12F9D_1] = new AnimationInstruction(arg_12F98_0, new AnimInsEvent(arg_12F93_0, arg_12F93_1, array13)); AnimationInstruction[] arg_12FD9_0 = array; int arg_12FD9_1 = 1; AnimInsCriteria arg_12FD4_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }); AnimInsEvent.EventType arg_12FCF_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 10f; arg_12FD9_0[arg_12FD9_1] = new AnimationInstruction(arg_12FD4_0, new AnimInsEvent(arg_12FCF_0, array13)); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 3f })); arg_1300F_0.Add(arg_1300F_1, new Animation(arg_1300A_0, arg_1300A_1, arg_1300A_2, arg_1300A_3, arg_1300A_4, arg_1300A_5, arg_1300A_6, arg_1300A_7, arg_1300A_8, arg_1300A_9, arg_1300A_10, arg_1300A_11, arg_1300A_12, arg_1300A_13, arg_1300A_14, array)); xEn.xRenderComponent.dixAnimations[19].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_1312D_0 = xEn.xRenderComponent.dixAnimations; ushort arg_1312D_1 = 20; ushort arg_13128_0 = 20; byte arg_13128_1 = 0; Texture2D arg_13128_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Dead/Up"); Vector2 arg_13128_3 = new Vector2(10f, 14f); int arg_13128_4 = 4; int arg_13128_5 = 14; int arg_13128_6 = 21; int arg_13128_7 = 20; int arg_13128_8 = 0; int arg_13128_9 = 0; int arg_13128_10 = 30; Animation.LoopSettings arg_13128_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_13128_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_13128_13 = false; bool arg_13128_14 = true; array = new AnimationInstruction[4]; AnimationInstruction[] arg_1309D_0 = array; int arg_1309D_1 = 0; AnimInsCriteria arg_13098_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_13093_0 = AnimInsEvent.EventType.PlaySound; string arg_13093_1 = "frosty_lvl1_desummon"; array13 = new float[1]; arg_1309D_0[arg_1309D_1] = new AnimationInstruction(arg_13098_0, new AnimInsEvent(arg_13093_0, arg_13093_1, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 90f })); AnimationInstruction[] arg_130F6_0 = array; int arg_130F6_1 = 2; AnimInsCriteria arg_130F1_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]); IEffect arg_130EC_0 = new SortedAnimated(SortedAnimated.SortedAnimatedEffects.FrostyFriendLv1Death); array13 = new float[2]; arg_130F6_0[arg_130F6_1] = new AnimationInstruction(arg_130F1_0, new AnimInsEvent(arg_130EC_0, array13)); array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.CallBackAnimation, new float[] { 1f })); arg_1312D_0.Add(arg_1312D_1, new Animation(arg_13128_0, arg_13128_1, arg_13128_2, arg_13128_3, arg_13128_4, arg_13128_5, arg_13128_6, arg_13128_7, arg_13128_8, arg_13128_9, arg_13128_10, arg_13128_11, arg_13128_12, arg_13128_13, arg_13128_14, array)); Dictionary<ushort, Animation> arg_13233_0 = xEn.xRenderComponent.dixAnimations; ushort arg_13233_1 = 21; ushort arg_1322E_0 = 21; byte arg_1322E_1 = 1; Texture2D arg_1322E_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Dead/Right"); Vector2 arg_1322E_3 = new Vector2(10f, 15f); int arg_1322E_4 = 4; int arg_1322E_5 = 14; int arg_1322E_6 = 21; int arg_1322E_7 = 21; int arg_1322E_8 = 0; int arg_1322E_9 = 0; int arg_1322E_10 = 30; Animation.LoopSettings arg_1322E_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_1322E_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_1322E_13 = false; bool arg_1322E_14 = true; array = new AnimationInstruction[4]; AnimationInstruction[] arg_131A3_0 = array; int arg_131A3_1 = 0; AnimInsCriteria arg_1319E_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_13199_0 = AnimInsEvent.EventType.PlaySound; string arg_13199_1 = "frosty_lvl1_desummon"; array13 = new float[1]; arg_131A3_0[arg_131A3_1] = new AnimationInstruction(arg_1319E_0, new AnimInsEvent(arg_13199_0, arg_13199_1, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 90f })); AnimationInstruction[] arg_131FC_0 = array; int arg_131FC_1 = 2; AnimInsCriteria arg_131F7_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]); IEffect arg_131F2_0 = new SortedAnimated(SortedAnimated.SortedAnimatedEffects.FrostyFriendLv1Death); array13 = new float[2]; arg_131FC_0[arg_131FC_1] = new AnimationInstruction(arg_131F7_0, new AnimInsEvent(arg_131F2_0, array13)); array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.CallBackAnimation, new float[] { 1f })); arg_13233_0.Add(arg_13233_1, new Animation(arg_1322E_0, arg_1322E_1, arg_1322E_2, arg_1322E_3, arg_1322E_4, arg_1322E_5, arg_1322E_6, arg_1322E_7, arg_1322E_8, arg_1322E_9, arg_1322E_10, arg_1322E_11, arg_1322E_12, arg_1322E_13, arg_1322E_14, array)); Dictionary<ushort, Animation> arg_13339_0 = xEn.xRenderComponent.dixAnimations; ushort arg_13339_1 = 22; ushort arg_13334_0 = 22; byte arg_13334_1 = 2; Texture2D arg_13334_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Dead/Down"); Vector2 arg_13334_3 = new Vector2(10f, 14f); int arg_13334_4 = 4; int arg_13334_5 = 14; int arg_13334_6 = 21; int arg_13334_7 = 20; int arg_13334_8 = 0; int arg_13334_9 = 0; int arg_13334_10 = 30; Animation.LoopSettings arg_13334_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_13334_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_13334_13 = false; bool arg_13334_14 = true; array = new AnimationInstruction[4]; AnimationInstruction[] arg_132A9_0 = array; int arg_132A9_1 = 0; AnimInsCriteria arg_132A4_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_1329F_0 = AnimInsEvent.EventType.PlaySound; string arg_1329F_1 = "frosty_lvl1_desummon"; array13 = new float[1]; arg_132A9_0[arg_132A9_1] = new AnimationInstruction(arg_132A4_0, new AnimInsEvent(arg_1329F_0, arg_1329F_1, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 90f })); AnimationInstruction[] arg_13302_0 = array; int arg_13302_1 = 2; AnimInsCriteria arg_132FD_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]); IEffect arg_132F8_0 = new SortedAnimated(SortedAnimated.SortedAnimatedEffects.FrostyFriendLv1Death); array13 = new float[2]; arg_13302_0[arg_13302_1] = new AnimationInstruction(arg_132FD_0, new AnimInsEvent(arg_132F8_0, array13)); array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.CallBackAnimation, new float[] { 1f })); arg_13339_0.Add(arg_13339_1, new Animation(arg_13334_0, arg_13334_1, arg_13334_2, arg_13334_3, arg_13334_4, arg_13334_5, arg_13334_6, arg_13334_7, arg_13334_8, arg_13334_9, arg_13334_10, arg_13334_11, arg_13334_12, arg_13334_13, arg_13334_14, array)); Dictionary<ushort, Animation> arg_1343F_0 = xEn.xRenderComponent.dixAnimations; ushort arg_1343F_1 = 23; ushort arg_1343A_0 = 23; byte arg_1343A_1 = 3; Texture2D arg_1343A_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Dead/Right"); Vector2 arg_1343A_3 = new Vector2(10f, 15f); int arg_1343A_4 = 4; int arg_1343A_5 = 14; int arg_1343A_6 = 21; int arg_1343A_7 = 21; int arg_1343A_8 = 0; int arg_1343A_9 = 0; int arg_1343A_10 = 30; Animation.LoopSettings arg_1343A_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_1343A_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_1343A_13 = false; bool arg_1343A_14 = true; array = new AnimationInstruction[4]; AnimationInstruction[] arg_133AF_0 = array; int arg_133AF_1 = 0; AnimInsCriteria arg_133AA_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_133A5_0 = AnimInsEvent.EventType.PlaySound; string arg_133A5_1 = "frosty_lvl1_desummon"; array13 = new float[1]; arg_133AF_0[arg_133AF_1] = new AnimationInstruction(arg_133AA_0, new AnimInsEvent(arg_133A5_0, arg_133A5_1, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 90f })); AnimationInstruction[] arg_13408_0 = array; int arg_13408_1 = 2; AnimInsCriteria arg_13403_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]); IEffect arg_133FE_0 = new SortedAnimated(SortedAnimated.SortedAnimatedEffects.FrostyFriendLv1Death); array13 = new float[2]; arg_13408_0[arg_13408_1] = new AnimationInstruction(arg_13403_0, new AnimInsEvent(arg_133FE_0, array13)); array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.CallBackAnimation, new float[] { 1f })); arg_1343F_0.Add(arg_1343F_1, new Animation(arg_1343A_0, arg_1343A_1, arg_1343A_2, arg_1343A_3, arg_1343A_4, arg_1343A_5, arg_1343A_6, arg_1343A_7, arg_1343A_8, arg_1343A_9, arg_1343A_10, arg_1343A_11, arg_1343A_12, arg_1343A_13, arg_1343A_14, array)); xEn.xRenderComponent.dixAnimations[23].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_13500_0 = xEn.xRenderComponent.dixAnimations; ushort arg_13500_1 = 25; ushort arg_134FB_0 = 25; byte arg_134FB_1 = 1; Texture2D arg_134FB_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Faint/Right"); Vector2 arg_134FB_3 = new Vector2(13f, 21f); int arg_134FB_4 = 4; int arg_134FB_5 = 11; int arg_134FB_6 = 25; int arg_134FB_7 = 27; int arg_134FB_8 = 0; int arg_134FB_9 = 0; int arg_134FB_10 = 30; Animation.LoopSettings arg_134FB_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_134FB_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_134FB_13 = false; bool arg_134FB_14 = true; array = new AnimationInstruction[2]; AnimationInstruction[] arg_134CD_0 = array; int arg_134CD_1 = 0; AnimInsCriteria arg_134C8_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_134C3_0 = AnimInsEvent.EventType.PlaySound; string arg_134C3_1 = "frosty_lvl1_dead"; array13 = new float[1]; arg_134CD_0[arg_134CD_1] = new AnimationInstruction(arg_134C8_0, new AnimInsEvent(arg_134C3_0, arg_134C3_1, array13)); AnimationInstruction[] arg_134F8_0 = array; int arg_134F8_1 = 1; AnimInsCriteria arg_134F3_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]); IEffect arg_134EE_0 = new SortedAnimated(SortedAnimated.SortedAnimatedEffects.FrostyFriendLv1Death); array13 = new float[2]; arg_134F8_0[arg_134F8_1] = new AnimationInstruction(arg_134F3_0, new AnimInsEvent(arg_134EE_0, array13)); arg_13500_0.Add(arg_13500_1, new Animation(arg_134FB_0, arg_134FB_1, arg_134FB_2, arg_134FB_3, arg_134FB_4, arg_134FB_5, arg_134FB_6, arg_134FB_7, arg_134FB_8, arg_134FB_9, arg_134FB_10, arg_134FB_11, arg_134FB_12, arg_134FB_13, arg_134FB_14, array)); Dictionary<ushort, Animation> arg_135A9_0 = xEn.xRenderComponent.dixAnimations; ushort arg_135A9_1 = 27; ushort arg_135A4_0 = 27; byte arg_135A4_1 = 3; Texture2D arg_135A4_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Faint/Right"); Vector2 arg_135A4_3 = new Vector2(12f, 21f); int arg_135A4_4 = 4; int arg_135A4_5 = 11; int arg_135A4_6 = 25; int arg_135A4_7 = 27; int arg_135A4_8 = 0; int arg_135A4_9 = 0; int arg_135A4_10 = 30; Animation.LoopSettings arg_135A4_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_135A4_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_135A4_13 = false; bool arg_135A4_14 = true; array = new AnimationInstruction[2]; AnimationInstruction[] arg_13576_0 = array; int arg_13576_1 = 0; AnimInsCriteria arg_13571_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_1356C_0 = AnimInsEvent.EventType.PlaySound; string arg_1356C_1 = "frosty_lvl1_dead"; array13 = new float[1]; arg_13576_0[arg_13576_1] = new AnimationInstruction(arg_13571_0, new AnimInsEvent(arg_1356C_0, arg_1356C_1, array13)); AnimationInstruction[] arg_135A1_0 = array; int arg_135A1_1 = 1; AnimInsCriteria arg_1359C_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]); IEffect arg_13597_0 = new SortedAnimated(SortedAnimated.SortedAnimatedEffects.FrostyFriendLv1Death); array13 = new float[2]; arg_135A1_0[arg_135A1_1] = new AnimationInstruction(arg_1359C_0, new AnimInsEvent(arg_13597_0, array13)); arg_135A9_0.Add(arg_135A9_1, new Animation(arg_135A4_0, arg_135A4_1, arg_135A4_2, arg_135A4_3, arg_135A4_4, arg_135A4_5, arg_135A4_6, arg_135A4_7, arg_135A4_8, arg_135A4_9, arg_135A4_10, arg_135A4_11, arg_135A4_12, arg_135A4_13, arg_135A4_14, array)); xEn.xRenderComponent.dixAnimations[27].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_13668_0 = xEn.xRenderComponent.dixAnimations; ushort arg_13668_1 = 100; ushort arg_13663_0 = 100; byte arg_13663_1 = 2; Texture2D arg_13663_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 1-2/Spawn/Spawn"); Vector2 arg_13663_3 = new Vector2(23f, 35f); int arg_13663_4 = 4; int arg_13663_5 = 28; int arg_13663_6 = 47; int arg_13663_7 = 43; int arg_13663_8 = 0; int arg_13663_9 = 0; int arg_13663_10 = 30; Animation.LoopSettings arg_13663_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_13663_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_13663_13 = false; bool arg_13663_14 = true; array = new AnimationInstruction[2]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })); AnimationInstruction[] arg_13660_0 = array; int arg_13660_1 = 1; AnimInsCriteria arg_1365B_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]); AnimInsEvent.EventType arg_13656_0 = AnimInsEvent.EventType.CallBackAnimation; array13 = new float[1]; arg_13660_0[arg_13660_1] = new AnimationInstruction(arg_1365B_0, new AnimInsEvent(arg_13656_0, array13)); arg_13668_0.Add(arg_13668_1, new Animation(arg_13663_0, arg_13663_1, arg_13663_2, arg_13663_3, arg_13663_4, arg_13663_5, arg_13663_6, arg_13663_7, arg_13663_8, arg_13663_9, arg_13663_10, arg_13663_11, arg_13663_12, arg_13663_13, arg_13663_14, array)); xEn.xRenderComponent.dixAnimations.Add(90, new Animation(90, 0, RenderMaster.txNullTex, new Vector2(12f, 11f), 4, 2, 25, 17, 0, 0, 30, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, false, false, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.sAttackPhaseCategory = "IceGolemLv1"; SortedAnimated.PreLoadMany(new SortedAnimated.SortedAnimatedEffects[] { SortedAnimated.SortedAnimatedEffects.FrostyFriendLv1Death }); xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 9f + (float)new Random().NextDouble(), xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(8f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.Neutrals); } else if (enType == NPCCodex.NPCTypes.CombatPet_IceGolemLv2) { xEn.bIsInteractable = false; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.bRunNetworkUpdatesInCutscenes = true; xEn.bUpdateInCutscene = true; xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 24); xEn.xBaseStats.fMovementSpeed = 2f; xEn.enType = enType; xEn.xBehaviour = new FrostyFriendLevelTwoAI(xEn); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 16; xEn.aiHitAnimation[1] = 17; xEn.aiHitAnimation[2] = 18; xEn.aiHitAnimation[3] = 19; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Idle/Up"), new Vector2(15f, 20f), 4, 11, 30, 26, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Idle/Right"), new Vector2(14f, 20f), 4, 11, 27, 26, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Idle/Down"), new Vector2(15f, 20f), 4, 11, 30, 26, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Idle/Right"), new Vector2(13f, 20f), 4, 11, 27, 26, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Move/Up"), new Vector2(14f, 21f), 4, 12, 28, 27, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Move/Right"), new Vector2(15f, 21f), 4, 12, 28, 27, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Move/Down"), new Vector2(14f, 21f), 4, 12, 28, 27, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Move/Right"), new Vector2(13f, 21f), 4, 12, 28, 27, 0, 0, 30, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_13BF1_0 = xEn.xRenderComponent.dixAnimations; ushort arg_13BF1_1 = 8; ushort arg_13BEC_0 = 8; byte arg_13BEC_1 = 0; Texture2D arg_13BEC_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/AttackA/Up"); Vector2 arg_13BEC_3 = new Vector2(15f, 27f); int arg_13BEC_4 = 4; int arg_13BEC_5 = 8; int arg_13BEC_6 = 28; int arg_13BEC_7 = 35; int arg_13BEC_8 = 0; int arg_13BEC_9 = 0; int arg_13BEC_10 = 30; Animation.LoopSettings arg_13BEC_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_13BEC_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_13BEC_13 = false; bool arg_13BEC_14 = true; AnimationInstruction[] array = new AnimationInstruction[5]; AnimationInstruction[] arg_13B13_0 = array; int arg_13B13_1 = 0; AnimInsCriteria arg_13B0E_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_13B09_0 = AnimInsEvent.EventType.PlaySound; string arg_13B09_1 = "frosty_lvl2_attackA"; float[] array13 = new float[1]; arg_13B13_0[arg_13B13_1] = new AnimationInstruction(arg_13B0E_0, new AnimInsEvent(arg_13B09_0, arg_13B09_1, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, -7f })); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, -5f })); array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, -3f })); AnimationInstruction[] arg_13BE9_0 = array; int arg_13BE9_1 = 4; AnimInsCriteria arg_13BE4_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_13BDF_0 = AnimInsEvent.EventType.PlayAnimation; array13 = new float[1]; arg_13BE9_0[arg_13BE9_1] = new AnimationInstruction(arg_13BE4_0, new AnimInsEvent(arg_13BDF_0, array13)); arg_13BF1_0.Add(arg_13BF1_1, new Animation(arg_13BEC_0, arg_13BEC_1, arg_13BEC_2, arg_13BEC_3, arg_13BEC_4, arg_13BEC_5, arg_13BEC_6, arg_13BEC_7, arg_13BEC_8, arg_13BEC_9, arg_13BEC_10, arg_13BEC_11, arg_13BEC_12, arg_13BEC_13, arg_13BEC_14, array)); Dictionary<ushort, Animation> arg_13D4D_0 = xEn.xRenderComponent.dixAnimations; ushort arg_13D4D_1 = 9; ushort arg_13D48_0 = 9; byte arg_13D48_1 = 1; Texture2D arg_13D48_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/AttackA/Right"); Vector2 arg_13D48_3 = new Vector2(15f, 18f); int arg_13D48_4 = 4; int arg_13D48_5 = 8; int arg_13D48_6 = 42; int arg_13D48_7 = 24; int arg_13D48_8 = 0; int arg_13D48_9 = 0; int arg_13D48_10 = 30; Animation.LoopSettings arg_13D48_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_13D48_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_13D48_13 = false; bool arg_13D48_14 = true; array = new AnimationInstruction[5]; AnimationInstruction[] arg_13C66_0 = array; int arg_13C66_1 = 0; AnimInsCriteria arg_13C61_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_13C5C_0 = AnimInsEvent.EventType.PlaySound; string arg_13C5C_1 = "frosty_lvl2_attackA"; array13 = new float[1]; arg_13C66_0[arg_13C66_1] = new AnimationInstruction(arg_13C61_0, new AnimInsEvent(arg_13C5C_0, arg_13C5C_1, array13)); AnimationInstruction[] arg_13CA1_0 = array; int arg_13CA1_1 = 1; AnimInsCriteria arg_13C9C_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }); AnimInsEvent.EventType arg_13C97_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = 7f; arg_13CA1_0[arg_13CA1_1] = new AnimationInstruction(arg_13C9C_0, new AnimInsEvent(arg_13C97_0, array13)); AnimationInstruction[] arg_13CDC_0 = array; int arg_13CDC_1 = 2; AnimInsCriteria arg_13CD7_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }); AnimInsEvent.EventType arg_13CD2_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = 5f; arg_13CDC_0[arg_13CDC_1] = new AnimationInstruction(arg_13CD7_0, new AnimInsEvent(arg_13CD2_0, array13)); AnimationInstruction[] arg_13D17_0 = array; int arg_13D17_1 = 3; AnimInsCriteria arg_13D12_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }); AnimInsEvent.EventType arg_13D0D_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = 3f; arg_13D17_0[arg_13D17_1] = new AnimationInstruction(arg_13D12_0, new AnimInsEvent(arg_13D0D_0, array13)); array[4] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })); arg_13D4D_0.Add(arg_13D4D_1, new Animation(arg_13D48_0, arg_13D48_1, arg_13D48_2, arg_13D48_3, arg_13D48_4, arg_13D48_5, arg_13D48_6, arg_13D48_7, arg_13D48_8, arg_13D48_9, arg_13D48_10, arg_13D48_11, arg_13D48_12, arg_13D48_13, arg_13D48_14, array)); Dictionary<ushort, Animation> arg_13EA9_0 = xEn.xRenderComponent.dixAnimations; ushort arg_13EA9_1 = 10; ushort arg_13EA4_0 = 10; byte arg_13EA4_1 = 2; Texture2D arg_13EA4_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/AttackA/Down"); Vector2 arg_13EA4_3 = new Vector2(15f, 19f); int arg_13EA4_4 = 4; int arg_13EA4_5 = 8; int arg_13EA4_6 = 30; int arg_13EA4_7 = 37; int arg_13EA4_8 = 0; int arg_13EA4_9 = 0; int arg_13EA4_10 = 30; Animation.LoopSettings arg_13EA4_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_13EA4_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_13EA4_13 = false; bool arg_13EA4_14 = true; array = new AnimationInstruction[5]; AnimationInstruction[] arg_13DC2_0 = array; int arg_13DC2_1 = 0; AnimInsCriteria arg_13DBD_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_13DB8_0 = AnimInsEvent.EventType.PlaySound; string arg_13DB8_1 = "frosty_lvl2_attackA"; array13 = new float[1]; arg_13DC2_0[arg_13DC2_1] = new AnimationInstruction(arg_13DBD_0, new AnimInsEvent(arg_13DB8_0, arg_13DB8_1, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, 7f })); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, 5f })); array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, 3f })); array[4] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })); arg_13EA9_0.Add(arg_13EA9_1, new Animation(arg_13EA4_0, arg_13EA4_1, arg_13EA4_2, arg_13EA4_3, arg_13EA4_4, arg_13EA4_5, arg_13EA4_6, arg_13EA4_7, arg_13EA4_8, arg_13EA4_9, arg_13EA4_10, arg_13EA4_11, arg_13EA4_12, arg_13EA4_13, arg_13EA4_14, array)); Dictionary<ushort, Animation> arg_14005_0 = xEn.xRenderComponent.dixAnimations; ushort arg_14005_1 = 11; ushort arg_14000_0 = 11; byte arg_14000_1 = 3; Texture2D arg_14000_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/AttackA/Right"); Vector2 arg_14000_3 = new Vector2(27f, 18f); int arg_14000_4 = 4; int arg_14000_5 = 8; int arg_14000_6 = 42; int arg_14000_7 = 24; int arg_14000_8 = 0; int arg_14000_9 = 0; int arg_14000_10 = 30; Animation.LoopSettings arg_14000_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_14000_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_14000_13 = false; bool arg_14000_14 = true; array = new AnimationInstruction[5]; AnimationInstruction[] arg_13F1E_0 = array; int arg_13F1E_1 = 0; AnimInsCriteria arg_13F19_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_13F14_0 = AnimInsEvent.EventType.PlaySound; string arg_13F14_1 = "frosty_lvl2_attackA"; array13 = new float[1]; arg_13F1E_0[arg_13F1E_1] = new AnimationInstruction(arg_13F19_0, new AnimInsEvent(arg_13F14_0, arg_13F14_1, array13)); AnimationInstruction[] arg_13F59_0 = array; int arg_13F59_1 = 1; AnimInsCriteria arg_13F54_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }); AnimInsEvent.EventType arg_13F4F_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = -7f; arg_13F59_0[arg_13F59_1] = new AnimationInstruction(arg_13F54_0, new AnimInsEvent(arg_13F4F_0, array13)); AnimationInstruction[] arg_13F94_0 = array; int arg_13F94_1 = 2; AnimInsCriteria arg_13F8F_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }); AnimInsEvent.EventType arg_13F8A_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = -5f; arg_13F94_0[arg_13F94_1] = new AnimationInstruction(arg_13F8F_0, new AnimInsEvent(arg_13F8A_0, array13)); AnimationInstruction[] arg_13FCF_0 = array; int arg_13FCF_1 = 3; AnimInsCriteria arg_13FCA_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }); AnimInsEvent.EventType arg_13FC5_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = -3f; arg_13FCF_0[arg_13FCF_1] = new AnimationInstruction(arg_13FCA_0, new AnimInsEvent(arg_13FC5_0, array13)); array[4] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 3f })); arg_14005_0.Add(arg_14005_1, new Animation(arg_14000_0, arg_14000_1, arg_14000_2, arg_14000_3, arg_14000_4, arg_14000_5, arg_14000_6, arg_14000_7, arg_14000_8, arg_14000_9, arg_14000_10, arg_14000_11, arg_14000_12, arg_14000_13, arg_14000_14, array)); xEn.xRenderComponent.dixAnimations[11].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_14170_0 = xEn.xRenderComponent.dixAnimations; ushort arg_14170_1 = 12; ushort arg_1416B_0 = 12; byte arg_1416B_1 = 0; Texture2D arg_1416B_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/AttackB/Up"); Vector2 arg_1416B_3 = new Vector2(13f, 26f); int arg_1416B_4 = 4; int arg_1416B_5 = 8; int arg_1416B_6 = 28; int arg_1416B_7 = 35; int arg_1416B_8 = 0; int arg_1416B_9 = 0; int arg_1416B_10 = 30; Animation.LoopSettings arg_1416B_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_1416B_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_1416B_13 = false; bool arg_1416B_14 = true; array = new AnimationInstruction[5]; AnimationInstruction[] arg_14092_0 = array; int arg_14092_1 = 0; AnimInsCriteria arg_1408D_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_14088_0 = AnimInsEvent.EventType.PlaySound; string arg_14088_1 = "frosty_lvl2_attackA"; array13 = new float[1]; arg_14092_0[arg_14092_1] = new AnimationInstruction(arg_1408D_0, new AnimInsEvent(arg_14088_0, arg_14088_1, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, -7f })); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, -5f })); array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, -3f })); AnimationInstruction[] arg_14168_0 = array; int arg_14168_1 = 4; AnimInsCriteria arg_14163_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_1415E_0 = AnimInsEvent.EventType.PlayAnimation; array13 = new float[1]; arg_14168_0[arg_14168_1] = new AnimationInstruction(arg_14163_0, new AnimInsEvent(arg_1415E_0, array13)); arg_14170_0.Add(arg_14170_1, new Animation(arg_1416B_0, arg_1416B_1, arg_1416B_2, arg_1416B_3, arg_1416B_4, arg_1416B_5, arg_1416B_6, arg_1416B_7, arg_1416B_8, arg_1416B_9, arg_1416B_10, arg_1416B_11, arg_1416B_12, arg_1416B_13, arg_1416B_14, array)); Dictionary<ushort, Animation> arg_142CC_0 = xEn.xRenderComponent.dixAnimations; ushort arg_142CC_1 = 13; ushort arg_142C7_0 = 13; byte arg_142C7_1 = 1; Texture2D arg_142C7_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/AttackB/Right"); Vector2 arg_142C7_3 = new Vector2(19f, 19f); int arg_142C7_4 = 4; int arg_142C7_5 = 8; int arg_142C7_6 = 44; int arg_142C7_7 = 25; int arg_142C7_8 = 0; int arg_142C7_9 = 0; int arg_142C7_10 = 30; Animation.LoopSettings arg_142C7_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_142C7_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_142C7_13 = false; bool arg_142C7_14 = true; array = new AnimationInstruction[5]; AnimationInstruction[] arg_141E5_0 = array; int arg_141E5_1 = 0; AnimInsCriteria arg_141E0_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_141DB_0 = AnimInsEvent.EventType.PlaySound; string arg_141DB_1 = "frosty_lvl2_attackA"; array13 = new float[1]; arg_141E5_0[arg_141E5_1] = new AnimationInstruction(arg_141E0_0, new AnimInsEvent(arg_141DB_0, arg_141DB_1, array13)); AnimationInstruction[] arg_14220_0 = array; int arg_14220_1 = 1; AnimInsCriteria arg_1421B_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }); AnimInsEvent.EventType arg_14216_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = 7f; arg_14220_0[arg_14220_1] = new AnimationInstruction(arg_1421B_0, new AnimInsEvent(arg_14216_0, array13)); AnimationInstruction[] arg_1425B_0 = array; int arg_1425B_1 = 2; AnimInsCriteria arg_14256_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }); AnimInsEvent.EventType arg_14251_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = 5f; arg_1425B_0[arg_1425B_1] = new AnimationInstruction(arg_14256_0, new AnimInsEvent(arg_14251_0, array13)); AnimationInstruction[] arg_14296_0 = array; int arg_14296_1 = 3; AnimInsCriteria arg_14291_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }); AnimInsEvent.EventType arg_1428C_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = 3f; arg_14296_0[arg_14296_1] = new AnimationInstruction(arg_14291_0, new AnimInsEvent(arg_1428C_0, array13)); array[4] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })); arg_142CC_0.Add(arg_142CC_1, new Animation(arg_142C7_0, arg_142C7_1, arg_142C7_2, arg_142C7_3, arg_142C7_4, arg_142C7_5, arg_142C7_6, arg_142C7_7, arg_142C7_8, arg_142C7_9, arg_142C7_10, arg_142C7_11, arg_142C7_12, arg_142C7_13, arg_142C7_14, array)); Dictionary<ushort, Animation> arg_14428_0 = xEn.xRenderComponent.dixAnimations; ushort arg_14428_1 = 14; ushort arg_14423_0 = 14; byte arg_14423_1 = 2; Texture2D arg_14423_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/AttackB/Down"); Vector2 arg_14423_3 = new Vector2(15f, 19f); int arg_14423_4 = 4; int arg_14423_5 = 8; int arg_14423_6 = 30; int arg_14423_7 = 37; int arg_14423_8 = 0; int arg_14423_9 = 0; int arg_14423_10 = 30; Animation.LoopSettings arg_14423_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_14423_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_14423_13 = false; bool arg_14423_14 = true; array = new AnimationInstruction[5]; AnimationInstruction[] arg_14341_0 = array; int arg_14341_1 = 0; AnimInsCriteria arg_1433C_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_14337_0 = AnimInsEvent.EventType.PlaySound; string arg_14337_1 = "frosty_lvl2_attackA"; array13 = new float[1]; arg_14341_0[arg_14341_1] = new AnimationInstruction(arg_1433C_0, new AnimInsEvent(arg_14337_0, arg_14337_1, array13)); array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, 7f })); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, 5f })); array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }), new AnimInsEvent(AnimInsEvent.EventType.AddSmoothPush, new float[] { 0f, 3f })); array[4] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })); arg_14428_0.Add(arg_14428_1, new Animation(arg_14423_0, arg_14423_1, arg_14423_2, arg_14423_3, arg_14423_4, arg_14423_5, arg_14423_6, arg_14423_7, arg_14423_8, arg_14423_9, arg_14423_10, arg_14423_11, arg_14423_12, arg_14423_13, arg_14423_14, array)); Dictionary<ushort, Animation> arg_14584_0 = xEn.xRenderComponent.dixAnimations; ushort arg_14584_1 = 15; ushort arg_1457F_0 = 15; byte arg_1457F_1 = 3; Texture2D arg_1457F_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/AttackB/Right"); Vector2 arg_1457F_3 = new Vector2(23f, 19f); int arg_1457F_4 = 4; int arg_1457F_5 = 8; int arg_1457F_6 = 44; int arg_1457F_7 = 25; int arg_1457F_8 = 0; int arg_1457F_9 = 0; int arg_1457F_10 = 30; Animation.LoopSettings arg_1457F_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_1457F_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_1457F_13 = false; bool arg_1457F_14 = true; array = new AnimationInstruction[5]; AnimationInstruction[] arg_1449D_0 = array; int arg_1449D_1 = 0; AnimInsCriteria arg_14498_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_14493_0 = AnimInsEvent.EventType.PlaySound; string arg_14493_1 = "frosty_lvl2_attackA"; array13 = new float[1]; arg_1449D_0[arg_1449D_1] = new AnimationInstruction(arg_14498_0, new AnimInsEvent(arg_14493_0, arg_14493_1, array13)); AnimationInstruction[] arg_144D8_0 = array; int arg_144D8_1 = 1; AnimInsCriteria arg_144D3_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 5f }); AnimInsEvent.EventType arg_144CE_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = -7f; arg_144D8_0[arg_144D8_1] = new AnimationInstruction(arg_144D3_0, new AnimInsEvent(arg_144CE_0, array13)); AnimationInstruction[] arg_14513_0 = array; int arg_14513_1 = 2; AnimInsCriteria arg_1450E_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 6f }); AnimInsEvent.EventType arg_14509_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = -5f; arg_14513_0[arg_14513_1] = new AnimationInstruction(arg_1450E_0, new AnimInsEvent(arg_14509_0, array13)); AnimationInstruction[] arg_1454E_0 = array; int arg_1454E_1 = 3; AnimInsCriteria arg_14549_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 7f }); AnimInsEvent.EventType arg_14544_0 = AnimInsEvent.EventType.AddSmoothPush; array13 = new float[2]; array13[0] = -3f; arg_1454E_0[arg_1454E_1] = new AnimationInstruction(arg_14549_0, new AnimInsEvent(arg_14544_0, array13)); array[4] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 3f })); arg_14584_0.Add(arg_14584_1, new Animation(arg_1457F_0, arg_1457F_1, arg_1457F_2, arg_1457F_3, arg_1457F_4, arg_1457F_5, arg_1457F_6, arg_1457F_7, arg_1457F_8, arg_1457F_9, arg_1457F_10, arg_1457F_11, arg_1457F_12, arg_1457F_13, arg_1457F_14, array)); xEn.xRenderComponent.dixAnimations[15].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_1467A_0 = xEn.xRenderComponent.dixAnimations; ushort arg_1467A_1 = 16; ushort arg_14675_0 = 16; byte arg_14675_1 = 0; Texture2D arg_14675_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Damage/Up"); Vector2 arg_14675_3 = new Vector2(15f, 17f); int arg_14675_4 = 4; int arg_14675_5 = 2; int arg_14675_6 = 30; int arg_14675_7 = 23; int arg_14675_8 = 0; int arg_14675_9 = 0; int arg_14675_10 = 30; Animation.LoopSettings arg_14675_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_14675_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_14675_13 = false; bool arg_14675_14 = true; array = new AnimationInstruction[3]; AnimationInstruction[] arg_14611_0 = array; int arg_14611_1 = 0; AnimInsCriteria arg_1460C_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_14607_0 = AnimInsEvent.EventType.PlaySound; string arg_14607_1 = "frosty_lvl2_damage"; array13 = new float[1]; arg_14611_0[arg_14611_1] = new AnimationInstruction(arg_1460C_0, new AnimInsEvent(arg_14607_0, arg_14607_1, array13)); AnimationInstruction[] arg_1464D_0 = array; int arg_1464D_1 = 1; AnimInsCriteria arg_14648_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }); AnimInsEvent.EventType arg_14643_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 10f; arg_1464D_0[arg_1464D_1] = new AnimationInstruction(arg_14648_0, new AnimInsEvent(arg_14643_0, array13)); AnimationInstruction[] arg_14672_0 = array; int arg_14672_1 = 2; AnimInsCriteria arg_1466D_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_14668_0 = AnimInsEvent.EventType.PlayAnimation; array13 = new float[1]; arg_14672_0[arg_14672_1] = new AnimationInstruction(arg_1466D_0, new AnimInsEvent(arg_14668_0, array13)); arg_1467A_0.Add(arg_1467A_1, new Animation(arg_14675_0, arg_14675_1, arg_14675_2, arg_14675_3, arg_14675_4, arg_14675_5, arg_14675_6, arg_14675_7, arg_14675_8, arg_14675_9, arg_14675_10, arg_14675_11, arg_14675_12, arg_14675_13, arg_14675_14, array)); Dictionary<ushort, Animation> arg_14761_0 = xEn.xRenderComponent.dixAnimations; ushort arg_14761_1 = 17; ushort arg_1475C_0 = 17; byte arg_1475C_1 = 1; Texture2D arg_1475C_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Damage/Right"); Vector2 arg_1475C_3 = new Vector2(14f, 17f); int arg_1475C_4 = 4; int arg_1475C_5 = 2; int arg_1475C_6 = 28; int arg_1475C_7 = 23; int arg_1475C_8 = 0; int arg_1475C_9 = 0; int arg_1475C_10 = 30; Animation.LoopSettings arg_1475C_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_1475C_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_1475C_13 = false; bool arg_1475C_14 = true; array = new AnimationInstruction[3]; AnimationInstruction[] arg_146EF_0 = array; int arg_146EF_1 = 0; AnimInsCriteria arg_146EA_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_146E5_0 = AnimInsEvent.EventType.PlaySound; string arg_146E5_1 = "frosty_lvl2_damage"; array13 = new float[1]; arg_146EF_0[arg_146EF_1] = new AnimationInstruction(arg_146EA_0, new AnimInsEvent(arg_146E5_0, arg_146E5_1, array13)); AnimationInstruction[] arg_1472B_0 = array; int arg_1472B_1 = 1; AnimInsCriteria arg_14726_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }); AnimInsEvent.EventType arg_14721_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 10f; arg_1472B_0[arg_1472B_1] = new AnimationInstruction(arg_14726_0, new AnimInsEvent(arg_14721_0, array13)); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 1f })); arg_14761_0.Add(arg_14761_1, new Animation(arg_1475C_0, arg_1475C_1, arg_1475C_2, arg_1475C_3, arg_1475C_4, arg_1475C_5, arg_1475C_6, arg_1475C_7, arg_1475C_8, arg_1475C_9, arg_1475C_10, arg_1475C_11, arg_1475C_12, arg_1475C_13, arg_1475C_14, array)); Dictionary<ushort, Animation> arg_14848_0 = xEn.xRenderComponent.dixAnimations; ushort arg_14848_1 = 18; ushort arg_14843_0 = 18; byte arg_14843_1 = 2; Texture2D arg_14843_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Damage/Down"); Vector2 arg_14843_3 = new Vector2(15f, 17f); int arg_14843_4 = 4; int arg_14843_5 = 2; int arg_14843_6 = 30; int arg_14843_7 = 23; int arg_14843_8 = 0; int arg_14843_9 = 0; int arg_14843_10 = 30; Animation.LoopSettings arg_14843_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_14843_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_14843_13 = false; bool arg_14843_14 = true; array = new AnimationInstruction[3]; AnimationInstruction[] arg_147D6_0 = array; int arg_147D6_1 = 0; AnimInsCriteria arg_147D1_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_147CC_0 = AnimInsEvent.EventType.PlaySound; string arg_147CC_1 = "frosty_lvl2_damage"; array13 = new float[1]; arg_147D6_0[arg_147D6_1] = new AnimationInstruction(arg_147D1_0, new AnimInsEvent(arg_147CC_0, arg_147CC_1, array13)); AnimationInstruction[] arg_14812_0 = array; int arg_14812_1 = 1; AnimInsCriteria arg_1480D_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }); AnimInsEvent.EventType arg_14808_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 10f; arg_14812_0[arg_14812_1] = new AnimationInstruction(arg_1480D_0, new AnimInsEvent(arg_14808_0, array13)); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })); arg_14848_0.Add(arg_14848_1, new Animation(arg_14843_0, arg_14843_1, arg_14843_2, arg_14843_3, arg_14843_4, arg_14843_5, arg_14843_6, arg_14843_7, arg_14843_8, arg_14843_9, arg_14843_10, arg_14843_11, arg_14843_12, arg_14843_13, arg_14843_14, array)); Dictionary<ushort, Animation> arg_1492F_0 = xEn.xRenderComponent.dixAnimations; ushort arg_1492F_1 = 19; ushort arg_1492A_0 = 19; byte arg_1492A_1 = 3; Texture2D arg_1492A_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Damage/Right"); Vector2 arg_1492A_3 = new Vector2(14f, 17f); int arg_1492A_4 = 4; int arg_1492A_5 = 2; int arg_1492A_6 = 28; int arg_1492A_7 = 23; int arg_1492A_8 = 0; int arg_1492A_9 = 0; int arg_1492A_10 = 30; Animation.LoopSettings arg_1492A_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_1492A_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_1492A_13 = false; bool arg_1492A_14 = true; array = new AnimationInstruction[3]; AnimationInstruction[] arg_148BD_0 = array; int arg_148BD_1 = 0; AnimInsCriteria arg_148B8_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_148B3_0 = AnimInsEvent.EventType.PlaySound; string arg_148B3_1 = "frosty_lvl2_damage"; array13 = new float[1]; arg_148BD_0[arg_148BD_1] = new AnimationInstruction(arg_148B8_0, new AnimInsEvent(arg_148B3_0, arg_148B3_1, array13)); AnimationInstruction[] arg_148F9_0 = array; int arg_148F9_1 = 1; AnimInsCriteria arg_148F4_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[] { 1f }); AnimInsEvent.EventType arg_148EF_0 = AnimInsEvent.EventType.FreezeFrame; array13 = new float[2]; array13[0] = 10f; arg_148F9_0[arg_148F9_1] = new AnimationInstruction(arg_148F4_0, new AnimInsEvent(arg_148EF_0, array13)); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 3f })); arg_1492F_0.Add(arg_1492F_1, new Animation(arg_1492A_0, arg_1492A_1, arg_1492A_2, arg_1492A_3, arg_1492A_4, arg_1492A_5, arg_1492A_6, arg_1492A_7, arg_1492A_8, arg_1492A_9, arg_1492A_10, arg_1492A_11, arg_1492A_12, arg_1492A_13, arg_1492A_14, array)); xEn.xRenderComponent.dixAnimations[19].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_14A22_0 = xEn.xRenderComponent.dixAnimations; ushort arg_14A22_1 = 20; ushort arg_14A1D_0 = 20; byte arg_14A1D_1 = 0; Texture2D arg_14A1D_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Dead/Up"); Vector2 arg_14A1D_3 = new Vector2(20f, 18f); int arg_14A1D_4 = 4; int arg_14A1D_5 = 14; int arg_14A1D_6 = 40; int arg_14A1D_7 = 24; int arg_14A1D_8 = 0; int arg_14A1D_9 = 0; int arg_14A1D_10 = 30; Animation.LoopSettings arg_14A1D_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_14A1D_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_14A1D_13 = false; bool arg_14A1D_14 = true; array = new AnimationInstruction[3]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 90f })); AnimationInstruction[] arg_149EB_0 = array; int arg_149EB_1 = 1; AnimInsCriteria arg_149E6_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]); IEffect arg_149E1_0 = new SortedAnimated(SortedAnimated.SortedAnimatedEffects.FrostyFriendLv1Death); array13 = new float[2]; arg_149EB_0[arg_149EB_1] = new AnimationInstruction(arg_149E6_0, new AnimInsEvent(arg_149E1_0, array13)); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.CallBackAnimation, new float[] { 1f })); arg_14A22_0.Add(arg_14A22_1, new Animation(arg_14A1D_0, arg_14A1D_1, arg_14A1D_2, arg_14A1D_3, arg_14A1D_4, arg_14A1D_5, arg_14A1D_6, arg_14A1D_7, arg_14A1D_8, arg_14A1D_9, arg_14A1D_10, arg_14A1D_11, arg_14A1D_12, arg_14A1D_13, arg_14A1D_14, array)); Dictionary<ushort, Animation> arg_14AFD_0 = xEn.xRenderComponent.dixAnimations; ushort arg_14AFD_1 = 21; ushort arg_14AF8_0 = 21; byte arg_14AF8_1 = 1; Texture2D arg_14AF8_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Dead/Right"); Vector2 arg_14AF8_3 = new Vector2(22f, 18f); int arg_14AF8_4 = 4; int arg_14AF8_5 = 14; int arg_14AF8_6 = 38; int arg_14AF8_7 = 24; int arg_14AF8_8 = 0; int arg_14AF8_9 = 0; int arg_14AF8_10 = 30; Animation.LoopSettings arg_14AF8_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_14AF8_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_14AF8_13 = false; bool arg_14AF8_14 = true; array = new AnimationInstruction[3]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 90f })); AnimationInstruction[] arg_14AC6_0 = array; int arg_14AC6_1 = 1; AnimInsCriteria arg_14AC1_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]); IEffect arg_14ABC_0 = new SortedAnimated(SortedAnimated.SortedAnimatedEffects.FrostyFriendLv1Death); array13 = new float[2]; arg_14AC6_0[arg_14AC6_1] = new AnimationInstruction(arg_14AC1_0, new AnimInsEvent(arg_14ABC_0, array13)); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.CallBackAnimation, new float[] { 1f })); arg_14AFD_0.Add(arg_14AFD_1, new Animation(arg_14AF8_0, arg_14AF8_1, arg_14AF8_2, arg_14AF8_3, arg_14AF8_4, arg_14AF8_5, arg_14AF8_6, arg_14AF8_7, arg_14AF8_8, arg_14AF8_9, arg_14AF8_10, arg_14AF8_11, arg_14AF8_12, arg_14AF8_13, arg_14AF8_14, array)); Dictionary<ushort, Animation> arg_14BD8_0 = xEn.xRenderComponent.dixAnimations; ushort arg_14BD8_1 = 22; ushort arg_14BD3_0 = 22; byte arg_14BD3_1 = 2; Texture2D arg_14BD3_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Dead/Down"); Vector2 arg_14BD3_3 = new Vector2(20f, 18f); int arg_14BD3_4 = 4; int arg_14BD3_5 = 14; int arg_14BD3_6 = 40; int arg_14BD3_7 = 24; int arg_14BD3_8 = 0; int arg_14BD3_9 = 0; int arg_14BD3_10 = 30; Animation.LoopSettings arg_14BD3_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_14BD3_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_14BD3_13 = false; bool arg_14BD3_14 = true; array = new AnimationInstruction[3]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 90f })); AnimationInstruction[] arg_14BA1_0 = array; int arg_14BA1_1 = 1; AnimInsCriteria arg_14B9C_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]); IEffect arg_14B97_0 = new SortedAnimated(SortedAnimated.SortedAnimatedEffects.FrostyFriendLv1Death); array13 = new float[2]; arg_14BA1_0[arg_14BA1_1] = new AnimationInstruction(arg_14B9C_0, new AnimInsEvent(arg_14B97_0, array13)); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.CallBackAnimation, new float[] { 1f })); arg_14BD8_0.Add(arg_14BD8_1, new Animation(arg_14BD3_0, arg_14BD3_1, arg_14BD3_2, arg_14BD3_3, arg_14BD3_4, arg_14BD3_5, arg_14BD3_6, arg_14BD3_7, arg_14BD3_8, arg_14BD3_9, arg_14BD3_10, arg_14BD3_11, arg_14BD3_12, arg_14BD3_13, arg_14BD3_14, array)); Dictionary<ushort, Animation> arg_14CB3_0 = xEn.xRenderComponent.dixAnimations; ushort arg_14CB3_1 = 23; ushort arg_14CAE_0 = 23; byte arg_14CAE_1 = 3; Texture2D arg_14CAE_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Dead/Right"); Vector2 arg_14CAE_3 = new Vector2(16f, 18f); int arg_14CAE_4 = 4; int arg_14CAE_5 = 14; int arg_14CAE_6 = 38; int arg_14CAE_7 = 24; int arg_14CAE_8 = 0; int arg_14CAE_9 = 0; int arg_14CAE_10 = 30; Animation.LoopSettings arg_14CAE_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_14CAE_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_14CAE_13 = false; bool arg_14CAE_14 = true; array = new AnimationInstruction[3]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 90f })); AnimationInstruction[] arg_14C7C_0 = array; int arg_14C7C_1 = 1; AnimInsCriteria arg_14C77_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]); IEffect arg_14C72_0 = new SortedAnimated(SortedAnimated.SortedAnimatedEffects.FrostyFriendLv1Death); array13 = new float[2]; arg_14C7C_0[arg_14C7C_1] = new AnimationInstruction(arg_14C77_0, new AnimInsEvent(arg_14C72_0, array13)); array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.CallBackAnimation, new float[] { 1f })); arg_14CB3_0.Add(arg_14CB3_1, new Animation(arg_14CAE_0, arg_14CAE_1, arg_14CAE_2, arg_14CAE_3, arg_14CAE_4, arg_14CAE_5, arg_14CAE_6, arg_14CAE_7, arg_14CAE_8, arg_14CAE_9, arg_14CAE_10, arg_14CAE_11, arg_14CAE_12, arg_14CAE_13, arg_14CAE_14, array)); xEn.xRenderComponent.dixAnimations[23].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_14D74_0 = xEn.xRenderComponent.dixAnimations; ushort arg_14D74_1 = 25; ushort arg_14D6F_0 = 25; byte arg_14D6F_1 = 1; Texture2D arg_14D6F_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Faint/Right"); Vector2 arg_14D6F_3 = new Vector2(17f, 22f); int arg_14D6F_4 = 4; int arg_14D6F_5 = 11; int arg_14D6F_6 = 28; int arg_14D6F_7 = 29; int arg_14D6F_8 = 0; int arg_14D6F_9 = 0; int arg_14D6F_10 = 30; Animation.LoopSettings arg_14D6F_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_14D6F_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_14D6F_13 = false; bool arg_14D6F_14 = true; array = new AnimationInstruction[2]; AnimationInstruction[] arg_14D41_0 = array; int arg_14D41_1 = 0; AnimInsCriteria arg_14D3C_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_14D37_0 = AnimInsEvent.EventType.PlaySound; string arg_14D37_1 = "frosty_lvl2_dead"; array13 = new float[1]; arg_14D41_0[arg_14D41_1] = new AnimationInstruction(arg_14D3C_0, new AnimInsEvent(arg_14D37_0, arg_14D37_1, array13)); AnimationInstruction[] arg_14D6C_0 = array; int arg_14D6C_1 = 1; AnimInsCriteria arg_14D67_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]); IEffect arg_14D62_0 = new SortedAnimated(SortedAnimated.SortedAnimatedEffects.FrostyFriendLv1Death); array13 = new float[2]; arg_14D6C_0[arg_14D6C_1] = new AnimationInstruction(arg_14D67_0, new AnimInsEvent(arg_14D62_0, array13)); arg_14D74_0.Add(arg_14D74_1, new Animation(arg_14D6F_0, arg_14D6F_1, arg_14D6F_2, arg_14D6F_3, arg_14D6F_4, arg_14D6F_5, arg_14D6F_6, arg_14D6F_7, arg_14D6F_8, arg_14D6F_9, arg_14D6F_10, arg_14D6F_11, arg_14D6F_12, arg_14D6F_13, arg_14D6F_14, array)); Dictionary<ushort, Animation> arg_14E1D_0 = xEn.xRenderComponent.dixAnimations; ushort arg_14E1D_1 = 27; ushort arg_14E18_0 = 27; byte arg_14E18_1 = 3; Texture2D arg_14E18_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Faint/Right"); Vector2 arg_14E18_3 = new Vector2(11f, 21f); int arg_14E18_4 = 4; int arg_14E18_5 = 11; int arg_14E18_6 = 28; int arg_14E18_7 = 29; int arg_14E18_8 = 0; int arg_14E18_9 = 0; int arg_14E18_10 = 30; Animation.LoopSettings arg_14E18_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_14E18_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_14E18_13 = false; bool arg_14E18_14 = true; array = new AnimationInstruction[2]; AnimationInstruction[] arg_14DEA_0 = array; int arg_14DEA_1 = 0; AnimInsCriteria arg_14DE5_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]); AnimInsEvent.EventType arg_14DE0_0 = AnimInsEvent.EventType.PlaySound; string arg_14DE0_1 = "frosty_lvl2_dead"; array13 = new float[1]; arg_14DEA_0[arg_14DEA_1] = new AnimationInstruction(arg_14DE5_0, new AnimInsEvent(arg_14DE0_0, arg_14DE0_1, array13)); AnimationInstruction[] arg_14E15_0 = array; int arg_14E15_1 = 1; AnimInsCriteria arg_14E10_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]); IEffect arg_14E0B_0 = new SortedAnimated(SortedAnimated.SortedAnimatedEffects.FrostyFriendLv1Death); array13 = new float[2]; arg_14E15_0[arg_14E15_1] = new AnimationInstruction(arg_14E10_0, new AnimInsEvent(arg_14E0B_0, array13)); arg_14E1D_0.Add(arg_14E1D_1, new Animation(arg_14E18_0, arg_14E18_1, arg_14E18_2, arg_14E18_3, arg_14E18_4, arg_14E18_5, arg_14E18_6, arg_14E18_7, arg_14E18_8, arg_14E18_9, arg_14E18_10, arg_14E18_11, arg_14E18_12, arg_14E18_13, arg_14E18_14, array)); xEn.xRenderComponent.dixAnimations[27].enSpriteEffect = SpriteEffects.FlipHorizontally; Dictionary<ushort, Animation> arg_14EDC_0 = xEn.xRenderComponent.dixAnimations; ushort arg_14EDC_1 = 100; ushort arg_14ED7_0 = 100; byte arg_14ED7_1 = 2; Texture2D arg_14ED7_2 = Content.Load<Texture2D>(NPC_PATH + "Special/Frosty Friend/Level 3/Spawn/Spawn"); Vector2 arg_14ED7_3 = new Vector2(24f, 35f); int arg_14ED7_4 = 4; int arg_14ED7_5 = 28; int arg_14ED7_6 = 47; int arg_14ED7_7 = 43; int arg_14ED7_8 = 0; int arg_14ED7_9 = 0; int arg_14ED7_10 = 30; Animation.LoopSettings arg_14ED7_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_14ED7_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_14ED7_13 = false; bool arg_14ED7_14 = true; array = new AnimationInstruction[2]; array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[] { 2f })); AnimationInstruction[] arg_14ED4_0 = array; int arg_14ED4_1 = 1; AnimInsCriteria arg_14ECF_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtInterrupt, new float[0]); AnimInsEvent.EventType arg_14ECA_0 = AnimInsEvent.EventType.CallBackAnimation; array13 = new float[1]; arg_14ED4_0[arg_14ED4_1] = new AnimationInstruction(arg_14ECF_0, new AnimInsEvent(arg_14ECA_0, array13)); arg_14EDC_0.Add(arg_14EDC_1, new Animation(arg_14ED7_0, arg_14ED7_1, arg_14ED7_2, arg_14ED7_3, arg_14ED7_4, arg_14ED7_5, arg_14ED7_6, arg_14ED7_7, arg_14ED7_8, arg_14ED7_9, arg_14ED7_10, arg_14ED7_11, arg_14ED7_12, arg_14ED7_13, arg_14ED7_14, array)); xEn.xRenderComponent.dixAnimations.Add(90, new Animation(90, 0, RenderMaster.txNullTex, new Vector2(12f, 11f), 4, 2, 25, 17, 0, 0, 30, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, false, false, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.sAttackPhaseCategory = "IceGolemLv2"; SortedAnimated.PreLoadMany(new SortedAnimated.SortedAnimatedEffects[] { SortedAnimated.SortedAnimatedEffects.FrostyFriendLv1Death }); xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 9f + (float)new Random().NextDouble(), xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(8f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.Neutrals); } else if (enType >= NPCCodex.NPCTypes.GuestOrSign01 && enType <= NPCCodex.NPCTypes.GuestOrSign09) { xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new BoxCollider(25, 25, 0f, new Vector2(0f, 15f), xEn.xTransform, 100000f, xEn); xEn.enType = enType; xEn.xBehaviour = new StaticBehaviour(); xEn.xBaseStats.fMovementSpeed = 0.5f; xEn.xRenderComponent.xOwnerObject = xEn; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, RenderMaster.txNullTex, new Vector2(11f, 31f), 4, 1, 22, 35, 0, 0, 100, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); } else if (enType == NPCCodex.NPCTypes.Pet_Rabby) { xEn.bDontAutoKillAt0HP = true; xEn.xBaseStats.iBaseATK = -4; xEn.xBaseStats.fMovementSpeed = 2f; xEn.enType = enType; xEn.xBehaviour = new PetBunnyAI(xEn); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xBaseStats.bCanBeKnockedUp = true; xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xRenderComponent.bReSortHeight = true; string MONSTER_PATH3 = "Sprites/Monster/"; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(MONSTER_PATH3 + "Pillar Mountains/Rabbi/Idle/Up"), new Vector2(11f, 18f), 4, 12, 21, 23, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(MONSTER_PATH3 + "Pillar Mountains/Rabbi/Idle/Right"), new Vector2(14f, 18f), 4, 12, 29, 22, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>(MONSTER_PATH3 + "Pillar Mountains/Rabbi/Idle/Down"), new Vector2(13f, 17f), 4, 12, 25, 22, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(MONSTER_PATH3 + "Pillar Mountains/Rabbi/Idle/Left"), new Vector2(14f, 18f), 4, 12, 29, 22, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(MONSTER_PATH3 + "Pillar Mountains/Rabbi/Run/Up"), new Vector2(12f, 19f), 4, 11, 23, 25, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(MONSTER_PATH3 + "Pillar Mountains/Rabbi/Run/Right"), new Vector2(14f, 21f), 4, 11, 30, 25, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 2, Content.Load<Texture2D>(MONSTER_PATH3 + "Pillar Mountains/Rabbi/Run/Down"), new Vector2(13f, 19f), 4, 11, 25, 24, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>(MONSTER_PATH3 + "Pillar Mountains/Rabbi/Run/Left"), new Vector2(15f, 21f), 4, 11, 30, 25, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); SortedAnimated xEffe = Program.game._EffectMaster_AddEffect(new SortedAnimated(xEn.xTransform.v2Pos, SortedAnimated.SortedAnimatedEffects.PetAura)) as SortedAnimated; xEffe.xRenderComponent.xTransform = xEn.xRenderComponent.xTransform; Program.game._EntityMaster_AddWatcher(new EnemyAttachedEffectWatcher(xEn, xEffe)); xEn.sAttackPhaseCategory = "Rabbi"; xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 9f + (float)new Random().NextDouble(), xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Pet_Slime) { xEn.bDontAutoKillAt0HP = true; xEn.xBaseStats.iBaseATK = -4; xEn.xBaseStats.fMovementSpeed = 2f; xEn.enType = enType; xEn.xBehaviour = new PetSlimeAI(xEn); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xBaseStats.bCanBeKnockedUp = true; xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = false; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xRenderComponent.bReSortHeight = true; string MONSTER_PATH4 = "Sprites/Monster/"; xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(MONSTER_PATH4 + "Pillar Mountains/Slime/Idle/Up"), new Vector2(14f, 14f), 4, 8, 25, 18, 0, 0, 8, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(MONSTER_PATH4 + "Pillar Mountains/Slime/Run/Up"), new Vector2(14f, 19f), 4, 8, 25, 23, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0])); Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); SortedAnimated xEffe2 = Program.game._EffectMaster_AddEffect(new SortedAnimated(xEn.xTransform.v2Pos, SortedAnimated.SortedAnimatedEffects.PetAura)) as SortedAnimated; xEffe2.xRenderComponent.xTransform = xEn.xRenderComponent.xTransform; Program.game._EntityMaster_AddWatcher(new EnemyAttachedEffectWatcher(xEn, xEffe2)); xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 9f + (float)new Random().NextDouble(), xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } else if (enType == NPCCodex.NPCTypes.Pet_Jumpkin) { xEn.bDontAutoKillAt0HP = true; xEn.xBaseStats.iBaseATK = -4; xEn.xBaseStats.fMovementSpeed = 2f; xEn.enType = enType; xEn.xBehaviour = new PetJumpkinAI(xEn); xEn.xRenderComponent.xOwnerObject = xEn; xEn.aiHitAnimation[0] = 12; xEn.aiHitAnimation[1] = 13; xEn.aiHitAnimation[2] = 14; xEn.aiHitAnimation[3] = 15; xEn.xBaseStats.bCanBeKnockedUp = true; xEn.bIsInteractable = true; xEn.bLookAtPlayerAtInteraction = true; xEn.colInteractCollider = new SphereCollider(20f, Vector2.Zero, xEn.xTransform, 0f, xEn); xEn.xRenderComponent.bReSortHeight = true; string MONSTER_PATH5 = "Sprites/Monster/"; Dictionary<ushort, Animation> arg_157B2_0 = xEn.xRenderComponent.dixAnimations; ushort arg_157B2_1 = 0; ushort arg_157AD_0 = 0; byte arg_157AD_1 = 0; Texture2D arg_157AD_2 = Content.Load<Texture2D>(MONSTER_PATH5 + "Halloween Forest/Pumpkin/Move/Up"); Vector2 arg_157AD_3 = new Vector2(13f, 28f); int arg_157AD_4 = 4; int arg_157AD_5 = 8; int arg_157AD_6 = 27; int arg_157AD_7 = 32; int arg_157AD_8 = 0; int arg_157AD_9 = 0; int arg_157AD_10 = 8; Animation.LoopSettings arg_157AD_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_157AD_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_157AD_13 = true; bool arg_157AD_14 = true; AnimationInstruction[] array = new AnimationInstruction[1]; AnimationInstruction[] arg_157AA_0 = array; int arg_157AA_1 = 0; AnimInsCriteria arg_157A5_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_157A0_0 = AnimInsEvent.EventType.CallBackAnimation; float[] array13 = new float[1]; arg_157AA_0[arg_157AA_1] = new AnimationInstruction(arg_157A5_0, new AnimInsEvent(arg_157A0_0, array13)); arg_157B2_0.Add(arg_157B2_1, new Animation(arg_157AD_0, arg_157AD_1, arg_157AD_2, arg_157AD_3, arg_157AD_4, arg_157AD_5, arg_157AD_6, arg_157AD_7, arg_157AD_8, arg_157AD_9, arg_157AD_10, arg_157AD_11, arg_157AD_12, arg_157AD_13, arg_157AD_14, array)); Dictionary<ushort, Animation> arg_15828_0 = xEn.xRenderComponent.dixAnimations; ushort arg_15828_1 = 1; ushort arg_15823_0 = 1; byte arg_15823_1 = 1; Texture2D arg_15823_2 = Content.Load<Texture2D>(MONSTER_PATH5 + "Halloween Forest/Pumpkin/Move/Right"); Vector2 arg_15823_3 = new Vector2(13f, 30f); int arg_15823_4 = 4; int arg_15823_5 = 8; int arg_15823_6 = 27; int arg_15823_7 = 34; int arg_15823_8 = 0; int arg_15823_9 = 0; int arg_15823_10 = 8; Animation.LoopSettings arg_15823_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_15823_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_15823_13 = true; bool arg_15823_14 = true; array = new AnimationInstruction[1]; AnimationInstruction[] arg_15820_0 = array; int arg_15820_1 = 0; AnimInsCriteria arg_1581B_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_15816_0 = AnimInsEvent.EventType.CallBackAnimation; array13 = new float[1]; arg_15820_0[arg_15820_1] = new AnimationInstruction(arg_1581B_0, new AnimInsEvent(arg_15816_0, array13)); arg_15828_0.Add(arg_15828_1, new Animation(arg_15823_0, arg_15823_1, arg_15823_2, arg_15823_3, arg_15823_4, arg_15823_5, arg_15823_6, arg_15823_7, arg_15823_8, arg_15823_9, arg_15823_10, arg_15823_11, arg_15823_12, arg_15823_13, arg_15823_14, array)); Dictionary<ushort, Animation> arg_1589E_0 = xEn.xRenderComponent.dixAnimations; ushort arg_1589E_1 = 2; ushort arg_15899_0 = 2; byte arg_15899_1 = 2; Texture2D arg_15899_2 = Content.Load<Texture2D>(MONSTER_PATH5 + "Halloween Forest/Pumpkin/Move/Down"); Vector2 arg_15899_3 = new Vector2(13f, 28f); int arg_15899_4 = 4; int arg_15899_5 = 8; int arg_15899_6 = 27; int arg_15899_7 = 32; int arg_15899_8 = 0; int arg_15899_9 = 0; int arg_15899_10 = 8; Animation.LoopSettings arg_15899_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_15899_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_15899_13 = true; bool arg_15899_14 = true; array = new AnimationInstruction[1]; AnimationInstruction[] arg_15896_0 = array; int arg_15896_1 = 0; AnimInsCriteria arg_15891_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_1588C_0 = AnimInsEvent.EventType.CallBackAnimation; array13 = new float[1]; arg_15896_0[arg_15896_1] = new AnimationInstruction(arg_15891_0, new AnimInsEvent(arg_1588C_0, array13)); arg_1589E_0.Add(arg_1589E_1, new Animation(arg_15899_0, arg_15899_1, arg_15899_2, arg_15899_3, arg_15899_4, arg_15899_5, arg_15899_6, arg_15899_7, arg_15899_8, arg_15899_9, arg_15899_10, arg_15899_11, arg_15899_12, arg_15899_13, arg_15899_14, array)); Dictionary<ushort, Animation> arg_15914_0 = xEn.xRenderComponent.dixAnimations; ushort arg_15914_1 = 3; ushort arg_1590F_0 = 3; byte arg_1590F_1 = 3; Texture2D arg_1590F_2 = Content.Load<Texture2D>(MONSTER_PATH5 + "Halloween Forest/Pumpkin/Move/Right"); Vector2 arg_1590F_3 = new Vector2(14f, 30f); int arg_1590F_4 = 4; int arg_1590F_5 = 8; int arg_1590F_6 = 27; int arg_1590F_7 = 34; int arg_1590F_8 = 0; int arg_1590F_9 = 0; int arg_1590F_10 = 8; Animation.LoopSettings arg_1590F_11 = Animation.LoopSettings.Clamp; Animation.CancelOptions arg_1590F_12 = Animation.CancelOptions.IgnoreIfPlaying; bool arg_1590F_13 = true; bool arg_1590F_14 = true; array = new AnimationInstruction[1]; AnimationInstruction[] arg_1590C_0 = array; int arg_1590C_1 = 0; AnimInsCriteria arg_15907_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]); AnimInsEvent.EventType arg_15902_0 = AnimInsEvent.EventType.CallBackAnimation; array13 = new float[1]; arg_1590C_0[arg_1590C_1] = new AnimationInstruction(arg_15907_0, new AnimInsEvent(arg_15902_0, array13)); arg_15914_0.Add(arg_15914_1, new Animation(arg_1590F_0, arg_1590F_1, arg_1590F_2, arg_1590F_3, arg_1590F_4, arg_1590F_5, arg_1590F_6, arg_1590F_7, arg_1590F_8, arg_1590F_9, arg_1590F_10, arg_1590F_11, arg_1590F_12, arg_1590F_13, arg_1590F_14, array)); xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally; Program.GetTheGame().xRenderMaster.RegisterSortedRenderComponent(xEn.xRenderComponent); xEn.sAttackPhaseCategory = "Rabbi"; SortedAnimated xEffe3 = Program.game._EffectMaster_AddEffect(new SortedAnimated(xEn.xTransform.v2Pos, SortedAnimated.SortedAnimatedEffects.PetAura)) as SortedAnimated; xEffe3.xRenderComponent.xTransform = xEn.xRenderComponent.xTransform; Program.game._EntityMaster_AddWatcher(new EnemyAttachedEffectWatcher(xEn, xEffe3)); xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 9f + (float)new Random().NextDouble(), xEn); xEn.xCollisionComponent.xMovementCollider.bIsLarge = false; } if (xEn == null || xEn.xRenderComponent == null || xEn.xRenderComponent.GetCurrentAnimation() == null) { throw new Exception("NPC not initialized? Type: " + enType.ToString() + " Zone: " + Program.game.xLevelMaster.xCurrentLevel.enZone.ToString()); } xEn.xRenderComponent.GetCurrentAnimation().Reset(); return xEn; }
public NPCRenderComponent(IEntity p_xOwnerObject) : base(p_xOwnerObject) { this.xOwner = (NPC)p_xOwnerObject; }