Skip to content

Commit

Permalink
v0.9.2.2a complete
Browse files Browse the repository at this point in the history
  • Loading branch information
kj@solidicon.com committed Jan 12, 2025
1 parent 6b9543c commit 84f3f4d
Show file tree
Hide file tree
Showing 30 changed files with 494 additions and 78 deletions.
3 changes: 2 additions & 1 deletion Assets/Scripts/AICombatantController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,8 @@ internal void Attack(AICombatantController closest)

// rotate towards the enemy
var direction = (closest.transform.position - transform.position).normalized;
transform.rotation = Quaternion.LookRotation(direction);
if (direction != Vector3.zero)
transform.rotation = Quaternion.LookRotation(direction);

nextAttack = GameTime.time + Random.Range(minTimeBetweenAttack, maxTimeBetweenAttack);

Expand Down
2 changes: 1 addition & 1 deletion Assets/Scripts/Arena/ArenaController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ public void End()
if (gameCamera) gameCamera.DisableFocusCamera();
if (AvailablePlayers.Count != 1)
{
Debug.Log("It ended in a draw! Reward them all!");
//Debug.Log("It ended in a draw! Reward them all!");

notifications.ShowDraw();

Expand Down
10 changes: 8 additions & 2 deletions Assets/Scripts/Dungeon/DungeonManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -825,7 +825,7 @@ public async Task RewardPlayersAsync(DungeonTier tier, Guid[] playersToBeRewarde
AddItems(rewards);
}

private void AddItems(EventItemReward[] rewards)
private async void AddItems(EventItemReward[] rewards)
{
var result = gameManager.AddItems(rewards, dungeonIndex: dungeonIndex);

Expand All @@ -838,8 +838,14 @@ private void AddItems(EventItemReward[] rewards)
gameManager.RavenBot.Announce("Victorious!! The dungeon boss was slain but did not yield any treasure.");
}

foreach (var msg in result.Messages)
for (int i = 0; i < result.Messages.Count; i++)
{
if (i > 0)
{
await Task.Delay(100);
}

string msg = result.Messages[i];
gameManager.RavenBot.Announce(msg);
}
}
Expand Down
2 changes: 1 addition & 1 deletion Assets/Scripts/Game/Combat/EnemyController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ public void Create()
x.radius = 0.5f;
x.height = 2f;
x.avoidancePriority = 50;
x.baseOffset = -0.125f;
x.baseOffset = 0;//-0.125f;
});

this.gameObject.EnsureComponent<EnemyMovementController>(x =>
Expand Down
2 changes: 1 addition & 1 deletion Assets/Scripts/Game/Drops/PlayerItemDropText.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public PlayerItemDropText(
private IReadOnlyList<string> Process(
Dictionary<string, List<string>> items,
PlayerItemDropMessageSettings settings,
int maxLength = 500)
int maxLength = 475)
{
// no need for linq here since we need to enumerate everything anyway.
//Count = items.Values.Sum(x => x.Count);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@ public override void Handle(GameManager gameManager, ItemRemoveByCategory data)
var items = player.Inventory.GetInventoryItems();
foreach (var invItem in items)
{
// do not remove equipped items when its by category as it will make player go nekkid when using send all to stash.
if (invItem.Equipped)
{
continue;
}

if (data.Exclude != null && data.Exclude.Contains(invItem.Id))
{
continue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,17 @@ public override void Handle(GameManager gameManager, PlayerTeleportMessage data)
{
gameManager.Raid.Leave(player);
}

if (player.duelHandler.InDuel)
{
player.duelHandler.Died();
}

if (player.dungeonHandler.InDungeon)
{
gameManager.Dungeons.Remove(player);
}

player.teleportHandler.Teleport(island, true);
}
}
Expand Down
9 changes: 8 additions & 1 deletion Assets/Scripts/Game/GameEventHandlers/RaidEventHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ protected async void OnStreamerRaid(GameManager gameManager, StreamRaidInfo raid
var existingPlayer = gameManager.Players.GetPlayerByUserId(user.UserId);
if (existingPlayer)
{
gameManager.RemovePlayer(existingPlayer);
continue;
//gameManager.RemovePlayer(existingPlayer);
}

var player = await gameManager.AddPlayerByCharacterIdAsync(user.CharacterId, raidInfo);
Expand All @@ -60,6 +61,12 @@ protected async void OnStreamerRaid(GameManager gameManager, StreamRaidInfo raid
}
}

if (raiders.Count == 0)
{
gameManager.RavenBot.Announce("Raid could not be started, as 0 players could be added to the raid.");
return;
}

gameManager.SaveStateFile();

if (raidWar)
Expand Down
1 change: 1 addition & 0 deletions Assets/Scripts/Game/Handlers/ArenaHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ private void Start()

internal void Interrupt()
{
if (!InArena) return;
OnLeave();
gameManager.Arena.Interrupt();
}
Expand Down
8 changes: 5 additions & 3 deletions Assets/Scripts/Game/Handlers/FerryHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,7 @@ private void RemovePlayerFromFerry(IslandController island, bool notifyPlayerOfD
player.Movement.Unlock();
}


State = PlayerFerryState.None;

player.Animations.SetCaptainState(false);
Expand All @@ -249,6 +250,8 @@ private void RemovePlayerFromFerry(IslandController island, bool notifyPlayerOfD
player.Island = targetIsland;
player.taskTarget = null;

player.playerAnimations.ResetAnimationStates();

this.ClearDestination();

var task = player.GetTask();
Expand Down Expand Up @@ -282,8 +285,7 @@ private void LateUpdate()
{
if (OnFerry && Time.frameCount % 4 == 0)
{
player.transform.localPosition = Vector3.zero;
player.transform.localRotation = Quaternion.identity;
player.transform.SetLocalPositionAndRotation(Vector3.zero, Quaternion.identity);
}
}

Expand All @@ -299,7 +301,7 @@ public void AddPlayerToFerry()
EnsureReferences();
if (!ferry) return;
player.InterruptAction();

player.playerAnimations.ResetAnimationStates();
// re-arrange players if this player should be the captain.

//var currentCaptain = ferry.Captain;
Expand Down
12 changes: 6 additions & 6 deletions Assets/Scripts/Game/Handlers/RaidHandler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,11 @@ public void OnLeave(bool raidWon, bool raidTimedOut)

player.taskTarget = null;

if (previousTask != TaskType.None)
{
this.player.SetTask(previousTask, previousTaskArgument, true);
}

if (wasResting)
{
player.GameManager.Onsen.Join(player);
Expand All @@ -270,17 +275,12 @@ public void OnLeave(bool raidWon, bool raidTimedOut)
ferryState.HasReturned = true;
}

if (previousTask != TaskType.None)
{
this.player.SetTask(previousTask, previousTaskArgument, true);
}

if (ferryState.State == PlayerFerryState.Embarking)
{
// if we were embarking, make sure we do that again.
player.ferryHandler.Embark(ferryState.Destination);
}
else if (!ferryState.OnFerry)
else if (!ferryState.OnFerry && !wasResting)
{
var currentTask = player.GetTask();
if (currentTask != TaskType.None)
Expand Down
21 changes: 20 additions & 1 deletion Assets/Scripts/Game/Managers/GameManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
using Newtonsoft.Json;
using System.Threading;
using System.Runtime.CompilerServices;
using UnityEngine.UIElements;

public class GameManager : MonoBehaviour, IGameManager
{
Expand Down Expand Up @@ -185,7 +186,7 @@ private readonly ConcurrentDictionary<string, LoadingState> loadingStates
AutoRestCost = 500,
AutoJoinDungeonCost = 5000,
AutoJoinRaidCost = 3000,

};
public SessionSettings SessionSettings
{
Expand Down Expand Up @@ -1298,7 +1299,11 @@ public async Task SpawnBotPlayer()
var playerInfo = await GenerateBotInfoAsync();
var player = await Players.JoinAsync(null, playerInfo, RavenBot.ActiveClient, false, true, null);
if (player)
{
player.AddResource(Resource.Currency, 100000000);
player.EquipBestItems();
player.onsenHandler.SetAutoRest(0, 5);
}
++spawnedBots;
}

Expand Down Expand Up @@ -1884,6 +1889,20 @@ private void OnGUI()
dungeonManager.ToggleDungeon();
}

if (Arena.Activated)
{
if (GUI.Button(GetButtonRect(buttonIndex++), "Bots Join Arena"))
{
var bots = Players.GetAllBots();
foreach (var b in bots)
{
Arena.Join(b);
}

dungeonManager.ToggleDungeon();
}
}

if (dungeonManager.Active)
{
if (GUI.Button(GetButtonRect(buttonIndex++), "Advance to next room"))
Expand Down
12 changes: 9 additions & 3 deletions Assets/Scripts/Game/Managers/RaidManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -423,7 +423,7 @@ public async Task RewardPlayersAsync(Guid[] playersToBeRewarded, int retryCount
AddItems(rewards);
}

private void AddItems(EventItemReward[] rewards)
private async void AddItems(EventItemReward[] rewards)
{
var result = gameManager.AddItems(rewards, raidIndex: raidIndex);
if (result.Count > 0)
Expand All @@ -435,9 +435,15 @@ private void AddItems(EventItemReward[] rewards)
gameManager.RavenBot.Announce("Victorious!! The raid boss was slain but did not yield any treasure.");
}

foreach (var itemDrop in result.Messages)
for (int i = 0; i < result.Messages.Count; i++)
{
gameManager.RavenBot.Announce(itemDrop);
if (i > 0)
{
await Task.Delay(100);
}

string msg = result.Messages[i];
gameManager.RavenBot.Announce(msg);
}
}

Expand Down
Loading

0 comments on commit 84f3f4d

Please sign in to comment.