コード例 #1
0
 public static void ChooseNPC()
 {
     var npc = new NPC();
     Random r = new Random();
     int type = r.Next(ApocalypseMonsters.Monsters.Count);
     npc.SetDefaults(ApocalypseMonsters.Monsters[type]);
     CurMonster = npc;
 }
コード例 #2
0
        public static int NewText(PopupTextContext context, int npcNetID, Vector2 position, bool stay5TimesLonger)
        {
            if (!Main.showItemText)
            {
                return(-1);
            }
            if (npcNetID == 0)
            {
                return(-1);
            }
            if (Main.netMode == 2)
            {
                return(-1);
            }
            int num = FindNextItemTextSlot();

            if (num >= 0)
            {
                NPC nPC = new NPC();
                nPC.SetDefaults(npcNetID);
                string    typeName  = nPC.TypeName;
                Vector2   value     = FontAssets.MouseText.Value.MeasureString(typeName);
                PopupText popupText = Main.popupText[num];
                Main.popupText[num].alpha = 1f;
                popupText.alphaDir        = -1;
                popupText.active          = true;
                popupText.scale           = 0f;
                popupText.NoStack         = true;
                popupText.rotation        = 0f;
                popupText.position        = position - value / 2f;
                popupText.expert          = false;
                popupText.master          = false;
                popupText.name            = typeName;
                popupText.stack           = 1;
                popupText.velocity.Y      = -7f;
                popupText.lifeTime        = 60;
                popupText.context         = context;
                if (stay5TimesLonger)
                {
                    popupText.lifeTime *= 5;
                }
                popupText.npcNetID  = npcNetID;
                popupText.coinValue = 0;
                popupText.coinText  = false;
                popupText.color     = Color.White;
                if (context == PopupTextContext.SonarAlert)
                {
                    popupText.color = Color.Lerp(Color.White, Color.Crimson, 0.5f);
                }
            }
            return(num);
        }
コード例 #3
0
ファイル: NpcDefHandler.cs プロジェクト: chatrat12/Prism
        internal static void OnSetDefaults(NPC n, int type, float scaleOverride)
        {
            NpcBHandler h = null;

            n.SetDefaults(0, scaleOverride);

            if (DefFromType.ContainsKey(type))
            {
                var d = DefFromType[type];

                n.type = n.netID = type;
                n.width = n.height = 16;

                CopyDefToNpc(n, d);

                if (scaleOverride > -1f)
                    n.scale = scaleOverride;

                h = new NpcBHandler();
                if (d.CreateBehaviour != null)
                {
                    var b = d.CreateBehaviour();

                    if (b != null)
                        h.behaviours.Add(b);
                }

                n.BHandler = h;
            }

            //TODO: add global hooks here (and check for null)

            if (h != null)
            {
                h.Create();
                n.BHandler = h;

                foreach (var b in h.Behaviours)
                    b.Entity = n;

                h.OnInit();
            }
        }
コード例 #4
0
ファイル: GetDataHandlers.cs プロジェクト: CXUtk/TShock
        private static bool HandleSpawnBoss(GetDataHandlerArgs args)
        {
            if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000)
            {
                return true;
            }

            var spawnboss = false;
            var invasion = false;
            var plr = args.Data.ReadInt16();
            var Type = args.Data.ReadInt16();
            NPC npc = new NPC();
            npc.SetDefaults(Type);
            spawnboss = npc.boss;
            if (!spawnboss)
            {
                switch (Type)
                {
                    case -1:
                    case -2:
                    case -3:
                    case -4:
                    case -5:
                    case -6:
                    case -7:
                        invasion = true;
                        break;
                    case 4:
                    case 13:
                    case 50:
                    case 126:
                    case 125:
                    case 134:
                    case 127:
                    case 128:
                    case 131:
                    case 129:
                    case 130:
                    case 222:
                    case 245:
                    case 266:
                    case 370:
                    case 75:
                    case 398:
                    case 439:
                    case 493:
                    case 507:
                    case 422:
                    case 517:
                        spawnboss = true;
                        break;
                }
            }
            if (spawnboss && !args.Player.Group.HasPermission(Permissions.summonboss))
            {
                args.Player.SendErrorMessage("You don't have permission to summon a boss.");
                return true;
            }
            if (invasion && !args.Player.Group.HasPermission(Permissions.startinvasion))
            {
                args.Player.SendErrorMessage("You don't have permission to start an invasion.");
                return true;
            }
            if (!spawnboss && !invasion)
                return true;

            if (plr != args.Player.Index)
                return true;

            string boss;
            switch (Type)
            {
                case -5:
                    boss = "a frost moon";
                    break;
                case -4:
                    boss = "a pumpkin moon";
                    break;
                case -3:
                    boss = "the Pirates";
                    break;
                case -2:
                    boss = "the Snow Legion";
                    break;
                case -1:
                    boss = "a Goblin Invasion";
                    break;
                default:
                    boss = String.Format("the {0}", npc.name);
                    break;
            }
            if (TShock.Config.AnonymousBossInvasions)
                TShock.Utils.SendLogs(string.Format("{0} summoned {1}!", args.Player.Name, boss), Color.PaleVioletRed, args.Player);
            else
                TShock.Utils.Broadcast(String.Format("{0} summoned {1}!", args.Player.Name, boss), 175, 75, 255);
            return false;
        }
コード例 #5
0
ファイル: scSign.cs プロジェクト: Denwey/SignCommands
        private void SpawnBosses(Dictionary<string, int> bosses, ScPlayer sPly)
        {
            var bossList = new List<string>();
            foreach (var pair in bosses)
            {
                var npc = new NPC();
                switch (pair.Key.ToLower())
                {
                    case "*":
                    case "all":
                        int[] npcIds = {4, 13, 35, 50, 125, 126, 127, 134, 222, 245, 262, 266, 370};
                        TSPlayer.Server.SetTime(false, 0.0);
                        foreach (var i in npcIds)
                        {
                            npc.SetDefaults(i);
                            TSPlayer.Server.SpawnNPC(npc.type, npc.name, pair.Value, _point.X, _point.Y);
                        }

                        bossList.Add("all bosses (" + pair.Value + ")");
                        break;
                    case "brain":
                    case "brain of cthulhu":
                        npc.SetDefaults(266);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, pair.Value, _point.X, _point.Y);
                        bossList.Add(npc.name + " (" + pair.Value + ")");
                        break;
                    case "destroyer":
                        npc.SetDefaults(134);
                        TSPlayer.Server.SetTime(false, 0.0);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, pair.Value, _point.X, _point.Y);
                        bossList.Add(npc.name + " (" + pair.Value + ")");
                        break;
                    case "duke":
                    case "duke fishron":
                    case "fishron":
                        npc.SetDefaults(370);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, pair.Value, _point.X, _point.Y);
                        bossList.Add(npc.name + " (" + pair.Value + ")");
                        break;
                    case "eater":
                    case "eater of worlds":
                        npc.SetDefaults(13);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, pair.Value, _point.X, _point.Y);
                        bossList.Add(npc.name + " (" + pair.Value + ")");
                        break;
                    case "eye":
                    case "eye of cthulhu":
                        npc.SetDefaults(4);
                        TSPlayer.Server.SetTime(false, 0.0);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, pair.Value, _point.X, _point.Y);
                        bossList.Add(npc.name + " (" + pair.Value + ")");
                        break;
                    case "golem":
                        npc.SetDefaults(245);
                        TSPlayer.Server.SetTime(false, 0.0);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, pair.Value, _point.X, _point.Y);
                        bossList.Add(npc.name + " (" + pair.Value + ")");
                        break;
                    case "king":
                    case "king slime":
                        npc.SetDefaults(50);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, pair.Value, _point.X, _point.Y);
                        bossList.Add(npc.name + " (" + pair.Value + ")");
                        break;
                    case "plantera":
                        npc.SetDefaults(262);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, pair.Value, _point.X, _point.Y);
                        bossList.Add(npc.name + " (" + pair.Value + ")");
                        break;
                    case "prime":
                    case "skeletron prime":
                        npc.SetDefaults(127);
                        TSPlayer.Server.SetTime(false, 0.0);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, pair.Value, _point.X, _point.Y);
                        bossList.Add(npc.name + " (" + pair.Value + ")");
                        break;
                    case "queen":
                    case "queen bee":
                        npc.SetDefaults(222);
                        TSPlayer.Server.SetTime(false, 0.0);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, pair.Value, _point.X, _point.Y);
                        bossList.Add(npc.name + " (" + pair.Value + ")");
                        break;
                    case "skeletron":
                        npc.SetDefaults(35);
                        TSPlayer.Server.SetTime(false, 0.0);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, pair.Value, _point.X, _point.Y);
                        bossList.Add(npc.name + " (" + pair.Value + ")");
                        break;
                    case "twins":
                        TSPlayer.Server.SetTime(false, 0.0);
                        npc.SetDefaults(125);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, pair.Value, _point.X, _point.Y);
                        npc.SetDefaults(126);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, pair.Value, _point.X, _point.Y);
                        bossList.Add("the Twins (" + pair.Value + ")");
                        break;
                    case "wof":
                    case "wall of flesh":
                        if (Main.wof >= 0)
                            return;
                        if (_point.Y/16f < Main.maxTilesY - 205)
                            break;
                        NPC.SpawnWOF(new Vector2(_point.X, _point.Y));
                        bossList.Add("the Wall of Flesh (" + pair.Value + ")");
                        break;
                }
            }

            TSPlayer.All.SendSuccessMessage("{0} has spawned {1}", sPly.TsPlayer.Name, string.Join(", ", bossList));
            TShock.Utils.SendLogs(
                          string.Format("{0} executed: {1}{2} [Via sign command].", sPly.TsPlayer.Name,
                              TShock.Config.CommandSpecifier,
                              "/spawnboss " + string.Join(", ", bossList)), Color.PaleVioletRed, sPly.TsPlayer);
        }
コード例 #6
0
ファイル: Main.cs プロジェクト: Heloo88/ModTerraria_Heloo
        public void DedServ()
        {
            rand = new Random();
            if (autoShutdown)
            {
                string lpWindowName = "terraria" + rand.Next(0x7fffffff);
                Console.Title = lpWindowName;
                IntPtr hWnd = FindWindow(null, lpWindowName);
                if (hWnd != IntPtr.Zero)
                {
                    ShowWindow(hWnd, 0);
                }
            }
            else
            {
                Console.Title = "Terraria Server " + versionNumber2;
            }
            dedServ = true;
            showSplash = false;
            this.Initialize();
            for (int i = 0; i < 0x93; i++)
            {
                NPC npc = new NPC();
                npc.SetDefaults(i, -1f);
                npcName[i] = npc.name;
            }
            while ((worldPathName == null) || (worldPathName == ""))
            {
                LoadWorlds();
                bool flag = true;
                while (flag)
                {
                    Console.WriteLine("Terraria Server " + versionNumber2);
                    Console.WriteLine("");
                    for (int j = 0; j < numLoadWorlds; j++)
                    {
                        Console.WriteLine(string.Concat(new object[] { j + 1, '\t', '\t', loadWorld[j] }));
                    }
                    Console.WriteLine(string.Concat(new object[] { "n", '\t', '\t', "New World" }));
                    Console.WriteLine("d <number>" + '\t' + "Delete World");
                    Console.WriteLine("");
                    Console.Write("Choose World: ");
                    string str2 = Console.ReadLine();
                    try
                    {
                        Console.Clear();
                    }
                    catch
                    {
                    }
                    if ((str2.Length >= 2) && (str2.Substring(0, 2).ToLower() == "d "))
                    {
                        try
                        {
                            int index = Convert.ToInt32(str2.Substring(2)) - 1;
                            if (index < numLoadWorlds)
                            {
                                Console.WriteLine("Terraria Server " + versionNumber2);
                                Console.WriteLine("");
                                Console.WriteLine("Really delete " + loadWorld[index] + "?");
                                Console.Write("(y/n): ");
                                if (Console.ReadLine().ToLower() == "y")
                                {
                                    EraseWorld(index);
                                }
                            }
                        }
                        catch
                        {
                        }
                        try
                        {
                            Console.Clear();
                            continue;
                        }
                        catch
                        {
                            continue;
                        }
                    }
                    if ((str2 == "n") || (str2 == "N"))
                    {
                        bool flag2 = true;
                        while (flag2)
                        {
                            Console.WriteLine("Terraria Server " + versionNumber2);
                            Console.WriteLine("");
                            Console.WriteLine("1" + '\t' + "Small");
                            Console.WriteLine("2" + '\t' + "Medium");
                            Console.WriteLine("3" + '\t' + "Large");
                            Console.WriteLine("");
                            Console.Write("Choose size: ");
                            string str4 = Console.ReadLine();
                            try
                            {
                                switch (Convert.ToInt32(str4))
                                {
                                    case 1:
                                        maxTilesX = 0x1068;
                                        maxTilesY = 0x4b0;
                                        flag2 = false;
                                        goto Label_0382;

                                    case 2:
                                        maxTilesX = 0x189c;
                                        maxTilesY = 0x708;
                                        flag2 = false;
                                        goto Label_0382;

                                    case 3:
                                        maxTilesX = 0x20d0;
                                        maxTilesY = 0x960;
                                        flag2 = false;
                                        goto Label_0382;
                                }
                            }
                            catch
                            {
                            }
                        Label_0382:
                            try
                            {
                                Console.Clear();
                                continue;
                            }
                            catch
                            {
                                continue;
                            }
                        }
                        flag2 = true;
                        while (flag2)
                        {
                            Console.WriteLine("Terraria Server " + versionNumber2);
                            Console.WriteLine("");
                            Console.Write("Enter world name: ");
                            newWorldName = Console.ReadLine();
                            if (((newWorldName != "") && (newWorldName != " ")) && (newWorldName != null))
                            {
                                flag2 = false;
                            }
                            try
                            {
                                Console.Clear();
                                continue;
                            }
                            catch
                            {
                                continue;
                            }
                        }
                        worldName = newWorldName;
                        worldPathName = nextLoadWorld();
                        menuMode = 10;
                        WorldGen.CreateNewWorld();
                        flag2 = false;
                        while (menuMode == 10)
                        {
                            if (oldStatusText != statusText)
                            {
                                oldStatusText = statusText;
                                Console.WriteLine(statusText);
                            }
                        }
                        try
                        {
                            Console.Clear();
                            continue;
                        }
                        catch
                        {
                            continue;
                        }
                    }
                    try
                    {
                        int num5 = Convert.ToInt32(str2) - 1;
                        if ((num5 < 0) || (num5 >= numLoadWorlds))
                        {
                            continue;
                        }
                        bool flag3 = true;
                        while (flag3)
                        {
                            Console.WriteLine("Terraria Server " + versionNumber2);
                            Console.WriteLine("");
                            Console.Write("Max players (press enter for 8): ");
                            string str5 = Console.ReadLine();
                            try
                            {
                                if (str5 == "")
                                {
                                    str5 = "8";
                                }
                                int num6 = Convert.ToInt32(str5);
                                if ((num6 <= 0xff) && (num6 >= 1))
                                {
                                    maxNetPlayers = num6;
                                    flag3 = false;
                                }
                                flag3 = false;
                            }
                            catch
                            {
                            }
                            try
                            {
                                Console.Clear();
                                continue;
                            }
                            catch
                            {
                                continue;
                            }
                        }
                        flag3 = true;
                        while (flag3)
                        {
                            Console.WriteLine("Terraria Server " + versionNumber2);
                            Console.WriteLine("");
                            Console.Write("Server port (press enter for 7777): ");
                            string str6 = Console.ReadLine();
                            try
                            {
                                if (str6 == "")
                                {
                                    str6 = "7777";
                                }
                                int num7 = Convert.ToInt32(str6);
                                if (num7 <= 0xffff)
                                {
                                    Netplay.serverPort = num7;
                                    flag3 = false;
                                }
                            }
                            catch
                            {
                            }
                            try
                            {
                                Console.Clear();
                                continue;
                            }
                            catch
                            {
                                continue;
                            }
                        }
                        Console.WriteLine("Terraria Server " + versionNumber2);
                        Console.WriteLine("");
                        Console.Write("Server password (press enter for none): ");
                        Netplay.password = Console.ReadLine();
                        worldPathName = loadWorldPath[num5];
                        flag = false;
                        try
                        {
                            Console.Clear();
                        }
                        catch
                        {
                        }
                        continue;
                    }
                    catch
                    {
                        continue;
                    }
                }
            }
            try
            {
                Console.Clear();
            }
            catch
            {
            }
            WorldGen.serverLoadWorld();
            Console.WriteLine("Terraria Server " + versionNumber);
            Console.WriteLine("");
            while (!Netplay.ServerUp)
            {
                if (oldStatusText != statusText)
                {
                    oldStatusText = statusText;
                    Console.WriteLine(statusText);
                }
            }
            try
            {
                Console.Clear();
            }
            catch
            {
            }
            Console.WriteLine("Terraria Server " + versionNumber);
            Console.WriteLine("");
            Console.WriteLine("Listening on port " + Netplay.serverPort);
            Console.WriteLine("Type 'help' for a list of commands.");
            Console.WriteLine("");
            Console.Title = "Terraria Server: " + worldName;
            Stopwatch stopwatch = new Stopwatch();
            if (!autoShutdown)
            {
                startDedInput();
            }
            stopwatch.Start();
            double num8 = 16.666666666666668;
            double num9 = 0.0;
            int num10 = 0;
            new Stopwatch().Start();
            while (!Netplay.disconnect)
            {
                double elapsedMilliseconds = stopwatch.ElapsedMilliseconds;
                if ((elapsedMilliseconds + num9) >= num8)
                {
                    num10++;
                    num9 += elapsedMilliseconds - num8;
                    stopwatch.Reset();
                    stopwatch.Start();
                    if (oldStatusText != statusText)
                    {
                        oldStatusText = statusText;
                        Console.WriteLine(statusText);
                    }
                    if (num9 > 1000.0)
                    {
                        num9 = 1000.0;
                    }
                    if (Netplay.anyClients)
                    {
                        this.Update(new GameTime());
                    }
                    double num12 = stopwatch.ElapsedMilliseconds + num9;
                    if (num12 < num8)
                    {
                        int millisecondsTimeout = ((int)(num8 - num12)) - 1;
                        if (millisecondsTimeout > 1)
                        {
                            Thread.Sleep(millisecondsTimeout);
                            if (!Netplay.anyClients)
                            {
                                num9 = 0.0;
                                Thread.Sleep(10);
                            }
                        }
                    }
                }
                Thread.Sleep(0);
            }
        }
コード例 #7
0
 public void DedServ()
 {
     Main.rand = new Random();
     if (Main.autoShutdown)
     {
         string text = "terraria" + Main.rand.Next(2147483647);
         Console.Title = text;
         IntPtr intPtr = Main.FindWindow(null, text);
         if (intPtr != IntPtr.Zero)
         {
             Main.ShowWindow(intPtr, 0);
         }
     }
     else
     {
         Console.Title = "Terraria Server " + Main.versionNumber2;
     }
     Main.dedServ = true;
     Main.showSplash = false;
     this.Initialize();
     Lang.setLang(false);
     for (int i = 0; i < 301; i++)
     {
         NPC nPC = new NPC();
         nPC.SetDefaults(i, -1f);
         Main.npcName[i] = nPC.name;
     }
     while (Main.worldPathName == null || Main.worldPathName == "")
     {
         Main.LoadWorlds();
         bool flag = true;
         while (flag)
         {
             Console.WriteLine("Terraria Server " + Main.versionNumber2);
             Console.WriteLine("");
             for (int j = 0; j < Main.numLoadWorlds; j++)
             {
                 Console.WriteLine(string.Concat(new object[]
                 {
                     j + 1,
                     '\t',
                     '\t',
                     Main.loadWorld[j]
                 }));
             }
             Console.WriteLine(string.Concat(new object[]
             {
                 "n",
                 '\t',
                 '\t',
                 "New World"
             }));
             Console.WriteLine("d <number>" + '\t' + "Delete World");
             Console.WriteLine("");
             Console.Write("Choose World: ");
             string text2 = Console.ReadLine();
             try
             {
                 Console.Clear();
             }
             catch
             {
             }
             if (text2.Length >= 2 && text2.Substring(0, 2).ToLower() == "d ")
             {
                 try
                 {
                     int num = Convert.ToInt32(text2.Substring(2)) - 1;
                     if (num < Main.numLoadWorlds)
                     {
                         Console.WriteLine("Terraria Server " + Main.versionNumber2);
                         Console.WriteLine("");
                         Console.WriteLine("Really delete " + Main.loadWorld[num] + "?");
                         Console.Write("(y/n): ");
                         string text3 = Console.ReadLine();
                         if (text3.ToLower() == "y")
                         {
                             Main.EraseWorld(num);
                         }
                     }
                 }
                 catch
                 {
                 }
                 try
                 {
                     Console.Clear();
                     continue;
                 }
                 catch
                 {
                     continue;
                 }
             }
             if (text2 == "n" || text2 == "N")
             {
                 bool flag2 = true;
                 while (flag2)
                 {
                     Console.WriteLine("Terraria Server " + Main.versionNumber2);
                     Console.WriteLine("");
                     Console.WriteLine("1" + '\t' + "Small");
                     Console.WriteLine("2" + '\t' + "Medium");
                     Console.WriteLine("3" + '\t' + "Large");
                     Console.WriteLine("");
                     Console.Write("Choose size: ");
                     string value = Console.ReadLine();
                     try
                     {
                         int num2 = Convert.ToInt32(value);
                         if (num2 == 1)
                         {
                             Main.maxTilesX = 4200;
                             Main.maxTilesY = 1200;
                             flag2 = false;
                         }
                         else
                         {
                             if (num2 == 2)
                             {
                                 Main.maxTilesX = 6400;
                                 Main.maxTilesY = 1800;
                                 flag2 = false;
                             }
                             else
                             {
                                 if (num2 == 3)
                                 {
                                     Main.maxTilesX = 8400;
                                     Main.maxTilesY = 2400;
                                     flag2 = false;
                                 }
                             }
                         }
                     }
                     catch
                     {
                     }
                     try
                     {
                         Console.Clear();
                     }
                     catch
                     {
                     }
                 }
                 flag2 = true;
                 while (flag2)
                 {
                     Console.WriteLine("Terraria Server " + Main.versionNumber2);
                     Console.WriteLine("");
                     Console.Write("Enter world name: ");
                     Main.newWorldName = Console.ReadLine();
                     if (Main.newWorldName != "" && Main.newWorldName != " " && Main.newWorldName != null)
                     {
                         flag2 = false;
                     }
                     try
                     {
                         Console.Clear();
                     }
                     catch
                     {
                     }
                 }
                 Main.worldName = Main.newWorldName;
                 Main.worldPathName = Main.getWorldPathName(Main.worldName);
                 Main.menuMode = 10;
                 WorldGen.CreateNewWorld();
                 flag2 = false;
                 while (Main.menuMode == 10)
                 {
                     if (Main.oldStatusText != Main.statusText)
                     {
                         Main.oldStatusText = Main.statusText;
                         Console.WriteLine(Main.statusText);
                     }
                 }
                 try
                 {
                     Console.Clear();
                     continue;
                 }
                 catch
                 {
                     continue;
                 }
             }
             try
             {
                 int num3 = Convert.ToInt32(text2);
                 num3--;
                 if (num3 >= 0 && num3 < Main.numLoadWorlds)
                 {
                     bool flag3 = true;
                     while (flag3)
                     {
                         Console.WriteLine("Terraria Server " + Main.versionNumber2);
                         Console.WriteLine("");
                         Console.Write("Max players (press enter for 8): ");
                         string value2 = Console.ReadLine();
                         try
                         {
                             if (value2 == "")
                             {
                                 value2 = "8";
                             }
                             int num4 = Convert.ToInt32(value2);
                             if (num4 <= 255 && num4 >= 1)
                             {
                                 Main.maxNetPlayers = num4;
                                 flag3 = false;
                             }
                             flag3 = false;
                         }
                         catch
                         {
                         }
                         try
                         {
                             Console.Clear();
                         }
                         catch
                         {
                         }
                     }
                     flag3 = true;
                     while (flag3)
                     {
                         Console.WriteLine("Terraria Server " + Main.versionNumber2);
                         Console.WriteLine("");
                         Console.Write("Server port (press enter for 7777): ");
                         string value3 = Console.ReadLine();
                         try
                         {
                             if (value3 == "")
                             {
                                 value3 = "7777";
                             }
                             int num5 = Convert.ToInt32(value3);
                             if (num5 <= 65535)
                             {
                                 Netplay.serverPort = num5;
                                 flag3 = false;
                             }
                         }
                         catch
                         {
                         }
                         try
                         {
                             Console.Clear();
                         }
                         catch
                         {
                         }
                     }
                     flag3 = true;
                     while (flag3)
                     {
                         Console.WriteLine("Terraria Server " + Main.versionNumber2);
                         Console.WriteLine("");
                         Console.Write("Automatically forward port? (y/n): ");
                         string text4 = Console.ReadLine();
                         try
                         {
                             if (text4 == "" || text4.ToLower() == "y" || text4.ToLower() == "yes")
                             {
                                 Netplay.uPNP = true;
                                 flag3 = false;
                             }
                             else
                             {
                                 if (text4.ToLower() == "n" || text4.ToLower() == "no")
                                 {
                                     Netplay.uPNP = false;
                                     flag3 = false;
                                 }
                             }
                         }
                         catch
                         {
                         }
                         try
                         {
                             Console.Clear();
                         }
                         catch
                         {
                         }
                     }
                     Console.WriteLine("Terraria Server " + Main.versionNumber2);
                     Console.WriteLine("");
                     Console.Write("Server password (press enter for none): ");
                     Netplay.password = Console.ReadLine();
                     Main.worldPathName = Main.loadWorldPath[num3];
                     flag = false;
                     try
                     {
                         Console.Clear();
                     }
                     catch
                     {
                     }
                 }
             }
             catch
             {
             }
         }
     }
     try
     {
         Console.Clear();
     }
     catch
     {
     }
     WorldGen.serverLoadWorld();
     Console.WriteLine("Terraria Server " + Main.versionNumber);
     Console.WriteLine("");
     while (!Netplay.ServerUp)
     {
         if (Main.oldStatusText != Main.statusText)
         {
             Main.oldStatusText = Main.statusText;
             Console.WriteLine(Main.statusText);
         }
     }
     try
     {
         Console.Clear();
     }
     catch
     {
     }
     Console.WriteLine("Terraria Server " + Main.versionNumber);
     Console.WriteLine("");
     Console.WriteLine("Listening on port " + Netplay.serverPort);
     Console.WriteLine("Type 'help' for a list of commands.");
     Console.WriteLine("");
     Console.Title = "Terraria Server: " + Main.worldName;
     Stopwatch stopwatch = new Stopwatch();
     if (!Main.autoShutdown)
     {
         Main.startDedInput();
     }
     stopwatch.Start();
     double num6 = 16.666666666666668;
     double num7 = 0.0;
     int num8 = 0;
     Stopwatch stopwatch2 = new Stopwatch();
     stopwatch2.Start();
     while (!Netplay.disconnect)
     {
         double num9 = (double)stopwatch.ElapsedMilliseconds;
         if (num9 + num7 >= num6)
         {
             num8++;
             num7 += num9 - num6;
             stopwatch.Reset();
             stopwatch.Start();
             if (Main.oldStatusText != Main.statusText)
             {
                 Main.oldStatusText = Main.statusText;
                 Console.WriteLine(Main.statusText);
             }
             if (Netplay.anyClients)
             {
                 this.Update(new GameTime());
             }
             double num10 = (double)stopwatch.ElapsedMilliseconds + num7;
             if (num10 < num6)
             {
                 int num11 = (int)(num6 - num10) - 1;
                 if (num11 > 1)
                 {
                     Thread.Sleep(num11 - 1);
                     if (!Netplay.anyClients)
                     {
                         num7 = 0.0;
                         Thread.Sleep(10);
                     }
                 }
             }
         }
         Thread.Sleep(0);
     }
 }
コード例 #8
0
ファイル: GetDataHandlers.cs プロジェクト: CoderCow/TShock
        private static bool HandleSpawnBoss(GetDataHandlerArgs args)
        {
            if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000)
            {
                return true;
            }

            var spawnboss = false;
            var invasion = false;
            var plr = args.Data.ReadInt32();
            var Type = args.Data.ReadInt32();
            NPC npc = new NPC();
            npc.SetDefaults(Type);
            spawnboss = npc.boss;
            if (!spawnboss)
            {
                switch (Type)
                {
                    case -1:
                    case -2:
                    case -3:
                    case -4:
                    case -5:
                        invasion = true;
                        break;
                    case 4:
                    case 13:
                    case 35:
                    case 50:
                    case 113:
                    case 125:
                    case 126:
                    case 127:
                    case 128:
                    case 134:
                    case 222:
                    case 245:
                    case 262:
                    case 266:
                        spawnboss = true;
                        break;
                }
            }
            if (spawnboss && !args.Player.Group.HasPermission(Permissions.summonboss))
            {
                args.Player.SendMessage("You don't have permission to summon a boss.", Color.Red);
                return true;
            }
            if (invasion && !args.Player.Group.HasPermission(Permissions.startinvasion))
            {
                args.Player.SendMessage("You don't have permission to start an invasion.", Color.Red);
                return true;
            }
            if (!spawnboss && !invasion)
                return true;

            if (plr != args.Player.Index)
                return true;

            string boss;
            switch (Type)
            {
                case -5:
                    boss = "a snow invasion";
                    break;
                case -4:
                    boss = "a pumpkin invasion";
                    break;
                case -3:
                    boss = "the pirates";
                    break;
                case -2:
                    boss = "the Snow Legion";
                    break;
                case -1:
                    boss = "a Goblin Invasion";
                    break;
                default:
                    boss = String.Format("the {0}", npc.name);
                    break;
            }

            TShock.Utils.SendLogs(string.Format("{0} summoned {1}.", args.Player.Name, boss), Color.PaleVioletRed, args.Player);
            return false;
        }
コード例 #9
0
ファイル: Core.cs プロジェクト: kamilion/WraithModRevival
 public NPC GetNpcByName(string name)
 {
     if (name == null)
     {
         Console.WriteLine(MessageType.Warning, "API: getNpcByName() failed (name was null");
         return null;
     }
     NPC n = new NPC();
     for (int i = 100; i > 0; i--)
     {
         try
         {
             n.SetDefaults(i);
             if (n.name == "") continue;
             if (n.name == null) continue;
         }
         catch
         {
             continue;
         }
         if (Input.CommandMatch(name, n.name))
         {
             return n;
         }
     }
     n = null;
     return n;
 }
コード例 #10
0
ファイル: Commands.cs プロジェクト: blambin/TshockCN
        private static void SpawnBoss(CommandArgs args)
        {
            if (args.Parameters.Count < 1 || args.Parameters.Count > 2)
            {
                args.Player.SendErrorMessage("指令错误 使用{0}刷Boss BOSS名 数量 来召唤BOSS", Specifier);
                args.Player.SendErrorMessage("例如{0}刷Boss 克鲁苏之脑 1 表示召唤了1只克鲁苏之脑", Specifier);
                args.Player.SendErrorMessage("BOSS名如下 克鲁苏之脑 机械毁灭者 猪鲨公爵 世界吞噬者 克鲁苏之眼 石头人 史莱姆国王", Specifier);
                args.Player.SendErrorMessage("世纪之花 机械骷髅王 蜂后 骷髅王 魔眼双子 肉山大魔墙 月之领主", Specifier);
                return;
            }

            int amount = 1;
            if (args.Parameters.Count == 2 && (!int.TryParse(args.Parameters[1], out amount) || amount <= 0))
            {
                args.Player.SendErrorMessage("数量错误。");
                return;
            }

            NPC npc = new NPC();
            switch (args.Parameters[0].ToLower())
            {
                case "*":
                case "all":
                case "所有":
                    int[] npcIds = { 4, 13, 35, 50, 125, 126, 127, 134, 222, 245, 262, 266, 370, 398 };
                    TSPlayer.Server.SetTime(false, 0.0);
                    foreach (int i in npcIds)
                    {
                        npc.SetDefaults(i);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    }
                    TSPlayer.All.SendSuccessMessage("{0} 召唤了所有Boss{1}次。", args.Player.Name, amount);
                    return;
                case "brain":
                case "brain of cthulhu":
                case "克鲁苏之脑":
                    npc.SetDefaults(266);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0}召唤了{1}只克鲁苏之脑", args.Player.Name, amount);
                    return;
                case "destroyer":
                case "机械毁灭者":
                    npc.SetDefaults(134);
                    TSPlayer.Server.SetTime(false, 0.0);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0}召唤了{1}只机械毁灭者", args.Player.Name, amount);
                    return;
                case "duke":
                case "duke fishron":
                case "fishron":
                case "猪鲨公爵":
                case "猪鲨":
                    npc.SetDefaults(370);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0}召唤了{1}只猪鲨公爵", args.Player.Name, amount);
                    return;
                case "eater":
                case "eater of worlds":
                case "世界吞噬者":
                    npc.SetDefaults(13);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0}召唤了{1}只世界吞噬者", args.Player.Name, amount);
                    return;
                case "eye":
                case "eye of cthulhu":
                case "克鲁苏之眼":
                    npc.SetDefaults(4);
                    TSPlayer.Server.SetTime(false, 0.0);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0} 召唤了{1}个克苏鲁之眼。", args.Player.Name, amount);
                    return;
                case "golem":
                case "石头人":
                    npc.SetDefaults(245);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0}召唤了{1}只石头人", args.Player.Name, amount);
                    return;
                case "king":
                case "king slime":
                case "史莱姆国王":
                case "史莱姆王":
                    npc.SetDefaults(50);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0}召唤了{1}只史莱姆国王", args.Player.Name, amount);
                    return;
                case "plantera":
                case "世纪之花":
                    npc.SetDefaults(262);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0}召唤了{1}只世纪之花", args.Player.Name, amount);
                    return;
                case "prime":
                case "skeletron prime":
                case "机械骷髅王":
                    npc.SetDefaults(127);
                    TSPlayer.Server.SetTime(false, 0.0);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0}召唤了{1}只机械骷髅王", args.Player.Name, amount);
                    return;
                case "queen":
                case "queen bee":
                case "蜂后":
                    npc.SetDefaults(222);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0}召唤了{1}只蜂后", args.Player.Name, amount);
                    return;
                case "skeletron":
                case "骷髅王":
                    npc.SetDefaults(35);
                    TSPlayer.Server.SetTime(false, 0.0);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0}召唤了{1}只骷髅王", args.Player.Name, amount);
                    return;
                case "twins":
                case "魔眼双子":
                    TSPlayer.Server.SetTime(false, 0.0);
                    npc.SetDefaults(125);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    npc.SetDefaults(126);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0}召唤了{1}只魔眼双子", args.Player.Name, amount);
                    return;
                case "wof":
                case "wall of flesh":
                case "肉山大魔墙":
                case "肉山":
                    if (Main.wof >= 0)
                    {
                        args.Player.SendErrorMessage("不能同时大两个血肉之墙。");
                        return;
                    }
                    if (args.Player.Y / 16f < Main.maxTilesY - 205)
                    {
                        args.Player.SendErrorMessage("必须在地狱中召唤血肉之墙。");
                        return;
                    }
                    NPC.SpawnWOF(new Vector2(args.Player.X, args.Player.Y));
                    TSPlayer.All.SendSuccessMessage("{0}召唤了肉山大魔墙", args.Player.Name);
                    return;
                case "moon":
                case "moon lord":
                case "月之领主":
                case "月总":
                    npc.SetDefaults(398);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0}召唤了{1}只月之领主", args.Player.Name, amount);
                    return;
                default:
                    args.Player.SendErrorMessage("错误的BOSS名");
                    return;
            }
        }
コード例 #11
0
ファイル: Plugin.cs プロジェクト: Tygra/SpawnMobXY
        public static void SpawnBoss(CommandArgs args)
        {
            if (args.Parameters.Count == 1 && args.Parameters[0] == "list")
            {
                args.Player.SendInfoMessage("Available bosses: {0}", string.Join(", ", bosses));
                return;

            }
            if (args.Parameters.Count < 1 || args.Parameters.Count > 4)
            {
                args.Player.SendErrorMessage("Invalid syntax! Proper syntax: {0}spawnboss <boss type> [amount] [XPos] [YPos]", TShock.Config.CommandSpecifier);
                return;
            }
            if (!args.Player.RealPlayer && args.Parameters.Count != 4)
            {
                args.Player.SendErrorMessage("You are required to set coordinates from console! ");
                args.Player.SendErrorMessage("Invalid syntax! Proper syntax: {0}spawnmob <mob type> [amount] [XPos] [YPos]", TShock.Config.CommandSpecifier);
                return;
            }

            int amount = 1;
            if (args.Parameters.Count >= 2 && (!int.TryParse(args.Parameters[1], out amount) || amount <= 0))
            {
                args.Player.SendErrorMessage("Invalid boss amount!");
                return;
            }
            int x = -1;
            int y = -1;
            if (args.Parameters.Count >= 3 && !int.TryParse(args.Parameters[2], out x))
            {
                args.Player.SendErrorMessage("Invalid X coordinates!");
                return;
            }
            if (args.Parameters.Count == 3)
            {
                args.Player.SendErrorMessage("You must set both X and Y coordinates!");
                return;
            }
            if (args.Parameters.Count == 4)
            {
                if (args.Parameters.Count >= 4 && !int.TryParse(args.Parameters[3], out y))
                {
                    args.Player.SendErrorMessage("Invalid Y coordinates!");
                    return;
                }

                if (x < 0 || x >= Main.maxTilesX || y < 0 || y >= Main.maxTilesY)
                {
                    args.Player.SendErrorMessage("Given coordinates are invalid!");
                    return;
                }
            }
            int TileX = -1;
            int TileY = -1;
            if (args.Parameters.Count == 4)
            {
                TileX = x;
                TileY = y;
            }
            else
            {
                TileX = args.Player.TileX;
                TileY = args.Player.TileY;
            }

            NPC npc = new NPC();
            switch (args.Parameters[0].ToLower())
            {
                case "*":
                case "all":
                    int[] npcIds = { 4, 13, 35, 50, 125, 126, 127, 134, 222, 245, 262, 266, 370 };
                    TSPlayer.Server.SetTime(false, 0.0);
                    foreach (int i in npcIds)
                    {
                        npc.SetDefaults(i);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, TileX, TileY);
                    }
                    if (!args.Silent)
                        TSPlayer.All.SendSuccessMessage("{0} has spawned all bosses {1} time(s).", args.Player.Name, amount);
                    else
                        args.Player.SendSuccessMessage("Spawned all bosses {0} time(s).", amount);
                    return;
                case "brain":
                case "brain of cthulhu":
                    npc.SetDefaults(266);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, TileX, TileY);
                   if (!args.Silent)
                        TSPlayer.All.SendSuccessMessage("{0} has spawned the Brain of Cthulhu {1} time(s).", args.Player.Name, amount);
                    else
                        args.Player.SendSuccessMessage("Spawned the Brain of Cthulhu {0} time(s).", amount);
                        return;
                case "destroyer":
                    npc.SetDefaults(134);
                    TSPlayer.Server.SetTime(false, 0.0);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, TileX, TileY);
                    if (!args.Silent)
                        TSPlayer.All.SendSuccessMessage("{0} has spawned the Destroyer {1} time(s).", args.Player.Name, amount);
                    else
                        args.Player.SendSuccessMessage("Spawned the Destroyer {0} time(s).", amount);
                    return;
                case "duke":
                case "duke fishron":
                case "fishron":
                    npc.SetDefaults(370);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, TileX, TileY);
                    if (!args.Silent)
                        TSPlayer.All.SendSuccessMessage("{0} has spawned Duke Fishron {1} time(s).", args.Player.Name, amount);
                    else
                        args.Player.SendSuccessMessage("Spawned Duke Fishron {0} time(s).", amount);
                    return;
                case "eater":
                case "eater of worlds":
                    npc.SetDefaults(13);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, TileX, TileY);
                    if (!args.Silent)
                        TSPlayer.All.SendSuccessMessage("{0} has spawned the Eater of Worlds {1} time(s).", args.Player.Name, amount);
                    else
                        args.Player.SendSuccessMessage("Spawned the Eater of Worlds {0} time(s).", amount);
                    return;
                case "eye":
                case "eye of cthulhu":
                    npc.SetDefaults(4);
                    TSPlayer.Server.SetTime(false, 0.0);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, TileX, TileY);
                    if (!args.Silent)
                        TSPlayer.All.SendSuccessMessage("{0} has spawned the Eye of Cthulhu {1} time(s).", args.Player.Name, amount);
                    else
                        args.Player.SendSuccessMessage("Spawned the Eye of Cthulhu {0} time(s).", amount);
                    return;
                case "golem":
                    npc.SetDefaults(245);
                    TSPlayer.Server.SetTime(false, 0.0);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, TileX, TileY);
                    if (!args.Silent)
                    {
                        TSPlayer.All.SendSuccessMessage("{0} has spawned Golem {1} time(s).", args.Player.Name, amount);
                    }
                    else
                    {
                        args.Player.SendSuccessMessage("Spawned Golem {0} time(s).", amount);
                    }
                    return;
                case "king":
                case "king slime":
                    npc.SetDefaults(50);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, TileX, TileY);
                    if (!args.Silent)
                        TSPlayer.All.SendSuccessMessage("{0} has spawned King Slime {1} time(s).", args.Player.Name, amount);
                    else
                        args.Player.SendSuccessMessage("Spawned King Slime {0} time(s).", amount);
                    return;
                case "plantera":
                    npc.SetDefaults(262);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, TileX, TileY);
                    if (!args.Silent)
                        TSPlayer.All.SendSuccessMessage("{0} has spawned Plantera {1} time(s).", args.Player.Name, amount);
                    else
                        args.Player.SendSuccessMessage("Spawned Plantera {0} time(s).", amount);
                    return;
                case "prime":
                case "skeletron prime":
                    npc.SetDefaults(127);
                    TSPlayer.Server.SetTime(false, 0.0);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, TileX, TileY);
                    if (!args.Silent)
                        TSPlayer.All.SendSuccessMessage("{0} has spawned Skeletron Prime {1} time(s).", args.Player.Name, amount);
                    else
                        args.Player.SendSuccessMessage("Spawned Skeletron Prime {0} time(s).", amount);
                    return;
                case "queen":
                case "queen bee":
                    npc.SetDefaults(222);
                    TSPlayer.Server.SetTime(false, 0.0);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, TileX, TileY);
                    if (!args.Silent)
                        TSPlayer.All.SendSuccessMessage("{0} has spawned Queen Bee {1} time(s).", args.Player.Name, amount);
                    else
                        args.Player.SendSuccessMessage("Spawned Queen Bee {0} time(s).", amount);
                    return;
                case "skeletron":
                    npc.SetDefaults(35);
                    TSPlayer.Server.SetTime(false, 0.0);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, TileX, TileY);
                    if (!args.Silent)
                        TSPlayer.All.SendSuccessMessage("{0} has spawned Skeletron {1} time(s).", args.Player.Name, amount);
                    else
                        args.Player.SendSuccessMessage("Spawned Skeletron {0} time(s).", amount);
                    return;
                case "twins":
                    TSPlayer.Server.SetTime(false, 0.0);
                    npc.SetDefaults(125);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, TileX, TileY);
                    npc.SetDefaults(126);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, TileX, TileY);
                    if (!args.Silent)
                        TSPlayer.All.SendSuccessMessage("{0} has spawned the Twins {1} time(s).", args.Player.Name, amount);
                    else
                        args.Player.SendSuccessMessage("Spawned the Twins {0} time(s).", amount);
                    return;
                case "wof":
                case "wall of flesh":
                    if (!args.Player.RealPlayer)
                    {
                        args.Player.SendErrorMessage("You cannot spawn Wall of Flesh from server console!");
                        return;
                    }
                    if (Main.wof >= 0)
                    {
                        args.Player.SendErrorMessage("There is already a Wall of Flesh!");
                        return;
                    }
                    if (args.Player.Y / 16f < Main.maxTilesY - 205)
                    {
                        args.Player.SendErrorMessage("You must spawn the Wall of Flesh in hell!");
                        return;
                    }
                    NPC.SpawnWOF(new Vector2(args.Player.X, args.Player.Y));
                    if (!args.Silent)
                        TSPlayer.All.SendSuccessMessage("{0} has spawned the Wall of Flesh.", args.Player.Name);
                    else
                        args.Player.SendSuccessMessage("Spawned the Wall of Flesh.", amount);
                    return;
                default:
                    args.Player.SendErrorMessage("Invalid boss type!");
                    return;
            }
        }
コード例 #12
0
        public IEnumerable<Terraria.NPC> GetNpcs()
        {
            int[] friends = new int[]
            {
                17,
                18,
                19,
                20,
                22,
                54,
                38,
                107,
                108,
                124,
                160,
                178,
                207,
                208,
                209,
                227,
                228,
                229
            };
            foreach (int id in friends)
            {
                var npc = new NPC();
                npc.SetDefaults(id);

                yield return npc;
            }
        }
コード例 #13
0
ファイル: Player.cs プロジェクト: itamargreen/ModLoader
 public void OpenBossBag(int type)
 {
     if (type == 3318)
     {
         if (Main.rand.Next(2) == 0)
         {
             this.QuickSpawnItem(2430, 1);
         }
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2493, 1);
         }
         int num = Main.rand.Next(256, 259);
         int num2;
         for (num2 = Main.rand.Next(256, 259); num2 == num; num2 = Main.rand.Next(256, 259))
         {
         }
         this.QuickSpawnItem(num, 1);
         this.QuickSpawnItem(num2, 1);
         if (Main.rand.Next(2) == 0)
         {
             this.QuickSpawnItem(2610, 1);
         }
         else
         {
             this.QuickSpawnItem(2585, 1);
         }
         this.QuickSpawnItem(998, 1);
         this.QuickSpawnItem(3090, 1);
     }
     else if (type == 3319)
     {
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2112, 1);
         }
         if (Main.rand.Next(30) == 0)
         {
             this.QuickSpawnItem(1299, 1);
         }
         if (WorldGen.crimson)
         {
             int num3 = Main.rand.Next(20) + 10;
             num3 += Main.rand.Next(20) + 10;
             num3 += Main.rand.Next(20) + 10;
             this.QuickSpawnItem(880, num3);
             num3 = Main.rand.Next(3) + 1;
             this.QuickSpawnItem(2171, num3);
         }
         else
         {
             int num4 = Main.rand.Next(20) + 10;
             num4 += Main.rand.Next(20) + 10;
             num4 += Main.rand.Next(20) + 10;
             this.QuickSpawnItem(56, num4);
             num4 = Main.rand.Next(3) + 1;
             this.QuickSpawnItem(59, num4);
             num4 = Main.rand.Next(30) + 20;
             this.QuickSpawnItem(47, num4);
         }
         this.QuickSpawnItem(3097, 1);
     }
     else if (type == 3320)
     {
         int num5 = Main.rand.Next(15, 30);
         num5 += Main.rand.Next(15, 31);
         this.QuickSpawnItem(56, num5);
         num5 = Main.rand.Next(10, 20);
         this.QuickSpawnItem(86, num5);
         if (Main.rand.Next(20) == 0)
         {
             this.QuickSpawnItem(994, 1);
         }
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2111, 1);
         }
         this.QuickSpawnItem(3224, 1);
     }
     else if (type == 3321)
     {
         int num6 = Main.rand.Next(20, 46);
         num6 += Main.rand.Next(20, 46);
         this.QuickSpawnItem(880, num6);
         num6 = Main.rand.Next(10, 20);
         this.QuickSpawnItem(1329, num6);
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2104, 1);
         }
         if (Main.rand.Next(20) == 0)
         {
             this.QuickSpawnItem(3060, 1);
         }
         this.QuickSpawnItem(3223, 1);
     }
     else if (type == 3322)
     {
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2108, 1);
         }
         int num7 = Main.rand.Next(3);
         if (num7 == 0)
         {
             num7 = 1121;
         }
         else if (num7 == 1)
         {
             num7 = 1123;
         }
         else if (num7 == 2)
         {
             num7 = 2888;
         }
         this.QuickSpawnItem(num7, 1);
         this.QuickSpawnItem(3333, 1);
         if (Main.rand.Next(3) == 0)
         {
             this.QuickSpawnItem(1132, 1);
         }
         if (Main.rand.Next(9) == 0)
         {
             this.QuickSpawnItem(1170, 1);
         }
         if (Main.rand.Next(9) == 0)
         {
             this.QuickSpawnItem(2502, 1);
         }
         this.QuickSpawnItem(1129, 1);
         this.QuickSpawnItem(Main.rand.Next(842, 845), 1);
         this.QuickSpawnItem(1130, Main.rand.Next(10, 30));
         this.QuickSpawnItem(2431, Main.rand.Next(17, 30));
     }
     else if (type == 3323)
     {
         this.QuickSpawnItem(3245, 1);
         int num8 = Main.rand.Next(3);
         if (num8 == 0)
         {
             this.QuickSpawnItem(1281, 1);
         }
         else if (num8 == 1)
         {
             this.QuickSpawnItem(1273, 1);
         }
         else
         {
             this.QuickSpawnItem(1313, 1);
         }
     }
     else if (type == 3324)
     {
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2105, 1);
         }
         this.QuickSpawnItem(367, 1);
         if (!this.extraAccessory)
         {
             this.QuickSpawnItem(3335, 1);
         }
         int num9 = Main.rand.Next(4);
         if (num9 == 3)
         {
             num9 = 2998;
         }
         else
         {
             num9 = 489 + num9;
         }
         this.QuickSpawnItem(num9, 1);
         int num10 = Main.rand.Next(3);
         if (num10 == 0)
         {
             this.QuickSpawnItem(514, 1);
         }
         else if (num10 == 1)
         {
             this.QuickSpawnItem(426, 1);
         }
         else if (num10 == 2)
         {
             this.QuickSpawnItem(434, 1);
         }
     }
     else if (type == 3325)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2113, 1);
         }
         this.QuickSpawnItem(548, Main.rand.Next(25, 41));
         this.QuickSpawnItem(1225, Main.rand.Next(20, 36));
         this.QuickSpawnItem(3355, 1);
     }
     else if (type == 3326)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2106, 1);
         }
         this.QuickSpawnItem(549, Main.rand.Next(25, 41));
         this.QuickSpawnItem(1225, Main.rand.Next(20, 36));
         this.QuickSpawnItem(3354, 1);
     }
     else if (type == 3327)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2107, 1);
         }
         this.QuickSpawnItem(547, Main.rand.Next(25, 41));
         this.QuickSpawnItem(1225, Main.rand.Next(20, 36));
         this.QuickSpawnItem(3356, 1);
     }
     else if (type == 3328)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2109, 1);
         }
         this.QuickSpawnItem(1141, 1);
         this.QuickSpawnItem(3336, 1);
         if (Main.rand.Next(15) == 0)
         {
             this.QuickSpawnItem(1182, 1);
         }
         if (Main.rand.Next(20) == 0)
         {
             this.QuickSpawnItem(1305, 1);
         }
         if (Main.rand.Next(2) == 0)
         {
             this.QuickSpawnItem(1157, 1);
         }
         if (Main.rand.Next(10) == 0)
         {
             this.QuickSpawnItem(3021, 1);
         }
         int num11 = Main.rand.Next(6);
         if (num11 == 0)
         {
             this.QuickSpawnItem(758, 1);
             this.QuickSpawnItem(771, Main.rand.Next(50, 150));
         }
         else if (num11 == 1)
         {
             this.QuickSpawnItem(1255, 1);
         }
         else if (num11 == 2)
         {
             this.QuickSpawnItem(788, 1);
         }
         else if (num11 == 3)
         {
             this.QuickSpawnItem(1178, 1);
         }
         else if (num11 == 4)
         {
             this.QuickSpawnItem(1259, 1);
         }
         else if (num11 == 5)
         {
             this.QuickSpawnItem(1155, 1);
         }
     }
     else if (type == 3329)
     {
         this.TryGettingDevArmor();
         this.QuickSpawnItem(3337, 1);
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2110, 1);
         }
         int num12 = Main.rand.Next(8);
         if (num12 == 0)
         {
             this.QuickSpawnItem(1258, 1);
             this.QuickSpawnItem(1261, Main.rand.Next(60, 100));
         }
         else if (num12 == 1)
         {
             this.QuickSpawnItem(1122, 1);
         }
         else if (num12 == 2)
         {
             this.QuickSpawnItem(899, 1);
         }
         else if (num12 == 3)
         {
             this.QuickSpawnItem(1248, 1);
         }
         else if (num12 == 4)
         {
             this.QuickSpawnItem(1294, 1);
         }
         else if (num12 == 5)
         {
             this.QuickSpawnItem(1295, 1);
         }
         else if (num12 == 6)
         {
             this.QuickSpawnItem(1296, 1);
         }
         else if (num12 == 7)
         {
             this.QuickSpawnItem(1297, 1);
         }
         this.QuickSpawnItem(2218, Main.rand.Next(18, 24));
     }
     else if (type == 3330)
     {
         this.TryGettingDevArmor();
         this.QuickSpawnItem(3367, 1);
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2588, 1);
         }
         if (Main.rand.Next(10) == 0)
         {
             this.QuickSpawnItem(2609, 1);
         }
         int num13 = Main.rand.Next(5);
         if (num13 == 0)
         {
             this.QuickSpawnItem(2611, 1);
         }
         else if (num13 == 1)
         {
             this.QuickSpawnItem(2624, 1);
         }
         else if (num13 == 2)
         {
             this.QuickSpawnItem(2622, 1);
         }
         else if (num13 == 3)
         {
             this.QuickSpawnItem(2621, 1);
         }
         else if (num13 == 4)
         {
             this.QuickSpawnItem(2623, 1);
         }
     }
     else if (type == 3331)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(3372, 1);
         }
     }
     else if (type == 3332)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(3373, 1);
         }
         if (!this.HasItem(3384))
         {
             this.QuickSpawnItem(3384, 1);
         }
         this.QuickSpawnItem(3460, Main.rand.Next(90, 111));
         this.QuickSpawnItem(1131, 1);
         this.QuickSpawnItem(3577, 1);
         int item = Utils.SelectRandom<int>(Main.rand, new int[]
             {
                 3063,
                 3389,
                 3065,
                 1553,
                 3546,
                 3541,
                 3570,
                 3571,
                 3569
             });
         this.QuickSpawnItem(item, 1);
     }
     int num14 = -1;
     if (type == 3318)
     {
         num14 = 50;
     }
     if (type == 3319)
     {
         num14 = 4;
     }
     if (type == 3320)
     {
         num14 = 13;
     }
     if (type == 3321)
     {
         num14 = 266;
     }
     if (type == 3322)
     {
         num14 = 222;
     }
     if (type == 3323)
     {
         num14 = 35;
     }
     if (type == 3324)
     {
         num14 = 113;
     }
     if (type == 3325)
     {
         num14 = 134;
     }
     if (type == 3326)
     {
         num14 = 125;
     }
     if (type == 3327)
     {
         num14 = 127;
     }
     if (type == 3328)
     {
         num14 = 262;
     }
     if (type == 3329)
     {
         num14 = 245;
     }
     if (type == 3330)
     {
         num14 = 370;
     }
     if (type == 3331)
     {
         num14 = 439;
     }
     if (type == 3332)
     {
         num14 = 398;
     }
     if (num14 > 0)
     {
         NPC nPC = new NPC();
         nPC.SetDefaults(num14, -1f);
         float num15 = nPC.value;
         num15 *= 1f + (float)Main.rand.Next(-20, 21) * 0.01f;
         if (Main.rand.Next(5) == 0)
         {
             num15 *= 1f + (float)Main.rand.Next(5, 11) * 0.01f;
         }
         if (Main.rand.Next(10) == 0)
         {
             num15 *= 1f + (float)Main.rand.Next(10, 21) * 0.01f;
         }
         if (Main.rand.Next(15) == 0)
         {
             num15 *= 1f + (float)Main.rand.Next(15, 31) * 0.01f;
         }
         if (Main.rand.Next(20) == 0)
         {
             num15 *= 1f + (float)Main.rand.Next(20, 41) * 0.01f;
         }
         while ((int)num15 > 0)
         {
             if (num15 > 1000000f)
             {
                 int num16 = (int)(num15 / 1000000f);
                 num15 -= (float)(1000000 * num16);
                 this.QuickSpawnItem(74, num16);
             }
             else if (num15 > 10000f)
             {
                 int num17 = (int)(num15 / 10000f);
                 num15 -= (float)(10000 * num17);
                 this.QuickSpawnItem(73, num17);
             }
             else if (num15 > 100f)
             {
                 int num18 = (int)(num15 / 100f);
                 num15 -= (float)(100 * num18);
                 this.QuickSpawnItem(72, num18);
             }
             else
             {
                 int num19 = (int)num15;
                 if (num19 < 1)
                 {
                     num19 = 1;
                 }
                 num15 -= (float)num19;
                 this.QuickSpawnItem(71, num19);
             }
         }
     }
 }
コード例 #14
0
ファイル: Main.cs プロジェクト: DaGamesta/TerrariaAPI-Server
 public void DedServ()
 {
     GameHooks.OnInitialize(true);
     Main.rand = new Random();
     if (Main.autoShutdown)
     {
         string text = "terraria" + Main.rand.Next(2147483647);
         Console.Title = text;
         IntPtr intPtr = Main.FindWindow(null, text);
         if (intPtr != IntPtr.Zero)
         {
             Main.ShowWindow(intPtr, 0);
         }
     }
     else
     {
         Console.Title = "Terraria Server " + Main.versionNumber2;
     }
     Main.dedServ = true;
     Main.showSplash = false;
     this.Initialize();
     /*var npcstring = "";
     for (int i = -17; i < Terraria.Main.maxNPCTypes; i++)
     {
         var Npc = new Terraria.NPC();
         Npc.netDefaults(i);
         npcstring += string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}\t{8}\t{9}\t{10}\t{11}\t{12}\t{13}\t{14}\t{15}\t{16}\t{17}\n",
             Npc.type, Npc.netID, Npc.name, Npc.life, Npc.damage, Npc.defense, Npc.knockBackResist, Npc.noGravity, Npc.value,
             Npc.friendly, Npc.noTileCollide, Npc.aiStyle, Npc.scale, Npc.boss, Npc.lavaImmune, Npc.townNPC,
             Npc.height, Npc.width);
     }
     File.WriteAllText("npc.txt", npcstring);
     var itemstring = "";
     for (int i = -24; i < Terraria.Main.maxItemTypes; i++)
     {
         var item = new Terraria.Item();
         item.netDefaults(i);
         itemstring += item.type + "\t" + item.name + "\n";
     }
     File.WriteAllText("item.txt", itemstring);
     var prefixstring = "";
     for (int i = 1; i < 84; i++)
     {
         Item item = new Item();
         item.SetDefaults(0);
         item.prefix = (byte)i;
         prefixstring += i + "\t" + item.AffixName() + "\n";
     }
     File.WriteAllText("prefix.txt", prefixstring);*/
     for (int i = 0; i < 142; i++)
     {
         NPC nPC = new NPC();
         nPC.SetDefaults(i, -1f);
         Main.npcName[i] = nPC.name;
     }
     while (Main.worldPathName == null || Main.worldPathName == "")
     {
         Main.LoadWorlds();
         bool flag = true;
         while (flag)
         {
             Console.WriteLine("Terraria Server " + Main.versionNumber2);
             Console.WriteLine("");
             for (int j = 0; j < Main.numLoadWorlds; j++)
             {
                 Console.WriteLine(string.Concat(new object[]
                                                     {
                                                         j + 1,
                                                         '\t',
                                                         '\t',
                                                         Main.loadWorld[j]
                                                     }));
             }
             Console.WriteLine(string.Concat(new object[]
                                                 {
                                                     "n",
                                                     '\t',
                                                     '\t',
                                                     "New World"
                                                 }));
             Console.WriteLine("d <number>" + '\t' + "Delete World");
             Console.WriteLine("");
             Console.Write("Choose World: ");
             string text2 = Console.ReadLine();
             try
             {
                 Console.Clear();
             }
             catch
             {
             }
             if (text2.Length >= 2 && text2.Substring(0, 2).ToLower() == "d ")
             {
                 try
                 {
                     int num = Convert.ToInt32(text2.Substring(2)) - 1;
                     if (num < Main.numLoadWorlds)
                     {
                         Console.WriteLine("Terraria Server " + Main.versionNumber2);
                         Console.WriteLine("");
                         Console.WriteLine("Really delete " + Main.loadWorld[num] + "?");
                         Console.Write("(y/n): ");
                         string text3 = Console.ReadLine();
                         if (text3.ToLower() == "y")
                         {
                             Main.EraseWorld(num);
                         }
                     }
                 }
                 catch
                 {
                 }
                 try
                 {
                     Console.Clear();
                     continue;
                 }
                 catch
                 {
                     continue;
                 }
             }
             if (text2 == "n" || text2 == "N")
             {
                 bool flag2 = true;
                 while (flag2)
                 {
                     Console.WriteLine("Terraria Server " + Main.versionNumber2);
                     Console.WriteLine("");
                     Console.WriteLine("1" + '\t' + "Small");
                     Console.WriteLine("2" + '\t' + "Medium");
                     Console.WriteLine("3" + '\t' + "Large");
                     Console.WriteLine("");
                     Console.Write("Choose size: ");
                     string value = Console.ReadLine();
                     try
                     {
                         int num2 = Convert.ToInt32(value);
                         if (num2 == 1)
                         {
                             Main.maxTilesX = 4200;
                             Main.maxTilesY = 1200;
                             flag2 = false;
                         }
                         else
                         {
                             if (num2 == 2)
                             {
                                 Main.maxTilesX = 6300;
                                 Main.maxTilesY = 1800;
                                 flag2 = false;
                             }
                             else
                             {
                                 if (num2 == 3)
                                 {
                                     Main.maxTilesX = 8400;
                                     Main.maxTilesY = 2400;
                                     flag2 = false;
                                 }
                             }
                         }
                     }
                     catch
                     {
                     }
                     try
                     {
                         Console.Clear();
                     }
                     catch
                     {
                     }
                 }
                 flag2 = true;
                 while (flag2)
                 {
                     Console.WriteLine("Terraria Server " + Main.versionNumber2);
                     Console.WriteLine("");
                     Console.Write("Enter world name: ");
                     Main.newWorldName = Console.ReadLine();
                     if (Main.newWorldName != "" && Main.newWorldName != " " && Main.newWorldName != null)
                     {
                         flag2 = false;
                     }
                     try
                     {
                         Console.Clear();
                     }
                     catch
                     {
                     }
                 }
                 Main.worldName = Main.newWorldName;
                 Main.worldPathName = Main.nextLoadWorld();
                 Main.menuMode = 10;
                 WorldGen.CreateNewWorld();
                 flag2 = false;
                 while (Main.menuMode == 10)
                 {
                     if (Main.oldStatusText != Main.statusText)
                     {
                         Main.oldStatusText = Main.statusText;
                         Console.WriteLine(Main.statusText);
                     }
                 }
                 try
                 {
                     Console.Clear();
                     continue;
                 }
                 catch
                 {
                     continue;
                 }
             }
             try
             {
                 int num3 = Convert.ToInt32(text2);
                 num3--;
                 if (num3 >= 0 && num3 < Main.numLoadWorlds)
                 {
                     bool flag3 = true;
                     while (flag3)
                     {
                         Console.WriteLine("Terraria Server " + Main.versionNumber2);
                         Console.WriteLine("");
                         Console.Write("Max players (press enter for 8): ");
                         string text4 = Console.ReadLine();
                         try
                         {
                             if (text4 == "")
                             {
                                 text4 = "8";
                             }
                             int num4 = Convert.ToInt32(text4);
                             if (num4 <= 255 && num4 >= 1)
                             {
                                 Main.maxNetPlayers = num4;
                                 flag3 = false;
                             }
                             flag3 = false;
                         }
                         catch
                         {
                         }
                         try
                         {
                             Console.Clear();
                         }
                         catch
                         {
                         }
                     }
                     flag3 = true;
                     while (flag3)
                     {
                         Console.WriteLine("Terraria Server " + Main.versionNumber2);
                         Console.WriteLine("");
                         Console.Write("Server port (press enter for 7777): ");
                         string text5 = Console.ReadLine();
                         try
                         {
                             if (text5 == "")
                             {
                                 text5 = "7777";
                             }
                             int num5 = Convert.ToInt32(text5);
                             if (num5 <= 65535)
                             {
                                 Netplay.serverPort = num5;
                                 flag3 = false;
                             }
                         }
                         catch
                         {
                         }
                         try
                         {
                             Console.Clear();
                         }
                         catch
                         {
                         }
                     }
                     Console.WriteLine("Terraria Server " + Main.versionNumber2);
                     Console.WriteLine("");
                     Console.Write("Server password (press enter for none): ");
                     Netplay.password = Console.ReadLine();
                     Main.worldPathName = Main.loadWorldPath[num3];
                     flag = false;
                     try
                     {
                         Console.Clear();
                     }
                     catch
                     {
                     }
                 }
             }
             catch
             {
             }
         }
     }
     try
     {
         Console.Clear();
     }
     catch
     {
     }
     WorldGen.serverLoadWorld();
     Console.WriteLine("Terraria Server " + Main.versionNumber);
     Console.WriteLine("");
     while (!Netplay.ServerUp)
     {
         if (Main.oldStatusText != Main.statusText)
         {
             Main.oldStatusText = Main.statusText;
             Console.WriteLine(Main.statusText);
         }
     }
     try
     {
         Console.Clear();
     }
     catch
     {
     }
     Console.WriteLine("Terraria Server " + Main.versionNumber);
     Console.WriteLine("");
     Console.WriteLine("Listening on port " + Netplay.serverPort);
     Console.WriteLine("Type 'help' for a list of commands.");
     Console.WriteLine("");
     Console.Title = "Terraria Server: " + Main.worldName;
     Stopwatch stopwatch = new Stopwatch();
     if (!Main.autoShutdown)
     {
         Main.startDedInput();
     }
     GameHooks.OnInitialize(false);
     stopwatch.Start();
     double num6 = 16.666666666666668;
     double num7 = 0.0;
     int num8 = 0;
     Stopwatch stopwatch2 = new Stopwatch();
     stopwatch2.Start();
     while (!Netplay.disconnect)
     {
         double num9 = (double)stopwatch.ElapsedMilliseconds;
         if (num9 + num7 >= num6)
         {
             num8++;
             num7 += num9 - num6;
             stopwatch.Reset();
             stopwatch.Start();
             if (Main.oldStatusText != Main.statusText)
             {
                 Main.oldStatusText = Main.statusText;
                 Console.WriteLine(Main.statusText);
             }
             if (num7 > 1000.0)
             {
                 num7 = 1000.0;
             }
             if (Netplay.anyClients)
             {
                 GameHooks.OnUpdate(true);
                 this.Update(new GameTime());
                 GameHooks.OnUpdate(false);
             }
             double num10 = (double)stopwatch.ElapsedMilliseconds + num7;
             if (num10 < num6)
             {
                 int num11 = (int)(num6 - num10) - 1;
                 if (num11 > 1)
                 {
                     Thread.Sleep(num11);
                     if (!Netplay.anyClients)
                     {
                         num7 = 0.0;
                         Thread.Sleep(10);
                     }
                 }
             }
         }
         Thread.Sleep(0);
     }
 }
コード例 #15
0
        unsafe static LoadError ReadV1(ref WorldFile ret, BinBuffer bb)
        {
            // please help me, I'm starting to code C/C++ in C#

            InitFrameImportant();
            InitSolid();

            int ver = ret.version;
            if (ver > 102 /* 1.2.4.1 */)
                return LoadError.InvalidVersion;

            #region global stuff
            ret.name = PlayerPorter.ReadString(bb);
            ret.ID = bb.ReadInt();
            ret.bounds = new Vector4(bb.ReadInt(), bb.ReadInt(), bb.ReadInt(), bb.ReadInt());
            ret.size = new Point(bb.ReadInt(), bb.ReadInt());
            ret.moonType = ver >= 63 ? bb.ReadByte() : backupRand.Next(Main.maxMoons);

            if (ver >= 44)
            {
                for (int i = 0; i < ret.treeX.Length; i++)
                    ret.treeX[i] = bb.ReadInt();
                for (int i = 0; i < ret.treeStyle.Length; i++)
                    ret.treeStyle[i] = bb.ReadInt();
            }
            if (ver >= 60)
            {
                for (int i = 0; i < ret.caveBackX.Length; i++)
                    ret.caveBackX[i] = bb.ReadInt();
                for (int i = 0; i < ret.caveBackStyle.Length; i++)
                    ret.caveBackStyle[i] = bb.ReadInt();

                ret.iceBackStyle = bb.ReadInt();

                if (ver >= 61)
                {
                    ret.jungleBackStyle = bb.ReadInt();
                    ret.hellBackStyle = bb.ReadInt();
                }
            }
            else
            {
                #region create random background styles
                const int maxValue = 8;

                if (ret.size.X == 4200)
                {
                    ret.caveBackX[0] = backupRand.Next(ret.size.X / 4, ret.size.X / 4 * 3);

                    ret.caveBackX[1] = ret.caveBackX[2] = ret.size.X;

                    ret.caveBackStyle[0] = backupRand.Next(maxValue);

                    do
                        ret.caveBackStyle[1] = backupRand.Next(maxValue);
                    while (ret.caveBackStyle[1] == ret.caveBackStyle[0]);
                }
                else if (ret.size.X == 6400)
                {
                    ret.caveBackX[0] = backupRand.Next(ret.size.X / 3 - ret.size.X / 5, ret.size.X / 3 + ret.size.X / 5);
                    ret.caveBackX[1] = backupRand.Next(ret.size.X / 3 * 2 - ret.size.X / 5, ret.size.X / 3 * 2 + ret.size.X / 5);

                    ret.caveBackX[2] = ret.size.X;

                    ret.caveBackStyle[0] = backupRand.Next(maxValue);

                    do
                        ret.caveBackStyle[1] = backupRand.Next(maxValue);
                    while (ret.caveBackStyle[1] == ret.caveBackStyle[0]);

                    do
                        ret.caveBackStyle[2] = backupRand.Next(maxValue);
                    while (ret.caveBackStyle[2] == ret.caveBackStyle[0] || ret.caveBackStyle[2] == ret.caveBackStyle[1]);
                }
                else
                {
                    ret.caveBackX[0] = backupRand.Next(ret.size.X / 4 - ret.size.X / 8, ret.size.X / 4 + ret.size.X / 8);
                    ret.caveBackX[1] = backupRand.Next(ret.size.X / 2 - ret.size.X / 8, ret.size.X / 2 + ret.size.X / 8);
                    ret.caveBackX[2] = backupRand.Next(ret.size.X / 4 * 3 - ret.size.X / 8, ret.size.X / 4 * 3 + ret.size.X / 8);

                    ret.caveBackStyle[0] = backupRand.Next(maxValue);

                    do
                        ret.caveBackStyle[1] = backupRand.Next(maxValue);
                    while (ret.caveBackStyle[1] == ret.caveBackStyle[0]);

                    do
                        ret.caveBackStyle[2] = backupRand.Next(maxValue);
                    while (ret.caveBackStyle[2] == ret.caveBackStyle[0] || ret.caveBackStyle[2] == ret.caveBackStyle[1]);

                    do
                        ret.caveBackStyle[3] = backupRand.Next(maxValue);
                    while (ret.caveBackStyle[3] == ret.caveBackStyle[0] || ret.caveBackStyle[3] == ret.caveBackStyle[1] || ret.caveBackStyle[3] == ret.caveBackStyle[2]);
                }

                ret.iceBackStyle = backupRand.Next(4);
                ret.hellBackStyle = backupRand.Next(3);
                ret.jungleBackStyle = backupRand.Next(2);
                #endregion
            }

            ret.spawn = new Point(bb.ReadInt(), bb.ReadInt());

            ret.surface = bb.ReadDouble();
            ret.rockLayer = bb.ReadDouble();
            ret.time = bb.ReadDouble();
            ret.day = bb.ReadBool();
            ret.moonPhase = bb.ReadInt() % 8;
            ret.bloodMoon = bb.ReadBool();

            if (ver >= 70)
                ret.eclipse = bb.ReadBool();

            ret.dungeon = new Point(bb.ReadInt(), bb.ReadInt());

            ret.crimson = ver >= 56 ? bb.ReadBool() : false;

            ret.DefeatedEoC = bb.ReadBool();
            ret.DefeatedEoW = bb.ReadBool();
            ret.DefeatedSkeletron = bb.ReadBool();

            if (ver >= 66)
                ret.DefeatedQueenBee = bb.ReadBool();
            if (ver >= 44)
            {
                ret.DefeatedDestroyer = bb.ReadBool();
                ret.DefeatedTwins = bb.ReadBool();
                ret.DefeatedSkeletronPrime = bb.ReadBool();
                bool downedAnyHM = bb.ReadBool(); // pretty redundant
            }
            if (ver >= 64)
            {
                ret.DefeatedPlantera = bb.ReadBool();
                ret.DefeatedGolem = bb.ReadBool();
            }
            if (ver >= 29)
            {
                ret.SavedGoblin = bb.ReadBool();
                ret.SavedWizard = bb.ReadBool();

                if (ver >= 34)
                {
                    ret.SavedMechanic = bb.ReadBool();

                    if (ver >= 80)
                        ret.SavedStylist = bb.ReadBool();
                }
            }
            if (ver >= 32)
                ret.DefeatedClown = bb.ReadBool();
            if (ver >= 37)
                ret.DefeatedFrostLegion = bb.ReadBool();
            if (ver >= 56)
                ret.DefeatedPirates = bb.ReadBool();

            ret.SmashedShadowOrb = bb.ReadBool();
            ret.MeteorHasLanded = bb.ReadBool();
            ret.shadowOrbsSmashed = bb.ReadByte();

            if (ver >= 23)
            {
                ret.altarsSmashed = bb.ReadInt();
                ret.Hardmode = bb.ReadBool();
            }

            ret.invasionDelay = bb.ReadInt();
            ret.invasionSize = bb.ReadInt();
            ret.invasionType = bb.ReadInt();
            ret.invasionX = bb.ReadDouble();

            if (ver >= 53)
            {
                ret.Raining = bb.ReadBool();
                ret.rainTime = bb.ReadInt();
                ret.maxRain = bb.ReadFloat();
            }
            if (ver >= 54)
            {
                ret.ore1Type = bb.ReadInt();
                ret.ore2Type = bb.ReadInt();
                ret.ore3Type = bb.ReadInt();
            }
            else if (ver >= 32 && ret.altarsSmashed == 0)
                ret.ore1Type = ret.ore2Type = ret.ore3Type = -1;
            else
            {
                ret.ore1Type = 107;
                ret.ore2Type = 108;
                ret.ore3Type = 111;
            }

            if (ver >= 55)
                for (int i = 0; i < 3; i++)
                    ret.bgStyles[i] = bb.ReadByte();
            if (ver >= 60)
            {
                for (int i = 3; i < 8; i++)
                    ret.bgStyles[i] = bb.ReadByte();

                ret.cloudBgActive = bb.ReadInt();
            }
            else
                ret.cloudBgActive = -backupRand.Next(8640, 86400);

            if (ver >= 62)
            {
                ret.cloudAmt = bb.ReadShort();
                ret.windSpeed = bb.ReadFloat();
            }
            else
            {
                ret.cloudAmt = (short)backupRand.Next(10, Main.cloudLimit);

                do
                    ret.windSpeed = WorldGen.genRand.Next(-100, 101) / 100f;
                while (ret.windSpeed == 0f);
            }
            #endregion

            for (int i = 0; i < ret.bgStyles.Length; i++)
                WorldGen.setBG(i, ret.bgStyles[i]);

            ret.InitTiles();

            #region tiles
            // warning: lunacy ahead

            fixed (Tile* basePtr = &ret.tiles[0, 0])
            {
                var t = basePtr; // don't check the bounds over and over again. much faster.

                for (int i = 0; i < ret.size.X + ret.size.Y; i++)
                {
                    long offset = t - basePtr;
                    long x = offset % ret.size.X;
                    long y = (offset - x) / ret.size.X;

                    byte* compressed = (byte*)(t + t->CompressedDataOffset);

                    if (t->Active = bb.ReadBool())
                    {
                        t->type = ver > 77 ? bb.ReadUShort() : bb.ReadByte();

                        if (t->type == 127)
                            t->Active = false;

                        if (ver <= 72 && (t->type >= 35 || t->type <= 36 || t->type >= 170 || t->type <= 172))
                        {
                            t->frameX = bb.ReadShort();
                            t->frameY = bb.ReadShort();
                        }
                        else if (TileDef.frameImportant[t->type])
                        {
                            if (ver < 28 && t->type == 4)
                                t->frameX = t->frameY = 0;
                            else if (ver < 40 && t->type == 19)
                                t->frameX = t->frameY = 0;
                            else
                            {
                                t->frameX = bb.ReadShort();
                                t->frameY = bb.ReadShort();

                                if (t->type == 144)
                                    t->frameY = 0;
                            }
                        }
                        else
                            t->frameX = t->frameY = -1;

                        if (ver >= 84 && bb.ReadBool())
                            t->Colour = bb.ReadByte();

                        if (ver <= 25)
                            bb.ReadBool();

                        if (bb.ReadBool())
                        {
                            t->wall = bb.ReadByte();

                            if (ver >= 48 && bb.ReadBool())
                                t->WallColour = bb.ReadByte();
                        }
                        if (bb.ReadBool())
                        {
                            t->liquid = bb.ReadByte();

                            t->Lava = bb.ReadBool();

                            if (ver >= 51)
                                t->Honey = bb.ReadBool();
                        }
                        if (ver >= 33)
                            t->Wire = bb.ReadBool();
                        if (ver >= 43)
                        {
                            t->Wire2 = bb.ReadBool();
                            t->Wire3 = bb.ReadBool();
                        }
                        if (ver >= 41)
                        {
                            t->HalfBrick = bb.ReadBool() && !TileDef.solid[t->type];

                            if (ver >= 49)
                            {
                                t->Slope = bb.ReadByte();

                                if (!TileDef.solid[t->type])
                                    t->Slope = 0;
                            }
                        }
                        if (ver >= 42)
                        {
                            t->Actuator = bb.ReadBool();
                            t->Inactive = bb.ReadBool();
                        }

                        if (ver >= 25)
                            bb.ReadShort();
                    }

                    t += sizeof(Tile);
                }
            }
            #endregion

            #region chests
            int chestSize = ver < 58 ? 20 : 40;

            for (int i = 0; i < ret.chests.Length; i++)
            {
                if (!bb.ReadBool())
                    continue;

                ret.chests[i] = new Chest()
                {
                    position = new Point(bb.ReadInt(), bb.ReadInt())
                };

                if (ver >= 85)
                    ret.chests[i].name = PlayerPorter.ReadString(bb);

                for (int j = 0; j < ret.chests[i].items.Length; j++)
                {
                    ret.chests[i].items[j] = new Item();

                    if (j < chestSize)
                    {
                        Item it = ret.chests[i].items[j];

                        int stack = ver >= 59 ? bb.ReadShort() : bb.ReadByte();
                        if (stack <= 0)
                            continue;

                        if (ver < 38)
                        {
                            // screw this
                            throw new FormatException("World format too old.");
                        }

                        it.netID = bb.ReadInt();
                        it.stack = stack;
                        it.prefix = bb.ReadByte();
                    }
                }
            }
            #endregion

            #region signs
            for (int i = 0; i < ret.signs.Length; i++)
            {
                if (!bb.ReadBool())
                    continue;

                ret.signs[i] = new Sign()
                {
                    text = PlayerPorter.ReadString(bb),
                    position = new Point(bb.ReadInt(), bb.ReadInt())
                };
            }
            #endregion

            #region town npcs
            while (bb.ReadBool())
            {
                TownNPC n = new TownNPC()
                {
                    occupation = PlayerPorter.ReadString(bb)
                };

                if (ver >= 83)
                    n.name = PlayerPorter.ReadString(bb);

                n.position = new Vector2(bb.ReadFloat(), bb.ReadFloat());
                n.homeless = bb.ReadBool();
                n.homeTile = new Point(bb.ReadInt(), bb.ReadInt());

                NPC npc = new NPC();
                npc.SetDefaults(n.occupation);
                n.type = npc.type;

                ret.townNPCs.Add(n);
            }

            if (ver >= 31 && ver <= 83)
            {
                string
                    merchantName = PlayerPorter.ReadString(bb),
                    nurseName = PlayerPorter.ReadString(bb),
                    armsDealerName = PlayerPorter.ReadString(bb),
                    dryadName = PlayerPorter.ReadString(bb),
                    guideName = PlayerPorter.ReadString(bb),
                    clothierName = PlayerPorter.ReadString(bb),
                    demolitionistName = PlayerPorter.ReadString(bb),
                    goblinName = PlayerPorter.ReadString(bb),
                    wizardName = PlayerPorter.ReadString(bb),

                    mechanicName = String.Empty,
                    truffleName = String.Empty,
                    steampunkerName = String.Empty,
                    dyeTraderName = String.Empty,
                    partyGirlName = String.Empty,
                    cyborgName = String.Empty,
                    painterName = String.Empty,
                    witchDoctorName = String.Empty,
                    pirateName = String.Empty,
                    anglerName = String.Empty;

                if (ver >= 35)
                {
                    mechanicName = PlayerPorter.ReadString(bb);

                    if (ver >= 65)
                    {
                        truffleName = PlayerPorter.ReadString(bb);
                        steampunkerName = PlayerPorter.ReadString(bb);
                        dyeTraderName = PlayerPorter.ReadString(bb);
                        partyGirlName = PlayerPorter.ReadString(bb);
                        cyborgName = PlayerPorter.ReadString(bb);
                        painterName = PlayerPorter.ReadString(bb);
                        witchDoctorName = PlayerPorter.ReadString(bb);
                        pirateName = PlayerPorter.ReadString(bb);

                        if (ver >= 79)
                            anglerName = PlayerPorter.ReadString(bb);
                    }
                }

                for (int i = 0; i < ret.townNPCs.Count; i++)
                {
                    TownNPC n = ret.townNPCs[i];

                    switch (n.occupation.ToLowerInvariant()) // can't remember if it's First second or First Second...
                    {
                        case "merchant":
                            n.name = merchantName;
                            break;
                        case "nurse":
                            n.name = merchantName;
                            break;
                        case "arms dealer":
                            n.name = armsDealerName;
                            break;
                        case "dryad":
                            n.name = dryadName;
                            break;
                        case "guide":
                            n.name = guideName;
                            break;
                        case "clothier":
                            n.name = clothierName;
                            break;
                        case "demolitionist":
                            n.name = demolitionistName;
                            break;
                        case "goblin tinkerer":
                            n.name = goblinName;
                            break;
                        case "wizard":
                            n.name = wizardName;
                            break;
                        case "mechanic":
                            n.name = mechanicName;
                            break;
                        case "truffle":
                            n.name = truffleName;
                            break;
                        case "steampunker":
                            n.name = steampunkerName;
                            break;
                        case "dye trader":
                            n.name = dyeTraderName;
                            break;
                        case "party girl":
                            n.name = partyGirlName;
                            break;
                        case "cyborg":
                            n.name = cyborgName;
                            break;
                        case "painter":
                            n.name = painterName;
                            break;
                        case "witch doctor":
                            n.name = witchDoctorName;
                            break;
                        case "pirate":
                            n.name = pirateName;
                            break;
                        case "angler":
                            n.name = anglerName;
                            break;
                    }
                }
            }
            #endregion

            if (ver < 7)
                return LoadError.Success;

            bool cBool = bb.ReadBool();
            string cStr = PlayerPorter.ReadString(bb);
            int bInt = bb.ReadInt();
            // this is not a checksum, red.
            return cBool && (cStr == ret.name || bInt == ret.ID)
                ? LoadError.Success
                : LoadError.InvalidChecksum;
        }
コード例 #16
0
ファイル: Main.cs プロジェクト: NoviaDroid/Terraria
		protected override void LoadContent()
		{
			try
			{
				this.mapSectionTexture = new RenderTarget2D(base.GraphicsDevice, 200, 150);
				Main.pixelShader = base.Content.Load<Effect>("pixelShader");
				Main.tileShader = base.Content.Load<Effect>("tileShader");
				Main.engine = new AudioEngine("Content" + Path.DirectorySeparatorChar + "TerrariaMusic.xgs");
				Main.soundBank = new SoundBank(Main.engine, "Content" + Path.DirectorySeparatorChar + "Sound Bank.xsb");
				Main.waveBank = new WaveBank(Main.engine, "Content" + Path.DirectorySeparatorChar + "Wave Bank.xwb");
				for (int i = 1; i < 34; i++)
				{
					Main.music[i] = Main.soundBank.GetCue("Music_" + i);
				}
				Main.soundMech[0] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Mech_0");
				Main.soundInstanceMech[0] = Main.soundMech[0].CreateInstance();
				Main.soundGrab = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Grab");
				Main.soundInstanceGrab = Main.soundGrab.CreateInstance();
				Main.soundPixie = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Pixie");
				Main.soundInstancePixie = Main.soundGrab.CreateInstance();
				Main.soundDig[0] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Dig_0");
				Main.soundInstanceDig[0] = Main.soundDig[0].CreateInstance();
				Main.soundDig[1] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Dig_1");
				Main.soundInstanceDig[1] = Main.soundDig[1].CreateInstance();
				Main.soundDig[2] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Dig_2");
				Main.soundInstanceDig[2] = Main.soundDig[2].CreateInstance();
				Main.soundTink[0] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Tink_0");
				Main.soundInstanceTink[0] = Main.soundTink[0].CreateInstance();
				Main.soundTink[1] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Tink_1");
				Main.soundInstanceTink[1] = Main.soundTink[1].CreateInstance();
				Main.soundTink[2] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Tink_2");
				Main.soundInstanceTink[2] = Main.soundTink[2].CreateInstance();
				Main.soundPlayerHit[0] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Player_Hit_0");
				Main.soundInstancePlayerHit[0] = Main.soundPlayerHit[0].CreateInstance();
				Main.soundPlayerHit[1] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Player_Hit_1");
				Main.soundInstancePlayerHit[1] = Main.soundPlayerHit[1].CreateInstance();
				Main.soundPlayerHit[2] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Player_Hit_2");
				Main.soundInstancePlayerHit[2] = Main.soundPlayerHit[2].CreateInstance();
				Main.soundFemaleHit[0] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Female_Hit_0");
				Main.soundInstanceFemaleHit[0] = Main.soundFemaleHit[0].CreateInstance();
				Main.soundFemaleHit[1] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Female_Hit_1");
				Main.soundInstanceFemaleHit[1] = Main.soundFemaleHit[1].CreateInstance();
				Main.soundFemaleHit[2] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Female_Hit_2");
				Main.soundInstanceFemaleHit[2] = Main.soundFemaleHit[2].CreateInstance();
				Main.soundPlayerKilled = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Player_Killed");
				Main.soundInstancePlayerKilled = Main.soundPlayerKilled.CreateInstance();
				Main.soundChat = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Chat");
				Main.soundInstanceChat = Main.soundChat.CreateInstance();
				Main.soundGrass = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Grass");
				Main.soundInstanceGrass = Main.soundGrass.CreateInstance();
				Main.soundDoorOpen = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Door_Opened");
				Main.soundInstanceDoorOpen = Main.soundDoorOpen.CreateInstance();
				Main.soundDoorClosed = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Door_Closed");
				Main.soundInstanceDoorClosed = Main.soundDoorClosed.CreateInstance();
				Main.soundMenuTick = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Menu_Tick");
				Main.soundInstanceMenuTick = Main.soundMenuTick.CreateInstance();
				Main.soundMenuOpen = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Menu_Open");
				Main.soundInstanceMenuOpen = Main.soundMenuOpen.CreateInstance();
				Main.soundMenuClose = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Menu_Close");
				Main.soundInstanceMenuClose = Main.soundMenuClose.CreateInstance();
				Main.soundShatter = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Shatter");
				Main.soundInstanceShatter = Main.soundShatter.CreateInstance();
				for (int j = 0; j < Main.soundZombie.Length; j++)
				{
					Main.soundZombie[j] = base.Content.Load<SoundEffect>(string.Concat(new object[]
					{
						"Sounds",
						Path.DirectorySeparatorChar,
						"Zombie_",
						j
					}));
					Main.soundInstanceZombie[j] = Main.soundZombie[j].CreateInstance();
				}
				for (int k = 0; k < Main.soundLiquid.Length; k++)
				{
					Main.soundLiquid[k] = base.Content.Load<SoundEffect>(string.Concat(new object[]
					{
						"Sounds",
						Path.DirectorySeparatorChar,
						"Liquid_",
						k
					}));
					Main.soundInstanceLiquid[k] = Main.soundLiquid[k].CreateInstance();
				}
				Main.soundRoar[0] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Roar_0");
				Main.soundInstanceRoar[0] = Main.soundRoar[0].CreateInstance();
				Main.soundRoar[1] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Roar_1");
				Main.soundInstanceRoar[1] = Main.soundRoar[1].CreateInstance();
				Main.soundSplash[0] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Splash_0");
				Main.soundInstanceSplash[0] = Main.soundRoar[0].CreateInstance();
				Main.soundSplash[1] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Splash_1");
				Main.soundInstanceSplash[1] = Main.soundSplash[1].CreateInstance();
				Main.soundDoubleJump = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Double_Jump");
				Main.soundInstanceDoubleJump = Main.soundRoar[0].CreateInstance();
				Main.soundRun = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Run");
				Main.soundInstanceRun = Main.soundRun.CreateInstance();
				Main.soundCoins = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Coins");
				Main.soundInstanceCoins = Main.soundCoins.CreateInstance();
				Main.soundUnlock = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Unlock");
				Main.soundInstanceUnlock = Main.soundUnlock.CreateInstance();
				Main.soundMaxMana = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "MaxMana");
				Main.soundInstanceMaxMana = Main.soundMaxMana.CreateInstance();
				Main.soundDrown = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Drown");
				Main.soundInstanceDrown = Main.soundDrown.CreateInstance();
				for (int l = 1; l < 57; l++)
				{
					Main.soundItem[l] = base.Content.Load<SoundEffect>(string.Concat(new object[]
					{
						"Sounds",
						Path.DirectorySeparatorChar,
						"Item_",
						l
					}));
					Main.soundInstanceItem[l] = Main.soundItem[l].CreateInstance();
				}
				for (int m = 1; m < 15; m++)
				{
					Main.soundNPCHit[m] = base.Content.Load<SoundEffect>(string.Concat(new object[]
					{
						"Sounds",
						Path.DirectorySeparatorChar,
						"NPC_Hit_",
						m
					}));
					Main.soundInstanceNPCHit[m] = Main.soundNPCHit[m].CreateInstance();
				}
				for (int n = 1; n < 21; n++)
				{
					Main.soundNPCKilled[n] = base.Content.Load<SoundEffect>(string.Concat(new object[]
					{
						"Sounds",
						Path.DirectorySeparatorChar,
						"NPC_Killed_",
						n
					}));
					Main.soundInstanceNPCKilled[n] = Main.soundNPCKilled[n].CreateInstance();
				}
			}
			catch
			{
				Main.musicVolume = 0f;
				Main.soundVolume = 0f;
			}
			Main.smartDigTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "SmartDig");
			this.iceBarrierTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "IceBarrier");
			Main.frozenTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Frozen");
			Main.craftButtonTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "CraftButton");
			Main.craftUpButtonTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "RecUp");
			Main.craftDownButtonTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "RecDown");
			Main.scrollLeftButtonTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "RecLeft");
			Main.scrollRightButtonTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "RecRight");
			Main.pulleyTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "PlayerPulley");
			Main.reforgeTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Reforge");
			Main.timerTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Timer");
			Main.wofTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "WallOfFlesh");
			Main.wallOutlineTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Wall_Outline");
			Main.fadeTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "fade-out");
			Main.ghostTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Ghost");
			Main.evilCactusTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Evil_Cactus");
			Main.goodCactusTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Good_Cactus");
			Main.crimsonCactusTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Crimson_Cactus");
			Main.wraithEyeTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Wraith_Eyes");
			Main.fireflyTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Firefly");
			Main.fireflyJarTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "FireflyJar");
			Main.lightningbugTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "LightningBug");
			Main.lightningbugJarTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "LightningBugJar");
			for (int num = 1; num <= 3; num++)
			{
				Main.jellyfishBowlTexture[num - 1] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"jellyfishBowl",
					num
				}));
			}
			Main.glowSnailTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "GlowSnail");
			Main.iceQueenTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "IceQueen");
			Main.santaTankTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "SantaTank");
			Main.jackHatTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "JackHat");
			Main.treeFaceTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "TreeFace");
			Main.pumpkingFaceTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "PumpkingFace");
			Main.reaperEyeTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Reaper_Eyes");
			Main.dukeFishronTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "DukeFishron");
			Main.miniMinotaurTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "miniMinotaur");
			this.mapTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Map");
			this.mapBG1Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG1");
			this.mapBG2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG2");
			this.mapBG3Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG3");
			this.mapBG4Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG4");
			this.mapBG5Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG5");
			this.mapBG6Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG6");
			this.mapBG7Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG7");
			this.mapBG8Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG8");
			this.mapBG9Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG9");
			this.mapBG10Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG10");
			this.mapBG11Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG11");
			this.mapBG12Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG12");
			this.hueTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Hue");
			Main.colorSliderTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "ColorSlider");
			Main.colorBarTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "ColorBar");
			Main.colorBlipTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "ColorBlip");
			Main.rainTexture[0] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Rain_0");
			Main.rainTexture[1] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Rain_1");
			Main.rainTexture[2] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Rain_2");
			Main.rainTexture[3] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Rain_3");
			Main.rainTexture[4] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Rain_4");
			Main.rainTexture[5] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Rain_5");
			Main.magicPixel = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MagicPixel");
			Main.miniMapFrameTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MiniMapFrame");
			Main.miniMapFrame2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MiniMapFrame2");
			for (int num2 = 0; num2 < Main.xmasTree.Length; num2++)
			{
				Main.xmasTree[num2] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"Xmas_",
					num2
				}));
			}
			for (int num3 = 0; num3 < 4; num3++)
			{
				this.clothesTexture[num3] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"Clothes_",
					num3
				}));
			}
			for (int num4 = 0; num4 < Main.FlameTexture.Length; num4++)
			{
				Main.FlameTexture[num4] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"Flame_",
					num4
				}));
			}
			for (int num5 = 0; num5 < 3; num5++)
			{
				Main.miniMapButtonTexture[num5] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"MiniMapButton_",
					num5
				}));
			}
			for (int num6 = 0; num6 < 8; num6++)
			{
				this.mapIconTexture[num6] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"Map_",
					num6
				}));
			}
			Main.destTexture[0] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Dest1");
			Main.destTexture[1] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Dest2");
			Main.destTexture[2] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Dest3");
			Main.actuatorTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Actuator");
			Main.wireTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Wires");
			Main.wire2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Wires2");
			Main.wire3Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Wires3");
			Main.flyingCarpetTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "FlyingCarpet");
			Main.hbTexture1 = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "HealthBar1");
			Main.hbTexture2 = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "HealthBar2");
			Main.loTexture = base.Content.Load<Texture2D>(string.Concat(new object[]
			{
				"Images",
				Path.DirectorySeparatorChar,
				"logo_",
				Main.rand.Next(1, 9)
			}));
			Main.spriteBatch = new SpriteBatch(base.GraphicsDevice);
			for (int num7 = 1; num7 < 2; num7++)
			{
				Main.bannerTexture[num7] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"House_Banner_",
					num7
				}));
			}
			for (int num8 = 0; num8 < Main.npcHeadTexture.Length; num8++)
			{
				Main.npcHeadTexture[num8] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"NPC_Head_",
					num8
				}));
			}
			for (int num9 = 1; num9 < Main.BackPackTexture.Length; num9++)
			{
				Main.BackPackTexture[num9] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"BackPack_",
					num9
				}));
			}
			for (int num10 = 1; num10 < 140; num10++)
			{
				Main.buffTexture[num10] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"Buff_",
					num10
				}));
			}
			this.LoadBackground(0);
			this.LoadBackground(49);
			Main.minecartMountTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Mount_Minecart");
			for (int num11 = 0; num11 < Main.rudolphMountTexture.Length; num11++)
			{
				Main.rudolphMountTexture[num11] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"Rudolph_",
					num11
				}));
			}
			Main.bunnyMountTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Mount_Bunny");
			Main.pigronMountTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Mount_Pigron");
			Main.slimeMountTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Mount_Slime");
			Main.turtleMountTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Mount_Turtle");
			Main.beeMountTexture[0] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Mount_Bee");
			Main.beeMountTexture[1] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Mount_BeeWings");
			for (int num12 = 0; num12 < 2749; num12++)
			{
				Main.itemTexture[num12] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"Item_",
					num12
				}));
			}
			for (int num13 = 0; num13 < 6; num13++)
			{
				Main.gemTexture[num13] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"Gem_",
					num13
				}));
			}
			for (int num14 = 0; num14 < 378; num14++)
			{
				NPC nPC = new NPC();
				nPC.SetDefaults(num14, -1f);
				Main.npcName[num14] = nPC.name;
			}
			for (int num15 = 0; num15 < 22; num15++)
			{
				Main.cloudTexture[num15] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"Cloud_",
					num15
				}));
			}
			for (int num16 = 0; num16 < 5; num16++)
			{
				Main.starTexture[num16] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"Star_",
					num16
				}));
			}
			for (int num17 = 0; num17 < 12; num17++)
			{
				Main.liquidTexture[num17] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"Liquid_",
					num17
				}));
			}
			this.waterfallManager.LoadContent(base.Content);
			Main.npcToggleTexture[0] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "House_1");
			Main.npcToggleTexture[1] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "House_2");
			Main.HBLockTexture[0] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Lock_0");
			Main.HBLockTexture[1] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Lock_1");
			Main.gridTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Grid");
			Main.trashTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Trash");
			Main.cdTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "CoolDown");
			Main.logoTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Logo");
			Main.logo2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Logo2");
			Main.dustTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Dust");
			Main.sunTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Sun");
			Main.sun2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Sun2");
			Main.sun3Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Sun3");
			Main.blackTileTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Black_Tile");
			Main.heartTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Heart");
			Main.heart2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Heart2");
			Main.bubbleTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Bubble");
			Main.flameTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Flame");
			Main.manaTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Mana");
			Main.cursorTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Cursor");
			Main.cursor2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Cursor2");
			Main.ninjaTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Ninja");
			Main.antLionTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "AntlionBody");
			Main.spikeBaseTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Spike_Base");
			Main.woodTexture[0] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Tiles_5_0");
			Main.woodTexture[1] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Tiles_5_1");
			Main.woodTexture[2] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Tiles_5_2");
			Main.woodTexture[3] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Tiles_5_3");
			Main.woodTexture[4] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Tiles_5_4");
			Main.woodTexture[5] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Tiles_5_5");
			Main.woodTexture[6] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Tiles_5_6");
			Main.pumpkinMoonTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Moon_Pumpkin");
			Main.snowMoonTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Moon_Snow");
			for (int num18 = 0; num18 < Main.moonTexture.Length; num18++)
			{
				Main.moonTexture[num18] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"Moon_",
					num18
				}));
			}
			for (int num19 = 0; num19 < Main.treeTopTexture.Length; num19++)
			{
				Main.treeTopTexture[num19] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"Tree_Tops_",
					num19
				}));
			}
			for (int num20 = 0; num20 < Main.treeBranchTexture.Length; num20++)
			{
				Main.treeBranchTexture[num20] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"Tree_Branches_",
					num20
				}));
			}
			Main.shroomCapTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Shroom_Tops");
			Main.inventoryBackTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back");
			Main.inventoryBack2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back2");
			Main.inventoryBack3Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back3");
			Main.inventoryBack4Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back4");
			Main.inventoryBack5Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back5");
			Main.inventoryBack6Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back6");
			Main.inventoryBack7Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back7");
			Main.inventoryBack8Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back8");
			Main.inventoryBack9Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back9");
			Main.inventoryBack10Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back10");
			Main.inventoryBack11Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back11");
			Main.inventoryBack12Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back12");
			Main.inventoryBack13Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back13");
			Main.inventoryBack14Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back14");
			Main.hairStyleBackTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "HairStyleBack");
			Main.clothesStyleBackTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "ClothesStyleBack");
			Main.inventoryTickOffTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Tick_Off");
			Main.inventoryTickOnTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Tick_On");
			Main.textBackTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Text_Back");
			Main.chatTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chat");
			Main.chat2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chat2");
			Main.chatBackTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chat_Back");
			Main.teamTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Team");
			Main.skinArmTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Skin_Arm");
			Main.skinBodyTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Skin_Body");
			Main.skinLegsTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Skin_Legs");
			Main.playerEyeWhitesTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Eye_Whites");
			Main.playerEyesTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Eyes");
			Main.playerHandsTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Hands");
			Main.playerHands2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Hands2");
			Main.playerHeadTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Head");
			Main.playerPantsTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Pants");
			Main.playerShirtTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Shirt");
			Main.playerShoesTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Shoes");
			Main.playerUnderShirtTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Undershirt");
			Main.playerUnderShirt2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Undershirt2");
			Main.femalePantsTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Female_Pants");
			Main.femaleShirtTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Female_Shirt");
			Main.femaleShoesTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Female_Shoes");
			Main.femaleUnderShirtTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Female_Undershirt");
			Main.femaleUnderShirt2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Female_Undershirt2");
			Main.femaleShirt2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Female_Shirt2");
			Main.chaosTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chaos");
			Main.EyeLaserTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Eye_Laser");
			Main.BoneEyesTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Bone_Eyes");
			Main.BoneLaserTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Bone_Laser");
			Main.lightDiscTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Light_Disc");
			Main.confuseTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Confuse");
			Main.probeTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Probe");
			Main.sunOrbTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "SunOrb");
			Main.sunAltarTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "SunAltar");
			Main.xmasLightTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "XmasLight");
			Main.beetleTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "BeetleOrb");
			Main.fishingLineTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "FishingLine");
			Main.chainTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain");
			Main.chain2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain2");
			Main.chain3Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain3");
			Main.chain4Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain4");
			Main.chain5Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain5");
			Main.chain6Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain6");
			Main.chain7Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain7");
			Main.chain8Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain8");
			Main.chain9Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain9");
			Main.chain10Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain10");
			Main.chain11Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain11");
			Main.chain12Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain12");
			Main.chain13Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain13");
			Main.chain14Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain14");
			Main.chain15Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain15");
			Main.chain16Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain16");
			Main.chain17Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain17");
			Main.chain18Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain18");
			Main.chain19Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain19");
			Main.chain20Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain20");
			Main.chain21Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain21");
			Main.chain22Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain22");
			Main.chain23Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain23");
			Main.chain24Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain24");
			Main.chain25Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain25");
			Main.chain26Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain26");
			Main.chain27Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain27");
			Main.chain28Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain28");
			Main.chain29Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain29");
			Main.chain30Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain30");
			Main.chain31Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain31");
			Main.chain32Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain32");
			Main.chain33Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain33");
			Main.chain34Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain34");
			Main.chain35Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain35");
			Main.chain36Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain36");
			Main.chain37Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain37");
			Main.eyeLaserSmallTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Eye_Laser_Small");
			Main.boneArmTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Arm_Bone");
			Main.pumpkingArmTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "PumpkingArm");
			Main.pumpkingCloakTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "PumpkingCloak");
			Main.boneArm2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Arm_Bone_2");
			for (int num21 = 1; num21 < Main.gemChainTexture.Length; num21++)
			{
				Main.gemChainTexture[num21] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"GemChain_",
					num21
				}));
			}
			for (int num22 = 1; num22 < Main.golemTexture.Length; num22++)
			{
				Main.golemTexture[num22] = base.Content.Load<Texture2D>(string.Concat(new object[]
				{
					"Images",
					Path.DirectorySeparatorChar,
					"GolemLights",
					num22
				}));
			}
			Main.fontItemStack = base.Content.Load<SpriteFont>("Fonts" + Path.DirectorySeparatorChar + "Item_Stack");
			Main.fontMouseText = base.Content.Load<SpriteFont>("Fonts" + Path.DirectorySeparatorChar + "Mouse_Text");
			Main.fontDeathText = base.Content.Load<SpriteFont>("Fonts" + Path.DirectorySeparatorChar + "Death_Text");
			Main.fontCombatText[0] = base.Content.Load<SpriteFont>("Fonts" + Path.DirectorySeparatorChar + "Combat_Text");
			Main.fontCombatText[1] = base.Content.Load<SpriteFont>("Fonts" + Path.DirectorySeparatorChar + "Combat_Crit");
			Mount.Initialize();
			Minecart.Initialize();
		}
コード例 #17
0
ファイル: GetDataHandlers.cs プロジェクト: sylar605/TshockCN
        private static bool HandleSpawnBoss(GetDataHandlerArgs args)
        {
            if ((DateTime.UtcNow - args.Player.LastThreat).TotalMilliseconds < 5000)
            {
                return true;
            }

            var spawnboss = false;
            var invasion = false;
            var plr = args.Data.ReadInt16();
            var Type = args.Data.ReadInt16();
            NPC npc = new NPC();
            npc.SetDefaults(Type);
            spawnboss = npc.boss;
            if (!spawnboss)
            {
                switch (Type)
                {
                    case -1:
                    case -2:
                    case -3:
                    case -4:
                    case -5:
                    case -6:
                    case -7:
                        invasion = true;
                        break;
                    case 4:
                    case 13:
                    case 50:
                    case 126:
                    case 125:
                    case 134:
                    case 127:
                    case 128:
                    case 131:
                    case 129:
                    case 130:
                    case 222:
                    case 245:
                    case 266:
                    case 370:
                    case 75:
                    case 398:
                    case 439:
                    case 493:
                    case 507:
                    case 422:
                    case 517:
                        spawnboss = true;
                        break;
                }
            }
            if (spawnboss && !args.Player.Group.HasPermission(Permissions.summonboss))
            {
                args.Player.SendErrorMessage("你没有权限召唤Boss。");
                return true;
            }
            if (invasion && !args.Player.Group.HasPermission(Permissions.startinvasion))
            {
                args.Player.SendErrorMessage("你没有权限召唤入侵。");
                return true;
            }
            if (!spawnboss && !invasion)
                return true;

            if (plr != args.Player.Index)
                return true;

            string boss;
            switch (Type)
            {
                case -5:
                    boss = "霜月";
                    break;
                case -4:
                    boss = "南瓜月";
                    break;
                case -3:
                    boss = "海盗入侵";
                    break;
                case -2:
                    boss = "雪人军团";
                    break;
                case -1:
                    boss = "哥布林入侵";
                    break;
                default:
                    boss = String.Format("{0}", npc.name);
                    break;
            }
            if (TShock.Config.AnonymousBossInvasions)
                TShock.Utils.SendLogs(string.Format("{0} 召唤了 {1}。", args.Player.Name, boss), Color.PaleVioletRed, args.Player);
            else
                TShock.Utils.Broadcast(String.Format("{0} 召唤了 {1},并被系统记录。", args.Player.Name, boss), 175, 75, 255);
            return false;
        }
コード例 #18
0
ファイル: Main.cs プロジェクト: vharonftw/Terraria-Server-
 protected override void LoadContent()
 {
     try
     {
         Main.engine = new AudioEngine("Content\\TerrariaMusic.xgs");
         Main.soundBank = new SoundBank(Main.engine, "Content\\Sound Bank.xsb");
         Main.waveBank = new WaveBank(Main.engine, "Content\\Wave Bank.xwb");
         for (int i = 1; i < 14; i++)
         {
             Main.music[i] = Main.soundBank.GetCue("Music_" + i);
         }
         Main.soundMech[0] = base.Content.Load<SoundEffect>("Sounds\\Mech_0");
         Main.soundInstanceMech[0] = Main.soundMech[0].CreateInstance();
         Main.soundGrab = base.Content.Load<SoundEffect>("Sounds\\Grab");
         Main.soundInstanceGrab = Main.soundGrab.CreateInstance();
         Main.soundPixie = base.Content.Load<SoundEffect>("Sounds\\Pixie");
         Main.soundInstancePixie = Main.soundGrab.CreateInstance();
         Main.soundDig[0] = base.Content.Load<SoundEffect>("Sounds\\Dig_0");
         Main.soundInstanceDig[0] = Main.soundDig[0].CreateInstance();
         Main.soundDig[1] = base.Content.Load<SoundEffect>("Sounds\\Dig_1");
         Main.soundInstanceDig[1] = Main.soundDig[1].CreateInstance();
         Main.soundDig[2] = base.Content.Load<SoundEffect>("Sounds\\Dig_2");
         Main.soundInstanceDig[2] = Main.soundDig[2].CreateInstance();
         Main.soundTink[0] = base.Content.Load<SoundEffect>("Sounds\\Tink_0");
         Main.soundInstanceTink[0] = Main.soundTink[0].CreateInstance();
         Main.soundTink[1] = base.Content.Load<SoundEffect>("Sounds\\Tink_1");
         Main.soundInstanceTink[1] = Main.soundTink[1].CreateInstance();
         Main.soundTink[2] = base.Content.Load<SoundEffect>("Sounds\\Tink_2");
         Main.soundInstanceTink[2] = Main.soundTink[2].CreateInstance();
         Main.soundPlayerHit[0] = base.Content.Load<SoundEffect>("Sounds\\Player_Hit_0");
         Main.soundInstancePlayerHit[0] = Main.soundPlayerHit[0].CreateInstance();
         Main.soundPlayerHit[1] = base.Content.Load<SoundEffect>("Sounds\\Player_Hit_1");
         Main.soundInstancePlayerHit[1] = Main.soundPlayerHit[1].CreateInstance();
         Main.soundPlayerHit[2] = base.Content.Load<SoundEffect>("Sounds\\Player_Hit_2");
         Main.soundInstancePlayerHit[2] = Main.soundPlayerHit[2].CreateInstance();
         Main.soundFemaleHit[0] = base.Content.Load<SoundEffect>("Sounds\\Female_Hit_0");
         Main.soundInstanceFemaleHit[0] = Main.soundFemaleHit[0].CreateInstance();
         Main.soundFemaleHit[1] = base.Content.Load<SoundEffect>("Sounds\\Female_Hit_1");
         Main.soundInstanceFemaleHit[1] = Main.soundFemaleHit[1].CreateInstance();
         Main.soundFemaleHit[2] = base.Content.Load<SoundEffect>("Sounds\\Female_Hit_2");
         Main.soundInstanceFemaleHit[2] = Main.soundFemaleHit[2].CreateInstance();
         Main.soundPlayerKilled = base.Content.Load<SoundEffect>("Sounds\\Player_Killed");
         Main.soundInstancePlayerKilled = Main.soundPlayerKilled.CreateInstance();
         Main.soundChat = base.Content.Load<SoundEffect>("Sounds\\Chat");
         Main.soundInstanceChat = Main.soundChat.CreateInstance();
         Main.soundGrass = base.Content.Load<SoundEffect>("Sounds\\Grass");
         Main.soundInstanceGrass = Main.soundGrass.CreateInstance();
         Main.soundDoorOpen = base.Content.Load<SoundEffect>("Sounds\\Door_Opened");
         Main.soundInstanceDoorOpen = Main.soundDoorOpen.CreateInstance();
         Main.soundDoorClosed = base.Content.Load<SoundEffect>("Sounds\\Door_Closed");
         Main.soundInstanceDoorClosed = Main.soundDoorClosed.CreateInstance();
         Main.soundMenuTick = base.Content.Load<SoundEffect>("Sounds\\Menu_Tick");
         Main.soundInstanceMenuTick = Main.soundMenuTick.CreateInstance();
         Main.soundMenuOpen = base.Content.Load<SoundEffect>("Sounds\\Menu_Open");
         Main.soundInstanceMenuOpen = Main.soundMenuOpen.CreateInstance();
         Main.soundMenuClose = base.Content.Load<SoundEffect>("Sounds\\Menu_Close");
         Main.soundInstanceMenuClose = Main.soundMenuClose.CreateInstance();
         Main.soundShatter = base.Content.Load<SoundEffect>("Sounds\\Shatter");
         Main.soundInstanceShatter = Main.soundShatter.CreateInstance();
         Main.soundZombie[0] = base.Content.Load<SoundEffect>("Sounds\\Zombie_0");
         Main.soundInstanceZombie[0] = Main.soundZombie[0].CreateInstance();
         Main.soundZombie[1] = base.Content.Load<SoundEffect>("Sounds\\Zombie_1");
         Main.soundInstanceZombie[1] = Main.soundZombie[1].CreateInstance();
         Main.soundZombie[2] = base.Content.Load<SoundEffect>("Sounds\\Zombie_2");
         Main.soundInstanceZombie[2] = Main.soundZombie[2].CreateInstance();
         Main.soundZombie[3] = base.Content.Load<SoundEffect>("Sounds\\Zombie_3");
         Main.soundInstanceZombie[3] = Main.soundZombie[3].CreateInstance();
         Main.soundZombie[4] = base.Content.Load<SoundEffect>("Sounds\\Zombie_4");
         Main.soundInstanceZombie[4] = Main.soundZombie[4].CreateInstance();
         Main.soundRoar[0] = base.Content.Load<SoundEffect>("Sounds\\Roar_0");
         Main.soundInstanceRoar[0] = Main.soundRoar[0].CreateInstance();
         Main.soundRoar[1] = base.Content.Load<SoundEffect>("Sounds\\Roar_1");
         Main.soundInstanceRoar[1] = Main.soundRoar[1].CreateInstance();
         Main.soundSplash[0] = base.Content.Load<SoundEffect>("Sounds\\Splash_0");
         Main.soundInstanceSplash[0] = Main.soundRoar[0].CreateInstance();
         Main.soundSplash[1] = base.Content.Load<SoundEffect>("Sounds\\Splash_1");
         Main.soundInstanceSplash[1] = Main.soundSplash[1].CreateInstance();
         Main.soundDoubleJump = base.Content.Load<SoundEffect>("Sounds\\Double_Jump");
         Main.soundInstanceDoubleJump = Main.soundRoar[0].CreateInstance();
         Main.soundRun = base.Content.Load<SoundEffect>("Sounds\\Run");
         Main.soundInstanceRun = Main.soundRun.CreateInstance();
         Main.soundCoins = base.Content.Load<SoundEffect>("Sounds\\Coins");
         Main.soundInstanceCoins = Main.soundCoins.CreateInstance();
         Main.soundUnlock = base.Content.Load<SoundEffect>("Sounds\\Unlock");
         Main.soundInstanceUnlock = Main.soundUnlock.CreateInstance();
         Main.soundMaxMana = base.Content.Load<SoundEffect>("Sounds\\MaxMana");
         Main.soundInstanceMaxMana = Main.soundMaxMana.CreateInstance();
         Main.soundDrown = base.Content.Load<SoundEffect>("Sounds\\Drown");
         Main.soundInstanceDrown = Main.soundDrown.CreateInstance();
         for (int j = 1; j < 38; j++)
         {
             Main.soundItem[j] = base.Content.Load<SoundEffect>("Sounds\\Item_" + j);
             Main.soundInstanceItem[j] = Main.soundItem[j].CreateInstance();
         }
         for (int k = 1; k < 12; k++)
         {
             Main.soundNPCHit[k] = base.Content.Load<SoundEffect>("Sounds\\NPC_Hit_" + k);
             Main.soundInstanceNPCHit[k] = Main.soundNPCHit[k].CreateInstance();
         }
         for (int l = 1; l < 16; l++)
         {
             Main.soundNPCKilled[l] = base.Content.Load<SoundEffect>("Sounds\\NPC_Killed_" + l);
             Main.soundInstanceNPCKilled[l] = Main.soundNPCKilled[l].CreateInstance();
         }
     }
     catch
     {
         Main.musicVolume = 0f;
         Main.soundVolume = 0f;
     }
     Main.reforgeTexture = base.Content.Load<Texture2D>("Images\\Reforge");
     Main.timerTexture = base.Content.Load<Texture2D>("Images\\Timer");
     Main.wofTexture = base.Content.Load<Texture2D>("Images\\WallOfFlesh");
     Main.wallOutlineTexture = base.Content.Load<Texture2D>("Images\\Wall_Outline");
     Main.raTexture = base.Content.Load<Texture2D>("Images\\ra-logo");
     Main.reTexture = base.Content.Load<Texture2D>("Images\\re-logo");
     Main.splashTexture = base.Content.Load<Texture2D>("Images\\splash");
     Main.fadeTexture = base.Content.Load<Texture2D>("Images\\fade-out");
     Main.ghostTexture = base.Content.Load<Texture2D>("Images\\Ghost");
     Main.evilCactusTexture = base.Content.Load<Texture2D>("Images\\Evil_Cactus");
     Main.goodCactusTexture = base.Content.Load<Texture2D>("Images\\Good_Cactus");
     Main.wraithEyeTexture = base.Content.Load<Texture2D>("Images\\Wraith_Eyes");
     Main.MusicBoxTexture = base.Content.Load<Texture2D>("Images\\Music_Box");
     Main.wingsTexture[1] = base.Content.Load<Texture2D>("Images\\Wings_1");
     Main.wingsTexture[2] = base.Content.Load<Texture2D>("Images\\Wings_2");
     Main.destTexture[0] = base.Content.Load<Texture2D>("Images\\Dest1");
     Main.destTexture[1] = base.Content.Load<Texture2D>("Images\\Dest2");
     Main.destTexture[2] = base.Content.Load<Texture2D>("Images\\Dest3");
     Main.wireTexture = base.Content.Load<Texture2D>("Images\\Wires");
     Main.loTexture = base.Content.Load<Texture2D>("Images\\logo_" + Main.rand.Next(1, 7));
     this.spriteBatch = new SpriteBatch(base.GraphicsDevice);
     for (int m = 1; m < 2; m++)
     {
         Main.bannerTexture[m] = base.Content.Load<Texture2D>("Images\\House_Banner_" + m);
     }
     for (int n = 0; n < 12; n++)
     {
         Main.npcHeadTexture[n] = base.Content.Load<Texture2D>("Images\\NPC_Head_" + n);
     }
     for (int num = 0; num < 150; num++)
     {
         Main.tileTexture[num] = base.Content.Load<Texture2D>("Images\\Tiles_" + num);
     }
     for (int num2 = 1; num2 < 32; num2++)
     {
         Main.wallTexture[num2] = base.Content.Load<Texture2D>("Images\\Wall_" + num2);
     }
     for (int num3 = 1; num3 < 40; num3++)
     {
         Main.buffTexture[num3] = base.Content.Load<Texture2D>("Images\\Buff_" + num3);
     }
     for (int num4 = 0; num4 < 32; num4++)
     {
         Main.backgroundTexture[num4] = base.Content.Load<Texture2D>("Images\\Background_" + num4);
         Main.backgroundWidth[num4] = Main.backgroundTexture[num4].Width;
         Main.backgroundHeight[num4] = Main.backgroundTexture[num4].Height;
     }
     for (int num5 = 0; num5 < 603; num5++)
     {
         Main.itemTexture[num5] = base.Content.Load<Texture2D>("Images\\Item_" + num5);
     }
     for (int num6 = 0; num6 < 147; num6++)
     {
         Main.npcTexture[num6] = base.Content.Load<Texture2D>("Images\\NPC_" + num6);
     }
     for (int num7 = 0; num7 < 147; num7++)
     {
         NPC nPC = new NPC();
         nPC.SetDefaults(num7, -1f);
         Main.npcName[num7] = nPC.name;
     }
     for (int num8 = 0; num8 < 111; num8++)
     {
         Main.projectileTexture[num8] = base.Content.Load<Texture2D>("Images\\Projectile_" + num8);
     }
     for (int num9 = 1; num9 < 160; num9++)
     {
         Main.goreTexture[num9] = base.Content.Load<Texture2D>("Images\\Gore_" + num9);
     }
     for (int num10 = 0; num10 < 4; num10++)
     {
         Main.cloudTexture[num10] = base.Content.Load<Texture2D>("Images\\Cloud_" + num10);
     }
     for (int num11 = 0; num11 < 5; num11++)
     {
         Main.starTexture[num11] = base.Content.Load<Texture2D>("Images\\Star_" + num11);
     }
     for (int num12 = 0; num12 < 2; num12++)
     {
         Main.liquidTexture[num12] = base.Content.Load<Texture2D>("Images\\Liquid_" + num12);
     }
     Main.npcToggleTexture[0] = base.Content.Load<Texture2D>("Images\\House_1");
     Main.npcToggleTexture[1] = base.Content.Load<Texture2D>("Images\\House_2");
     Main.HBLockTexture[0] = base.Content.Load<Texture2D>("Images\\Lock_0");
     Main.HBLockTexture[1] = base.Content.Load<Texture2D>("Images\\Lock_1");
     Main.gridTexture = base.Content.Load<Texture2D>("Images\\Grid");
     Main.trashTexture = base.Content.Load<Texture2D>("Images\\Trash");
     Main.cdTexture = base.Content.Load<Texture2D>("Images\\CoolDown");
     Main.logoTexture = base.Content.Load<Texture2D>("Images\\Logo");
     Main.logo2Texture = base.Content.Load<Texture2D>("Images\\Logo2");
     Main.logo3Texture = base.Content.Load<Texture2D>("Images\\Logo3");
     Main.dustTexture = base.Content.Load<Texture2D>("Images\\Dust");
     Main.sunTexture = base.Content.Load<Texture2D>("Images\\Sun");
     Main.sun2Texture = base.Content.Load<Texture2D>("Images\\Sun2");
     Main.moonTexture = base.Content.Load<Texture2D>("Images\\Moon");
     Main.blackTileTexture = base.Content.Load<Texture2D>("Images\\Black_Tile");
     Main.heartTexture = base.Content.Load<Texture2D>("Images\\Heart");
     Main.bubbleTexture = base.Content.Load<Texture2D>("Images\\Bubble");
     Main.manaTexture = base.Content.Load<Texture2D>("Images\\Mana");
     Main.cursorTexture = base.Content.Load<Texture2D>("Images\\Cursor");
     Main.ninjaTexture = base.Content.Load<Texture2D>("Images\\Ninja");
     Main.antLionTexture = base.Content.Load<Texture2D>("Images\\AntlionBody");
     Main.spikeBaseTexture = base.Content.Load<Texture2D>("Images\\Spike_Base");
     Main.treeTopTexture[0] = base.Content.Load<Texture2D>("Images\\Tree_Tops_0");
     Main.treeBranchTexture[0] = base.Content.Load<Texture2D>("Images\\Tree_Branches_0");
     Main.treeTopTexture[1] = base.Content.Load<Texture2D>("Images\\Tree_Tops_1");
     Main.treeBranchTexture[1] = base.Content.Load<Texture2D>("Images\\Tree_Branches_1");
     Main.treeTopTexture[2] = base.Content.Load<Texture2D>("Images\\Tree_Tops_2");
     Main.treeBranchTexture[2] = base.Content.Load<Texture2D>("Images\\Tree_Branches_2");
     Main.treeTopTexture[3] = base.Content.Load<Texture2D>("Images\\Tree_Tops_3");
     Main.treeBranchTexture[3] = base.Content.Load<Texture2D>("Images\\Tree_Branches_3");
     Main.treeTopTexture[4] = base.Content.Load<Texture2D>("Images\\Tree_Tops_4");
     Main.treeBranchTexture[4] = base.Content.Load<Texture2D>("Images\\Tree_Branches_4");
     Main.shroomCapTexture = base.Content.Load<Texture2D>("Images\\Shroom_Tops");
     Main.inventoryBackTexture = base.Content.Load<Texture2D>("Images\\Inventory_Back");
     Main.inventoryBack2Texture = base.Content.Load<Texture2D>("Images\\Inventory_Back2");
     Main.inventoryBack3Texture = base.Content.Load<Texture2D>("Images\\Inventory_Back3");
     Main.inventoryBack4Texture = base.Content.Load<Texture2D>("Images\\Inventory_Back4");
     Main.inventoryBack5Texture = base.Content.Load<Texture2D>("Images\\Inventory_Back5");
     Main.inventoryBack6Texture = base.Content.Load<Texture2D>("Images\\Inventory_Back6");
     Main.inventoryBack7Texture = base.Content.Load<Texture2D>("Images\\Inventory_Back7");
     Main.inventoryBack8Texture = base.Content.Load<Texture2D>("Images\\Inventory_Back8");
     Main.inventoryBack9Texture = base.Content.Load<Texture2D>("Images\\Inventory_Back9");
     Main.inventoryBack10Texture = base.Content.Load<Texture2D>("Images\\Inventory_Back10");
     Main.inventoryBack11Texture = base.Content.Load<Texture2D>("Images\\Inventory_Back11");
     Main.textBackTexture = base.Content.Load<Texture2D>("Images\\Text_Back");
     Main.chatTexture = base.Content.Load<Texture2D>("Images\\Chat");
     Main.chat2Texture = base.Content.Load<Texture2D>("Images\\Chat2");
     Main.chatBackTexture = base.Content.Load<Texture2D>("Images\\Chat_Back");
     Main.teamTexture = base.Content.Load<Texture2D>("Images\\Team");
     for (int num13 = 1; num13 < 26; num13++)
     {
         Main.femaleBodyTexture[num13] = base.Content.Load<Texture2D>("Images\\Female_Body_" + num13);
         Main.armorBodyTexture[num13] = base.Content.Load<Texture2D>("Images\\Armor_Body_" + num13);
         Main.armorArmTexture[num13] = base.Content.Load<Texture2D>("Images\\Armor_Arm_" + num13);
     }
     for (int num14 = 1; num14 < 45; num14++)
     {
         Main.armorHeadTexture[num14] = base.Content.Load<Texture2D>("Images\\Armor_Head_" + num14);
     }
     for (int num15 = 1; num15 < 25; num15++)
     {
         Main.armorLegTexture[num15] = base.Content.Load<Texture2D>("Images\\Armor_Legs_" + num15);
     }
     for (int num16 = 0; num16 < 36; num16++)
     {
         Main.playerHairTexture[num16] = base.Content.Load<Texture2D>("Images\\Player_Hair_" + (num16 + 1));
         Main.playerHairAltTexture[num16] = base.Content.Load<Texture2D>("Images\\Player_HairAlt_" + (num16 + 1));
     }
     Main.skinBodyTexture = base.Content.Load<Texture2D>("Images\\Skin_Body");
     Main.skinLegsTexture = base.Content.Load<Texture2D>("Images\\Skin_Legs");
     Main.playerEyeWhitesTexture = base.Content.Load<Texture2D>("Images\\Player_Eye_Whites");
     Main.playerEyesTexture = base.Content.Load<Texture2D>("Images\\Player_Eyes");
     Main.playerHandsTexture = base.Content.Load<Texture2D>("Images\\Player_Hands");
     Main.playerHands2Texture = base.Content.Load<Texture2D>("Images\\Player_Hands2");
     Main.playerHeadTexture = base.Content.Load<Texture2D>("Images\\Player_Head");
     Main.playerPantsTexture = base.Content.Load<Texture2D>("Images\\Player_Pants");
     Main.playerShirtTexture = base.Content.Load<Texture2D>("Images\\Player_Shirt");
     Main.playerShoesTexture = base.Content.Load<Texture2D>("Images\\Player_Shoes");
     Main.playerUnderShirtTexture = base.Content.Load<Texture2D>("Images\\Player_Undershirt");
     Main.playerUnderShirt2Texture = base.Content.Load<Texture2D>("Images\\Player_Undershirt2");
     Main.femalePantsTexture = base.Content.Load<Texture2D>("Images\\Female_Pants");
     Main.femaleShirtTexture = base.Content.Load<Texture2D>("Images\\Female_Shirt");
     Main.femaleShoesTexture = base.Content.Load<Texture2D>("Images\\Female_Shoes");
     Main.femaleUnderShirtTexture = base.Content.Load<Texture2D>("Images\\Female_Undershirt");
     Main.femaleUnderShirt2Texture = base.Content.Load<Texture2D>("Images\\Female_Undershirt2");
     Main.femaleShirt2Texture = base.Content.Load<Texture2D>("Images\\Female_Shirt2");
     Main.chaosTexture = base.Content.Load<Texture2D>("Images\\Chaos");
     Main.EyeLaserTexture = base.Content.Load<Texture2D>("Images\\Eye_Laser");
     Main.BoneEyesTexture = base.Content.Load<Texture2D>("Images\\Bone_eyes");
     Main.BoneLaserTexture = base.Content.Load<Texture2D>("Images\\Bone_Laser");
     Main.lightDiscTexture = base.Content.Load<Texture2D>("Images\\Light_Disc");
     Main.confuseTexture = base.Content.Load<Texture2D>("Images\\Confuse");
     Main.probeTexture = base.Content.Load<Texture2D>("Images\\Probe");
     Main.chainTexture = base.Content.Load<Texture2D>("Images\\Chain");
     Main.chain2Texture = base.Content.Load<Texture2D>("Images\\Chain2");
     Main.chain3Texture = base.Content.Load<Texture2D>("Images\\Chain3");
     Main.chain4Texture = base.Content.Load<Texture2D>("Images\\Chain4");
     Main.chain5Texture = base.Content.Load<Texture2D>("Images\\Chain5");
     Main.chain6Texture = base.Content.Load<Texture2D>("Images\\Chain6");
     Main.chain7Texture = base.Content.Load<Texture2D>("Images\\Chain7");
     Main.chain8Texture = base.Content.Load<Texture2D>("Images\\Chain8");
     Main.chain9Texture = base.Content.Load<Texture2D>("Images\\Chain9");
     Main.chain10Texture = base.Content.Load<Texture2D>("Images\\Chain10");
     Main.chain11Texture = base.Content.Load<Texture2D>("Images\\Chain11");
     Main.chain12Texture = base.Content.Load<Texture2D>("Images\\Chain12");
     Main.boneArmTexture = base.Content.Load<Texture2D>("Images\\Arm_Bone");
     Main.boneArm2Texture = base.Content.Load<Texture2D>("Images\\Arm_Bone_2");
     Main.fontItemStack = base.Content.Load<SpriteFont>("Fonts\\Item_Stack");
     Main.fontMouseText = base.Content.Load<SpriteFont>("Fonts\\Mouse_Text");
     Main.fontDeathText = base.Content.Load<SpriteFont>("Fonts\\Death_Text");
     Main.fontCombatText[0] = base.Content.Load<SpriteFont>("Fonts\\Combat_Text");
     Main.fontCombatText[1] = base.Content.Load<SpriteFont>("Fonts\\Combat_Crit");
 }
コード例 #19
0
 protected override void LoadContent()
 {
     try
     {
         Main.pixelShader = base.Content.Load<Effect>("pixelShader");
         Main.tileShader = base.Content.Load<Effect>("tileShader");
         Main.engine = new AudioEngine("Content" + Path.DirectorySeparatorChar + "TerrariaMusic.xgs");
         Main.soundBank = new SoundBank(Main.engine, "Content" + Path.DirectorySeparatorChar + "Sound Bank.xsb");
         Main.waveBank = new WaveBank(Main.engine, "Content" + Path.DirectorySeparatorChar + "Wave Bank.xwb");
         for (int i = 1; i < 30; i++)
         {
             Main.music[i] = Main.soundBank.GetCue("Music_" + i);
         }
         Main.soundMech[0] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Mech_0");
         Main.soundInstanceMech[0] = Main.soundMech[0].CreateInstance();
         Main.soundGrab = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Grab");
         Main.soundInstanceGrab = Main.soundGrab.CreateInstance();
         Main.soundPixie = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Pixie");
         Main.soundInstancePixie = Main.soundGrab.CreateInstance();
         Main.soundDig[0] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Dig_0");
         Main.soundInstanceDig[0] = Main.soundDig[0].CreateInstance();
         Main.soundDig[1] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Dig_1");
         Main.soundInstanceDig[1] = Main.soundDig[1].CreateInstance();
         Main.soundDig[2] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Dig_2");
         Main.soundInstanceDig[2] = Main.soundDig[2].CreateInstance();
         Main.soundTink[0] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Tink_0");
         Main.soundInstanceTink[0] = Main.soundTink[0].CreateInstance();
         Main.soundTink[1] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Tink_1");
         Main.soundInstanceTink[1] = Main.soundTink[1].CreateInstance();
         Main.soundTink[2] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Tink_2");
         Main.soundInstanceTink[2] = Main.soundTink[2].CreateInstance();
         Main.soundPlayerHit[0] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Player_Hit_0");
         Main.soundInstancePlayerHit[0] = Main.soundPlayerHit[0].CreateInstance();
         Main.soundPlayerHit[1] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Player_Hit_1");
         Main.soundInstancePlayerHit[1] = Main.soundPlayerHit[1].CreateInstance();
         Main.soundPlayerHit[2] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Player_Hit_2");
         Main.soundInstancePlayerHit[2] = Main.soundPlayerHit[2].CreateInstance();
         Main.soundFemaleHit[0] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Female_Hit_0");
         Main.soundInstanceFemaleHit[0] = Main.soundFemaleHit[0].CreateInstance();
         Main.soundFemaleHit[1] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Female_Hit_1");
         Main.soundInstanceFemaleHit[1] = Main.soundFemaleHit[1].CreateInstance();
         Main.soundFemaleHit[2] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Female_Hit_2");
         Main.soundInstanceFemaleHit[2] = Main.soundFemaleHit[2].CreateInstance();
         Main.soundPlayerKilled = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Player_Killed");
         Main.soundInstancePlayerKilled = Main.soundPlayerKilled.CreateInstance();
         Main.soundChat = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Chat");
         Main.soundInstanceChat = Main.soundChat.CreateInstance();
         Main.soundGrass = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Grass");
         Main.soundInstanceGrass = Main.soundGrass.CreateInstance();
         Main.soundDoorOpen = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Door_Opened");
         Main.soundInstanceDoorOpen = Main.soundDoorOpen.CreateInstance();
         Main.soundDoorClosed = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Door_Closed");
         Main.soundInstanceDoorClosed = Main.soundDoorClosed.CreateInstance();
         Main.soundMenuTick = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Menu_Tick");
         Main.soundInstanceMenuTick = Main.soundMenuTick.CreateInstance();
         Main.soundMenuOpen = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Menu_Open");
         Main.soundInstanceMenuOpen = Main.soundMenuOpen.CreateInstance();
         Main.soundMenuClose = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Menu_Close");
         Main.soundInstanceMenuClose = Main.soundMenuClose.CreateInstance();
         Main.soundShatter = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Shatter");
         Main.soundInstanceShatter = Main.soundShatter.CreateInstance();
         Main.soundZombie[0] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Zombie_0");
         Main.soundInstanceZombie[0] = Main.soundZombie[0].CreateInstance();
         Main.soundZombie[1] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Zombie_1");
         Main.soundInstanceZombie[1] = Main.soundZombie[1].CreateInstance();
         Main.soundZombie[2] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Zombie_2");
         Main.soundInstanceZombie[2] = Main.soundZombie[2].CreateInstance();
         Main.soundZombie[3] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Zombie_3");
         Main.soundInstanceZombie[3] = Main.soundZombie[3].CreateInstance();
         Main.soundZombie[4] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Zombie_4");
         Main.soundInstanceZombie[4] = Main.soundZombie[4].CreateInstance();
         Main.soundRoar[0] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Roar_0");
         Main.soundInstanceRoar[0] = Main.soundRoar[0].CreateInstance();
         Main.soundRoar[1] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Roar_1");
         Main.soundInstanceRoar[1] = Main.soundRoar[1].CreateInstance();
         Main.soundSplash[0] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Splash_0");
         Main.soundInstanceSplash[0] = Main.soundRoar[0].CreateInstance();
         Main.soundSplash[1] = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Splash_1");
         Main.soundInstanceSplash[1] = Main.soundSplash[1].CreateInstance();
         Main.soundDoubleJump = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Double_Jump");
         Main.soundInstanceDoubleJump = Main.soundRoar[0].CreateInstance();
         Main.soundRun = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Run");
         Main.soundInstanceRun = Main.soundRun.CreateInstance();
         Main.soundCoins = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Coins");
         Main.soundInstanceCoins = Main.soundCoins.CreateInstance();
         Main.soundUnlock = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Unlock");
         Main.soundInstanceUnlock = Main.soundUnlock.CreateInstance();
         Main.soundMaxMana = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "MaxMana");
         Main.soundInstanceMaxMana = Main.soundMaxMana.CreateInstance();
         Main.soundDrown = base.Content.Load<SoundEffect>("Sounds" + Path.DirectorySeparatorChar + "Drown");
         Main.soundInstanceDrown = Main.soundDrown.CreateInstance();
         for (int j = 1; j < 52; j++)
         {
             Main.soundItem[j] = base.Content.Load<SoundEffect>(string.Concat(new object[]
             {
                 "Sounds",
                 Path.DirectorySeparatorChar,
                 "Item_",
                 j
             }));
             Main.soundInstanceItem[j] = Main.soundItem[j].CreateInstance();
         }
         for (int k = 1; k < 14; k++)
         {
             Main.soundNPCHit[k] = base.Content.Load<SoundEffect>(string.Concat(new object[]
             {
                 "Sounds",
                 Path.DirectorySeparatorChar,
                 "NPC_Hit_",
                 k
             }));
             Main.soundInstanceNPCHit[k] = Main.soundNPCHit[k].CreateInstance();
         }
         for (int l = 1; l < 20; l++)
         {
             Main.soundNPCKilled[l] = base.Content.Load<SoundEffect>(string.Concat(new object[]
             {
                 "Sounds",
                 Path.DirectorySeparatorChar,
                 "NPC_Killed_",
                 l
             }));
             Main.soundInstanceNPCKilled[l] = Main.soundNPCKilled[l].CreateInstance();
         }
     }
     catch
     {
         Main.musicVolume = 0f;
         Main.soundVolume = 0f;
     }
     this.iceBarrierTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "IceBarrier");
     Main.frozenTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Frozen");
     Main.craftButtonTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "CraftButton");
     Main.craftUpButtonTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "RecUp");
     Main.craftDownButtonTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "RecDown");
     Main.pulleyTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "PlayerPulley");
     Main.reforgeTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Reforge");
     Main.timerTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Timer");
     Main.wofTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "WallOfFlesh");
     Main.wallOutlineTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Wall_Outline");
     Main.fadeTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "fade-out");
     Main.ghostTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Ghost");
     Main.evilCactusTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Evil_Cactus");
     Main.goodCactusTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Good_Cactus");
     Main.crimsonCactusTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Crimson_Cactus");
     Main.wraithEyeTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Wraith_Eyes");
     Main.reaperEyeTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Reaper_Eyes");
     Main.MusicBoxTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Music_Box");
     this.mapTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Map");
     this.mapBG1Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG1");
     this.mapBG2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG2");
     this.mapBG3Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG3");
     this.mapBG4Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG4");
     this.mapBG5Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG5");
     this.mapBG6Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG6");
     this.mapBG7Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG7");
     this.mapBG8Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG8");
     this.mapBG9Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG9");
     this.mapBG10Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG10");
     this.mapBG11Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG11");
     this.mapBG12Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MapBG12");
     this.hueTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Hue");
     this.colorSliderTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "ColorSlider");
     this.colorBarTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "ColorBar");
     this.colorBlipTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "ColorBlip");
     Main.rainTexture[0] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Rain_0");
     Main.rainTexture[1] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Rain_1");
     Main.rainTexture[2] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Rain_2");
     Main.magicPixel = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MagicPixel");
     Main.miniMapFrameTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MiniMapFrame");
     Main.miniMapFrame2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "MiniMapFrame2");
     for (int m = 0; m < Main.FlameTexture.Length; m++)
     {
         Main.FlameTexture[m] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "Flame_",
             m
         }));
     }
     for (int n = 0; n < 3; n++)
     {
         Main.miniMapButtonTexture[n] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "MiniMapButton_",
             n
         }));
     }
     for (int num = 0; num < 8; num++)
     {
         this.mapIconTexture[num] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "Map_",
             num
         }));
     }
     Main.destTexture[0] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Dest1");
     Main.destTexture[1] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Dest2");
     Main.destTexture[2] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Dest3");
     Main.actuatorTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Actuator");
     Main.wireTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Wires");
     Main.wire2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Wires2");
     Main.wire3Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Wires3");
     Main.flyingCarpetTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "FlyingCarpet");
     Main.hbTexture1 = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "HealthBar1");
     Main.hbTexture2 = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "HealthBar2");
     Main.loTexture = base.Content.Load<Texture2D>(string.Concat(new object[]
     {
         "Images",
         Path.DirectorySeparatorChar,
         "logo_",
         Main.rand.Next(1, 9)
     }));
     this.spriteBatch = new SpriteBatch(base.GraphicsDevice);
     for (int num2 = 1; num2 < 2; num2++)
     {
         Main.bannerTexture[num2] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "House_Banner_",
             num2
         }));
     }
     for (int num3 = 0; num3 < Main.npcHeadTexture.Length; num3++)
     {
         Main.npcHeadTexture[num3] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "NPC_Head_",
             num3
         }));
     }
     for (int num4 = 1; num4 < Main.BackPackTexture.Length; num4++)
     {
         Main.BackPackTexture[num4] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "BackPack_",
             num4
         }));
     }
     for (int num5 = 1; num5 < 81; num5++)
     {
         Main.buffTexture[num5] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "Buff_",
             num5
         }));
     }
     this.LoadBackground(0);
     this.LoadBackground(49);
     for (int num6 = 0; num6 < 1725; num6++)
     {
         Main.itemTexture[num6] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "Item_",
             num6
         }));
     }
     for (int num7 = 0; num7 < 6; num7++)
     {
         Main.gemTexture[num7] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "Gem_",
             num7
         }));
     }
     for (int num8 = 0; num8 < 301; num8++)
     {
         NPC nPC = new NPC();
         nPC.SetDefaults(num8, -1f);
         Main.npcName[num8] = nPC.name;
     }
     for (int num9 = 0; num9 < 22; num9++)
     {
         Main.cloudTexture[num9] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "Cloud_",
             num9
         }));
     }
     for (int num10 = 0; num10 < 5; num10++)
     {
         Main.starTexture[num10] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "Star_",
             num10
         }));
     }
     for (int num11 = 0; num11 < 12; num11++)
     {
         Main.liquidTexture[num11] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "Liquid_",
             num11
         }));
         Main.waterfallTexture[num11] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "Waterfall_",
             num11
         }));
     }
     Main.waterfallTexture[12] = base.Content.Load<Texture2D>(string.Concat(new object[]
     {
         "Images",
         Path.DirectorySeparatorChar,
         "Waterfall_",
         12
     }));
     Main.waterfallTexture[13] = base.Content.Load<Texture2D>(string.Concat(new object[]
     {
         "Images",
         Path.DirectorySeparatorChar,
         "Waterfall_",
         13
     }));
     Main.waterfallTexture[14] = base.Content.Load<Texture2D>(string.Concat(new object[]
     {
         "Images",
         Path.DirectorySeparatorChar,
         "Waterfall_",
         14
     }));
     Main.npcToggleTexture[0] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "House_1");
     Main.npcToggleTexture[1] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "House_2");
     Main.HBLockTexture[0] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Lock_0");
     Main.HBLockTexture[1] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Lock_1");
     Main.gridTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Grid");
     Main.trashTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Trash");
     Main.cdTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "CoolDown");
     Main.logoTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Logo");
     Main.logo2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Logo2");
     Main.dustTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Dust");
     Main.sunTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Sun");
     Main.sun2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Sun2");
     Main.sun3Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Sun3");
     Main.blackTileTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Black_Tile");
     Main.heartTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Heart");
     Main.heart2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Heart2");
     Main.bubbleTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Bubble");
     Main.flameTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Flame");
     Main.manaTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Mana");
     Main.cursorTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Cursor");
     Main.ninjaTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Ninja");
     Main.antLionTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "AntlionBody");
     Main.spikeBaseTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Spike_Base");
     Main.woodTexture[0] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Tiles_5_0");
     Main.woodTexture[1] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Tiles_5_1");
     Main.woodTexture[2] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Tiles_5_2");
     Main.woodTexture[3] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Tiles_5_3");
     Main.woodTexture[4] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Tiles_5_4");
     Main.woodTexture[5] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Tiles_5_5");
     Main.woodTexture[6] = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Tiles_5_6");
     for (int num12 = 0; num12 < Main.moonTexture.Length; num12++)
     {
         Main.moonTexture[num12] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "Moon_",
             num12
         }));
     }
     for (int num13 = 0; num13 < Main.treeTopTexture.Length; num13++)
     {
         Main.treeTopTexture[num13] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "Tree_Tops_",
             num13
         }));
     }
     for (int num14 = 0; num14 < Main.treeBranchTexture.Length; num14++)
     {
         Main.treeBranchTexture[num14] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "Tree_Branches_",
             num14
         }));
     }
     Main.shroomCapTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Shroom_Tops");
     Main.inventoryBackTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back");
     Main.inventoryBack2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back2");
     Main.inventoryBack3Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back3");
     Main.inventoryBack4Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back4");
     Main.inventoryBack5Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back5");
     Main.inventoryBack6Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back6");
     Main.inventoryBack7Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back7");
     Main.inventoryBack8Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back8");
     Main.inventoryBack9Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back9");
     Main.inventoryBack10Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back10");
     Main.inventoryBack11Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back11");
     Main.inventoryBack12Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Inventory_Back12");
     Main.textBackTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Text_Back");
     Main.chatTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chat");
     Main.chat2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chat2");
     Main.chatBackTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chat_Back");
     Main.teamTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Team");
     Main.skinBodyTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Skin_Body");
     Main.skinLegsTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Skin_Legs");
     Main.playerEyeWhitesTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Eye_Whites");
     Main.playerEyesTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Eyes");
     Main.playerHandsTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Hands");
     Main.playerHands2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Hands2");
     Main.playerHeadTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Head");
     Main.playerPantsTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Pants");
     Main.playerShirtTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Shirt");
     Main.playerShoesTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Shoes");
     Main.playerUnderShirtTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Undershirt");
     Main.playerUnderShirt2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Player_Undershirt2");
     Main.femalePantsTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Female_Pants");
     Main.femaleShirtTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Female_Shirt");
     Main.femaleShoesTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Female_Shoes");
     Main.femaleUnderShirtTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Female_Undershirt");
     Main.femaleUnderShirt2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Female_Undershirt2");
     Main.femaleShirt2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Female_Shirt2");
     Main.chaosTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chaos");
     Main.EyeLaserTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Eye_Laser");
     Main.BoneEyesTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Bone_eyes");
     Main.BoneLaserTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Bone_Laser");
     Main.lightDiscTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Light_Disc");
     Main.confuseTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Confuse");
     Main.probeTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Probe");
     Main.sunOrbTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "SunOrb");
     Main.sunAltarTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "SunAltar");
     Main.chainTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain");
     Main.chain2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain2");
     Main.chain3Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain3");
     Main.chain4Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain4");
     Main.chain5Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain5");
     Main.chain6Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain6");
     Main.chain7Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain7");
     Main.chain8Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain8");
     Main.chain9Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain9");
     Main.chain10Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain10");
     Main.chain11Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain11");
     Main.chain12Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain12");
     Main.chain13Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain13");
     Main.chain14Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain14");
     Main.chain15Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain15");
     Main.chain16Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain16");
     Main.chain17Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain17");
     Main.chain18Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain18");
     Main.chain19Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain19");
     Main.chain20Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain20");
     Main.chain21Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain21");
     Main.chain22Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain22");
     Main.chain23Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain23");
     Main.chain24Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain24");
     Main.chain25Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain25");
     Main.chain26Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain26");
     Main.chain27Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Chain27");
     Main.boneArmTexture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Arm_Bone");
     Main.boneArm2Texture = base.Content.Load<Texture2D>("Images" + Path.DirectorySeparatorChar + "Arm_Bone_2");
     for (int num15 = 1; num15 < Main.gemChainTexture.Length; num15++)
     {
         Main.gemChainTexture[num15] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "GemChain_",
             num15
         }));
     }
     for (int num16 = 1; num16 < Main.golemTexture.Length; num16++)
     {
         Main.golemTexture[num16] = base.Content.Load<Texture2D>(string.Concat(new object[]
         {
             "Images",
             Path.DirectorySeparatorChar,
             "GolemLights",
             num16
         }));
     }
     Main.fontItemStack = base.Content.Load<SpriteFont>("Fonts" + Path.DirectorySeparatorChar + "Item_Stack");
     Main.fontMouseText = base.Content.Load<SpriteFont>("Fonts" + Path.DirectorySeparatorChar + "Mouse_Text");
     Main.fontDeathText = base.Content.Load<SpriteFont>("Fonts" + Path.DirectorySeparatorChar + "Death_Text");
     Main.fontCombatText[0] = base.Content.Load<SpriteFont>("Fonts" + Path.DirectorySeparatorChar + "Combat_Text");
     Main.fontCombatText[1] = base.Content.Load<SpriteFont>("Fonts" + Path.DirectorySeparatorChar + "Combat_Crit");
 }
コード例 #20
0
ファイル: TShock.cs プロジェクト: ARTdrakon/TShock
 //TODO : Notify the player if there is more than one match. (or do we want a First() kinda thing?)
 public static int GetNPCID(string name, bool exact = false)
 {
     NPC npc = new NPC();
     for (int i = 1; i <= 45; i++)
     {
         if (exact)
         {
             //Method #1 - must be exact match, allows support for different coloured slimes
             npc.SetDefaults(name);
             if (npc.name == name)
                 return i;
         }
         else
         {
             //Method #2 - allows impartial matching
             name = name.ToLower();
             npc.SetDefaults(i);
             if (npc.name.ToLower().StartsWith(name))
                 return i;
         }
     }
     return -1;
 }
コード例 #21
0
ファイル: Main.cs プロジェクト: Heloo88/ModTerraria_Heloo
 protected override void LoadContent()
 {
     try
     {
         engine = new AudioEngine(@"Content\TerrariaMusic.xgs");
         soundBank = new Microsoft.Xna.Framework.Audio.SoundBank(engine, @"Content\Sound Bank.xsb");
         waveBank = new Microsoft.Xna.Framework.Audio.WaveBank(engine, @"Content\Wave Bank.xwb");
         for (int num = 1; num < 14; num++)
         {
             music[num] = soundBank.GetCue("Music_" + num);
         }
         soundMech[0] = base.Content.Load<SoundEffect>(@"Sounds\Mech_0");
         soundInstanceMech[0] = soundMech[0].CreateInstance();
         soundGrab = base.Content.Load<SoundEffect>(@"Sounds\Grab");
         soundInstanceGrab = soundGrab.CreateInstance();
         soundPixie = base.Content.Load<SoundEffect>(@"Sounds\Pixie");
         soundInstancePixie = soundGrab.CreateInstance();
         soundDig[0] = base.Content.Load<SoundEffect>(@"Sounds\Dig_0");
         soundInstanceDig[0] = soundDig[0].CreateInstance();
         soundDig[1] = base.Content.Load<SoundEffect>(@"Sounds\Dig_1");
         soundInstanceDig[1] = soundDig[1].CreateInstance();
         soundDig[2] = base.Content.Load<SoundEffect>(@"Sounds\Dig_2");
         soundInstanceDig[2] = soundDig[2].CreateInstance();
         soundTink[0] = base.Content.Load<SoundEffect>(@"Sounds\Tink_0");
         soundInstanceTink[0] = soundTink[0].CreateInstance();
         soundTink[1] = base.Content.Load<SoundEffect>(@"Sounds\Tink_1");
         soundInstanceTink[1] = soundTink[1].CreateInstance();
         soundTink[2] = base.Content.Load<SoundEffect>(@"Sounds\Tink_2");
         soundInstanceTink[2] = soundTink[2].CreateInstance();
         soundPlayerHit[0] = base.Content.Load<SoundEffect>(@"Sounds\Player_Hit_0");
         soundInstancePlayerHit[0] = soundPlayerHit[0].CreateInstance();
         soundPlayerHit[1] = base.Content.Load<SoundEffect>(@"Sounds\Player_Hit_1");
         soundInstancePlayerHit[1] = soundPlayerHit[1].CreateInstance();
         soundPlayerHit[2] = base.Content.Load<SoundEffect>(@"Sounds\Player_Hit_2");
         soundInstancePlayerHit[2] = soundPlayerHit[2].CreateInstance();
         soundFemaleHit[0] = base.Content.Load<SoundEffect>(@"Sounds\Female_Hit_0");
         soundInstanceFemaleHit[0] = soundFemaleHit[0].CreateInstance();
         soundFemaleHit[1] = base.Content.Load<SoundEffect>(@"Sounds\Female_Hit_1");
         soundInstanceFemaleHit[1] = soundFemaleHit[1].CreateInstance();
         soundFemaleHit[2] = base.Content.Load<SoundEffect>(@"Sounds\Female_Hit_2");
         soundInstanceFemaleHit[2] = soundFemaleHit[2].CreateInstance();
         soundPlayerKilled = base.Content.Load<SoundEffect>(@"Sounds\Player_Killed");
         soundInstancePlayerKilled = soundPlayerKilled.CreateInstance();
         soundChat = base.Content.Load<SoundEffect>(@"Sounds\Chat");
         soundInstanceChat = soundChat.CreateInstance();
         soundGrass = base.Content.Load<SoundEffect>(@"Sounds\Grass");
         soundInstanceGrass = soundGrass.CreateInstance();
         soundDoorOpen = base.Content.Load<SoundEffect>(@"Sounds\Door_Opened");
         soundInstanceDoorOpen = soundDoorOpen.CreateInstance();
         soundDoorClosed = base.Content.Load<SoundEffect>(@"Sounds\Door_Closed");
         soundInstanceDoorClosed = soundDoorClosed.CreateInstance();
         soundMenuTick = base.Content.Load<SoundEffect>(@"Sounds\Menu_Tick");
         soundInstanceMenuTick = soundMenuTick.CreateInstance();
         soundMenuOpen = base.Content.Load<SoundEffect>(@"Sounds\Menu_Open");
         soundInstanceMenuOpen = soundMenuOpen.CreateInstance();
         soundMenuClose = base.Content.Load<SoundEffect>(@"Sounds\Menu_Close");
         soundInstanceMenuClose = soundMenuClose.CreateInstance();
         soundShatter = base.Content.Load<SoundEffect>(@"Sounds\Shatter");
         soundInstanceShatter = soundShatter.CreateInstance();
         soundZombie[0] = base.Content.Load<SoundEffect>(@"Sounds\Zombie_0");
         soundInstanceZombie[0] = soundZombie[0].CreateInstance();
         soundZombie[1] = base.Content.Load<SoundEffect>(@"Sounds\Zombie_1");
         soundInstanceZombie[1] = soundZombie[1].CreateInstance();
         soundZombie[2] = base.Content.Load<SoundEffect>(@"Sounds\Zombie_2");
         soundInstanceZombie[2] = soundZombie[2].CreateInstance();
         soundZombie[3] = base.Content.Load<SoundEffect>(@"Sounds\Zombie_3");
         soundInstanceZombie[3] = soundZombie[3].CreateInstance();
         soundZombie[4] = base.Content.Load<SoundEffect>(@"Sounds\Zombie_4");
         soundInstanceZombie[4] = soundZombie[4].CreateInstance();
         soundRoar[0] = base.Content.Load<SoundEffect>(@"Sounds\Roar_0");
         soundInstanceRoar[0] = soundRoar[0].CreateInstance();
         soundRoar[1] = base.Content.Load<SoundEffect>(@"Sounds\Roar_1");
         soundInstanceRoar[1] = soundRoar[1].CreateInstance();
         soundSplash[0] = base.Content.Load<SoundEffect>(@"Sounds\Splash_0");
         soundInstanceSplash[0] = soundRoar[0].CreateInstance();
         soundSplash[1] = base.Content.Load<SoundEffect>(@"Sounds\Splash_1");
         soundInstanceSplash[1] = soundSplash[1].CreateInstance();
         soundDoubleJump = base.Content.Load<SoundEffect>(@"Sounds\Double_Jump");
         soundInstanceDoubleJump = soundRoar[0].CreateInstance();
         soundRun = base.Content.Load<SoundEffect>(@"Sounds\Run");
         soundInstanceRun = soundRun.CreateInstance();
         soundCoins = base.Content.Load<SoundEffect>(@"Sounds\Coins");
         soundInstanceCoins = soundCoins.CreateInstance();
         soundUnlock = base.Content.Load<SoundEffect>(@"Sounds\Unlock");
         soundInstanceUnlock = soundUnlock.CreateInstance();
         soundMaxMana = base.Content.Load<SoundEffect>(@"Sounds\MaxMana");
         soundInstanceMaxMana = soundMaxMana.CreateInstance();
         soundDrown = base.Content.Load<SoundEffect>(@"Sounds\Drown");
         soundInstanceDrown = soundDrown.CreateInstance();
         for (int num2 = 1; num2 < 0x26; num2++)
         {
             soundItem[num2] = base.Content.Load<SoundEffect>(@"Sounds\Item_" + num2);
             soundInstanceItem[num2] = soundItem[num2].CreateInstance();
         }
         for (int num3 = 1; num3 < 12; num3++)
         {
             soundNPCHit[num3] = base.Content.Load<SoundEffect>(@"Sounds\NPC_Hit_" + num3);
             soundInstanceNPCHit[num3] = soundNPCHit[num3].CreateInstance();
         }
         for (int num4 = 1; num4 < 0x10; num4++)
         {
             soundNPCKilled[num4] = base.Content.Load<SoundEffect>(@"Sounds\NPC_Killed_" + num4);
             soundInstanceNPCKilled[num4] = soundNPCKilled[num4].CreateInstance();
         }
     }
     catch
     {
         musicVolume = 0f;
         soundVolume = 0f;
     }
     reforgeTexture = base.Content.Load<Texture2D>(@"Images\Reforge");
     timerTexture = base.Content.Load<Texture2D>(@"Images\Timer");
     wofTexture = base.Content.Load<Texture2D>(@"Images\WallOfFlesh");
     wallOutlineTexture = base.Content.Load<Texture2D>(@"Images\Wall_Outline");
     raTexture = base.Content.Load<Texture2D>(@"Images\ra-logo");
     reTexture = base.Content.Load<Texture2D>(@"Images\re-logo");
     splashTexture = base.Content.Load<Texture2D>(@"Images\splash");
     fadeTexture = base.Content.Load<Texture2D>(@"Images\fade-out");
     ghostTexture = base.Content.Load<Texture2D>(@"Images\Ghost");
     evilCactusTexture = base.Content.Load<Texture2D>(@"Images\Evil_Cactus");
     goodCactusTexture = base.Content.Load<Texture2D>(@"Images\Good_Cactus");
     wraithEyeTexture = base.Content.Load<Texture2D>(@"Images\Wraith_Eyes");
     MusicBoxTexture = base.Content.Load<Texture2D>(@"Images\Music_Box");
     wingsTexture[1] = base.Content.Load<Texture2D>(@"Images\Wings_1");
     wingsTexture[2] = base.Content.Load<Texture2D>(@"Images\Wings_2");
     destTexture[0] = base.Content.Load<Texture2D>(@"Images\Dest1");
     destTexture[1] = base.Content.Load<Texture2D>(@"Images\Dest2");
     destTexture[2] = base.Content.Load<Texture2D>(@"Images\Dest3");
     wireTexture = base.Content.Load<Texture2D>(@"Images\Wires");
     loTexture = base.Content.Load<Texture2D>(@"Images\logo_" + rand.Next(1, 7));
     this.spriteBatch = new SpriteBatch(base.GraphicsDevice);
     for (int i = 1; i < 2; i++)
     {
         bannerTexture[i] = base.Content.Load<Texture2D>(@"Images\House_Banner_" + i);
     }
     for (int j = 0; j < 12; j++)
     {
         npcHeadTexture[j] = base.Content.Load<Texture2D>(@"Images\NPC_Head_" + j);
     }
     for (int k = 0; k < maxTileSets; k++)    //CHANGED: orig 150
     {
         tileTexture[k] = base.Content.Load<Texture2D>(@"Images\Tiles_" + k);
     }
     for (int m = 1; m < 0x20; m++)
     {
         wallTexture[m] = base.Content.Load<Texture2D>(@"Images\Wall_" + m);
     }
     for (int n = 1; n < 40; n++)
     {
         buffTexture[n] = base.Content.Load<Texture2D>(@"Images\Buff_" + n);
     }
     for (int num10 = 0; num10 < 0x20; num10++)
     {
         backgroundTexture[num10] = base.Content.Load<Texture2D>(@"Images\Background_" + num10);
         backgroundWidth[num10] = backgroundTexture[num10].Width;
         backgroundHeight[num10] = backgroundTexture[num10].Height;
     }
     for (int num11 = 0; num11 < maxItemTypes; num11++) //CHANGED, orig 0x25b
     {
         itemTexture[num11] = base.Content.Load<Texture2D>(@"Images\Item_" + num11);
     }
     for (int num12 = 0; num12 < 0x93; num12++)
     {
         npcTexture[num12] = base.Content.Load<Texture2D>(@"Images\NPC_" + num12);
     }
     for (int num13 = 0; num13 < 0x93; num13++)
     {
         NPC npc = new NPC();
         npc.SetDefaults(num13, -1f);
         npcName[num13] = npc.name;
     }
     for (int num14 = 0; num14 < 0x6f; num14++)
     {
         projectileTexture[num14] = base.Content.Load<Texture2D>(@"Images\Projectile_" + num14);
     }
     for (int num15 = 1; num15 < 160; num15++)
     {
         goreTexture[num15] = base.Content.Load<Texture2D>(@"Images\Gore_" + num15);
     }
     for (int num16 = 0; num16 < 4; num16++)
     {
         cloudTexture[num16] = base.Content.Load<Texture2D>(@"Images\Cloud_" + num16);
     }
     for (int num17 = 0; num17 < 5; num17++)
     {
         starTexture[num17] = base.Content.Load<Texture2D>(@"Images\Star_" + num17);
     }
     for (int num18 = 0; num18 < 2; num18++)
     {
         liquidTexture[num18] = base.Content.Load<Texture2D>(@"Images\Liquid_" + num18);
     }
     npcToggleTexture[0] = base.Content.Load<Texture2D>(@"Images\House_1");
     npcToggleTexture[1] = base.Content.Load<Texture2D>(@"Images\House_2");
     HBLockTexture[0] = base.Content.Load<Texture2D>(@"Images\Lock_0");
     HBLockTexture[1] = base.Content.Load<Texture2D>(@"Images\Lock_1");
     gridTexture = base.Content.Load<Texture2D>(@"Images\Grid");
     trashTexture = base.Content.Load<Texture2D>(@"Images\Trash");
     cdTexture = base.Content.Load<Texture2D>(@"Images\CoolDown");
     logoTexture = base.Content.Load<Texture2D>(@"Images\Logo");
     logo2Texture = base.Content.Load<Texture2D>(@"Images\Logo2");
     logo3Texture = base.Content.Load<Texture2D>(@"Images\Logo3");
     dustTexture = base.Content.Load<Texture2D>(@"Images\Dust");
     sunTexture = base.Content.Load<Texture2D>(@"Images\Sun");
     sun2Texture = base.Content.Load<Texture2D>(@"Images\Sun2");
     moonTexture = base.Content.Load<Texture2D>(@"Images\Moon");
     blackTileTexture = base.Content.Load<Texture2D>(@"Images\Black_Tile");
     heartTexture = base.Content.Load<Texture2D>(@"Images\Heart");
     bubbleTexture = base.Content.Load<Texture2D>(@"Images\Bubble");
     manaTexture = base.Content.Load<Texture2D>(@"Images\Mana");
     cursorTexture = base.Content.Load<Texture2D>(@"Images\Cursor");
     ninjaTexture = base.Content.Load<Texture2D>(@"Images\Ninja");
     antLionTexture = base.Content.Load<Texture2D>(@"Images\AntlionBody");
     spikeBaseTexture = base.Content.Load<Texture2D>(@"Images\Spike_Base");
     treeTopTexture[0] = base.Content.Load<Texture2D>(@"Images\Tree_Tops_0");
     treeBranchTexture[0] = base.Content.Load<Texture2D>(@"Images\Tree_Branches_0");
     treeTopTexture[1] = base.Content.Load<Texture2D>(@"Images\Tree_Tops_1");
     treeBranchTexture[1] = base.Content.Load<Texture2D>(@"Images\Tree_Branches_1");
     treeTopTexture[2] = base.Content.Load<Texture2D>(@"Images\Tree_Tops_2");
     treeBranchTexture[2] = base.Content.Load<Texture2D>(@"Images\Tree_Branches_2");
     treeTopTexture[3] = base.Content.Load<Texture2D>(@"Images\Tree_Tops_3");
     treeBranchTexture[3] = base.Content.Load<Texture2D>(@"Images\Tree_Branches_3");
     treeTopTexture[4] = base.Content.Load<Texture2D>(@"Images\Tree_Tops_4");
     treeBranchTexture[4] = base.Content.Load<Texture2D>(@"Images\Tree_Branches_4");
     shroomCapTexture = base.Content.Load<Texture2D>(@"Images\Shroom_Tops");
     inventoryBackTexture = base.Content.Load<Texture2D>(@"Images\Inventory_Back");
     inventoryBack2Texture = base.Content.Load<Texture2D>(@"Images\Inventory_Back2");
     inventoryBack3Texture = base.Content.Load<Texture2D>(@"Images\Inventory_Back3");
     inventoryBack4Texture = base.Content.Load<Texture2D>(@"Images\Inventory_Back4");
     inventoryBack5Texture = base.Content.Load<Texture2D>(@"Images\Inventory_Back5");
     inventoryBack6Texture = base.Content.Load<Texture2D>(@"Images\Inventory_Back6");
     inventoryBack7Texture = base.Content.Load<Texture2D>(@"Images\Inventory_Back7");
     inventoryBack8Texture = base.Content.Load<Texture2D>(@"Images\Inventory_Back8");
     inventoryBack9Texture = base.Content.Load<Texture2D>(@"Images\Inventory_Back9");
     inventoryBack10Texture = base.Content.Load<Texture2D>(@"Images\Inventory_Back10");
     inventoryBack11Texture = base.Content.Load<Texture2D>(@"Images\Inventory_Back11");
     textBackTexture = base.Content.Load<Texture2D>(@"Images\Text_Back");
     chatTexture = base.Content.Load<Texture2D>(@"Images\Chat");
     chat2Texture = base.Content.Load<Texture2D>(@"Images\Chat2");
     chatBackTexture = base.Content.Load<Texture2D>(@"Images\Chat_Back");
     teamTexture = base.Content.Load<Texture2D>(@"Images\Team");
     for (int num19 = 1; num19 < 0x1a; num19++)
     {
         femaleBodyTexture[num19] = base.Content.Load<Texture2D>(@"Images\Female_Body_" + num19);
         armorBodyTexture[num19] = base.Content.Load<Texture2D>(@"Images\Armor_Body_" + num19);
         armorArmTexture[num19] = base.Content.Load<Texture2D>(@"Images\Armor_Arm_" + num19);
     }
     for (int num20 = 1; num20 < 0x2d; num20++)
     {
         armorHeadTexture[num20] = base.Content.Load<Texture2D>(@"Images\Armor_Head_" + num20);
     }
     for (int num21 = 1; num21 < 0x19; num21++)
     {
         armorLegTexture[num21] = base.Content.Load<Texture2D>(@"Images\Armor_Legs_" + num21);
     }
     for (int num22 = 0; num22 < 0x24; num22++)
     {
         playerHairTexture[num22] = base.Content.Load<Texture2D>(@"Images\Player_Hair_" + (num22 + 1));
         playerHairAltTexture[num22] = base.Content.Load<Texture2D>(@"Images\Player_HairAlt_" + (num22 + 1));
     }
     skinBodyTexture = base.Content.Load<Texture2D>(@"Images\Skin_Body");
     skinLegsTexture = base.Content.Load<Texture2D>(@"Images\Skin_Legs");
     playerEyeWhitesTexture = base.Content.Load<Texture2D>(@"Images\Player_Eye_Whites");
     playerEyesTexture = base.Content.Load<Texture2D>(@"Images\Player_Eyes");
     playerHandsTexture = base.Content.Load<Texture2D>(@"Images\Player_Hands");
     playerHands2Texture = base.Content.Load<Texture2D>(@"Images\Player_Hands2");
     playerHeadTexture = base.Content.Load<Texture2D>(@"Images\Player_Head");
     playerPantsTexture = base.Content.Load<Texture2D>(@"Images\Player_Pants");
     playerShirtTexture = base.Content.Load<Texture2D>(@"Images\Player_Shirt");
     playerShoesTexture = base.Content.Load<Texture2D>(@"Images\Player_Shoes");
     playerUnderShirtTexture = base.Content.Load<Texture2D>(@"Images\Player_Undershirt");
     playerUnderShirt2Texture = base.Content.Load<Texture2D>(@"Images\Player_Undershirt2");
     femalePantsTexture = base.Content.Load<Texture2D>(@"Images\Female_Pants");
     femaleShirtTexture = base.Content.Load<Texture2D>(@"Images\Female_Shirt");
     femaleShoesTexture = base.Content.Load<Texture2D>(@"Images\Female_Shoes");
     femaleUnderShirtTexture = base.Content.Load<Texture2D>(@"Images\Female_Undershirt");
     femaleUnderShirt2Texture = base.Content.Load<Texture2D>(@"Images\Female_Undershirt2");
     femaleShirt2Texture = base.Content.Load<Texture2D>(@"Images\Female_Shirt2");
     chaosTexture = base.Content.Load<Texture2D>(@"Images\Chaos");
     EyeLaserTexture = base.Content.Load<Texture2D>(@"Images\Eye_Laser");
     BoneEyesTexture = base.Content.Load<Texture2D>(@"Images\Bone_eyes");
     BoneLaserTexture = base.Content.Load<Texture2D>(@"Images\Bone_Laser");
     lightDiscTexture = base.Content.Load<Texture2D>(@"Images\Light_Disc");
     confuseTexture = base.Content.Load<Texture2D>(@"Images\Confuse");
     probeTexture = base.Content.Load<Texture2D>(@"Images\Probe");
     chainTexture = base.Content.Load<Texture2D>(@"Images\Chain");
     chain2Texture = base.Content.Load<Texture2D>(@"Images\Chain2");
     chain3Texture = base.Content.Load<Texture2D>(@"Images\Chain3");
     chain4Texture = base.Content.Load<Texture2D>(@"Images\Chain4");
     chain5Texture = base.Content.Load<Texture2D>(@"Images\Chain5");
     chain6Texture = base.Content.Load<Texture2D>(@"Images\Chain6");
     chain7Texture = base.Content.Load<Texture2D>(@"Images\Chain7");
     chain8Texture = base.Content.Load<Texture2D>(@"Images\Chain8");
     chain9Texture = base.Content.Load<Texture2D>(@"Images\Chain9");
     chain10Texture = base.Content.Load<Texture2D>(@"Images\Chain10");
     chain11Texture = base.Content.Load<Texture2D>(@"Images\Chain11");
     chain12Texture = base.Content.Load<Texture2D>(@"Images\Chain12");
     boneArmTexture = base.Content.Load<Texture2D>(@"Images\Arm_Bone");
     boneArm2Texture = base.Content.Load<Texture2D>(@"Images\Arm_Bone_2");
     fontItemStack = base.Content.Load<SpriteFont>(@"Fonts\Item_Stack");
     fontMouseText = base.Content.Load<SpriteFont>(@"Fonts\Mouse_Text");
     fontDeathText = base.Content.Load<SpriteFont>(@"Fonts\Death_Text");
     fontCombatText[0] = base.Content.Load<SpriteFont>(@"Fonts\Combat_Text");
     fontCombatText[1] = base.Content.Load<SpriteFont>(@"Fonts\Combat_Crit");
 }
コード例 #22
0
ファイル: Player.cs プロジェクト: hastinbe/TerrariaAPI-Server
 public void OpenBossBag(int type)
 {
     if (type == 3318)
     {
         if (Main.rand.Next(2) == 0)
         {
             this.QuickSpawnItem(2430, 1);
         }
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2493, 1);
         }
         int num = Main.rand.Next(256, 259);
         int num1 = Main.rand.Next(256, 259);
         while (num1 == num)
         {
             num1 = Main.rand.Next(256, 259);
         }
         this.QuickSpawnItem(num, 1);
         this.QuickSpawnItem(num1, 1);
         if (Main.rand.Next(2) != 0)
         {
             this.QuickSpawnItem(2585, 1);
         }
         else
         {
             this.QuickSpawnItem(2610, 1);
         }
         this.QuickSpawnItem(998, 1);
         this.QuickSpawnItem(3090, 1);
     }
     else if (type == 3319)
     {
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2112, 1);
         }
         if (Main.rand.Next(30) == 0)
         {
             this.QuickSpawnItem(1299, 1);
         }
         if (!WorldGen.crimson)
         {
             int num2 = Main.rand.Next(20) + 10;
             num2 = num2 + Main.rand.Next(20) + 10;
             num2 = num2 + Main.rand.Next(20) + 10;
             this.QuickSpawnItem(56, num2);
             num2 = Main.rand.Next(3) + 1;
             this.QuickSpawnItem(59, num2);
             num2 = Main.rand.Next(30) + 20;
             this.QuickSpawnItem(47, num2);
         }
         else
         {
             int num3 = Main.rand.Next(20) + 10;
             num3 = num3 + Main.rand.Next(20) + 10;
             num3 = num3 + Main.rand.Next(20) + 10;
             this.QuickSpawnItem(880, num3);
             num3 = Main.rand.Next(3) + 1;
             this.QuickSpawnItem(2171, num3);
         }
         this.QuickSpawnItem(3097, 1);
     }
     else if (type == 3320)
     {
         int num4 = Main.rand.Next(15, 30);
         num4 = num4 + Main.rand.Next(15, 31);
         this.QuickSpawnItem(56, num4);
         this.QuickSpawnItem(86, Main.rand.Next(10, 20));
         if (Main.rand.Next(20) == 0)
         {
             this.QuickSpawnItem(994, 1);
         }
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2111, 1);
         }
         this.QuickSpawnItem(3224, 1);
     }
     else if (type == 3321)
     {
         int num5 = Main.rand.Next(20, 46);
         num5 = num5 + Main.rand.Next(20, 46);
         this.QuickSpawnItem(880, num5);
         this.QuickSpawnItem(1329, Main.rand.Next(10, 20));
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2104, 1);
         }
         if (Main.rand.Next(20) == 0)
         {
             this.QuickSpawnItem(3060, 1);
         }
         this.QuickSpawnItem(3223, 1);
     }
     else if (type == 3322)
     {
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2108, 1);
         }
         int num6 = Main.rand.Next(3);
         if (num6 == 0)
         {
             num6 = 1121;
         }
         else if (num6 == 1)
         {
             num6 = 1123;
         }
         else if (num6 == 2)
         {
             num6 = 2888;
         }
         this.QuickSpawnItem(num6, 1);
         this.QuickSpawnItem(3333, 1);
         if (Main.rand.Next(3) == 0)
         {
             this.QuickSpawnItem(1132, 1);
         }
         if (Main.rand.Next(9) == 0)
         {
             this.QuickSpawnItem(1170, 1);
         }
         if (Main.rand.Next(9) == 0)
         {
             this.QuickSpawnItem(2502, 1);
         }
         this.QuickSpawnItem(1129, 1);
         this.QuickSpawnItem(Main.rand.Next(842, 845), 1);
         this.QuickSpawnItem(1130, Main.rand.Next(10, 30));
         this.QuickSpawnItem(2431, Main.rand.Next(17, 30));
     }
     else if (type == 3323)
     {
         this.QuickSpawnItem(3245, 1);
         int num7 = Main.rand.Next(3);
         if (num7 == 0)
         {
             this.QuickSpawnItem(1281, 1);
         }
         else if (num7 != 1)
         {
             this.QuickSpawnItem(1313, 1);
         }
         else
         {
             this.QuickSpawnItem(1273, 1);
         }
     }
     else if (type == 3324)
     {
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2105, 1);
         }
         this.QuickSpawnItem(367, 1);
         if (!this.extraAccessory)
         {
             this.QuickSpawnItem(3335, 1);
         }
         int num8 = Main.rand.Next(4);
         num8 = (num8 != 3 ? 489 + num8 : 2998);
         this.QuickSpawnItem(num8, 1);
         int num9 = Main.rand.Next(3);
         if (num9 == 0)
         {
             this.QuickSpawnItem(514, 1);
         }
         else if (num9 == 1)
         {
             this.QuickSpawnItem(426, 1);
         }
         else if (num9 == 2)
         {
             this.QuickSpawnItem(434, 1);
         }
     }
     else if (type == 3325)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2113, 1);
         }
         this.QuickSpawnItem(548, Main.rand.Next(25, 41));
         this.QuickSpawnItem(1225, Main.rand.Next(20, 36));
         this.QuickSpawnItem(3355, 1);
     }
     else if (type == 3326)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2106, 1);
         }
         this.QuickSpawnItem(549, Main.rand.Next(25, 41));
         this.QuickSpawnItem(1225, Main.rand.Next(20, 36));
         this.QuickSpawnItem(3354, 1);
     }
     else if (type == 3327)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2107, 1);
         }
         this.QuickSpawnItem(547, Main.rand.Next(25, 41));
         this.QuickSpawnItem(1225, Main.rand.Next(20, 36));
         this.QuickSpawnItem(3356, 1);
     }
     else if (type == 3328)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2109, 1);
         }
         this.QuickSpawnItem(1141, 1);
         this.QuickSpawnItem(3336, 1);
         if (Main.rand.Next(15) == 0)
         {
             this.QuickSpawnItem(1182, 1);
         }
         if (Main.rand.Next(20) == 0)
         {
             this.QuickSpawnItem(1305, 1);
         }
         if (Main.rand.Next(2) == 0)
         {
             this.QuickSpawnItem(1157, 1);
         }
         if (Main.rand.Next(10) == 0)
         {
             this.QuickSpawnItem(3021, 1);
         }
         int num10 = Main.rand.Next(6);
         if (num10 == 0)
         {
             this.QuickSpawnItem(758, 1);
             this.QuickSpawnItem(771, Main.rand.Next(50, 150));
         }
         else if (num10 == 1)
         {
             this.QuickSpawnItem(1255, 1);
         }
         else if (num10 == 2)
         {
             this.QuickSpawnItem(788, 1);
         }
         else if (num10 == 3)
         {
             this.QuickSpawnItem(1178, 1);
         }
         else if (num10 == 4)
         {
             this.QuickSpawnItem(1259, 1);
         }
         else if (num10 == 5)
         {
             this.QuickSpawnItem(1155, 1);
         }
     }
     else if (type == 3329)
     {
         this.TryGettingDevArmor();
         this.QuickSpawnItem(3337, 1);
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2110, 1);
         }
         int num11 = Main.rand.Next(8);
         if (num11 == 0)
         {
             this.QuickSpawnItem(1258, 1);
             this.QuickSpawnItem(1261, Main.rand.Next(60, 100));
         }
         else if (num11 == 1)
         {
             this.QuickSpawnItem(1122, 1);
         }
         else if (num11 == 2)
         {
             this.QuickSpawnItem(899, 1);
         }
         else if (num11 == 3)
         {
             this.QuickSpawnItem(1248, 1);
         }
         else if (num11 == 4)
         {
             this.QuickSpawnItem(1294, 1);
         }
         else if (num11 == 5)
         {
             this.QuickSpawnItem(1295, 1);
         }
         else if (num11 == 6)
         {
             this.QuickSpawnItem(1296, 1);
         }
         else if (num11 == 7)
         {
             this.QuickSpawnItem(1297, 1);
         }
         this.QuickSpawnItem(2218, Main.rand.Next(18, 24));
     }
     else if (type == 3330)
     {
         this.TryGettingDevArmor();
         this.QuickSpawnItem(3367, 1);
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(2588, 1);
         }
         if (Main.rand.Next(10) == 0)
         {
             this.QuickSpawnItem(2609, 1);
         }
         int num12 = Main.rand.Next(5);
         if (num12 == 0)
         {
             this.QuickSpawnItem(2611, 1);
         }
         else if (num12 == 1)
         {
             this.QuickSpawnItem(2624, 1);
         }
         else if (num12 == 2)
         {
             this.QuickSpawnItem(2622, 1);
         }
         else if (num12 == 3)
         {
             this.QuickSpawnItem(2621, 1);
         }
         else if (num12 == 4)
         {
             this.QuickSpawnItem(2623, 1);
         }
     }
     else if (type == 3331)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(3372, 1);
         }
     }
     else if (type == 3332)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
         {
             this.QuickSpawnItem(3373, 1);
         }
         if (!this.HasItem(3384))
         {
             this.QuickSpawnItem(3384, 1);
         }
         this.QuickSpawnItem(3460, Main.rand.Next(90, 111));
         this.QuickSpawnItem(1131, 1);
         this.QuickSpawnItem(3577, 1);
         Random random = Main.rand;
         int[] numArray = new int[] { 3063, 3389, 3065, 1553, 3546, 3541, 3570, 3571, 3569 };
         this.QuickSpawnItem(Terraria.Utils.SelectRandom<int>(random, numArray), 1);
     }
     int num13 = -1;
     if (type == 3318)
     {
         num13 = 50;
     }
     if (type == 3319)
     {
         num13 = 4;
     }
     if (type == 3320)
     {
         num13 = 13;
     }
     if (type == 3321)
     {
         num13 = 266;
     }
     if (type == 3322)
     {
         num13 = 222;
     }
     if (type == 3323)
     {
         num13 = 35;
     }
     if (type == 3324)
     {
         num13 = 113;
     }
     if (type == 3325)
     {
         num13 = 134;
     }
     if (type == 3326)
     {
         num13 = 125;
     }
     if (type == 3327)
     {
         num13 = 127;
     }
     if (type == 3328)
     {
         num13 = 262;
     }
     if (type == 3329)
     {
         num13 = 245;
     }
     if (type == 3330)
     {
         num13 = 370;
     }
     if (type == 3331)
     {
         num13 = 439;
     }
     if (type == 3332)
     {
         num13 = 398;
     }
     if (num13 > 0)
     {
         NPC nPC = new NPC();
         nPC.SetDefaults(num13, -1f);
         float single = nPC.@value;
         single = single * (1f + (float)Main.rand.Next(-20, 21) * 0.01f);
         if (Main.rand.Next(5) == 0)
         {
             single = single * (1f + (float)Main.rand.Next(5, 11) * 0.01f);
         }
         if (Main.rand.Next(10) == 0)
         {
             single = single * (1f + (float)Main.rand.Next(10, 21) * 0.01f);
         }
         if (Main.rand.Next(15) == 0)
         {
             single = single * (1f + (float)Main.rand.Next(15, 31) * 0.01f);
         }
         if (Main.rand.Next(20) == 0)
         {
             single = single * (1f + (float)Main.rand.Next(20, 41) * 0.01f);
         }
         while ((int)single > 0)
         {
             if (single > 1000000f)
             {
                 int num14 = (int)(single / 1000000f);
                 single = single - (float)(1000000 * num14);
                 this.QuickSpawnItem(74, num14);
             }
             else if (single > 10000f)
             {
                 int num15 = (int)(single / 10000f);
                 single = single - (float)(10000 * num15);
                 this.QuickSpawnItem(73, num15);
             }
             else if (single <= 100f)
             {
                 int num16 = (int)single;
                 if (num16 < 1)
                 {
                     num16 = 1;
                 }
                 single = single - (float)num16;
                 this.QuickSpawnItem(71, num16);
             }
             else
             {
                 int num17 = (int)(single / 100f);
                 single = single - (float)(100 * num17);
                 this.QuickSpawnItem(72, num17);
             }
         }
     }
 }
コード例 #23
0
ファイル: Commands.cs プロジェクト: CXUtk/TShock
        private static void SpawnBoss(CommandArgs args)
        {
            if (args.Parameters.Count < 1 || args.Parameters.Count > 2)
            {
                args.Player.SendErrorMessage("Invalid syntax! Proper syntax: {0}spawnboss <boss type> [amount]", Specifier);
                return;
            }

            int amount = 1;
            if (args.Parameters.Count == 2 && (!int.TryParse(args.Parameters[1], out amount) || amount <= 0))
            {
                args.Player.SendErrorMessage("Invalid boss amount!");
                return;
            }

            NPC npc = new NPC();
            switch (args.Parameters[0].ToLower())
            {
                case "*":
                case "all":
                    int[] npcIds = { 4, 13, 35, 50, 125, 126, 127, 134, 222, 245, 262, 266, 370, 398 };
                    TSPlayer.Server.SetTime(false, 0.0);
                    foreach (int i in npcIds)
                    {
                        npc.SetDefaults(i);
                        TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    }
                    TSPlayer.All.SendSuccessMessage("{0} has spawned all bosses {1} time(s).", args.Player.Name, amount);
                    return;
                case "brain":
                case "brain of cthulhu":
                    npc.SetDefaults(266);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0} has spawned the Brain of Cthulhu {1} time(s).", args.Player.Name, amount);
                    return;
                case "destroyer":
                    npc.SetDefaults(134);
                    TSPlayer.Server.SetTime(false, 0.0);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0} has spawned the Destroyer {1} time(s).", args.Player.Name, amount);
                    return;
                case "duke":
                case "duke fishron":
                case "fishron":
                    npc.SetDefaults(370);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0} has spawned Duke Fishron {1} time(s).", args.Player.Name, amount);
                    return;
                case "eater":
                case "eater of worlds":
                    npc.SetDefaults(13);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0} has spawned the Eater of Worlds {1} time(s).", args.Player.Name, amount);
                    return;
                case "eye":
                case "eye of cthulhu":
                    npc.SetDefaults(4);
                    TSPlayer.Server.SetTime(false, 0.0);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0} has spawned the Eye of Cthulhu {1} time(s).", args.Player.Name, amount);
                    return;
                case "golem":
                    npc.SetDefaults(245);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0} has spawned Golem {1} time(s).", args.Player.Name, amount);
                    return;
                case "king":
                case "king slime":
                    npc.SetDefaults(50);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0} has spawned King Slime {1} time(s).", args.Player.Name, amount);
                    return;
                case "plantera":
                    npc.SetDefaults(262);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0} has spawned Plantera {1} time(s).", args.Player.Name, amount);
                    return;
                case "prime":
                case "skeletron prime":
                    npc.SetDefaults(127);
                    TSPlayer.Server.SetTime(false, 0.0);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0} has spawned Skeletron Prime {1} time(s).", args.Player.Name, amount);
                    return;
                case "queen":
                case "queen bee":
                    npc.SetDefaults(222);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0} has spawned Queen Bee {1} time(s).", args.Player.Name, amount);
                    return;
                case "skeletron":
                    npc.SetDefaults(35);
                    TSPlayer.Server.SetTime(false, 0.0);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0} has spawned Skeletron {1} time(s).", args.Player.Name, amount);
                    return;
                case "twins":
                    TSPlayer.Server.SetTime(false, 0.0);
                    npc.SetDefaults(125);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    npc.SetDefaults(126);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0} has spawned the Twins {1} time(s).", args.Player.Name, amount);
                    return;
                case "wof":
                case "wall of flesh":
                    if (Main.wof >= 0)
                    {
                        args.Player.SendErrorMessage("There is already a Wall of Flesh!");
                        return;
                    }
                    if (args.Player.Y / 16f < Main.maxTilesY - 205)
                    {
                        args.Player.SendErrorMessage("You must spawn the Wall of Flesh in hell!");
                        return;
                    }
                    NPC.SpawnWOF(new Vector2(args.Player.X, args.Player.Y));
                    TSPlayer.All.SendSuccessMessage("{0} has spawned the Wall of Flesh.", args.Player.Name);
                    return;
                case "moon":
                case "moon lord":
                    npc.SetDefaults(398);
                    TSPlayer.Server.SpawnNPC(npc.type, npc.name, amount, args.Player.TileX, args.Player.TileY);
                    TSPlayer.All.SendSuccessMessage("{0} has spawned the Moon Lord {1} time(s).", args.Player.Name, amount);
                    return;
                default:
                    args.Player.SendErrorMessage("Invalid boss type!");
                    return;
            }
        }
コード例 #24
0
ファイル: Windows.cs プロジェクト: dantedom/editormod
        public Npcs(Mod game, Rectangle rect)
            : base(rect, "Npcs")
        {
            Game = game;

            // Add controls to the tab page

            Rectangle pageRect = this.Rectangle; // tab pages are the size of the tab control
            pageRect.X = pageRect.Y = 0;
            pageRect.Height = 148;
            pageRect.Width = (pageRect.Width / 2) - 1;
            XGTabControl tab = new XGTabControl(pageRect);
            Children.Add(tab); // add the tab control to our child control list

            onclick = new Npconclick(game, pageRect);
            tab.Children.Add(onclick);

            spawn = new Npcspawn(game, pageRect);
            tab.Children.Add(spawn);

            Tree = new XGTree(new Rectangle(210, 5, 205, 135), TreeItemClicked);
            Children.Add(Tree);

            XGTreeItem MobsFamilies = new XGTreeItem(Mod.NpcD.MobsFamilies.Cathegory, Main.inventoryBackTexture);
            Tree.Items.Add(MobsFamilies);
            for (int i = 0; i < Mod.NpcD.MobsFamilies.Sections.Length; i++) // add sections
            {
                XGTreeItem MobsFamilies_Sections = new XGTreeItem(Mod.NpcD.MobsFamilies.Sections[i], Main.inventoryBackTexture);
                MobsFamilies.Items.Add(MobsFamilies_Sections);
                for (int n = 0; n < Mod.NpcD.MobsFamilies.SectionNpcItems[i].Length; n++) // add section items
                {
                    NPC npc = new NPC();
                    npc.SetDefaults(Mod.NpcD.MobsFamilies.SectionNpcItems[i][n]);
                    XGTreeItem MobsFamilies_Section_items = new XGTreeItem(Mod.NpcD.MobsFamilies.SectionNpcItems[i][n], Main.npcTexture[npc.type]);
                    MobsFamilies_Sections.Items.Add(MobsFamilies_Section_items);
                }
            }

            XGTreeItem AtoZ = new XGTreeItem(Mod.NpcD.AtoZ.Cathegory, Main.inventoryBackTexture);
            Tree.Items.Add(AtoZ);
            for (int i = 0; i < Mod.NpcD.AtoZ.Sections.Length; i++) // add sections
            {
                XGTreeItem AtoZ_Sections = new XGTreeItem(Mod.NpcD.AtoZ.Sections[i], Main.inventoryBackTexture);
                AtoZ.Items.Add(AtoZ_Sections);
                for (int n = 0; n < Mod.NpcD.AtoZ.SectionNpcItems[i].Length; n++) // add section items
                {
                    NPC npc = new NPC();
                    npc.SetDefaults(Mod.NpcD.AtoZ.SectionNpcItems[i][n]);
                    XGTreeItem MobsFamilies_Section_items = new XGTreeItem(Mod.NpcD.AtoZ.SectionNpcItems[i][n], Main.npcTexture[npc.type]);
                    AtoZ_Sections.Items.Add(MobsFamilies_Section_items);
                }
            }

            XGTreeItem ALL = new XGTreeItem("ALL", Main.inventoryBackTexture);
            Tree.Items.Add(ALL);
            for (int i = 0; i <Main.npcName.Length; i++) // add sections
            {

                    NPC npc = new NPC();
                    npc.SetDefaults(Main.npcName[i]);
                    XGTreeItem alll = new XGTreeItem(npc.name, Main.npcTexture[npc.type]);
                    ALL.Items.Add(alll);

            }

            //Tree.ExpandAll();
        }
コード例 #25
0
 public void DedServ()
 {
     Type t = Type.GetType("Mono.Runtime");
     Main.runningMono = (t != null);
     GameHooks.OnInitialize(true);
     Main.rand = new Random();
     Console.Title = "Terraria Server " + Main.versionNumber2;
     Main.dedServ = true;
     Main.showSplash = false;
     this.Initialize();
     Lang.setLang();
     for (int i = 0; i < 147; i++)
     {
         NPC nPC = new NPC();
         nPC.SetDefaults(i, -1f);
         Main.npcName[i] = nPC.name;
     }
     while (Main.worldPathName == null || Main.worldPathName == "")
     {
         Main.LoadWorlds();
         bool flag = true;
         while (flag)
         {
             Console.WriteLine("Terraria Server " + Main.versionNumber2);
             Console.WriteLine("");
             for (int j = 0; j < Main.numLoadWorlds; j++)
             {
                 Console.WriteLine(string.Concat(new object[]
                                                     {
                                                         j + 1,
                                                         '\t',
                                                         '\t',
                                                         Main.loadWorld[j]
                                                     }));
             }
             Console.WriteLine(string.Concat(new object[]
                                                 {
                                                     "n",
                                                     '\t',
                                                     '\t',
                                                     "New World"
                                                 }));
             Console.WriteLine("d <number>" + '\t' + "Delete World");
             Console.WriteLine("");
             Console.Write("Choose World: ");
             string text2 = Console.ReadLine();
             try
             {
                 Console.Clear();
             }
             catch
             {
             }
             if (text2.Length >= 2 && text2.Substring(0, 2).ToLower() == "d ")
             {
                 try
                 {
                     int num = Convert.ToInt32(text2.Substring(2)) - 1;
                     if (num < Main.numLoadWorlds)
                     {
                         Console.WriteLine("Terraria Server " + Main.versionNumber2);
                         Console.WriteLine("");
                         Console.WriteLine("Really delete " + Main.loadWorld[num] + "?");
                         Console.Write("(y/n): ");
                         string text3 = Console.ReadLine();
                         if (text3.ToLower() == "y")
                         {
                             Main.EraseWorld(num);
                         }
                     }
                 }
                 catch
                 {
                 }
                 try
                 {
                     Console.Clear();
                     continue;
                 }
                 catch
                 {
                     continue;
                 }
             }
             if (text2 == "n" || text2 == "N")
             {
                 bool flag2 = true;
                 while (flag2)
                 {
                     Console.WriteLine("Terraria Server " + Main.versionNumber2);
                     Console.WriteLine("");
                     Console.WriteLine("1" + '\t' + "Small");
                     Console.WriteLine("2" + '\t' + "Medium");
                     Console.WriteLine("3" + '\t' + "Large");
                     Console.WriteLine("");
                     Console.Write("Choose size: ");
                     string value = Console.ReadLine();
                     try
                     {
                         int num2 = Convert.ToInt32(value);
                         if (num2 == 1)
                         {
                             Main.maxTilesX = 4200;
                             Main.maxTilesY = 1200;
                             flag2 = false;
                         }
                         else
                         {
                             if (num2 == 2)
                             {
                                 Main.maxTilesX = 6300;
                                 Main.maxTilesY = 1800;
                                 flag2 = false;
                             }
                             else
                             {
                                 if (num2 == 3)
                                 {
                                     Main.maxTilesX = 8400;
                                     Main.maxTilesY = 2400;
                                     flag2 = false;
                                 }
                             }
                         }
                     }
                     catch
                     {
                     }
                     try
                     {
                         Console.Clear();
                     }
                     catch
                     {
                     }
                 }
                 flag2 = true;
                 while (flag2)
                 {
                     Console.WriteLine("Terraria Server " + Main.versionNumber2);
                     Console.WriteLine("");
                     Console.Write("Enter world name: ");
                     Main.newWorldName = Console.ReadLine();
                     if (Main.newWorldName != "" && Main.newWorldName != " " && Main.newWorldName != null)
                     {
                         flag2 = false;
                     }
                     try
                     {
                         Console.Clear();
                     }
                     catch
                     {
                     }
                 }
                 Main.worldName = Main.newWorldName;
                 Main.worldPathName = Main.nextLoadWorld();
                 Main.menuMode = 10;
                 WorldGen.CreateNewWorld();
                 flag2 = false;
                 while (Main.menuMode == 10)
                 {
                     if (Main.oldStatusText != Main.statusText)
                     {
                         Main.oldStatusText = Main.statusText;
                         Console.WriteLine(Main.statusText);
                     }
                 }
                 try
                 {
                     Console.Clear();
                     continue;
                 }
                 catch
                 {
                     continue;
                 }
             }
             try
             {
                 int num3 = Convert.ToInt32(text2);
                 num3--;
                 if (num3 >= 0 && num3 < Main.numLoadWorlds)
                 {
                     bool flag3 = true;
                     while (flag3)
                     {
                         Console.WriteLine("Terraria Server " + Main.versionNumber2);
                         Console.WriteLine("");
                         Console.Write("Server port (press enter for 7777): ");
                         string text5 = Console.ReadLine();
                         try
                         {
                             if (text5 == "")
                             {
                                 text5 = "7777";
                             }
                             int num5 = Convert.ToInt32(text5);
                             if (num5 <= 65535)
                             {
                                 Netplay.serverPort = num5;
                                 flag3 = false;
                             }
                         }
                         catch
                         {
                         }
                         try
                         {
                             Console.Clear();
                         }
                         catch
                         {
                         }
                     }
                     Main.worldPathName = Main.loadWorldPath[num3];
                     flag = false;
                     try
                     {
                         Console.Clear();
                     }
                     catch
                     {
                     }
                 }
             }
             catch
             {
             }
         }
     }
     try
     {
         Console.Clear();
     }
     catch
     {
     }
     WorldGen.serverLoadWorld();
     Console.WriteLine("Terraria Server " + Main.versionNumber);
     Console.WriteLine("");
     while (!Netplay.ServerUp)
     {
         if (Main.oldStatusText != Main.statusText)
         {
             Main.oldStatusText = Main.statusText;
             Console.WriteLine(Main.statusText);
         }
     }
     try
     {
         Console.Clear();
     }
     catch
     {
     }
     Console.WriteLine("Terraria Server " + Main.versionNumber);
     Console.WriteLine("");
     Console.WriteLine("Listening on {0}:{1}",
         Netplay.serverListenIP != System.Net.IPAddress.Any ? Netplay.serverListenIP.ToString() : "*", Netplay.serverPort);
     Console.WriteLine("Type 'help' for a list of commands.");
     Console.WriteLine("");
     Console.Title = "Terraria Server: " + Main.worldName;
     Stopwatch stopwatch = new Stopwatch();
     if (!Main.autoShutdown)
     {
         Main.startDedInput();
     }
     GameHooks.OnInitialize(false);
     stopwatch.Start();
     double num6 = 16.666666666666668;
     double num7 = 0.0;
     int num8 = 0;
     Stopwatch stopwatch2 = new Stopwatch();
     stopwatch2.Start();
     while (!Netplay.disconnect)
     {
         double num9 = (double) stopwatch.ElapsedMilliseconds;
         if (num9 + num7 >= num6)
         {
             num8++;
             num7 += num9 - num6;
             stopwatch.Reset();
             stopwatch.Start();
             if (Main.oldStatusText != Main.statusText)
             {
                 Main.oldStatusText = Main.statusText;
                 Console.WriteLine(Main.statusText);
             }
             if (num7 > 1000.0)
             {
                 num7 = 1000.0;
             }
             if (Netplay.anyClients)
             {
                 GameHooks.OnUpdate(true);
                 this.Update();
                 GameHooks.OnUpdate(false);
             }
             double num10 = (double) stopwatch.ElapsedMilliseconds + num7;
             if (num10 < num6)
             {
                 int num11 = (int) (num6 - num10) - 1;
                 if (num11 > 1)
                 {
                     Thread.Sleep(num11);
                     if (!Netplay.anyClients)
                     {
                         num7 = 0.0;
                         Thread.Sleep(10);
                     }
                 }
             }
         }
         Thread.Sleep(0);
     }
 }
コード例 #26
0
ファイル: Main.cs プロジェクト: hastinbe/TerrariaAPI-Server
        public void DedServ()
        {
            ServerApi.Hooks.InvokeGameInitialize();
            string str;
            Main.rand = new Random();
            Console.Title = string.Concat("Terraria Server ", Main.versionNumber2);
            Main.dedServ = true;
            Main.showSplash = false;
            if (Main.autoGen)
            {
                Main.ActiveWorldFileData = new WorldFileData();
                Main.ActiveWorldFileData.Path = Main.WorldPathClassic;
            }
            this.Initialize();
            Lang.setLang(false);
            for (int i = 0; i < 540; i++)
            {
                NPC nPC = new NPC();
                nPC.SetDefaults(i, -1f);
                Main.npcName[i] = nPC.name;
            }

            if (Console.IsInputRedirected == true && string.IsNullOrEmpty(Main.WorldPathClassic) == true && !Main.autoGen)
            {
                throw new Exception("When running in the background, the world must be specified with -world <path>");
            }

            while (string.IsNullOrEmpty(Main.worldPathName))
            {
                bool flag = true;
                while (flag)
                {
                    Main.LoadWorlds();
                    Console.WriteLine(string.Concat("Terraria Server ", Main.versionNumber2));
                    Console.WriteLine("");
                    for (int j = 0; j < Main.WorldList.Count; j++)
                    {
                        object[] name = new object[]
                        {
                            j + 1,
                            '\t',
                            '\t', Main.WorldList[j].Name
                        };
                        Console.WriteLine("{0,-4}{1,-22}{2}, {3}, {4,-6}{5}",
                            j + 1,
                            Main.WorldList[j].Name,
                            Main.WorldList[j].IsHardMode ? "hard" : "norm",
                            Main.WorldList[j].HasCrimson ? "crim" : "corr",
                            Main.WorldList[j].IsExpertMode ? "exp" : "norm",
                            String.Format("Last used: {0}",
                                File.GetLastWriteTime(Main.WorldList[j].Path).ToString("g")));
                    }
                    Console.WriteLine();
                    Console.WriteLine("n           \tNew World");
                    Console.WriteLine("d   <number>\tDelete World");
                    Console.WriteLine("");
                    Console.Write("Choose World: ");
                    string str2 = Console.ReadLine() ?? "";
                    try
                    {
                        Console.Clear();
                    }
                    catch (Exception ex)
                    {
            #if DEBUG
                        Console.WriteLine(ex);
                        System.Diagnostics.Debugger.Break();

            #endif
                    }
                    if (str2.Length >= 2 && str2.Substring(0, 2).ToLower() == "d ")
                    {
                        try
                        {
                            int num = Convert.ToInt32(str2.Substring(2)) - 1;
                            if (num < Main.WorldList.Count)
                            {
                                Console.WriteLine(string.Concat("Terraria Server ", Main.versionNumber2));
                                Console.WriteLine("");
                                Console.WriteLine(string.Concat("Really delete ", Main.WorldList[num].Name, "?"));
                                Console.Write("(y/n): ");
                                if (Console.ReadLine().ToLower() == "y")
                                {
                                    Main.EraseWorld(num);
                                }
                            }
                        }
                        catch (Exception ex)
                        {
            #if DEBUG
                            Console.WriteLine(ex);
                            System.Diagnostics.Debugger.Break();

            #endif
                        }
                        try
                        {
                            Console.Clear();
                        }
                        catch (Exception ex)
                        {
            #if DEBUG
                            Console.WriteLine(ex);
                            System.Diagnostics.Debugger.Break();

            #endif
                        }
                    }
                    else if (str2 == "n" || str2 == "N")
                    {
                        bool flag1 = true;
                        while (flag1)
                        {
                            Console.WriteLine(string.Concat("Terraria Server ", Main.versionNumber2));
                            Console.WriteLine("");
                            Console.WriteLine(string.Concat("1", '\t', "Small"));
                            Console.WriteLine(string.Concat("2", '\t', "Medium"));
                            Console.WriteLine(string.Concat("3", '\t', "Large"));
                            Console.WriteLine("");
                            Console.Write("Choose size: ");
                            str = Console.ReadLine();
                            try
                            {
                                int num1 = Convert.ToInt32(str);
                                if (num1 == 1)
                                {
                                    Main.maxTilesX = 4200;
                                    Main.maxTilesY = 1200;
                                    flag1 = false;
                                }
                                else if (num1 == 2)
                                {
                                    Main.maxTilesX = 6400;
                                    Main.maxTilesY = 1800;
                                    flag1 = false;
                                }
                                else if (num1 == 3)
                                {
                                    Main.maxTilesX = 8400;
                                    Main.maxTilesY = 2400;
                                    flag1 = false;
                                }
                            }
                            catch (Exception ex)
                            {
            #if DEBUG
                                Console.WriteLine(ex);
                                System.Diagnostics.Debugger.Break();

            #endif
                            }
                            try
                            {
                                Console.Clear();
                            }
                            catch (Exception ex)
                            {
            #if DEBUG
                                Console.WriteLine(ex);
                                System.Diagnostics.Debugger.Break();

            #endif
                            }
                        }
                        flag1 = true;
                        while (flag1)
                        {
                            Console.WriteLine(string.Concat("Terraria Server ", Main.versionNumber2));
                            Console.WriteLine("");
                            Console.WriteLine(string.Concat("1", '\t', "Normal"));
                            Console.WriteLine(string.Concat("2", '\t', "Expert"));
                            Console.WriteLine("");
                            Console.Write("Choose difficulty: ");
                            str = Console.ReadLine();
                            try
                            {
                                int num2 = Convert.ToInt32(str);
                                if (num2 == 1)
                                {
                                    Main.expertMode = false;
                                    flag1 = false;
                                }
                                else if (num2 == 2)
                                {
                                    Main.expertMode = true;
                                    flag1 = false;
                                }
                            }
                            catch (Exception ex)
                            {
            #if DEBUG
                                Console.WriteLine(ex);
                                System.Diagnostics.Debugger.Break();

            #endif
                            }
                            try
                            {
                                Console.Clear();
                            }
                            catch (Exception ex)
                            {
            #if DEBUG
                                Console.WriteLine(ex);
                                System.Diagnostics.Debugger.Break();

            #endif
                            }
                        }
                        flag1 = true;
                        while (flag1)
                        {
                            Console.WriteLine(string.Concat("Terraria Server ", Main.versionNumber2));
                            Console.WriteLine("");
                            Console.Write("Enter world name: ");
                            Main.newWorldName = Console.ReadLine();
                            if (Main.newWorldName != "" && Main.newWorldName != " " && Main.newWorldName != null)
                            {
                                if (Main.newWorldName.Length > 20)
                                {
                                    Main.newWorldName = Main.newWorldName.Substring(0, 20);
                                }
                                flag1 = false;
                            }
                            try
                            {
                                Console.Clear();
                            }
                            catch (Exception ex)
                            {
            #if DEBUG
                                Console.WriteLine(ex);
                                System.Diagnostics.Debugger.Break();

            #endif
                            }
                        }
                        Main.worldName = Main.newWorldName;
                        Main.ActiveWorldFileData = WorldFile.CreateMetadata(Main.worldName, Main.expertMode);
                        Main.menuMode = 10;
                        Main.serverGenLock = true;
                        GenerationProgress generationProgress = new GenerationProgress();
                        WorldGen.CreateNewWorld(generationProgress);
                        flag1 = false;
                        while (Main.menuMode == 10)
                        {
                            if (Main.oldStatusText == Main.statusText)
                            {
                                continue;
                            }
                            Main.oldStatusText = Main.statusText;
                            Console.WriteLine(Main.statusText);
                        }
                        try
                        {
                            Console.Clear();
                        }
                        catch (Exception ex)
                        {
            #if DEBUG
                            Console.WriteLine(ex);
                            System.Diagnostics.Debugger.Break();

            #endif
                        }

                        int oldProgress = 0;
                        int oldValue = 0;

                        while (Main.serverGenLock)
                        {

                            if ((int)(generationProgress.TotalProgress * 100) != oldProgress || (int)(generationProgress.Value * 100) != oldValue)
                            {
                                Main.statusText = string.Format(string.Concat("{0:0%} - ", generationProgress.Message, " - {1:0%}"), generationProgress.TotalProgress, generationProgress.Value);
                                Main.oldStatusText = Main.statusText;
                                oldProgress = (int)(generationProgress.TotalProgress * 100);
                                oldValue = (int)(generationProgress.Value * 100);
                                Console.WriteLine(Main.statusText);
                            }
                        }
                    }
                    else
                    {
                        try
                        {
                            int num3 = Convert.ToInt32(str2);
                            num3--;
                            if (num3 >= 0 && num3 < Main.WorldList.Count)
                            {
                                bool flag2 = true;
                                while (flag2)
                                {
                                    Console.WriteLine(string.Concat("Terraria Server ", Main.versionNumber2));
                                    Console.WriteLine("");
                                    Console.Write("Max players (press enter for {0}): ", Main.maxNetPlayers);
                                    string str3 = Console.ReadLine();
                                    try
                                    {
                                        if (str3 == "")
                                        {
                                            str3 = Main.maxNetPlayers.ToString();
                                        }
                                        int num4 = Convert.ToInt32(str3);
                                        if (num4 <= 255 && num4 >= 1)
                                        {
                                            Main.maxNetPlayers = num4;
                                            flag2 = false;
                                        }
                                        flag2 = false;
                                    }
                                    catch (Exception ex)
                                    {
            #if DEBUG
                                        Console.WriteLine(ex);
                                        System.Diagnostics.Debugger.Break();

            #endif
                                    }
                                    try
                                    {
                                        Console.Clear();
                                    }
                                    catch (Exception ex)
                                    {
            #if DEBUG
                                        Console.WriteLine(ex);
                                        System.Diagnostics.Debugger.Break();

            #endif
                                    }
                                }
                                flag2 = true;
                                while (flag2)
                                {
                                    if (Netplay.ListenPort != 7777) //If the port has been changed by the API do not allow it to be changed.
                                    {
                                        flag2 = false;
                                        break;
                                    }
                                    Console.WriteLine(string.Concat("Terraria Server ", Main.versionNumber2));
                                    Console.WriteLine("");
                                    Console.Write("Server port (press enter for 7777): ");
                                    string str4 = Console.ReadLine();
                                    try
                                    {
                                        if (str4 == "")
                                        {
                                            str4 = "7777";
                                        }
                                        int num5 = Convert.ToInt32(str4);
                                        if (num5 <= 65535)
                                        {
                                            Netplay.ListenPort = num5;
                                            flag2 = false;
                                        }
                                    }
                                    catch (Exception ex)
                                    {
            #if DEBUG
                                        Console.WriteLine(ex);
                                        System.Diagnostics.Debugger.Break();

            #endif
                                    }
                                    try
                                    {
                                        Console.Clear();
                                    }
                                    catch (Exception ex)
                                    {
            #if DEBUG
                                        Console.WriteLine(ex);
                                        System.Diagnostics.Debugger.Break();

            #endif
                                    }
                                }
                                Main.ActiveWorldFileData = Main.WorldList[num3];
                                flag = false;
                                try
                                {
                                    Console.Clear();
                                }
                                catch (Exception ex)
                                {
            #if DEBUG
                                    Console.WriteLine(ex);
                                    System.Diagnostics.Debugger.Break();

            #endif
                                }
                            }
                        }
                        catch (Exception ex)
                        {
            #if DEBUG
                            Console.WriteLine(ex);
                            System.Diagnostics.Debugger.Break();

            #endif
                        }
                    }
                }
            }
            try
            {
                Console.Clear();
            }
            catch (Exception ex)
            {
            #if DEBUG
                Console.WriteLine(ex);
                System.Diagnostics.Debugger.Break();

            #endif
            }
            WorldGen.serverLoadWorld();
            Console.WriteLine(string.Concat("Terraria Server ", Main.versionNumber));
            Console.WriteLine("");
            while (!Netplay.IsServerRunning)
            {
                if (Main.oldStatusText == Main.statusText)
                {
                    continue;
                }
                Main.oldStatusText = Main.statusText;
                Console.WriteLine(Main.statusText);
            }
            try
            {
                Console.Clear();
            }
            catch (Exception ex)
            {
            #if DEBUG
                Console.WriteLine(ex);
                System.Diagnostics.Debugger.Break();

            #endif
            }
            Console.WriteLine(string.Concat("Terraria Server ", Main.versionNumber));
            Console.WriteLine("");
            Console.WriteLine(string.Concat("Listening on port ", Netplay.ListenPort));
            Console.WriteLine("Type 'help' for a list of commands.");
            Console.WriteLine("");
            Console.Title = string.Concat("Terraria Server: ", Main.worldName);

            Stopwatch stopwatch = new Stopwatch();
            if (!Main.autoShutdown)
            {
                Main.startDedInput();
            }
            ServerApi.Hooks.InvokeGamePostInitialize();
            stopwatch.Start();
            double num6 = 16.6666666666667;
            double num7 = 0;
            int num8 = 0;
            while (!Netplay.disconnect)
            {
                double elapsedMilliseconds = (double)stopwatch.ElapsedMilliseconds;
                if (elapsedMilliseconds + num7 >= num6)
                {
                    num8++;
                    num7 = num7 + (elapsedMilliseconds - num6);
                    stopwatch.Reset();
                    stopwatch.Start();
                    if (Main.oldStatusText != Main.statusText)
                    {
                        Main.oldStatusText = Main.statusText;
                        Console.WriteLine(Main.statusText);
                    }
                    if (Netplay.anyClients || ServerApi.ForceUpdate)
                    {
                        ServerApi.Hooks.InvokeGameUpdate();
                        this.Update();
                        ServerApi.Hooks.InvokeGamePostUpdate();
                    }
                    double elapsedMilliseconds1 = (double)stopwatch.ElapsedMilliseconds + num7;
                    if (elapsedMilliseconds1 < num6)
                    {
                        int num9 = (int)(num6 - elapsedMilliseconds1) - 1;
                        if (num9 > 1)
                        {
                            Thread.Sleep(num9 - 1);
                            if (!Netplay.anyClients)
                            {
                                num7 = 0;
                                Thread.Sleep(10);
                            }
                        }
                    }
                }
                Thread.Sleep(0);
            }
        }
コード例 #27
0
        internal static void OnSetDefaultsByName(NPC n, string name)
        {
            bool isSlime = false;
            n.SetDefaults(0, -1f);

            if (Handler.NpcDef.VanillaDefsByName.ContainsKey(name))
            {
                n.SetDefaults(Handler.NpcDef.VanillaDefsByName[name].NetID);
                return;
            }
            if (name == "Slimeling")
            {
                n.SetDefaults(81, 0.6f);

                n.name = name;
                n.damage = 45;
                n.defense = 10;
                n.life = 90;
                n.knockBackResist *= 1.2f;
                n.value = 100f;
                n.netID = -1;
                isSlime = true;
            }
            else if (name == "Slimer2")
            {
                n.SetDefaults(81, 0.9f);

                n.displayName = "Slimer";
                n.name = name;
                n.damage = 45;
                n.defense = 20;
                n.life = 90;
                n.knockBackResist *= 1.2f;
                n.value = 100f;
                n.netID = -2;
                isSlime = true;
            }
            else if (name == "Green Slime")
            {
                n.SetDefaults(1, 0.9f);

                n.name = name;
                n.damage = 6;
                n.defense = 0;
                n.life = 14;
                n.knockBackResist *= 1.2f;
                n.color = new Color(0, 220, 40, 100);
                n.value = 3f;
                n.netID = -3;
                isSlime = true;
            }
            else if (name == "Pinky")
            {
                n.SetDefaults(1, 0.6f);

                n.name = name;
                n.damage = 5;
                n.defense = 5;
                n.life = 150;
                n.knockBackResist *= 1.4f;
                n.color = new Color(250, 30, 90, 90);
                n.value = 10000f;
                n.netID = -4;
                isSlime = true;
                n.rarity = 1;
            }
            else if (name == "Baby Slime")
            {
                n.SetDefaults(1, 0.9f);

                n.name = name;
                n.damage = 13;
                n.defense = 4;
                n.life = 30;
                n.knockBackResist *= 0.95f;
                n.alpha = 120;
                n.color = new Color(0, 0, 0, 50);
                n.value = 10f;
                n.netID = -5;
                isSlime = true;
            }
            else if (name == "Black Slime")
            {
                n.SetDefaults(1, 1.05f);

                n.name = name;
                n.damage = 15;
                n.defense = 4;
                n.life = 45;
                n.color = new Color(0, 0, 0, 50);
                n.value = 20f;
                n.netID = -6;
                isSlime = true;
            }
            else if (name == "Purple Slime")
            {
                n.SetDefaults(1, 1.2f);

                n.name = name;
                n.damage = 12;
                n.defense = 6;
                n.life = 40;
                n.knockBackResist *= 0.9f;
                n.color = new Color(200, 0, 255, 150);
                n.value = 10f;
                n.netID = -7;
                isSlime = true;
            }
            else if (name == "Red Slime")
            {
                n.SetDefaults(1, 1.025f);

                n.name = name;
                n.damage = 12;
                n.defense = 4;
                n.life = 35;
                n.color = new Color(255, 30, 0, 100);
                n.value = 8f;
                n.netID = -8;
                isSlime = true;
            }
            else if (name == "Yellow Slime")
            {
                n.SetDefaults(1, 1.2f);

                n.name = name;
                n.damage = 15;
                n.defense = 7;
                n.life = 45;
                n.color = new Color(255, 255, 0, 100);
                n.value = 10f;
                n.netID = -9;
                isSlime = true;
            }
            else if (name == "Jungle Slime")
            {
                n.SetDefaults(1, 1.1f);

                n.name = name;
                n.damage = 18;
                n.defense = 6;
                n.life = 60;
                n.color = new Color(143, 215, 93, 100);
                n.value = 500f;
                n.netID = -10;
                isSlime = true;
            }
            else if (name == "Little Eater")
            {
                n.SetDefaults(6, 0.85f);

                n.name = name;
                n.displayName = "Eater of Souls";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -11;
            }
            else if (name == "Big Eater")
            {
                n.SetDefaults(6, 1.15f);

                n.name = name;
                n.displayName = "Eater of Souls";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -12;
            }
            else if (name == "Short Bones")
            {
                n.SetDefaults(31, 0.9f);

                n.name = name;
                n.displayName = "Angry Bones";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.netID = -13;
            }
            else if (name == "Big Boned")
            {
                n.SetDefaults(31, 1.15f);

                n.name = name;
                n.displayName = "Angry Bones";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale * 1.1);
                n.life = (int)(n.life * n.scale * 1.1);
                n.value = (int)(n.value * n.scale);
                n.npcSlots = 2f;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -14;
            }
            else if (name == "Heavy Skeleton")
            {
                n.SetDefaults(77, 1.15f);

                n.name = name;
                n.displayName = "Armored Skeleton";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale * 1.1);
                n.life = 400;
                n.value = (int)(n.value * n.scale);
                n.npcSlots = 2f;
                n.knockBackResist *= 2f - n.scale;
                n.height = 44;
                n.netID = -15;
            }
            else if (name == "Little Stinger")
            {
                n.SetDefaults(42, 0.85f);

                n.displayName = "Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -16;
            }
            else if (name == "Big Stinger")
            {
                n.SetDefaults(42, 1.2f);

                n.displayName = "Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -17;
            }
            else if (name == "Tiny Moss Hornet")
            {
                n.SetDefaults(176, 0.8f);

                n.displayName = "Moss Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -18;
            }
            else if (name == "Little Moss Hornet")
            {
                n.SetDefaults(176, 0.9f);

                n.displayName = "Moss Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -19;
            }
            else if (name == "Big Moss Hornet")
            {
                n.SetDefaults(176, 1.1f);

                n.displayName = "Moss Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -20;
            }
            else if (name == "Giant Moss Hornet")
            {
                n.SetDefaults(176, 1.2f);

                n.displayName = "Moss Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -21;
            }
            else if (name == "Little Crimera")
            {
                n.SetDefaults(173, 0.85f);

                n.displayName = "Crimera";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -22;
            }
            else if (name == "Big Crimera")
            {
                n.SetDefaults(173, 1.15f);

                n.displayName = "Crimera";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -23;
            }
            else if (name == "Little Crimslime")
            {
                n.SetDefaults(183, 0.85f);

                n.displayName = "Crimslime";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -24;
            }
            else if (name == "Big Crimslime")
            {
                n.SetDefaults(183, 1.15f);

                n.displayName = "Crimslime";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -25;
            }
            else if (name == "Small Zombie")
            {
                n.SetDefaults(3, 0.9f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -26;
            }
            else if (name == "Big Zombie")
            {
                n.SetDefaults(3, 1.1f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -27;
            }
            else if (name == "Small Bald Zombie")
            {
                n.SetDefaults(132, 0.85f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -28;
            }
            else if (name == "Big Bald Zombie")
            {
                n.SetDefaults(132, 1.15f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -29;
            }
            else if (name == "Small Pincushion Zombie")
            {
                n.SetDefaults(186, 0.93f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -30;
            }
            else if (name == "Big Pincushion Zombie")
            {
                n.SetDefaults(186, 1.13f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -31;
            }
            else if (name == "Small Slimed Zombie")
            {
                n.SetDefaults(187, 0.89f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -32;
            }
            else if (name == "Big Slimed Zombie")
            {
                n.SetDefaults(187, 1.11f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -33;
            }
            else if (name == "Small Swamp Zombie")
            {
                n.SetDefaults(188, 0.87f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -34;
            }
            else if (name == "Big Swamp Zombie")
            {
                n.SetDefaults(188, 1.13f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -35;
            }
            else if (name == "Small Twiggy Zombie")
            {
                n.SetDefaults(189, 0.92f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -36;
            }
            else if (name == "Big Twiggy Zombie")
            {
                n.SetDefaults(189, 1.08f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -37;
            }
            else if (name == "Cataract Eye 2")
            {
                n.SetDefaults(190, 1.15f);

                n.name = name;
                n.displayName = "Demon Eye";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -38;
            }
            else if (name == "Sleepy Eye 2")
            {
                n.SetDefaults(191, 1.1f);

                n.name = name;
                n.displayName = "Demon Eye";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -39;
            }
            else if (name == "Dialated Eye 2")
            {
                n.SetDefaults(192, 0.9f);

                n.name = name;
                n.displayName = "Demon Eye";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -40;
            }
            else if (name == "Green Eye 2")
            {
                n.SetDefaults(193, 0.85f);

                n.name = name;
                n.displayName = "Demon Eye";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -41;
            }
            else if (name == "Purple Eye 2")
            {
                n.SetDefaults(194, 1.1f);

                n.name = name;
                n.displayName = "Demon Eye";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -42;
            }
            else if (name == "Demon Eye 2")
            {
                n.SetDefaults(2, 1.15f);

                n.name = name;
                n.displayName = "Demon Eye";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -43;
            }
            else if (name == "Small Female Zombie")
            {
                n.SetDefaults(200, 0.87f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -44;
            }
            else if (name == "Big Female Zombie")
            {
                n.SetDefaults(200, 1.05f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -45;
            }
            else if (name == "Small Skeleton")
            {
                n.SetDefaults(21, 0.9f);

                n.name = name;
                n.displayName = "Skeleton";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -46;
            }
            else if (name == "Big Skeleton")
            {
                n.SetDefaults(21, 1.1f);

                n.name = name;
                n.displayName = "Skeleton";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -47;
            }
            else if (name == "Small Headache Skeleton")
            {
                n.SetDefaults(201, 0.93f);

                n.name = name;
                n.displayName = "Skeleton";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -48;
            }
            else if (name == "Big Headache Skeleton")
            {
                n.SetDefaults(201, 1.07f);

                n.name = name;
                n.displayName = "Skeleton";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -49;
            }
            else if (name == "Small Misassembled Skeleton")
            {
                n.SetDefaults(202, 0.87f);

                n.name = name;
                n.displayName = "Skeleton";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -50;
            }
            else if (name == "Big Misassembled Skeleton")
            {
                n.SetDefaults(202, 1.13f);

                n.name = name;
                n.displayName = "Skeleton";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -51;
            }
            else if (name == "Small Pantless Skeleton")
            {
                n.SetDefaults(203, 0.85f);

                n.name = name;
                n.displayName = "Skeleton";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -52;
            }
            else if (name == "Big Pantless Skeleton")
            {
                n.SetDefaults(203, 1.15f);

                n.name = name;
                n.displayName = "Skeleton";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -53;
            }
            else if (name == "Small Rain Zombie")
            {
                n.SetDefaults(223, 0.9f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -54;
            }
            else if (name == "Big Rain Zombie")
            {
                n.SetDefaults(223, 1.1f);

                n.name = name;
                n.displayName = "Zombie";
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -55;
            }
            else if (name == "Little Hornet Fatty")
            {
                n.SetDefaults(231, 0.85f);

                n.displayName = "Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -56;
            }
            else if (name == "Big Hornet Fatty")
            {
                n.SetDefaults(231, 1.25f);

                n.displayName = "Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -57;
            }
            else if (name == "Little Hornet Honey")
            {
                n.SetDefaults(232, 0.8f);

                n.displayName = "Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -58;
            }
            else if (name == "Big Hornet Honey")
            {
                n.SetDefaults(232, 1.15f);

                n.displayName = "Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -59;
            }
            else if (name == "Little Hornet Leafy")
            {
                n.SetDefaults(233, 0.92f);

                n.displayName = "Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -60;
            }
            else if (name == "Big Hornet Leafy")
            {
                n.SetDefaults(233, 1.1f);

                n.displayName = "Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -61;
            }
            else if (name == "Little Hornet Spikey")
            {
                n.SetDefaults(234, 0.78f);

                n.displayName = "Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -62;
            }
            else if (name == "Big Hornet Spikey")
            {
                n.SetDefaults(234, 1.16f);

                n.displayName = "Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -63;
            }
            else if (name == "Little Hornet Stingy")
            {
                n.SetDefaults(235, 0.87f);

                n.displayName = "Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -64;
            }
            else if (name == "Big Hornet Stingy")
            {
                n.SetDefaults(235, 1.21f);

                n.displayName = "Hornet";
                n.name = name;
                n.defense = (int)(n.defense * n.scale);
                n.damage = (int)(n.damage * n.scale);
                n.life = (int)(n.life * n.scale);
                n.value = (int)(n.value * n.scale);
                n.npcSlots *= n.scale;
                n.knockBackResist *= 2f - n.scale;
                n.netID = -65;
            }
            else if (name != String.Empty)
            {
                for (int i = 1; i < NPCID.Count; i++)
                    if (Main.npcName[i] == name)
                    {
                        n.SetDefaults(i);
                        return;
                    }

                n.SetDefaults(0, -1f);
                n.active = false;
            }

            if (n.type == 0)
                n.active = false;

            n.displayName = Lang.npcName(n.netID, false);
            n.lifeMax = n.life;
            n.defDamage = n.damage;
            n.defDefense = n.defense;

            if (Main.expertMode && isSlime)
                n.scaleStats();
        }
コード例 #28
0
ファイル: Player.cs プロジェクト: EmuDevs/EDTerraria
 public void OpenBossBag(int type)
 {
     if (type == 3318)
     {
         if (Main.rand.Next(2) == 0)
             this.QuickSpawnItem(2430, 1);
         if (Main.rand.Next(7) == 0)
             this.QuickSpawnItem(2493, 1);
         int num1 = Main.rand.Next(256, 259);
         int num2 = Main.rand.Next(256, 259);
         while (num2 == num1)
             num2 = Main.rand.Next(256, 259);
         this.QuickSpawnItem(num1, 1);
         this.QuickSpawnItem(num2, 1);
         if (Main.rand.Next(2) == 0)
             this.QuickSpawnItem(2610, 1);
         else
             this.QuickSpawnItem(2585, 1);
         this.QuickSpawnItem(998, 1);
         this.QuickSpawnItem(3090, 1);
     }
     else if (type == 3319)
     {
         if (Main.rand.Next(7) == 0)
             this.QuickSpawnItem(2112, 1);
         if (Main.rand.Next(30) == 0)
             this.QuickSpawnItem(1299, 1);
         if (WorldGen.crimson)
         {
             this.QuickSpawnItem(880, Main.rand.Next(20) + 10 + (Main.rand.Next(20) + 10) + (Main.rand.Next(20) + 10));
             this.QuickSpawnItem(2171, Main.rand.Next(3) + 1);
         }
         else
         {
             this.QuickSpawnItem(56, Main.rand.Next(20) + 10 + (Main.rand.Next(20) + 10) + (Main.rand.Next(20) + 10));
             this.QuickSpawnItem(59, Main.rand.Next(3) + 1);
             this.QuickSpawnItem(47, Main.rand.Next(30) + 20);
         }
         this.QuickSpawnItem(3097, 1);
     }
     else if (type == 3320)
     {
         this.QuickSpawnItem(56, Main.rand.Next(15, 30) + Main.rand.Next(15, 31));
         this.QuickSpawnItem(86, Main.rand.Next(10, 20));
         if (Main.rand.Next(20) == 0)
             this.QuickSpawnItem(994, 1);
         if (Main.rand.Next(7) == 0)
             this.QuickSpawnItem(2111, 1);
         this.QuickSpawnItem(3224, 1);
     }
     else if (type == 3321)
     {
         this.QuickSpawnItem(880, Main.rand.Next(20, 46) + Main.rand.Next(20, 46));
         this.QuickSpawnItem(1329, Main.rand.Next(10, 20));
         if (Main.rand.Next(7) == 0)
             this.QuickSpawnItem(2104, 1);
         if (Main.rand.Next(20) == 0)
             this.QuickSpawnItem(3060, 1);
         this.QuickSpawnItem(3223, 1);
     }
     else if (type == 3322)
     {
         if (Main.rand.Next(7) == 0)
             this.QuickSpawnItem(2108, 1);
         int num = Main.rand.Next(3);
         switch (num)
         {
             case 0:
                 num = 1121;
                 break;
             case 1:
                 num = 1123;
                 break;
             case 2:
                 num = 2888;
                 break;
         }
         this.QuickSpawnItem(num, 1);
         this.QuickSpawnItem(3333, 1);
         if (Main.rand.Next(3) == 0)
             this.QuickSpawnItem(1132, 1);
         if (Main.rand.Next(9) == 0)
             this.QuickSpawnItem(1170, 1);
         if (Main.rand.Next(9) == 0)
             this.QuickSpawnItem(2502, 1);
         this.QuickSpawnItem(1129, 1);
         this.QuickSpawnItem(Main.rand.Next(842, 845), 1);
         this.QuickSpawnItem(1130, Main.rand.Next(10, 30));
         this.QuickSpawnItem(2431, Main.rand.Next(17, 30));
     }
     else if (type == 3323)
     {
         this.QuickSpawnItem(3245, 1);
         switch (Main.rand.Next(3))
         {
             case 0:
                 this.QuickSpawnItem(1281, 1);
                 break;
             case 1:
                 this.QuickSpawnItem(1273, 1);
                 break;
             default:
                 this.QuickSpawnItem(1313, 1);
                 break;
         }
     }
     else if (type == 3324)
     {
         if (Main.rand.Next(7) == 0)
             this.QuickSpawnItem(2105, 1);
         this.QuickSpawnItem(367, 1);
         if (!this.extraAccessory)
             this.QuickSpawnItem(3335, 1);
         int num = Main.rand.Next(4);
         this.QuickSpawnItem(num != 3 ? 489 + num : 2998, 1);
         switch (Main.rand.Next(3))
         {
             case 0:
                 this.QuickSpawnItem(514, 1);
                 break;
             case 1:
                 this.QuickSpawnItem(426, 1);
                 break;
             case 2:
                 this.QuickSpawnItem(434, 1);
                 break;
         }
     }
     else if (type == 3325)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
             this.QuickSpawnItem(2113, 1);
         this.QuickSpawnItem(548, Main.rand.Next(25, 41));
         this.QuickSpawnItem(1225, Main.rand.Next(20, 36));
         this.QuickSpawnItem(3355, 1);
     }
     else if (type == 3326)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
             this.QuickSpawnItem(2106, 1);
         this.QuickSpawnItem(549, Main.rand.Next(25, 41));
         this.QuickSpawnItem(1225, Main.rand.Next(20, 36));
         this.QuickSpawnItem(3354, 1);
     }
     else if (type == 3327)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
             this.QuickSpawnItem(2107, 1);
         this.QuickSpawnItem(547, Main.rand.Next(25, 41));
         this.QuickSpawnItem(1225, Main.rand.Next(20, 36));
         this.QuickSpawnItem(3356, 1);
     }
     else if (type == 3328)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
             this.QuickSpawnItem(2109, 1);
         this.QuickSpawnItem(1141, 1);
         this.QuickSpawnItem(3336, 1);
         if (Main.rand.Next(15) == 0)
             this.QuickSpawnItem(1182, 1);
         if (Main.rand.Next(20) == 0)
             this.QuickSpawnItem(1305, 1);
         if (Main.rand.Next(2) == 0)
             this.QuickSpawnItem(1157, 1);
         if (Main.rand.Next(10) == 0)
             this.QuickSpawnItem(3021, 1);
         switch (Main.rand.Next(6))
         {
             case 0:
                 this.QuickSpawnItem(758, 1);
                 this.QuickSpawnItem(771, Main.rand.Next(50, 150));
                 break;
             case 1:
                 this.QuickSpawnItem(1255, 1);
                 break;
             case 2:
                 this.QuickSpawnItem(788, 1);
                 break;
             case 3:
                 this.QuickSpawnItem(1178, 1);
                 break;
             case 4:
                 this.QuickSpawnItem(1259, 1);
                 break;
             case 5:
                 this.QuickSpawnItem(1155, 1);
                 break;
         }
     }
     else if (type == 3329)
     {
         this.TryGettingDevArmor();
         this.QuickSpawnItem(3337, 1);
         if (Main.rand.Next(7) == 0)
             this.QuickSpawnItem(2110, 1);
         switch (Main.rand.Next(8))
         {
             case 0:
                 this.QuickSpawnItem(1258, 1);
                 this.QuickSpawnItem(1261, Main.rand.Next(60, 100));
                 break;
             case 1:
                 this.QuickSpawnItem(1122, 1);
                 break;
             case 2:
                 this.QuickSpawnItem(899, 1);
                 break;
             case 3:
                 this.QuickSpawnItem(1248, 1);
                 break;
             case 4:
                 this.QuickSpawnItem(1294, 1);
                 break;
             case 5:
                 this.QuickSpawnItem(1295, 1);
                 break;
             case 6:
                 this.QuickSpawnItem(1296, 1);
                 break;
             case 7:
                 this.QuickSpawnItem(1297, 1);
                 break;
         }
         this.QuickSpawnItem(2218, Main.rand.Next(18, 24));
     }
     else if (type == 3330)
     {
         this.TryGettingDevArmor();
         this.QuickSpawnItem(3367, 1);
         if (Main.rand.Next(7) == 0)
             this.QuickSpawnItem(2588, 1);
         if (Main.rand.Next(10) == 0)
             this.QuickSpawnItem(2609, 1);
         switch (Main.rand.Next(5))
         {
             case 0:
                 this.QuickSpawnItem(2611, 1);
                 break;
             case 1:
                 this.QuickSpawnItem(2624, 1);
                 break;
             case 2:
                 this.QuickSpawnItem(2622, 1);
                 break;
             case 3:
                 this.QuickSpawnItem(2621, 1);
                 break;
             case 4:
                 this.QuickSpawnItem(2623, 1);
                 break;
         }
     }
     else if (type == 3331)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
             this.QuickSpawnItem(3372, 1);
     }
     else if (type == 3332)
     {
         this.TryGettingDevArmor();
         if (Main.rand.Next(7) == 0)
             this.QuickSpawnItem(3373, 1);
         if (!this.HasItem(3384))
             this.QuickSpawnItem(3384, 1);
         this.QuickSpawnItem(3460, Main.rand.Next(90, 111));
         this.QuickSpawnItem(1131, 1);
         this.QuickSpawnItem(3577, 1);
         this.QuickSpawnItem(Utils.SelectRandom<int>(Main.rand, 3063, 3389, 3065, 1553, 3546, 3541, 3570, 3571, 3569), 1);
     }
     int Type = -1;
     if (type == 3318)
         Type = 50;
     if (type == 3319)
         Type = 4;
     if (type == 3320)
         Type = 13;
     if (type == 3321)
         Type = 266;
     if (type == 3322)
         Type = 222;
     if (type == 3323)
         Type = 35;
     if (type == 3324)
         Type = 113;
     if (type == 3325)
         Type = 134;
     if (type == 3326)
         Type = 125;
     if (type == 3327)
         Type = (int)sbyte.MaxValue;
     if (type == 3328)
         Type = 262;
     if (type == 3329)
         Type = 245;
     if (type == 3330)
         Type = 370;
     if (type == 3331)
         Type = 439;
     if (type == 3332)
         Type = 398;
     if (Type <= 0)
         return;
     NPC npc = new NPC();
     npc.SetDefaults(Type, -1f);
     float num3 = npc.value * (float)(1.0 + (double)Main.rand.Next(-20, 21) * 0.00999999977648258);
     if (Main.rand.Next(5) == 0)
         num3 *= (float)(1.0 + (double)Main.rand.Next(5, 11) * 0.00999999977648258);
     if (Main.rand.Next(10) == 0)
         num3 *= (float)(1.0 + (double)Main.rand.Next(10, 21) * 0.00999999977648258);
     if (Main.rand.Next(15) == 0)
         num3 *= (float)(1.0 + (double)Main.rand.Next(15, 31) * 0.00999999977648258);
     if (Main.rand.Next(20) == 0)
         num3 *= (float)(1.0 + (double)Main.rand.Next(20, 41) * 0.00999999977648258);
     while ((int)num3 > 0)
     {
         if ((double)num3 > 1000000.0)
         {
             int stack = (int)((double)num3 / 1000000.0);
             num3 -= (float)(1000000 * stack);
             this.QuickSpawnItem(74, stack);
         }
         else if ((double)num3 > 10000.0)
         {
             int stack = (int)((double)num3 / 10000.0);
             num3 -= (float)(10000 * stack);
             this.QuickSpawnItem(73, stack);
         }
         else if ((double)num3 > 100.0)
         {
             int stack = (int)((double)num3 / 100.0);
             num3 -= (float)(100 * stack);
             this.QuickSpawnItem(72, stack);
         }
         else
         {
             int stack = (int)num3;
             if (stack < 1)
                 stack = 1;
             num3 -= (float)stack;
             this.QuickSpawnItem(71, stack);
         }
     }
 }