mirror of
https://github.com/islehorse/HISP.git
synced 2025-04-07 13:45:42 +12:00
Fix arena starting at :59
This commit is contained in:
parent
6da0a81252
commit
91a535a2cd
3 changed files with 25 additions and 10 deletions
|
@ -399,13 +399,17 @@ namespace HISP.Game
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void StartArenas(int minutes)
|
public static void StartArenas(int Minutes)
|
||||||
{
|
{
|
||||||
foreach(Arena arena in Arenas)
|
foreach(Arena arena in Arenas)
|
||||||
{
|
{
|
||||||
if (minutes % arena.RaceEvery == 0)
|
if ((Minutes % arena.RaceEvery) == 1)
|
||||||
if(arena.Mode == "TAKINGENTRIES")
|
{
|
||||||
arena.Start();
|
if (arena.Mode == "TAKINGENTRIES")
|
||||||
|
{
|
||||||
|
arena.Start();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -144,8 +144,8 @@ namespace HISP.Server
|
||||||
// HI1 Packets are terminates by 0x00 so we have to read until we receive that terminator
|
// HI1 Packets are terminates by 0x00 so we have to read until we receive that terminator
|
||||||
|
|
||||||
if (isDisconnecting ||
|
if (isDisconnecting ||
|
||||||
ClientSocket == null ||
|
ClientSocket == null ||
|
||||||
ClientSocket.Poll(0, SelectMode.SelectRead) ||
|
e.BytesTransferred <= 0 ||
|
||||||
!ClientSocket.Connected ||
|
!ClientSocket.Connected ||
|
||||||
e.SocketError != SocketError.Success)
|
e.SocketError != SocketError.Success)
|
||||||
{
|
{
|
||||||
|
@ -154,13 +154,13 @@ namespace HISP.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
int availble = e.BytesTransferred;
|
int availble = e.BytesTransferred;
|
||||||
if (availble >= 1)
|
if (availble >= 1) // More than 1 byte transfered..
|
||||||
{
|
{
|
||||||
|
|
||||||
for (int i = 0; i < availble; i++)
|
for (int i = 0; i < availble; i++)
|
||||||
{
|
{
|
||||||
currentPacket.Add(e.Buffer[i]);
|
currentPacket.Add(e.Buffer[i]);
|
||||||
if (e.Buffer[i] == PacketBuilder.PACKET_TERMINATOR)
|
if (e.Buffer[i] == PacketBuilder.PACKET_TERMINATOR) // Read until \0...
|
||||||
{
|
{
|
||||||
parsePackets(currentPacket.ToArray());
|
parsePackets(currentPacket.ToArray());
|
||||||
currentPacket.Clear();
|
currentPacket.Clear();
|
||||||
|
@ -168,6 +168,9 @@ namespace HISP.Server
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (availble == 0)
|
||||||
|
Disconnect();
|
||||||
|
|
||||||
if (isDisconnecting || ClientSocket == null)
|
if (isDisconnecting || ClientSocket == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
@ -53,11 +53,15 @@ namespace HISP.Server
|
||||||
World.TickWorldClock();
|
World.TickWorldClock();
|
||||||
if(World.ServerTime.Minutes != lastServerTime)
|
if(World.ServerTime.Minutes != lastServerTime)
|
||||||
{
|
{
|
||||||
|
lastServerTime = World.ServerTime.Minutes;
|
||||||
|
|
||||||
|
// Start all events with this RaceEvery set.
|
||||||
Arena.StartArenas(World.ServerTime.Minutes);
|
Arena.StartArenas(World.ServerTime.Minutes);
|
||||||
|
|
||||||
|
// Decrement horse train timer
|
||||||
Database.DecHorseTrainTimeout();
|
Database.DecHorseTrainTimeout();
|
||||||
|
|
||||||
// write time to database:
|
// Write time to database:
|
||||||
Database.SetServerTime(World.ServerTime.Minutes, World.ServerTime.Days, World.ServerTime.Years);
|
Database.SetServerTime(World.ServerTime.Minutes, World.ServerTime.Days, World.ServerTime.Years);
|
||||||
|
|
||||||
// Ranch Windmill Payments
|
// Ranch Windmill Payments
|
||||||
|
@ -103,7 +107,6 @@ namespace HISP.Server
|
||||||
}
|
}
|
||||||
|
|
||||||
gameTimer.Change(gameTickSpeed, gameTickSpeed);
|
gameTimer.Change(gameTickSpeed, gameTickSpeed);
|
||||||
lastServerTime = World.ServerTime.Minutes;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -146,29 +149,34 @@ namespace HISP.Server
|
||||||
{
|
{
|
||||||
ModsRevengeEvent.StartEvent();
|
ModsRevengeEvent.StartEvent();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Isle Card Trading Game
|
// Isle Card Trading Game
|
||||||
if(totalMinutesElapsed % (60 *2) == 0)
|
if(totalMinutesElapsed % (60 *2) == 0)
|
||||||
{
|
{
|
||||||
IsleCardTrading = new IsleCardTradingGame();
|
IsleCardTrading = new IsleCardTradingGame();
|
||||||
IsleCardTrading.StartEvent();
|
IsleCardTrading.StartEvent();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Water Balloon Game
|
// Water Balloon Game
|
||||||
if(totalMinutesElapsed % (60 * 2) == 0)
|
if(totalMinutesElapsed % (60 * 2) == 0)
|
||||||
{
|
{
|
||||||
WaterBalloonEvent.StartEvent();
|
WaterBalloonEvent.StartEvent();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tack Shop Giveaway
|
// Tack Shop Giveaway
|
||||||
if(totalMinutesElapsed % ((60 * 3)+5) == 0)
|
if(totalMinutesElapsed % ((60 * 3)+5) == 0)
|
||||||
{
|
{
|
||||||
TackShopGiveawayEvent = new TackShopGiveaway();
|
TackShopGiveawayEvent = new TackShopGiveaway();
|
||||||
TackShopGiveawayEvent.StartEvent();
|
TackShopGiveawayEvent.StartEvent();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Real Time Riddle
|
// Real Time Riddle
|
||||||
if(totalMinutesElapsed % (RealTimeRiddle.LastWon ? 20 : 15) == 0)
|
if(totalMinutesElapsed % (RealTimeRiddle.LastWon ? 20 : 15) == 0)
|
||||||
{
|
{
|
||||||
RiddleEvent = RealTimeRiddle.GetRandomRiddle();
|
RiddleEvent = RealTimeRiddle.GetRandomRiddle();
|
||||||
RiddleEvent.StartEvent();
|
RiddleEvent.StartEvent();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Real Time Quiz
|
// Real Time Quiz
|
||||||
if(totalMinutesElapsed % (60 + 30) == 0)
|
if(totalMinutesElapsed % (60 + 30) == 0)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue