Affixes and Equipment (#2)

* Update Equipment.cs

Added LVL and EXP params while adding some equipment

* Update Equipment.cs

changed params to the appropriate type and removed casting

* Update Equipment.cs

Removed unnecessary changes.

* Update RefineStigmataRuneReqHandler.cs

Simplified rolling

* Update GiveCommand.cs

Changed Default behavior of Equipment commands to grant only the max star level versions. Default's to max level as well.

* Update GiveCommand.cs

Added more command aliases,
> valks, valkyries, weap, wep,
> weapons-all, weap-all, wep-all, stigmata-all, stigs-all

added Avatar ID `316` to the blocked IDs list to prevent buggy behavior.

(might add `avatars-all` to get them back)

give weap/stigs 0 grants max level items
without the `-all` equipment only gives the highest rarity of each weapon.

* Update RefineStigmataRuneReqHandler.cs

Affixes are now 90% functional

* Update SelectNewStigmataRuneReqHandler.cs

Should work for any further affix handling changes without needing modifications (might break on 10x but shouldn't)

* Update AvatarCommand.cs

Blocked Sus-Nya

* Update AvatarCommand.cs

bitwise -> logical OR

* Update GiveCommand.cs

bitwise -> logical OR

* Update RefineStigmataRuneReqHandler.cs

bitwise -> logical AND

* Created Personal Abyss Command

* Created abyss command

* Update User.cs

Stores personal Abyss Temperature

* Update UltraEndlessGetMainDataReqHandler.cs

Uses personal Abyss Temp
This commit is contained in:
TerminalAide0017
2023-06-06 16:47:08 -07:00
committed by GitHub
parent d479abd58c
commit f95f370a48
8 changed files with 206 additions and 44 deletions

View File

@@ -0,0 +1,34 @@
using Common.Database;
using Common.Resources.Proto;
using Common.Utils.ExcelReader;
using PemukulPaku.GameServer.Game;
namespace PemukulPaku.GameServer.Commands
{
[CommandHandler("abyss", "", CommandType.Player)]
internal class AbyssCommand : Command
{
public override void Run(Session session, string[] args)
{
Run(session.Player, args);
//session.ProcessPacket(Packet.FromProto(new UltraEndlessGetMainDataReq() { }, CmdId.UltraEndlessGetMainDataReq));
}
public override void Run(Player player, string[] args)
{
string action = args[0];
uint value = args[1] is not null ? uint.Parse(args[1]) : 0;
switch (action)
{
case "temp":
player.User.AbyssDynamicHard = value;
break;
default:
throw new ArgumentException("Unrecognized action");
}
player.User.Save();
}
}
}

View File

@@ -69,7 +69,7 @@ namespace PemukulPaku.GameServer.Commands
{
foreach (AvatarDataExcel avatarData in AvatarData.GetInstance().All)
{
if (avatarData.AvatarId >= 9000) continue; // Avoid APHO avatars
if (avatarData.AvatarId >= 9000 || avatarData.AvatarId == 316 ) continue; // Avoid APHO avatars
avatar = Common.Database.Avatar.Create(avatarData.AvatarId, player.User.Uid, player.Equipment);
player.AvatarList = player.AvatarList.Append(avatar).ToArray();

View File

@@ -1,4 +1,4 @@
using Common.Database;
using Common.Database;
using Common.Resources.Proto;
using Common.Utils.ExcelReader;
using PemukulPaku.GameServer.Game;
@@ -19,37 +19,61 @@ namespace PemukulPaku.GameServer.Commands
public override void Run(Player player, string[] args)
{
string action = args[0];
uint value = uint.Parse(args[1]);
if (value == 0)
value = 1;
uint value = args[1] is not null ? uint.Parse(args[1]):0;
switch (action)
{
case "avatars":
case "characters":
case "chars":
case "valks":
case "valkyries":
foreach (AvatarDataExcel avatarData in AvatarData.GetInstance().All)
{
if (avatarData.AvatarId >= 9000) continue; // Avoid APHO avatars
if (avatarData.AvatarId >= 9000 || avatarData.AvatarId == 316) continue; // Avoid APHO avatars
AvatarScheme avatar = Common.Database.Avatar.Create(avatarData.AvatarId, player.User.Uid, player.Equipment);
player.AvatarList = player.AvatarList.Append(avatar).ToArray();
}
break;
case "weapons":
case "weap":
case "wep":
foreach (WeaponDataExcel weaponData in WeaponData.GetInstance().All)
{
if (weaponData.EvoId == 0)
{
Weapon weapon = player.Equipment.AddWeapon(weaponData.Id);
weapon.Level = value == 0 ? (uint)weaponData.MaxLv : value;
}
}
break;
case "weapons-all":
case "weap-all":
case "wep-all":
foreach (WeaponDataExcel weaponData in WeaponData.GetInstance().All)
{
Weapon weapon = player.Equipment.AddWeapon(weaponData.Id);
weapon.Level = value;
weapon.Level = value == 0 ? (uint)weaponData.MaxLv : value;
}
break;
case "stigmata":
case "stigs":
foreach (StigmataDataExcel stigmataData in StigmataData.GetInstance().All)
{
if (stigmataData.EvoId == 0)
{
Stigmata stigmata = player.Equipment.AddStigmata(stigmataData.Id);
stigmata.Level = value == 0 ? (uint)stigmataData.MaxLv : value;
}
}
break;
case "stigmata-all":
case "stigs-all":
foreach (StigmataDataExcel stigmataData in StigmataData.GetInstance().All)
{
Stigmata stigmata = player.Equipment.AddStigmata(stigmataData.Id);
stigmata.Level = value;
stigmata.Level = value == 0 ? (uint)stigmataData.MaxLv : value;
}
break;
case "materials":