castorice-sr/gameserver/src/manager/lineup_mgr.zig
HuLiNap cd8c2843bd new file: build.zig
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
2025-03-19 22:01:41 +07:00

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;
}
};