mirror of
https://github.com/barelyprofessional/KfChatDotNet.git
synced 2026-05-02 04:22:04 -04:00
Updated planes
This commit is contained in:
@@ -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++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
if (plane.Crashed) output += PlaneExplosion;
|
||||||
|
else
|
||||||
|
switch (noseUp)
|
||||||
|
{
|
||||||
|
case true:
|
||||||
|
output += PlaneUp;
|
||||||
|
break;
|
||||||
|
case false:
|
||||||
output += PlaneDown;
|
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
|
||||||
{
|
{
|
||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user