forked from PGR/ascnet
moar example and drop lil change
This commit is contained in:
parent
d6511d1088
commit
85f22630f9
|
@ -134,7 +134,35 @@ namespace AscNet.GameServer.Handlers.Drops
|
||||||
TemplateId = equip.Id,
|
TemplateId = equip.Id,
|
||||||
Count = 1,
|
Count = 1,
|
||||||
Level = 1,
|
Level = 1,
|
||||||
Quality = equip.Quality
|
Quality = equip.Quality,
|
||||||
|
Type = RewardType.Equip
|
||||||
|
});
|
||||||
|
|
||||||
|
NotifyEquipDataList notifyEquipData = new();
|
||||||
|
notifyEquipData.EquipDataList.Add(session.character.AddEquip((uint)equip.Id));
|
||||||
|
session.SendPush(notifyEquipData);
|
||||||
|
}
|
||||||
|
|
||||||
|
return rets;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2★ Memory Drop
|
||||||
|
[DropHandler(TwoStarMemoryDrop)]
|
||||||
|
public static IEnumerable<DropHandlerRet> TwoStarMemoryDropHandler(Session session, int count)
|
||||||
|
{
|
||||||
|
List<DropHandlerRet> rets = new();
|
||||||
|
EquipTable[] memoryPool = TableReaderV2.Parse<EquipTable>().Where(x => x.Type == 0 && x.Quality == 2).ToArray();
|
||||||
|
|
||||||
|
if (GetProgressiveChance((int)session.player.PlayerData.Level, 2))
|
||||||
|
{
|
||||||
|
EquipTable equip = memoryPool[Random.Shared.Next(0, memoryPool.Length)];
|
||||||
|
rets.Add(new()
|
||||||
|
{
|
||||||
|
TemplateId = equip.Id,
|
||||||
|
Count = 1,
|
||||||
|
Level = 1,
|
||||||
|
Quality = equip.Quality,
|
||||||
|
Type = RewardType.Equip
|
||||||
});
|
});
|
||||||
|
|
||||||
NotifyEquipDataList notifyEquipData = new();
|
NotifyEquipDataList notifyEquipData = new();
|
||||||
|
@ -211,9 +239,10 @@ namespace AscNet.GameServer.Handlers.Drops
|
||||||
|
|
||||||
public struct DropHandlerRet
|
public struct DropHandlerRet
|
||||||
{
|
{
|
||||||
public int TemplateId;
|
public int TemplateId { get; set; }
|
||||||
public int Count;
|
public int Count { get; set;}
|
||||||
public int Level;
|
public int Level { get; set;}
|
||||||
public int Quality;
|
public int Quality { get; set;}
|
||||||
|
public RewardType Type { get; set;}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ namespace AscNet.GameServer.Handlers
|
||||||
{
|
{
|
||||||
#region MsgPackScheme
|
#region MsgPackScheme
|
||||||
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
|
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
|
||||||
enum RewardType
|
public enum RewardType
|
||||||
{
|
{
|
||||||
Item = 1,
|
Item = 1,
|
||||||
Character = 2,
|
Character = 2,
|
||||||
|
@ -270,7 +270,7 @@ namespace AscNet.GameServer.Handlers
|
||||||
TemplateId = x.TemplateId,
|
TemplateId = x.TemplateId,
|
||||||
Count = x.Count,
|
Count = x.Count,
|
||||||
Level = x.Level,
|
Level = x.Level,
|
||||||
RewardType = (int)MathF.Floor(x.TemplateId / 1000000) + 1,
|
RewardType = (int)x.Type,
|
||||||
Quality = x.Quality
|
Quality = x.Quality
|
||||||
}));
|
}));
|
||||||
continue;
|
continue;
|
||||||
|
@ -340,7 +340,7 @@ namespace AscNet.GameServer.Handlers
|
||||||
RewardGoodsList = rewards,
|
RewardGoodsList = rewards,
|
||||||
MultiRewardGoodsList = { rewards },
|
MultiRewardGoodsList = { rewards },
|
||||||
NpcHpInfo = req.Result.NpcHpInfo,
|
NpcHpInfo = req.Result.NpcHpInfo,
|
||||||
ChallengeCount = req.Result.RebootCount
|
ChallengeCount = 1
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue