mirror of
https://github.com/MikuLeaks/KianaBH3.git
synced 2025-12-12 21:04:41 +01:00
feat: add elf handler
This commit is contained in:
@@ -5,26 +5,25 @@ namespace KianaBH.Data.Excel;
|
||||
[ResourceEntity("Elf_AstraMate_Data.json")]
|
||||
public class ElfAstraMateDataExcel : ExcelResource
|
||||
{
|
||||
public uint ElfID { get; set; }
|
||||
public uint MaxLevel { get; set; }
|
||||
public uint MaxRarity { get; set; }
|
||||
public int ElfID { get; set; }
|
||||
public int MaxLevel { get; set; }
|
||||
public int MaxRarity { get; set; }
|
||||
|
||||
[JsonIgnore] public List<ElfSkillDataExcel> SkillList = [];
|
||||
|
||||
public override int GetId()
|
||||
{
|
||||
return (int)ElfID;
|
||||
return ElfID;
|
||||
}
|
||||
|
||||
public override void Loaded()
|
||||
{
|
||||
GameData.ElfAstraMateData.Add(GetId(), this);
|
||||
GameData.ElfAstraMateData.Add(ElfID, this);
|
||||
}
|
||||
|
||||
public override void AfterAllDone()
|
||||
{
|
||||
GameData.ElfSkillData.TryGetValue(GetId(), out var Skills);
|
||||
if (Skills == null || !Skills.ElfIds.Contains(ElfID)) return;
|
||||
SkillList.Add(Skills);
|
||||
SkillList.AddRange(GameData.ElfSkillData.Values
|
||||
.Where(skill => skill.ElfIDList.Contains(ElfID)));
|
||||
}
|
||||
}
|
||||
@@ -3,12 +3,12 @@
|
||||
[ResourceEntity("ElfSkillData.json")]
|
||||
public class ElfSkillDataExcel : ExcelResource
|
||||
{
|
||||
public uint ElfSkillID { get; set; }
|
||||
public uint MaxLv { get; set; }
|
||||
public List<uint> ElfIds { get; set; } = [];
|
||||
public int ElfSkillID { get; set; }
|
||||
public int MaxLv { get; set; }
|
||||
public List<int> ElfIDList { get; set; } = [];
|
||||
public override int GetId()
|
||||
{
|
||||
return (int)ElfSkillID;
|
||||
return ElfSkillID;
|
||||
}
|
||||
|
||||
public override void Loaded()
|
||||
|
||||
61
Common/Database/Elfs/ElfData.cs
Normal file
61
Common/Database/Elfs/ElfData.cs
Normal file
@@ -0,0 +1,61 @@
|
||||
using KianaBH.Data;
|
||||
using KianaBH.Proto;
|
||||
using SqlSugar;
|
||||
|
||||
namespace KianaBH.Database.Elfs;
|
||||
|
||||
[SugarTable("ElfsData")]
|
||||
public class ElfsData : BaseDatabaseDataHelper
|
||||
{
|
||||
[SugarColumn(IsJson = true)] public List<ElfData> Elfs { get; set; } = [];
|
||||
[SugarColumn(IsJson = true)] public List<ElfFragment> ElfsFragment { get; set; } = [];
|
||||
}
|
||||
|
||||
public class ElfData
|
||||
{
|
||||
public int ElfId { get; set; }
|
||||
public int Level { get; set; }
|
||||
public int Star { get; set; }
|
||||
public int Exp { get; set; }
|
||||
public List<int> EquipTalentIdList { get; set; } = [];
|
||||
public List<Skill> SkillList { get; set; } = [];
|
||||
public int CompensateLevel { get; set; }
|
||||
public int TotalCompensateExp { get; set; }
|
||||
public long Timestamp { get; set; }
|
||||
|
||||
public Elf ToProto()
|
||||
{
|
||||
return new Elf
|
||||
{
|
||||
ElfId = (uint)ElfId,
|
||||
Star = (uint)Star,
|
||||
Level = (uint)Level,
|
||||
Exp = (uint)Exp,
|
||||
EquipTalentIdList = { EquipTalentIdList.Select(id => (uint)id) },
|
||||
CompensateLevel = (uint)CompensateLevel,
|
||||
TotalCompensateExp = (uint)TotalCompensateExp,
|
||||
SkillList =
|
||||
{
|
||||
SkillList.Select(x => new ElfSkill
|
||||
{
|
||||
SkillId = (uint)x.SkillId,
|
||||
SkillLevel = (uint)x.SkillLevel,
|
||||
})
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public class ElfFragment
|
||||
{
|
||||
public int ElfId { get; set; }
|
||||
public int FragmentNum { get; set; }
|
||||
}
|
||||
|
||||
public class Skill
|
||||
{
|
||||
public int SkillId { get; set; }
|
||||
public int SkillLevel { get; set; }
|
||||
}
|
||||
@@ -42,6 +42,7 @@ public class WordTextEN
|
||||
public string Weapon => "Weapon";
|
||||
public string Banner => "Gacha";
|
||||
public string Activity => "Activity";
|
||||
public string Elf => "Elf";
|
||||
|
||||
// server info
|
||||
public string Config => "Config File";
|
||||
@@ -78,6 +79,7 @@ public class CommandTextEN
|
||||
public HelpTextEN Help { get; } = new();
|
||||
public ValkTextEN Valk { get; } = new();
|
||||
public GiveAllTextEN GiveAll { get; } = new();
|
||||
public ElfTextEN Elf { get; } = new();
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -211,6 +213,26 @@ public class GiveAllTextEN
|
||||
public string GiveAllItems => "Granted all {0}";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// path: Game.Command.Elf
|
||||
/// </summary>
|
||||
public class ElfTextEN
|
||||
{
|
||||
public string Desc => "Set attributes for owned elfs\n" +
|
||||
"Note: -1 means all owned elfs\n";
|
||||
|
||||
public string Usage =>
|
||||
"Usage: /elf add [ElfID/-1] l<Level> s<Star>\n\n";
|
||||
|
||||
public string ElfNotFound => "Elf does not exist!";
|
||||
public string ElfAddedAll => "Granted all Elfs to player!";
|
||||
public string ElfAdded => "Granted Elf {0} to player!";
|
||||
public string ElfSetLevelAll => "Set all Elfs to level {0}!";
|
||||
public string ElfSetLevel => "Set Elf {0} to level {1}!";
|
||||
public string ElfSetStarAll => "Set all Elf's Resonance to {0}!";
|
||||
public string ElfSetStar => "Set Elf {0}'s Resonance to {1}!";
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
41
GameServer/Command/Commands/CommandElf.cs
Normal file
41
GameServer/Command/Commands/CommandElf.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using KianaBH.Data;
|
||||
using KianaBH.Enums.Player;
|
||||
using KianaBH.Internationalization;
|
||||
|
||||
namespace KianaBH.GameServer.Command.Commands;
|
||||
|
||||
[CommandInfo("elf", "Game.Command.Elf.Desc", "Game.Command.Elf.Usage", ["e"], [PermEnum.Admin, PermEnum.Support])]
|
||||
public class CommandElf : ICommands
|
||||
{
|
||||
[CommandMethod("add")]
|
||||
public async ValueTask GetElf(CommandArg arg)
|
||||
{
|
||||
if (!await arg.CheckOnlineTarget()) return;
|
||||
|
||||
var elfId = arg.GetInt(0);
|
||||
if (await arg.GetOption('l') is not int level) return;
|
||||
if (await arg.GetOption('s') is not int star) return;
|
||||
|
||||
level = Math.Clamp(level, 1, 80);
|
||||
star = Math.Clamp(star, 1, 7);
|
||||
|
||||
if (elfId == -1)
|
||||
{
|
||||
// add all
|
||||
foreach (var config in GameData.ElfAstraMateData.Values)
|
||||
await arg.Target!.Player!.ElfManager!.AddElf(config.ElfID, level, config.MaxRarity, sync:false);
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Elf.ElfAddedAll"));
|
||||
await arg.Target!.Player!.SyncElf();
|
||||
}
|
||||
else
|
||||
{
|
||||
var elf = await arg.Target!.Player!.ElfManager!.AddElf(elfId, level, star);
|
||||
if (elf == null)
|
||||
{
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Elf.ElfNotFound"));
|
||||
return;
|
||||
}
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.Elf.ElfAdded",elfId.ToString()));
|
||||
}
|
||||
}
|
||||
}
|
||||
49
GameServer/Game/Elf/ElfManager.cs
Normal file
49
GameServer/Game/Elf/ElfManager.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using KianaBH.Data.Excel;
|
||||
using KianaBH.Data;
|
||||
using KianaBH.Database;
|
||||
using KianaBH.Database.Avatar;
|
||||
using KianaBH.Database.Elfs;
|
||||
using KianaBH.Enums.Item;
|
||||
using KianaBH.GameServer.Game.Player;
|
||||
using KianaBH.GameServer.Server.Packet.Send.Avatar;
|
||||
using KianaBH.Util.Extensions;
|
||||
using KianaBH.Proto;
|
||||
using KianaBH.GameServer.Server.Packet.Send.Elf;
|
||||
|
||||
namespace KianaBH.GameServer.Game.Elf;
|
||||
|
||||
public class ElfManager(PlayerInstance player) : BasePlayerManager(player)
|
||||
{
|
||||
public ElfsData ElfData = DatabaseHelper.GetInstanceOrCreateNew<ElfsData>(player.Uid);
|
||||
|
||||
public async ValueTask<ElfAstraMateDataExcel?> AddElf(int elfId, int level = 1, int star = 0, bool sync = true)
|
||||
{
|
||||
if (ElfData.Elfs.Any(a => a.ElfId == elfId)) return null;
|
||||
GameData.ElfAstraMateData.TryGetValue(elfId, out var elfExcel);
|
||||
if (elfExcel == null) return null;
|
||||
|
||||
var elf = new ElfData
|
||||
{
|
||||
ElfId = elfId,
|
||||
Level = level,
|
||||
Timestamp = Extensions.GetUnixSec(),
|
||||
Star = elfExcel.MaxRarity <= star ? elfExcel.MaxRarity : star,
|
||||
};
|
||||
|
||||
foreach (var skill in elfExcel.SkillList)
|
||||
{
|
||||
elf.SkillList.Add(new Skill
|
||||
{
|
||||
SkillId = skill.ElfSkillID,
|
||||
SkillLevel = skill.MaxLv,
|
||||
});
|
||||
};
|
||||
|
||||
ElfData.Elfs.Add(elf);
|
||||
|
||||
if (sync) await Player.SendPacket(new PacketGetElfDataRsp(Player));
|
||||
|
||||
return elfExcel;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,9 +5,11 @@ using KianaBH.Database.Client;
|
||||
using KianaBH.Database.Player;
|
||||
using KianaBH.GameServer.Game.Avatar;
|
||||
using KianaBH.GameServer.Game.Battle;
|
||||
using KianaBH.GameServer.Game.Elf;
|
||||
using KianaBH.GameServer.Game.Inventory;
|
||||
using KianaBH.GameServer.Server;
|
||||
using KianaBH.GameServer.Server.Packet.Send.Avatar;
|
||||
using KianaBH.GameServer.Server.Packet.Send.Elf;
|
||||
using KianaBH.GameServer.Server.Packet.Send.Item;
|
||||
using KianaBH.KcpSharp;
|
||||
using KianaBH.Util.Extensions;
|
||||
@@ -18,6 +20,7 @@ public class PlayerInstance(PlayerData data)
|
||||
{
|
||||
public AvatarManager? AvatarManager { get; private set; }
|
||||
public InventoryManager? InventoryManager { get; private set; }
|
||||
public ElfManager? ElfManager { get; private set; }
|
||||
|
||||
public static readonly List<PlayerInstance> _playerInstances = [];
|
||||
public PlayerData Data { get; set; } = data;
|
||||
@@ -55,6 +58,7 @@ public class PlayerInstance(PlayerData data)
|
||||
Uid = Data.Uid;
|
||||
AvatarManager = new AvatarManager(this);
|
||||
InventoryManager = new InventoryManager(this);
|
||||
ElfManager = new ElfManager(this);
|
||||
ClientData = InitializeDatabase<ClientData>();
|
||||
GuideData = InitializeDatabase<GuideData>();
|
||||
WorldChatManager = new WorldChatManager(this);
|
||||
@@ -111,6 +115,11 @@ public class PlayerInstance(PlayerData data)
|
||||
return Data.ToProto();
|
||||
}
|
||||
|
||||
public async ValueTask SyncElf()
|
||||
{
|
||||
await SendPacket(new PacketGetElfDataRsp(this));
|
||||
}
|
||||
|
||||
public async ValueTask SyncInventory()
|
||||
{
|
||||
await SendPacket(new PacketGetEquipmentDataRsp(this));
|
||||
|
||||
@@ -8,6 +8,6 @@ public class HandlerGetElfDataReq : Handler
|
||||
{
|
||||
public override async Task OnHandle(Connection connection, byte[] header, byte[] data)
|
||||
{
|
||||
await connection.SendPacket(new PacketGetElfDataRsp());
|
||||
await connection.SendPacket(new PacketGetElfDataRsp(connection.Player!));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using KianaBH.GameServer.Game.Player;
|
||||
using KianaBH.KcpSharp;
|
||||
using KianaBH.Proto;
|
||||
|
||||
@@ -5,713 +6,11 @@ namespace KianaBH.GameServer.Server.Packet.Send.Elf;
|
||||
|
||||
public class PacketGetElfDataRsp : BasePacket
|
||||
{
|
||||
public PacketGetElfDataRsp() : base(CmdIds.GetElfDataRsp)
|
||||
public PacketGetElfDataRsp(PlayerInstance player) : base(CmdIds.GetElfDataRsp)
|
||||
{
|
||||
var proto = new GetElfDataRsp // TODO: GET FROM DB
|
||||
var proto = new GetElfDataRsp
|
||||
{
|
||||
ElfList =
|
||||
{
|
||||
new Proto.Elf
|
||||
{
|
||||
ElfId = 101,
|
||||
Exp = 1,
|
||||
Level = 80,
|
||||
SkillList =
|
||||
{
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10101,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10102,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10103,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10105,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10106,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10107,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 101011,
|
||||
SkillLevel = 6
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 101021,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 101032,
|
||||
SkillLevel = 4
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 101033,
|
||||
SkillLevel = 4
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 101034,
|
||||
SkillLevel = 4
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 101035,
|
||||
SkillLevel = 4
|
||||
}
|
||||
},
|
||||
Star = 7
|
||||
},
|
||||
new Proto.Elf
|
||||
{
|
||||
ElfId = 102,
|
||||
Exp = 1,
|
||||
Level = 80,
|
||||
SkillList =
|
||||
{
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10201,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10202,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10203,
|
||||
SkillLevel = 4
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10205,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10206,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10207,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 102011,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 102031,
|
||||
SkillLevel = 6
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 102032,
|
||||
SkillLevel = 6
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 102033,
|
||||
SkillLevel = 6
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 102034,
|
||||
SkillLevel = 6
|
||||
}
|
||||
},
|
||||
Star = 7
|
||||
},
|
||||
new Proto.Elf
|
||||
{
|
||||
ElfId = 106,
|
||||
Exp = 1,
|
||||
Level = 80,
|
||||
SkillList =
|
||||
{
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10601,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10602,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10603,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10604,
|
||||
SkillLevel = 4
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10605,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10606,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10607,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 106011,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 106012,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 106013,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 106021,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 106022,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 106031,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 106032,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 106041,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 106042,
|
||||
SkillLevel = 4
|
||||
}
|
||||
},
|
||||
Star = 4
|
||||
},
|
||||
new Proto.Elf
|
||||
{
|
||||
ElfId = 108,
|
||||
Exp = 1,
|
||||
Level = 80,
|
||||
SkillList = {
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10801,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10802,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10803,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10804,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10805,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10806,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 10807,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 108011,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 108012,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 108013,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 108021,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 108022,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 108023,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 108031,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 108032,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 108041,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 108042,
|
||||
SkillLevel = 5
|
||||
}
|
||||
},
|
||||
Star = 7
|
||||
},
|
||||
new Proto.Elf
|
||||
{
|
||||
ElfId = 110,
|
||||
Exp = 1,
|
||||
Level = 80,
|
||||
SkillList =
|
||||
{
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 11001,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 11002,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 11003,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 11004,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 11005,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 11006,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 11007,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 110011,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 110021,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 110031,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 110041,
|
||||
SkillLevel = 4
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 110051,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 110071,
|
||||
SkillLevel = 5
|
||||
}
|
||||
},
|
||||
Star = 2
|
||||
},
|
||||
new Proto.Elf
|
||||
{
|
||||
ElfId = 111,
|
||||
Exp = 1,
|
||||
Level = 80,
|
||||
SkillList =
|
||||
{
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 12001,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 12002,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 12003,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 12004,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 12005,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 12006,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 12007,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 120011,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 120021,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 120031,
|
||||
SkillLevel = 6
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 120041,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 120042,
|
||||
SkillLevel = 4
|
||||
}
|
||||
},
|
||||
Star = 2
|
||||
},
|
||||
new Proto.Elf
|
||||
{
|
||||
ElfId = 112,
|
||||
Exp = 1,
|
||||
Level = 80,
|
||||
SkillList =
|
||||
{
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 13001,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 13002,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 13003,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 13004,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 13005,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 13006,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 13007,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 130011,
|
||||
SkillLevel = 4
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 130012,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 130013,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 130021,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 130022,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 130023,
|
||||
SkillLevel = 4
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 130031,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 130032,
|
||||
SkillLevel = 4
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 130033,
|
||||
SkillLevel = 4
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 130041,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 130042,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 130043,
|
||||
SkillLevel = 3
|
||||
}
|
||||
},
|
||||
Star = 7
|
||||
},
|
||||
new Proto.Elf
|
||||
{
|
||||
ElfId = 113,
|
||||
Exp = 1,
|
||||
Level = 80,
|
||||
SkillList =
|
||||
{
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 14001,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 14002,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 14003,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 14004,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 14005,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 14006,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 14007,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 140011,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 140021,
|
||||
SkillLevel = 5
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 140031,
|
||||
SkillLevel = 5
|
||||
}
|
||||
},
|
||||
Star = 2
|
||||
},
|
||||
new Proto.Elf
|
||||
{
|
||||
ElfId = 120,
|
||||
Exp = 1,
|
||||
Level = 80,
|
||||
SkillList =
|
||||
{
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 20005,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 20006,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 20007,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 200051,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 200071,
|
||||
SkillLevel = 2
|
||||
}
|
||||
},
|
||||
Star = 1
|
||||
},
|
||||
new Proto.Elf
|
||||
{
|
||||
ElfId = 130,
|
||||
Exp = 1,
|
||||
Level = 80,
|
||||
SkillList =
|
||||
{
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 20005,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 20006,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 20007,
|
||||
SkillLevel = 1
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 200051,
|
||||
SkillLevel = 3
|
||||
},
|
||||
new ElfSkill
|
||||
{
|
||||
SkillId = 200071,
|
||||
SkillLevel = 2
|
||||
}
|
||||
},
|
||||
Star = 1
|
||||
}
|
||||
}
|
||||
|
||||
ElfList = { player.ElfManager!.ElfData.Elfs.Select(x => x.ToProto()) }
|
||||
};
|
||||
|
||||
SetData(proto);
|
||||
|
||||
Reference in New Issue
Block a user