Jede Liste gehoert einem Spieler, CC-Guthaben wird umgewandelt
Ein Gruppen-CC wird fuer jeden Nutzer einzeln gerechnet: fuer den einen kann er der gekaufte Platz sein, fuer den anderen ein Redesign seines vorherigen CCs. Dafuer haengt die Liste jetzt an der Mitgliedschaft statt am CC, und verschieben ordnet nur die eigene Liste. Ein Redesign wird nie aus dem CC-Topf bezahlt. Wer sein CC-Guthaben dafuer einsetzt, wandelt es um: ein Platz weniger, ein bezahltes Redesign mehr. Damit entfaellt die Ausnahme, die sich bisher durch Slot-Pruefung und Kettenrechnung zog. Beim Start werden Buchungen einmalig an die Listen angeglichen.
This commit is contained in:
@@ -30,6 +30,9 @@ enum CreditSource {
|
||||
CC_GRANT
|
||||
KULANZ
|
||||
ADJUSTMENT
|
||||
/// Ein CC-Guthaben, das in ein Redesign-Guthaben umgewandelt wurde.
|
||||
/// Immer ein Paar: eine Zeile ab im CC-Topf, eine Zeile zu im Redesign-Topf.
|
||||
CONVERSION
|
||||
CONSUME
|
||||
REVERSAL
|
||||
}
|
||||
@@ -227,11 +230,6 @@ model CreditLedger {
|
||||
/// hier eingetippt hat.
|
||||
occurredAt DateTime @default(now())
|
||||
|
||||
/// Von Hand so entschieden. Das Ausrichten der Buchungen an den Ketten
|
||||
/// lässt solche Zeilen in Ruhe - sonst würde jede Ausnahme beim nächsten
|
||||
/// Umsortieren wieder eingeebnet.
|
||||
fundingPinned Boolean @default(false)
|
||||
|
||||
@@index([playerId])
|
||||
@@index([playerId, kind])
|
||||
@@index([groupId])
|
||||
@@ -473,6 +471,15 @@ model CharacterMember {
|
||||
paidWith CreditKind?
|
||||
note String?
|
||||
|
||||
/// Die Liste dieses Spielers, in der der CC für ihn steht, und seine
|
||||
/// Stelle darin.
|
||||
///
|
||||
/// Ein Gruppen-CC wird für jeden Nutzer einzeln gerechnet: Für den einen
|
||||
/// kann er der gekaufte Platz sein, für den anderen ein Redesign seines
|
||||
/// vorherigen CCs. Deshalb hängt die Kette am Nutzer, nicht am CC.
|
||||
lineageId String @default(uuid())
|
||||
chainPosition Int @default(0)
|
||||
|
||||
/// Der eigene CC, den der Spieler für diesen Platz aufgegeben hat. Nur
|
||||
/// gesetzt, wenn der Beitritt über ein Redesign lief - dann gilt dieselbe
|
||||
/// Regel wie sonst: ein Redesign ersetzt einen CC, es kommt keiner dazu.
|
||||
@@ -491,6 +498,7 @@ model CharacterMember {
|
||||
@@unique([characterId, playerId])
|
||||
@@index([playerId])
|
||||
@@index([characterId])
|
||||
@@index([lineageId])
|
||||
}
|
||||
|
||||
/// Wann ein wiederkehrender Lauf zuletzt lief. Der Zeitplan steht im Code,
|
||||
|
||||
Reference in New Issue
Block a user