fix weapon break limit

This commit is contained in:
Naruse
2026-04-29 00:36:17 +08:00
parent 8d6e0d7638
commit 0cf0e3beb4
2 changed files with 13 additions and 2 deletions

View File

@@ -18,7 +18,7 @@ public class CommandGiveAll : ICommands
if (await arg.GetOption('l') is not int level) return; if (await arg.GetOption('l') is not int level) return;
var detail = arg.GetInt(0); var detail = arg.GetInt(0);
level = Math.Clamp(level, 1, 80); level = Math.Clamp(level, 1, 90);
var player = arg.Target!.Player!; var player = arg.Target!.Player!;
List<GameWeaponInfo> weapons = []; List<GameWeaponInfo> weapons = [];
if (detail == -1) if (detail == -1)

View File

@@ -24,7 +24,7 @@ public class InventoryManager(PlayerInstance player) : BasePlayerManager(player)
TemplateId = templateId, TemplateId = templateId,
UniqueId = InventoryData.NextUniqueUid++, UniqueId = InventoryData.NextUniqueUid++,
Level = weaponLevel, Level = weaponLevel,
Break = weaponData.InitBreak, Break = GetWeaponBreak(weaponLevel),
ItemType = ItemTypeEnum.TYPE_WEAPON, ItemType = ItemTypeEnum.TYPE_WEAPON,
ItemCount = 1 ItemCount = 1
}; };
@@ -35,6 +35,17 @@ public class InventoryManager(PlayerInstance player) : BasePlayerManager(player)
return weaponInfo; return weaponInfo;
} }
private static uint GetWeaponBreak(uint level)
{
if (level <= 20) return 1;
if (level <= 40) return 2;
if (level <= 60) return 3;
if (level <= 70) return 4;
if (level <= 80) return 5;
if (level <= 90) return 6;
return 7;
}
public GameWeaponInfo? GetWeaponItem(uint uniqueId) public GameWeaponInfo? GetWeaponItem(uint uniqueId)
{ {
return InventoryData.Weapons.GetValueOrDefault(uniqueId); return InventoryData.Weapons.GetValueOrDefault(uniqueId);