Inheritance: MonoBehaviour
Ejemplo n.º 1
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);
        }
Ejemplo n.º 3
0
 public SimpleExpression(Sign sign, string variable, double coeficient, double exponent)
 {
     _sign = sign;
     _variable = variable;
     _coeficient = coeficient;
     _exponent = exponent;
 }
Ejemplo n.º 4
0
        public string GetHoroscope(Sign sign)
        {
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(Data);

            return doc.SelectSingleNode("//item[title = \"" + sign.ToString() + "\"]/description").InnerText;
        }
Ejemplo n.º 5
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++;
                }
            }
        }
Ejemplo n.º 7
0
 /// <summary>
 /// Default constructor, intializing the Base10BigInteger with zero.
 /// </summary>
 public Base10BigInteger()
 {
     digits = new long[MaxSize];
     size = 1;
     digits[size] = 0;
     sign = Sign.Positive;
 }
Ejemplo n.º 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;
 }
Ejemplo n.º 9
0
 public void FlipSign()
 {
     if(NumericalContent != 0){
         if (sign == Sign.negative)
             sign = Sign.positive;
         else
             sign = Sign.negative;
     }
 }
Ejemplo n.º 10
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;
        }
Ejemplo n.º 11
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;
 }
Ejemplo n.º 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;
		}
Ejemplo n.º 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.");
        }
Ejemplo n.º 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;
        }
Ejemplo n.º 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;
        }
Ejemplo n.º 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()));
 }
Ejemplo n.º 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);
                                     }
                                 });
        }
Ejemplo n.º 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");
        }
Ejemplo n.º 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());
 }
Ejemplo n.º 20
0
 public void MergeFrom(Signature other)
 {
     if (other == null)
     {
         return;
     }
     if (other.sign_ != null)
     {
         if (sign_ == null)
         {
             Sign = new global::NeoFS.API.Service.RequestVerificationHeader.Types.Sign();
         }
         Sign.MergeFrom(other.Sign);
     }
     if (other.origin_ != null)
     {
         if (origin_ == null)
         {
             Origin = new global::NeoFS.API.Service.RequestVerificationHeader.Types.Sign();
         }
         Origin.MergeFrom(other.Origin);
     }
     _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
 }
Ejemplo n.º 21
0
        /// <summary>
        /// 分片上传第一步
        /// </summary>
        /// <param name="bucketName">bucket名称</param>
        /// <param name="remotePath">远程文件路径</param>
        /// <param name="localPath">本地文件路径</param>
        /// <param name="videoCover">视频封面Url</param>
        /// <param name="bizAttribute">附加信息</param>
        /// <param name="title">标题</param>
        /// <param name="desc">描述</param>
        /// <param name="magicContext">透传字段,业务设置回调url的话,会把这个字段通过回调url传给业务</param>
        /// <param name="sliceSize">切片大小(字节)</param>
        /// <returns></returns>
        public string SliceUploadFirstStep(string bucketName, string remotePath, string localPath, string videoCover, string bizAttribute, string title,
                                           string desc, string magicContext, int sliceSize)
        {
            var url      = VIDEOAPI_CGI_URL + appId + "/" + bucketName + EncodeRemotePath(remotePath);
            var sha1     = SHA1.GetSHA1(localPath);
            var fileSize = new FileInfo(localPath).Length;
            var data     = new Dictionary <string, string>();

            data.Add("op", "upload_slice");
            data.Add("sha", sha1);
            data.Add("filesize", fileSize.ToString());
            data.Add("slice_size", sliceSize.ToString());
            data.Add("video_cover", videoCover);
            data.Add("video_title", title);
            data.Add("video_desc", desc);
            data.Add("magicContext", magicContext);
            data.Add("biz_attr", bizAttribute);
            var expired = DateTime.Now.ToUnixTime() / 1000 + 60;
            var sign    = Sign.Signature(appId, secretId, secretKey, expired, bucketName);
            var header  = new Dictionary <string, string>();

            header.Add("Authorization", sign);
            return(Request.SendRequest(url, data, HttpMethod.Post, header, timeOut));
        }
Ejemplo n.º 22
0
        /// <summary>
        /// Constructor deserializing a BigInteger.
        /// </summary>
        private BigInteger(SerializationInfo info, StreamingContext context)
        {
            bool signValue = (bool)info.GetValue("sign", typeof(bool));

            if (signValue == true)
            {
                sign = Sign.Positive;
            }
            else
            {
                sign = Sign.Negative;
            }

            size   = (int)info.GetValue("size", typeof(short));
            digits = new DigitContainer();

            int i;

            for (i = 0; i < size; i++)
            {
                digits[i] = (long)(info.GetValue(string.Format("{0}{1}", "d_", i.ToString()),
                                                 typeof(ushort)));
            }
        }
Ejemplo n.º 23
0
        /// <summary>
        /// Constructor creating a positive BigInteger by extracting it's digits from a given byte array.
        /// </summary>
        /// <param name="byteArray">The byte array</param>
        /// <exception cref="BigIntegerException">The byte array's content exceeds the maximum size of a BigInteger
        /// exception</exception>
        public BigInteger(byte[] byteArray)
        {
            if (byteArray.Length / 4 > MaxSize)
            {
                throw new BigIntegerException("The byte array's content exceeds the maximum size of a BigInteger.", null);
            }

            digits = new DigitContainer();
            sign   = Sign.Positive;

            for (int i = 0; i < byteArray.Length; i += 2)
            {
                int currentDigit = (int)byteArray[i];
                if (i + 1 < byteArray.Length)
                {
                    currentDigit <<= 8;
                    currentDigit  += (int)byteArray[i + 1];
                }

                digits[size++] = (long)currentDigit;
            }

            bool reducible = true;

            while ((size - 1 > 0) && (reducible == true))
            {
                if (digits[size - 1] == 0)
                {
                    size--;
                }
                else
                {
                    reducible = false;
                }
            }
        }
Ejemplo n.º 24
0
        public override bool Interact(Level currentLevel, Player player, BlockCoordinates blockCoordinates, BlockFace face)
        {
            Sign signEntity = currentLevel.GetBlockEntity(blockCoordinates) as Sign;

            if (signEntity == null)
            {
                return(false);
            }

            string world = signEntity.Text1;

            if (player.Level.LevelId.Equals(world))
            {
                return(true);
            }

            if (!Worlds.ContainsKey(player.Level.LevelId))
            {
                Worlds.Add(player.Level.LevelId, player.Level);
            }


            if (!Worlds.ContainsKey(world))
            {
                var mobHuntLevel = new MobHuntLevel(world, new FlatlandWorldProvider());
                mobHuntLevel.Initialize();
                Worlds.Add(world, mobHuntLevel);
            }

            Level level = Worlds[world];

            player.SpawnLevel(level);
            level.BroadcastTextMessage(string.Format("{0} teleported to world <{1}>.", player.Username, level.LevelId));

            return(true);
        }
Ejemplo n.º 25
0
        /// <summary>
        /// 目录列表查询所有目录和文件,前缀搜索
        /// </summary>
        /// <param name="bucketName">bucket名称</param>
        /// <param name="remotePath">远程文件夹路径</param>
        /// <param name="parameterDic">参数Dictionary</param>
        /// 包含如下可选参数:
        /// num:拉取的总数,最大1000,如果不带,则默认num=1000
        /// listFlag:大于0返回全部数据,否则返回部分数据
        /// context:透传字段,用于翻页,前端不需理解,需要往后翻页则透传回来
        /// prefix:读取文件/文件夹前缀
        /// <returns></returns>
        public string GetFolderList(string bucketName, string remotePath, Dictionary <string, string> parameterDic)
        {
            string prefix = "";

            if (parameterDic != null && parameterDic.ContainsKey(CosParameters.PARA_PREFIX))
            {
                prefix = parameterDic[CosParameters.PARA_PREFIX];
            }

            remotePath = HttpUtils.StandardizationRemotePath(remotePath);
            if (String.IsNullOrEmpty(remotePath))
            {
                return(constructResult(ERRORCode.ERROR_CODE_PARAMETER_ERROE, "ERROR_CODE_PARAMETER_ERROE,remotePath illegal"));
            }

            var url  = generateURL(bucketName, remotePath, prefix);
            var data = new Dictionary <string, object>();

            data.Add("op", "list");

            //num是必选参数
            if (!addFolderListNum(ref data, ref parameterDic))
            {
                return(constructResult(ERRORCode.ERROR_CODE_PARAMETER_ERROE, "parameter num value invalidate"));
            }

            addParameter(CosParameters.PARA_CONTEXT, ref data, ref parameterDic);
            addParameter(CosParameters.PARA_LIST_FLAG, ref data, ref parameterDic);

            var expired = getExpiredTime();
            var sign    = Sign.Signature(appId, secretId, secretKey, expired, bucketName);
            var header  = new Dictionary <string, string>();

            header.Add("Authorization", sign);
            return(httpRequest.SendRequest(url, ref data, HttpMethod.Get, ref header, timeOut));
        }
Ejemplo n.º 26
0
        private byte[] Expand(byte[] prk, byte[] info, int outputSize)
        {
            try
            {
                int          iterations     = (int)Math.Ceiling((double)outputSize / (double)HashOutputSize);
                byte[]       mixin          = new byte[0];
                MemoryStream results        = new MemoryStream();
                int          remainingBytes = outputSize;

                for (int i = GetIterationStartOffset(); i < iterations + GetIterationStartOffset(); i++)
                {
                    MemoryStream msg = new MemoryStream();
                    msg.Write(mixin, 0, mixin.Length);
                    if (info != null)
                    {
                        msg.Write(info, 0, info.Length);
                    }
                    byte[] ib = BitConverter.GetBytes(i);
                    msg.Write(ib, 0, 1);

                    byte[] stepResult = Sign.Sha256Sum(prk, msg.ToArray());
                    int    stepSize   = Math.Min(remainingBytes, stepResult.Length);

                    results.Write(stepResult, 0, stepSize);

                    mixin           = stepResult;
                    remainingBytes -= stepSize;
                }

                return(results.ToArray());
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
Ejemplo n.º 27
0
        /// <summary>
        /// 获取公共参数
        /// </summary>
        /// <returns></returns>
        public Dictionary <string, string> GetPublicParams()
        {
            Dictionary <string, string> dic = new Dictionary <string, string>();

            dic.Add("cusid", Cusid);
            dic.Add("appid", AppId);
            dic.Add("version", Version);
            dic.Add("trxamt", Trxamt.ToString());
            dic.Add("reqsn", Reqsn);
            dic.Add("paytype", PayType);
            dic.Add("randomstr", RandomStr);
            dic.Add("body", Body);
            dic.Add("remark", Remark);
            dic.Add("validtime", ValidTime);
            dic.Add("acct", Acct);
            dic.Add("notify_url", NotifyUrl);
            dic.Add("limit_pay", LimitPay);
            dic.Add("sub_appid", SubAppid);
            dic.Add("goods_tag", GoodsTag);
            dic.Add("benefitdetail", BenefitDetail);
            dic.Add("chnlstoreid", ChnlstoreId);
            dic.Add("subbranch", SubBranch);
            dic.Add("extendparams", ExtendParams);
            dic.Add("cusip", Cusip);
            dic.Add("front_url", FrontUrl);
            dic.Add("idno", Idno);
            dic.Add("truename", TrueName);
            dic.Add("asinfo", AsInfo);
            dic.Add("fqnum", FqNum);
            dic.Add("signtype", SignType);
            dic  = dic.IgnoreNull <string>();
            Sign = GetSign(dic);
            // dic.Remove("key");
            dic.Add("sign", Sign.ToLower());
            return(dic);
        }
        public static ClipboardBuffer LoadOld(string filename)
        {
            using (var stream = new FileStream(filename, FileMode.Open))
            {
                using (var reader = new BinaryReader(stream))
                {
                    string name    = reader.ReadString();
                    int    version = reader.ReadInt32();
                    int    maxx    = reader.ReadInt32();
                    int    maxy    = reader.ReadInt32();

                    var buffer = new ClipboardBuffer(new Vector2Int32(maxx, maxy));

                    buffer.Name = string.IsNullOrWhiteSpace(name) ? Path.GetFileNameWithoutExtension(filename) : name;

                    try
                    {
                        for (int x = 0; x < buffer.Size.X; x++)
                        {
                            for (int y = 0; y < buffer.Size.Y; y++)
                            {
                                var tile = new Tile();

                                tile.IsActive = reader.ReadBoolean();

                                if (tile.IsActive)
                                {
                                    tile.Type = reader.ReadByte();

                                    if (tile.Type == (int)TileType.Platform)
                                    {
                                        tile.U = 0;
                                        tile.V = 0;
                                    }
                                    else if (World.TileProperties[tile.Type].IsFramed)
                                    {
                                        tile.U = reader.ReadInt16();
                                        tile.V = reader.ReadInt16();
                                    }
                                    else
                                    {
                                        tile.U = -1;
                                        tile.V = -1;
                                    }
                                }

                                // trash old lighted value
                                reader.ReadBoolean();

                                if (reader.ReadBoolean())
                                {
                                    tile.Wall = reader.ReadByte();
                                }

                                if (reader.ReadBoolean())
                                {
                                    tile.LiquidType   = LiquidType.Water;
                                    tile.LiquidAmount = reader.ReadByte();
                                    if (reader.ReadBoolean()) // lava
                                    {
                                        tile.LiquidType = LiquidType.Lava;
                                    }
                                }

                                buffer.Tiles[x, y] = tile;
                            }
                        }
                    }
                    catch (Exception)
                    {
                        for (int x = 0; x < buffer.Size.X; x++)
                        {
                            for (int y = 0; y < buffer.Size.Y; y++)
                            {
                                if (buffer.Tiles[x, y] == null)
                                {
                                    buffer.Tiles[x, y] = new Tile();
                                }
                            }
                        }
                        return(buffer);
                    }

                    for (int chestIndex = 0; chestIndex < 1000; chestIndex++)
                    {
                        if (reader.ReadBoolean())
                        {
                            var chest = new Chest();
                            chest.X = reader.ReadInt32();
                            chest.Y = reader.ReadInt32();

                            for (int slot = 0; slot < 20; slot++)
                            {
                                byte stackSize = reader.ReadByte();
                                if (stackSize > 0)
                                {
                                    string itemName = reader.ReadString();
                                    chest.Items[slot].SetFromName(itemName);
                                    chest.Items[slot].StackSize = stackSize;
                                }
                            }

                            //Chests[chestIndex] = chest;
                            buffer.Chests.Add(chest);
                        }
                    }
                    for (int signIndex = 0; signIndex < 1000; signIndex++)
                    {
                        if (reader.ReadBoolean())
                        {
                            string signText = reader.ReadString();
                            int    x        = reader.ReadInt32();
                            int    y        = reader.ReadInt32();
                            if (buffer.Tiles[x, y].IsActive && Tile.IsSign(buffer.Tiles[x, y].Type))
                            // validate tile location
                            {
                                var sign = new Sign(x, y, signText);
                                //Signs[signIndex] = sign;
                                buffer.Signs.Add(sign);
                            }
                        }
                    }

                    int checkx = reader.ReadInt32();
                    int checky = reader.ReadInt32();

                    if (checkx == maxx && checky == maxy)
                    {
                        return(buffer);
                    }
                }
            }

            return(null);
        }
Ejemplo n.º 29
0
        public static void LoadWorldSection(string path)
        {
            var data = LoadWorldData(path);

            for (var i = 0; i < data.Width; i++)
            {
                for (var j = 0; j < data.Height; j++)
                {
                    Main.tile[i + data.X, j + data.Y] = data.Tiles[i, j];
                    Main.tile[i + data.X, j + data.Y].skipLiquid(true);
                }
            }

            foreach (var sign in data.Signs)
            {
                var id = Sign.ReadSign(sign.X + data.X, sign.Y + data.Y);
                if (id == -1)
                {
                    continue;
                }

                Sign.TextSign(id, sign.Text);
            }

            foreach (var itemFrame in data.ItemFrames)
            {
                var x = itemFrame.X + data.X;
                var y = itemFrame.Y + data.Y;

                var id = TEItemFrame.Place(x, y);
                if (id == -1)
                {
                    continue;
                }

                WorldGen.PlaceObject(x, y, TileID.ItemFrame);
                var frame = (TEItemFrame)TileEntity.ByID[id];

                frame.item = new Item();
                frame.item.netDefaults(itemFrame.Item.NetId);
                frame.item.stack  = itemFrame.Item.Stack;
                frame.item.prefix = itemFrame.Item.PrefixId;
            }

            foreach (var chest in data.Chests)
            {
                int chestX = chest.X + data.X, chestY = chest.Y + data.Y;

                int id;
                if ((id = Chest.FindChest(chestX, chestY)) == -1 &&
                    (id = Chest.CreateChest(chestX, chestY)) == -1)
                {
                    continue;
                }

                WorldGen.PlaceChest(chestX, chestY);
                for (var index = 0; index < chest.Items.Length; index++)
                {
                    var netItem = chest.Items[index];
                    var item    = new Item();
                    item.netDefaults(netItem.NetId);
                    item.stack  = netItem.Stack;
                    item.prefix = netItem.PrefixId;
                    Main.chest[id].item[index] = item;
                }
            }

            ResetSection(data.X, data.Y, data.X + data.Width, data.Y + data.Height);
        }
Ejemplo n.º 30
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="codeName"></param>
        /// <param name="codeNumber"></param>
        /// <param name="ma"></param>4
        /// <param name="bollinger"></param>5
        /// <param name="ichimoku"></param>
        /// <param name="parabolic"></param>6
        /// <param name="pivot"></param>7
        /// <param name="ROC"></param>8
        /// <param name="psycho"></param>9
        /// <param name="deviation"></param>10
        /// <param name="RSI"></param>
        /// <param name="RCI"></param>
        /// <param name="perR"></param>
        /// <param name="stochastic"></param>
        /// <param name="MACD"></param>15
        /// <param name="DMI"></param>
        /// <param name="volume"></param>
        /// <param name="MFI"></param>
        /// <param name="maTrend"></param>
        /// <param name="DMITrend"></param>20
        /// <param name="ParabolicTrend"></param>
        /// <param name="MACDTrend"></param>
        /// <param name="hlBand"></param>
        /// <param name="twoMA"></param>
        /// <param name="fourWeeksRule"></param>
        /// <param name="pfB1"></param>
        /// <param name="pfB2"></param>
        /// <param name="pfB3"></param>
        /// <param name="pfB4"></param>
        /// <param name="pfB5"></param>30
        /// <param name="pfS1"></param>
        /// <param name="pfS2"></param>
        /// <param name="WhiteMaruBozu"></param>
        /// <param name="WhiteOhBikeBozu"></param>
        /// <param name="WhiteYoritsukiBozu"></param>
        /// <param name="BlackMaruBozu"></param>
        /// <param name="BlackOhbikeBozu"></param>
        /// <param name="BlackYoritsukiBozu"></param>
        /// <param name="WhiteShitakage"></param>
        /// <param name="WhiteUekage"></param>
        /// <param name="WhiteKarakasa"></param>
        /// <param name="BlackShitakage"></param>
        /// <param name="BlackUekage"></param>
        /// <param name="BlackKarakasa"></param>
        /// <param name="Tonkachi"></param>
        /// <param name="Tombo"></param>
        /// <param name="Touba"></param>
        /// <param name="SankuTatamikomi"></param>
        /// <param name="SanteDaiInsen"></param>
        /// <param name="LastIdakiInsen"></param>
        /// <param name="Akenomyojo"></param>
        /// <param name="SUtegozoko"></param>
        /// <param name="TakuriSen"></param>
        /// <param name="SeiryokuSen"></param>
        /// <param name="InInHarami"></param>
        /// <param name="IdakiYosen"></param>
        /// <param name="Akasanpei"></param>
        /// <param name="KaiFiveYosen"></param>
        /// <param name="OsaekomiSen"></param>
        /// <param name="Agesanpo"></param>
        /// <param name="SankuHumiage"></param>
        /// <param name="SinneHatteRiguiSen"></param>
        /// <param name="IkiDumari"></param>
        /// <param name="JouiUwabanareInsen"></param>
        /// <param name="YoYoHarami"></param>
        /// <param name="LastIdakiYosen"></param>
        /// <param name="IdakiInsen"></param>
        /// <param name="minPP"></param>
        public SignData(string codeName, int codeNumber, Sign ma, Sign bollinger, Sign ichimoku, Sign parabolic, Sign pivot, Sign ROC, Sign psycho, Sign deviation,
                        Sign RSI, Sign RCI, Sign perR, Sign stochastic, Sign MACD, Sign DMI, Sign volume, Sign MFI,
                        Trend maTrend, Trend DMITrend, Trend ParabolicTrend, Trend MACDTrend,
                        Sign hlBand, Sign twoMA, Sign fourWeeksRule, Sign pfB1, Sign pfB2, Sign pfB3, Sign pfB4, Sign pfB5, Sign pfS1, Sign pfS2,
                        Sign WhiteMaruBozu, Sign WhiteOhBikeBozu, Sign WhiteYoritsukiBozu, Sign BlackMaruBozu, Sign BlackOhbikeBozu, Sign BlackYoritsukiBozu, Sign WhiteShitakage, Sign WhiteUekage, Sign WhiteKarakasa,
                        Sign BlackShitakage, Sign BlackUekage, Sign BlackKarakasa, Sign Tonkachi, Sign Tombo, Sign Touba,
                        Sign SankuTatamikomi, Sign SanteDaiInsen, Sign LastIdakiInsen, Sign Akenomyojo, Sign SUtegozoko, Sign TakuriSen, Sign SeiryokuSen, Sign InInHarami, Sign IdakiYosen,
                        Sign Akasanpei, Sign KaiFiveYosen, Sign OsaekomiSen, Sign Agesanpo,
                        Sign SankuHumiage, Sign SinneHatteRiguiSen, Sign IkiDumari, Sign JouiUwabanareInsen, Sign YoYoHarami, Sign LastIdakiYosen, Sign IdakiInsen
                        , double minPP)
        {
            this.codeName          = codeName;
            this.codeNumber        = codeNumber;
            this.maSign            = ma;
            this.bollingerSign     = bollinger;
            this.ichimokuSign      = ichimoku;
            this.parabolicSign     = parabolic;
            this.pivotSign         = pivot;
            this.ROCSign           = ROC;
            this.psychologicalSign = psycho;
            this.deviationSign     = deviation;
            this.RSISign           = RSI;
            this.RCISign           = RCI;
            this.perRSign          = perR;
            this.stochasticSign    = stochastic;
            this.MACDSign          = MACD;
            this.DMISign           = DMI;
            this.VolumeSign        = volume;
            this.MFISign           = MFI;
            this.MATrend           = maTrend;
            this.DMITrend          = DMITrend;
            this.ParabolicTrend    = ParabolicTrend;
            this.MACDTrend         = MACDTrend;

            this.HLBand        = hlBand;
            this.TwoMA         = twoMA;
            this.FourWeeksRule = fourWeeksRule;
            this.PFB1          = pfB1;
            this.PFB2          = pfB2;
            this.PFB3          = pfB3;
            this.PFB4          = pfB4;
            this.PFB5          = pfB5;
            this.PFS1          = pfS1;
            this.PFS2          = pfS2;

            this.WhiteMaruBozu      = WhiteMaruBozu;
            this.WhiteOhbikeBozu    = WhiteOhBikeBozu;
            this.WhiteYoritsukiBozu = WhiteYoritsukiBozu;
            this.BlackMaruBozu      = BlackMaruBozu;
            this.BlackOhbikeBozu    = BlackOhbikeBozu;
            this.BlackYoritsukiBozu = BlackYoritsukiBozu;
            this.WhiteShitakage     = WhiteShitakage;
            this.WhiteUekage        = WhiteUekage;
            this.WhiteKarakasa      = WhiteKarakasa;
            this.BlackShitakage     = BlackShitakage;
            this.BlackUekage        = BlackUekage;
            this.BlackKarakasa      = BlackKarakasa;
            this.Tonkachi           = Tonkachi;
            this.Tombo              = Tombo;
            this.Touba              = Touba;
            this.SankuTatakikomi    = SankuTatamikomi;
            this.SanteDaiInsen      = SanteDaiInsen;
            this.LastIdakiInsen     = LastIdakiInsen;
            this.AkenoMyojo         = Akenomyojo;
            this.Sutegozoko         = SUtegozoko;
            this.TakuriSen          = TakuriSen;
            this.Seiryokusen        = SeiryokuSen;
            this.BlackBlackHarami   = InInHarami;
            this.IdakiYosen         = IdakiYosen;
            this.Akasanpei          = Akasanpei;
            this.KaiFiveYosen       = KaiFiveYosen;
            this.Osaekomisen        = OsaekomiSen;
            this.Agesanpo           = Agesanpo;
            this.SankuHumiage       = SankuHumiage;
            this.SinneHatteRiguiSen = SinneHatteRiguiSen;
            this.IkiDumari          = IkiDumari;
            this.JouiUwabanareInsen = JouiUwabanareInsen;
            this.YoYoHarami         = YoYoHarami;
            this.LastIdakiYosen     = LastIdakiYosen;
            this.IdakiYosen         = IdakiYosen;

            this.minPurchasePrice = minPP;

            UpdateCount();
        }
        public static ClipboardBuffer Load2(string filename)
        {
            using (var stream = new FileStream(filename, FileMode.Open))
            {
                using (var reader = new BinaryReader(stream))
                {
                    string name    = reader.ReadString();
                    int    version = reader.ReadInt32();
                    int    maxx    = reader.ReadInt32();
                    int    maxy    = reader.ReadInt32();

                    var buffer = new ClipboardBuffer(new Vector2Int32(maxx, maxy));

                    buffer.Name = string.IsNullOrWhiteSpace(name) ? Path.GetFileNameWithoutExtension(filename) : name;

                    try
                    {
                        for (int x = 0; x < maxx; x++)
                        {
                            for (int y = 0; y < maxy; y++)
                            {
                                var curTile = new Tile();
                                curTile.IsActive = reader.ReadBoolean();

                                if (curTile.IsActive)
                                {
                                    curTile.Type = reader.ReadByte();
                                    if (curTile.Type == (int)TileType.Platform)
                                    {
                                        curTile.U = 0;
                                        curTile.V = 0;
                                    }
                                    else if (World.TileProperties[curTile.Type].IsFramed)
                                    {
                                        curTile.U = reader.ReadInt16();
                                        curTile.V = reader.ReadInt16();

                                        if (curTile.Type == (int)TileType.Timer)
                                        {
                                            curTile.V = 0;
                                        }
                                    }
                                    else
                                    {
                                        curTile.U = -1;
                                        curTile.V = -1;
                                    }
                                }

                                if (reader.ReadBoolean())
                                {
                                    curTile.Wall = reader.ReadByte();
                                }

                                if (reader.ReadBoolean())
                                {
                                    curTile.LiquidAmount = reader.ReadByte();
                                    bool lava = reader.ReadBoolean();
                                    curTile.LiquidType = lava ? LiquidType.Lava : LiquidType.Water;
                                }

                                curTile.WireRed    = reader.ReadBoolean();
                                buffer.Tiles[x, y] = curTile;
                            }
                        }
                    }
                    catch (Exception)
                    {
                        for (int x = 0; x < buffer.Size.X; x++)
                        {
                            for (int y = 0; y < buffer.Size.Y; y++)
                            {
                                if (buffer.Tiles[x, y] == null)
                                {
                                    buffer.Tiles[x, y] = new Tile();
                                }
                            }
                        }
                        return(buffer);
                    }

                    for (int chestIndex = 0; chestIndex < 1000; chestIndex++)
                    {
                        if (reader.ReadBoolean())
                        {
                            var chest = new Chest();
                            chest.X = reader.ReadInt32();
                            chest.Y = reader.ReadInt32();

                            for (int slot = 0; slot < 20; slot++)
                            {
                                byte stackSize = reader.ReadByte();
                                if (stackSize > 0)
                                {
                                    string itemName = reader.ReadString();
                                    chest.Items[slot].SetFromName(itemName);
                                    chest.Items[slot].StackSize = stackSize;
                                }
                            }

                            //Chests[chestIndex] = chest;
                            buffer.Chests.Add(chest);
                        }
                    }
                    for (int signIndex = 0; signIndex < 1000; signIndex++)
                    {
                        if (reader.ReadBoolean())
                        {
                            string signText = reader.ReadString();
                            int    x        = reader.ReadInt32();
                            int    y        = reader.ReadInt32();
                            if (buffer.Tiles[x, y].IsActive && Tile.IsSign(buffer.Tiles[x, y].Type))
                            // validate tile location
                            {
                                var sign = new Sign(x, y, signText);
                                //Signs[signIndex] = sign;
                                buffer.Signs.Add(sign);
                            }
                        }
                    }
                    string checkName    = reader.ReadString();
                    int    checkversion = reader.ReadInt32();
                    int    checkx       = reader.ReadInt32();
                    int    checky       = reader.ReadInt32();

                    if (checkName != buffer.Name || checkversion != version || checkx != maxx || checky != maxy)
                    {
                        System.Windows.MessageBox.Show("Verification failed. Some schematic data may be missing.", "Legacy Schematic Version");
                    }

                    return(buffer);
                }
            }

            return(null);
        }
Ejemplo n.º 32
0
 private record Inst(string Reg, Sign Sign, int Offset, string Cmp, Op Op, int Value);
Ejemplo n.º 33
0
        /// <summary>
        /// Shows the edit.
        /// </summary>
        /// <param name="DeviceId">The device identifier.</param>
        public void ShowDetail(int signId)
        {
            pnlDetails.Visible = true;
            Sign sign = null;

            var rockContext = new RockContext();

            if (!signId.Equals(0))
            {
                sign = new SignService(rockContext).Get(signId);
                lActionTitle.Text = ActionTitle.Edit(Sign.FriendlyTypeName).FormatAsHtmlTitle();
                SignCategories    = new Dictionary <int, string>();
                foreach (var signCategory in sign.SignCategories)
                {
                    SignCategories.Add(signCategory.Id, signCategory.Name);
                }
            }

            if (sign == null)
            {
                sign = new Sign {
                    Id = 0
                };
                lActionTitle.Text = ActionTitle.Add(Sign.FriendlyTypeName).FormatAsHtmlTitle();
                sign.Port         = "9107";
            }

            hfSignId.Value = sign.Id.ToString();

            tbName.Text        = sign.Name;
            tbPIN.Text         = sign.PIN;
            tbDescription.Text = sign.Description;
            tbIPAddress.Text   = sign.IPAddress;

            if (sign.Port.IsNullOrWhiteSpace())
            {
                sign.Port = "9107";
            }
            tbPort.Text = sign.Port;

            // render UI based on Authorized and IsSystem
            bool readOnly = false;

            nbEditModeMessage.Text = string.Empty;
            if (!IsUserAuthorized(Authorization.EDIT))
            {
                readOnly = true;
                nbEditModeMessage.Text = EditModeMessage.ReadOnlyEditActionNotAllowed(Sign.FriendlyTypeName);
            }

            if (readOnly)
            {
                lActionTitle.Text = ActionTitle.View(Sign.FriendlyTypeName);
                btnCancel.Text    = "Close";
            }

            tbName.ReadOnly        = readOnly;
            tbPIN.ReadOnly         = readOnly;
            tbDescription.ReadOnly = readOnly;

            btnSave.Visible = !readOnly;

            BindSignCategories();
        }
Ejemplo n.º 34
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++;
     }
 }
Ejemplo n.º 35
0
    private void Update()
    {
        isThisThingOn = this.gameObject.GetActive();

        if (PhotonNetwork.player.IsLocal)
        {
            if (Input.GetKey(KeyCode.LeftAlt) && Input.GetMouseButton(0))
            {
                LineR.enabled = true;
                isThisThingOn = true;
                //라인렌더 종료지점 설정

                MousePosToRay = TargetCamera.ScreenPointToRay(Input.mousePosition);
                float distanceForEndPos = 0;
                plane.Raycast(MousePosToRay, out distanceForEndPos);
                endPos  = MousePosToRay.origin + MousePosToRay.direction * distanceForEndPos;
                endline = endPos;
                LineR.SetPosition(1, GetMousePosition());
                sign = GetMousePos(startPos, endPos);
            }


            if (LineR.enabled && Input.GetMouseButtonUp(0))
            {
                if (!pingPool.CanMakePing) //핑 횟수제한을 넘었다면
                {
                    isThisThingOn = false;
                    //사용할수없습니다 메세지 출력
                    gameObject.SetActive(false);
                    return;
                }
                else if ((sign.Equals(Sign.Exit))) // Exit 를 선택 했다면
                {
                    isThisThingOn = false;
                    gameObject.SetActive(false);
                    return;
                }

                Mouse.z = Camera.main.farClipPlane;                      // Enable 에서 받아온 마우스 초기값
                Ray          ray  = Camera.main.ScreenPointToRay(Mouse); // 마우스 좌표를 기준으로  스크린을투과하는 레이
                RaycastHit[] hits = Physics.RaycastAll(ray, Mathf.Infinity, layerMask);
                foreach (RaycastHit hit in hits)
                {
                    if (hit.collider.gameObject.layer.Equals(LayerMask.NameToLayer("GroundLayer")))
                    {
                        if (!MakeOnce)
                        {
                            MakeOnce = true;
                            // 타겟을 레이캐스트가 충돌된 곳으로 옮긴다.
                            InitialCoordinate = hit.point;
                            MakePingSign();
                        }
                    }
                }

                isThisThingOn       = false;
                LineR.enabled       = false;
                LineR.positionCount = 0;
                this.gameObject.SetActive(false);
            }
        }
        if (isThisThingOn == false && this.gameObject.GetActive())
        {
            this.gameObject.SetActive(false);
        }
    }
Ejemplo n.º 36
0
 public static void SetSign(int id, Sign sign)
 {
     if (Signs.Length > id)
         Signs[id] = sign;
 }
Ejemplo n.º 37
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;
 }
Ejemplo n.º 38
0
 public override void KillMultiTile(int i, int j, int frameX, int frameY)
 {
     Item.NewItem(i * 16, j * 16, 32, 32, mod.ItemType("ExampleCommandSign"));
     Sign.KillSign(i, j);
 }
Ejemplo n.º 39
0
 public override void RightClick(int i, int j)
 {
     // Uses the text from the sign to run a command
     Main.ExecuteCommand(Main.sign[Sign.ReadSign(i, j, true)].text, new ExampleCommandCaller());
 }
Ejemplo n.º 40
0
 public BigInteger(Sign sign, uint len)
 {
     _data   = new uint[len];
     _length = len;
 }
Ejemplo n.º 41
0
 public SignPopup(Sign sign)
 {
     InitializeComponent();
     DataContext = sign;
 }
Ejemplo n.º 42
0
 public static string Get()
 {
     return(Sign.Signature(AppId, SecretId, SecretKey, DateTime.Now.AddMonths(1).ToUnixTime() / 1000,
                           BucketName));
 }
Ejemplo n.º 43
0
 public void Move(Row row, Column column, Sign sign)
 {
     _lastPlayer = sign;
     _playBoard[row.Value - 1, column.Value - 1] = sign;
 }
Ejemplo n.º 44
0
    private void CreateSign(Vector3 position, string line1, string line2, string line3)
    {
        Sign newSign = (Sign)Instantiate(sign, position, Quaternion.identity);

        newSign.Set(line1, line2, line3);
    }
Ejemplo n.º 45
0
 public BigInteger(Sign sign, uint len)
 {
     this.data   = new uint[len];
     this.length = len;
 }
Ejemplo n.º 46
0
        public void InvalidParameterTest()
        {
            var exp = new Sign(new Bool(false));

            Assert.Throws <ResultIsNotSupportedException>(() => exp.Execute());
        }
Ejemplo n.º 47
0
    public static void Main(string[] args)
    {
        //----------Scene set up
        Scene scene = new Scene("Scene 1");

        scene.DEBUG_MODE      = false;
        scene.SLOW_MODE       = false;
        scene.FRAMERATE_LIMIT = true;

        Ground ground = new Ground("M   .:X#############", 100, ".'*", 4, new Image[] {
            new Image(new string[]
            {
                " _ ",
                "{O}",
                "c| ",
                " | "
            }),
            new Image(new string[]
            {
                " __ ",
                "() )",
                "( ()",
                " || ",
                " || "
            })
        }, 1);

        Player player = new Player();

        player.Animator.SetTransparency(true);

        Box box = new Box(img: new Image(new string[]
        {
            "[][][][][][]",
            "|\\||/||\\||/|",
            "|/||\\||/||\\|",
            "[][][][][][]"
        }));

        box.Body.Mass = 20;
        box.Collider.CoefficientOfFriction = 0.1;

        Sign sign = new Sign("This is a sign.", new Image(new string[]
        {
            " _______ ",
            "| XXxXx |",
            "|_xXxXX_|",
            "   | |   ",
            "   |_|   "
        }));

        sign.Transform.Z = -0.5;

        Coin coin = new Coin(img: new Image("(c)"));

        MovingPlatform plat = new MovingPlatform('^', 10, new Point(0, 20), 2, 100);

        Text scoreDisplay = new Text(coin, "Score: {0}");

        scene.Instantiate(ground, -20, 0);
        scene.Instantiate(plat, 70, 19);
        scene.Instantiate(coin, 20, 21);
        scene.Instantiate(coin, 25, 21);
        scene.Instantiate(coin, 30, 21);

        scene.Instantiate(ground, 80, 20);
        scene.Instantiate(box, 100, 41);
        scene.Instantiate(coin, 175, 46);

        scene.Instantiate(ground, 180, 30);
        scene.Instantiate(sign, 200, 50);

        scene.Instantiate(player, 0, 15);
        scene.Instantiate(scoreDisplay, 0, ScreenBuffer.Size.Height - 1);

        //Start the Scene
        scene.Run();

        //Ensure that the program does not end any time soon
        Thread.Sleep(int.MaxValue);
    }
        public static ClipboardBuffer Load4(string filename)
        {
            using (var stream = new FileStream(filename, FileMode.Open))
            {
                using (var b = new BinaryReader(stream))
                {
                    string name    = b.ReadString();
                    int    version = b.ReadInt32();

                    int sizeX  = b.ReadInt32();
                    int sizeY  = b.ReadInt32();
                    var buffer = new ClipboardBuffer(new Vector2Int32(sizeX, sizeY));
                    buffer.Name = name;

                    for (int x = 0; x < sizeX; ++x)
                    {
                        for (int y = 0; y < sizeY; y++)
                        {
                            var tile = new Tile();

                            tile.IsActive = b.ReadBoolean();

                            TileProperty tileProperty = null;
                            if (tile.IsActive)
                            {
                                tile.Type    = b.ReadByte();
                                tileProperty = World.TileProperties[tile.Type];

                                if (tile.Type == (int)TileType.IceByRod)
                                {
                                    tile.IsActive = false;
                                }

                                if (tileProperty.IsFramed)
                                {
                                    tile.U = b.ReadInt16();
                                    tile.V = b.ReadInt16();

                                    if (tile.Type == (int)TileType.Timer)
                                    {
                                        tile.V = 0;
                                    }
                                }
                                else
                                {
                                    tile.U = -1;
                                    tile.V = -1;
                                }

                                if (b.ReadBoolean())
                                {
                                    tile.TileColor = b.ReadByte();
                                }
                            }

                            if (b.ReadBoolean())
                            {
                                tile.Wall = b.ReadByte();
                                if (b.ReadBoolean())
                                {
                                    tile.WallColor = b.ReadByte();
                                }
                            }

                            if (b.ReadBoolean())
                            {
                                tile.LiquidType = LiquidType.Water;

                                tile.LiquidAmount = b.ReadByte();
                                bool IsLava = b.ReadBoolean();
                                if (IsLava)
                                {
                                    tile.LiquidType = LiquidType.Lava;
                                }
                                bool IsHoney = b.ReadBoolean();
                                if (IsHoney)
                                {
                                    tile.LiquidType = LiquidType.Honey;
                                }
                            }

                            tile.WireRed   = b.ReadBoolean();
                            tile.WireGreen = b.ReadBoolean();
                            tile.WireBlue  = b.ReadBoolean();

                            bool isHalfBrick = b.ReadBoolean();


                            var brickByte = b.ReadByte();
                            if (tileProperty == null || !tileProperty.IsSolid)
                            {
                                tile.BrickStyle = 0;
                            }
                            else
                            {
                                tile.BrickStyle = (BrickStyle)brickByte;
                            }

                            tile.Actuator = b.ReadBoolean();
                            tile.InActive = b.ReadBoolean();

                            // read complete, start compression
                            buffer.Tiles[x, y] = tile;

                            int rle = b.ReadInt16();
                            if (rle < 0)
                            {
                                throw new ApplicationException("Invalid Tile Data!");
                            }

                            if (rle > 0)
                            {
                                for (int k = y + 1; k < y + rle + 1; k++)
                                {
                                    var tcopy = (Tile)tile.Clone();
                                    buffer.Tiles[x, k] = tcopy;
                                }
                                y = y + rle;
                            }
                        }
                    }
                    for (int i = 0; i < 1000; i++)
                    {
                        if (b.ReadBoolean())
                        {
                            var chest = new Chest(b.ReadInt32(), b.ReadInt32());
                            for (int slot = 0; slot < Chest.MaxItems; slot++)
                            {
                                if (slot < Chest.MaxItems)
                                {
                                    int stackSize = (int)b.ReadInt16();
                                    chest.Items[slot].StackSize = stackSize;

                                    if (chest.Items[slot].StackSize > 0)
                                    {
                                        chest.Items[slot].NetId     = b.ReadInt32();
                                        chest.Items[slot].StackSize = stackSize;
                                        chest.Items[slot].Prefix    = b.ReadByte();
                                    }
                                }
                            }
                            buffer.Chests.Add(chest);
                        }
                    }

                    for (int i = 0; i < 1000; i++)
                    {
                        if (b.ReadBoolean())
                        {
                            Sign sign = new Sign();
                            sign.Text = b.ReadString();
                            sign.X    = b.ReadInt32();
                            sign.Y    = b.ReadInt32();

                            if (buffer.Tiles[sign.X, sign.Y].IsActive && Tile.IsSign(buffer.Tiles[sign.X, sign.Y].Type))
                            {
                                buffer.Signs.Add(sign);
                            }
                        }
                    }

                    string verifyName    = b.ReadString();
                    int    verifyVersion = b.ReadInt32();
                    int    verifyX       = b.ReadInt32();
                    int    verifyY       = b.ReadInt32();
                    if (buffer.Name == verifyName &&
                        version == verifyVersion &&
                        buffer.Size.X == verifyX &&
                        buffer.Size.Y == verifyY)
                    {
                        // valid;
                        return(buffer);
                    }
                    b.Close();
                    return(null);
                }
            }
        }
Ejemplo n.º 49
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            Sign sign = null;

            var rockContext      = new RockContext();
            var signService      = new SignService(rockContext);
            var attributeService = new AttributeService(rockContext);

            int signId = int.Parse(hfSignId.Value);

            if (signId != 0)
            {
                sign = signService.Get(signId);
            }

            if (sign == null)
            {
                // Check for existing
                var existingDevice = signService.Queryable()
                                     .Where(k => k.Name == tbName.Text)
                                     .FirstOrDefault();
                if (existingDevice != null)
                {
                    nbDuplicateSign.Text    = string.Format("A sign already exists with the name '{0}'. Please use a different device name.", existingDevice.Name);
                    nbDuplicateSign.Visible = true;
                }
                else
                {
                    sign = new Sign();
                    signService.Add(sign);
                }
            }


            if (sign != null)
            {
                sign.Name        = tbName.Text;
                sign.PIN         = tbPIN.Text;
                sign.Description = tbDescription.Text;
                sign.IPAddress   = tbIPAddress.Text;
                sign.Port        = tbPort.Text;

                if (!sign.IsValid || !Page.IsValid)
                {
                    // Controls will render the error messages
                    return;
                }

                var keys = SignCategories.Select(sc => sc.Key).ToList();
                foreach (var signCategory in sign.SignCategories.ToList())
                {
                    if (!keys.Contains(signCategory.Id))
                    {
                        sign.SignCategories.Remove(signCategory);
                    }
                }
                var newSignCategories = new SignCategoryService(rockContext).GetByIds(keys).ToList();
                foreach (var newSignCategory in newSignCategories)
                {
                    if (!sign.SignCategories.Select(sc => sc.Id).Contains(newSignCategory.Id))
                    {
                        sign.SignCategories.Add(newSignCategory);
                    }
                }


                rockContext.SaveChanges();

                NavigateToParentPage();
            }
        }
Ejemplo n.º 50
0
		public BigInteger (Sign sign, uint len) 
		{
			this.data = new uint [len];
			this.length = len;
		}
Ejemplo n.º 51
0
 public override void PlaceInWorld(int i, int j, Item item)
 {
     Main.sign[Sign.ReadSign(i, j, true)].text = "Type in a command, right-click sign to activate it!";
 }
Ejemplo n.º 52
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;
            }
        }
Ejemplo n.º 53
0
        private void ManipulateBitsInRegister(ulong opcode, Operation operation, Width width, Sign sign, string log)
        {
            this.Log(LogLevel.Noisy, "({0}) at PC={1:X}", log, PC.RawValue);
            var rD       = (int)BitHelper.GetValue(opcode, 7, 5);
            var rs1      = (int)BitHelper.GetValue(opcode, 15, 5);
            var is2      = (int)BitHelper.GetValue(opcode, 20, 5);
            var is3      = (int)BitHelper.GetValue(opcode, 25, 5);
            var rs1Value = GetRegisterUnsafe(rs1).RawValue;
            var rDValue  = GetRegisterUnsafe(rD).RawValue;

            if (is2 + is3 > 32)
            {
                this.Log(LogLevel.Error, "Sum of operands Is3 an Is2 is equal to {0} but should not be larger than 32", is2 + is3);
                return;
            }
            var result = 0UL;

            switch (operation)
            {
            case Operation.Set:
                // rD = rs1 | (((1 << (Is3 + 1)) - 1) << Is2)
                result = rs1Value | ((ulong)((1 << (is3 + 1)) - 1) << is2);
                break;

            case Operation.Insert:
                // rD = rD | (rs1[Is3: 0] << Is2)
                result = rDValue | (BitHelper.GetValue(rs1Value, 0, is3) << is2);
                break;

            case Operation.Extract:
                result = ExtractBits(width, sign, is2, is3, rs1Value);
                break;

            case Operation.Clear:
                // rD = rs1 & ~(((1 << (Is3 + 1)) - 1) << Is2)
                result = rs1Value & (~(ulong)(((1 << (is3 + 1)) - 1) << is2));
                break;

            default:
                this.Log(LogLevel.Error, "Encountered an unexpected option: {0}", sign);
                break;
            }
            SetRegisterUnsafe(rD, result);
        }
Ejemplo n.º 54
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);
                }
            }
        }
Ejemplo n.º 55
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="codeName"></param>
        public SignData(string codeName, int codeNumber, Sign ma, Sign bollinger, Sign ichimoku, Sign parabolic, Sign pivot, Sign ROC, Sign psycho, Sign deviation,
                        Sign RSI, Sign RCI, Sign perR, Sign stochastic, Sign MACD, Sign DMI, Sign volume, Sign MFI, double minPP)
        {
            this.codeName          = codeName;
            this.codeNumber        = codeNumber;
            this.maSign            = ma;
            this.bollingerSign     = bollinger;
            this.ichimokuSign      = ichimoku;
            this.parabolicSign     = parabolic;
            this.pivotSign         = pivot;
            this.ROCSign           = ROC;
            this.psychologicalSign = psycho;
            this.deviationSign     = deviation;
            this.RSISign           = RSI;
            this.RCISign           = RCI;
            this.perRSign          = perR;
            this.stochasticSign    = stochastic;
            this.MACDSign          = MACD;
            this.DMISign           = DMI;
            this.VolumeSign        = volume;
            this.MFISign           = MFI;
            this.minPurchasePrice  = minPP;

            Type t = typeof(SignData);

            PropertyInfo[] properties = t.GetProperties();
            foreach (PropertyInfo info in properties)
            {
                object obj = info.GetValue(this);

                if (obj is Sign)
                {
                    Sign sign = (Sign)obj;

                    if (sign == Sign.TooSell)
                    {
                        BuySignCount++;
                    }
                    else if (sign == Sign.TooBuy)
                    {
                        SellSignCount++;
                    }
                }
            }

            this.DiffCount = BuySignCount - SellSignCount;
        }
Ejemplo n.º 56
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;
 }
Ejemplo n.º 57
0
 public BigInteger(Sign sign, uint len)
 {
     data = new uint[len];
     length = len;
 }
Ejemplo n.º 58
0
 public Player(string name, Sign playerSign)
 {
     this.Name = name;
     this.PlayerSign = playerSign;
 }
Ejemplo n.º 59
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;
         }
     }
 }
Ejemplo n.º 60
0
 public static void AddSign(Sign sign)
 {
     SetSign(sign.GetID(), sign);
 }