Inheritance: MonoBehaviour
示例#1
0
 /// <summary>
 /// Default constructor, intializing the Base10BigInteger with zero.
 /// </summary>
 public Base10BigInteger()
 {
     digits = new long[MaxSize];
     size = 1;
     digits[size] = 0;
     sign = Sign.Positive;
 }
示例#2
0
 public SimpleExpression(Sign sign, string variable, double coeficient, double exponent)
 {
     _sign = sign;
     _variable = variable;
     _coeficient = coeficient;
     _exponent = exponent;
 }
示例#3
0
 /// <summary>
 /// Default constructor, intializing the Base10BigInteger with zero.
 /// </summary>
 public Base10BigInteger()
 {
     digits = new DigitContainer();
     size = 1;
     digits[size] = 0;
     sign = Sign.Positive;
 }
        /// <summary>
        /// Constructor creating a new Base10BigInteger as a conversion of a regular base-10 long.
        /// </summary>
        /// <param name="n">The base-10 long to be converted</param>
        public Base10BigInteger(long n)
        {
            digits = new long[MaxSize];
            sign = Sign.Positive;

            if (n == 0)
            {
                size = 1;
                digits[size] = 0;
            }

            else
            {
                if (n < 0)
                {
                    n = -n;
                    sign = Sign.Negative;
                }

                size = 0;
                while (n > 0)
                {
                    digits[size] = n % NumberBase;
                    n /= NumberBase;
                    size++;
                }
            }
        }
示例#5
0
    /// <summary>
    /// 
    /// </summary>
    static AllSigns()
    {
        #region Znamen�
        signs[0] = new Sign("Aries", "BERAN", "�erven� ", "Mars", @"Beran je znamen�m nov�ho za��tku. Lid� narozen� v tomto znamen� jsou prost� a m�lo komplikovan� povahy. Vyzna�uj� se pevnou v�l�. Jsou cti��dostiv� a tou�� po nez�vislosti. V��� ve vlastn� schopnosti a usiluj� o co nejrychlej�� dosa�en� sebou stanoven�ch c�l�. Jsou si p�itom v�domi sv� s�ly a pr�bojnosti. Neboj� se p�ek�ek a ne�sp�ch je neodrad� - pr�v� naopak! Jsou nad�en� o pr�ce. Nevyh�baj� se boji. Sna�� se v�ci prosazovat svou v�l�, ale sv�j rozum a cit pon�kud podce�uj�. Postr�daj� hou�evnatost a vytrvalost. Snadno a rychle ch�pou a vyzna�uj� se dobr�m post�ehem. Berani mohou b�t n�kdy sobe�t�, neklidn�, n�ladov� a podr�d�n�. Pot�e jim d�l� dodr�ov�n� rozumn� m�ry a snadno proto p�ekra�uj� meze.");
        signs[1] = new Sign("Taurus", "B�K ", "modr�   ", "Venu�e", @"Lid� narozen� v tomto znamen� jsou obda�eni velkou vytrvalost�, rozhodnost�, silnou v�l� a energi�. B�vaj� p�ej�c� a um�lecky nadan� a prakti�t�. Jsou c�lev�dom�. Maj� v�el� vztah k p��rod� a um�n�. U��vaj� si vlastn�ho �ivota. Velice �asto b�vaj� uzav�en� a m�lo p��stupn�. B�ci v�t�inou nesp�chaj� a jsou opatrn�. Uznaj�-li ale u�ite�nost n�jak� v�ci, dok�ou se plnou energi� zasadit o jej� uskute�n�n�. Stoj� si za sv�m a nemaj� r�di kdy� jim do n��eho n�kdo mluv�. P�esto�e b�ci dovedou vychutn�vat �ivot pln�mi dou�ky, sou p�i tom dobrosrde�n� a sna�� se pom�hat slab��m. Sami nav�c dovedou ocenit l�skypln� zach�zen�. Nejv�t��m nebezpe��m pro n� sam� m��e b�t jejich sv�hlavost. Neradi naslouchaj� varov�n� a mohou na to doplatit.");
        signs[2] = new Sign("Gemini", "BL͎ENCI ", "�lut� ", "Merkur", @"Bl�enci jsou znamen�m du�evn� v�estrannosti a bystr�ho intelektu. Jsou aktivn� se z�jmem o v�e, co se kolem nich d�je. Jejich znalosti ale bohu�el �asto b�vaj� jen povrchn�. Jsou zv�dav�. Chyb� jim vytrvalost a trp�livost. V�echno by cht�li poznat a zkusit a neodrad� je od pozn�v�n� ani negativn� zku�enost. B�vaj� p�esv�d�eni o spr�vnosti sv�ch n�zor�. Velmi �patn� sn�� samotu, kterou si �asto jen namlouvaj�. Bl�enci b�vaj� velmi tolerantn�. Svobodu pohybu a jedn�n� v�ak po�aduj� i pro sebe. Jsou mil�, p��jemn� a v��e�n�. P��b�hy a z�itky v�ak r�di 'p�ibarvuj�'. To ov�em nepova�uj� za lhan�, ale za p�edstavivost. Mohou d�lat v�ce v�c� najednou, ale maj� probl�my je dot�hnou do konce. Nen� na n� velk� spolehnut�.");
        signs[3] = new Sign("Cancer", "RAK ", "fialov� ", "M�s�c", @"Krun�� Raka jejako panc��, kter� ukr�v� jemnost, nesm�lost a psychickou i fyzickou citlivost. Lid� ve znamen� Raka jsou citov� zalo�eni s mimo��dn�m smyslem pro domov a rodinu. Jsou sp�e zasn�n�, sentiment�ln� a k tomu i obda�en� bohatou fantazi�. Nejl�pe se c�t� a rozv�jej� se v �zk�m rodinn�m kruhu. �asto se u jich projevuje neklid a m�n� sv� n�lady i n�zory. Raci jsou ochotni se ob�tovat pro sv� bli�n�. Sna�� se hodn� pom�hat. M�vaj� sklony k pohodlnosti, kter� se m��e vyvinout a� v �plnou lenost. Jsou ch�pav� a maj� velmi dobrou pam�. N�kdy b�vaj� sobe�t� k ciz�m lidem. Projevuje se u nich neklid a netrp�livost. Jsou velice nedo�kav� a t�m �asto nedok�� dokon�it zapo�at� d�lo.");
        signs[4] = new Sign("Leo", "LEV ", "oran�ov�   ", "Slunce", @"Lev je symbolem vl�dy a odvahy. Lid� narozen� v tomto znamen� jsou plni tv�r�� s�l a p�ev�n� v�e na co s�hnou, tak hrav� zvl�dnou. Um�j� vym��let velk� pl�ny, ale bohu�el p�ev�n� neuskute�niteln�. Jsou velkorys�. Velice �asto 'schv�ln�' p�ehl�ej� mali�kosti. Miluj� bohatstv� a cht�j� v �ivot� n�co znamenat. Jejich c�lem je b�t uzn�van�mi. Mezi p�ednost� pat�� zdrav� rozum a dobr� pam�. Toho ov�em n�kdy zneu��vaj� a podce�uj� u�en�, kter� p��li� nemaj� v oblib�. Nesn�ej� nespravedlnost a br�n� t�m, kter�m se ubli�uje. Jsou to idealisti. Z�jem celku vyzdvihuj� nad z�jmem jednotlivce. Jsou sebev�dom� a cti��dostiv�. Cht�j� b�t p�irozen�m st�edem spole�nosti. V�niv� tou�� po pochvale, cti a uzn�n�. Velice neradi se pod�izuj� jin�m.");
        signs[5] = new Sign("Virgo", "PANNA ", "modr� ", "Merkur", @"Panny jsou praktick�, rozv�n� a v �ivot� se sna�� ��dit zku�enostmi. B�vaj� racion�ln� a kritick�. Miluj� po��dek a p�esnost. Pat�� k nejv�t��m nep��tel�m zmatku, chaosu a ledabylosti. Jsou mnohostrann� nadan� a praktick�. Um�j� v�astn� rozeznat, co je dobr� a �patn�, pot�ebn� a nepot�ebn�. V jejich my�len� p�evl�d� analytick� p��stup. Zab�vaj� se mali�kostmi a podrobnostmi, tak�e se snadno stane, �e ztrat� celkov� p�ehled o ur�it�m d�n� a unikaj� jim souvislosti a celkov� smysl. Panny maj� velk� z�jem o podrobnosti a tajemstv� ze �ivota jin�ch, co� je z neukojiteln� zv�davosti. Panny mohou p�sobit skromn�m dojmem. Ve skute�nosti v�ak maj� samy o sob� to nejvy��� m�n�n�. Jsou sobeck�, cynick� a nerozhodn�.");
        signs[6] = new Sign("Libra", "V�HY ", "indigo ", "Venu�e", @"V�hy jsou v�t�inou mil� a sympati�t� lid� s vnit�n� a vn�j�� harmonii. Jsou p�ev�n� intelektu�ln� zam��en�. Um� se radovat z ka�d�ho p��jemn� pro�it�ho dne. Maj� hlubok� vztah k um�n� a dobr� p�edpoklady pro vlastn� um�leckou tvorbu. Miluj� �perky, z�bavu, hudbu a tanec. Maj� vyvinut� smysl pro spravedlnost a jsou ochotn� pomoci sv�m bli�n�m. Jsou poctiv� a kompromisn�. Neboj� se st�et�, ale rad�ji vol� klid a m�r. Ale kdy� p�ekro��te ur�itou mez, tak moho nep��jem� p�ekvapit. Jejich vadou m��e b�t nadm�rn� citlivost a sklon k netrp�livosti. Jsou p�ev�n� bezstarostn� a lehkomysln�. Miluj� svobodu a nez�vislost, ale nedok�ou ��t osam�le. Spole�nost a harmonick� partnerstv� je pro n� prvo�ad�.");
        signs[7] = new Sign("Scorpio", "�T�R ", "nachov� ", "Pluto", @"�t��i jsou velc� bojovn�ci. Jsou velmi v��mav� a byst��. P�ed jejich zrakem nic neunikne. Jsou uzav�en�, nesd�ln� a samot���t�. �t��i maj� silnou v�li a jak si n�co usmysl�, tak jdou za sv�m c�lem a nic je nezastav�. Jsou energi�t� a vytrval� a jsou schopni obst�t i ve slo�it�ch situac�ch. Um� p�edv�dat a maj� bystr�ho ducha. To jim umo��uje odhalit u druh�ch nejzraniteln� m�sta. �t��i berou cel� sv�j �ivot jako boj sami se sebou i s okoln�m v�tem. D�ky tomu v�t�inou z�st�vaj� nepochopeni. Jsou zralej�� a d�kladn�j�� ne� ostatn� lid�. Pro hloubku a nesd�litelnost jejich cit� je obt�n� se jim bl�e p�ibl�it. Mezi �patn� vlasnosti pat�� mstivost, ��rlivost a p�ecitliv�lost. Jejich pot�eba v�e m�nit m��e p�er�st v destruktivn� chov�n�.");
        signs[8] = new Sign("Saggitarius", "ST�ELEC ", "sv�tle modr�", "Jupiter", @"St�elci jsou v�dy velmi aktivn�. I p�es sv�j sp�ch b�vaj� dobr�mi pozorovateli a dovedou rychle analyzovat situaci. Jsou velmi zv�dav�, neust�le cht�j� pozn�vat nov� lidi a nov� v�ci. Rychle a snadno navazuj� nov� kontakty. �asto jsou vynikaj�c�mi u�iteli. Miluj� nez�vislost a svobodu a ct� svobodu druh�ch. Jsou optimisty a v�t�inou se jim v�e da��. B�vaj� dobr�mi sportovci. Pr�ce je pro St�elce sportem a �in� jim pot�en�. P���inou jejich p��padn�ch ne�sp�ch� b�v� velk� impulz�vnost. Rozhoduj� se rychle, m��� p�esn�, ale n�kdy m��ou tak� p�est�elit. Neboj� se nebezpe�� a n�kdy v n�m nal�zaj� i sebe sama. Miluj� pobyt na �erstv�m vzduchu. Maj� r�di p��rodu a cestov�n�. Jsou p�ej�c� a maj� smysl pro spravedlnost. N�kdy by jim prosp�lo chovat se v�ce diplomaticky a naslouchat druh�m.");
        signs[9] = new Sign("Capricorn", "KOZOROH ", "�ern�   ", "Saturn", @"Lid� narozen� ve znamen� Kozoroha jsou prakti�t�, zdr�enliv�, vytrval� a v�n�. V�d�, �e blahobyt a pohodl� nep�ich�zej� bez n�mahy a tvrd� vytrval� pr�ce. Maj� siln� vyvinut� smysl pro povinnost. Ten �asto p�ehlu�uje v�echny ostatn� city. Jsou v�n�, opatrn� a p�em��liv�. P�itom jsou cti��dostiv�, piln�, trp�liv� a nepodplatiteln�. Maj� pot�ebu st�le postupovat kup�edu a nahoru. To plat� jak du�evn�, tak spole�ensky. Jejich siln� autorit� napom�h� dobr� organiza�n� talent. Jsou konzervativn� a zt�les�uj� stabilitu. Rovn� jsou diplomati�t�, ale za to m�lo p�izp�sobiv�. Nejrad�ji maj� v�e podrobn� napl�nov�no. Kozorozi b�vaj� velmi uzav�en� a obt�n� navazuj� kontakty s okol�m. Z�st�vaj� ned�v��iv� a udr�uj� si odstup. Jsou hodn� d�v�ry a lze se na n� spolehnout.");
        signs[10] = new Sign("Aquarius", "VODN�� ", "b�l�   ", "Uran", @"Jsou odu�evn�l� a velmi romanti�t�. Je mezi nimi mnoho vynikaj�c�ch myslitel�, b�sn�k�, vyn�lezc� a v�dc�. Jejich pronikav� intuice vid� d�le a hloub�ji do budoucnosti. R�di experimentuj�. Dok�� efektivn� realizovat sv� my�lenky, kter� jsou na prvn� pohled neuskute�niteln�. Miluj� v�e origin�ln�, fascinuj�c� a nezvykl�. Maj� hlubokou a komplikovanou povahu. D�ky tomu b�t n�kdy �patn� ch�p�ni. Navazuj� snadno p��telsk� vztahy. Je na nich spolehnut� a naleznete u nich velkorysost a nezi�tnost. Zaj�maj� je ide�ly. Zab�vaj� se v�cmi, kter� se t�kaj� sp�e celku ne� jednotlivce. K negativn� str�nce pat�� potla�ov�n� cit�, nedostatek trp�livosti a ne z��dka lhostejnost.");
        signs[11] = new Sign("Pisces", "RYBY ", "zelen� ", "Neptun", @"Lid� narozen� ve znamen� Ryb se sv�mi my�lenkami pohybuj� v hloubk�ch. Neexistuj� pro n� tak�ka ��dn� hranice. Jejich �kolem je plavat proti proudu. Pokud se nechaj� pouze un�et, mohou �patn� skon�it. Maj� siln� vnit�n� vn�m�n�, citlivost a inspiraci. Jsou obda�eny jak�msi �est�m smyslem. To si v�ak samy neuv�domuj�. Jejich p�edstavivost a fantazie jim umo��uje proc�t�n� ka�d�ho okam�iku. Dok�� obvykle pochopit v�echny lidi kolem sebe, alem samy sebe u� ne. Mohou se hledat cel� �ivot. Nesnadno nach�zej� rovnov�hu mezi sv�mi sny, tu�bami a realitou. Zpravidla v�ce naslouchaj� ne� mluv�. Jsou p�izp�sobiv� a maj� skromnou a nesobeckou povahu. �asto o sv�ch schopnostech pochybuj� a stoj� stranou. Jsou opatrn�, ale jejich d�v��ivost k ostatn�m lidem v�ak m��e b�t bezmezn�. Proto se tak� �asto st�vaj� ob�t� podvod� a intrik.");
        #endregion

        #region Data
        dateRangesOfSigns.P�idej(21, 3);
        dateRangesOfSigns.P�idej(22, 4);
        dateRangesOfSigns.P�idej(22, 5);
        dateRangesOfSigns.P�idej(22, 6);
        dateRangesOfSigns.P�idej(22, 7);
        dateRangesOfSigns.P�idej(23, 8);
        dateRangesOfSigns.P�idej(23, 9);
        dateRangesOfSigns.P�idej(24, 10);
        dateRangesOfSigns.P�idej(23, 11);
        dateRangesOfSigns.P�idej(22, 12);
        dateRangesOfSigns.P�idej(21, 1);
        dateRangesOfSigns.P�idej(19, 2);
        #endregion
    }
        public void Process(int start, int length, int num, int whoAmI, byte[] readBuffer, byte bufferData)
        {
            int signIndex = (int)BitConverter.ToInt16(readBuffer, num);
            num += 2;
            int x = BitConverter.ToInt32(readBuffer, num);
            num += 4;
            int y = BitConverter.ToInt32(readBuffer, num);
            num += 4;

            String SignText = Encoding.ASCII.GetString(readBuffer, num, length - num + start);

            Sign sign = new Sign();
            sign.x = x;
            sign.y = y;

            PlayerEditSignEvent signEvent = new PlayerEditSignEvent();
            signEvent.Sender = Main.players[whoAmI];
            signEvent.Sign = sign;
            signEvent.Text = SignText;
            Program.server.PluginManager.processHook(Hooks.PLAYER_EDITSIGN, signEvent);
            if (signEvent.Cancelled)
            {
                return;
            }

            Main.sign[signIndex] = sign;
            Sign.TextSign(signIndex, SignText);
        }
示例#7
0
文件: Horoscope.cs 项目: ebirito/Qrj
        public string GetHoroscope(Sign sign)
        {
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(Data);

            return doc.SelectSingleNode("//item[title = \"" + sign.ToString() + "\"]/description").InnerText;
        }
示例#8
0
 internal static Vector VectorToTangent(this Point self, Circle circle, Sign rotationDirection)
 {
     var toCenter = self.VectorTo(circle.Center);
     var angle = rotationDirection == Sign.Positive ? 90 : -90;
     var perp = circle.Radius * toCenter.Rotate(angle).Normalized();
     var toTangent = self.VectorTo(circle.Center + perp);
     return toTangent;
 }
示例#9
0
 public Range(Sign Sign, RangeOption Option, string LowValue, string HighValue)
 {
     this._LowValue = "";
     this._HighValue = "";
     this.Sign = Sign;
     this.Option = Option;
     this.LowValue = LowValue;
     this.HighValue = HighValue;
 }
示例#10
0
 public void FlipSign()
 {
     if(NumericalContent != 0){
         if (sign == Sign.negative)
             sign = Sign.positive;
         else
             sign = Sign.negative;
     }
 }
示例#11
0
        TurnResult IBoardManager.MakeTurn(Sign sign, Field field)
        {
            if (this._board[field] != Sign.None)
                return TurnResult.Wrong;

            this._board[field] = sign;

            return this.CheckIfWin() ? TurnResult.Win : TurnResult.Next;
        }
示例#12
0
		public static BlockEntity GetBlockEntityById(string blockEntityId)
		{
			BlockEntity blockEntity = null;

			if (blockEntityId == "Sign") blockEntity = new Sign();
			else if (blockEntityId == "Chest") blockEntity = new ChestBlockEntity();
			else if (blockEntityId == "Furnace") blockEntity = new FurnaceBlockEntity();

			return blockEntity;
		}
示例#13
0
        public static void Load()
        {
            if (!Directory.Exists(ControlDirectory))
                Directory.CreateDirectory(ControlDirectory);

            if (!File.Exists(SavePath))
                File.Create(SavePath).Close();

            var error = false;
            foreach (var args in File.ReadAllLines(SavePath).Select(line => line.Split('|')).Where(args => args.Length >= 4))
            {
                try
                {
                    var sign = new Sign();

                    sign.SetID(int.Parse(args[0]));
                    sign.SetPosition(new Vector2(int.Parse(args[1]), int.Parse(args[2])));
                    sign.SetPassword(args[3], args[3] != "");

                    if (args.Length == 5)
                        sign.SetWarp(args[4]);

                    //check if sign still exists in world
                    var id = Terraria.Sign.ReadSign((int)sign.GetPosition().X, (int)sign.GetPosition().Y);
                    if (id != 1)
                    {
                        //the id of sign changed
                        if (id != sign.GetID())
                            sign.SetID(id);

                        //add to array
                        AddSign(sign);
                    }
                }
                catch
                {
                    error = true;
                }
            }

            //TODO: lazy loading of signs ( null checks )
            //fill empty slots
            for (var i = 0; i < Signs.Length; i++)
            {
                if (Signs[i] == null)
                {
                    Signs[i] = new Sign();
                    Signs[i].SetID(i);
                }
            }

            if (error)
                Console.WriteLine("Failed to load some sign data, corresponding signs will be left unprotected.");
        }
示例#14
0
        public static BlockEntity GetBlockEntityById(string blockEntityId)
        {
            BlockEntity blockEntity = null;

            if (blockEntityId == "Sign") blockEntity = new Sign();
            else if (blockEntityId == "Chest") blockEntity = new ChestBlockEntity();
            else if (blockEntityId == "EnchantTable") blockEntity = new EnchantingTableBlockEntity();
            else if (blockEntityId == "Furnace") blockEntity = new FurnaceBlockEntity();
            else if (blockEntityId == "Skull") blockEntity = new SkullBlockEntity();
            else if (blockEntityId == "ItemFrame") blockEntity = new ItemFrameBlockEntity();

            return blockEntity;
        }
示例#15
0
        TurnResult IGame.MakeTurn(Sign sign, Field field)
        {
            if (!sign.Equals(this._currentPlayer.PlayerSign))
                throw new ItIsNotYourTurnException();

            var result = this._boardManager.MakeTurn(sign, field);

            if (result == TurnResult.Wrong || result == TurnResult.Win)
                return result;

            this._currentPlayer = this.GetCurrentPlayerOpponent();

            return result;
        }
示例#16
0
 public void SignSignature()
 {
     // Sign
     Sign signTest = new Sign("beidpkcs11.dll");
     byte[] testdata = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8 };
     byte[] signeddata = signTest.DoSign(testdata, "Signature");
     Assert.IsNotNull(signeddata);
     // Verification
     ReadData dataTest = new ReadData("beidpkcs11.dll");
     Integrity integrityTest = new Integrity();
     Assert.False(integrityTest.Verify(testdata, signeddata,
         dataTest.GetCertificateAuthenticationFile()));
     Assert.True(integrityTest.Verify(testdata, signeddata,
         dataTest.GetCertificateSignatureFile()));
 }
示例#17
0
        public void MakeTurn(Sign sign, Field field)
        {
            var turnResult = _game.MakeTurn(sign, field);

            _subscribers.ForEach(callback =>
                                 {
                                     if (((ICommunicationObject)callback).State == CommunicationState.Opened)
                                     {
                                         callback.OnTurnEnd(turnResult, sign, field);
                                         if (turnResult == TurnResult.Win)
                                             _subscribers.Remove(callback);
                                     }
                                     else
                                     {
                                         _subscribers.Remove(callback);
                                     }
                                 });
        }
示例#18
0
        public void OnTurnEnd(TurnResult turnResult, Sign sign, Field field)
        {
            if (turnResult == TurnResult.Wrong)
            {
                this.WrongTurnEval(sign);
                return;
            }

            switch (field)
            {
                case Field.A1:
                    GameHelper.MakeTurn(_window.buttonA1, sign);
                    break;
                case Field.A2:
                    GameHelper.MakeTurn(_window.buttonA2, sign);
                    break;
                case Field.A3:
                    GameHelper.MakeTurn(_window.buttonA3, sign);
                    break;
                case Field.B1:
                    GameHelper.MakeTurn(_window.buttonB1, sign);
                    break;
                case Field.B2:
                    GameHelper.MakeTurn(_window.buttonB2, sign);
                    break;
                case Field.B3:
                    GameHelper.MakeTurn(_window.buttonB3, sign);
                    break;
                case Field.C1:
                    GameHelper.MakeTurn(_window.buttonC1, sign);
                    break;
                case Field.C2:
                    GameHelper.MakeTurn(_window.buttonC2, sign);
                    break;
                case Field.C3:
                    GameHelper.MakeTurn(_window.buttonC3, sign);
                    break;
            }

            if (turnResult == TurnResult.Win)
                MessageBox.Show(string.Format("Player {0} win.", sign), "End of game");
        }
示例#19
0
 public BigIrrational(double val)
 {
     if (val >= 0)
         sign = Sign.positive;
     else
         sign = Sign.negative;
     val = Math.Abs(val);
     string numString = val.ToString();
     Debug.Print(numString);
     int numberOfDecimalPlaces = numString.Count();
     int counter = 0;
     while (Math.Floor(val) != val) {
         val *= 10;
         counter++;
     }
     NumericalContent = new BigInteger(val);
     DecimalLocation = counter;
     Debug.Print(NumericalContent.ToString());
     Debug.Print(DecimalLocation.ToString());
 }
示例#20
0
 private void LoadSign(Sign z, bool showInStatus)
 {
     SetToTextBlock(tbNameSign, z.název, labelName);
     SetToTextBlock(tbPlanet, z.planeta, labelPlanet);
     SetToTextBlock(tbColor, z.barva, labelColor);
     txtSignDescription.Text = z.text;
     if (showInStatus)
     {
         if (lbSigns.SelectedIndex != -1)
         {
             int dex = -1;
             for (int i = 0; i < AllSigns.signs.Length; i++)
             {
                 if (AllSigns.signs[i].název == z.název)
                 {
                     dex = i;
                     break;
                 }
             }
             string odDo = AllSigns.GetTextFromTo(dex);
             tbStatus.Text = odDo;
             tbStatus.ToolTip = odDo;
         }
     }
 }
示例#21
0
 public BigInteger(Sign sign, uint len)
 {
     data = new uint[len];
     length = len;
 }
示例#22
0
		public BigInteger (Sign sign, uint len) 
		{
			this.data = new uint [len];
			this.length = len;
		}
示例#23
0
 private static void LoadSigns(BinaryReader reader)
 {
     short num = reader.ReadInt16();
     int i;
     for (i = 0; i < (int)num; i++)
     {
         string text = reader.ReadString();
         int num2 = reader.ReadInt32();
         int num3 = reader.ReadInt32();
         Tile tile = Main.tile[num2, num3];
         Sign sign;
         if (tile.active() && (tile.type == 55 || tile.type == 85))
         {
             sign = new Sign();
             sign.text = text;
             sign.x = num2;
             sign.y = num3;
         }
         else
         {
             sign = null;
         }
         Main.sign[i] = sign;
     }
     List<Point16> list = new List<Point16>();
     for (int j = 0; j < 1000; j++)
     {
         if (Main.sign[j] != null)
         {
             Point16 item = new Point16(Main.sign[j].x, Main.sign[j].y);
             if (list.Contains(item))
             {
                 Main.sign[j] = null;
             }
             else
             {
                 list.Add(item);
             }
         }
     }
     while (i < 1000)
     {
         Main.sign[i] = null;
         i++;
     }
 }
示例#24
0
 public static DynamicEnvironment GetObjectInstance(DynamicEnvironmentCodex.ObjectTypes enType)
 {
     DynamicEnvironment xEn = new DynamicEnvironment();
     ContentManager Content = Program.GetTheGame().xLevelMaster.contRegionContent;
     string ENVIRON_PATH = "Sprites/Environment/";
     string MONSTER_PATH = "Sprites/Monster/";
     if (enType == DynamicEnvironmentCodex.ObjectTypes.Bush)
     {
         xEn = new CrateArchetype(1);
         CrateArchetype crate = xEn as CrateArchetype;
         crate.sOnDestroySound = "Bush_break";
         xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 10);
         xEn.xBaseStats.fMovementSpeed = 1.5f;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.BushWhack;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Forest/Bush"), new Vector2(10f, 12f), 4, 1, 19, 18, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Forest/BushWhacked2"), new Vector2(3f, 2f), 4, 1, 6, 5, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.xCollisionComponent.xMovementCollider.bIgnoreHeavyColliders = true;
         xEn.lxLootTable.Add(new DropChance(5000, ItemCodex.ItemTypes._Consumable_Berries));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes._Misc_Stick));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Bush_Orange)
     {
         xEn = new CrateArchetype(1);
         CrateArchetype crate2 = xEn as CrateArchetype;
         crate2.sOnDestroySound = "Bush_break";
         xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 10);
         xEn.xBaseStats.fMovementSpeed = 1.5f;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.BushWhackOrange;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Forest/Bush_orange"), new Vector2(10f, 12f), 4, 1, 19, 18, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Forest/BushWhacked2"), new Vector2(3f, 2f), 4, 1, 6, 5, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(5000, ItemCodex.ItemTypes._Consumable_Berries));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes._Misc_Stick));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Bush_Autumn)
     {
         xEn = new CrateArchetype(1);
         CrateArchetype crate3 = xEn as CrateArchetype;
         crate3.sOnDestroySound = "Bush_break";
         xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 10);
         xEn.xBaseStats.fMovementSpeed = 1.5f;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.BushWhackAutumn;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Evergrind Fields/west_bush"), new Vector2(10f, 12f), 4, 1, 19, 18, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Forest/BushWhacked2"), new Vector2(3f, 2f), 4, 1, 6, 5, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(5000, ItemCodex.ItemTypes._Consumable_Berries));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes._Misc_Stick));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Bush_Winter)
     {
         xEn = new CrateArchetype(1);
         CrateArchetype crate4 = xEn as CrateArchetype;
         crate4.sOnDestroySound = "Bush_break";
         xEn.xBaseStats.iBaseMaxHP = (xEn.xBaseStats.iHP = 10);
         xEn.xBaseStats.fMovementSpeed = 1.5f;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.BushWhackWinter;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Winterland/bush"), new Vector2(10f, 12f), 4, 1, 19, 18, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Forest/BushWhacked2"), new Vector2(3f, 2f), 4, 1, 6, 5, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(5000, ItemCodex.ItemTypes._Consumable_Berries));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes._Misc_Stick));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Jar)
     {
         xEn = new CrateArchetype(1);
         xEn = (xEn as CrateArchetype);
         CrateArchetype crate5 = xEn as CrateArchetype;
         crate5.sOnDestroySound = "Jar_break";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.JarBreak;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Jar"), new Vector2(8f, 15f), 4, 1, 17, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(6f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(30000, ItemCodex.ItemTypes._Misc_BasicJarShard));
         xEn.lxLootTable.Add(new DropChance(30000, ItemCodex.ItemTypes._Misc_BasicJarShard));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes.Apple));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CyberJar)
     {
         xEn = new CrateArchetype(1);
         xEn = (xEn as CrateArchetype);
         CrateArchetype crate6 = xEn as CrateArchetype;
         crate6.sOnDestroySound = "Jar_break";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.JarFlyingBreak;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Jar_flying"), new Vector2(12f, 21f), 4, 12, 23, 26, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations[0].bReversePlayback = true;
         xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(6f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(30000, ItemCodex.ItemTypes._Misc_CrystalCrumbs));
         xEn.lxLootTable.Add(new DropChance(20000, ItemCodex.ItemTypes._Misc_CyberJarShard));
         xEn.lxLootTable.Add(new DropChance(30000, ItemCodex.ItemTypes._Misc_CyberJarShard));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Jar_Winter)
     {
         xEn = new CrateArchetype(1);
         xEn = (xEn as CrateArchetype);
         CrateArchetype crate7 = xEn as CrateArchetype;
         crate7.sOnDestroySound = "Jar_break";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.JarBreak_Snowland;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Jar_snowland"), new Vector2(8f, 15f), 4, 1, 17, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(6f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(30000, ItemCodex.ItemTypes._Misc_BasicJarShard));
         xEn.lxLootTable.Add(new DropChance(30000, ItemCodex.ItemTypes._Misc_BasicJarShard));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes.Apple));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Crate)
     {
         xEn = new CrateArchetype(2);
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         CrateArchetype crate8 = xEn as CrateArchetype;
         crate8.sOnHitSound = "Hit_Punchy";
         crate8.sOnDestroySound = "Destroy_Crate";
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.CrateBreak;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Crate/Crate"), new Vector2(13f, 19f), 4, 1, 26, 26, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_BFA_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_BFA_1 = 1;
         ushort arg_BF5_0 = 1;
         byte arg_BF5_1 = 0;
         Texture2D arg_BF5_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Crate/CrateDamage");
         Vector2 arg_BF5_3 = new Vector2(18f, 24f);
         int arg_BF5_4 = 3;
         int arg_BF5_5 = 2;
         int arg_BF5_6 = 37;
         int arg_BF5_7 = 35;
         int arg_BF5_8 = 0;
         int arg_BF5_9 = 0;
         int arg_BF5_10 = 2;
         Animation.LoopSettings arg_BF5_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_BF5_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_BF5_13 = true;
         bool arg_BF5_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_BF2_0 = array;
         int arg_BF2_1 = 0;
         AnimInsCriteria arg_BED_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_BE8_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_BF2_0[arg_BF2_1] = new AnimationInstruction(arg_BED_0, new AnimInsEvent(arg_BE8_0, array2));
         arg_BFA_0.Add(arg_BFA_1, new Animation(arg_BF5_0, arg_BF5_1, arg_BF5_2, arg_BF5_3, arg_BF5_4, arg_BF5_5, arg_BF5_6, arg_BF5_7, arg_BF5_8, arg_BF5_9, arg_BF5_10, arg_BF5_11, arg_BF5_12, arg_BF5_13, arg_BF5_14, array));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(22, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(22, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(5000, ItemCodex.ItemTypes.Apple));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes.Carrot));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Crate_Winter)
     {
         xEn = new CrateArchetype(2);
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         CrateArchetype crate9 = xEn as CrateArchetype;
         crate9.sOnHitSound = "Hit_Punchy";
         crate9.sOnDestroySound = "Destroy_Crate";
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.CrateBreak_Snowland;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Crate/Crate_snowland"), new Vector2(13f, 19f), 4, 1, 26, 26, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_DC6_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_DC6_1 = 1;
         ushort arg_DC1_0 = 1;
         byte arg_DC1_1 = 0;
         Texture2D arg_DC1_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Crate/CrateDamage_snowland");
         Vector2 arg_DC1_3 = new Vector2(18f, 24f);
         int arg_DC1_4 = 3;
         int arg_DC1_5 = 2;
         int arg_DC1_6 = 37;
         int arg_DC1_7 = 35;
         int arg_DC1_8 = 0;
         int arg_DC1_9 = 0;
         int arg_DC1_10 = 2;
         Animation.LoopSettings arg_DC1_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_DC1_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_DC1_13 = true;
         bool arg_DC1_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_DBE_0 = array;
         int arg_DBE_1 = 0;
         AnimInsCriteria arg_DB9_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_DB4_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_DBE_0[arg_DBE_1] = new AnimationInstruction(arg_DB9_0, new AnimInsEvent(arg_DB4_0, array2));
         arg_DC6_0.Add(arg_DC6_1, new Animation(arg_DC1_0, arg_DC1_1, arg_DC1_2, arg_DC1_3, arg_DC1_4, arg_DC1_5, arg_DC1_6, arg_DC1_7, arg_DC1_8, arg_DC1_9, arg_DC1_10, arg_DC1_11, arg_DC1_12, arg_DC1_13, arg_DC1_14, array));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(22, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(22, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(5000, ItemCodex.ItemTypes.Apple));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes.Carrot));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Barrel)
     {
         xEn = new CrateArchetype(2);
         CrateArchetype crate10 = xEn as CrateArchetype;
         crate10.sOnHitSound = "Hit_Punchy";
         crate10.sOnDestroySound = "Destroy_Crate";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.BarrelBreak;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Barrel/Barrel"), new Vector2(11f, 22f), 4, 1, 21, 27, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_F92_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_F92_1 = 1;
         ushort arg_F8D_0 = 1;
         byte arg_F8D_1 = 0;
         Texture2D arg_F8D_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Barrel/BarrelDamage");
         Vector2 arg_F8D_3 = new Vector2(27f, 32f);
         int arg_F8D_4 = 3;
         int arg_F8D_5 = 2;
         int arg_F8D_6 = 52;
         int arg_F8D_7 = 51;
         int arg_F8D_8 = 0;
         int arg_F8D_9 = 0;
         int arg_F8D_10 = 2;
         Animation.LoopSettings arg_F8D_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_F8D_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_F8D_13 = true;
         bool arg_F8D_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_F8A_0 = array;
         int arg_F8A_1 = 0;
         AnimInsCriteria arg_F85_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_F80_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_F8A_0[arg_F8A_1] = new AnimationInstruction(arg_F85_0, new AnimInsEvent(arg_F80_0, array2));
         arg_F92_0.Add(arg_F92_1, new Animation(arg_F8D_0, arg_F8D_1, arg_F8D_2, arg_F8D_3, arg_F8D_4, arg_F8D_5, arg_F8D_6, arg_F8D_7, arg_F8D_8, arg_F8D_9, arg_F8D_10, arg_F8D_11, arg_F8D_12, arg_F8D_13, arg_F8D_14, array));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(22, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(22, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(5000, ItemCodex.ItemTypes.Apple));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes.Carrot));
         if (Program.game.xGameSessionData.henActiveFlags.Contains(FlagCodex.FlagID._MainStory_FirstVillage_GrampaMoved))
         {
             xEn.lxLootTable.Add(new DropChance(500, ItemCodex.ItemTypes._Shield_Barrel));
         }
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Barrel_Winter)
     {
         xEn = new CrateArchetype(2);
         CrateArchetype crate11 = xEn as CrateArchetype;
         crate11.sOnHitSound = "Hit_Punchy";
         crate11.sOnDestroySound = "Destroy_Crate";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.BarrelBreak_Snowland;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Barrel/Barrel_snowland"), new Vector2(11f, 22f), 4, 1, 21, 27, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_1192_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_1192_1 = 1;
         ushort arg_118D_0 = 1;
         byte arg_118D_1 = 0;
         Texture2D arg_118D_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Barrel/BarrelDamage_snowland");
         Vector2 arg_118D_3 = new Vector2(27f, 32f);
         int arg_118D_4 = 3;
         int arg_118D_5 = 2;
         int arg_118D_6 = 52;
         int arg_118D_7 = 51;
         int arg_118D_8 = 0;
         int arg_118D_9 = 0;
         int arg_118D_10 = 2;
         Animation.LoopSettings arg_118D_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_118D_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_118D_13 = true;
         bool arg_118D_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_118A_0 = array;
         int arg_118A_1 = 0;
         AnimInsCriteria arg_1185_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_1180_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_118A_0[arg_118A_1] = new AnimationInstruction(arg_1185_0, new AnimInsEvent(arg_1180_0, array2));
         arg_1192_0.Add(arg_1192_1, new Animation(arg_118D_0, arg_118D_1, arg_118D_2, arg_118D_3, arg_118D_4, arg_118D_5, arg_118D_6, arg_118D_7, arg_118D_8, arg_118D_9, arg_118D_10, arg_118D_11, arg_118D_12, arg_118D_13, arg_118D_14, array));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(22, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(22, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(5000, ItemCodex.ItemTypes.Apple));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes.Carrot));
         xEn.lxLootTable.Add(new DropChance(500, ItemCodex.ItemTypes._Shield_Barrel));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.TriggerJar)
     {
         xEn = new TriggerCrateArchetype(3);
         xEn = (xEn as TriggerCrateArchetype);
         TriggerCrateArchetype crate12 = xEn as TriggerCrateArchetype;
         crate12.sOnDestroySound = "Jar_break";
         crate12.sOnHitSound = "Hit_Punchy";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.FlyingTempleCrystalBreak;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Bkg/Zone009_FlyingTemple/Inside/Bullethell/Crystal/Idle"), new Vector2(11f, 26f), 4, 12, 22, 35, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_1376_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_1376_1 = 1;
         ushort arg_1371_0 = 1;
         byte arg_1371_1 = 0;
         Texture2D arg_1371_2 = Content.Load<Texture2D>("Bkg/Zone009_FlyingTemple/Inside/Bullethell/Crystal/Damage");
         Vector2 arg_1371_3 = new Vector2(11f, 26f);
         int arg_1371_4 = 4;
         int arg_1371_5 = 3;
         int arg_1371_6 = 22;
         int arg_1371_7 = 35;
         int arg_1371_8 = 0;
         int arg_1371_9 = 0;
         int arg_1371_10 = 14;
         Animation.LoopSettings arg_1371_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_1371_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_1371_13 = true;
         bool arg_1371_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_136E_0 = array;
         int arg_136E_1 = 0;
         AnimInsCriteria arg_1369_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_1364_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_136E_0[arg_136E_1] = new AnimationInstruction(arg_1369_0, new AnimInsEvent(arg_1364_0, array2));
         arg_1376_0.Add(arg_1376_1, new Animation(arg_1371_0, arg_1371_1, arg_1371_2, arg_1371_3, arg_1371_4, arg_1371_5, arg_1371_6, arg_1371_7, arg_1371_8, arg_1371_9, arg_1371_10, arg_1371_11, arg_1371_12, arg_1371_13, arg_1371_14, array));
         xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(6f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.PumpkinA)
     {
         xEn = new CrateArchetype(1);
         CrateArchetype crate13 = xEn as CrateArchetype;
         crate13.sOnHitSound = "Hit_Punchy";
         crate13.sOnDestroySound = "Pumpkin_Death";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.EnivronPumpkinDeath01;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Halloween Forest/PumpkinA"), new Vector2(12f, 13f), 4, 1, 23, 19, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(26, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(26, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(100, ItemCodex.ItemTypes._Hat_PumpkinMask));
         xEn.lxLootTable.Add(new DropChance(5000, ItemCodex.ItemTypes._Misc_PumpkinMeat));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes._Misc_PumpkinSeeds));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.PumpkinB)
     {
         xEn = new CrateArchetype(1);
         CrateArchetype crate14 = xEn as CrateArchetype;
         crate14.sOnHitSound = "Hit_Punchy";
         crate14.sOnDestroySound = "Pumpkin_Death";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.EnivronPumpkinDeath01;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Halloween Forest/PumpkinB"), new Vector2(13f, 12f), 4, 1, 25, 20, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(24, 11, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(26, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(100, ItemCodex.ItemTypes._Hat_PumpkinMask));
         xEn.lxLootTable.Add(new DropChance(5000, ItemCodex.ItemTypes._Misc_PumpkinMeat));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes._Misc_PumpkinSeeds));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.PumpkinC)
     {
         xEn = new CrateArchetype(1);
         CrateArchetype crate15 = xEn as CrateArchetype;
         crate15.sOnHitSound = "Hit_Punchy";
         crate15.sOnDestroySound = "Pumpkin_Death";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.EnivronPumpkinDeath01;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Halloween Forest/PumpkinC"), new Vector2(11f, 15f), 4, 1, 22, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(24, 11, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(26, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(100, ItemCodex.ItemTypes._Hat_PumpkinMask));
         xEn.lxLootTable.Add(new DropChance(5000, ItemCodex.ItemTypes._Misc_PumpkinMeat));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes._Misc_PumpkinSeeds));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.PumpkinD)
     {
         xEn = new CrateArchetype(1);
         CrateArchetype crate16 = xEn as CrateArchetype;
         crate16.sOnHitSound = "Hit_Punchy";
         crate16.sOnDestroySound = "Pumpkin_Death";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.EnivronPumpkinDeath01;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Halloween Forest/PumpkinD"), new Vector2(8f, 12f), 4, 1, 16, 17, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 10, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(21, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(100, ItemCodex.ItemTypes._Hat_PumpkinMask));
         xEn.lxLootTable.Add(new DropChance(5000, ItemCodex.ItemTypes._Misc_PumpkinMeat));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes._Misc_PumpkinSeeds));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.PumpkinE)
     {
         xEn = new CrateArchetype(1);
         CrateArchetype crate17 = xEn as CrateArchetype;
         crate17.sOnHitSound = "Hit_Punchy";
         crate17.sOnDestroySound = "Pumpkin_Death";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.EnivronPumpkinDeath01;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Halloween Forest/PumpkinE"), new Vector2(11f, 11f), 4, 1, 23, 16, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 9, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(20, 9, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(100, ItemCodex.ItemTypes._Hat_PumpkinMask));
         xEn.lxLootTable.Add(new DropChance(5000, ItemCodex.ItemTypes._Misc_PumpkinMeat));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes._Misc_PumpkinSeeds));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.PumpkinBig)
     {
         xEn = new CrateArchetype(1);
         CrateArchetype crate18 = xEn as CrateArchetype;
         crate18.sOnHitSound = "Hit_Punchy";
         crate18.sOnDestroySound = "Pumpkin_Death";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.EnivronPumpkinDeath01;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Halloween Forest/PumpkinBig"), new Vector2(15f, 19f), 4, 1, 30, 25, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(36, 14, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(36, 14, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.lxLootTable.Add(new DropChance(100, ItemCodex.ItemTypes._Hat_PumpkinMask));
         xEn.lxLootTable.Add(new DropChance(5000, ItemCodex.ItemTypes._Misc_PumpkinMeat));
         xEn.lxLootTable.Add(new DropChance(10000, ItemCodex.ItemTypes._Misc_PumpkinSeeds));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.ABCBlock01)
     {
         xEn = new CrateArchetype(2);
         CrateArchetype crate19 = xEn as CrateArchetype;
         crate19.sOnHitSound = "Hit_Punchy";
         crate19.sOnDestroySound = "Destroy_Crate";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.EnvironABCDeath01;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Special/ABC"), new Vector2(14f, 26f), 4, 1, 28, 33, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_1DC4_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_1DC4_1 = 1;
         ushort arg_1DBF_0 = 1;
         byte arg_1DBF_1 = 0;
         Texture2D arg_1DBF_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Special/ABCDamage");
         Vector2 arg_1DBF_3 = new Vector2(15f, 27f);
         int arg_1DBF_4 = 3;
         int arg_1DBF_5 = 2;
         int arg_1DBF_6 = 30;
         int arg_1DBF_7 = 34;
         int arg_1DBF_8 = 0;
         int arg_1DBF_9 = 0;
         int arg_1DBF_10 = 2;
         Animation.LoopSettings arg_1DBF_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_1DBF_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_1DBF_13 = true;
         bool arg_1DBF_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_1DBC_0 = array;
         int arg_1DBC_1 = 0;
         AnimInsCriteria arg_1DB7_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_1DB2_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_1DBC_0[arg_1DBC_1] = new AnimationInstruction(arg_1DB7_0, new AnimInsEvent(arg_1DB2_0, array2));
         arg_1DC4_0.Add(arg_1DC4_1, new Animation(arg_1DBF_0, arg_1DBF_1, arg_1DBF_2, arg_1DBF_3, arg_1DBF_4, arg_1DBF_5, arg_1DBF_6, arg_1DBF_7, arg_1DBF_8, arg_1DBF_9, arg_1DBF_10, arg_1DBF_11, arg_1DBF_12, arg_1DBF_13, arg_1DBF_14, array));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(26, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(26, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.ABCBlock02)
     {
         xEn = new CrateArchetype(2);
         CrateArchetype crate20 = xEn as CrateArchetype;
         crate20.sOnHitSound = "Hit_Punchy";
         crate20.sOnDestroySound = "Destroy_Crate";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.EnvironABCDeath02;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Special/ABC2"), new Vector2(14f, 26f), 4, 1, 28, 33, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_1F64_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_1F64_1 = 1;
         ushort arg_1F5F_0 = 1;
         byte arg_1F5F_1 = 0;
         Texture2D arg_1F5F_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Special/ABC2Damage");
         Vector2 arg_1F5F_3 = new Vector2(15f, 27f);
         int arg_1F5F_4 = 3;
         int arg_1F5F_5 = 2;
         int arg_1F5F_6 = 30;
         int arg_1F5F_7 = 34;
         int arg_1F5F_8 = 0;
         int arg_1F5F_9 = 0;
         int arg_1F5F_10 = 2;
         Animation.LoopSettings arg_1F5F_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_1F5F_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_1F5F_13 = true;
         bool arg_1F5F_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_1F5C_0 = array;
         int arg_1F5C_1 = 0;
         AnimInsCriteria arg_1F57_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_1F52_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_1F5C_0[arg_1F5C_1] = new AnimationInstruction(arg_1F57_0, new AnimInsEvent(arg_1F52_0, array2));
         arg_1F64_0.Add(arg_1F64_1, new Animation(arg_1F5F_0, arg_1F5F_1, arg_1F5F_2, arg_1F5F_3, arg_1F5F_4, arg_1F5F_5, arg_1F5F_6, arg_1F5F_7, arg_1F5F_8, arg_1F5F_9, arg_1F5F_10, arg_1F5F_11, arg_1F5F_12, arg_1F5F_13, arg_1F5F_14, array));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(26, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(26, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.ABCBlock03)
     {
         xEn = new CrateArchetype(2);
         CrateArchetype crate21 = xEn as CrateArchetype;
         crate21.sOnHitSound = "Hit_Punchy";
         crate21.sOnDestroySound = "Destroy_Crate";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.EnvironABCDeath02;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Special/ABC3"), new Vector2(14f, 26f), 4, 1, 28, 33, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_2104_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_2104_1 = 1;
         ushort arg_20FF_0 = 1;
         byte arg_20FF_1 = 0;
         Texture2D arg_20FF_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Special/ABC3Damage");
         Vector2 arg_20FF_3 = new Vector2(15f, 27f);
         int arg_20FF_4 = 3;
         int arg_20FF_5 = 2;
         int arg_20FF_6 = 30;
         int arg_20FF_7 = 34;
         int arg_20FF_8 = 0;
         int arg_20FF_9 = 0;
         int arg_20FF_10 = 2;
         Animation.LoopSettings arg_20FF_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_20FF_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_20FF_13 = true;
         bool arg_20FF_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_20FC_0 = array;
         int arg_20FC_1 = 0;
         AnimInsCriteria arg_20F7_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_20F2_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_20FC_0[arg_20FC_1] = new AnimationInstruction(arg_20F7_0, new AnimInsEvent(arg_20F2_0, array2));
         arg_2104_0.Add(arg_2104_1, new Animation(arg_20FF_0, arg_20FF_1, arg_20FF_2, arg_20FF_3, arg_20FF_4, arg_20FF_5, arg_20FF_6, arg_20FF_7, arg_20FF_8, arg_20FF_9, arg_20FF_10, arg_20FF_11, arg_20FF_12, arg_20FF_13, arg_20FF_14, array));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(26, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(26, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.HalloweenDamagedGrave)
     {
         xEn = new DynamicEnvironment();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Halloween Forest/specialgrave_whole"), new Vector2(16f, 24f), 4, 1, 31, 35, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(28, 10, 0f, new Vector2(0f, 2f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.DamagingThorn)
     {
         xEn = new DamagingCrateArchetype(3);
         DamagingCrateArchetype crate22 = xEn as DamagingCrateArchetype;
         crate22.sOnHitSound = "Hit_Punchy";
         crate22.sOnDestroySound = "Pumpkin_Death";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.ThornDisappear;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Appear"), new Vector2(16f, 29f), 4, 13, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Appear"), new Vector2(16f, 29f), 4, 1, 30, 35, 360, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Damage"), new Vector2(16f, 29f), 4, 3, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Damage"), new Vector2(16f, 29f), 4, 3, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Bud"), new Vector2(16f, 29f), 4, 5, 30, 35, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Appear"), new Vector2(16f, 29f), 4, 12, 30, 35, 30, 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[]
             {
                 1f
             }))
         }));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(18, 6, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(19, 7, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         DamagingCrateArchetype xRoot = xEn as DamagingCrateArchetype;
         xRoot.SetAttackPhase(new BoxCollider(20, 10, 0f, Vector2.Zero, xRoot.xTransform, 0f, xRoot), 5);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.DamagingThorn_Delayed)
     {
         xEn = new DamagingCrateArchetype(3);
         DamagingCrateArchetype crate23 = xEn as DamagingCrateArchetype;
         crate23.sOnHitSound = "Hit_Punchy";
         crate23.sOnDestroySound = "Pumpkin_Death";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.ThornDisappear;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Appear"), new Vector2(16f, 29f), 4, 13, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Appear"), new Vector2(16f, 29f), 4, 1, 30, 35, 360, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Damage"), new Vector2(16f, 29f), 4, 3, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Damage"), new Vector2(16f, 29f), 4, 3, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Bud"), new Vector2(16f, 29f), 4, 5, 30, 35, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Appear"), new Vector2(16f, 29f), 4, 12, 30, 35, 30, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.SwitchAnimation(4);
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(18, 6, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(19, 7, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         DamagingCrateArchetype xRoot2 = xEn as DamagingCrateArchetype;
         xRoot2.SetAttackPhase(new BoxCollider(20, 10, 0f, Vector2.Zero, xRoot2.xTransform, 0f, xRoot2), DamagingCrateArchetype.ThornDamage);
         xRoot2.SetDelay(60);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.DamagingThorn_AutoDelayed)
     {
         xEn = new DamagingCrateArchetype(3);
         DamagingCrateArchetype crate24 = xEn as DamagingCrateArchetype;
         crate24.sOnHitSound = "Hit_Punchy";
         crate24.sOnDestroySound = "Pumpkin_Death";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.ThornDisappear;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Appear"), new Vector2(16f, 29f), 4, 13, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Appear"), new Vector2(16f, 29f), 4, 1, 30, 35, 360, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Damage"), new Vector2(16f, 29f), 4, 3, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Damage"), new Vector2(16f, 29f), 4, 3, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Bud"), new Vector2(16f, 29f), 4, 5, 30, 35, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Appear"), new Vector2(16f, 29f), 4, 12, 30, 35, 30, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.SwitchAnimation(4);
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(18, 6, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(19, 7, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         DamagingCrateArchetype xRoot3 = xEn as DamagingCrateArchetype;
         xRoot3.SetAttackPhase(new BoxCollider(20, 10, 0f, Vector2.Zero, xRoot3.xTransform, 0f, xRoot3), DamagingCrateArchetype.ThornDamage);
         xRoot3.SetDelay(40 + Program.game.xEntityMaster.dixDynamicEnvironment.Count * 5);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.DamagingThorn_Halloween)
     {
         xEn = new DamagingCrateArchetype(3);
         DamagingCrateArchetype crate25 = xEn as DamagingCrateArchetype;
         crate25.sOnHitSound = "Hit_Punchy";
         crate25.sOnDestroySound = "Pumpkin_Death";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.ThornDisappear_Halloween;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Appear"), new Vector2(16f, 29f), 4, 13, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Appear"), new Vector2(16f, 29f), 4, 1, 30, 35, 360, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Damage"), new Vector2(16f, 29f), 4, 3, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Damage"), new Vector2(16f, 29f), 4, 3, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Bud"), new Vector2(16f, 29f), 4, 5, 30, 35, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Appear"), new Vector2(16f, 29f), 4, 12, 30, 35, 30, 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[]
             {
                 1f
             }))
         }));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(18, 6, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(19, 7, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         DamagingCrateArchetype xRoot4 = xEn as DamagingCrateArchetype;
         xRoot4.SetAttackPhase(new BoxCollider(20, 10, 0f, Vector2.Zero, xRoot4.xTransform, 0f, xRoot4), DamagingCrateArchetype.ThornDamage);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.DamagingThorn_Halloween_Delayed)
     {
         xEn = new DamagingCrateArchetype(3);
         DamagingCrateArchetype crate26 = xEn as DamagingCrateArchetype;
         crate26.sOnHitSound = "Hit_Punchy";
         crate26.sOnDestroySound = "Pumpkin_Death";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.ThornDisappear_Halloween;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Appear"), new Vector2(16f, 29f), 4, 13, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Appear"), new Vector2(16f, 29f), 4, 1, 30, 35, 360, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Damage"), new Vector2(16f, 29f), 4, 3, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Damage"), new Vector2(16f, 29f), 4, 3, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Bud"), new Vector2(16f, 29f), 4, 5, 30, 35, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Appear"), new Vector2(16f, 29f), 4, 12, 30, 35, 30, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.SwitchAnimation(4);
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(18, 6, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(19, 7, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         DamagingCrateArchetype xRoot5 = xEn as DamagingCrateArchetype;
         xRoot5.SetAttackPhase(new BoxCollider(20, 10, 0f, Vector2.Zero, xRoot5.xTransform, 0f, xRoot5), DamagingCrateArchetype.ThornDamage);
         xRoot5.SetDelay(60);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.DamagingThorn_Halloween_AutoDelayed)
     {
         xEn = new DamagingCrateArchetype(3);
         DamagingCrateArchetype crate27 = xEn as DamagingCrateArchetype;
         crate27.sOnHitSound = "Hit_Punchy";
         crate27.sOnDestroySound = "Pumpkin_Death";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.ThornDisappear_Halloween;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Appear"), new Vector2(16f, 29f), 4, 13, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Appear"), new Vector2(16f, 29f), 4, 1, 30, 35, 360, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Damage"), new Vector2(16f, 29f), 4, 3, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Damage"), new Vector2(16f, 29f), 4, 3, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Bud"), new Vector2(16f, 29f), 4, 5, 30, 35, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Appear"), new Vector2(16f, 29f), 4, 12, 30, 35, 30, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.SwitchAnimation(4);
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(18, 6, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(19, 7, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         DamagingCrateArchetype xRoot6 = xEn as DamagingCrateArchetype;
         xRoot6.SetAttackPhase(new BoxCollider(20, 10, 0f, Vector2.Zero, xRoot6.xTransform, 0f, xRoot6), DamagingCrateArchetype.ThornDamage);
         xRoot6.SetDelay(40 + Program.game.xEntityMaster.dixDynamicEnvironment.Count * 5);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.DamagingThorn_Spawner)
     {
         xEn = new ReplicatingThorn(3);
         ReplicatingThorn crate28 = xEn as ReplicatingThorn;
         crate28.sOnHitSound = "Hit_Punchy";
         crate28.sOnDestroySound = "Pumpkin_Death";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.ThornDisappear_Summer;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Summer/Appear"), new Vector2(17f, 32f), 4, 12, 34, 33, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Summer/Appear"), new Vector2(17f, 32f), 4, 1, 34, 33, 374, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Summer/Damage"), new Vector2(15f, 32f), 4, 3, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Summer/Damage"), new Vector2(15f, 32f), 4, 3, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Summer/Bud"), new Vector2(17f, 32f), 4, 5, 34, 33, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Summer/Appear"), new Vector2(17f, 32f), 4, 11, 34, 33, 34, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Summer/Wither"), new Vector2(15f, 32f), 4, 9, 30, 35, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Summer/Wither"), new Vector2(15f, 32f), 4, 1, 30, 35, 240, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(8, new Animation(8, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Summer/WitherDamage"), new Vector2(15f, 32f), 4, 3, 30, 35, 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[]
             {
                 1f
             }))
         }));
         foreach (Animation x in xEn.xRenderComponent.dixAnimations.Values)
         {
             x.v2PositionOffset += new Vector2(2f, -3f);
         }
         xEn.xRenderComponent.SwitchAnimation(4);
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(18, 6, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(19, 7, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         DamagingCrateArchetype xRoot7 = xEn as DamagingCrateArchetype;
         xRoot7.SetAttackPhase(new BoxCollider(20, 10, 0f, Vector2.Zero, xRoot7.xTransform, 0f, xRoot7), DamagingCrateArchetype.ThornDamage);
         xRoot7.SetDelay(60);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.DamagingThorn_IceMice)
     {
         xEn = new DamagingCrateArchetype(3);
         DamagingCrateArchetype crate29 = xEn as DamagingCrateArchetype;
         crate29.sOnHitSound = "Hit_Punchy";
         crate29.sOnDestroySound = "Pumpkin_Death";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.ThornDisappear;
         xEn.bDestroyOnHit = true;
         int iVariant = CAS.RandomInVisual.Next(4);
         if (iVariant == 0)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(MONSTER_PATH + "Bosses/Elder Faes/Winter/Spikes/A"), new Vector2(12f, 34f), 4, 11, 28, 38, 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[]
                 {
                     1f
                 }))
             }));
             xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(MONSTER_PATH + "Bosses/Elder Faes/Winter/Spikes/A"), new Vector2(12f, 34f), 4, 1, 28, 38, 280, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         }
         else if (iVariant == 1)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(MONSTER_PATH + "Bosses/Elder Faes/Winter/Spikes/B"), new Vector2(16f, 34f), 4, 11, 28, 38, 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[]
                 {
                     1f
                 }))
             }));
             xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(MONSTER_PATH + "Bosses/Elder Faes/Winter/Spikes/B"), new Vector2(16f, 34f), 4, 1, 28, 38, 280, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         }
         else if (iVariant == 2)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(MONSTER_PATH + "Bosses/Elder Faes/Winter/Spikes/C"), new Vector2(12f, 32f), 4, 11, 29, 37, 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[]
                 {
                     1f
                 }))
             }));
             xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(MONSTER_PATH + "Bosses/Elder Faes/Winter/Spikes/C"), new Vector2(12f, 32f), 4, 1, 29, 37, 290, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         }
         else if (iVariant == 3)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(MONSTER_PATH + "Bosses/Elder Faes/Winter/Spikes/D"), new Vector2(16f, 32f), 4, 10, 29, 37, 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[]
                 {
                     1f
                 }))
             }));
             xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(MONSTER_PATH + "Bosses/Elder Faes/Winter/Spikes/D"), new Vector2(16f, 32f), 4, 1, 29, 37, 261, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         }
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(18, 6, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(19, 7, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         DamagingCrateArchetype xRoot8 = xEn as DamagingCrateArchetype;
         xRoot8.SetAttackPhase(new BoxCollider(20, 10, 0f, Vector2.Zero, xRoot8.xTransform, 0f, xRoot8), 5);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.BeeHive)
     {
         xEn = new BeeHive(5);
         BeeHive crate30 = xEn as BeeHive;
         crate30.sOnHitSound = "Hit_Punchy";
         crate30.sOnDestroySound = "Pumpkin_Death";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.EnivronBeehiveDeath;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Beehive/Idle"), new Vector2(16f, 27f), 4, 1, 32, 34, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_43D7_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_43D7_1 = 1;
         ushort arg_43D2_0 = 1;
         byte arg_43D2_1 = 0;
         Texture2D arg_43D2_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Beehive/Damage");
         Vector2 arg_43D2_3 = new Vector2(16f, 27f);
         int arg_43D2_4 = 3;
         int arg_43D2_5 = 2;
         int arg_43D2_6 = 32;
         int arg_43D2_7 = 34;
         int arg_43D2_8 = 0;
         int arg_43D2_9 = 0;
         int arg_43D2_10 = 2;
         Animation.LoopSettings arg_43D2_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_43D2_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_43D2_13 = true;
         bool arg_43D2_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_43CF_0 = array;
         int arg_43CF_1 = 0;
         AnimInsCriteria arg_43CA_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_43C5_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_43CF_0[arg_43CF_1] = new AnimationInstruction(arg_43CA_0, new AnimInsEvent(arg_43C5_0, array2));
         arg_43D7_0.Add(arg_43D7_1, new Animation(arg_43D2_0, arg_43D2_1, arg_43D2_2, arg_43D2_3, arg_43D2_4, arg_43D2_5, arg_43D2_6, arg_43D2_7, arg_43D2_8, arg_43D2_9, arg_43D2_10, arg_43D2_11, arg_43D2_12, arg_43D2_13, arg_43D2_14, array));
         Dictionary<ushort, Animation> arg_444B_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_444B_1 = 2;
         ushort arg_4446_0 = 2;
         byte arg_4446_1 = 0;
         Texture2D arg_4446_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Beehive/Spawn");
         Vector2 arg_4446_3 = new Vector2(17f, 30f);
         int arg_4446_4 = 3;
         int arg_4446_5 = 2;
         int arg_4446_6 = 34;
         int arg_4446_7 = 37;
         int arg_4446_8 = 0;
         int arg_4446_9 = 0;
         int arg_4446_10 = 2;
         Animation.LoopSettings arg_4446_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_4446_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_4446_13 = true;
         bool arg_4446_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_4443_0 = array;
         int arg_4443_1 = 0;
         AnimInsCriteria arg_443E_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_4439_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_4443_0[arg_4443_1] = new AnimationInstruction(arg_443E_0, new AnimInsEvent(arg_4439_0, array2));
         arg_444B_0.Add(arg_444B_1, new Animation(arg_4446_0, arg_4446_1, arg_4446_2, arg_4446_3, arg_4446_4, arg_4446_5, arg_4446_6, arg_4446_7, arg_4446_8, arg_4446_9, arg_4446_10, arg_4446_11, arg_4446_12, arg_4446_13, arg_4446_14, array));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(36, 14, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(36, 14, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.BombA)
     {
         xEn = new Bomb(1);
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = true;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Bomb/Roll"), new Vector2(15f, 31f), 4, 17, 31, 35, 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[]
             {
                 2f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Bomb/Roll"), new Vector2(16f, 31f), 4, 17, 31, 35, 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[]
             {
                 3f
             }))
         }));
         xEn.xRenderComponent.dixAnimations[1].enSpriteEffect = SpriteEffects.FlipHorizontally;
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Bomb/Bomb"), new Vector2(15f, 18f), 4, 3, 31, 22, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 1, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Bomb/Bomb"), new Vector2(16f, 18f), 4, 3, 31, 22, 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, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Bomb/Ticking"), new Vector2(15f, 18f), 4, 3, 31, 22, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Bomb/Ticking"), new Vector2(16f, 18f), 4, 3, 31, 22, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations[5].enSpriteEffect = SpriteEffects.FlipHorizontally;
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 6, 0f, new Vector2(0f, 0f), xEn.xTransform, 10f + 5f * (float)CAS.RandomInLogic.NextDouble(), xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         Program.game.xCollisionMaster.RegisterMovementCollider(xEn.xCollisionComponent.xMovementCollider);
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(15, 6, 0f, new Vector2(0f, 0f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType >= DynamicEnvironmentCodex.ObjectTypes.BlindingMushroom_VariantBig && enType <= DynamicEnvironmentCodex.ObjectTypes.BlindingMushroom_VariantYellow)
     {
         xEn = new BlindingMushroom();
         xEn.bInstantiateInNetwork = true;
         xEn.bNetworkSynchEnabled = true;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         if (enType == DynamicEnvironmentCodex.ObjectTypes.BlindingMushroom_VariantBig)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(MONSTER_PATH + "Bosses/Season Hydra/Fall/Mushroom/Appear/Big"), new Vector2(8f, 14f), 4, 4, 17, 18, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.BlindingMushroom_VariantLong)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(MONSTER_PATH + "Bosses/Season Hydra/Fall/Mushroom/Appear/Long"), new Vector2(6f, 17f), 4, 4, 13, 20, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.BlindingMushroom_VariantMid)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(MONSTER_PATH + "Bosses/Season Hydra/Fall/Mushroom/Appear/Mid"), new Vector2(7f, 13f), 4, 4, 14, 16, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.BlindingMushroom_VariantRed)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(MONSTER_PATH + "Bosses/Season Hydra/Fall/Mushroom/Appear/Red"), new Vector2(5f, 11f), 4, 4, 11, 14, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.BlindingMushroom_VariantYellow)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(MONSTER_PATH + "Bosses/Season Hydra/Fall/Mushroom/Appear/Yellow"), new Vector2(7f, 15f), 4, 4, 15, 19, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         }
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.JackInBox)
     {
         xEn = new JackInBox(1);
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = true;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Bud"), new Vector2(16f, 29f), 4, 1, 30, 35, 120, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Appear"), new Vector2(16f, 29f), 4, 13, 30, 35, 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[]
             {
                 2f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Appear"), new Vector2(16f, 29f), 4, 1, 30, 35, 360, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Halloween/Appear"), new Vector2(16f, 29f), 4, 1, 30, 35, 360, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_4C54_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_4C54_1 = 4;
         ushort arg_4C4F_0 = 4;
         byte arg_4C4F_1 = 0;
         Texture2D arg_4C4F_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Thorn/Appear");
         Vector2 arg_4C4F_3 = new Vector2(16f, 29f);
         int arg_4C4F_4 = 4;
         int arg_4C4F_5 = 12;
         int arg_4C4F_6 = 30;
         int arg_4C4F_7 = 35;
         int arg_4C4F_8 = 30;
         int arg_4C4F_9 = 0;
         int arg_4C4F_10 = 20;
         Animation.LoopSettings arg_4C4F_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_4C4F_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_4C4F_13 = true;
         bool arg_4C4F_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_4C4C_0 = array;
         int arg_4C4C_1 = 0;
         AnimInsCriteria arg_4C47_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_4C42_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_4C4C_0[arg_4C4C_1] = new AnimationInstruction(arg_4C47_0, new AnimInsEvent(arg_4C42_0, array2));
         arg_4C54_0.Add(arg_4C54_1, new Animation(arg_4C4F_0, arg_4C4F_1, arg_4C4F_2, arg_4C4F_3, arg_4C4F_4, arg_4C4F_5, arg_4C4F_6, arg_4C4F_7, arg_4C4F_8, arg_4C4F_9, arg_4C4F_10, arg_4C4F_11, arg_4C4F_12, arg_4C4F_13, arg_4C4F_14, array));
         xEn.xRenderComponent.dixAnimations[4].bReversePlayback = true;
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 6, 0f, new Vector2(0f, 0f), xEn.xTransform, 10000f + 5f * (float)CAS.RandomInLogic.NextDouble(), xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         Program.game.xCollisionMaster.RegisterStaticCollider(xEn.xCollisionComponent.xMovementCollider);
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(15, 6, 0f, new Vector2(0f, 0f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.RailRoadSwitchLever)
     {
         xEn = new TrainSwitchLever(1);
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = true;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 3, Content.Load<Texture2D>("Sprites/Monster/Winterland/Toy Machine/Vaexel/GreenRed"), new Vector2(11f, 16f), 4, 1, 23, 24, 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>("Sprites/Monster/Winterland/Toy Machine/Vaexel/GreenRed"), new Vector2(11f, 16f), 4, 5, 23, 24, 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[]
             {
                 2f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 1, Content.Load<Texture2D>("Sprites/Monster/Winterland/Toy Machine/Vaexel/RedGreen"), new Vector2(11f, 16f), 4, 1, 23, 24, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_4ED6_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_4ED6_1 = 3;
         ushort arg_4ED1_0 = 3;
         byte arg_4ED1_1 = 3;
         Texture2D arg_4ED1_2 = Content.Load<Texture2D>("Sprites/Monster/Winterland/Toy Machine/Vaexel/RedGreen");
         Vector2 arg_4ED1_3 = new Vector2(11f, 16f);
         int arg_4ED1_4 = 4;
         int arg_4ED1_5 = 5;
         int arg_4ED1_6 = 23;
         int arg_4ED1_7 = 24;
         int arg_4ED1_8 = 0;
         int arg_4ED1_9 = 0;
         int arg_4ED1_10 = 20;
         Animation.LoopSettings arg_4ED1_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_4ED1_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_4ED1_13 = true;
         bool arg_4ED1_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_4ECE_0 = array;
         int arg_4ECE_1 = 0;
         AnimInsCriteria arg_4EC9_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_4EC4_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_4ECE_0[arg_4ECE_1] = new AnimationInstruction(arg_4EC9_0, new AnimInsEvent(arg_4EC4_0, array2));
         arg_4ED6_0.Add(arg_4ED6_1, new Animation(arg_4ED1_0, arg_4ED1_1, arg_4ED1_2, arg_4ED1_3, arg_4ED1_4, arg_4ED1_5, arg_4ED1_6, arg_4ED1_7, arg_4ED1_8, arg_4ED1_9, arg_4ED1_10, arg_4ED1_11, arg_4ED1_12, arg_4ED1_13, arg_4ED1_14, array));
         Dictionary<ushort, Animation> arg_4F46_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_4F46_1 = 4;
         ushort arg_4F41_0 = 4;
         byte arg_4F41_1 = 3;
         Texture2D arg_4F41_2 = Content.Load<Texture2D>("Sprites/Monster/Winterland/Toy Machine/Vaexel/GreenAppear");
         Vector2 arg_4F41_3 = new Vector2(11f, 15f);
         int arg_4F41_4 = 4;
         int arg_4F41_5 = 10;
         int arg_4F41_6 = 23;
         int arg_4F41_7 = 23;
         int arg_4F41_8 = 0;
         int arg_4F41_9 = 0;
         int arg_4F41_10 = 20;
         Animation.LoopSettings arg_4F41_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_4F41_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_4F41_13 = true;
         bool arg_4F41_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_4F3E_0 = array;
         int arg_4F3E_1 = 0;
         AnimInsCriteria arg_4F39_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_4F34_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_4F3E_0[arg_4F3E_1] = new AnimationInstruction(arg_4F39_0, new AnimInsEvent(arg_4F34_0, array2));
         arg_4F46_0.Add(arg_4F46_1, new Animation(arg_4F41_0, arg_4F41_1, arg_4F41_2, arg_4F41_3, arg_4F41_4, arg_4F41_5, arg_4F41_6, arg_4F41_7, arg_4F41_8, arg_4F41_9, arg_4F41_10, arg_4F41_11, arg_4F41_12, arg_4F41_13, arg_4F41_14, array));
         xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 1, Content.Load<Texture2D>("Sprites/Monster/Winterland/Toy Machine/Vaexel/RedAppear"), new Vector2(11f, 15f), 4, 10, 23, 23, 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[]
             {
                 2f
             }))
         }));
         xEn.xRenderComponent.dixAnimations[5].enSpriteEffect = SpriteEffects.FlipHorizontally;
         xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 3, Content.Load<Texture2D>("Sprites/Monster/Winterland/Toy Machine/Vaexel/GreenDisappear"), new Vector2(11f, 15f), 4, 6, 23, 23, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 1, Content.Load<Texture2D>("Sprites/Monster/Winterland/Toy Machine/Vaexel/RedDisappear"), new Vector2(11f, 15f), 4, 6, 23, 23, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally;
         xEn.xRenderComponent.dixAnimations.Add(8, new Animation(8, 3, Content.Load<Texture2D>("Sprites/Monster/Winterland/Toy Machine/Vaexel/GreenAppear"), new Vector2(11f, 15f), 4, 1, 23, 23, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(9, new Animation(9, 1, Content.Load<Texture2D>("Sprites/Monster/Winterland/Toy Machine/Vaexel/GreenAppear"), new Vector2(11f, 15f), 4, 1, 23, 23, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 6, 0f, new Vector2(0f, 0f), xEn.xTransform, 10000f + 5f * (float)CAS.RandomInLogic.NextDouble(), xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         Program.game.xCollisionMaster.RegisterStaticCollider(xEn.xCollisionComponent.xMovementCollider);
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(15, 6, 0f, new Vector2(0f, 0f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.SwitchLever_SeasonChangeGateTrigger)
     {
         xEn = new TriggerCrateArchetype(1);
         xEn = (xEn as TriggerCrateArchetype);
         TriggerCrateArchetype crate31 = xEn as TriggerCrateArchetype;
         crate31.bDestroyOnHit = false;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         Dictionary<ushort, Animation> arg_52A5_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_52A5_1 = 0;
         ushort arg_52A0_0 = 0;
         byte arg_52A0_1 = 0;
         Texture2D arg_52A0_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Lever/Idle");
         Vector2 arg_52A0_3 = new Vector2(13f, 18f);
         int arg_52A0_4 = 4;
         int arg_52A0_5 = 6;
         int arg_52A0_6 = 27;
         int arg_52A0_7 = 29;
         int arg_52A0_8 = 0;
         int arg_52A0_9 = 0;
         int arg_52A0_10 = 14;
         Animation.LoopSettings arg_52A0_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_52A0_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_52A0_13 = true;
         bool arg_52A0_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_529D_0 = array;
         int arg_529D_1 = 1;
         AnimInsCriteria arg_5298_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_5293_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_529D_0[arg_529D_1] = new AnimationInstruction(arg_5298_0, new AnimInsEvent(arg_5293_0, array2));
         arg_52A5_0.Add(arg_52A5_1, new Animation(arg_52A0_0, arg_52A0_1, arg_52A0_2, arg_52A0_3, arg_52A0_4, arg_52A0_5, arg_52A0_6, arg_52A0_7, arg_52A0_8, arg_52A0_9, arg_52A0_10, arg_52A0_11, arg_52A0_12, arg_52A0_13, arg_52A0_14, array));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Lever/Hit"), new Vector2(13f, 18f), 4, 4, 27, 29, 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, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Lever/Hit"), new Vector2(13f, 18f), 4, 1, 27, 29, 81, 0, 14, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_53D3_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_53D3_1 = 3;
         ushort arg_53CE_0 = 3;
         byte arg_53CE_1 = 0;
         Texture2D arg_53CE_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Lever/Idle");
         Vector2 arg_53CE_3 = new Vector2(13f, 18f);
         int arg_53CE_4 = 4;
         int arg_53CE_5 = 3;
         int arg_53CE_6 = 27;
         int arg_53CE_7 = 29;
         int arg_53CE_8 = 0;
         int arg_53CE_9 = 0;
         int arg_53CE_10 = 14;
         Animation.LoopSettings arg_53CE_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_53CE_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_53CE_13 = true;
         bool arg_53CE_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_53CB_0 = array;
         int arg_53CB_1 = 0;
         AnimInsCriteria arg_53C6_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_53C1_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_53CB_0[arg_53CB_1] = new AnimationInstruction(arg_53C6_0, new AnimInsEvent(arg_53C1_0, array2));
         arg_53D3_0.Add(arg_53D3_1, new Animation(arg_53CE_0, arg_53CE_1, arg_53CE_2, arg_53CE_3, arg_53CE_4, arg_53CE_5, arg_53CE_6, arg_53CE_7, arg_53CE_8, arg_53CE_9, arg_53CE_10, arg_53CE_11, arg_53CE_12, arg_53CE_13, arg_53CE_14, array));
         xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(6f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.SteamCannon)
     {
         xEn = new SteamCannon();
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = true;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Steam/Start"), new Vector2(13f, 14f), 4, 1, 26, 44, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Steam/Start"), new Vector2(13f, 14f), 4, 5, 26, 44, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Steam/Start"), new Vector2(13f, 14f), 4, 3, 26, 44, 130, 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[]
             {
                 3f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/Steam/End"), new Vector2(13f, 14f), 4, 4, 26, 44, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(15, 6, 0f, new Vector2(0f, 0f), xEn.xTransform, 10f + 5f * (float)CAS.RandomInLogic.NextDouble(), xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.RocketLauncher)
     {
         xEn = new RocketLauncher();
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = true;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/MissileTurret/Start"), new Vector2(13f, 34f), 4, 1, 27, 40, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/MissileTurret/Start"), new Vector2(13f, 34f), 4, 13, 27, 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[]
             {
                 2f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Traps/MissileTurret/Start"), new Vector2(13f, 34f), 4, 1, 27, 40, 324, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_585F_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_585F_1 = 3;
         ushort arg_585A_0 = 3;
         byte arg_585A_1 = 0;
         Texture2D arg_585A_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Traps/MissileTurret/Fire");
         Vector2 arg_585A_3 = new Vector2(13f, 34f);
         int arg_585A_4 = 6;
         int arg_585A_5 = 6;
         int arg_585A_6 = 27;
         int arg_585A_7 = 40;
         int arg_585A_8 = 0;
         int arg_585A_9 = 0;
         int arg_585A_10 = 20;
         Animation.LoopSettings arg_585A_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_585A_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_585A_13 = true;
         bool arg_585A_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[2];
         AnimationInstruction[] arg_5829_0 = array;
         int arg_5829_1 = 0;
         AnimInsCriteria arg_5824_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             2f
         });
         AnimInsEvent.EventType arg_581F_0 = AnimInsEvent.EventType.CallBackAnimation;
         float[] array2 = new float[1];
         arg_5829_0[arg_5829_1] = new AnimationInstruction(arg_5824_0, new AnimInsEvent(arg_581F_0, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             2f
         }));
         arg_585F_0.Add(arg_585F_1, new Animation(arg_585A_0, arg_585A_1, arg_585A_2, arg_585A_3, arg_585A_4, arg_585A_5, arg_585A_6, arg_585A_7, arg_585A_8, arg_585A_9, arg_585A_10, arg_585A_11, arg_585A_12, arg_585A_13, arg_585A_14, array));
         Dictionary<ushort, Animation> arg_58D5_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_58D5_1 = 4;
         ushort arg_58D0_0 = 4;
         byte arg_58D0_1 = 0;
         Texture2D arg_58D0_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Traps/MissileTurret/End");
         Vector2 arg_58D0_3 = new Vector2(13f, 34f);
         int arg_58D0_4 = 4;
         int arg_58D0_5 = 11;
         int arg_58D0_6 = 27;
         int arg_58D0_7 = 40;
         int arg_58D0_8 = 0;
         int arg_58D0_9 = 0;
         int arg_58D0_10 = 20;
         Animation.LoopSettings arg_58D0_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_58D0_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_58D0_13 = true;
         bool arg_58D0_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_58CD_0 = array;
         int arg_58CD_1 = 0;
         AnimInsCriteria arg_58C8_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_58C3_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_58CD_0[arg_58CD_1] = new AnimationInstruction(arg_58C8_0, new AnimInsEvent(arg_58C3_0, array2));
         arg_58D5_0.Add(arg_58D5_1, new Animation(arg_58D0_0, arg_58D0_1, arg_58D0_2, arg_58D0_3, arg_58D0_4, arg_58D0_5, arg_58D0_6, arg_58D0_7, arg_58D0_8, arg_58D0_9, arg_58D0_10, arg_58D0_11, arg_58D0_12, arg_58D0_13, arg_58D0_14, array));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(28, 12, 0f, new Vector2(0f, 0f), xEn.xTransform, 10f + 5f * (float)CAS.RandomInLogic.NextDouble(), xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType >= DynamicEnvironmentCodex.ObjectTypes.Dummy01 && enType <= DynamicEnvironmentCodex.ObjectTypes.Dummy03)
     {
         xEn = new HitStuff();
         HitStuff crate32 = xEn as HitStuff;
         crate32.sSoundOnHit = "Hit_Stiff";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         crate32.bShowDamageNumbers = true;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.JarBreak;
         xEn.bDestroyOnHit = true;
         string sNum = "01";
         if (enType == DynamicEnvironmentCodex.ObjectTypes.Dummy02)
         {
             sNum = "02";
         }
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Evergrind City/Dummies/Dummy" + sNum), new Vector2(21f, 36f), 4, 1, 43, 40, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_5A6C_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_5A6C_1 = 1;
         ushort arg_5A67_0 = 1;
         byte arg_5A67_1 = 0;
         Texture2D arg_5A67_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Evergrind City/Dummies/Dummy" + sNum);
         Vector2 arg_5A67_3 = new Vector2(21f, 36f);
         int arg_5A67_4 = 4;
         int arg_5A67_5 = 7;
         int arg_5A67_6 = 43;
         int arg_5A67_7 = 40;
         int arg_5A67_8 = 0;
         int arg_5A67_9 = 0;
         int arg_5A67_10 = 7;
         Animation.LoopSettings arg_5A67_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_5A67_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_5A67_13 = true;
         bool arg_5A67_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_5A64_0 = array;
         int arg_5A64_1 = 0;
         AnimInsCriteria arg_5A5F_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_5A5A_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_5A64_0[arg_5A64_1] = new AnimationInstruction(arg_5A5F_0, new AnimInsEvent(arg_5A5A_0, array2));
         arg_5A6C_0.Add(arg_5A6C_1, new Animation(arg_5A67_0, arg_5A67_1, arg_5A67_2, arg_5A67_3, arg_5A67_4, arg_5A67_5, arg_5A67_6, arg_5A67_7, arg_5A67_8, arg_5A67_9, arg_5A67_10, arg_5A67_11, arg_5A67_12, arg_5A67_13, arg_5A67_14, array));
         xEn.xCollisionComponent.xMovementCollider = new SphereCollider(5f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(6f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.SchoolBell)
     {
         xEn = new HitStuff();
         HitStuff crate33 = xEn as HitStuff;
         crate33.sSoundOnHit = "Hit_Stiff";
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         crate33.bShowDamageNumbers = true;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.JarBreak;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Evergrind City/schoolbell"), new Vector2(3f, 32f), 4, 1, 34, 39, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_5BED_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_5BED_1 = 1;
         ushort arg_5BE8_0 = 1;
         byte arg_5BE8_1 = 0;
         Texture2D arg_5BE8_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Evergrind City/schoolbell");
         Vector2 arg_5BE8_3 = new Vector2(3f, 32f);
         int arg_5BE8_4 = 4;
         int arg_5BE8_5 = 12;
         int arg_5BE8_6 = 34;
         int arg_5BE8_7 = 39;
         int arg_5BE8_8 = 0;
         int arg_5BE8_9 = 0;
         int arg_5BE8_10 = 12;
         Animation.LoopSettings arg_5BE8_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_5BE8_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_5BE8_13 = true;
         bool arg_5BE8_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_5BE5_0 = array;
         int arg_5BE5_1 = 0;
         AnimInsCriteria arg_5BE0_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_5BDB_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_5BE5_0[arg_5BE5_1] = new AnimationInstruction(arg_5BE0_0, new AnimInsEvent(arg_5BDB_0, array2));
         arg_5BED_0.Add(arg_5BED_1, new Animation(arg_5BE8_0, arg_5BE8_1, arg_5BE8_2, arg_5BE8_3, arg_5BE8_4, arg_5BE8_5, arg_5BE8_6, arg_5BE8_7, arg_5BE8_8, arg_5BE8_9, arg_5BE8_10, arg_5BE8_11, arg_5BE8_12, arg_5BE8_13, arg_5BE8_14, array));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(30, 6, 0f, new Vector2(14f, 3f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(6f, new Vector2(14f, 3f), xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Gate_SeasonChange_ArbitraryBlockingCollider)
     {
         xEn = new Gate();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, RenderMaster.txNullTex, new Vector2(11f, 35f), 4, 1, 22, 39, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_5D8D_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_5D8D_1 = 1;
         ushort arg_5D88_0 = 1;
         byte arg_5D88_1 = 2;
         Texture2D arg_5D88_2 = RenderMaster.txNullTex;
         Vector2 arg_5D88_3 = new Vector2(11f, 35f);
         int arg_5D88_4 = 4;
         int arg_5D88_5 = 1;
         int arg_5D88_6 = 22;
         int arg_5D88_7 = 39;
         int arg_5D88_8 = 0;
         int arg_5D88_9 = 0;
         int arg_5D88_10 = 6;
         Animation.LoopSettings arg_5D88_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_5D88_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_5D88_13 = true;
         bool arg_5D88_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[2];
         AnimationInstruction[] arg_5D57_0 = array;
         int arg_5D57_1 = 0;
         AnimInsCriteria arg_5D52_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             2f
         });
         AnimInsEvent.EventType arg_5D4D_0 = AnimInsEvent.EventType.CallBackAnimation;
         float[] array2 = new float[1];
         arg_5D57_0[arg_5D57_1] = new AnimationInstruction(arg_5D52_0, new AnimInsEvent(arg_5D4D_0, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             2f
         }));
         arg_5D8D_0.Add(arg_5D8D_1, new Animation(arg_5D88_0, arg_5D88_1, arg_5D88_2, arg_5D88_3, arg_5D88_4, arg_5D88_5, arg_5D88_6, arg_5D88_7, arg_5D88_8, arg_5D88_9, arg_5D88_10, arg_5D88_11, arg_5D88_12, arg_5D88_13, arg_5D88_14, array));
         Dictionary<ushort, Animation> arg_5DF7_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_5DF7_1 = 2;
         ushort arg_5DF2_0 = 2;
         byte arg_5DF2_1 = 2;
         Texture2D arg_5DF2_2 = RenderMaster.txNullTex;
         Vector2 arg_5DF2_3 = new Vector2(11f, 35f);
         int arg_5DF2_4 = 4;
         int arg_5DF2_5 = 1;
         int arg_5DF2_6 = 22;
         int arg_5DF2_7 = 39;
         int arg_5DF2_8 = 110;
         int arg_5DF2_9 = 0;
         int arg_5DF2_10 = 1;
         Animation.LoopSettings arg_5DF2_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_5DF2_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_5DF2_13 = true;
         bool arg_5DF2_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_5DEF_0 = array;
         int arg_5DEF_1 = 0;
         AnimInsCriteria arg_5DEA_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_5DE5_0 = AnimInsEvent.EventType.CallBackAnimation;
         array2 = new float[1];
         arg_5DEF_0[arg_5DEF_1] = new AnimationInstruction(arg_5DEA_0, new AnimInsEvent(arg_5DE5_0, array2));
         arg_5DF7_0.Add(arg_5DF7_1, new Animation(arg_5DF2_0, arg_5DF2_1, arg_5DF2_2, arg_5DF2_3, arg_5DF2_4, arg_5DF2_5, arg_5DF2_6, arg_5DF2_7, arg_5DF2_8, arg_5DF2_9, arg_5DF2_10, arg_5DF2_11, arg_5DF2_12, arg_5DF2_13, arg_5DF2_14, array));
         Dictionary<ushort, Animation> arg_5E5F_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_5E5F_1 = 3;
         ushort arg_5E5A_0 = 3;
         byte arg_5E5A_1 = 2;
         Texture2D arg_5E5A_2 = RenderMaster.txNullTex;
         Vector2 arg_5E5A_3 = new Vector2(11f, 35f);
         int arg_5E5A_4 = 4;
         int arg_5E5A_5 = 1;
         int arg_5E5A_6 = 22;
         int arg_5E5A_7 = 39;
         int arg_5E5A_8 = 0;
         int arg_5E5A_9 = 0;
         int arg_5E5A_10 = 6;
         Animation.LoopSettings arg_5E5A_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_5E5A_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_5E5A_13 = true;
         bool arg_5E5A_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_5E57_0 = array;
         int arg_5E57_1 = 0;
         AnimInsCriteria arg_5E52_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_5E4D_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_5E57_0[arg_5E57_1] = new AnimationInstruction(arg_5E52_0, new AnimInsEvent(arg_5E4D_0, array2));
         arg_5E5F_0.Add(arg_5E5F_1, new Animation(arg_5E5A_0, arg_5E5A_1, arg_5E5A_2, arg_5E5A_3, arg_5E5A_4, arg_5E5A_5, arg_5E5A_6, arg_5E5A_7, arg_5E5A_8, arg_5E5A_9, arg_5E5A_10, arg_5E5A_11, arg_5E5A_12, arg_5E5A_13, arg_5E5A_14, array));
         xEn.xRenderComponent.dixAnimations[3].bReversePlayback = true;
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(30, 10, 0f, new Vector2(0f, -2f), xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = true;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Gate_Galler_BlockUp)
     {
         xEn = new Gate();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>(ENVIRON_PATH + "Halloween Forest/BarsDown"), new Vector2(11f, 35f), 4, 1, 22, 39, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_5FFE_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_5FFE_1 = 1;
         ushort arg_5FF9_0 = 1;
         byte arg_5FF9_1 = 2;
         Texture2D arg_5FF9_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Halloween Forest/BarsDown");
         Vector2 arg_5FF9_3 = new Vector2(11f, 35f);
         int arg_5FF9_4 = 4;
         int arg_5FF9_5 = 6;
         int arg_5FF9_6 = 22;
         int arg_5FF9_7 = 39;
         int arg_5FF9_8 = 0;
         int arg_5FF9_9 = 0;
         int arg_5FF9_10 = 6;
         Animation.LoopSettings arg_5FF9_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_5FF9_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_5FF9_13 = true;
         bool arg_5FF9_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[2];
         AnimationInstruction[] arg_5FC8_0 = array;
         int arg_5FC8_1 = 0;
         AnimInsCriteria arg_5FC3_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             2f
         });
         AnimInsEvent.EventType arg_5FBE_0 = AnimInsEvent.EventType.CallBackAnimation;
         float[] array2 = new float[1];
         arg_5FC8_0[arg_5FC8_1] = new AnimationInstruction(arg_5FC3_0, new AnimInsEvent(arg_5FBE_0, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             2f
         }));
         arg_5FFE_0.Add(arg_5FFE_1, new Animation(arg_5FF9_0, arg_5FF9_1, arg_5FF9_2, arg_5FF9_3, arg_5FF9_4, arg_5FF9_5, arg_5FF9_6, arg_5FF9_7, arg_5FF9_8, arg_5FF9_9, arg_5FF9_10, arg_5FF9_11, arg_5FF9_12, arg_5FF9_13, arg_5FF9_14, array));
         Dictionary<ushort, Animation> arg_6074_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_6074_1 = 2;
         ushort arg_606F_0 = 2;
         byte arg_606F_1 = 2;
         Texture2D arg_606F_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Halloween Forest/BarsDown");
         Vector2 arg_606F_3 = new Vector2(11f, 35f);
         int arg_606F_4 = 4;
         int arg_606F_5 = 1;
         int arg_606F_6 = 22;
         int arg_606F_7 = 39;
         int arg_606F_8 = 110;
         int arg_606F_9 = 0;
         int arg_606F_10 = 1;
         Animation.LoopSettings arg_606F_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_606F_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_606F_13 = true;
         bool arg_606F_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_606C_0 = array;
         int arg_606C_1 = 0;
         AnimInsCriteria arg_6067_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_6062_0 = AnimInsEvent.EventType.CallBackAnimation;
         array2 = new float[1];
         arg_606C_0[arg_606C_1] = new AnimationInstruction(arg_6067_0, new AnimInsEvent(arg_6062_0, array2));
         arg_6074_0.Add(arg_6074_1, new Animation(arg_606F_0, arg_606F_1, arg_606F_2, arg_606F_3, arg_606F_4, arg_606F_5, arg_606F_6, arg_606F_7, arg_606F_8, arg_606F_9, arg_606F_10, arg_606F_11, arg_606F_12, arg_606F_13, arg_606F_14, array));
         Dictionary<ushort, Animation> arg_60E8_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_60E8_1 = 3;
         ushort arg_60E3_0 = 3;
         byte arg_60E3_1 = 2;
         Texture2D arg_60E3_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Halloween Forest/BarsDown");
         Vector2 arg_60E3_3 = new Vector2(11f, 35f);
         int arg_60E3_4 = 4;
         int arg_60E3_5 = 6;
         int arg_60E3_6 = 22;
         int arg_60E3_7 = 39;
         int arg_60E3_8 = 0;
         int arg_60E3_9 = 0;
         int arg_60E3_10 = 6;
         Animation.LoopSettings arg_60E3_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_60E3_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_60E3_13 = true;
         bool arg_60E3_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_60E0_0 = array;
         int arg_60E0_1 = 0;
         AnimInsCriteria arg_60DB_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_60D6_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_60E0_0[arg_60E0_1] = new AnimationInstruction(arg_60DB_0, new AnimInsEvent(arg_60D6_0, array2));
         arg_60E8_0.Add(arg_60E8_1, new Animation(arg_60E3_0, arg_60E3_1, arg_60E3_2, arg_60E3_3, arg_60E3_4, arg_60E3_5, arg_60E3_6, arg_60E3_7, arg_60E3_8, arg_60E3_9, arg_60E3_10, arg_60E3_11, arg_60E3_12, arg_60E3_13, arg_60E3_14, array));
         xEn.xRenderComponent.dixAnimations[3].bReversePlayback = true;
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(30, 10, 0f, new Vector2(0f, -2f), xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = true;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Gate_Special_FlyingTemple)
     {
         xEn = new KeyLockedGate();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.fVirtualHeight = -100f;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>(ENVIRON_PATH + "Ancient Temple/door_closed"), new Vector2(2f, 52f), 4, 1, 61, 52, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_6298_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_6298_1 = 1;
         ushort arg_6293_0 = 1;
         byte arg_6293_1 = 2;
         Texture2D arg_6293_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Ancient Temple/door_closed");
         Vector2 arg_6293_3 = new Vector2(2f, 52f);
         int arg_6293_4 = 4;
         int arg_6293_5 = 8;
         int arg_6293_6 = 61;
         int arg_6293_7 = 52;
         int arg_6293_8 = 0;
         int arg_6293_9 = 0;
         int arg_6293_10 = 10;
         Animation.LoopSettings arg_6293_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_6293_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_6293_13 = true;
         bool arg_6293_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[2];
         AnimationInstruction[] arg_6262_0 = array;
         int arg_6262_1 = 0;
         AnimInsCriteria arg_625D_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             6f
         });
         AnimInsEvent.EventType arg_6258_0 = AnimInsEvent.EventType.CallBackAnimation;
         float[] array2 = new float[1];
         arg_6262_0[arg_6262_1] = new AnimationInstruction(arg_625D_0, new AnimInsEvent(arg_6258_0, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             2f
         }));
         arg_6298_0.Add(arg_6298_1, new Animation(arg_6293_0, arg_6293_1, arg_6293_2, arg_6293_3, arg_6293_4, arg_6293_5, arg_6293_6, arg_6293_7, arg_6293_8, arg_6293_9, arg_6293_10, arg_6293_11, arg_6293_12, arg_6293_13, arg_6293_14, array));
         Dictionary<ushort, Animation> arg_630D_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_630D_1 = 2;
         ushort arg_6308_0 = 2;
         byte arg_6308_1 = 2;
         Texture2D arg_6308_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Ancient Temple/door_open");
         Vector2 arg_6308_3 = new Vector2(2f, 52f);
         int arg_6308_4 = 4;
         int arg_6308_5 = 1;
         int arg_6308_6 = 61;
         int arg_6308_7 = 52;
         int arg_6308_8 = 0;
         int arg_6308_9 = 0;
         int arg_6308_10 = 1;
         Animation.LoopSettings arg_6308_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_6308_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_6308_13 = true;
         bool arg_6308_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_6305_0 = array;
         int arg_6305_1 = 0;
         AnimInsCriteria arg_6300_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_62FB_0 = AnimInsEvent.EventType.CallBackAnimation;
         array2 = new float[1];
         arg_6305_0[arg_6305_1] = new AnimationInstruction(arg_6300_0, new AnimInsEvent(arg_62FB_0, array2));
         arg_630D_0.Add(arg_630D_1, new Animation(arg_6308_0, arg_6308_1, arg_6308_2, arg_6308_3, arg_6308_4, arg_6308_5, arg_6308_6, arg_6308_7, arg_6308_8, arg_6308_9, arg_6308_10, arg_6308_11, arg_6308_12, arg_6308_13, arg_6308_14, array));
         Dictionary<ushort, Animation> arg_6382_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_6382_1 = 3;
         ushort arg_637D_0 = 3;
         byte arg_637D_1 = 2;
         Texture2D arg_637D_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Ancient Temple/door_open");
         Vector2 arg_637D_3 = new Vector2(2f, 52f);
         int arg_637D_4 = 4;
         int arg_637D_5 = 8;
         int arg_637D_6 = 61;
         int arg_637D_7 = 52;
         int arg_637D_8 = 0;
         int arg_637D_9 = 0;
         int arg_637D_10 = 10;
         Animation.LoopSettings arg_637D_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_637D_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_637D_13 = true;
         bool arg_637D_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_637A_0 = array;
         int arg_637A_1 = 0;
         AnimInsCriteria arg_6375_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_6370_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_637A_0[arg_637A_1] = new AnimationInstruction(arg_6375_0, new AnimInsEvent(arg_6370_0, array2));
         arg_6382_0.Add(arg_6382_1, new Animation(arg_637D_0, arg_637D_1, arg_637D_2, arg_637D_3, arg_637D_4, arg_637D_5, arg_637D_6, arg_637D_7, arg_637D_8, arg_637D_9, arg_637D_10, arg_637D_11, arg_637D_12, arg_637D_13, arg_637D_14, array));
         xEn.xRenderComponent.dixAnimations[3].bReversePlayback = true;
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(40, 16, 0f, new Vector2(30f, -8f), xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = true;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Gate_KeyLocked_FlyingTemple)
     {
         xEn = new KeyLockedGate();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.fVirtualHeight = -100f;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>(ENVIRON_PATH + "Ancient Temple/door_locked"), new Vector2(2f, 52f), 4, 1, 61, 52, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_656A_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_656A_1 = 1;
         ushort arg_6565_0 = 1;
         byte arg_6565_1 = 2;
         Texture2D arg_6565_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Ancient Temple/door_locked");
         Vector2 arg_6565_3 = new Vector2(2f, 52f);
         int arg_6565_4 = 4;
         int arg_6565_5 = 8;
         int arg_6565_6 = 61;
         int arg_6565_7 = 52;
         int arg_6565_8 = 0;
         int arg_6565_9 = 0;
         int arg_6565_10 = 10;
         Animation.LoopSettings arg_6565_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_6565_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_6565_13 = true;
         bool arg_6565_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[3];
         AnimationInstruction[] arg_6501_0 = array;
         int arg_6501_1 = 0;
         AnimInsCriteria arg_64FC_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             2f
         });
         AnimInsEvent.EventType arg_64F7_0 = AnimInsEvent.EventType.PlaySound;
         string arg_64F7_1 = "door_open";
         float[] array2 = new float[1];
         arg_6501_0[arg_6501_1] = new AnimationInstruction(arg_64FC_0, new AnimInsEvent(arg_64F7_0, arg_64F7_1, array2));
         AnimationInstruction[] arg_6534_0 = array;
         int arg_6534_1 = 1;
         AnimInsCriteria arg_652F_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             6f
         });
         AnimInsEvent.EventType arg_652A_0 = AnimInsEvent.EventType.CallBackAnimation;
         array2 = new float[1];
         arg_6534_0[arg_6534_1] = new AnimationInstruction(arg_652F_0, new AnimInsEvent(arg_652A_0, array2));
         array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             2f
         }));
         arg_656A_0.Add(arg_656A_1, new Animation(arg_6565_0, arg_6565_1, arg_6565_2, arg_6565_3, arg_6565_4, arg_6565_5, arg_6565_6, arg_6565_7, arg_6565_8, arg_6565_9, arg_6565_10, arg_6565_11, arg_6565_12, arg_6565_13, arg_6565_14, array));
         Dictionary<ushort, Animation> arg_65DF_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_65DF_1 = 2;
         ushort arg_65DA_0 = 2;
         byte arg_65DA_1 = 2;
         Texture2D arg_65DA_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Ancient Temple/door_open");
         Vector2 arg_65DA_3 = new Vector2(2f, 52f);
         int arg_65DA_4 = 4;
         int arg_65DA_5 = 1;
         int arg_65DA_6 = 61;
         int arg_65DA_7 = 52;
         int arg_65DA_8 = 0;
         int arg_65DA_9 = 0;
         int arg_65DA_10 = 1;
         Animation.LoopSettings arg_65DA_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_65DA_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_65DA_13 = true;
         bool arg_65DA_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_65D7_0 = array;
         int arg_65D7_1 = 0;
         AnimInsCriteria arg_65D2_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_65CD_0 = AnimInsEvent.EventType.CallBackAnimation;
         array2 = new float[1];
         arg_65D7_0[arg_65D7_1] = new AnimationInstruction(arg_65D2_0, new AnimInsEvent(arg_65CD_0, array2));
         arg_65DF_0.Add(arg_65DF_1, new Animation(arg_65DA_0, arg_65DA_1, arg_65DA_2, arg_65DA_3, arg_65DA_4, arg_65DA_5, arg_65DA_6, arg_65DA_7, arg_65DA_8, arg_65DA_9, arg_65DA_10, arg_65DA_11, arg_65DA_12, arg_65DA_13, arg_65DA_14, array));
         Dictionary<ushort, Animation> arg_6654_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_6654_1 = 3;
         ushort arg_664F_0 = 3;
         byte arg_664F_1 = 2;
         Texture2D arg_664F_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Ancient Temple/door_open");
         Vector2 arg_664F_3 = new Vector2(2f, 52f);
         int arg_664F_4 = 4;
         int arg_664F_5 = 8;
         int arg_664F_6 = 61;
         int arg_664F_7 = 52;
         int arg_664F_8 = 0;
         int arg_664F_9 = 0;
         int arg_664F_10 = 10;
         Animation.LoopSettings arg_664F_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_664F_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_664F_13 = true;
         bool arg_664F_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_664C_0 = array;
         int arg_664C_1 = 0;
         AnimInsCriteria arg_6647_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_6642_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_664C_0[arg_664C_1] = new AnimationInstruction(arg_6647_0, new AnimInsEvent(arg_6642_0, array2));
         arg_6654_0.Add(arg_6654_1, new Animation(arg_664F_0, arg_664F_1, arg_664F_2, arg_664F_3, arg_664F_4, arg_664F_5, arg_664F_6, arg_664F_7, arg_664F_8, arg_664F_9, arg_664F_10, arg_664F_11, arg_664F_12, arg_664F_13, arg_664F_14, array));
         xEn.xRenderComponent.dixAnimations[3].bReversePlayback = true;
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(40, 16, 0f, new Vector2(30f, -8f), xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = true;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Gate_MiniBoss_FlyingTemple)
     {
         xEn = new Gate();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.fVirtualHeight = -100f;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>(ENVIRON_PATH + "Ancient Temple/door_miniboss"), new Vector2(2f, 52f), 4, 1, 61, 52, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_6805_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_6805_1 = 1;
         ushort arg_6800_0 = 1;
         byte arg_6800_1 = 2;
         Texture2D arg_6800_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Ancient Temple/door_miniboss");
         Vector2 arg_6800_3 = new Vector2(2f, 52f);
         int arg_6800_4 = 4;
         int arg_6800_5 = 17;
         int arg_6800_6 = 61;
         int arg_6800_7 = 52;
         int arg_6800_8 = 0;
         int arg_6800_9 = 0;
         int arg_6800_10 = 17;
         Animation.LoopSettings arg_6800_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_6800_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_6800_13 = true;
         bool arg_6800_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[2];
         AnimationInstruction[] arg_67CF_0 = array;
         int arg_67CF_1 = 0;
         AnimInsCriteria arg_67CA_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             15f
         });
         AnimInsEvent.EventType arg_67C5_0 = AnimInsEvent.EventType.CallBackAnimation;
         float[] array2 = new float[1];
         arg_67CF_0[arg_67CF_1] = new AnimationInstruction(arg_67CA_0, new AnimInsEvent(arg_67C5_0, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             2f
         }));
         arg_6805_0.Add(arg_6805_1, new Animation(arg_6800_0, arg_6800_1, arg_6800_2, arg_6800_3, arg_6800_4, arg_6800_5, arg_6800_6, arg_6800_7, arg_6800_8, arg_6800_9, arg_6800_10, arg_6800_11, arg_6800_12, arg_6800_13, arg_6800_14, array));
         Dictionary<ushort, Animation> arg_687E_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_687E_1 = 2;
         ushort arg_6879_0 = 2;
         byte arg_6879_1 = 2;
         Texture2D arg_6879_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Ancient Temple/door_miniboss");
         Vector2 arg_6879_3 = new Vector2(2f, 52f);
         int arg_6879_4 = 4;
         int arg_6879_5 = 1;
         int arg_6879_6 = 61;
         int arg_6879_7 = 52;
         int arg_6879_8 = 976;
         int arg_6879_9 = 0;
         int arg_6879_10 = 1;
         Animation.LoopSettings arg_6879_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_6879_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_6879_13 = true;
         bool arg_6879_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_6876_0 = array;
         int arg_6876_1 = 0;
         AnimInsCriteria arg_6871_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_686C_0 = AnimInsEvent.EventType.CallBackAnimation;
         array2 = new float[1];
         arg_6876_0[arg_6876_1] = new AnimationInstruction(arg_6871_0, new AnimInsEvent(arg_686C_0, array2));
         arg_687E_0.Add(arg_687E_1, new Animation(arg_6879_0, arg_6879_1, arg_6879_2, arg_6879_3, arg_6879_4, arg_6879_5, arg_6879_6, arg_6879_7, arg_6879_8, arg_6879_9, arg_6879_10, arg_6879_11, arg_6879_12, arg_6879_13, arg_6879_14, array));
         Dictionary<ushort, Animation> arg_68F4_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_68F4_1 = 3;
         ushort arg_68EF_0 = 3;
         byte arg_68EF_1 = 2;
         Texture2D arg_68EF_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Ancient Temple/door_miniboss");
         Vector2 arg_68EF_3 = new Vector2(2f, 52f);
         int arg_68EF_4 = 4;
         int arg_68EF_5 = 17;
         int arg_68EF_6 = 61;
         int arg_68EF_7 = 52;
         int arg_68EF_8 = 0;
         int arg_68EF_9 = 0;
         int arg_68EF_10 = 17;
         Animation.LoopSettings arg_68EF_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_68EF_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_68EF_13 = true;
         bool arg_68EF_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_68EC_0 = array;
         int arg_68EC_1 = 0;
         AnimInsCriteria arg_68E7_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_68E2_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_68EC_0[arg_68EC_1] = new AnimationInstruction(arg_68E7_0, new AnimInsEvent(arg_68E2_0, array2));
         arg_68F4_0.Add(arg_68F4_1, new Animation(arg_68EF_0, arg_68EF_1, arg_68EF_2, arg_68EF_3, arg_68EF_4, arg_68EF_5, arg_68EF_6, arg_68EF_7, arg_68EF_8, arg_68EF_9, arg_68EF_10, arg_68EF_11, arg_68EF_12, arg_68EF_13, arg_68EF_14, array));
         xEn.xRenderComponent.dixAnimations[3].bReversePlayback = true;
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(40, 16, 0f, new Vector2(30f, -8f), xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = true;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Gate_Bridge_FlyingTemple)
     {
         xEn = new Gate();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.fVirtualHeight = -100f;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, RenderMaster.txNullTex, new Vector2(2f, 52f), 4, 1, 76, 72, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 2, Content.Load<Texture2D>("Bkg/Zone009_FlyingTemple/Inside/Unique/Bridge/Open"), Vector2.Zero, 4, 9, 76, 72, 0, 0, 17, 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>("Bkg/Zone009_FlyingTemple/Inside/Unique/Bridge/Open"), Vector2.Zero, 4, 1, 76, 72, 608, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_6BA3_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_6BA3_1 = 3;
         ushort arg_6B9E_0 = 3;
         byte arg_6B9E_1 = 2;
         Texture2D arg_6B9E_2 = Content.Load<Texture2D>("Bkg/Zone009_FlyingTemple/Inside/Unique/Bridge/Close");
         Vector2 arg_6B9E_3 = Vector2.Zero;
         int arg_6B9E_4 = 4;
         int arg_6B9E_5 = 27;
         int arg_6B9E_6 = 76;
         int arg_6B9E_7 = 72;
         int arg_6B9E_8 = 0;
         int arg_6B9E_9 = 0;
         int arg_6B9E_10 = 9;
         Animation.LoopSettings arg_6B9E_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_6B9E_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_6B9E_13 = true;
         bool arg_6B9E_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[4];
         AnimationInstruction[] arg_6B06_0 = array;
         int arg_6B06_1 = 0;
         AnimInsCriteria arg_6B01_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             2f
         });
         AnimInsEvent.EventType arg_6AFC_0 = AnimInsEvent.EventType.PlaySound;
         string arg_6AFC_1 = "bridge_retract";
         float[] array2 = new float[1];
         arg_6B06_0[arg_6B06_1] = new AnimationInstruction(arg_6B01_0, new AnimInsEvent(arg_6AFC_0, arg_6AFC_1, array2));
         AnimationInstruction[] arg_6B3E_0 = array;
         int arg_6B3E_1 = 1;
         AnimInsCriteria arg_6B39_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             10f
         });
         AnimInsEvent.EventType arg_6B34_0 = AnimInsEvent.EventType.PlaySound;
         string arg_6B34_1 = "bridge_retract";
         array2 = new float[1];
         arg_6B3E_0[arg_6B3E_1] = new AnimationInstruction(arg_6B39_0, new AnimInsEvent(arg_6B34_0, arg_6B34_1, array2));
         AnimationInstruction[] arg_6B76_0 = array;
         int arg_6B76_1 = 2;
         AnimInsCriteria arg_6B71_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             18f
         });
         AnimInsEvent.EventType arg_6B6C_0 = AnimInsEvent.EventType.PlaySound;
         string arg_6B6C_1 = "bridge_retract";
         array2 = new float[1];
         arg_6B76_0[arg_6B76_1] = new AnimationInstruction(arg_6B71_0, new AnimInsEvent(arg_6B6C_0, arg_6B6C_1, array2));
         AnimationInstruction[] arg_6B9B_0 = array;
         int arg_6B9B_1 = 3;
         AnimInsCriteria arg_6B96_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_6B91_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_6B9B_0[arg_6B9B_1] = new AnimationInstruction(arg_6B96_0, new AnimInsEvent(arg_6B91_0, array2));
         arg_6BA3_0.Add(arg_6BA3_1, new Animation(arg_6B9E_0, arg_6B9E_1, arg_6B9E_2, arg_6B9E_3, arg_6B9E_4, arg_6B9E_5, arg_6B9E_6, arg_6B9E_7, arg_6B9E_8, arg_6B9E_9, arg_6B9E_10, arg_6B9E_11, arg_6B9E_12, arg_6B9E_13, arg_6B9E_14, array));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(50, 72, 0f, new Vector2(38f, 36f), xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = true;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Gate_ToyFactory)
     {
         xEn = new Gate();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.fVirtualHeight = -100f;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>("Bkg/Zone013_Winterland/Toy Factory/Door/Open"), Vector2.Zero, 4, 1, 51, 50, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_6D48_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_6D48_1 = 1;
         ushort arg_6D43_0 = 1;
         byte arg_6D43_1 = 2;
         Texture2D arg_6D43_2 = Content.Load<Texture2D>("Bkg/Zone013_Winterland/Toy Factory/Door/Open");
         Vector2 arg_6D43_3 = Vector2.Zero;
         int arg_6D43_4 = 4;
         int arg_6D43_5 = 7;
         int arg_6D43_6 = 51;
         int arg_6D43_7 = 50;
         int arg_6D43_8 = 0;
         int arg_6D43_9 = 0;
         int arg_6D43_10 = 20;
         Animation.LoopSettings arg_6D43_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_6D43_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_6D43_13 = true;
         bool arg_6D43_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[3];
         AnimationInstruction[] arg_6CDF_0 = array;
         int arg_6CDF_1 = 0;
         AnimInsCriteria arg_6CDA_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_6CD5_0 = AnimInsEvent.EventType.PlaySound;
         string arg_6CD5_1 = "door_open";
         float[] array2 = new float[1];
         arg_6CDF_0[arg_6CDF_1] = new AnimationInstruction(arg_6CDA_0, new AnimInsEvent(arg_6CD5_0, arg_6CD5_1, array2));
         AnimationInstruction[] arg_6D12_0 = array;
         int arg_6D12_1 = 1;
         AnimInsCriteria arg_6D0D_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             15f
         });
         AnimInsEvent.EventType arg_6D08_0 = AnimInsEvent.EventType.CallBackAnimation;
         array2 = new float[1];
         arg_6D12_0[arg_6D12_1] = new AnimationInstruction(arg_6D0D_0, new AnimInsEvent(arg_6D08_0, array2));
         array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             2f
         }));
         arg_6D48_0.Add(arg_6D48_1, new Animation(arg_6D43_0, arg_6D43_1, arg_6D43_2, arg_6D43_3, arg_6D43_4, arg_6D43_5, arg_6D43_6, arg_6D43_7, arg_6D43_8, arg_6D43_9, arg_6D43_10, arg_6D43_11, arg_6D43_12, arg_6D43_13, arg_6D43_14, array));
         Dictionary<ushort, Animation> arg_6DAC_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_6DAC_1 = 2;
         ushort arg_6DA7_0 = 2;
         byte arg_6DA7_1 = 2;
         Texture2D arg_6DA7_2 = RenderMaster.txNullTex;
         Vector2 arg_6DA7_3 = Vector2.Zero;
         int arg_6DA7_4 = 4;
         int arg_6DA7_5 = 1;
         int arg_6DA7_6 = 51;
         int arg_6DA7_7 = 50;
         int arg_6DA7_8 = 306;
         int arg_6DA7_9 = 0;
         int arg_6DA7_10 = 20;
         Animation.LoopSettings arg_6DA7_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_6DA7_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_6DA7_13 = true;
         bool arg_6DA7_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_6DA4_0 = array;
         int arg_6DA4_1 = 0;
         AnimInsCriteria arg_6D9F_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_6D9A_0 = AnimInsEvent.EventType.CallBackAnimation;
         array2 = new float[1];
         arg_6DA4_0[arg_6DA4_1] = new AnimationInstruction(arg_6D9F_0, new AnimInsEvent(arg_6D9A_0, array2));
         arg_6DAC_0.Add(arg_6DAC_1, new Animation(arg_6DA7_0, arg_6DA7_1, arg_6DA7_2, arg_6DA7_3, arg_6DA7_4, arg_6DA7_5, arg_6DA7_6, arg_6DA7_7, arg_6DA7_8, arg_6DA7_9, arg_6DA7_10, arg_6DA7_11, arg_6DA7_12, arg_6DA7_13, arg_6DA7_14, array));
         Dictionary<ushort, Animation> arg_6E3C_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_6E3C_1 = 3;
         ushort arg_6E37_0 = 3;
         byte arg_6E37_1 = 2;
         Texture2D arg_6E37_2 = Content.Load<Texture2D>("Bkg/Zone013_Winterland/Toy Factory/Door/Close");
         Vector2 arg_6E37_3 = Vector2.Zero;
         int arg_6E37_4 = 4;
         int arg_6E37_5 = 6;
         int arg_6E37_6 = 51;
         int arg_6E37_7 = 50;
         int arg_6E37_8 = 0;
         int arg_6E37_9 = 0;
         int arg_6E37_10 = 20;
         Animation.LoopSettings arg_6E37_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_6E37_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_6E37_13 = true;
         bool arg_6E37_14 = true;
         array = new AnimationInstruction[2];
         AnimationInstruction[] arg_6E0F_0 = array;
         int arg_6E0F_1 = 0;
         AnimInsCriteria arg_6E0A_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_6E05_0 = AnimInsEvent.EventType.PlaySound;
         string arg_6E05_1 = "Gund4m_Flaps_A";
         array2 = new float[1];
         arg_6E0F_0[arg_6E0F_1] = new AnimationInstruction(arg_6E0A_0, new AnimInsEvent(arg_6E05_0, arg_6E05_1, array2));
         AnimationInstruction[] arg_6E34_0 = array;
         int arg_6E34_1 = 1;
         AnimInsCriteria arg_6E2F_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_6E2A_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_6E34_0[arg_6E34_1] = new AnimationInstruction(arg_6E2F_0, new AnimInsEvent(arg_6E2A_0, array2));
         arg_6E3C_0.Add(arg_6E3C_1, new Animation(arg_6E37_0, arg_6E37_1, arg_6E37_2, arg_6E37_3, arg_6E37_4, arg_6E37_5, arg_6E37_6, arg_6E37_7, arg_6E37_8, arg_6E37_9, arg_6E37_10, arg_6E37_11, arg_6E37_12, arg_6E37_13, arg_6E37_14, array));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(60, 16, 0f, new Vector2(25f, 42f), xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = true;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Gate_SeasonChange_BrickWall)
     {
         xEn = new Gate();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.fVirtualHeight = -100f;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 2, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Block/Block"), new Vector2(38f, 28f), 4, 1, 73, 38, 0, 0, 25, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_6FF6_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_6FF6_1 = 1;
         ushort arg_6FF1_0 = 1;
         byte arg_6FF1_1 = 2;
         Texture2D arg_6FF1_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Block/Block");
         Vector2 arg_6FF1_3 = new Vector2(38f, 28f);
         int arg_6FF1_4 = 4;
         int arg_6FF1_5 = 25;
         int arg_6FF1_6 = 73;
         int arg_6FF1_7 = 38;
         int arg_6FF1_8 = 0;
         int arg_6FF1_9 = 0;
         int arg_6FF1_10 = 25;
         Animation.LoopSettings arg_6FF1_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_6FF1_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_6FF1_13 = true;
         bool arg_6FF1_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[3];
         AnimationInstruction[] arg_6F8D_0 = array;
         int arg_6F8D_1 = 0;
         AnimInsCriteria arg_6F88_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_6F83_0 = AnimInsEvent.EventType.PlaySound;
         string arg_6F83_1 = "GravelRockMove";
         float[] array2 = new float[1];
         arg_6F8D_0[arg_6F8D_1] = new AnimationInstruction(arg_6F88_0, new AnimInsEvent(arg_6F83_0, arg_6F83_1, array2));
         AnimationInstruction[] arg_6FC0_0 = array;
         int arg_6FC0_1 = 1;
         AnimInsCriteria arg_6FBB_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             15f
         });
         AnimInsEvent.EventType arg_6FB6_0 = AnimInsEvent.EventType.CallBackAnimation;
         array2 = new float[1];
         arg_6FC0_0[arg_6FC0_1] = new AnimationInstruction(arg_6FBB_0, new AnimInsEvent(arg_6FB6_0, array2));
         array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             2f
         }));
         arg_6FF6_0.Add(arg_6FF6_1, new Animation(arg_6FF1_0, arg_6FF1_1, arg_6FF1_2, arg_6FF1_3, arg_6FF1_4, arg_6FF1_5, arg_6FF1_6, arg_6FF1_7, arg_6FF1_8, arg_6FF1_9, arg_6FF1_10, arg_6FF1_11, arg_6FF1_12, arg_6FF1_13, arg_6FF1_14, array));
         Dictionary<ushort, Animation> arg_7090_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_7090_1 = 2;
         ushort arg_708B_0 = 2;
         byte arg_708B_1 = 2;
         Texture2D arg_708B_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Block/Block");
         Vector2 arg_708B_3 = new Vector2(38f, 28f);
         int arg_708B_4 = 4;
         int arg_708B_5 = 1;
         int arg_708B_6 = 73;
         int arg_708B_7 = 38;
         int arg_708B_8 = 1752;
         int arg_708B_9 = 0;
         int arg_708B_10 = 25;
         Animation.LoopSettings arg_708B_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_708B_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_708B_13 = true;
         bool arg_708B_14 = true;
         array = new AnimationInstruction[2];
         AnimationInstruction[] arg_7062_0 = array;
         int arg_7062_1 = 0;
         AnimInsCriteria arg_705D_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_7058_0 = AnimInsEvent.EventType.CallBackAnimation;
         array2 = new float[1];
         arg_7062_0[arg_7062_1] = new AnimationInstruction(arg_705D_0, new AnimInsEvent(arg_7058_0, array2));
         AnimationInstruction[] arg_7088_0 = array;
         int arg_7088_1 = 1;
         AnimInsCriteria arg_7083_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_707E_0 = AnimInsEvent.EventType.SetVirtualHeight;
         array2 = new float[1];
         arg_7088_0[arg_7088_1] = new AnimationInstruction(arg_7083_0, new AnimInsEvent(arg_707E_0, array2));
         arg_7090_0.Add(arg_7090_1, new Animation(arg_708B_0, arg_708B_1, arg_708B_2, arg_708B_3, arg_708B_4, arg_708B_5, arg_708B_6, arg_708B_7, arg_708B_8, arg_708B_9, arg_708B_10, arg_708B_11, arg_708B_12, arg_708B_13, arg_708B_14, array));
         Dictionary<ushort, Animation> arg_712B_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_712B_1 = 3;
         ushort arg_7126_0 = 3;
         byte arg_7126_1 = 2;
         Texture2D arg_7126_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Block/Block");
         Vector2 arg_7126_3 = new Vector2(38f, 28f);
         int arg_7126_4 = 4;
         int arg_7126_5 = 25;
         int arg_7126_6 = 73;
         int arg_7126_7 = 38;
         int arg_7126_8 = 0;
         int arg_7126_9 = 0;
         int arg_7126_10 = 25;
         Animation.LoopSettings arg_7126_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_7126_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_7126_13 = true;
         bool arg_7126_14 = true;
         array = new AnimationInstruction[2];
         AnimationInstruction[] arg_70FE_0 = array;
         int arg_70FE_1 = 0;
         AnimInsCriteria arg_70F9_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_70F4_0 = AnimInsEvent.EventType.PlaySound;
         string arg_70F4_1 = "GravelRockMove";
         array2 = new float[1];
         arg_70FE_0[arg_70FE_1] = new AnimationInstruction(arg_70F9_0, new AnimInsEvent(arg_70F4_0, arg_70F4_1, array2));
         AnimationInstruction[] arg_7123_0 = array;
         int arg_7123_1 = 1;
         AnimInsCriteria arg_711E_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_7119_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_7123_0[arg_7123_1] = new AnimationInstruction(arg_711E_0, new AnimInsEvent(arg_7119_0, array2));
         arg_712B_0.Add(arg_712B_1, new Animation(arg_7126_0, arg_7126_1, arg_7126_2, arg_7126_3, arg_7126_4, arg_7126_5, arg_7126_6, arg_7126_7, arg_7126_8, arg_7126_9, arg_7126_10, arg_7126_11, arg_7126_12, arg_7126_13, arg_7126_14, array));
         xEn.xRenderComponent.dixAnimations[3].bReversePlayback = true;
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(60, 16, 0f, Vector2.Zero, xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = true;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.WaterLeaf01)
     {
         xEn = new FloatingThingy();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.BushWhack;
         xEn.bDestroyOnHit = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/Water/Leaves/leaf01"), new Vector2(9f, 10f), 4, 1, 19, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.WaterLeaf02)
     {
         xEn = new FloatingThingy();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.BushWhack;
         xEn.bDestroyOnHit = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/Water/Leaves/leaf02"), new Vector2(9f, 10f), 4, 1, 19, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.WaterLeaf03)
     {
         xEn = new FloatingThingy();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.BushWhack;
         xEn.bDestroyOnHit = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/Water/Leaves/leaf03"), new Vector2(9f, 10f), 4, 1, 19, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Sign)
     {
         xEn = new Sign();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bDestroyOnHit = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, RenderMaster.txNullTex, new Vector2(9f, 10f), 4, 1, 19, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.FishingPlate)
     {
         xEn = new FishingPlate();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bDestroyOnHit = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, RenderMaster.txNullTex, new Vector2(9f, 10f), 4, 1, 19, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.FlagTriggerPlate)
     {
         xEn = new FlagInteractionTrigger();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bDestroyOnHit = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, RenderMaster.txNullTex, new Vector2(9f, 10f), 4, 1, 19, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, RenderMaster.txNullTex, new Vector2(9f, 10f), 4, 1, 19, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, RenderMaster.txNullTex, new Vector2(9f, 10f), 4, 1, 19, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, RenderMaster.txNullTex, new Vector2(9f, 10f), 4, 1, 19, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.FlagTriggerItem_PhaseShiftOrb)
     {
         xEn = new FlagTriggerItem();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bDestroyOnHit = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, Content.Load<Texture2D>("Sprites/Monster/Bosses/Phaseman/OrbGet"), new Vector2(12f, 26f), 4, 8, 24, 30, 0, 0, 12, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_7691_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_7691_1 = 100;
         ushort arg_768C_0 = 100;
         byte arg_768C_1 = 0;
         Texture2D arg_768C_2 = Content.Load<Texture2D>("Effects/Explosions/Standard/Green");
         Vector2 arg_768C_3 = new Vector2(26f, 27f);
         int arg_768C_4 = 4;
         int arg_768C_5 = 10;
         int arg_768C_6 = 50;
         int arg_768C_7 = 38;
         int arg_768C_8 = 0;
         int arg_768C_9 = 0;
         int arg_768C_10 = 10;
         Animation.LoopSettings arg_768C_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_768C_12 = Animation.CancelOptions.UseAnimationDefault;
         bool arg_768C_13 = true;
         bool arg_768C_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[2];
         AnimationInstruction[] arg_765A_0 = array;
         int arg_765A_1 = 0;
         AnimInsCriteria arg_7655_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_7650_0 = AnimInsEvent.EventType.PlaySound;
         string arg_7650_1 = "Puzzle_reset_poof";
         float[] array2 = new float[1];
         arg_765A_0[arg_765A_1] = new AnimationInstruction(arg_7655_0, new AnimInsEvent(arg_7650_0, arg_7650_1, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.ToBeDestroyed, new float[]
         {
             1f
         }));
         arg_7691_0.Add(arg_7691_1, new Animation(arg_768C_0, arg_768C_1, arg_768C_2, arg_768C_3, arg_768C_4, arg_768C_5, arg_768C_6, arg_768C_7, arg_768C_8, arg_768C_9, arg_768C_10, arg_768C_11, arg_768C_12, arg_768C_13, arg_768C_14, array));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.DialogueTriggerPlate)
     {
         xEn = new DialogueInteractionTrigger();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bDestroyOnHit = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, RenderMaster.txNullTex, new Vector2(9f, 10f), 4, 1, 19, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, RenderMaster.txNullTex, new Vector2(9f, 10f), 4, 1, 19, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, RenderMaster.txNullTex, new Vector2(9f, 10f), 4, 1, 19, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, RenderMaster.txNullTex, new Vector2(9f, 10f), 4, 1, 19, 21, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientDuck_Yellow)
     {
         xEn = new AmbientDuck();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/Duck/Move/Right"), new Vector2(19f, 15f), 5, 12, 30, 19, 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>(ENVIRON_PATH + "Ambient/Duck/Move/Right"), new Vector2(11f, 15f), 5, 12, 30, 19, 0, 0, 12, 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>(ENVIRON_PATH + "Ambient/Duck/Turn/Left"), new Vector2(11f, 15f), 5, 7, 22, 19, 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_79A3_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_79A3_1 = 3;
         ushort arg_799E_0 = 3;
         byte arg_799E_1 = 1;
         Texture2D arg_799E_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/Duck/Turn/Left");
         Vector2 arg_799E_3 = new Vector2(11f, 15f);
         int arg_799E_4 = 5;
         int arg_799E_5 = 7;
         int arg_799E_6 = 22;
         int arg_799E_7 = 19;
         int arg_799E_8 = 0;
         int arg_799E_9 = 0;
         int arg_799E_10 = 12;
         Animation.LoopSettings arg_799E_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_799E_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_799E_13 = true;
         bool arg_799E_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_799B_0 = array;
         int arg_799B_1 = 0;
         AnimInsCriteria arg_7996_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_7991_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_799B_0[arg_799B_1] = new AnimationInstruction(arg_7996_0, new AnimInsEvent(arg_7991_0, array2));
         arg_79A3_0.Add(arg_79A3_1, new Animation(arg_799E_0, arg_799E_1, arg_799E_2, arg_799E_3, arg_799E_4, arg_799E_5, arg_799E_6, arg_799E_7, arg_799E_8, arg_799E_9, arg_799E_10, arg_799E_11, arg_799E_12, arg_799E_13, arg_799E_14, array));
         xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally;
     }
     else if (enType >= DynamicEnvironmentCodex.ObjectTypes.AmbientFish_Random && enType <= DynamicEnvironmentCodex.ObjectTypes.AmbientFish_Big)
     {
         if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientFish_Random)
         {
             if (Program.GetTheGame().randomInLogic.Next(2) == 0)
             {
                 enType = DynamicEnvironmentCodex.ObjectTypes.AmbientFish_Small;
             }
             else
             {
                 enType = DynamicEnvironmentCodex.ObjectTypes.AmbientFish_Big;
             }
         }
         xEn = new AmbientFish();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         string sFishType = "FishA";
         if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientFish_Big)
         {
             sFishType = "FishB";
         }
         if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientFish_Small)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 3, Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/Fishes/" + sFishType + "/Swim"), new Vector2(6f, 5f), 5, 10, 12, 9, 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>(ENVIRON_PATH + "Ambient/Fishes/" + sFishType + "/Swim"), new Vector2(6f, 5f), 5, 10, 12, 9, 0, 0, 12, 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, 3, Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/Fishes/" + sFishType + "/Turn"), new Vector2(6f, 5f), 5, 6, 11, 9, 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_7BF6_0 = xEn.xRenderComponent.dixAnimations;
             ushort arg_7BF6_1 = 3;
             ushort arg_7BF1_0 = 3;
             byte arg_7BF1_1 = 1;
             Texture2D arg_7BF1_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/Fishes/" + sFishType + "/Turn");
             Vector2 arg_7BF1_3 = new Vector2(6f, 5f);
             int arg_7BF1_4 = 5;
             int arg_7BF1_5 = 6;
             int arg_7BF1_6 = 11;
             int arg_7BF1_7 = 9;
             int arg_7BF1_8 = 0;
             int arg_7BF1_9 = 0;
             int arg_7BF1_10 = 12;
             Animation.LoopSettings arg_7BF1_11 = Animation.LoopSettings.Clamp;
             Animation.CancelOptions arg_7BF1_12 = Animation.CancelOptions.IgnoreIfPlaying;
             bool arg_7BF1_13 = true;
             bool arg_7BF1_14 = true;
             AnimationInstruction[] array = new AnimationInstruction[1];
             AnimationInstruction[] arg_7BEE_0 = array;
             int arg_7BEE_1 = 0;
             AnimInsCriteria arg_7BE9_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
             AnimInsEvent.EventType arg_7BE4_0 = AnimInsEvent.EventType.PlayAnimation;
             float[] array2 = new float[1];
             arg_7BEE_0[arg_7BEE_1] = new AnimationInstruction(arg_7BE9_0, new AnimInsEvent(arg_7BE4_0, array2));
             arg_7BF6_0.Add(arg_7BF6_1, new Animation(arg_7BF1_0, arg_7BF1_1, arg_7BF1_2, arg_7BF1_3, arg_7BF1_4, arg_7BF1_5, arg_7BF1_6, arg_7BF1_7, arg_7BF1_8, arg_7BF1_9, arg_7BF1_10, arg_7BF1_11, arg_7BF1_12, arg_7BF1_13, arg_7BF1_14, array));
             xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally;
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientFish_Big)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 3, Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/Fishes/" + sFishType + "/Swim"), new Vector2(8f, 5f), 5, 10, 16, 9, 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>(ENVIRON_PATH + "Ambient/Fishes/" + sFishType + "/Swim"), new Vector2(8f, 5f), 5, 10, 16, 9, 0, 0, 12, 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, 3, Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/Fishes/" + sFishType + "/Turn"), new Vector2(6f, 5f), 5, 6, 11, 9, 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_7DDA_0 = xEn.xRenderComponent.dixAnimations;
             ushort arg_7DDA_1 = 3;
             ushort arg_7DD5_0 = 3;
             byte arg_7DD5_1 = 1;
             Texture2D arg_7DD5_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/Fishes/" + sFishType + "/Turn");
             Vector2 arg_7DD5_3 = new Vector2(6f, 5f);
             int arg_7DD5_4 = 5;
             int arg_7DD5_5 = 6;
             int arg_7DD5_6 = 11;
             int arg_7DD5_7 = 9;
             int arg_7DD5_8 = 0;
             int arg_7DD5_9 = 0;
             int arg_7DD5_10 = 12;
             Animation.LoopSettings arg_7DD5_11 = Animation.LoopSettings.Clamp;
             Animation.CancelOptions arg_7DD5_12 = Animation.CancelOptions.IgnoreIfPlaying;
             bool arg_7DD5_13 = true;
             bool arg_7DD5_14 = true;
             AnimationInstruction[] array = new AnimationInstruction[1];
             AnimationInstruction[] arg_7DD2_0 = array;
             int arg_7DD2_1 = 0;
             AnimInsCriteria arg_7DCD_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
             AnimInsEvent.EventType arg_7DC8_0 = AnimInsEvent.EventType.PlayAnimation;
             float[] array2 = new float[1];
             arg_7DD2_0[arg_7DD2_1] = new AnimationInstruction(arg_7DCD_0, new AnimInsEvent(arg_7DC8_0, array2));
             arg_7DDA_0.Add(arg_7DDA_1, new Animation(arg_7DD5_0, arg_7DD5_1, arg_7DD5_2, arg_7DD5_3, arg_7DD5_4, arg_7DD5_5, arg_7DD5_6, arg_7DD5_7, arg_7DD5_8, arg_7DD5_9, arg_7DD5_10, arg_7DD5_11, arg_7DD5_12, arg_7DD5_13, arg_7DD5_14, array));
             xEn.xRenderComponent.dixAnimations[3].enSpriteEffect = SpriteEffects.FlipHorizontally;
         }
     }
     else if (enType >= DynamicEnvironmentCodex.ObjectTypes.AmbientBird_Brown && enType <= DynamicEnvironmentCodex.ObjectTypes.AmbientBird_White)
     {
         xEn = new AmbientBird();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.BushWhack;
         xEn.bDestroyOnHit = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         string sBirdLol = "Brown";
         if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientBird_White)
         {
             sBirdLol = "White";
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientBird_Black)
         {
             sBirdLol = "Black";
         }
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/" + sBirdLol + "Bird/Idle/Right"), new Vector2(9f, 14f), 4, 1, 21, 20, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 3, Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/" + sBirdLol + "Bird/Idle/Left"), new Vector2(13f, 14f), 4, 1, 21, 20, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_7F7C_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_7F7C_1 = 2;
         ushort arg_7F77_0 = 2;
         byte arg_7F77_1 = 1;
         Texture2D arg_7F77_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/" + sBirdLol + "Bird/Peck/Right");
         Vector2 arg_7F77_3 = new Vector2(9f, 14f);
         int arg_7F77_4 = 4;
         int arg_7F77_5 = 8;
         int arg_7F77_6 = 21;
         int arg_7F77_7 = 20;
         int arg_7F77_8 = 0;
         int arg_7F77_9 = 0;
         int arg_7F77_10 = 8;
         Animation.LoopSettings arg_7F77_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_7F77_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_7F77_13 = true;
         bool arg_7F77_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_7F74_0 = array;
         int arg_7F74_1 = 0;
         AnimInsCriteria arg_7F6F_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_7F6A_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_7F74_0[arg_7F74_1] = new AnimationInstruction(arg_7F6F_0, new AnimInsEvent(arg_7F6A_0, array2));
         arg_7F7C_0.Add(arg_7F7C_1, new Animation(arg_7F77_0, arg_7F77_1, arg_7F77_2, arg_7F77_3, arg_7F77_4, arg_7F77_5, arg_7F77_6, arg_7F77_7, arg_7F77_8, arg_7F77_9, arg_7F77_10, arg_7F77_11, arg_7F77_12, arg_7F77_13, arg_7F77_14, array));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/" + sBirdLol + "Bird/Peck/Left"), new Vector2(13f, 14f), 4, 8, 21, 20, 0, 0, 8, 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_80BC_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_80BC_1 = 4;
         ushort arg_80B7_0 = 4;
         byte arg_80B7_1 = 1;
         Texture2D arg_80B7_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/" + sBirdLol + "Bird/TakeOff/Right");
         Vector2 arg_80B7_3 = new Vector2(9f, 14f);
         int arg_80B7_4 = 4;
         int arg_80B7_5 = 4;
         int arg_80B7_6 = 21;
         int arg_80B7_7 = 20;
         int arg_80B7_8 = 0;
         int arg_80B7_9 = 0;
         int arg_80B7_10 = 8;
         Animation.LoopSettings arg_80B7_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_80B7_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_80B7_13 = false;
         bool arg_80B7_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_80B4_0 = array;
         int arg_80B4_1 = 1;
         AnimInsCriteria arg_80AF_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             2f
         });
         AnimInsEvent.EventType arg_80AA_0 = AnimInsEvent.EventType.PlaySound;
         string arg_80AA_1 = "Bird_flying_away";
         array2 = new float[1];
         arg_80B4_0[arg_80B4_1] = new AnimationInstruction(arg_80AF_0, new AnimInsEvent(arg_80AA_0, arg_80AA_1, array2));
         arg_80BC_0.Add(arg_80BC_1, new Animation(arg_80B7_0, arg_80B7_1, arg_80B7_2, arg_80B7_3, arg_80B7_4, arg_80B7_5, arg_80B7_6, arg_80B7_7, arg_80B7_8, arg_80B7_9, arg_80B7_10, arg_80B7_11, arg_80B7_12, arg_80B7_13, arg_80B7_14, array));
         Dictionary<ushort, Animation> arg_8178_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_8178_1 = 5;
         ushort arg_8173_0 = 5;
         byte arg_8173_1 = 3;
         Texture2D arg_8173_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/" + sBirdLol + "Bird/TakeOff/Left");
         Vector2 arg_8173_3 = new Vector2(13f, 14f);
         int arg_8173_4 = 4;
         int arg_8173_5 = 4;
         int arg_8173_6 = 21;
         int arg_8173_7 = 20;
         int arg_8173_8 = 0;
         int arg_8173_9 = 0;
         int arg_8173_10 = 8;
         Animation.LoopSettings arg_8173_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_8173_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_8173_13 = false;
         bool arg_8173_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_8170_0 = array;
         int arg_8170_1 = 1;
         AnimInsCriteria arg_816B_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             2f
         });
         AnimInsEvent.EventType arg_8166_0 = AnimInsEvent.EventType.PlaySound;
         string arg_8166_1 = "Bird_flying_away";
         array2 = new float[1];
         arg_8170_0[arg_8170_1] = new AnimationInstruction(arg_816B_0, new AnimInsEvent(arg_8166_0, arg_8166_1, array2));
         arg_8178_0.Add(arg_8178_1, new Animation(arg_8173_0, arg_8173_1, arg_8173_2, arg_8173_3, arg_8173_4, arg_8173_5, arg_8173_6, arg_8173_7, arg_8173_8, arg_8173_9, arg_8173_10, arg_8173_11, arg_8173_12, arg_8173_13, arg_8173_14, array));
         xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 1, Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/" + sBirdLol + "Bird/Fly/Right"), new Vector2(9f, 14f), 4, 8, 21, 20, 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>(ENVIRON_PATH + "Ambient/" + sBirdLol + "Bird/Fly/Left"), new Vector2(13f, 14f), 4, 8, 21, 20, 0, 0, 8, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         if (Program.GetTheGame().randomInVisual.Next(2) == 1)
         {
             xEn.xRenderComponent.SwitchAnimation(1, Animation.CancelOptions.IgnoreIfPlaying);
         }
     }
     else if (enType >= DynamicEnvironmentCodex.ObjectTypes.AmbientButterfly_Blue && enType <= DynamicEnvironmentCodex.ObjectTypes.AmbientButterfly_Yellow)
     {
         xEn = new AmbientButterfly();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.BushWhack;
         xEn.bDestroyOnHit = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         string sColor = "Blue";
         if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientButterfly_Green)
         {
             sColor = "Green";
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientButterfly_Pink)
         {
             sColor = "Pink";
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientButterfly_Purple)
         {
             sColor = "Purple";
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientButterfly_Yellow)
         {
             sColor = "Yellow";
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientButterfly_White)
         {
             sColor = "White";
         }
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/Butterfly/" + sColor), new Vector2(4f, 7f), 5, 6, 9, 10, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.fVirtualHeight += 10f;
     }
     else if (enType >= DynamicEnvironmentCodex.ObjectTypes.AmbientFollowButterfly_Blue && enType <= DynamicEnvironmentCodex.ObjectTypes.AmbientFollowButterfly_Yellow)
     {
         xEn = new AmbientFollowButterfly();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.BushWhack;
         xEn.bDestroyOnHit = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         string sColor2 = "Blue";
         if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientFollowButterfly_Green)
         {
             sColor2 = "Green";
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientFollowButterfly_Pink)
         {
             sColor2 = "Pink";
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientFollowButterfly_Purple)
         {
             sColor2 = "Purple";
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientFollowButterfly_Yellow)
         {
             sColor2 = "Yellow";
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientFollowButterfly_White)
         {
             sColor2 = "White";
         }
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, Content.Load<Texture2D>(ENVIRON_PATH + "Ambient/Butterfly/" + sColor2), new Vector2(4f, 7f), 5, 6, 9, 10, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.fVirtualHeight += 10f;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientFollowInsect_Level1)
     {
         xEn = new AmbientFollowInsect();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.BushWhack;
         xEn.bDestroyOnHit = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, Content.Load<Texture2D>("Sprites/Spells/Insect Swarm/Level 1-2/Down"), new Vector2(6f, 5f), 4, 2, 12, 8, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>("Sprites/Spells/Insect Swarm/Level 1-2/Right"), new Vector2(6f, 5f), 4, 2, 9, 8, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 1, Content.Load<Texture2D>("Sprites/Spells/Insect Swarm/Level 1-2/Down"), new Vector2(6f, 5f), 4, 2, 12, 8, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 1, Content.Load<Texture2D>("Sprites/Spells/Insect Swarm/Level 1-2/Right"), new Vector2(3f, 5f), 4, 2, 9, 8, 0, 0, 100, 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>("Sprites/Spells/Insect Swarm/Level 1-2/Spawn/Down"), new Vector2(6f, 5f), 4, 6, 14, 10, 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.fVirtualHeight += 10f;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.AmbientFollowInsect_Level3)
     {
         xEn = new AmbientFollowInsect();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.BushWhack;
         xEn.bDestroyOnHit = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Spells/Insect Swarm/Level 3/Up"), new Vector2(9f, 25f), 4, 2, 19, 28, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>("Sprites/Spells/Insect Swarm/Level 3/Right"), new Vector2(10f, 25f), 4, 2, 16, 28, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>("Sprites/Spells/Insect Swarm/Level 3/Down"), new Vector2(9f, 25f), 4, 2, 19, 28, 0, 0, 100, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>("Sprites/Spells/Insect Swarm/Level 3/Right"), new Vector2(6f, 25f), 4, 2, 16, 28, 0, 0, 100, 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>("Sprites/Spells/Insect Swarm/Level 3/Spawn/Right"), new Vector2(10f, 26f), 4, 6, 16, 29, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 3, Content.Load<Texture2D>("Sprites/Spells/Insect Swarm/Level 3/Spawn/Right"), new Vector2(6f, 26f), 4, 6, 16, 29, 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
             }))
         }));
         xEn.xRenderComponent.dixAnimations[5].enSpriteEffect = SpriteEffects.FlipHorizontally;
         xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 1, Content.Load<Texture2D>("Sprites/Spells/Insect Swarm/Level 3/Attack/Right"), new Vector2(11f, 24f), 4, 5, 18, 27, 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[]
             {
                 1f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 3, Content.Load<Texture2D>("Sprites/Spells/Insect Swarm/Level 3/Attack/Right"), new Vector2(7f, 24f), 4, 5, 18, 27, 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
             }))
         }));
         xEn.xRenderComponent.dixAnimations[7].enSpriteEffect = SpriteEffects.FlipHorizontally;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Emitter_ChimneySmoke)
     {
         xEn = new EffectEmitter(new _Effect_ChimneySmoke(SortedAnimated.SortedAnimatedEffects.ChimneySmoke, new Vector2(-0.75f, -0.25f), 6000, new Vector2(0f, -1f)), 50, 30);
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, RenderMaster.txNullTex, new Vector2(9f, 14f), 4, 1, 21, 20, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.bReSortHeight = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Emitter_ChimneySmokeWitch)
     {
         xEn = new EffectEmitter(new _Effect_ChimneySmoke(SortedAnimated.SortedAnimatedEffects.ChimneySmokeWitch, new Vector2(0.6f, -0.1f), 300, new Vector2(0f, -0.5f)), 50, 30);
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, RenderMaster.txNullTex, new Vector2(9f, 14f), 4, 1, 21, 20, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.bReSortHeight = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Emitter_ChimneySmokeEvergrind)
     {
         xEn = new EffectEmitter(new _Effect_ChimneySmoke(SortedAnimated.SortedAnimatedEffects.ChimneySmokeEvergrind, new Vector2(-0.4f, -0.1f), 180, new Vector2(0f, -0.4f)), 100, 80);
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, RenderMaster.txNullTex, new Vector2(9f, 14f), 4, 1, 21, 20, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.bReSortHeight = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Emitter_FallingLeaf)
     {
         xEn = new EffectEmitter(new _Effect_SnowFlakeAnimated(new Vector2(10000f, 10000f), SortedAnimated.SortedAnimatedEffects.FallingLeaf_Brown, 80f, 0.2f, 190, 0f, 40), 200, 300);
         (xEn as EffectEmitter).bDoSubSpawn = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, RenderMaster.txNullTex, new Vector2(9f, 14f), 4, 1, 21, 20, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.bReSortHeight = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Emitter_GenericRectangle)
     {
         xEn = new EffectEmitter(null, 0, 0);
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 1, RenderMaster.txNullTex, new Vector2(9f, 14f), 4, 1, 21, 20, 0, 0, 1, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.bReSortHeight = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.BasicChest)
     {
         xEn = new BasicChest();
         BasicChest xChest = xEn as BasicChest;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.Interactable;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xChest.colInteractCollider = new BoxCollider(23, 23, 0f, new Vector2(0f, 6f), xEn.xTransform, 0f, xEn);
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Chest/Chest"), new Vector2(14f, 32f), 4, 1, 27, 37, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Chest/Chest_OpenAnimation"), new Vector2(14f, 32f), 4, 5, 27, 37, 0, 0, 5, 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>(ENVIRON_PATH + "Containers/Chest/Chest_Open"), new Vector2(14f, 32f), 4, 1, 27, 37, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 10, 0f, Vector2.Zero, xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(2f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.MultiplayerChest)
     {
         xEn = new BasicChest();
         BasicChest xChest2 = xEn as BasicChest;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.Interactable;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xChest2.colInteractCollider = new BoxCollider(23, 23, 0f, new Vector2(0f, 6f), xEn.xTransform, 0f, xEn);
         xChest2.bGrantAll = true;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Chest/Chest"), new Vector2(14f, 32f), 4, 1, 27, 37, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Chest/Chest_OpenAnimation"), new Vector2(14f, 32f), 4, 5, 27, 37, 0, 0, 5, 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>(ENVIRON_PATH + "Containers/Chest/Chest_Open"), new Vector2(14f, 32f), 4, 1, 27, 37, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 10, 0f, Vector2.Zero, xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(2f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.MultiplayerChest_FlyingFortress)
     {
         xEn = new BasicChest();
         BasicChest xChest3 = xEn as BasicChest;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.Interactable;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xChest3.colInteractCollider = new BoxCollider(23, 23, 0f, new Vector2(0f, 6f), xEn.xTransform, 0f, xEn);
         xChest3.bGrantAll = true;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Chest/Chest_OpenAnimation_flying"), new Vector2(14f, 32f), 4, 1, 27, 38, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Chest/Chest_OpenAnimation_flying"), new Vector2(14f, 32f), 4, 5, 27, 38, 0, 0, 5, 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>(ENVIRON_PATH + "Containers/Chest/Chest_OpenAnimation_flying"), new Vector2(14f, 32f), 4, 1, 27, 38, 108, 0, 5, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 10, 0f, Vector2.Zero, xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(2f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.PuzzleThingy_Sprout)
     {
         xEn = new PuzzleSprout();
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         Dictionary<ushort, Animation> arg_9393_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_9393_1 = 0;
         ushort arg_938E_0 = 0;
         byte arg_938E_1 = 0;
         Texture2D arg_938E_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Misc/Sprout/Small");
         Vector2 arg_938E_3 = new Vector2(5f, 14f);
         int arg_938E_4 = 4;
         int arg_938E_5 = 11;
         int arg_938E_6 = 12;
         int arg_938E_7 = 16;
         int arg_938E_8 = 0;
         int arg_938E_9 = 0;
         int arg_938E_10 = 11;
         Animation.LoopSettings arg_938E_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_938E_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_938E_13 = true;
         bool arg_938E_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[2];
         array[0] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             11f
         }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[]
         {
             90f
         }));
         AnimationInstruction[] arg_938B_0 = array;
         int arg_938B_1 = 1;
         AnimInsCriteria arg_9386_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_9381_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_938B_0[arg_938B_1] = new AnimationInstruction(arg_9386_0, new AnimInsEvent(arg_9381_0, array2));
         arg_9393_0.Add(arg_9393_1, new Animation(arg_938E_0, arg_938E_1, arg_938E_2, arg_938E_3, arg_938E_4, arg_938E_5, arg_938E_6, arg_938E_7, arg_938E_8, arg_938E_9, arg_938E_10, arg_938E_11, arg_938E_12, arg_938E_13, arg_938E_14, array));
         Dictionary<ushort, Animation> arg_9434_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_9434_1 = 1;
         ushort arg_942F_0 = 1;
         byte arg_942F_1 = 0;
         Texture2D arg_942F_2 = Content.Load<Texture2D>(ENVIRON_PATH + "Misc/Sprout/SmallDamage");
         Vector2 arg_942F_3 = new Vector2(7f, 13f);
         int arg_942F_4 = 4;
         int arg_942F_5 = 12;
         int arg_942F_6 = 15;
         int arg_942F_7 = 15;
         int arg_942F_8 = 0;
         int arg_942F_9 = 0;
         int arg_942F_10 = 12;
         Animation.LoopSettings arg_942F_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_942F_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_942F_13 = true;
         bool arg_942F_14 = true;
         array = new AnimationInstruction[2];
         AnimationInstruction[] arg_9407_0 = array;
         int arg_9407_1 = 0;
         AnimInsCriteria arg_9402_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_93FD_0 = AnimInsEvent.EventType.PlaySound;
         string arg_93FD_1 = "Wobbly_Plant";
         array2 = new float[1];
         arg_9407_0[arg_9407_1] = new AnimationInstruction(arg_9402_0, new AnimInsEvent(arg_93FD_0, arg_93FD_1, array2));
         AnimationInstruction[] arg_942C_0 = array;
         int arg_942C_1 = 1;
         AnimInsCriteria arg_9427_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_9422_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_942C_0[arg_942C_1] = new AnimationInstruction(arg_9427_0, new AnimInsEvent(arg_9422_0, array2));
         arg_9434_0.Add(arg_9434_1, new Animation(arg_942F_0, arg_942F_1, arg_942F_2, arg_942F_3, arg_942F_4, arg_942F_5, arg_942F_6, arg_942F_7, arg_942F_8, arg_942F_9, arg_942F_10, arg_942F_11, arg_942F_12, arg_942F_13, arg_942F_14, array));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 15, 0f, Vector2.Zero, xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(2f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_SeasonChange_WaterPuzzleBlock_FyrBlock)
     {
         xEn = new SeasonChangeWaterPuzzleBlock();
         SeasonChangeWaterPuzzleBlock crate34 = xEn as SeasonChangeWaterPuzzleBlock;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/WaterPuzzle/Fyrblock"), new Vector2(0f, 12f), 4, 1, 40, 52, 0, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         crate34.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(10f, 10f), xEn.xTransform, 10000f, xEn));
         crate34.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(30f, 10f), xEn.xTransform, 10000f, xEn));
         crate34.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(10f, 30f), xEn.xTransform, 10000f, xEn));
         crate34.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(30f, 30f), xEn.xTransform, 10000f, xEn));
         for (int i = 0; i < crate34.lxColliderPieces.Count; i++)
         {
             xEn.xCollisionComponent.AddMovementCollider(crate34.lxColliderPieces[i]);
         }
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_SeasonChange_WaterPuzzleBlock_I01)
     {
         xEn = new SeasonChangeWaterPuzzleBlock();
         SeasonChangeWaterPuzzleBlock crate35 = xEn as SeasonChangeWaterPuzzleBlock;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/WaterPuzzle/I01"), new Vector2(0f, 12f), 4, 1, 20, 92, 0, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         crate35.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(10f, 10f), xEn.xTransform, 10000f, xEn));
         crate35.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(10f, 30f), xEn.xTransform, 10000f, xEn));
         crate35.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(10f, 50f), xEn.xTransform, 10000f, xEn));
         crate35.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(10f, 70f), xEn.xTransform, 10000f, xEn));
         for (int j = 0; j < crate35.lxColliderPieces.Count; j++)
         {
             xEn.xCollisionComponent.AddMovementCollider(crate35.lxColliderPieces[j]);
         }
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_SeasonChange_WaterPuzzleBlock_I02)
     {
         xEn = new SeasonChangeWaterPuzzleBlock();
         SeasonChangeWaterPuzzleBlock crate36 = xEn as SeasonChangeWaterPuzzleBlock;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/WaterPuzzle/I02"), new Vector2(0f, 11f), 4, 1, 80, 31, 0, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         crate36.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(10f, 10f), xEn.xTransform, 10000f, xEn));
         crate36.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(30f, 10f), xEn.xTransform, 10000f, xEn));
         crate36.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(50f, 10f), xEn.xTransform, 10000f, xEn));
         crate36.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(70f, 10f), xEn.xTransform, 10000f, xEn));
         for (int k = 0; k < crate36.lxColliderPieces.Count; k++)
         {
             xEn.xCollisionComponent.AddMovementCollider(crate36.lxColliderPieces[k]);
         }
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_SeasonChange_WaterPuzzleBlock_L01)
     {
         xEn = new SeasonChangeWaterPuzzleBlock();
         SeasonChangeWaterPuzzleBlock crate37 = xEn as SeasonChangeWaterPuzzleBlock;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/WaterPuzzle/L01"), new Vector2(0f, 13f), 4, 1, 40, 73, 0, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         crate37.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(10f, 10f), xEn.xTransform, 10000f, xEn));
         crate37.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(30f, 10f), xEn.xTransform, 10000f, xEn));
         crate37.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(10f, 30f), xEn.xTransform, 10000f, xEn));
         crate37.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(10f, 50f), xEn.xTransform, 10000f, xEn));
         for (int l = 0; l < crate37.lxColliderPieces.Count; l++)
         {
             xEn.xCollisionComponent.AddMovementCollider(crate37.lxColliderPieces[l]);
         }
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_SeasonChange_WaterPuzzleBlock_L02)
     {
         xEn = new SeasonChangeWaterPuzzleBlock();
         SeasonChangeWaterPuzzleBlock crate38 = xEn as SeasonChangeWaterPuzzleBlock;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/WaterPuzzle/L02"), new Vector2(0f, 12f), 4, 1, 40, 72, 0, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         crate38.xExtraRC = new AnimatedRenderComponent(xEn);
         crate38.xExtraRC.xTransform = xEn.xTransform;
         crate38.xExtraRC.v2OffsetRenderPos = new Vector2(0f, 40f);
         crate38.xExtraRC.fVirtualHeight = 40f;
         crate38.xExtraRC.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/WaterPuzzle/L02"), new Vector2(0f, 15f), 4, 1, 26, 35, 0, 37, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         crate38.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(10f, 50f), xEn.xTransform, 10000f, xEn));
         crate38.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(30f, 10f), xEn.xTransform, 10000f, xEn));
         crate38.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(30f, 30f), xEn.xTransform, 10000f, xEn));
         crate38.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(30f, 50f), xEn.xTransform, 10000f, xEn));
         for (int m = 0; m < crate38.lxColliderPieces.Count; m++)
         {
             xEn.xCollisionComponent.AddMovementCollider(crate38.lxColliderPieces[m]);
         }
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_SeasonChange_WaterPuzzleBlock_L03)
     {
         xEn = new SeasonChangeWaterPuzzleBlock();
         SeasonChangeWaterPuzzleBlock crate39 = xEn as SeasonChangeWaterPuzzleBlock;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/WaterPuzzle/L03"), new Vector2(0f, 12f), 4, 1, 40, 72, 0, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         crate39.xExtraRC = new AnimatedRenderComponent(xEn);
         crate39.xExtraRC.xTransform = xEn.xTransform;
         crate39.xExtraRC.v2OffsetRenderPos = new Vector2(0f, 40f);
         crate39.xExtraRC.fVirtualHeight = 40f;
         crate39.xExtraRC.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/WaterPuzzle/L03"), new Vector2(-13f, 15f), 4, 1, 27, 35, 13, 37, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         crate39.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(10f, 10f), xEn.xTransform, 10000f, xEn));
         crate39.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(30f, 50f), xEn.xTransform, 10000f, xEn));
         crate39.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(10f, 30f), xEn.xTransform, 10000f, xEn));
         crate39.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(10f, 50f), xEn.xTransform, 10000f, xEn));
         for (int n = 0; n < crate39.lxColliderPieces.Count; n++)
         {
             xEn.xCollisionComponent.AddMovementCollider(crate39.lxColliderPieces[n]);
         }
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_SeasonChange_WaterPuzzleBlock_L04)
     {
         xEn = new SeasonChangeWaterPuzzleBlock();
         SeasonChangeWaterPuzzleBlock crate40 = xEn as SeasonChangeWaterPuzzleBlock;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/WaterPuzzle/L04"), new Vector2(0f, 13f), 4, 1, 40, 73, 0, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         crate40.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(10f, 10f), xEn.xTransform, 10000f, xEn));
         crate40.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(30f, 10f), xEn.xTransform, 10000f, xEn));
         crate40.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(30f, 30f), xEn.xTransform, 10000f, xEn));
         crate40.lxColliderPieces.Add(new BoxCollider(20, 20, 0f, new Vector2(30f, 50f), xEn.xTransform, 10000f, xEn));
         for (int i2 = 0; i2 < crate40.lxColliderPieces.Count; i2++)
         {
             xEn.xCollisionComponent.AddMovementCollider(crate40.lxColliderPieces[i2]);
         }
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_SeasonChangeOrb_Autumn || enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_SeasonChangeOrb_Summer || enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_SeasonChangeOrb_Winter || enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_SeasonChangeOrb_Dead)
     {
         xEn = new SeasonChangeOrb();
         SeasonChangeOrb crate41 = xEn as SeasonChangeOrb;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         string sPath;
         if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_SeasonChangeOrb_Autumn)
         {
             crate41.enChangeTo = RenderMaster.PlayfieldRenderPass.Season_Fall;
             sPath = "Fall";
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_SeasonChangeOrb_Summer)
         {
             crate41.enChangeTo = RenderMaster.PlayfieldRenderPass.Season_Summer;
             sPath = "Summer";
         }
         else if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_SeasonChangeOrb_Winter)
         {
             crate41.enChangeTo = RenderMaster.PlayfieldRenderPass.Season_Winter;
             sPath = "Winter";
         }
         else
         {
             crate41.enChangeTo = RenderMaster.PlayfieldRenderPass.Standard;
             sPath = "Dead";
         }
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/" + sPath + "/Idle"), new Vector2(13f, 21f), 4, 1, 27, 30, 0, 0, 12, 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[]
             {
                 2f
             }))
         }));
         Dictionary<ushort, Animation> arg_A241_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_A241_1 = 1;
         ushort arg_A23C_0 = 1;
         byte arg_A23C_1 = 0;
         Texture2D arg_A23C_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/" + sPath + "/Hit");
         Vector2 arg_A23C_3 = new Vector2(13f, 21f);
         int arg_A23C_4 = 4;
         int arg_A23C_5 = 3;
         int arg_A23C_6 = 27;
         int arg_A23C_7 = 30;
         int arg_A23C_8 = 0;
         int arg_A23C_9 = 0;
         int arg_A23C_10 = 12;
         Animation.LoopSettings arg_A23C_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_A23C_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_A23C_13 = true;
         bool arg_A23C_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_A239_0 = array;
         int arg_A239_1 = 0;
         AnimInsCriteria arg_A234_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_A22F_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_A239_0[arg_A239_1] = new AnimationInstruction(arg_A234_0, new AnimInsEvent(arg_A22F_0, array2));
         arg_A241_0.Add(arg_A241_1, new Animation(arg_A23C_0, arg_A23C_1, arg_A23C_2, arg_A23C_3, arg_A23C_4, arg_A23C_5, arg_A23C_6, arg_A23C_7, arg_A23C_8, arg_A23C_9, arg_A23C_10, arg_A23C_11, arg_A23C_12, arg_A23C_13, arg_A23C_14, array));
         Dictionary<ushort, Animation> arg_A2BC_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_A2BC_1 = 2;
         ushort arg_A2B7_0 = 2;
         byte arg_A2B7_1 = 0;
         Texture2D arg_A2B7_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/" + sPath + "/Idle");
         Vector2 arg_A2B7_3 = new Vector2(13f, 21f);
         int arg_A2B7_4 = 4;
         int arg_A2B7_5 = 6;
         int arg_A2B7_6 = 27;
         int arg_A2B7_7 = 30;
         int arg_A2B7_8 = 0;
         int arg_A2B7_9 = 0;
         int arg_A2B7_10 = 12;
         Animation.LoopSettings arg_A2B7_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_A2B7_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_A2B7_13 = true;
         bool arg_A2B7_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_A2B4_0 = array;
         int arg_A2B4_1 = 0;
         AnimInsCriteria arg_A2AF_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_A2AA_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_A2B4_0[arg_A2B4_1] = new AnimationInstruction(arg_A2AF_0, new AnimInsEvent(arg_A2AA_0, array2));
         arg_A2BC_0.Add(arg_A2BC_1, new Animation(arg_A2B7_0, arg_A2B7_1, arg_A2B7_2, arg_A2B7_3, arg_A2B7_4, arg_A2B7_5, arg_A2B7_6, arg_A2B7_7, arg_A2B7_8, arg_A2B7_9, arg_A2B7_10, arg_A2B7_11, arg_A2B7_12, arg_A2B7_13, arg_A2B7_14, array));
         sPath = "Summer";
         xEn.xRenderComponent.dixAnimations.Add(10, new Animation(10, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/" + sPath + "/Idle"), new Vector2(13f, 21f), 4, 1, 27, 30, 0, 0, 12, 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[]
             {
                 2f
             }))
         }));
         Dictionary<ushort, Animation> arg_A402_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_A402_1 = 11;
         ushort arg_A3FD_0 = 11;
         byte arg_A3FD_1 = 0;
         Texture2D arg_A3FD_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/" + sPath + "/Hit");
         Vector2 arg_A3FD_3 = new Vector2(13f, 21f);
         int arg_A3FD_4 = 4;
         int arg_A3FD_5 = 3;
         int arg_A3FD_6 = 27;
         int arg_A3FD_7 = 30;
         int arg_A3FD_8 = 0;
         int arg_A3FD_9 = 0;
         int arg_A3FD_10 = 12;
         Animation.LoopSettings arg_A3FD_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_A3FD_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_A3FD_13 = true;
         bool arg_A3FD_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_A3FA_0 = array;
         int arg_A3FA_1 = 0;
         AnimInsCriteria arg_A3F5_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_A3F0_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_A3FA_0[arg_A3FA_1] = new AnimationInstruction(arg_A3F5_0, new AnimInsEvent(arg_A3F0_0, array2));
         arg_A402_0.Add(arg_A402_1, new Animation(arg_A3FD_0, arg_A3FD_1, arg_A3FD_2, arg_A3FD_3, arg_A3FD_4, arg_A3FD_5, arg_A3FD_6, arg_A3FD_7, arg_A3FD_8, arg_A3FD_9, arg_A3FD_10, arg_A3FD_11, arg_A3FD_12, arg_A3FD_13, arg_A3FD_14, array));
         Dictionary<ushort, Animation> arg_A47F_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_A47F_1 = 12;
         ushort arg_A47A_0 = 12;
         byte arg_A47A_1 = 0;
         Texture2D arg_A47A_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/" + sPath + "/Idle");
         Vector2 arg_A47A_3 = new Vector2(13f, 21f);
         int arg_A47A_4 = 4;
         int arg_A47A_5 = 6;
         int arg_A47A_6 = 27;
         int arg_A47A_7 = 30;
         int arg_A47A_8 = 0;
         int arg_A47A_9 = 0;
         int arg_A47A_10 = 12;
         Animation.LoopSettings arg_A47A_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_A47A_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_A47A_13 = true;
         bool arg_A47A_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_A477_0 = array;
         int arg_A477_1 = 0;
         AnimInsCriteria arg_A472_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_A46D_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_A477_0[arg_A477_1] = new AnimationInstruction(arg_A472_0, new AnimInsEvent(arg_A46D_0, array2));
         arg_A47F_0.Add(arg_A47F_1, new Animation(arg_A47A_0, arg_A47A_1, arg_A47A_2, arg_A47A_3, arg_A47A_4, arg_A47A_5, arg_A47A_6, arg_A47A_7, arg_A47A_8, arg_A47A_9, arg_A47A_10, arg_A47A_11, arg_A47A_12, arg_A47A_13, arg_A47A_14, array));
         Dictionary<ushort, Animation> arg_A4F8_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_A4F8_1 = 13;
         ushort arg_A4F3_0 = 13;
         byte arg_A4F3_1 = 0;
         Texture2D arg_A4F3_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/Dead/Start" + sPath);
         Vector2 arg_A4F3_3 = new Vector2(13f, 21f);
         int arg_A4F3_4 = 4;
         int arg_A4F3_5 = 10;
         int arg_A4F3_6 = 27;
         int arg_A4F3_7 = 30;
         int arg_A4F3_8 = 0;
         int arg_A4F3_9 = 0;
         int arg_A4F3_10 = 12;
         Animation.LoopSettings arg_A4F3_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_A4F3_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_A4F3_13 = true;
         bool arg_A4F3_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_A4F0_0 = array;
         int arg_A4F0_1 = 0;
         AnimInsCriteria arg_A4EB_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_A4E6_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_A4F0_0[arg_A4F0_1] = new AnimationInstruction(arg_A4EB_0, new AnimInsEvent(arg_A4E6_0, array2));
         arg_A4F8_0.Add(arg_A4F8_1, new Animation(arg_A4F3_0, arg_A4F3_1, arg_A4F3_2, arg_A4F3_3, arg_A4F3_4, arg_A4F3_5, arg_A4F3_6, arg_A4F3_7, arg_A4F3_8, arg_A4F3_9, arg_A4F3_10, arg_A4F3_11, arg_A4F3_12, arg_A4F3_13, arg_A4F3_14, array));
         Dictionary<ushort, Animation> arg_A571_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_A571_1 = 43;
         ushort arg_A56C_0 = 43;
         byte arg_A56C_1 = 0;
         Texture2D arg_A56C_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/Dead/Start" + sPath);
         Vector2 arg_A56C_3 = new Vector2(13f, 21f);
         int arg_A56C_4 = 4;
         int arg_A56C_5 = 10;
         int arg_A56C_6 = 27;
         int arg_A56C_7 = 30;
         int arg_A56C_8 = 0;
         int arg_A56C_9 = 0;
         int arg_A56C_10 = 12;
         Animation.LoopSettings arg_A56C_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_A56C_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_A56C_13 = true;
         bool arg_A56C_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_A569_0 = array;
         int arg_A569_1 = 0;
         AnimInsCriteria arg_A564_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_A55F_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_A569_0[arg_A569_1] = new AnimationInstruction(arg_A564_0, new AnimInsEvent(arg_A55F_0, array2));
         arg_A571_0.Add(arg_A571_1, new Animation(arg_A56C_0, arg_A56C_1, arg_A56C_2, arg_A56C_3, arg_A56C_4, arg_A56C_5, arg_A56C_6, arg_A56C_7, arg_A56C_8, arg_A56C_9, arg_A56C_10, arg_A56C_11, arg_A56C_12, arg_A56C_13, arg_A56C_14, array));
         xEn.xRenderComponent.dixAnimations[43].bReversePlayback = true;
         sPath = "Fall";
         xEn.xRenderComponent.dixAnimations.Add(20, new Animation(20, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/" + sPath + "/Idle"), new Vector2(13f, 21f), 4, 1, 27, 30, 0, 0, 12, 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[]
             {
                 2f
             }))
         }));
         Dictionary<ushort, Animation> arg_A6CF_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_A6CF_1 = 21;
         ushort arg_A6CA_0 = 21;
         byte arg_A6CA_1 = 0;
         Texture2D arg_A6CA_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/" + sPath + "/Hit");
         Vector2 arg_A6CA_3 = new Vector2(13f, 21f);
         int arg_A6CA_4 = 4;
         int arg_A6CA_5 = 3;
         int arg_A6CA_6 = 27;
         int arg_A6CA_7 = 30;
         int arg_A6CA_8 = 0;
         int arg_A6CA_9 = 0;
         int arg_A6CA_10 = 12;
         Animation.LoopSettings arg_A6CA_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_A6CA_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_A6CA_13 = true;
         bool arg_A6CA_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_A6C7_0 = array;
         int arg_A6C7_1 = 0;
         AnimInsCriteria arg_A6C2_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_A6BD_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_A6C7_0[arg_A6C7_1] = new AnimationInstruction(arg_A6C2_0, new AnimInsEvent(arg_A6BD_0, array2));
         arg_A6CF_0.Add(arg_A6CF_1, new Animation(arg_A6CA_0, arg_A6CA_1, arg_A6CA_2, arg_A6CA_3, arg_A6CA_4, arg_A6CA_5, arg_A6CA_6, arg_A6CA_7, arg_A6CA_8, arg_A6CA_9, arg_A6CA_10, arg_A6CA_11, arg_A6CA_12, arg_A6CA_13, arg_A6CA_14, array));
         Dictionary<ushort, Animation> arg_A74C_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_A74C_1 = 22;
         ushort arg_A747_0 = 22;
         byte arg_A747_1 = 0;
         Texture2D arg_A747_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/" + sPath + "/Idle");
         Vector2 arg_A747_3 = new Vector2(13f, 21f);
         int arg_A747_4 = 4;
         int arg_A747_5 = 6;
         int arg_A747_6 = 27;
         int arg_A747_7 = 30;
         int arg_A747_8 = 0;
         int arg_A747_9 = 0;
         int arg_A747_10 = 12;
         Animation.LoopSettings arg_A747_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_A747_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_A747_13 = true;
         bool arg_A747_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_A744_0 = array;
         int arg_A744_1 = 0;
         AnimInsCriteria arg_A73F_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_A73A_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_A744_0[arg_A744_1] = new AnimationInstruction(arg_A73F_0, new AnimInsEvent(arg_A73A_0, array2));
         arg_A74C_0.Add(arg_A74C_1, new Animation(arg_A747_0, arg_A747_1, arg_A747_2, arg_A747_3, arg_A747_4, arg_A747_5, arg_A747_6, arg_A747_7, arg_A747_8, arg_A747_9, arg_A747_10, arg_A747_11, arg_A747_12, arg_A747_13, arg_A747_14, array));
         Dictionary<ushort, Animation> arg_A7C5_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_A7C5_1 = 23;
         ushort arg_A7C0_0 = 23;
         byte arg_A7C0_1 = 0;
         Texture2D arg_A7C0_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/Dead/Start" + sPath);
         Vector2 arg_A7C0_3 = new Vector2(13f, 21f);
         int arg_A7C0_4 = 4;
         int arg_A7C0_5 = 10;
         int arg_A7C0_6 = 27;
         int arg_A7C0_7 = 30;
         int arg_A7C0_8 = 0;
         int arg_A7C0_9 = 0;
         int arg_A7C0_10 = 12;
         Animation.LoopSettings arg_A7C0_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_A7C0_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_A7C0_13 = true;
         bool arg_A7C0_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_A7BD_0 = array;
         int arg_A7BD_1 = 0;
         AnimInsCriteria arg_A7B8_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_A7B3_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_A7BD_0[arg_A7BD_1] = new AnimationInstruction(arg_A7B8_0, new AnimInsEvent(arg_A7B3_0, array2));
         arg_A7C5_0.Add(arg_A7C5_1, new Animation(arg_A7C0_0, arg_A7C0_1, arg_A7C0_2, arg_A7C0_3, arg_A7C0_4, arg_A7C0_5, arg_A7C0_6, arg_A7C0_7, arg_A7C0_8, arg_A7C0_9, arg_A7C0_10, arg_A7C0_11, arg_A7C0_12, arg_A7C0_13, arg_A7C0_14, array));
         Dictionary<ushort, Animation> arg_A83E_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_A83E_1 = 44;
         ushort arg_A839_0 = 44;
         byte arg_A839_1 = 0;
         Texture2D arg_A839_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/Dead/Start" + sPath);
         Vector2 arg_A839_3 = new Vector2(13f, 21f);
         int arg_A839_4 = 4;
         int arg_A839_5 = 10;
         int arg_A839_6 = 27;
         int arg_A839_7 = 30;
         int arg_A839_8 = 0;
         int arg_A839_9 = 0;
         int arg_A839_10 = 12;
         Animation.LoopSettings arg_A839_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_A839_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_A839_13 = true;
         bool arg_A839_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_A836_0 = array;
         int arg_A836_1 = 0;
         AnimInsCriteria arg_A831_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_A82C_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_A836_0[arg_A836_1] = new AnimationInstruction(arg_A831_0, new AnimInsEvent(arg_A82C_0, array2));
         arg_A83E_0.Add(arg_A83E_1, new Animation(arg_A839_0, arg_A839_1, arg_A839_2, arg_A839_3, arg_A839_4, arg_A839_5, arg_A839_6, arg_A839_7, arg_A839_8, arg_A839_9, arg_A839_10, arg_A839_11, arg_A839_12, arg_A839_13, arg_A839_14, array));
         xEn.xRenderComponent.dixAnimations[44].bReversePlayback = true;
         sPath = "Winter";
         xEn.xRenderComponent.dixAnimations.Add(30, new Animation(30, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/" + sPath + "/Idle"), new Vector2(13f, 21f), 4, 1, 27, 30, 0, 0, 12, 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[]
             {
                 2f
             }))
         }));
         Dictionary<ushort, Animation> arg_A99C_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_A99C_1 = 31;
         ushort arg_A997_0 = 31;
         byte arg_A997_1 = 0;
         Texture2D arg_A997_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/" + sPath + "/Hit");
         Vector2 arg_A997_3 = new Vector2(13f, 21f);
         int arg_A997_4 = 4;
         int arg_A997_5 = 3;
         int arg_A997_6 = 27;
         int arg_A997_7 = 30;
         int arg_A997_8 = 0;
         int arg_A997_9 = 0;
         int arg_A997_10 = 12;
         Animation.LoopSettings arg_A997_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_A997_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_A997_13 = true;
         bool arg_A997_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_A994_0 = array;
         int arg_A994_1 = 0;
         AnimInsCriteria arg_A98F_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_A98A_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_A994_0[arg_A994_1] = new AnimationInstruction(arg_A98F_0, new AnimInsEvent(arg_A98A_0, array2));
         arg_A99C_0.Add(arg_A99C_1, new Animation(arg_A997_0, arg_A997_1, arg_A997_2, arg_A997_3, arg_A997_4, arg_A997_5, arg_A997_6, arg_A997_7, arg_A997_8, arg_A997_9, arg_A997_10, arg_A997_11, arg_A997_12, arg_A997_13, arg_A997_14, array));
         Dictionary<ushort, Animation> arg_AA19_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_AA19_1 = 32;
         ushort arg_AA14_0 = 32;
         byte arg_AA14_1 = 0;
         Texture2D arg_AA14_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/" + sPath + "/Idle");
         Vector2 arg_AA14_3 = new Vector2(13f, 21f);
         int arg_AA14_4 = 4;
         int arg_AA14_5 = 6;
         int arg_AA14_6 = 27;
         int arg_AA14_7 = 30;
         int arg_AA14_8 = 0;
         int arg_AA14_9 = 0;
         int arg_AA14_10 = 12;
         Animation.LoopSettings arg_AA14_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_AA14_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_AA14_13 = true;
         bool arg_AA14_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_AA11_0 = array;
         int arg_AA11_1 = 0;
         AnimInsCriteria arg_AA0C_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_AA07_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_AA11_0[arg_AA11_1] = new AnimationInstruction(arg_AA0C_0, new AnimInsEvent(arg_AA07_0, array2));
         arg_AA19_0.Add(arg_AA19_1, new Animation(arg_AA14_0, arg_AA14_1, arg_AA14_2, arg_AA14_3, arg_AA14_4, arg_AA14_5, arg_AA14_6, arg_AA14_7, arg_AA14_8, arg_AA14_9, arg_AA14_10, arg_AA14_11, arg_AA14_12, arg_AA14_13, arg_AA14_14, array));
         Dictionary<ushort, Animation> arg_AA92_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_AA92_1 = 33;
         ushort arg_AA8D_0 = 33;
         byte arg_AA8D_1 = 0;
         Texture2D arg_AA8D_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/Dead/Start" + sPath);
         Vector2 arg_AA8D_3 = new Vector2(13f, 21f);
         int arg_AA8D_4 = 4;
         int arg_AA8D_5 = 10;
         int arg_AA8D_6 = 27;
         int arg_AA8D_7 = 30;
         int arg_AA8D_8 = 0;
         int arg_AA8D_9 = 0;
         int arg_AA8D_10 = 12;
         Animation.LoopSettings arg_AA8D_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_AA8D_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_AA8D_13 = true;
         bool arg_AA8D_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_AA8A_0 = array;
         int arg_AA8A_1 = 0;
         AnimInsCriteria arg_AA85_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_AA80_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_AA8A_0[arg_AA8A_1] = new AnimationInstruction(arg_AA85_0, new AnimInsEvent(arg_AA80_0, array2));
         arg_AA92_0.Add(arg_AA92_1, new Animation(arg_AA8D_0, arg_AA8D_1, arg_AA8D_2, arg_AA8D_3, arg_AA8D_4, arg_AA8D_5, arg_AA8D_6, arg_AA8D_7, arg_AA8D_8, arg_AA8D_9, arg_AA8D_10, arg_AA8D_11, arg_AA8D_12, arg_AA8D_13, arg_AA8D_14, array));
         Dictionary<ushort, Animation> arg_AB0B_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_AB0B_1 = 45;
         ushort arg_AB06_0 = 45;
         byte arg_AB06_1 = 0;
         Texture2D arg_AB06_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/Dead/Start" + sPath);
         Vector2 arg_AB06_3 = new Vector2(13f, 21f);
         int arg_AB06_4 = 4;
         int arg_AB06_5 = 10;
         int arg_AB06_6 = 27;
         int arg_AB06_7 = 30;
         int arg_AB06_8 = 0;
         int arg_AB06_9 = 0;
         int arg_AB06_10 = 12;
         Animation.LoopSettings arg_AB06_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_AB06_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_AB06_13 = true;
         bool arg_AB06_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_AB03_0 = array;
         int arg_AB03_1 = 0;
         AnimInsCriteria arg_AAFE_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_AAF9_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_AB03_0[arg_AB03_1] = new AnimationInstruction(arg_AAFE_0, new AnimInsEvent(arg_AAF9_0, array2));
         arg_AB0B_0.Add(arg_AB0B_1, new Animation(arg_AB06_0, arg_AB06_1, arg_AB06_2, arg_AB06_3, arg_AB06_4, arg_AB06_5, arg_AB06_6, arg_AB06_7, arg_AB06_8, arg_AB06_9, arg_AB06_10, arg_AB06_11, arg_AB06_12, arg_AB06_13, arg_AB06_14, array));
         xEn.xRenderComponent.dixAnimations[45].bReversePlayback = true;
         sPath = "Dead";
         xEn.xRenderComponent.dixAnimations.Add(40, new Animation(40, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/" + sPath + "/Idle"), new Vector2(13f, 21f), 4, 1, 27, 30, 0, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_ABFB_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_ABFB_1 = 41;
         ushort arg_ABF6_0 = 41;
         byte arg_ABF6_1 = 0;
         Texture2D arg_ABF6_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/" + sPath + "/Hit");
         Vector2 arg_ABF6_3 = new Vector2(13f, 21f);
         int arg_ABF6_4 = 4;
         int arg_ABF6_5 = 3;
         int arg_ABF6_6 = 27;
         int arg_ABF6_7 = 30;
         int arg_ABF6_8 = 0;
         int arg_ABF6_9 = 0;
         int arg_ABF6_10 = 12;
         Animation.LoopSettings arg_ABF6_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_ABF6_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_ABF6_13 = true;
         bool arg_ABF6_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_ABF3_0 = array;
         int arg_ABF3_1 = 0;
         AnimInsCriteria arg_ABEE_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_ABE9_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_ABF3_0[arg_ABF3_1] = new AnimationInstruction(arg_ABEE_0, new AnimInsEvent(arg_ABE9_0, array2));
         arg_ABFB_0.Add(arg_ABFB_1, new Animation(arg_ABF6_0, arg_ABF6_1, arg_ABF6_2, arg_ABF6_3, arg_ABF6_4, arg_ABF6_5, arg_ABF6_6, arg_ABF6_7, arg_ABF6_8, arg_ABF6_9, arg_ABF6_10, arg_ABF6_11, arg_ABF6_12, arg_ABF6_13, arg_ABF6_14, array));
         Dictionary<ushort, Animation> arg_AC78_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_AC78_1 = 42;
         ushort arg_AC73_0 = 42;
         byte arg_AC73_1 = 0;
         Texture2D arg_AC73_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/" + sPath + "/Idle");
         Vector2 arg_AC73_3 = new Vector2(13f, 21f);
         int arg_AC73_4 = 4;
         int arg_AC73_5 = 1;
         int arg_AC73_6 = 27;
         int arg_AC73_7 = 30;
         int arg_AC73_8 = 0;
         int arg_AC73_9 = 0;
         int arg_AC73_10 = 12;
         Animation.LoopSettings arg_AC73_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_AC73_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_AC73_13 = true;
         bool arg_AC73_14 = true;
         array = new AnimationInstruction[1];
         AnimationInstruction[] arg_AC70_0 = array;
         int arg_AC70_1 = 0;
         AnimInsCriteria arg_AC6B_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_AC66_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_AC70_0[arg_AC70_1] = new AnimationInstruction(arg_AC6B_0, new AnimInsEvent(arg_AC66_0, array2));
         arg_AC78_0.Add(arg_AC78_1, new Animation(arg_AC73_0, arg_AC73_1, arg_AC73_2, arg_AC73_3, arg_AC73_4, arg_AC73_5, arg_AC73_6, arg_AC73_7, arg_AC73_8, arg_AC73_9, arg_AC73_10, arg_AC73_11, arg_AC73_12, arg_AC73_13, arg_AC73_14, array));
         Dictionary<ushort, Animation> arg_AD1E_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_AD1E_1 = 50;
         ushort arg_AD19_0 = 50;
         byte arg_AD19_1 = 0;
         Texture2D arg_AD19_2 = Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/Dead/Explode");
         Vector2 arg_AD19_3 = new Vector2(34f, 41f);
         int arg_AD19_4 = 4;
         int arg_AD19_5 = 12;
         int arg_AD19_6 = 69;
         int arg_AD19_7 = 66;
         int arg_AD19_8 = 0;
         int arg_AD19_9 = 0;
         int arg_AD19_10 = 12;
         Animation.LoopSettings arg_AD19_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_AD19_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_AD19_13 = true;
         bool arg_AD19_14 = true;
         array = new AnimationInstruction[2];
         AnimationInstruction[] arg_ACE8_0 = array;
         int arg_ACE8_1 = 0;
         AnimInsCriteria arg_ACE3_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_ACDE_0 = AnimInsEvent.EventType.PlaySound;
         string arg_ACDE_1 = "Explode2a";
         array2 = new float[1];
         arg_ACE8_0[arg_ACE8_1] = new AnimationInstruction(arg_ACE3_0, new AnimInsEvent(arg_ACDE_0, arg_ACDE_1, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             51f
         }));
         arg_AD1E_0.Add(arg_AD1E_1, new Animation(arg_AD19_0, arg_AD19_1, arg_AD19_2, arg_AD19_3, arg_AD19_4, arg_AD19_5, arg_AD19_6, arg_AD19_7, arg_AD19_8, arg_AD19_9, arg_AD19_10, arg_AD19_11, arg_AD19_12, arg_AD19_13, arg_AD19_14, array));
         xEn.xRenderComponent.dixAnimations.Add(51, new Animation(51, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Orbs/Dead/Explode"), new Vector2(34f, 41f), 4, 1, 69, 66, 759, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_SeasonChangeOrb_Dead)
         {
             xEn.xRenderComponent.dixAnimations[0] = xEn.xRenderComponent.dixAnimations[40];
             xEn.xRenderComponent.dixAnimations[1] = xEn.xRenderComponent.dixAnimations[41];
             xEn.xRenderComponent.dixAnimations[2] = xEn.xRenderComponent.dixAnimations[42];
         }
         xEn.xCollisionComponent.xMovementCollider = new SphereCollider(13f, new Vector2(0f, 0f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(10f, new Vector2(0f, 0f), xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.RegionKey)
     {
         xEn = new RegionKey();
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Puzzles/Misc/Key"), new Vector2(5f, 13f), 4, 1, 9, 16, 0, 0, 11, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.RegionKeyInChest_FlyingTemple)
     {
         xEn = new RegionKeyChest();
         RegionKeyChest xChest4 = xEn as RegionKeyChest;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.Interactable;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xChest4.colInteractCollider = new BoxCollider(23, 23, 0f, new Vector2(0f, 6f), xEn.xTransform, 0f, xEn);
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Chest/Chest_OpenAnimation_flying"), new Vector2(14f, 32f), 4, 1, 27, 38, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Containers/Chest/Chest_OpenAnimation_flying"), new Vector2(14f, 32f), 4, 5, 27, 38, 0, 0, 5, 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>(ENVIRON_PATH + "Containers/Chest/Chest_OpenAnimation_flying"), new Vector2(14f, 32f), 4, 1, 27, 38, 108, 0, 5, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 10, 0f, Vector2.Zero, xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(2f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.BowGame_Target)
     {
         xEn = new DE_BowgameTarget();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bDestroyOnHit = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("GUI/MiniGames/Bow Minigame/TargetGreen"), new Vector2(17f, 27f), 4, 1, 33, 32, 0, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>("GUI/MiniGames/Bow Minigame/TargetGreen"), new Vector2(17f, 27f), 4, 6, 33, 32, 33, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>("GUI/MiniGames/Bow Minigame/TargetRed"), new Vector2(17f, 27f), 4, 1, 33, 32, 0, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 0, Content.Load<Texture2D>("GUI/MiniGames/Bow Minigame/TargetRed"), new Vector2(17f, 27f), 4, 6, 33, 32, 33, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>("GUI/MiniGames/Bow Minigame/TargetBlue"), new Vector2(17f, 27f), 4, 1, 33, 32, 0, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 0, Content.Load<Texture2D>("GUI/MiniGames/Bow Minigame/TargetBlue"), new Vector2(17f, 27f), 4, 6, 33, 32, 33, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 0, Content.Load<Texture2D>("GUI/MiniGames/Bow Minigame/TargetMoveBee"), new Vector2(17f, 42f), 4, 11, 33, 47, 0, 0, 12, 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[]
             {
                 14f
             })),
             new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
             {
                 7f
             }), new AnimInsEvent(AnimInsEvent.EventType.FreezeFrame, new float[]
             {
                 14f
             })),
             new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
             {
                 6f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 0, Content.Load<Texture2D>("GUI/MiniGames/Bow Minigame/TargetBee"), new Vector2(17f, 27f), 4, 6, 33, 32, 33, 0, 12, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(24, 14, 0f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Quest_SuperChickenCoop)
     {
         xEn = new SuperChickenCoop();
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Environment/Buildings/Village/Chickencoop/Bounce"), new Vector2(36f, 62f), 4, 1, 74, 74, 444, 0, 11, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_B52A_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_B52A_1 = 1;
         ushort arg_B525_0 = 1;
         byte arg_B525_1 = 0;
         Texture2D arg_B525_2 = Content.Load<Texture2D>("Sprites/Environment/Buildings/Village/Chickencoop/Bounce");
         Vector2 arg_B525_3 = new Vector2(36f, 62f);
         int arg_B525_4 = 4;
         int arg_B525_5 = 7;
         int arg_B525_6 = 74;
         int arg_B525_7 = 74;
         int arg_B525_8 = 0;
         int arg_B525_9 = 0;
         int arg_B525_10 = 11;
         Animation.LoopSettings arg_B525_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_B525_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_B525_13 = true;
         bool arg_B525_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_B522_0 = array;
         int arg_B522_1 = 0;
         AnimInsCriteria arg_B51D_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_B518_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_B522_0[arg_B522_1] = new AnimationInstruction(arg_B51D_0, new AnimInsEvent(arg_B518_0, array2));
         arg_B52A_0.Add(arg_B52A_1, new Animation(arg_B525_0, arg_B525_1, arg_B525_2, arg_B525_3, arg_B525_4, arg_B525_5, arg_B525_6, arg_B525_7, arg_B525_8, arg_B525_9, arg_B525_10, arg_B525_11, arg_B525_12, arg_B525_13, arg_B525_14, array));
         xEn.xRenderComponent.SwitchAnimation(0, Animation.CancelOptions.IgnoreIfPlaying);
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(39, 28, 0f, new Vector2(0f, -7f), xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         SortedAnimated xChickenSpin = new SortedAnimated(xEn.xTransform.v2Pos + new Vector2(0f, -50f), SortedAnimated.SortedAnimatedEffects.None);
         xChickenSpin.xRenderComponent.xTransform = xEn.xTransform;
         xChickenSpin.xRenderComponent.v2OffsetRenderPos = new Vector2(0f, -50f);
         AnimatedRenderComponent.SetAndSwitch(xChickenSpin.xRenderComponent as AnimatedRenderComponent, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Environment/Buildings/Village/ChickenHouseSpin"), new Vector2(12f, 24f), 5, 14, 23, 27, 0, 0, 14, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xChickenSpin.xRenderComponent.fVirtualHeight = 2f;
         Program.GetTheGame()._EffectMaster_AddEffect(xChickenSpin);
         (xEn as SuperChickenCoop).xMossan = xChickenSpin;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Quest_BreakableRockWestFields)
     {
         xEn = new Unique_BreakableRockWestField();
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Bkg/Zone012_EvergrindWest/RockBreak"), new Vector2(49f, 33f), 4, 1, 92, 62, 0, 0, 11, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.SwitchAnimation(0, Animation.CancelOptions.IgnoreIfPlaying);
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(47, 22, 0f, new Vector2(-2f, -6f), xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(47, 22, 0f, new Vector2(-2f, -6f), xEn.xTransform, 10000f, xEn), Collider.ColliderLayers.DynamicEnvironment);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.FieldsSouth_ArrowInShield)
     {
         xEn = new Unique_ArrowShieldSouthField();
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, RenderMaster.txNullTex, new Vector2(49f, 33f), 4, 1, 92, 62, 0, 0, 11, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.SwitchAnimation(0, Animation.CancelOptions.IgnoreIfPlaying);
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(47, 22, 0f, new Vector2(-2f, -6f), xEn.xTransform, 10000f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(10, 16, 0f, new Vector2(0f, -5f), xEn.xTransform, 10000f, xEn), Collider.ColliderLayers.DynamicEnvironment);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.NeutralPuzzleBox)
     {
         xEn = new PuzzleBox();
         xEn = (xEn as PuzzleBox);
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Puzzles/Blocks/DefaultBlock"), new Vector2(10f, 17f), 4, 1, 20, 25, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 15, 0f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.NeutralPuzzleBox_ToyFactory)
     {
         xEn = new PuzzleBox();
         xEn = (xEn as PuzzleBox);
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Puzzles/Blocks/ToyFactory/DefaultBlock"), new Vector2(10f, 17f), 4, 1, 20, 25, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 15, 0f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.MirrorBlockBLTR)
     {
         xEn = new PuzzleBox();
         PuzzleBox xPuz = xEn as PuzzleBox;
         xPuz.byMirrorDirection = 0;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Puzzles/Blocks/MirrorBlockB"), new Vector2(10f, 25f), 4, 1, 20, 33, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_BB3E_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_BB3E_1 = 1;
         ushort arg_BB39_0 = 1;
         byte arg_BB39_1 = 0;
         Texture2D arg_BB39_2 = Content.Load<Texture2D>("Sprites/Puzzles/Blocks/MirrorBlockB");
         Vector2 arg_BB39_3 = new Vector2(10f, 25f);
         int arg_BB39_4 = 4;
         int arg_BB39_5 = 8;
         int arg_BB39_6 = 20;
         int arg_BB39_7 = 33;
         int arg_BB39_8 = 0;
         int arg_BB39_9 = 0;
         int arg_BB39_10 = 10;
         Animation.LoopSettings arg_BB39_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_BB39_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_BB39_13 = true;
         bool arg_BB39_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_BB36_0 = array;
         int arg_BB36_1 = 0;
         AnimInsCriteria arg_BB31_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_BB2C_0 = AnimInsEvent.EventType.PlaySound;
         string arg_BB2C_1 = "mirror_bounce";
         float[] array2 = new float[1];
         arg_BB36_0[arg_BB36_1] = new AnimationInstruction(arg_BB31_0, new AnimInsEvent(arg_BB2C_0, arg_BB2C_1, array2));
         arg_BB3E_0.Add(arg_BB3E_1, new Animation(arg_BB39_0, arg_BB39_1, arg_BB39_2, arg_BB39_3, arg_BB39_4, arg_BB39_5, arg_BB39_6, arg_BB39_7, arg_BB39_8, arg_BB39_9, arg_BB39_10, arg_BB39_11, arg_BB39_12, arg_BB39_13, arg_BB39_14, array));
         xPuz.xFulkodsmannen = new AnimatedRenderComponent(xEn);
         xPuz.xFulkodsmannen.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Puzzles/Blocks/MirrorB"), new Vector2(10f, 25f), 4, 1, 20, 33, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xPuz.xFulkodsmannen.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>("Sprites/Puzzles/Blocks/MirrorB"), new Vector2(10f, 25f), 4, 1, 20, 33, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xPuz.xFulkodsmannen.xTransform = xEn.xTransform;
         Program.game.xRenderMaster.RegisterSortedRenderComponent(xPuz.xFulkodsmannen);
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 15, 0f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.xCollisionComponent.xMovementCollider.bIsFlatCollider = true;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.MirrorBlockTLBR)
     {
         xEn = new PuzzleBox();
         PuzzleBox xPuz2 = xEn as PuzzleBox;
         xPuz2.byMirrorDirection = 1;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Puzzles/Blocks/MirrorBlockB"), new Vector2(10f, 25f), 4, 1, 20, 33, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_BD62_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_BD62_1 = 1;
         ushort arg_BD5D_0 = 1;
         byte arg_BD5D_1 = 0;
         Texture2D arg_BD5D_2 = Content.Load<Texture2D>("Sprites/Puzzles/Blocks/MirrorBlockB");
         Vector2 arg_BD5D_3 = new Vector2(10f, 25f);
         int arg_BD5D_4 = 4;
         int arg_BD5D_5 = 8;
         int arg_BD5D_6 = 20;
         int arg_BD5D_7 = 33;
         int arg_BD5D_8 = 0;
         int arg_BD5D_9 = 0;
         int arg_BD5D_10 = 10;
         Animation.LoopSettings arg_BD5D_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_BD5D_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_BD5D_13 = true;
         bool arg_BD5D_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_BD5A_0 = array;
         int arg_BD5A_1 = 0;
         AnimInsCriteria arg_BD55_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_BD50_0 = AnimInsEvent.EventType.PlaySound;
         string arg_BD50_1 = "mirror_bounce";
         float[] array2 = new float[1];
         arg_BD5A_0[arg_BD5A_1] = new AnimationInstruction(arg_BD55_0, new AnimInsEvent(arg_BD50_0, arg_BD50_1, array2));
         arg_BD62_0.Add(arg_BD62_1, new Animation(arg_BD5D_0, arg_BD5D_1, arg_BD5D_2, arg_BD5D_3, arg_BD5D_4, arg_BD5D_5, arg_BD5D_6, arg_BD5D_7, arg_BD5D_8, arg_BD5D_9, arg_BD5D_10, arg_BD5D_11, arg_BD5D_12, arg_BD5D_13, arg_BD5D_14, array));
         xEn.xRenderComponent.dixAnimations[0].enSpriteEffect = SpriteEffects.FlipHorizontally;
         xEn.xRenderComponent.dixAnimations[1].enSpriteEffect = SpriteEffects.FlipHorizontally;
         xEn.xRenderComponent.enSpriteEffect = SpriteEffects.FlipHorizontally;
         xPuz2.xFulkodsmannen = new AnimatedRenderComponent(xEn);
         xPuz2.xFulkodsmannen.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Puzzles/Blocks/MirrorB"), new Vector2(10f, 25f), 4, 1, 20, 33, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xPuz2.xFulkodsmannen.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>("Sprites/Puzzles/Blocks/MirrorB"), new Vector2(10f, 25f), 4, 1, 20, 33, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xPuz2.xFulkodsmannen.dixAnimations[0].enSpriteEffect = SpriteEffects.FlipHorizontally;
         xPuz2.xFulkodsmannen.dixAnimations[1].enSpriteEffect = SpriteEffects.FlipHorizontally;
         xPuz2.xFulkodsmannen.enSpriteEffect = SpriteEffects.FlipHorizontally;
         xPuz2.xFulkodsmannen.xTransform = xEn.xTransform;
         Program.game.xRenderMaster.RegisterSortedRenderComponent(xPuz2.xFulkodsmannen);
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 15, 0f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.xCollisionComponent.xMovementCollider.bIsFlatCollider = true;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.PuzzleRuneBlock01)
     {
         xEn = new PuzzleBox();
         xEn = (xEn as PuzzleBox);
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = true;
         xEn.bDestroyOnHit = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Puzzles/Blocks/RuneBlock01"), new Vector2(10f, 17f), 4, 1, 20, 25, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_C021_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_C021_1 = 1;
         ushort arg_C01C_0 = 1;
         byte arg_C01C_1 = 0;
         Texture2D arg_C01C_2 = Content.Load<Texture2D>("Sprites/Puzzles/Blocks/RuneBlock01Flash");
         Vector2 arg_C01C_3 = new Vector2(10f, 17f);
         int arg_C01C_4 = 4;
         int arg_C01C_5 = 6;
         int arg_C01C_6 = 20;
         int arg_C01C_7 = 25;
         int arg_C01C_8 = 0;
         int arg_C01C_9 = 0;
         int arg_C01C_10 = 6;
         Animation.LoopSettings arg_C01C_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_C01C_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_C01C_13 = true;
         bool arg_C01C_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_C019_0 = array;
         int arg_C019_1 = 1;
         AnimInsCriteria arg_C014_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_C00F_0 = AnimInsEvent.EventType.PlaySound;
         string arg_C00F_1 = "Puzzle_solved";
         float[] array2 = new float[1];
         arg_C019_0[arg_C019_1] = new AnimationInstruction(arg_C014_0, new AnimInsEvent(arg_C00F_0, arg_C00F_1, array2));
         arg_C021_0.Add(arg_C021_1, new Animation(arg_C01C_0, arg_C01C_1, arg_C01C_2, arg_C01C_3, arg_C01C_4, arg_C01C_5, arg_C01C_6, arg_C01C_7, arg_C01C_8, arg_C01C_9, arg_C01C_10, arg_C01C_11, arg_C01C_12, arg_C01C_13, arg_C01C_14, array));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>("Sprites/Puzzles/Blocks/RuneBlock01Solved"), new Vector2(10f, 17f), 4, 10, 20, 25, 0, 0, 10, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 15, 0f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.PuzzleRuneBlock01_ToyFactory)
     {
         xEn = new PuzzleBox();
         xEn = (xEn as PuzzleBox);
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = true;
         xEn.bDestroyOnHit = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Puzzles/Blocks/ToyFactory/RuneBlock01"), new Vector2(10f, 17f), 4, 1, 20, 25, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_C1DD_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_C1DD_1 = 1;
         ushort arg_C1D8_0 = 1;
         byte arg_C1D8_1 = 0;
         Texture2D arg_C1D8_2 = Content.Load<Texture2D>("Sprites/Puzzles/Blocks/ToyFactory/RuneBlock01Flash");
         Vector2 arg_C1D8_3 = new Vector2(10f, 17f);
         int arg_C1D8_4 = 4;
         int arg_C1D8_5 = 6;
         int arg_C1D8_6 = 20;
         int arg_C1D8_7 = 25;
         int arg_C1D8_8 = 0;
         int arg_C1D8_9 = 0;
         int arg_C1D8_10 = 6;
         Animation.LoopSettings arg_C1D8_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_C1D8_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_C1D8_13 = true;
         bool arg_C1D8_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_C1D5_0 = array;
         int arg_C1D5_1 = 1;
         AnimInsCriteria arg_C1D0_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_C1CB_0 = AnimInsEvent.EventType.PlaySound;
         string arg_C1CB_1 = "Puzzle_solved";
         float[] array2 = new float[1];
         arg_C1D5_0[arg_C1D5_1] = new AnimationInstruction(arg_C1D0_0, new AnimInsEvent(arg_C1CB_0, arg_C1CB_1, array2));
         arg_C1DD_0.Add(arg_C1DD_1, new Animation(arg_C1D8_0, arg_C1D8_1, arg_C1D8_2, arg_C1D8_3, arg_C1D8_4, arg_C1D8_5, arg_C1D8_6, arg_C1D8_7, arg_C1D8_8, arg_C1D8_9, arg_C1D8_10, arg_C1D8_11, arg_C1D8_12, arg_C1D8_13, arg_C1D8_14, array));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>("Sprites/Puzzles/Blocks/ToyFactory/RuneBlock01Solved"), new Vector2(10f, 17f), 4, 10, 20, 25, 0, 0, 10, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 15, 0f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.PuzzleStopBlock01)
     {
         xEn = new PuzzleBox();
         PuzzleBox xPuz3 = xEn as PuzzleBox;
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bDestroyOnHit = false;
         xPuz3.bIsMovable = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Puzzles/Blocks/StopBlock02"), new Vector2(10f, 9f), 4, 1, 20, 17, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 15, 0f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.xCollisionComponent.xMovementCollider.bIsFlatCollider = true;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.ArbitraryLightShiftMirror)
     {
         xEn = new PhaseShiftMirror();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bDestroyOnHit = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Puzzles/Blocks/MirrorBlockB"), new Vector2(10f, 17f), 4, 1, 20, 25, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>("Sprites/Puzzles/Blocks/MirrorBlockA"), new Vector2(10f, 17f), 4, 1, 20, 25, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(20, 15, 0f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.xCollisionComponent.xMovementCollider.bIsFlatCollider = true;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_PerfectGuardTrainer)
     {
         xEn = new Unique_PerfectGuardTrainer();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = true;
         xEn.bDestroyOnHit = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/Start"), new Vector2(20f, 23f), 4, 1, 41, 29, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_C5A3_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_C5A3_1 = 1;
         ushort arg_C59E_0 = 1;
         byte arg_C59E_1 = 0;
         Texture2D arg_C59E_2 = Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/Start");
         Vector2 arg_C59E_3 = new Vector2(20f, 23f);
         int arg_C59E_4 = 4;
         int arg_C59E_5 = 11;
         int arg_C59E_6 = 41;
         int arg_C59E_7 = 29;
         int arg_C59E_8 = 0;
         int arg_C59E_9 = 0;
         int arg_C59E_10 = 20;
         Animation.LoopSettings arg_C59E_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_C59E_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_C59E_13 = true;
         bool arg_C59E_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[2];
         AnimationInstruction[] arg_C56D_0 = array;
         int arg_C56D_1 = 0;
         AnimInsCriteria arg_C568_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_C563_0 = AnimInsEvent.EventType.PlaySound;
         string arg_C563_1 = "guard_machine_start";
         float[] array2 = new float[1];
         arg_C56D_0[arg_C56D_1] = new AnimationInstruction(arg_C568_0, new AnimInsEvent(arg_C563_0, arg_C563_1, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             2f
         }));
         arg_C5A3_0.Add(arg_C5A3_1, new Animation(arg_C59E_0, arg_C59E_1, arg_C59E_2, arg_C59E_3, arg_C59E_4, arg_C59E_5, arg_C59E_6, arg_C59E_7, arg_C59E_8, arg_C59E_9, arg_C59E_10, arg_C59E_11, arg_C59E_12, arg_C59E_13, arg_C59E_14, array));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/Start"), new Vector2(20f, 23f), 4, 1, 41, 29, 451, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_C6C4_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_C6C4_1 = 3;
         ushort arg_C6BF_0 = 3;
         byte arg_C6BF_1 = 0;
         Texture2D arg_C6BF_2 = Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/Attack");
         Vector2 arg_C6BF_3 = new Vector2(20f, 23f);
         int arg_C6BF_4 = 4;
         int arg_C6BF_5 = 13;
         int arg_C6BF_6 = 41;
         int arg_C6BF_7 = 29;
         int arg_C6BF_8 = 0;
         int arg_C6BF_9 = 0;
         int arg_C6BF_10 = 20;
         Animation.LoopSettings arg_C6BF_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_C6BF_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_C6BF_13 = true;
         bool arg_C6BF_14 = true;
         array = new AnimationInstruction[3];
         AnimationInstruction[] arg_C65B_0 = array;
         int arg_C65B_1 = 0;
         AnimInsCriteria arg_C656_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_C651_0 = AnimInsEvent.EventType.PlaySound;
         string arg_C651_1 = "guard_machine_attack";
         array2 = new float[1];
         arg_C65B_0[arg_C65B_1] = new AnimationInstruction(arg_C656_0, new AnimInsEvent(arg_C651_0, arg_C651_1, array2));
         AnimationInstruction[] arg_C68E_0 = array;
         int arg_C68E_1 = 1;
         AnimInsCriteria arg_C689_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             11f
         });
         AnimInsEvent.EventType arg_C684_0 = AnimInsEvent.EventType.CallBackAnimation;
         array2 = new float[1];
         arg_C68E_0[arg_C68E_1] = new AnimationInstruction(arg_C689_0, new AnimInsEvent(arg_C684_0, array2));
         array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             2f
         }));
         arg_C6C4_0.Add(arg_C6C4_1, new Animation(arg_C6BF_0, arg_C6BF_1, arg_C6BF_2, arg_C6BF_3, arg_C6BF_4, arg_C6BF_5, arg_C6BF_6, arg_C6BF_7, arg_C6BF_8, arg_C6BF_9, arg_C6BF_10, arg_C6BF_11, arg_C6BF_12, arg_C6BF_13, arg_C6BF_14, array));
         xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/Damage"), new Vector2(18f, 35f), 4, 5, 37, 41, 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.CallBackAnimation, new float[]
             {
                 1f
             }))
         }));
         Dictionary<ushort, Animation> arg_C82A_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_C82A_1 = 5;
         ushort arg_C825_0 = 5;
         byte arg_C825_1 = 0;
         Texture2D arg_C825_2 = Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/Clear");
         Vector2 arg_C825_3 = new Vector2(18f, 35f);
         int arg_C825_4 = 4;
         int arg_C825_5 = 11;
         int arg_C825_6 = 37;
         int arg_C825_7 = 41;
         int arg_C825_8 = 0;
         int arg_C825_9 = 0;
         int arg_C825_10 = 20;
         Animation.LoopSettings arg_C825_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_C825_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_C825_13 = true;
         bool arg_C825_14 = true;
         array = new AnimationInstruction[3];
         AnimationInstruction[] arg_C7B8_0 = array;
         int arg_C7B8_1 = 0;
         AnimInsCriteria arg_C7B3_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             2f
         });
         AnimInsEvent.EventType arg_C7AE_0 = AnimInsEvent.EventType.PlaySound;
         string arg_C7AE_1 = "guard_machine_powerup";
         array2 = new float[1];
         arg_C7B8_0[arg_C7B8_1] = new AnimationInstruction(arg_C7B3_0, new AnimInsEvent(arg_C7AE_0, arg_C7AE_1, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             9f
         }), new AnimInsEvent(AnimInsEvent.EventType.CallBackAnimation, new float[]
         {
             2f
         }));
         array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             6f
         }));
         arg_C82A_0.Add(arg_C82A_1, new Animation(arg_C825_0, arg_C825_1, arg_C825_2, arg_C825_3, arg_C825_4, arg_C825_5, arg_C825_6, arg_C825_7, arg_C825_8, arg_C825_9, arg_C825_10, arg_C825_11, arg_C825_12, arg_C825_13, arg_C825_14, array));
         xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 0, Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/ClearIdle"), new Vector2(18f, 35f), 4, 3, 37, 41, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_C90B_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_C90B_1 = 7;
         ushort arg_C906_0 = 7;
         byte arg_C906_1 = 0;
         Texture2D arg_C906_2 = Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/Start");
         Vector2 arg_C906_3 = new Vector2(20f, 23f);
         int arg_C906_4 = 4;
         int arg_C906_5 = 11;
         int arg_C906_6 = 41;
         int arg_C906_7 = 29;
         int arg_C906_8 = 0;
         int arg_C906_9 = 0;
         int arg_C906_10 = 20;
         Animation.LoopSettings arg_C906_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_C906_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_C906_13 = true;
         bool arg_C906_14 = true;
         array = new AnimationInstruction[2];
         AnimationInstruction[] arg_C8DE_0 = array;
         int arg_C8DE_1 = 0;
         AnimInsCriteria arg_C8D9_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_C8D4_0 = AnimInsEvent.EventType.PlaySound;
         string arg_C8D4_1 = "guard_machine_shutdown";
         array2 = new float[1];
         arg_C8DE_0[arg_C8DE_1] = new AnimationInstruction(arg_C8D9_0, new AnimInsEvent(arg_C8D4_0, arg_C8D4_1, array2));
         AnimationInstruction[] arg_C903_0 = array;
         int arg_C903_1 = 1;
         AnimInsCriteria arg_C8FE_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_C8F9_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_C903_0[arg_C903_1] = new AnimationInstruction(arg_C8FE_0, new AnimInsEvent(arg_C8F9_0, array2));
         arg_C90B_0.Add(arg_C90B_1, new Animation(arg_C906_0, arg_C906_1, arg_C906_2, arg_C906_3, arg_C906_4, arg_C906_5, arg_C906_6, arg_C906_7, arg_C906_8, arg_C906_9, arg_C906_10, arg_C906_11, arg_C906_12, arg_C906_13, arg_C906_14, array));
         xEn.xRenderComponent.dixAnimations[7].bReversePlayback = true;
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(5, 5, 0f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(8f, new Vector2(0f, -10f), xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_PerfectGuardRoguelike)
     {
         xEn = new Unique_PerfectGuardRoguelikeChallenge();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = true;
         xEn.bDestroyOnHit = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/Start"), new Vector2(20f, 23f), 4, 1, 41, 29, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_CAC1_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_CAC1_1 = 1;
         ushort arg_CABC_0 = 1;
         byte arg_CABC_1 = 0;
         Texture2D arg_CABC_2 = Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/Start");
         Vector2 arg_CABC_3 = new Vector2(20f, 23f);
         int arg_CABC_4 = 4;
         int arg_CABC_5 = 11;
         int arg_CABC_6 = 41;
         int arg_CABC_7 = 29;
         int arg_CABC_8 = 0;
         int arg_CABC_9 = 0;
         int arg_CABC_10 = 20;
         Animation.LoopSettings arg_CABC_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_CABC_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_CABC_13 = true;
         bool arg_CABC_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[2];
         AnimationInstruction[] arg_CA8B_0 = array;
         int arg_CA8B_1 = 0;
         AnimInsCriteria arg_CA86_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_CA81_0 = AnimInsEvent.EventType.PlaySound;
         string arg_CA81_1 = "guard_machine_start";
         float[] array2 = new float[1];
         arg_CA8B_0[arg_CA8B_1] = new AnimationInstruction(arg_CA86_0, new AnimInsEvent(arg_CA81_0, arg_CA81_1, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             2f
         }));
         arg_CAC1_0.Add(arg_CAC1_1, new Animation(arg_CABC_0, arg_CABC_1, arg_CABC_2, arg_CABC_3, arg_CABC_4, arg_CABC_5, arg_CABC_6, arg_CABC_7, arg_CABC_8, arg_CABC_9, arg_CABC_10, arg_CABC_11, arg_CABC_12, arg_CABC_13, arg_CABC_14, array));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/Start"), new Vector2(20f, 23f), 4, 1, 41, 29, 451, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_CBE5_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_CBE5_1 = 3;
         ushort arg_CBE0_0 = 3;
         byte arg_CBE0_1 = 0;
         Texture2D arg_CBE0_2 = Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/Attack");
         Vector2 arg_CBE0_3 = new Vector2(20f, 23f);
         int arg_CBE0_4 = 3;
         int arg_CBE0_5 = 7;
         int arg_CBE0_6 = 41;
         int arg_CBE0_7 = 29;
         int arg_CBE0_8 = 246;
         int arg_CBE0_9 = 0;
         int arg_CBE0_10 = 20;
         Animation.LoopSettings arg_CBE0_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_CBE0_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_CBE0_13 = true;
         bool arg_CBE0_14 = true;
         array = new AnimationInstruction[3];
         AnimationInstruction[] arg_CB7C_0 = array;
         int arg_CB7C_1 = 0;
         AnimInsCriteria arg_CB77_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_CB72_0 = AnimInsEvent.EventType.PlaySound;
         string arg_CB72_1 = "guard_machine_attack";
         array2 = new float[1];
         arg_CB7C_0[arg_CB7C_1] = new AnimationInstruction(arg_CB77_0, new AnimInsEvent(arg_CB72_0, arg_CB72_1, array2));
         AnimationInstruction[] arg_CBAF_0 = array;
         int arg_CBAF_1 = 1;
         AnimInsCriteria arg_CBAA_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             5f
         });
         AnimInsEvent.EventType arg_CBA5_0 = AnimInsEvent.EventType.CallBackAnimation;
         array2 = new float[1];
         arg_CBAF_0[arg_CBAF_1] = new AnimationInstruction(arg_CBAA_0, new AnimInsEvent(arg_CBA5_0, array2));
         array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             2f
         }));
         arg_CBE5_0.Add(arg_CBE5_1, new Animation(arg_CBE0_0, arg_CBE0_1, arg_CBE0_2, arg_CBE0_3, arg_CBE0_4, arg_CBE0_5, arg_CBE0_6, arg_CBE0_7, arg_CBE0_8, arg_CBE0_9, arg_CBE0_10, arg_CBE0_11, arg_CBE0_12, arg_CBE0_13, arg_CBE0_14, array));
         xEn.xRenderComponent.dixAnimations.Add(4, new Animation(4, 0, Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/Damage"), new Vector2(18f, 35f), 4, 5, 37, 41, 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.CallBackAnimation, new float[]
             {
                 1f
             }))
         }));
         Dictionary<ushort, Animation> arg_CD4B_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_CD4B_1 = 5;
         ushort arg_CD46_0 = 5;
         byte arg_CD46_1 = 0;
         Texture2D arg_CD46_2 = Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/Clear");
         Vector2 arg_CD46_3 = new Vector2(18f, 35f);
         int arg_CD46_4 = 4;
         int arg_CD46_5 = 11;
         int arg_CD46_6 = 37;
         int arg_CD46_7 = 41;
         int arg_CD46_8 = 0;
         int arg_CD46_9 = 0;
         int arg_CD46_10 = 20;
         Animation.LoopSettings arg_CD46_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_CD46_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_CD46_13 = true;
         bool arg_CD46_14 = true;
         array = new AnimationInstruction[3];
         AnimationInstruction[] arg_CCD9_0 = array;
         int arg_CCD9_1 = 0;
         AnimInsCriteria arg_CCD4_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             2f
         });
         AnimInsEvent.EventType arg_CCCF_0 = AnimInsEvent.EventType.PlaySound;
         string arg_CCCF_1 = "guard_machine_powerup";
         array2 = new float[1];
         arg_CCD9_0[arg_CCD9_1] = new AnimationInstruction(arg_CCD4_0, new AnimInsEvent(arg_CCCF_0, arg_CCCF_1, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             9f
         }), new AnimInsEvent(AnimInsEvent.EventType.CallBackAnimation, new float[]
         {
             2f
         }));
         array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             6f
         }));
         arg_CD4B_0.Add(arg_CD4B_1, new Animation(arg_CD46_0, arg_CD46_1, arg_CD46_2, arg_CD46_3, arg_CD46_4, arg_CD46_5, arg_CD46_6, arg_CD46_7, arg_CD46_8, arg_CD46_9, arg_CD46_10, arg_CD46_11, arg_CD46_12, arg_CD46_13, arg_CD46_14, array));
         xEn.xRenderComponent.dixAnimations.Add(6, new Animation(6, 0, Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/ClearIdle"), new Vector2(18f, 35f), 4, 3, 37, 41, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_CE2C_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_CE2C_1 = 7;
         ushort arg_CE27_0 = 7;
         byte arg_CE27_1 = 0;
         Texture2D arg_CE27_2 = Content.Load<Texture2D>("Sprites/Puzzles/Misc/PerfectGuardCrystal/Start");
         Vector2 arg_CE27_3 = new Vector2(20f, 23f);
         int arg_CE27_4 = 4;
         int arg_CE27_5 = 11;
         int arg_CE27_6 = 41;
         int arg_CE27_7 = 29;
         int arg_CE27_8 = 0;
         int arg_CE27_9 = 0;
         int arg_CE27_10 = 20;
         Animation.LoopSettings arg_CE27_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_CE27_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_CE27_13 = true;
         bool arg_CE27_14 = true;
         array = new AnimationInstruction[2];
         AnimationInstruction[] arg_CDFF_0 = array;
         int arg_CDFF_1 = 0;
         AnimInsCriteria arg_CDFA_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_CDF5_0 = AnimInsEvent.EventType.PlaySound;
         string arg_CDF5_1 = "guard_machine_shutdown";
         array2 = new float[1];
         arg_CDFF_0[arg_CDFF_1] = new AnimationInstruction(arg_CDFA_0, new AnimInsEvent(arg_CDF5_0, arg_CDF5_1, array2));
         AnimationInstruction[] arg_CE24_0 = array;
         int arg_CE24_1 = 1;
         AnimInsCriteria arg_CE1F_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_CE1A_0 = AnimInsEvent.EventType.PlayAnimation;
         array2 = new float[1];
         arg_CE24_0[arg_CE24_1] = new AnimationInstruction(arg_CE1F_0, new AnimInsEvent(arg_CE1A_0, array2));
         arg_CE2C_0.Add(arg_CE2C_1, new Animation(arg_CE27_0, arg_CE27_1, arg_CE27_2, arg_CE27_3, arg_CE27_4, arg_CE27_5, arg_CE27_6, arg_CE27_7, arg_CE27_8, arg_CE27_9, arg_CE27_10, arg_CE27_11, arg_CE27_12, arg_CE27_13, arg_CE27_14, array));
         xEn.xRenderComponent.dixAnimations[7].bReversePlayback = true;
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(5, 5, 0f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(8f, new Vector2(0f, -10f), xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_BulletHellMos)
     {
         xEn = new Unique_BulletHellMosarn();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bDestroyOnHit = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, RenderMaster.txNullTex, new Vector2(16f, 48f), 4, 1, 34, 63, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(5, 5, 0f, Vector2.Zero, xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.xCollisionComponent.AddHitboxCollider(new SphereCollider(10f, Vector2.Zero, xEn.xTransform, 0f, xEn), Collider.ColliderLayers.DynamicEnvironment);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Puzzlish_GlockenSpiel)
     {
         xEn = new Puzzle_WinterlandGlockenSpiel();
         xEn.enType = enType;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.bDestroyOnHit = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Bkg/Zone013_Winterland/bells"), new Vector2(4f, 33f), 4, 1, 76, 37, 0, 0, 1, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.xMovementCollider = new BoxCollider(76, 5, 0f, new Vector2(35f, 0f), xEn.xTransform, 10f, xEn);
         xEn.xCollisionComponent.xMovementCollider.bIsLarge = false;
         xEn.xCollisionComponent.xMovementCollider.bStaticKnockback = false;
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(40, 5, 0f, new Vector2(35f, 0f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.TeleportField)
     {
         xEn = new TeleportField();
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, RenderMaster.txNullTex, new Vector2(50f, 70f), 4, 1, 100, 100, 0, 0, 11, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Teleporter_SkyTemple)
     {
         xEn = new TeleportPlate();
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Teleport/Standard/IdleOff"), new Vector2(20f, 28f), 4, 1, 43, 45, 0, 0, 11, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Teleport/Standard/Start"), new Vector2(20f, 28f), 4, 24, 43, 45, 0, 0, 24, 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>(ENVIRON_PATH + "Teleport/Standard/IdleOn"), new Vector2(21f, 28f), 4, 14, 44, 45, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Teleporter_Halloween)
     {
         xEn = new TeleportPlate();
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Teleport/Halloween/IdleOff"), new Vector2(21f, 28f), 4, 1, 43, 45, 0, 0, 11, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>(ENVIRON_PATH + "Teleport/Halloween/Start"), new Vector2(21f, 28f), 4, 24, 44, 45, 0, 0, 24, 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>(ENVIRON_PATH + "Teleport/Halloween/IdleOn"), new Vector2(21f, 28f), 4, 14, 44, 45, 0, 0, 20, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.PhaseShiftPlate)
     {
         xEn = new PhaseShiftPlate();
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.Interactable;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = false;
         (xEn as InteractableDynamic).colInteractCollider = new SphereCollider(13f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         (xEn as InteractableDynamic).bIsPlate = true;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Puzzles/PhaseShift/arrow_outside_up"), new Vector2(12f, 12f), 4, 1, 24, 25, 0, 0, 11, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 1, Content.Load<Texture2D>("Sprites/Puzzles/PhaseShift/arrow_outside_right"), new Vector2(12f, 12f), 4, 1, 24, 25, 0, 0, 11, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 2, Content.Load<Texture2D>("Sprites/Puzzles/PhaseShift/arrow_outside_down"), new Vector2(12f, 12f), 4, 1, 24, 25, 0, 0, 11, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 3, Content.Load<Texture2D>("Sprites/Puzzles/PhaseShift/arrow_outside_right"), new Vector2(12f, 12f), 4, 1, 24, 25, 0, 0, 11, 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, 4, Content.Load<Texture2D>("Sprites/Puzzles/PhaseShift/stop_outside"), new Vector2(12f, 12f), 4, 1, 24, 25, 0, 0, 11, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(5, new Animation(5, 4, Content.Load<Texture2D>("Sprites/Puzzles/PhaseShift/appear_outside_up"), new Vector2(12f, 12f), 4, 1, 24, 25, 0, 0, 11, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         Dictionary<ushort, Animation> arg_D6AF_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_D6AF_1 = 6;
         ushort arg_D6AA_0 = 6;
         byte arg_D6AA_1 = 4;
         Texture2D arg_D6AA_2 = Content.Load<Texture2D>("Sprites/Puzzles/PhaseShift/appear_outside_up");
         Vector2 arg_D6AA_3 = new Vector2(12f, 12f);
         int arg_D6AA_4 = 4;
         int arg_D6AA_5 = 10;
         int arg_D6AA_6 = 24;
         int arg_D6AA_7 = 25;
         int arg_D6AA_8 = 0;
         int arg_D6AA_9 = 0;
         int arg_D6AA_10 = 11;
         Animation.LoopSettings arg_D6AA_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_D6AA_12 = Animation.CancelOptions.IgnoreIfPlaying;
         bool arg_D6AA_13 = true;
         bool arg_D6AA_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[1];
         AnimationInstruction[] arg_D6A7_0 = array;
         int arg_D6A7_1 = 0;
         AnimInsCriteria arg_D6A2_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]);
         AnimInsEvent.EventType arg_D69D_0 = AnimInsEvent.EventType.PlayAnimation;
         float[] array2 = new float[1];
         arg_D6A7_0[arg_D6A7_1] = new AnimationInstruction(arg_D6A2_0, new AnimInsEvent(arg_D69D_0, array2));
         arg_D6AF_0.Add(arg_D6AF_1, new Animation(arg_D6AA_0, arg_D6AA_1, arg_D6AA_2, arg_D6AA_3, arg_D6AA_4, arg_D6AA_5, arg_D6AA_6, arg_D6AA_7, arg_D6AA_8, arg_D6AA_9, arg_D6AA_10, arg_D6AA_11, arg_D6AA_12, arg_D6AA_13, arg_D6AA_14, array));
         xEn.xRenderComponent.dixAnimations.Add(7, new Animation(7, 4, Content.Load<Texture2D>("Sprites/Puzzles/PhaseShift/appear_outside_left"), new Vector2(12f, 12f), 4, 1, 24, 25, 0, 0, 11, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(8, new Animation(8, 4, Content.Load<Texture2D>("Sprites/Puzzles/PhaseShift/appear_outside_left"), new Vector2(12f, 12f), 4, 10, 24, 25, 0, 0, 11, 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(100, new Animation(100, 0, Content.Load<Texture2D>("Sprites/Puzzles/PhaseShift/arrow_outside_up"), new Vector2(12f, 12f), 4, 7, 24, 25, 0, 0, 11, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(101, new Animation(101, 1, Content.Load<Texture2D>("Sprites/Puzzles/PhaseShift/arrow_outside_right"), new Vector2(12f, 12f), 4, 7, 24, 25, 0, 0, 11, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(102, new Animation(102, 2, Content.Load<Texture2D>("Sprites/Puzzles/PhaseShift/arrow_outside_down"), new Vector2(12f, 12f), 4, 7, 24, 25, 0, 0, 11, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(103, new Animation(103, 3, Content.Load<Texture2D>("Sprites/Puzzles/PhaseShift/arrow_outside_right"), new Vector2(12f, 12f), 4, 7, 24, 25, 0, 0, 11, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations[103].enSpriteEffect = SpriteEffects.FlipHorizontally;
         xEn.xRenderComponent.dixAnimations.Add(104, new Animation(104, 4, Content.Load<Texture2D>("Sprites/Puzzles/PhaseShift/stop_outside"), new Vector2(12f, 12f), 4, 7, 24, 25, 0, 0, 11, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.JumpDownPlate)
     {
         xEn = new JumpDown();
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, RenderMaster.txNullTex, new Vector2(7f, 8f), 4, 1, 14, 15, 0, 0, 11, Animation.LoopSettings.Looping, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.ClimbPlate_Vines_Left)
     {
         xEn = new ClimbUp();
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, RenderMaster.txNullTex, new Vector2(0f, 72f), 4, 1, 90, 78, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, RenderMaster.txNullTex, new Vector2(0f, 72f), 4, 20, 90, 78, 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[]
             {
                 2f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Vines/Wobble/Left"), new Vector2(0f, 69f), 4, 1, 46, 75, 92, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Vines/Wobble/Left"), new Vector2(0f, 69f), 4, 3, 46, 75, 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[]
             {
                 2f
             }))
         }));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.ClimbPlate_Vines_Mid)
     {
         xEn = new ClimbUp();
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Vines/Vines"), new Vector2(0f, 72f), 4, 1, 90, 78, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Vines/Vines"), new Vector2(0f, 72f), 4, 20, 90, 78, 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[]
             {
                 2f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Vines/Wobble/Mid"), new Vector2(-21f, 70f), 4, 1, 38, 76, 76, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Vines/Wobble/Mid"), new Vector2(-21f, 70f), 4, 3, 38, 76, 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[]
             {
                 2f
             }))
         }));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.ClimbPlate_Vines_Right)
     {
         xEn = new ClimbUp();
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.bNetworkSynchEnabled = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, RenderMaster.txNullTex, new Vector2(0f, 72f), 4, 1, 90, 78, 0, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(1, new Animation(1, 0, RenderMaster.txNullTex, new Vector2(0f, 72f), 4, 20, 90, 78, 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[]
             {
                 2f
             }))
         }));
         xEn.xRenderComponent.dixAnimations.Add(2, new Animation(2, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Vines/Wobble/Right"), new Vector2(-45f, 70f), 4, 1, 45, 76, 90, 0, 20, Animation.LoopSettings.Clamp, Animation.CancelOptions.IgnoreIfPlaying, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.dixAnimations.Add(3, new Animation(3, 0, Content.Load<Texture2D>("Bkg/Zone014_SeasonChange/Vines/Wobble/Right"), new Vector2(-45f, 70f), 4, 3, 45, 76, 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[]
             {
                 2f
             }))
         }));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.MonsterSpawn_PapaSlimeRain)
     {
         xEn = new PapaSlimeRain();
         PapaSlimeRain lolz = xEn as PapaSlimeRain;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Spawn/BallSmall"), new Vector2(11f, 16f), 4, 4, 22, 21, 0, 0, 10, Animation.LoopSettings.Looping, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.v2OffsetRenderPos.Y = -500f;
         lolz.xShadowRC = new StaticRenderComponent(Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Spawn/smallshadow"), xEn.xTransform);
         lolz.xShadowRC.v2Offset = Utility.PointToVector2(lolz.xShadowRC.txTexture.Bounds.Center);
         lolz.xShadowRC.fAlpha = 0f;
         Program.GetTheGame().xRenderMaster.RegisterBelowSorted(lolz.xShadowRC);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.MonsterSpawn_PapaSlimePrisonRain)
     {
         xEn = new PapaSlimePrisonRain();
         PapaSlimePrisonRain lolz2 = xEn as PapaSlimePrisonRain;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Spawn/Ball"), new Vector2(15f, 13f), 4, 4, 31, 25, 0, 0, 10, Animation.LoopSettings.Looping, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.v2OffsetRenderPos.Y = 0f;
         lolz2.xShadowRC = new StaticRenderComponent(Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Spawn/smallshadow"), xEn.xTransform);
         lolz2.xShadowRC.v2Offset = Utility.PointToVector2(lolz2.xShadowRC.txTexture.Bounds.Center);
         lolz2.xShadowRC.fAlpha = 0.5f;
         Program.GetTheGame().xRenderMaster.RegisterBelowSorted(lolz2.xShadowRC);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeSmall)
     {
         xEn = new SlowSlime();
         SlowSlime lolz3 = xEn as SlowSlime;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         lolz3.colDebuffCollider = new BoxCollider(22, 10, 0f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         lolz3.fMoveSpeedDebuff = 0.6f - 0.1f * (float)GameSessionData.iBaseDifficulty;
         lolz3.iDeath *= GameSessionData.iBaseDifficulty + 1;
         if (Program.GetTheGame().randomInVisual.Next(2) == 0)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Slime/SlimeAreaSmallA"), new Vector2(18f, 10f), 4, 2, 33, 18, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         }
         else
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Slime/SlimeAreaSmallB"), new Vector2(18f, 10f), 4, 2, 33, 18, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         }
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeLarge)
     {
         xEn = new SlowSlime();
         SlowSlime lolz4 = xEn as SlowSlime;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         lolz4.colDebuffCollider = new BoxCollider(83, 22, 0f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         lolz4.fMoveSpeedDebuff = 0.6f - 0.1f * (float)GameSessionData.iBaseDifficulty - 0.05f * (float)Program.game.dixPlayers.Count;
         if (lolz4.fMoveSpeedDebuff < 0.1f)
         {
             lolz4.fMoveSpeedDebuff = 0.1f;
         }
         lolz4.iDeath *= GameSessionData.iBaseDifficulty + 1;
         if (Program.GetTheGame().randomInVisual.Next(2) == 0)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Slime/SlimeAreaBigA"), new Vector2(55f, 20f), 4, 2, 114, 44, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         }
         else
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Slime/SlimeAreaBigB"), new Vector2(55f, 20f), 4, 2, 114, 44, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         }
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeSpintrail)
     {
         xEn = new SlowSlime();
         SlowSlime lolz5 = xEn as SlowSlime;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = true;
         lolz5.colDebuffCollider = new BoxCollider(83, 18, 0f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         lolz5.fMoveSpeedDebuff = 0.6f - 0.1f * (float)GameSessionData.iBaseDifficulty;
         lolz5.iDeath *= GameSessionData.iBaseDifficulty + 1;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Slime/SlimeArea"), new Vector2(46f, 11f), 4, 1, 93, 22, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeMedium)
     {
         xEn = new SlowSlime();
         SlowSlime lolz6 = xEn as SlowSlime;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = true;
         lolz6.colDebuffCollider = new BoxCollider(44, 16, 0f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         lolz6.fMoveSpeedDebuff = 0.6f - 0.1f * (float)GameSessionData.iBaseDifficulty;
         lolz6.iDeath *= GameSessionData.iBaseDifficulty + 1;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Slime/SlimeAreaMidA"), new Vector2(32f, 14f), 4, 2, 63, 30, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.MonsterSpawn_PapaSlimeRain_Red)
     {
         xEn = new RedPapaSlimeRain();
         RedPapaSlimeRain lolz7 = xEn as RedPapaSlimeRain;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime Red/Spawn/BallSmall"), new Vector2(11f, 16f), 4, 4, 22, 21, 0, 0, 10, Animation.LoopSettings.Looping, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.v2OffsetRenderPos.Y = -500f;
         lolz7.xShadowRC = new StaticRenderComponent(Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime Red/Spawn/smallshadow"), xEn.xTransform);
         lolz7.xShadowRC.v2Offset = Utility.PointToVector2(lolz7.xShadowRC.txTexture.Bounds.Center);
         lolz7.xShadowRC.fAlpha = 0f;
         Program.GetTheGame().xRenderMaster.RegisterBelowSorted(lolz7.xShadowRC);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.MonsterSpawn_PapaSlimePrisonRain_Red)
     {
         xEn = new PapaSlimePrisonRain();
         PapaSlimePrisonRain lolz8 = xEn as PapaSlimePrisonRain;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime Red/Spawn/Ball"), new Vector2(15f, 13f), 4, 4, 31, 25, 0, 0, 10, Animation.LoopSettings.Looping, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         xEn.xRenderComponent.v2OffsetRenderPos.Y = 0f;
         lolz8.xShadowRC = new StaticRenderComponent(Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime Red/Spawn/smallshadow"), xEn.xTransform);
         lolz8.xShadowRC.v2Offset = Utility.PointToVector2(lolz8.xShadowRC.txTexture.Bounds.Center);
         lolz8.xShadowRC.fAlpha = 0.5f;
         Program.GetTheGame().xRenderMaster.RegisterBelowSorted(lolz8.xShadowRC);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeSmall_Red)
     {
         xEn = new SlowSlime();
         SlowSlime lolz9 = xEn as SlowSlime;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         lolz9.fMoveSpeedDebuff = 0.3f - 0.05f * (float)GameSessionData.iBaseDifficulty;
         lolz9.colDebuffCollider = new BoxCollider(22, 10, 0f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         if (Program.GetTheGame().randomInVisual.Next(2) == 0)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime Red/Slime/SlimeAreaSmallA"), new Vector2(18f, 10f), 4, 2, 33, 18, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         }
         else
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime Red/Slime/SlimeAreaSmallB"), new Vector2(18f, 10f), 4, 2, 33, 18, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         }
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeLarge_Red)
     {
         xEn = new SlowSlime();
         SlowSlime lolz10 = xEn as SlowSlime;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         lolz10.colDebuffCollider = new BoxCollider(83, 22, 0f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         lolz10.iDeath *= 5;
         if (CAS.GameMode == StateMaster.GameModes.RogueLike)
         {
             lolz10.iDeath /= 5;
             lolz10.iDeath *= 2;
         }
         lolz10.fMoveSpeedDebuff = 0.3f - 0.05f * (float)GameSessionData.iBaseDifficulty;
         if (CAS.GameMode == StateMaster.GameModes.RogueLike)
         {
             lolz10.fMoveSpeedDebuff = 0.15f;
         }
         if (Program.GetTheGame().randomInVisual.Next(2) == 0)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime Red/Slime/SlimeAreaBigA"), new Vector2(55f, 20f), 4, 2, 114, 44, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         }
         else
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime Red/Slime/SlimeAreaBigB"), new Vector2(55f, 20f), 4, 2, 114, 44, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         }
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeSpintrail_Red)
     {
         xEn = new SlowSlime();
         SlowSlime lolz11 = xEn as SlowSlime;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = true;
         lolz11.colDebuffCollider = new BoxCollider(83, 18, 0f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         lolz11.iDeath *= 5;
         if (CAS.GameMode == StateMaster.GameModes.RogueLike)
         {
             lolz11.iDeath /= 5;
             lolz11.iDeath *= 2;
         }
         lolz11.fMoveSpeedDebuff = 0.3f - 0.05f * (float)GameSessionData.iBaseDifficulty;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime Red/Slime/SlimeArea"), new Vector2(46f, 11f), 4, 1, 93, 22, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeMedium_Red)
     {
         xEn = new SlowSlime();
         SlowSlime lolz12 = xEn as SlowSlime;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = true;
         lolz12.colDebuffCollider = new BoxCollider(44, 16, 0f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         lolz12.iDeath *= 5;
         if (CAS.GameMode == StateMaster.GameModes.RogueLike)
         {
             lolz12.iDeath /= 5;
             lolz12.iDeath *= 2;
         }
         lolz12.fMoveSpeedDebuff = 0.3f - 0.05f * (float)GameSessionData.iBaseDifficulty;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime Red/Slime/SlimeAreaMidA"), new Vector2(32f, 14f), 4, 2, 63, 30, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.PapaSlime_GreenSlimePrison_Red)
     {
         xEn = new RedSlimePrison();
         xEn.bInstantiateInNetwork = true;
         xEn.xBaseStats.iHP = 40;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, RenderMaster.txNullTex, new Vector2(46f, 11f), 4, 1, 93, 22, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(22, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeSmall_v2)
     {
         xEn = new SlowErSlime();
         SlowErSlime lolz13 = xEn as SlowErSlime;
         lolz13.iDeath *= 3;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = true;
         lolz13.colDebuffCollider = new BoxCollider(22, 10, 0f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         if (Program.GetTheGame().randomInVisual.Next(2) == 0)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Slime/SlimeAreaSmallA"), new Vector2(18f, 10f), 4, 2, 34, 19, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         }
         else
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Slime/SlimeAreaSmallB"), new Vector2(18f, 10f), 4, 2, 34, 19, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         }
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeLarge_v2)
     {
         xEn = new SlowErSlime();
         SlowErSlime lolz14 = xEn as SlowErSlime;
         lolz14.iDeath *= 3;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = true;
         lolz14.colDebuffCollider = new BoxCollider(83, 22, 0f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         if (Program.GetTheGame().randomInVisual.Next(2) == 0)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Slime/SlimeAreaBigA"), new Vector2(53f, 22f), 4, 2, 110, 44, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         }
         else
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Slime/SlimeAreaBigB"), new Vector2(53f, 22f), 4, 2, 110, 44, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         }
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeSpintrail_v2)
     {
         xEn = new SlowErSlime();
         SlowErSlime lolz15 = xEn as SlowErSlime;
         lolz15.iDeath *= 3;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = true;
         lolz15.colDebuffCollider = new BoxCollider(83, 18, 0f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Slime/SlimeArea"), new Vector2(46f, 11f), 4, 1, 93, 22, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CloudEffect_BossPapaSlime_SlowSlimeMedium_v2)
     {
         xEn = new SlowErSlime();
         SlowErSlime lolz16 = xEn as SlowErSlime;
         lolz16.iDeath *= 3;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = true;
         lolz16.colDebuffCollider = new BoxCollider(44, 16, 0f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Sprites/Monster/Bosses/Papa Slime/Slime/SlimeAreaMidA"), new Vector2(32f, 14f), 4, 2, 63, 30, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Debuff_Freeze)
     {
         xEn = new FrozenPlayer();
         xEn.bInstantiateInNetwork = false;
         xEn.xBaseStats.iHP = 220 + 20 * CAS.DifficultyModifier;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, Content.Load<Texture2D>("Effects/Freeze/Player/Start"), new Vector2(21f, 39f), 4, 4, 41, 47, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(16, 16, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Debuff_Root_Teal)
     {
         xEn = new RootedPlayer();
         xEn.bInstantiateInNetwork = false;
         RootedPlayer lolz17 = xEn as RootedPlayer;
         xEn.xBaseStats.iHP = 300 + 30 * CAS.DifficultyModifier;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         lolz17.iAnimStart = 2607;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, RenderMaster.txNullTex, new Vector2(21f, 39f), 4, 4, 41, 47, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(16, 16, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.Debuff_TornadoCatch)
     {
         xEn = new TornadoedPlayer();
         xEn.bInstantiateInNetwork = false;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, RenderMaster.txNullTex, new Vector2(21f, 39f), 4, 4, 41, 47, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.PapaSlime_GreenSlimePrison)
     {
         xEn = new SlimePrison();
         xEn.bInstantiateInNetwork = true;
         xEn.xBaseStats.iHP = 20;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, RenderMaster.txNullTex, new Vector2(46f, 11f), 4, 1, 93, 22, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         xEn.xCollisionComponent.AddHitboxCollider(new BoxCollider(22, 12, 0f, new Vector2(0f, -1f), xEn.xTransform, 10f, xEn), Collider.ColliderLayers.DynamicEnvironment);
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CloudEffect_PurpleCrystal_SlowField)
     {
         xEn = new CrystalForceField();
         CrystalForceField lolz18 = xEn as CrystalForceField;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = true;
         lolz18.colDebuffCollider = new SphereCollider(30f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         lolz18.iDeath *= 500000;
         lolz18.fMoveSpeedDebuff = 0.3f - 0.05f * (float)GameSessionData.iBaseDifficulty;
         lolz18.bActivated = false;
         Dictionary<ushort, Animation> arg_F6B1_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_F6B1_1 = 0;
         ushort arg_F6AC_0 = 0;
         byte arg_F6AC_1 = 0;
         Texture2D arg_F6AC_2 = Content.Load<Texture2D>("Sprites/Monster/Temple/Crystal/ForceField/Forcefield");
         Vector2 arg_F6AC_3 = new Vector2(35f, 34f);
         int arg_F6AC_4 = 4;
         int arg_F6AC_5 = 1;
         int arg_F6AC_6 = 69;
         int arg_F6AC_7 = 70;
         int arg_F6AC_8 = 0;
         int arg_F6AC_9 = 0;
         int arg_F6AC_10 = 10;
         Animation.LoopSettings arg_F6AC_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_F6AC_12 = Animation.CancelOptions.UseAnimationDefault;
         bool arg_F6AC_13 = true;
         bool arg_F6AC_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[9];
         AnimationInstruction[] arg_F4D7_0 = array;
         int arg_F4D7_1 = 0;
         AnimInsCriteria arg_F4D2_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_F4CD_0 = AnimInsEvent.EventType.PlaySound;
         string arg_F4CD_1 = "Guardian_GravityFieldStart";
         float[] array2 = new float[1];
         arg_F4D7_0[arg_F4D7_1] = new AnimationInstruction(arg_F4D2_0, new AnimInsEvent(arg_F4CD_0, arg_F4CD_1, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         }), new AnimInsEvent(AnimInsEvent.EventType.AdjustScale, new float[]
         {
             0.02f
         }));
         AnimationInstruction[] arg_F54F_0 = array;
         int arg_F54F_1 = 2;
         AnimInsCriteria arg_F54A_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         });
         AnimInsEvent.EventType arg_F545_0 = AnimInsEvent.EventType.FreezeFrame;
         array2 = new float[2];
         array2[0] = 50f;
         arg_F54F_0[arg_F54F_1] = new AnimationInstruction(arg_F54A_0, new AnimInsEvent(arg_F545_0, array2));
         array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         }), new AnimInsEvent(AnimInsEvent.EventType.AdjustScale, new float[]
         {
             -0.175f
         }));
         AnimationInstruction[] arg_F5C7_0 = array;
         int arg_F5C7_1 = 4;
         AnimInsCriteria arg_F5C2_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         });
         AnimInsEvent.EventType arg_F5BD_0 = AnimInsEvent.EventType.FreezeFrame;
         array2 = new float[2];
         array2[0] = 8f;
         arg_F5C7_0[arg_F5C7_1] = new AnimationInstruction(arg_F5C2_0, new AnimInsEvent(arg_F5BD_0, array2));
         array[5] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         }), new AnimInsEvent(AnimInsEvent.EventType.AdjustAlpha, new float[]
         {
             0.075f
         }));
         array[6] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         }), new AnimInsEvent(AnimInsEvent.EventType.AdjustScale, new float[]
         {
             0.23f
         }));
         AnimationInstruction[] arg_F67B_0 = array;
         int arg_F67B_1 = 7;
         AnimInsCriteria arg_F676_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         });
         AnimInsEvent.EventType arg_F671_0 = AnimInsEvent.EventType.FreezeFrame;
         array2 = new float[2];
         array2[0] = 8f;
         arg_F67B_0[arg_F67B_1] = new AnimationInstruction(arg_F676_0, new AnimInsEvent(arg_F671_0, array2));
         array[8] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.PlayAnimation, new float[]
         {
             1f
         }));
         arg_F6B1_0.Add(arg_F6B1_1, new Animation(arg_F6AC_0, arg_F6AC_1, arg_F6AC_2, arg_F6AC_3, arg_F6AC_4, arg_F6AC_5, arg_F6AC_6, arg_F6AC_7, arg_F6AC_8, arg_F6AC_9, arg_F6AC_10, arg_F6AC_11, arg_F6AC_12, arg_F6AC_13, arg_F6AC_14, array));
         Dictionary<ushort, Animation> arg_F791_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_F791_1 = 1;
         ushort arg_F78C_0 = 1;
         byte arg_F78C_1 = 0;
         Texture2D arg_F78C_2 = Content.Load<Texture2D>("Sprites/Monster/Temple/Crystal/ForceField/ForcefieldIdle");
         Vector2 arg_F78C_3 = new Vector2(39f, 39f);
         int arg_F78C_4 = 4;
         int arg_F78C_5 = 6;
         int arg_F78C_6 = 79;
         int arg_F78C_7 = 80;
         int arg_F78C_8 = 0;
         int arg_F78C_9 = 0;
         int arg_F78C_10 = 10;
         Animation.LoopSettings arg_F78C_11 = Animation.LoopSettings.Looping;
         Animation.CancelOptions arg_F78C_12 = Animation.CancelOptions.UseAnimationDefault;
         bool arg_F78C_13 = true;
         bool arg_F78C_14 = true;
         array = new AnimationInstruction[3];
         AnimationInstruction[] arg_F72B_0 = array;
         int arg_F72B_1 = 0;
         AnimInsCriteria arg_F726_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         });
         AnimInsEvent.EventType arg_F721_0 = AnimInsEvent.EventType.PlaySound;
         string arg_F721_1 = "Guardian_GravityFieldIdle";
         array2 = new float[1];
         arg_F72B_0[arg_F72B_1] = new AnimationInstruction(arg_F726_0, new AnimInsEvent(arg_F721_0, arg_F721_1, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.SetAlpha, new float[]
         {
             1f
         }));
         array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.SetScale, new float[]
         {
             1f
         }));
         arg_F791_0.Add(arg_F791_1, new Animation(arg_F78C_0, arg_F78C_1, arg_F78C_2, arg_F78C_3, arg_F78C_4, arg_F78C_5, arg_F78C_6, arg_F78C_7, arg_F78C_8, arg_F78C_9, arg_F78C_10, arg_F78C_11, arg_F78C_12, arg_F78C_13, arg_F78C_14, array));
         Dictionary<ushort, Animation> arg_F8AD_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_F8AD_1 = 2;
         ushort arg_F8A8_0 = 2;
         byte arg_F8A8_1 = 0;
         Texture2D arg_F8A8_2 = Content.Load<Texture2D>("Sprites/Monster/Temple/Crystal/ForceField/Forcefield");
         Vector2 arg_F8A8_3 = new Vector2(35f, 34f);
         int arg_F8A8_4 = 4;
         int arg_F8A8_5 = 1;
         int arg_F8A8_6 = 69;
         int arg_F8A8_7 = 70;
         int arg_F8A8_8 = 0;
         int arg_F8A8_9 = 0;
         int arg_F8A8_10 = 10;
         Animation.LoopSettings arg_F8A8_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_F8A8_12 = Animation.CancelOptions.UseAnimationDefault;
         bool arg_F8A8_13 = true;
         bool arg_F8A8_14 = true;
         array = new AnimationInstruction[4];
         AnimationInstruction[] arg_F7FE_0 = array;
         int arg_F7FE_1 = 0;
         AnimInsCriteria arg_F7F9_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_F7F4_0 = AnimInsEvent.EventType.PlaySound;
         string arg_F7F4_1 = "Guardian_GravityFieldEnd";
         array2 = new float[1];
         arg_F7FE_0[arg_F7FE_1] = new AnimationInstruction(arg_F7F9_0, new AnimInsEvent(arg_F7F4_0, arg_F7F4_1, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         }), new AnimInsEvent(AnimInsEvent.EventType.AdjustScale, new float[]
         {
             -0.02f
         }));
         AnimationInstruction[] arg_F876_0 = array;
         int arg_F876_1 = 2;
         AnimInsCriteria arg_F871_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         });
         AnimInsEvent.EventType arg_F86C_0 = AnimInsEvent.EventType.FreezeFrame;
         array2 = new float[2];
         array2[0] = 50f;
         arg_F876_0[arg_F876_1] = new AnimationInstruction(arg_F871_0, new AnimInsEvent(arg_F86C_0, array2));
         array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.ToBeDestroyed, new float[]
         {
             1f
         }));
         arg_F8AD_0.Add(arg_F8AD_1, new Animation(arg_F8A8_0, arg_F8A8_1, arg_F8A8_2, arg_F8A8_3, arg_F8A8_4, arg_F8A8_5, arg_F8A8_6, arg_F8A8_7, arg_F8A8_8, arg_F8A8_9, arg_F8A8_10, arg_F8A8_11, arg_F8A8_12, arg_F8A8_13, arg_F8A8_14, array));
         xEn.xRenderComponent.fVirtualHeight = -1000f;
         xEn.xRenderComponent.fScale = 0f;
         xEn.xRenderComponent.fAlpha = 0.4f;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CloudEffect_PumpKing_Scream)
     {
         xEn = new PumpkingScream();
         PumpkingScream lolz19 = xEn as PumpkingScream;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = true;
         lolz19.colDebuffCollider = new SphereCollider(30f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         lolz19.iDeath *= 500000;
         lolz19.fMoveSpeedDebuff = 0.3f - 0.05f * (float)GameSessionData.iBaseDifficulty;
         Dictionary<ushort, Animation> arg_FB84_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_FB84_1 = 0;
         ushort arg_FB7F_0 = 0;
         byte arg_FB7F_1 = 0;
         Texture2D arg_FB7F_2 = Content.Load<Texture2D>("Sprites/Monster/Temple/Crystal/ForceField/Forcefield");
         Vector2 arg_FB7F_3 = new Vector2(35f, 34f);
         int arg_FB7F_4 = 4;
         int arg_FB7F_5 = 1;
         int arg_FB7F_6 = 69;
         int arg_FB7F_7 = 70;
         int arg_FB7F_8 = 0;
         int arg_FB7F_9 = 0;
         int arg_FB7F_10 = 10;
         Animation.LoopSettings arg_FB7F_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_FB7F_12 = Animation.CancelOptions.UseAnimationDefault;
         bool arg_FB7F_13 = true;
         bool arg_FB7F_14 = true;
         AnimationInstruction[] array = new AnimationInstruction[8];
         AnimationInstruction[] arg_F9E5_0 = array;
         int arg_F9E5_1 = 0;
         AnimInsCriteria arg_F9E0_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_F9DB_0 = AnimInsEvent.EventType.PlaySound;
         string arg_F9DB_1 = "Guardian_GravityFieldStart";
         float[] array2 = new float[1];
         arg_F9E5_0[arg_F9E5_1] = new AnimationInstruction(arg_F9E0_0, new AnimInsEvent(arg_F9DB_0, arg_F9DB_1, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         }), new AnimInsEvent(AnimInsEvent.EventType.AdjustAlpha, new float[]
         {
             0.06f
         }));
         array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         }), new AnimInsEvent(AnimInsEvent.EventType.AdjustScale, new float[]
         {
             0.17f
         }));
         AnimationInstruction[] arg_FA99_0 = array;
         int arg_FA99_1 = 3;
         AnimInsCriteria arg_FA94_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         });
         AnimInsEvent.EventType arg_FA8F_0 = AnimInsEvent.EventType.FreezeFrame;
         array2 = new float[2];
         array2[0] = 10f;
         arg_FA99_0[arg_FA99_1] = new AnimationInstruction(arg_FA94_0, new AnimInsEvent(arg_FA8F_0, array2));
         array[4] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         }), new AnimInsEvent(AnimInsEvent.EventType.AdjustScale, new float[]
         {
             -0.12f
         }));
         array[5] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         }), new AnimInsEvent(AnimInsEvent.EventType.AdjustAlpha, new float[]
         {
             -0.11f
         }));
         AnimationInstruction[] arg_FB4D_0 = array;
         int arg_FB4D_1 = 6;
         AnimInsCriteria arg_FB48_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         });
         AnimInsEvent.EventType arg_FB43_0 = AnimInsEvent.EventType.FreezeFrame;
         array2 = new float[2];
         array2[0] = 20f;
         arg_FB4D_0[arg_FB4D_1] = new AnimationInstruction(arg_FB48_0, new AnimInsEvent(arg_FB43_0, array2));
         array[7] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.ToBeDestroyed, new float[]
         {
             1f
         }));
         arg_FB84_0.Add(arg_FB84_1, new Animation(arg_FB7F_0, arg_FB7F_1, arg_FB7F_2, arg_FB7F_3, arg_FB7F_4, arg_FB7F_5, arg_FB7F_6, arg_FB7F_7, arg_FB7F_8, arg_FB7F_9, arg_FB7F_10, arg_FB7F_11, arg_FB7F_12, arg_FB7F_13, arg_FB7F_14, array));
         Dictionary<ushort, Animation> arg_FC64_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_FC64_1 = 1;
         ushort arg_FC5F_0 = 1;
         byte arg_FC5F_1 = 0;
         Texture2D arg_FC5F_2 = Content.Load<Texture2D>("Sprites/Monster/Temple/Crystal/ForceField/ForcefieldIdle");
         Vector2 arg_FC5F_3 = new Vector2(39f, 39f);
         int arg_FC5F_4 = 4;
         int arg_FC5F_5 = 6;
         int arg_FC5F_6 = 79;
         int arg_FC5F_7 = 80;
         int arg_FC5F_8 = 0;
         int arg_FC5F_9 = 0;
         int arg_FC5F_10 = 10;
         Animation.LoopSettings arg_FC5F_11 = Animation.LoopSettings.Looping;
         Animation.CancelOptions arg_FC5F_12 = Animation.CancelOptions.UseAnimationDefault;
         bool arg_FC5F_13 = true;
         bool arg_FC5F_14 = true;
         array = new AnimationInstruction[3];
         AnimationInstruction[] arg_FBFE_0 = array;
         int arg_FBFE_1 = 0;
         AnimInsCriteria arg_FBF9_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         });
         AnimInsEvent.EventType arg_FBF4_0 = AnimInsEvent.EventType.PlaySound;
         string arg_FBF4_1 = "Guardian_GravityFieldIdle";
         array2 = new float[1];
         arg_FBFE_0[arg_FBFE_1] = new AnimationInstruction(arg_FBF9_0, new AnimInsEvent(arg_FBF4_0, arg_FBF4_1, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.SetAlpha, new float[]
         {
             1f
         }));
         array[2] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.SetScale, new float[]
         {
             1f
         }));
         arg_FC64_0.Add(arg_FC64_1, new Animation(arg_FC5F_0, arg_FC5F_1, arg_FC5F_2, arg_FC5F_3, arg_FC5F_4, arg_FC5F_5, arg_FC5F_6, arg_FC5F_7, arg_FC5F_8, arg_FC5F_9, arg_FC5F_10, arg_FC5F_11, arg_FC5F_12, arg_FC5F_13, arg_FC5F_14, array));
         Dictionary<ushort, Animation> arg_FD80_0 = xEn.xRenderComponent.dixAnimations;
         ushort arg_FD80_1 = 2;
         ushort arg_FD7B_0 = 2;
         byte arg_FD7B_1 = 0;
         Texture2D arg_FD7B_2 = Content.Load<Texture2D>("Sprites/Monster/Temple/Crystal/ForceField/Forcefield");
         Vector2 arg_FD7B_3 = new Vector2(35f, 34f);
         int arg_FD7B_4 = 4;
         int arg_FD7B_5 = 1;
         int arg_FD7B_6 = 69;
         int arg_FD7B_7 = 70;
         int arg_FD7B_8 = 0;
         int arg_FD7B_9 = 0;
         int arg_FD7B_10 = 10;
         Animation.LoopSettings arg_FD7B_11 = Animation.LoopSettings.Clamp;
         Animation.CancelOptions arg_FD7B_12 = Animation.CancelOptions.UseAnimationDefault;
         bool arg_FD7B_13 = true;
         bool arg_FD7B_14 = true;
         array = new AnimationInstruction[4];
         AnimationInstruction[] arg_FCD1_0 = array;
         int arg_FCD1_1 = 0;
         AnimInsCriteria arg_FCCC_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtStart, new float[0]);
         AnimInsEvent.EventType arg_FCC7_0 = AnimInsEvent.EventType.PlaySound;
         string arg_FCC7_1 = "Guardian_GravityFieldEnd";
         array2 = new float[1];
         arg_FCD1_0[arg_FCD1_1] = new AnimationInstruction(arg_FCCC_0, new AnimInsEvent(arg_FCC7_0, arg_FCC7_1, array2));
         array[1] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         }), new AnimInsEvent(AnimInsEvent.EventType.AdjustScale, new float[]
         {
             -0.02f
         }));
         AnimationInstruction[] arg_FD49_0 = array;
         int arg_FD49_1 = 2;
         AnimInsCriteria arg_FD44_0 = new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtFrameX, new float[]
         {
             1f
         });
         AnimInsEvent.EventType arg_FD3F_0 = AnimInsEvent.EventType.FreezeFrame;
         array2 = new float[2];
         array2[0] = 50f;
         arg_FD49_0[arg_FD49_1] = new AnimationInstruction(arg_FD44_0, new AnimInsEvent(arg_FD3F_0, array2));
         array[3] = new AnimationInstruction(new AnimInsCriteria(AnimInsCriteria.Criteria.TriggerAtEnd, new float[0]), new AnimInsEvent(AnimInsEvent.EventType.ToBeDestroyed, new float[]
         {
             1f
         }));
         arg_FD80_0.Add(arg_FD80_1, new Animation(arg_FD7B_0, arg_FD7B_1, arg_FD7B_2, arg_FD7B_3, arg_FD7B_4, arg_FD7B_5, arg_FD7B_6, arg_FD7B_7, arg_FD7B_8, arg_FD7B_9, arg_FD7B_10, arg_FD7B_11, arg_FD7B_12, arg_FD7B_13, arg_FD7B_14, array));
         xEn.xRenderComponent.fVirtualHeight = -1000f;
         xEn.xRenderComponent.fScale = 0f;
         xEn.xRenderComponent.fAlpha = 0.4f;
     }
     else if (enType == DynamicEnvironmentCodex.ObjectTypes.CloudEffect_Ice)
     {
         xEn = new SlipperySurface();
         SlipperySurface lolz20 = xEn as SlipperySurface;
         xEn.enType = enType;
         xEn.enCategory = DynamicEnvironmentCodex.ObjectCategories.General;
         xEn.xRenderComponent.xOwnerObject = xEn;
         xEn.enHitEffect = SortedAnimated.SortedAnimatedEffects.None;
         xEn.bDestroyOnHit = false;
         xEn.bInstantiateInNetwork = false;
         lolz20.colDebuffCollider = new BoxCollider(83, 22, 0f, Vector2.Zero, xEn.xTransform, 0f, xEn);
         lolz20.fMoveSpeedDebuff = 0.6f - 0.1f * (float)GameSessionData.iBaseDifficulty - 0.05f * (float)Program.game.dixPlayers.Count;
         if (lolz20.fMoveSpeedDebuff < 0.1f)
         {
             lolz20.fMoveSpeedDebuff = 0.1f;
         }
         lolz20.iDeath *= GameSessionData.iBaseDifficulty + 1;
         if (Program.GetTheGame().randomInVisual.Next(2) == 0)
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, RenderMaster.txNullTex, new Vector2(55f, 20f), 4, 2, 114, 44, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         }
         else
         {
             xEn.xRenderComponent.dixAnimations.Add(0, new Animation(0, 0, RenderMaster.txNullTex, new Vector2(55f, 20f), 4, 2, 114, 44, 0, 0, 10, Animation.LoopSettings.Clamp, Animation.CancelOptions.UseAnimationDefault, true, true, new AnimationInstruction[0]));
         }
     }
     if (xEn.xRenderComponent != null)
     {
         xEn.xRenderComponent.GetCurrentAnimation().Reset();
     }
     return xEn;
 }
示例#25
0
 public static void SetSign(int id, Sign sign)
 {
     if (Signs.Length > id)
         Signs[id] = sign;
 }
示例#26
0
 public static void AddSign(Sign sign)
 {
     SetSign(sign.GetID(), sign);
 }
示例#27
0
 public Player(string name, Sign playerSign)
 {
     this.Name = name;
     this.PlayerSign = playerSign;
 }
示例#28
0
 bool TryKillSign(int x, int y, int plr)
 {
     Sign sign = null;
     using (QueryResult reader = Database.QueryReader("SELECT Account, ID, Text FROM Signs WHERE X = @0 AND Y = @1 AND WorldID = @2",
         x, y, Main.worldID))
     {
         if (reader.Read())
         {
             sign = new Sign
             {
                 Account = reader.Get<string>("Account"),
                 ID = reader.Get<int>("ID"),
                 Text = reader.Get<string>("Text")
             };
         }
     }
     if (sign != null)
     {
         if (sign.Account != TShock.Players[plr].UserAccountName && sign.Account != "" &&
             !TShock.Players[plr].Group.HasPermission("infsigns.admin.editall"))
         {
             return false;
         }
         Database.Query("DELETE FROM Signs WHERE ID = @0", sign.ID);
     }
     return true;
 }
示例#29
0
        void ModSign(int x, int y, int plr, string text)
        {
            Sign sign = null;
            using (QueryResult reader = Database.QueryReader("SELECT Account, Flags, ID, Password FROM Signs WHERE X = @0 AND Y = @1 AND WorldID = @2",
                x, y, Main.worldID))
            {
                if (reader.Read())
                {
                    sign = new Sign
                    {
                        Account = reader.Get<string>("Account"),
                        Flags = (SignFlags)reader.Get<int>("Flags"),
                        HashedPassword = reader.Get<string>("Password"),
                        ID = reader.Get<int>("ID")
                    };
                }
            }

            var info = Infos[plr];
            var player = TShock.Players[plr];
            if (sign != null)
            {
                Console.WriteLine("IsRegion: {0}", sign.IsRegion);
                bool isFree = String.IsNullOrEmpty(sign.Account);
                bool isOwner = sign.Account == player.UserAccountName || player.Group.HasPermission("infsigns.admin.editall");
                bool isRegion = sign.IsRegion && TShock.Regions.CanBuild(x, y, player);
                if (!isFree && !isOwner && !isRegion)
                {
                    if (String.IsNullOrEmpty(sign.HashedPassword))
                    {
                        player.SendErrorMessage("This sign is protected.");
                        return;
                    }
                    else if (TShock.Utils.HashPassword(info.Password) != sign.HashedPassword)
                    {
                        player.SendErrorMessage("This sign is password protected.");
                        return;
                    }
                    else
                    {
                        player.SendSuccessMessage("Sign unlocked.");
                        info.Password = "";
                    }
                }

                Database.Query("UPDATE Signs SET Text = @0 WHERE ID = @1", text, sign.ID);

                byte[] raw = null;
                using (var writer = new BinaryWriter(new MemoryStream()))
                {
                    writer.Write((short)0);
                    writer.Write((byte)47);
                    writer.Write((short)(info.SignIndex ? 1 : 0));
                    writer.Write((short)x);
                    writer.Write((short)y);
                    writer.Write(sign.Text);

                    short length = (short)writer.BaseStream.Position;
                    writer.BaseStream.Position = 0;
                    writer.Write(length);
                    raw = ((MemoryStream)writer.BaseStream).ToArray();
                }

                foreach (var info2 in Infos.Where(i => i.X == info.X && i.Y == info.Y && i != info))
                {
                    raw[2] = (byte)(info2.SignIndex ? 1 : 0);
                    TShock.Players[info2.Index].SendRawData(raw);
                }
            }
        }
示例#30
0
        void GetSign(int x, int y, int plr)
        {
            Sign sign = null;
            using (QueryResult reader = Database.QueryReader("SELECT Account, Flags, ID, Text FROM Signs WHERE X = @0 AND Y = @1 AND WorldID = @2",
                x, y, Main.worldID))
            {
                if (reader.Read())
                {
                    sign = new Sign
                    {
                        Account = reader.Get<string>("Account"),
                        Flags = (SignFlags)reader.Get<int>("Flags"),
                        ID = reader.Get<int>("ID"),
                        Text = reader.Get<string>("Text")
                    };
                }
            }

            var info = Infos[plr];
            var player = TShock.Players[plr];
            if (sign != null)
            {
                switch (info.Action)
                {
                    case SignAction.Info:
                        player.SendInfoMessage("X: {0} Y: {1} Account: {2} Region: {3}", x, y, sign.Account ?? "N/A", sign.IsRegion);
                        break;
                    case SignAction.Protect:
                        if (!String.IsNullOrEmpty(sign.Account))
                        {
                            player.SendErrorMessage("This sign is protected.");
                            break;
                        }
                        Database.Query("UPDATE Signs SET Account = @0 WHERE ID = @1", player.UserAccountName, sign.ID);
                        player.SendInfoMessage("This sign is now protected.");
                        break;
                    case SignAction.SetPassword:
                        if (String.IsNullOrEmpty(sign.Account))
                        {
                            player.SendErrorMessage("This sign is not protected.");
                            break;
                        }
                        if (sign.Account != player.UserAccountName && !player.Group.HasPermission("infsigns.admin.editall"))
                        {
                            player.SendErrorMessage("This sign is not yours.");
                            break;
                        }
                        if (String.Equals(info.Password, "remove", StringComparison.CurrentCultureIgnoreCase))
                        {
                            Database.Query("UPDATE Signs SET Password = NULL WHERE ID = @0", sign.ID);
                            player.SendSuccessMessage("This sign is no longer password protected.");
                        }
                        else
                        {
                            Database.Query("UPDATE Signs SET Password = @0 WHERE ID = @1", TShock.Utils.HashPassword(info.Password), sign.ID);
                            player.SendSuccessMessage("This sign is now password protected with password '{0}'.", info.Password);
                        }
                        break;
                    case SignAction.TogglePublic:
                        if (String.IsNullOrEmpty(sign.Account))
                        {
                            player.SendErrorMessage("This sign is not protected.");
                            break;
                        }
                        if (sign.Account != player.UserAccountName && !player.Group.HasPermission("infsigns.admin.editall"))
                        {
                            player.SendErrorMessage("This sign is not yours.");
                            break;
                        }
                        Database.Query("UPDATE Signs SET Flags = (~(Flags & 1)) & (Flags | 1) WHERE ID = @0", sign.ID);
                        player.SendInfoMessage("This sign is no{0} public.", sign.IsRegion ? " longer" : "w");
                        break;
                    case SignAction.ToggleRegion:
                        if (String.IsNullOrEmpty(sign.Account))
                        {
                            player.SendErrorMessage("This sign is not protected.");
                            break;
                        }
                        if (sign.Account != player.UserAccountName && !player.Group.HasPermission("infsigns.admin.editall"))
                        {
                            player.SendErrorMessage("This sign is not yours.");
                            break;
                        }
                        Database.Query("UPDATE Signs SET Flags = (~(Flags & 2)) & (Flags | 2) WHERE ID = @0", sign.ID);
                        player.SendInfoMessage("This sign is no{0} region shared.", sign.IsRegion ? " longer" : "w");
                        break;
                    case SignAction.Unprotect:
                        if (String.IsNullOrEmpty(sign.Account))
                        {
                            player.SendErrorMessage("This sign is not protected.");
                            break;
                        }
                        if (sign.Account != player.UserAccountName && !player.Group.HasPermission("infsigns.admin.editall"))
                        {
                            player.SendErrorMessage("This sign is not yours.");
                            break;
                        }
                        Database.Query("UPDATE Signs SET Account = NULL, Flags = 0, Password = NULL WHERE ID = @0", sign.ID);
                        player.SendInfoMessage("This sign is now unprotected.");
                        break;
                    default:
                        sign.Text = sign.Text.Replace("\0", "");
                        using (var writer = new BinaryWriter(new MemoryStream()))
                        {
                            writer.Write((short)0);
                            writer.Write((byte)47);
                            writer.Write((short)(info.SignIndex ? 1 : 0));
                            writer.Write((short)x);
                            writer.Write((short)y);
                            writer.Write(sign.Text);

                            short length = (short)writer.BaseStream.Position;
                            writer.BaseStream.Position = 0;
                            writer.Write(length);
                            player.SendRawData(((MemoryStream)writer.BaseStream).ToArray());
                        }
                        info.SignIndex = !info.SignIndex;
                        info.X = x;
                        info.Y = y;
                        break;
                }
                info.Action = SignAction.None;
            }
        }