private void ConvertCoins(int id) { for (int i = 0; i < 20; i++) { if (item[i].stack != item[i].maxStack || !item[i].CanBePlacedInCoinSlot()) { continue; } item[i].SetDefaults(item[i].type + 1); for (int j = 0; j < 20; j++) { if (j != i && item[j].type == item[i].type && item[j].stack < item[j].maxStack) { if (id >= 0) { NetMessage.CreateMessage2(32, id, j); NetMessage.SendMessage(); } item[j].stack++; item[i].Init(); ConvertCoins(id); } } } }
private static void GamerLeftEventHandler(object sender, GamerLeftEventArgs e) { NetworkGamer networkGamer = e.Gamer; Player player = networkGamer.Tag as Player; if (networkGamer.IsLocal) { UI uI = Main.ui[(int)((LocalNetworkGamer)networkGamer).SignedInGamer.PlayerIndex]; if (Main.netMode == 0 && uI.wasRemovedFromSessionWithoutOurConsent) { return; } uI.LeaveSession(); } if (Main.netMode == 1) { return; } int whoAmI = player.whoAmI; player.active = 0; playerSlots[whoAmI] = false; if (Main.netMode != 2) { return; } if (networkGamer.IsLocal) { if (UI.main.isInviteOnly) { session.PrivateGamerSlots++; } } else { NetClient client = player.client; if (client.GamerLeft(player)) { clients.Remove(client); } else if (networkGamer == client.gamer) { client.gamer = client.machine.Gamers[0]; } } NetMessage.CreateMessage2(14, whoAmI, 0); NetMessage.SendMessage(); if (player.announced) { player.announced = false; NetMessage.SendText(player.oldName, 33, 255, 240, 20, -1); } }
public unsafe static bool SwitchTiles(Vector2 Position, int Width, int Height, Vector2 oldPosition) { int num = ((int)Position.X >> 4) - 1; int num2 = ((int)Position.X + Width >> 4) + 1; int num3 = ((int)Position.Y >> 4) - 1; int num4 = ((int)Position.Y + Height >> 4) + 1; if (num < 0) { num = 0; } if (num2 > Main.maxTilesX) { num2 = Main.maxTilesX; } if (num3 < 0) { num3 = 0; } if (num4 > Main.maxTilesY) { num4 = Main.maxTilesY; } fixed(Tile *ptr = Main.tile) { for (int i = num; i < num2; i++) { Tile *ptr2 = ptr + (i * 1440 + num3); int num5 = num3; while (num5 < num4) { if (ptr2->type == 135 && ptr2->active != 0) { double num6 = i * 16; double num7 = num5 * 16 + 12; if ((double)(Position.X + (float)Width) > num6 && (double)Position.X < num6 + 16.0 && (double)(Position.Y + (float)Height) > num7 && (double)Position.Y < num7 + 4.01 && (!((double)(oldPosition.X + (float)Width) > num6) || !((double)oldPosition.X < num6 + 16.0) || !((double)(oldPosition.Y + (float)Height) > num7) || !((double)oldPosition.Y < num7 + 16.01))) { WorldGen.hitSwitch(i, num5); NetMessage.CreateMessage2(59, i, num5); NetMessage.SendMessage(); return(true); } } num5++; ptr2++; } } } return(false); }
public void LootAll(Player player) { int chest = player.chest; for (int i = 0; i < 20; i++) { if (item[i].type > 0) { player.GetItem(ref item[i]); if (chest >= 0) { NetMessage.CreateMessage2(32, chest, i); NetMessage.SendMessage(); } } } }
public void QuickStack(Player player) { int chest = player.chest; for (int i = 0; i < 20; i++) { if (item[i].type <= 0 || item[i].stack >= item[i].maxStack) { continue; } for (int j = 0; j < 48; j++) { if (item[i].netID == player.inventory[j].netID) { short num = player.inventory[j].stack; if (item[i].stack + num > item[i].maxStack) { num = (short)(item[i].maxStack - item[i].stack); } Main.PlaySound(7); item[i].stack += num; player.inventory[j].stack -= num; ConvertCoins(chest); if (player.inventory[j].stack == 0) { player.inventory[j].Init(); } else if (item[i].type == 0) { item[i] = player.inventory[j]; player.inventory[j].Init(); } if (chest >= 0) { NetMessage.CreateMessage2(32, chest, i); NetMessage.SendMessage(); } } } } }
public void Deposit(Player player) { int chest = player.chest; for (int num = 40; num >= 10; num--) { if (player.inventory[num].stack > 0 && player.inventory[num].type > 0) { if (player.inventory[num].maxStack > 1) { for (int i = 0; i < 20; i++) { if (item[i].stack >= item[i].maxStack || player.inventory[num].netID != item[i].netID) { continue; } short num2 = player.inventory[num].stack; if (player.inventory[num].stack + item[i].stack > item[i].maxStack) { num2 = (short)(item[i].maxStack - item[i].stack); } player.inventory[num].stack -= num2; item[i].stack += num2; ConvertCoins(chest); Main.PlaySound(7); if (player.inventory[num].stack <= 0) { player.inventory[num].Init(); if (chest >= 0) { NetMessage.CreateMessage2(32, chest, i); NetMessage.SendMessage(); } break; } if (item[i].type == 0) { item[i] = player.inventory[num]; player.inventory[num].Init(); } if (chest >= 0) { NetMessage.CreateMessage2(32, chest, i); NetMessage.SendMessage(); } } } if (player.inventory[num].stack > 0) { for (int j = 0; j < 20; j++) { if (item[j].type == 0) { Main.PlaySound(7); item[j] = player.inventory[num]; player.inventory[num].Init(); if (chest >= 0) { NetMessage.CreateMessage2(32, chest, j); NetMessage.SendMessage(); } break; } } } } } }