public static bool AttemptPartyWarp(Client client, PlayerWarpAction action) { if (client.Player.PartyID == null) { action(client); return(true); } else { bool warp = true; IMap sourceMap = client.Player.Map; Party party = PartyManager.FindPlayerParty(client); foreach (Client member in party.GetOnlineMemberClients()) { if (/*!member.Player.Dead &&*/ member.Player.MapID == client.Player.MapID && (member.Player.X != client.Player.X || member.Player.Y != client.Player.Y)) { warp = false; } } if (warp) { foreach (Client member in party.GetOnlineMemberClients()) { if (member.Player.Map != sourceMap) { continue; } action(member); } } else { Messenger.PlayerMsg(client, "All surviving players on the floor must be on the goal in order to continue.", Text.WhiteSmoke); } return(warp); } }
public static bool AttemptPartyWarp(Client client, PlayerWarpAction action) { if (client.Player.PartyID == null) { action(client); return true; } else { bool warp = true; IMap sourceMap = client.Player.Map; Party party = PartyManager.FindPlayerParty(client); foreach (Client member in party.GetOnlineMemberClients()) { if (/*!member.Player.Dead &&*/ member.Player.MapID == client.Player.MapID && (member.Player.X != client.Player.X || member.Player.Y != client.Player.Y)) { warp = false; } } if (warp) { foreach (Client member in party.GetOnlineMemberClients()) { if (member.Player.Map != sourceMap) continue; action(member); } } else { Messenger.PlayerMsg(client, "All surviving players on the floor must be on the goal in order to continue.", Text.WhiteSmoke); } return warp; } }