Updated planes

This commit is contained in:
barelyprofessional
2025-10-08 22:03:11 -05:00
parent 5aba49697e
commit dd4bc1abd1

View File

@@ -264,9 +264,11 @@ public class Planes : ICommand
Window = TimeSpan.FromSeconds(30) Window = TimeSpan.FromSeconds(30)
}; };
private const string Boost = "💨";
private const string PlaneUp = "🛫"; private const string PlaneUp = "🛫";
private const string PlaneDown = "🛬"; private const string PlaneDown = "🛬";
private const string Bomb = "💣"; private const string PlaneExplosion = "🔥";
private const string Bomb = "🚀";
private const string Multi = "💎"; private const string Multi = "💎";
private const string Carrier = "⛴"; private const string Carrier = "⛴";
private const string Water = "🌊"; private const string Water = "🌊";
@@ -298,11 +300,10 @@ public class Planes : ICommand
var planesBoard = CreatePlanesBoard(gambler); var planesBoard = CreatePlanesBoard(gambler);
var planesBoard2 = CreatePlanesBoard(gambler); var planesBoard2 = CreatePlanesBoard(gambler);
var plane = new Plane(gambler); var plane = new Plane(gambler);
var counter = 0;
var frameLength = 1056.0; var frameLength = 1056.0;
var counter = 0;
var noseUp = true; var noseUp = true;
var planesDisplay = GetGameBoard(counter, planesBoard, plane, carrierCount, noseUp); var planesDisplay = GetGameBoard(-3, planesBoard, plane, carrierCount, noseUp);
var msgId = await botInstance.SendChatMessageAsync(planesDisplay, true); var msgId = await botInstance.SendChatMessageAsync(planesDisplay, true);
var num = 0; var num = 0;
while (msgId.ChatMessageId == null) while (msgId.ChatMessageId == null)
@@ -327,9 +328,10 @@ public class Planes : ICommand
{ {
while (counter % 23 < 3) while (counter % 23 < 3)
{ {
planesDisplay = GetGameBoard(counter, planesBoard, plane, carrierCount, noseUp); planesDisplay = GetGameBoard(counter%23 - 3, planesBoard, plane, carrierCount, noseUp);
await botInstance.KfClient.EditMessageAsync(msgId.ChatMessageId!.Value, planesDisplay); await botInstance.KfClient.EditMessageAsync(msgId.ChatMessageId!.Value, planesDisplay);
await Task.Delay(TimeSpan.FromMilliseconds(frameLength), ctx); await Task.Delay(TimeSpan.FromMilliseconds(frameLength), ctx);
logger.Info($"Generated preGameFrame {counter} and waited {frameLength}ms.");
counter++; counter++;
} }
@@ -390,7 +392,7 @@ public class Planes : ICommand
{ {
break; break;
} }
//maybe fuckery around here //maybe fuckery around here
} }
plane.Gravity(); plane.Gravity();
} }
@@ -407,7 +409,7 @@ public class Planes : ICommand
var newBalance = gambler.Balance - wager; var newBalance = gambler.Balance - wager;
if (((counter % 23) - 3) % carrierCount == 0) //if you landed on the carrier if (((counter % 23) - 3) % carrierCount == 0) //if you landed on the carrier
{ {
var win = plane.MultiTracker * wager; var win = plane.MultiTracker * wager - wager;
newBalance = gambler.Balance + win; newBalance = gambler.Balance + win;
await Money.NewWagerAsync(gambler.Id, wager, win, WagerGame.Planes, ct: ctx); await Money.NewWagerAsync(gambler.Id, wager, win, WagerGame.Planes, ct: ctx);
await botInstance.SendChatMessageAsync( await botInstance.SendChatMessageAsync(
@@ -416,9 +418,13 @@ public class Planes : ICommand
} }
plane.Crash(); plane.Crash();
await Money.NewWagerAsync(gambler.Id, wager, -wager, WagerGame.Planes, ct: ctx); await Money.NewWagerAsync(gambler.Id, wager, -wager, WagerGame.Planes, ct: ctx);
planesDisplay = GetGameBoard(counter, planesBoard, plane, carrierCount, noseUp);
await Task.Delay(TimeSpan.FromMilliseconds(frameLength), ctx);
await botInstance.KfClient.EditMessageAsync(msgId.ChatMessageId!.Value, planesDisplay);
await botInstance.SendChatMessageAsync($"{user.FormatUsername()}, you [color={colors[BuiltIn.Keys.KiwiFarmsRedColor].Value}]crashed![/color] Your balance is now: {await newBalance.FormatKasinoCurrencyAsync()}", true); await botInstance.SendChatMessageAsync($"{user.FormatUsername()}, you [color={colors[BuiltIn.Keys.KiwiFarmsRedColor].Value}]crashed![/color] Your balance is now: {await newBalance.FormatKasinoCurrencyAsync()}", true);
} }
private string GetGameBoard(int counter, int[,] planesBoard, Plane plane, int carrierCount, bool noseUp) private string GetGameBoard(int counter, int[,] planesBoard, Plane plane, int carrierCount, bool noseUp)
{ {
var output = ""; var output = "";
@@ -426,13 +432,23 @@ public class Planes : ICommand
{ {
for (var column = -3; column < 20; column++) //plane starts out 3 space behind to give some space to the view, for (var column = -3; column < 20; column++) //plane starts out 3 space behind to give some space to the view,
{ {
if (row == plane.Height && column == counter && noseUp) if (column == counter - 1 && plane.JustHitMulti > 0)
{ {
output += PlaneUp; output += Boost;
} }
else if (row == plane.Height && column == counter && !noseUp) else if (row == plane.Height && column == counter)
{ {
output += PlaneDown; if (plane.Crashed) output += PlaneExplosion;
else
switch (noseUp)
{
case true:
output += PlaneUp;
break;
case false:
output += PlaneDown;
break;
}
} }
else if (column < 0) //beginning columns have no multis or bombs or carriers just air and water else if (column < 0) //beginning columns have no multis or bombs or carriers just air and water
{ {
@@ -492,7 +508,7 @@ public class Planes : ICommand
} }
} }
} }
return board; return board;
} }
} }
@@ -500,8 +516,9 @@ public class Plane(GamblerDbModel gambler)
{ {
public int Height = 1; public int Height = 1;
public decimal MultiTracker = 1; public decimal MultiTracker = 1;
private int _justHitMulti = 1; public int JustHitMulti = 1;
private readonly RandomShim<StandardRng> _random = RandomShim.Create(StandardRng.Create()); private readonly RandomShim<StandardRng> _random = RandomShim.Create(StandardRng.Create());
public bool Crashed = false;
public void HitRocket() public void HitRocket()
{ {
@@ -511,9 +528,9 @@ public class Plane(GamblerDbModel gambler)
public void Gravity() public void Gravity()
{ {
if (_justHitMulti > 0) if (JustHitMulti > 0)
{ {
_justHitMulti--; JustHitMulti--;
return; return;
} }
Height++; Height++;
@@ -522,6 +539,7 @@ public class Plane(GamblerDbModel gambler)
public void Crash() public void Crash()
{ {
MultiTracker = 0; MultiTracker = 0;
Crashed = true;
} }
public void HitMulti() public void HitMulti()
@@ -537,8 +555,8 @@ public class Plane(GamblerDbModel gambler)
MultiTracker *= weightedRand; MultiTracker *= weightedRand;
} }
Height--; if (Height > 0) Height--;
_justHitMulti++; JustHitMulti++;
} }
private int WeightedRandomNumber(int min, int max) private int WeightedRandomNumber(int min, int max)