feat(server): complete field talents, crafting, party recovery and pack monster lifecycle

This commit is contained in:
2026-10-05 23:14:47 +08:00
parent e30023053e
commit 76a2d72f05
64 changed files with 6208 additions and 246 deletions
+18 -1
View File
@@ -1,9 +1,26 @@
package deck
import "bd2server/internal/server/player"
func (s *Store) CurrentFieldDeck() []FieldEntry {
s.mu.RLock()
defer s.mu.RUnlock()
return append([]FieldEntry(nil), s.state.FieldDeck...)
return s.visibleFieldDeckLocked()
}
func (s *Store) visibleFieldDeckLocked() []FieldEntry {
var out []FieldEntry
for _, entry := range s.state.FieldDeck {
if s.characters != nil {
c, ok := s.characters.Find(entry.CharacterInvenIndex)
if !ok || player.IsStoryCharacter(c) && !s.temporaryAllowed(c) {
continue
}
}
entry.Slot = uint64(len(out) + 1)
out = append(out, entry)
}
return out
}
// SetStoryParty stores the authored active quest formation using the same