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; }
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); }
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(); } }
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; }
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); }
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); } }
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); } }
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; }
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; }
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; } }
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; } }
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; } }
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); } } } }
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); } }
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; }
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(); }
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; }
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"); }
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"); }
//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; }
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"); }
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); } } } }
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; } }
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(); }
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); } }
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); } }
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(); }
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); } } }