new file: build.zig.zon new file: config.json new file: dispatch/build.zig new file: dispatch/build.zig.zon new file: dispatch/src/authentication.zig new file: dispatch/src/dispatch.zig new file: dispatch/src/main.zig new file: gameserver/build.zig new file: gameserver/build.zig.zon new file: gameserver/src/Packet.zig new file: gameserver/src/Session.zig new file: gameserver/src/api.zig new file: gameserver/src/command.zig new file: gameserver/src/commands/help.zig new file: gameserver/src/commands/refill.zig new file: gameserver/src/commands/sync.zig new file: gameserver/src/commands/test.zig new file: gameserver/src/commands/tp.zig new file: gameserver/src/commands/unstuck.zig new file: gameserver/src/data.zig new file: gameserver/src/handlers.zig new file: gameserver/src/main.zig new file: gameserver/src/manager/battle_mgr.zig new file: gameserver/src/manager/lineup_mgr.zig new file: gameserver/src/manager/multipath_mgr.zig new file: gameserver/src/manager/scene_mgr.zig new file: gameserver/src/network.zig new file: gameserver/src/services/avatar.zig new file: gameserver/src/services/battle.zig new file: gameserver/src/services/challenge.zig new file: gameserver/src/services/chat.zig new file: gameserver/src/services/config.zig new file: gameserver/src/services/events.zig new file: gameserver/src/services/gacha.zig new file: gameserver/src/services/item.zig new file: gameserver/src/services/lineup.zig new file: gameserver/src/services/login.zig new file: gameserver/src/services/mail.zig new file: gameserver/src/services/misc.zig new file: gameserver/src/services/mission.zig new file: gameserver/src/services/multipath.zig new file: gameserver/src/services/pet.zig new file: gameserver/src/services/profile.zig new file: gameserver/src/services/res_config.zig new file: gameserver/src/services/scene.zig new file: protocol/build.zig new file: protocol/build.zig.zon new file: protocol/src/protocol.pb.zig new file: protocol/src/root.zig new file: resources/ChallengeMazeConfig.json new file: resources/MapEntrance.json new file: resources/MazePlane.json new file: resources/res.json
39 lines
1.4 KiB
Zig
39 lines
1.4 KiB
Zig
const std = @import("std");
|
|
const protocol = @import("protocol");
|
|
const Session = @import("../Session.zig");
|
|
const Packet = @import("../Packet.zig");
|
|
const Config = @import("../services/config.zig");
|
|
const Data = @import("../data.zig");
|
|
|
|
const UidGenerator = @import("../services/item.zig").UidGenerator;
|
|
const ArrayList = std.ArrayList;
|
|
const Allocator = std.mem.Allocator;
|
|
const CmdID = protocol.CmdID;
|
|
|
|
pub const LineupManager = struct {
|
|
allocator: std.mem.Allocator,
|
|
pub fn init(allocator: std.mem.Allocator) LineupManager {
|
|
return LineupManager{ .allocator = allocator };
|
|
}
|
|
pub fn createLineup(self: *LineupManager) !protocol.LineupInfo {
|
|
const config = try Config.loadGameConfig(self.allocator, "config.json");
|
|
|
|
var lineup = protocol.LineupInfo.init(self.allocator);
|
|
lineup.mp = 5;
|
|
lineup.max_mp = 5;
|
|
lineup.name = .{ .Const = "CastoriceSR" };
|
|
|
|
for (config.avatar_config.items, 0..) |avatarConf, idx| {
|
|
var avatar = protocol.LineupAvatar.init(self.allocator);
|
|
avatar.id = avatarConf.id;
|
|
avatar.slot = @intCast(idx);
|
|
avatar.satiety = 0;
|
|
avatar.hp = avatarConf.hp * 100;
|
|
avatar.sp_bar = .{ .sp_cur = avatarConf.sp * 100, .sp_max = 10000 };
|
|
avatar.avatar_type = protocol.AvatarType.AVATAR_FORMAL_TYPE;
|
|
try lineup.avatar_list.append(avatar);
|
|
}
|
|
|
|
return lineup;
|
|
}
|
|
};
|