More give command and removed redundant error checking

This commit is contained in:
Kyle873
2023-06-01 05:30:26 -04:00
parent 35313b8787
commit 6911638544
2 changed files with 34 additions and 38 deletions

View File

@@ -32,24 +32,21 @@ namespace PemukulPaku.GameServer.Commands
switch (action) switch (action)
{ {
case "add": case "add":
if (player.Equipment is not null) if (avatarId == -1)
{ {
if (avatarId == -1) foreach (AvatarDataExcel avatarData in AvatarData.GetInstance().All)
{ {
foreach (AvatarDataExcel avatarData in AvatarData.GetInstance().All) if (avatarData.AvatarId >= 9000) continue; // Avoid APHO avatars
{
if (avatarData.AvatarId >= 9000) continue; // Avoid APHO avatars
AvatarScheme avatar = Common.Database.Avatar.Create(avatarData.AvatarId, player.User.Uid, player.Equipment); AvatarScheme avatar = Common.Database.Avatar.Create(avatarData.AvatarId, player.User.Uid, player.Equipment);
player.AvatarList = player.AvatarList.Append(avatar).ToArray();
}
}
else
{
AvatarScheme avatar = Common.Database.Avatar.Create(avatarId, player.User.Uid, player.Equipment);
player.AvatarList = player.AvatarList.Append(avatar).ToArray(); player.AvatarList = player.AvatarList.Append(avatar).ToArray();
} }
} }
else
{
AvatarScheme avatar = Common.Database.Avatar.Create(avatarId, player.User.Uid, player.Equipment);
player.AvatarList = player.AvatarList.Append(avatar).ToArray();
}
player.Equipment.Save(); player.Equipment.Save();
break; break;
default: default:

View File

@@ -1,6 +1,7 @@
using Common.Database; using Common.Database;
using Common.Resources.Proto; using Common.Resources.Proto;
using Common.Utils.ExcelReader; using Common.Utils.ExcelReader;
using MongoDB.Bson;
using PemukulPaku.GameServer.Game; using PemukulPaku.GameServer.Game;
namespace PemukulPaku.GameServer.Commands namespace PemukulPaku.GameServer.Commands
@@ -25,50 +26,48 @@ namespace PemukulPaku.GameServer.Commands
case "avatars": case "avatars":
case "characters": case "characters":
case "chars": case "chars":
if (player.Equipment is not null) foreach (AvatarDataExcel avatarData in AvatarData.GetInstance().All)
{ {
foreach (AvatarDataExcel avatarData in AvatarData.GetInstance().All) if (avatarData.AvatarId >= 9000) continue; // Avoid APHO avatars
{
if (avatarData.AvatarId >= 9000) continue; // Avoid APHO avatars
AvatarScheme avatar = Common.Database.Avatar.Create(avatarData.AvatarId, player.User.Uid, player.Equipment); AvatarScheme avatar = Common.Database.Avatar.Create(avatarData.AvatarId, player.User.Uid, player.Equipment);
player.AvatarList = player.AvatarList.Append(avatar).ToArray(); player.AvatarList = player.AvatarList.Append(avatar).ToArray();
}
} }
break; break;
case "weapons": case "weapons":
if (player.Equipment is not null) foreach (WeaponDataExcel weaponData in WeaponData.GetInstance().All)
{ {
foreach (WeaponDataExcel weaponData in WeaponData.GetInstance().All) player.Equipment.AddWeapon(weaponData.Id);
{
player.Equipment.AddWeapon(weaponData.Id);
}
} }
break; break;
case "stigmata": case "stigmata":
case "stigs": case "stigs":
if (player.Equipment is not null) foreach (StigmataDataExcel stigmataData in StigmataData.GetInstance().All)
{ {
foreach (StigmataDataExcel stigmataData in StigmataData.GetInstance().All) player.Equipment.AddStigmata(stigmataData.Id);
{
player.Equipment.AddStigmata(stigmataData.Id);
}
} }
break; break;
/*
* TODO: Needs MaterialDataExcel implementation
case "materials": case "materials":
case "matz": case "matz":
if (player.Equipment is not null) foreach (MaterialDataExcel materialData in MaterialData.GetInstance().All)
{ {
foreach (MaterialDataExcel materialData in MaterialData.GetInstance().All) player.Equipment.AddMaterial(materialData.Id, 9999999);
{
player.Equipment.AddMaterial(materialData.Id, 9999999);
}
} }
break; break;
*/ case "dress":
case "dress": // TODO: Needs DressDataExcel implementation foreach (DressDataExcel dressData in DressData.GetInstance().All)
{
foreach (int avatarId in dressData.AvatarIdList)
{
AvatarScheme? avatar = player.AvatarList.ToList().Find(av => av.AvatarId == avatarId);
if (avatar is not null)
{
avatar.DressLists = avatar.DressLists.Append((uint)dressData.DressId).ToArray();
avatar.Save();
}
}
}
break; break;
default: default:
throw new ArgumentException("Unrecognized action"); throw new ArgumentException("Unrecognized action");