mirror of
https://github.com/rafi1212122/PemukulPaku
synced 2025-12-13 17:14:35 +01:00
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:
34
GameServer/Commands/AbyssCommand.cs
Normal file
34
GameServer/Commands/AbyssCommand.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
|
||||
@@ -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":
|
||||
|
||||
Reference in New Issue
Block a user