feat(server): add special loot and data-driven gameplay rules
Generate equipment loot atomically, grant random boxes and prevent repeat claims. Read gacha pools, pity, products, tickets, missions, presets, chapter rewards and inventory costs from GameData; extend both collaboration UR ticket pools. Sync owned recipes, configure startup state and calendars in versioned seeds, and validate unlock tickets and revival talents.
This commit is contained in:
@@ -41,7 +41,7 @@ func (s *Service) handlePackDocking(path string, request []byte) (int, []byte, b
|
||||
return 72, nil, true, nil
|
||||
}
|
||||
reward := s.packJamDesign.Reward
|
||||
if reward.Type != 3 || reward.ID != 0 || reward.Count == 0 || reward.Count > uint64(^uint32(0)>>1) {
|
||||
if s.packJamDesign.ValidateReward() != nil {
|
||||
return 0, nil, true, fmt.Errorf("world: unsupported pack jam reward")
|
||||
}
|
||||
if _, err := s.wallet.GrantQuestOnce(identity, []gamedata.Reward{reward}); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user