mirror of
https://github.com/ClassiCube/MCGalaxy.git
synced 2025-09-25 14:17:29 -04:00
Fix CPE messages not being reset for zombie survival, fixes #124.
This commit is contained in:
parent
16a3341282
commit
dfd65bbd77
@ -56,7 +56,7 @@ namespace MCGalaxy {
|
||||
|
||||
if (i >= red && i <= white)
|
||||
Properties[i].KilledByLava = true;
|
||||
if (i == air || i == shrub || (i >= yellowflower && i <= redmushroom) {
|
||||
if (i == air || i == shrub || (i >= yellowflower && i <= redmushroom)) {
|
||||
Properties[i].KilledByLava = true;
|
||||
Properties[i].KilledByWater = true;
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ namespace MCGalaxy
|
||||
{
|
||||
public static bool Walkthrough(byte type) {
|
||||
return type == air || type == shrub || (type >= water && type <= lavastill)
|
||||
&& (type >= yelllowflower && type <= redmushroom);
|
||||
&& (type >= yellowflower && type <= redmushroom);
|
||||
}
|
||||
|
||||
public static bool AllowBreak(byte type)
|
||||
@ -85,7 +85,7 @@ namespace MCGalaxy
|
||||
}
|
||||
|
||||
public static bool Placable(byte type) {
|
||||
return !(type == blackrock || (type >= water && type <= lavstill)
|
||||
return !(type == blackrock || (type >= water && type <= lavastill))
|
||||
&& type < Block.CpeCount;
|
||||
}
|
||||
|
||||
|
@ -87,7 +87,7 @@ namespace MCGalaxy.Games {
|
||||
Player[] players = p.Game.Infected ? Infected.Items : Alive.Items;
|
||||
string type = p.Game.Infected ? " &cto zombies%S: " : " &ato humans%S: ";
|
||||
foreach (Player pl in players)
|
||||
pl.SendMessage(p.color + p.DisplayName + type + message.Substring(1));
|
||||
pl.SendMessage(p.color + p.DisplayName + type + message.Substring(1));
|
||||
return true;
|
||||
} else if (message[0] == '`' && message.Length > 1) {
|
||||
if (p.Game.Team == null) {
|
||||
@ -122,7 +122,7 @@ namespace MCGalaxy.Games {
|
||||
}
|
||||
|
||||
public override void PlayerJoinedLevel(Player p, Level lvl, Level oldLvl) {
|
||||
p.SendCpeMessage(CpeMessageType.BottomRight2, "");
|
||||
p.SendCpeMessage(CpeMessageType.BottomRight2, "");
|
||||
p.SendCpeMessage(CpeMessageType.BottomRight1, "");
|
||||
if (RoundInProgress && lvl.name.CaselessEq(CurLevelName)) {
|
||||
if (Running && p != null) {
|
||||
@ -152,30 +152,36 @@ namespace MCGalaxy.Games {
|
||||
return;
|
||||
}
|
||||
|
||||
p.SendCpeMessage(CpeMessageType.Status1, "");
|
||||
p.SendCpeMessage(CpeMessageType.Status2, "");
|
||||
p.SendCpeMessage(CpeMessageType.Status3, "");
|
||||
ResetCpeMessages(p);
|
||||
Alive.Remove(p);
|
||||
Infected.Remove(p);
|
||||
if (oldLvl != null && oldLvl.name.CaselessEq(CurLevelName))
|
||||
UpdateAllPlayerStatus();
|
||||
}
|
||||
|
||||
|
||||
void ResetCpeMessages(Player p) {
|
||||
p.SendCpeMessage(CpeMessageType.Status1, "");
|
||||
p.SendCpeMessage(CpeMessageType.Status2, "");
|
||||
p.SendCpeMessage(CpeMessageType.Status3, "");
|
||||
p.SendCpeMessage(CpeMessageType.BottomRight1, "");
|
||||
p.SendCpeMessage(CpeMessageType.BottomRight2, "");
|
||||
}
|
||||
|
||||
public override bool PlayerCanJoinLevel(Player p, Level lvl, Level oldLvl) {
|
||||
if (!oldLvl.name.CaselessEq(CurLevelName)) return true;
|
||||
if (lvl.name.CaselessEq(CurLevelName)) return true;
|
||||
|
||||
if (RoundInProgress && !p.Game.Referee) {
|
||||
p.SendMessage("Sorry, you cannot leave a zombie survival map until the current round has ended.");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
if (!oldLvl.name.CaselessEq(CurLevelName)) return true;
|
||||
if (lvl.name.CaselessEq(CurLevelName)) return true;
|
||||
|
||||
if (RoundInProgress && !p.Game.Referee) {
|
||||
p.SendMessage("Sorry, you cannot leave a zombie survival map until the current round has ended.");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void PlayerMoneyChanged(Player p) {
|
||||
if (!Running || !p.level.name.CaselessEq(CurLevelName)) return;
|
||||
string moneyMsg = "&a" + p.money + " %S" + Server.moneys;
|
||||
string stateMsg = " and you are " + (p.Game.Infected ? "&cdead" : "&aalive");
|
||||
string moneyMsg = "&a" + p.money + " %S" + Server.moneys;
|
||||
string stateMsg = " and you are " + (p.Game.Infected ? "&cdead" : "&aalive");
|
||||
p.SendCpeMessage(CpeMessageType.Status3, moneyMsg + stateMsg);
|
||||
}
|
||||
}
|
||||
|
@ -203,11 +203,18 @@ namespace MCGalaxy.Games {
|
||||
RoundInProgress = false;
|
||||
RoundStart = DateTime.MinValue;
|
||||
RoundEnd = DateTime.MinValue;
|
||||
Player[] online = PlayerInfo.Online.Items;
|
||||
foreach (Player pl in online) {
|
||||
pl.Game.RatedMap = false;
|
||||
pl.Game.PledgeSurvive = false;
|
||||
if (pl.level == null || !pl.level.name.CaselessEq(CurLevelName))
|
||||
continue;
|
||||
ResetCpeMessages(pl);
|
||||
}
|
||||
|
||||
LastLevelName = "";
|
||||
CurLevelName = "";
|
||||
CurLevel = null;
|
||||
|
||||
Player[] online = PlayerInfo.Online.Items;
|
||||
foreach (Player pl in online) {
|
||||
pl.Game.RatedMap = false;
|
||||
pl.Game.PledgeSurvive = false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user