Пример #1
0
 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];
     }
 }
Пример #4
0
 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]);
             }
         }
     }
 }
Пример #6
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;
 }
Пример #7
0
 public NPCRenderComponent(IEntity p_xOwnerObject)
     : base(p_xOwnerObject)
 {
     this.xOwner = (NPC)p_xOwnerObject;
 }