📄 PalSummon.json
Eine PalSummon-Datei definiert eine Begegnung an einem festen Ort, die mit /summon <Dateiname> gestartet wird. Speichere die Dateien unter <PalServer>/Pal/Binaries/Win64/PalDefender/Pals/Summons/ und referenzierte PalTemplates unter Pals/Templates/.
ID-Suche
Nutze paldeck.cc/pals für PalID, paldeck.cc/passives für Passives und paldeck.cc/skills für Skill-IDs des referenzierten Templates.
Begegnungsschlüssel
| Schlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
PalTemplate |
string | Erforderlich | Dateiname eines Templates in Pals/Templates/; .json kann weggelassen werden. |
BossBattleName |
string | Pal-ID | Anzeigename in Ankündigungen, Logs, Webhooks und Schadensergebnissen. |
Uncapturable |
bool | false |
Verhindert dauerhaft, dass der beschworene Pal gefangen werden kann. |
CapturableAtHealthPercent |
number | 15 |
Macht den Pal ab diesem HP-Prozentsatz oder darunter fangbar (0–100). Wird bei Uncapturable: true ignoriert. |
DisableAI |
bool | false |
Deaktiviert die normale KI. Einzelne passive Verhaltensweisen wie Ausweichen können weiterhin auftreten. |
DisableDamageMeter |
bool | false |
Deaktiviert Tracking, Ergebnisdialog und Rangbelohnungen. Stattdessen wird die Default-Belohnung an alle Online-Spieler vergeben. |
SpawnScale |
number | 1.0 |
Visueller/physischer Größenmultiplikator; Werte kleiner oder gleich null fallen auf 1.0 zurück. |
DamageTakenMultiplier |
number | 1.0 |
Multiplikator für erhaltenen Schaden; negative Werte fallen auf 1.0 zurück. |
DamageDealtMultiplier |
number | 1.0 |
Multiplikator für verursachten Schaden; negative Werte fallen auf 1.0 zurück. |
X, Y, Z |
number | Erforderlich | Kartenkoordinaten. Ermittle sie mit /getpos. |
DisableStatuses |
array | Leer | Zu unterdrückende Statusnamen. Ungültige Namen werden übersprungen. Akzeptierte Namen. |
Rewards |
object oder array | Leer | Optionale rangspezifische und standardmäßige Belohnungsdefinitionen. Die Objektform wird empfohlen. |
CapturableAt, CapturableAtPercent und capturable_at werden als Kompatibilitätsalias akzeptiert. AdditionalEnemyReceiveDamageRate und AdditionalEnemyInflictDamageRate werden ebenfalls akzeptiert, die Namen aus der Tabelle werden jedoch empfohlen.
Migration der maximalen Lebenspunkte
Die maximalen Lebenspunkte des beschworenen Pals werden jetzt aus HP im referenzierten PalTemplate übernommen. HealthMultiplier, HPMultiplier und AdditionalEnemyMaxHPRate werden nicht mehr unterstützt; entferne diese Felder aus bestehenden PalSummon-Dateien.
Deaktivierte Status
DisableStatuses ist ein Array aus Statusnamen als Zeichenketten. Die aufgeführten Status werden vom beschworenen Pal entfernt und können nicht erneut hinzugefügt werden. Groß- und Kleinschreibung spielt keine Rolle; die englischen Bezeichner einschließlich Unterstrichen bleiben unverändert. Ein leeres Array [] deaktiviert keine Status. Leere Zeichenketten und ungültige Namen werden übersprungen; None ist kein gültiger Eintrag.
Beispiel: Gift, Verbrennung, Einfrieren, elektrische Effekte, Betäubung und Schlaf blockieren.
Die vollständige Liste enthält auch Verstärkungen und interne Spielstatus, nicht nur schädliche Effekte.
Alle akzeptierten Statusnamen
ControlSP
GainHP
StepCooldown
DrownCheck
Poison
UNKOTimer
Stun
Coma
Sleep
Overwork
Happiness
Resistance
Moratorium
Drown
Dying
ShieldRecovery
FallDamage
LavaDamage
Burn
Wetness
Freeze
Electrical
Muddy
IvyCling
Darkness
AttackUp
DefenseUp
AttackDown
CollectItem
LifeSteal
RaidBossStatusChange
RarePalEffect
MorphChange
PalEnhancement
PalEnhancement2
PalEnhancement3
PartBreak
FishingSpotElectrical
HPLock
AcidDamage
WorldTreeAuraPalEffect
AwakeningAuraEffect
ToxicGas
ToxicGas_FromAttack
Stealth
TeleportStealth
LowGravity
PlayerLowHealthBlast
PlayerElementStepAttack_Fire
PlayerElementStepAttack_Water
PlayerElementStepAttack_Leaf
PlayerInflictEffect_AttackBurning_ApplyExplosion
PlayerInflictEffect_AttackIvyCling_ApplyExplosion
PlayerInflictEffect_AttackBurning_ApplyFireVortex
PlayerInflictEffect_AttackElectrified_ApplySpark
PlayerInflictEffect_AttackPoisoned_ApplyAttackDown
PlayerInflictEffect_AttackMuddy_ApplyAttackDown
PlayerInflictEffect_MeleeHitBarrier
PlayerInflictEffect_AttackWet_ApplyFreeze
PlayerInflictEffect_AttackWet_ApplyFreeze_Resist
Player_ArrowExplosion
BulletHit_StackBuff
DefeatEnemy_StackBuff
MapObjectOverHeat
JumpingFrog
JumpingFrog_dark
LifeDrainPower_AttackUp
AttackRateHPThresholdPassive
DefenseRateHPThresholdPassive
WeakPointHitDamageUp
WeakPointHitDamageUp_Buff
SwimSpeedUp
WorldTreeHolyWaterEffect
DefeatEnemy_ActiveSkillCoolTime_Decrease
DefeatEnemy_RecoverHP
RecoverHPOnHPThresholdPassive
FloatStun
Schadensanzeige und Belohnungen
Belohnungen werden ermittelt, nachdem der beschworene Pal gestorben ist oder gefangen wurde. Die Schadensrangliste ist vom höchsten zum niedrigsten Schaden sortiert. Der Ergebnisdialog zeigt die ersten fünf Plätze, hebt die ersten drei hervor und zeigt zusätzlich die eigene Position des jeweiligen Spielers, wenn sie außerhalb der ersten fünf liegt.
Bei aktivierter Schadensverfolgung wird jeder teilnehmende Spieler wie folgt behandelt:
- PalDefender sucht nach einem numerischen
Rewards-Schlüssel, der dem endgültigen Rang dieses Spielers entspricht. - Wenn dieser genaue Rang nicht existiert, verwendet PalDefender
Rewards.Default. - Wenn beides nicht existiert, erhält dieser Spieler keine Belohnung.
- Die ausgewählte Belohnung wird für diesen Spieler separat ausgewürfelt. Zwei Spieler, die dieselbe
Default-Definition verwenden, können daher unterschiedliche Zufallsergebnisse erhalten.
Nur Teilnehmer, die am Ende der Begegnung noch online sind und über einen verfügbaren Player-Controller verfügen, können Rangbelohnungen erhalten. Eine nummerierte Belohnung wird nicht mit Default kombiniert, sondern ersetzt Default für diesen Rang.
"Rewards": {
"1": {
"Drops": [
{ "ItemID": "Money", "Count": 50000 },
{ "TechnologyPoints": 5 }
]
},
"2": {
"Drops": [
{ "EXP": { "Min": 10000, "Max": 20000 } }
]
},
"Default": {
"Drops": [
{ "ItemID": "Money", "Count": 1000, "Chance": 75 }
]
}
}
In diesem Beispiel erhält der Erstplatzierte beide garantierten Drops, der Zweitplatzierte erhält einen zufälligen Betrag von EXP und jeder andere Teilnehmer auf der Rangliste hat unabhängig eine 75-prozentige Chance, 1.000 Money zu erhalten.
Rangschlüssel müssen positive ganze Zahlen sein, die als JSON-Objektschlüssel geschrieben werden, z. B. "1", "2" oder "10". "0", negative Ränge und beliebige Namen sind ungültig. Default wird ohne Berücksichtigung der Groß-/Kleinschreibung abgeglichen.
Array-Form
Rewards kann auch ein Array sein. Array-Element 0 hat Rang 1, Element 1 hat Rang 2 und so weiter. Die Array-Form kann Default nicht definieren, daher ist die Objektform klarer und wird empfohlen.
Struktur der Belohnungsdefinition
Jeder Rang und Default enthält eine Belohnungsdefinition. Eine Definition kann beides enthalten:
Drops: Einträge werden direkt und unabhängig ausgewertet.Pools: Gruppen, die steuern, wie Einträge ausgewählt werden.
Es kann auch die Progressionskürzel EXP, TechnologyPoints und AncientTechnologyPoints enthalten. Abkürzungen sind garantiert und nützlich, wenn sie keine eigene Einstellung Chance, Weight oder Unique benötigen.
{
"EXP": { "Min": 10000, "Max": 20000 },
"TechnologyPoints": 2,
"AncientTechnologyPoints": 1,
"Drops": [
{ "ItemID": "Money", "Count": 5000 }
],
"Pools": [
{
"Entries": [
{ "ItemID": "AncientArmor", "Weight": 1 },
{ "ItemID": "AncientHelmet", "Weight": 1 }
]
}
]
}
Arten von Belohnungseinträgen
Jeder Eintrag muss genau eine Belohnungsart definieren. Kombinieren Sie kein Element, ein Ei und ein Fortschrittsfeld im selben Eintrag.
| Belohnung | Erforderliche Felder | Optionale Felder | Notizen |
|---|---|---|---|
| Gegenstand | ItemID |
Count, Chance, Weight, Unique |
Count ist standardmäßig 1. |
| Pal-Ei | EggID, PalTemplate |
Count, Level, Chance, Weight, Unique |
Count ist standardmäßig 1; Level: 0 verwendet das Level des Templates. |
| Erfahrung | EXP |
Chance, Weight, Unique |
Der EXP-Wert ist der Betrag oder Bereich. |
| Technologiepunkte | TechnologyPoints |
Chance, Weight, Unique |
Der Feldwert ist der Betrag oder Bereich. |
| Antike Technologiepunkte | AncientTechnologyPoints |
Chance, Weight, Unique |
Der Feldwert ist der Betrag oder Bereich. |
Chance, Weight und Unique sind nur in den unten beschriebenen Kontexten wirksam. Wenn ein Feld vom Parser akzeptiert wird, bedeutet das nicht, dass es sich auf alle Verteilungsmodi auswirkt.
Die oben genannten kanonischen Feldnamen werden empfohlen. Der Parser akzeptiert auch diese Aliase:
| Kanonisches Feld | Akzeptierte Aliase |
|---|---|
ItemID |
ItemId, ID |
EggID |
EggId |
PalTemplate |
Template |
Count |
Amount, Num |
EXP |
Exp, Experience |
TechnologyPoints |
TechPoints |
AncientTechnologyPoints |
BossTechnologyPoints |
Feste Werte, Bereiche und Chancen
Beträge können eine feste ganze Zahl oder ein inklusiver Bereich sein:
{
"Drops": [
{ "ItemID": "Money", "Count": 25000 },
{ "ItemID": "AssaultRifleBullet", "Count": { "Min": 100, "Max": 250 } },
{ "EXP": { "Min": 10000, "Max": 20000 } },
{ "TechnologyPoints": 2 }
]
}
Count, EXP und Technologiepunktbeträge müssen ganze Zahlen von mindestens1sein.- Ein Bereich benötigt sowohl
Minals auchMaxundMaxdarf nicht niedriger alsMinsein. - Textbereiche wie
"1-3"sind ungültig; Verwenden Sie{ "Min": 1, "Max": 3 }. - Ei
Levelkann0sein; Dadurch wird die Ebene vom referenzierten PalTemplate beibehalten. Ein positiver Level überschreibt den Template-Level und ist auf Level 255 begrenzt, wenn das Ei gewährt wird. Chanceakzeptiert eine Zahl oder einen numerischen Text mit einem optionalen%, zum Beispiel30,30.5oder"30%".Chance: 0ist nie erfolgreich,Chance: 100ist immer erfolgreich und die Werte müssen zwischen0und100bleiben.- Für eine Chance, die streng zwischen 0 und 100 liegt, muss der generierte Wurf niedriger sein als der konfigurierte Wert. Ein Wurf von genau
30.0scheitert daher an einemChancevon30.
Direkte Drops
Jeder Eintrag in Drops wird unabhängig ausgewertet. Es gibt keine Auswahl-Eins-Beziehung zwischen benachbarten Einträgen. Das Fehlen von Chance bedeutet 100.
{
"Drops": [
{ "ItemID": "Money", "Count": { "Min": 25000, "Max": 75000 } },
{ "ItemID": "AssaultRifleBullet", "Count": { "Min": 100, "Max": 250 }, "Chance": 30 },
{ "EXP": 15000, "Chance": "50%" },
{ "TechnologyPoints": 2, "Chance": 10 }
]
}
Der Money ist garantiert. Die Munition, EXP und Technologiepunkte machen jeweils ihren eigenen Zufallswurf. Es können null, ein, zwei oder alle drei optionalen Drops erfolgreich sein.
Weight und Unique funktionieren nicht im direkten Drops und erzeugen Warnungen. Verwenden Sie Chance für optionale direkte Drops.
Beutepools
Ein Pool prüft zuerst seine eigene Chance. Schlägt diese Prüfung fehl, wird keiner seiner Einträge berücksichtigt. Bei Erfolg bestimmt Mode, wie die Einträge ausgewertet werden.
| Poolschlüssel | Geben Sie | ein Standard | Beschreibung |
|---|---|---|---|
Name |
Zeichenfolge | Leer | Optionales Diagnoseetikett. Es hat keinen Einfluss auf die Auswahl. |
Mode |
Zeichenfolge | OneOf |
OneOf, Pick, All oder Independent. Beim Matching wird die Groß-/Kleinschreibung nicht beachtet. |
Chance |
Zahlen- oder Prozenttext | 100 |
Chance, dass der gesamte Pool aktiviert wird. |
Rolls |
ganze Zahl | 1 |
Anzahl der Auswahlen in Pick; von den anderen Modi ignoriert. |
Unique |
bool | true |
Standard-Wiederholungsrichtlinie für Pick; ein Eintrag kann ihn überschreiben. |
Entries |
Array | Erforderlich | Nicht leere Liste von Belohnungseinträgen. |
One wird als Alias für OneOf und PickN als Alias für Pick akzeptiert, es werden jedoch die kanonischen Modusnamen empfohlen.
| Modus | Wie viele Einträge können gewährt werden? | Verwendet Weight? |
Verwendet Eintrag Chance? |
Verwendet Rolls / Unique? |
|---|---|---|---|---|
OneOf |
Genau eins, wenn der Pool erfolgreich ist | Ja | Nein | Nein |
Pick |
Bis zu Rolls Auswahlmöglichkeiten |
Ja | Nein | Ja |
All |
Jeder Eintrag einmal, wenn der Pool erfolgreich ist | Nein | Nein | Nein |
Independent |
Null durch alle Einträge | Nein | Ja | Nein |
All Vier Modi verwenden weiterhin die Poolebene Chance. Mehrere Pools in einer Belohnungsdefinition werden unabhängig voneinander verarbeitet und ihre Ergebnisse werden dem direkten Drops hinzugefügt.
OneOf: ein gewichtetes Ergebnis
OneOf ist der Standardmodus. Wenn die Chance auf Poolebene erfolgreich ist, wird genau ein Eintrag ausgewählt. Die Wahrscheinlichkeit eines Eintrags ist sein Weight geteilt durch die Summe aller Eintragsgewichte.
{
"Pools": [
{
"Name": "Equipment jackpot",
"Mode": "OneOf",
"Chance": 35,
"Entries": [
{ "ItemID": "AncientArmor", "Weight": 7 },
{ "ItemID": "AncientHelmet", "Weight": 7 },
{ "ItemID": "SkyAssaultRifle", "Weight": 5 },
{ "EggID": "PalEgg_Dark_05", "PalTemplate": "RaidReward.json", "Weight": 1 }
]
}
]
}
Die Gewichtungen betragen insgesamt 20. Abhängig vom Erfolg des Pools haben die vier Einträge Wahrscheinlichkeiten von 35 %, 35 %, 25 % und 5 %. Da der Pool selbst nur in 35 % der Fälle aktiviert wird, beträgt die absolute Chance des Eies 35% × 5% = 1.75%.
- Fehlt
Weight, wird standardmäßig1verwendet. Weightmuss eine ganze Zahl von mindestens1sein; Entfernen Sie einen Eintrag, anstatt das Gewicht0zuzuweisen.Rollswird ignoriert und erzeugt eine Warnung, daOneOfimmer einmal auswählt.- Der Eintrag
Chancewird ignoriert und erzeugt eine Warnung. Verwenden SieWeight, um die relative Auswahlwahrscheinlichkeit zu steuern. Uniquehat keine praktische Auswirkung, da nur ein Eintrag ausgewählt ist.
Pick: mehrfach gewichtete Ergebnisse ohne Wiederholungen
Pick wiederholt die gewichtete Auswahl Rolls Mal. Mit der Standardeinstellung Unique: true wird ein ausgewählter Eintrag vor der nächsten Auswahl entfernt und kann nicht erneut ausgewählt werden. Die Gewichtungen werden nach jeder Auswahl aus den verbleibenden Einträgen neu berechnet.
{
"Pools": [
{
"Name": "Choose two different rewards",
"Mode": "Pick",
"Rolls": 2,
"Unique": true,
"Entries": [
{ "ItemID": "AncientArmor", "Weight": 1 },
{ "ItemID": "AncientHelmet", "Weight": 1 },
{ "ItemID": "SkyAssaultRifle", "Weight": 1 }
]
}
]
}
Dadurch werden zwei unterschiedliche Einträge gewährt. Wenn Rolls größer als die Anzahl der verfügbaren eindeutigen Einträge ist, wird die Auswahl beendet, wenn keine Einträge mehr vorhanden sind. es ist kein Fehler.
Pick: wiederholte Ergebnisse zulassen
Setzen Sie den Unique des Pools auf false, um ausgewählte Einträge für spätere Rolls verfügbar zu halten. Wiederholte Zuteilungen desselben Artikels werden vor der Lieferung zusammengeführt.
{
"Pools": [
{
"Name": "Three supply rolls",
"Mode": "Pick",
"Rolls": 3,
"Unique": false,
"Entries": [
{ "ItemID": "Money", "Count": 5000, "Weight": 5 },
{ "ItemID": "AssaultRifleBullet", "Count": 100, "Weight": 2 }
]
}
]
}
All Drei Würfe können Money auswählen, alle können Munition auswählen oder die Ergebnisse können gemischt sein. Wenn Sie beispielsweise Money zweimal auswählen, entsteht ein Money-Zuschuss von 10.000 statt zwei separater Zuschüsse.
Pick: Überschreibt Unique pro Eintrag
Ein Unique der Eintragsebene überschreibt die Pool-Standardeinstellung nur für diesen Eintrag. Dies ermöglicht wiederholbare gemeinsame Belohnungen und einmalige Jackpot-Belohnungen im selben Pool.
{
"Pools": [
{
"Name": "Repeatable currency with unique jackpots",
"Mode": "Pick",
"Rolls": 3,
"Unique": true,
"Entries": [
{ "ItemID": "Money", "Count": { "Min": 5000, "Max": 7000 }, "Weight": 10, "Unique": false },
{ "ItemID": "AncientArmor", "Weight": 1 },
{ "ItemID": "AncientHelmet", "Weight": 1 }
]
}
]
}
Money bleibt nach der Auswahl in der Kandidatenliste, da der Eintrag Unique: false lautet. Die Rüstung und der Helm erben Unique: true aus dem Pool und werden nach der Auswahl entfernt. Das Umgekehrte gilt auch: Ein Pool kann Unique: false verwenden, während ein bestimmter Eintrag Unique: true verwendet.
All: jeden Eintrag gewähren
All gewährt jeden Eintrag genau einmal, wenn der Pool-Level Chance erfolgreich ist.
{
"Pools": [
{
"Name": "Complete reward bundle",
"Mode": "All",
"Chance": 100,
"Entries": [
{ "ItemID": "Money", "Count": 10000 },
{ "ItemID": "AssaultRifleBullet", "Count": { "Min": 100, "Max": 250 } },
{ "EXP": 15000 },
{ "TechnologyPoints": 2 },
{ "EggID": "PalEgg_Dark_05", "PalTemplate": "RaidReward.json", "Level": 50 }
]
}
]
}
Weight, die Einstiegsversion Chance und Unique haben keinen Einfluss auf All. Rolls wird ignoriert und erzeugt eine Warnung. Um das gesamte Bundle optional zu machen, legen Sie den Chance des Pools fest. Um einzelne Einträge optional zu machen, verwenden Sie stattdessen Independent oder direkt Drops.
Independent: Jeden Eintrag einzeln würfeln
Independent prüft jeden Eintrag und verwendet den eigenen Chance jedes Eintrags. Es können keine Einträge, ein Eintrag, mehrere Einträge oder alle Einträge gewährt werden.
{
"Pools": [
{
"Name": "Independent bonus rolls",
"Mode": "Independent",
"Chance": 80,
"Entries": [
{ "ItemID": "Money", "Count": 10000 },
{ "ItemID": "AssaultRifleBullet", "Count": 250, "Chance": 50 },
{ "ItemID": "AncientArmor", "Chance": 10 },
{ "EggID": "PalEgg_Dark_05", "PalTemplate": "RaidReward.json", "Level": { "Min": 45, "Max": 55 }, "Chance": 5 }
]
}
]
}
Erstens besteht eine Chance von 80 %, dass der Pool aktiviert wird. Wenn es aktiviert wird, ist Money garantiert, da sein Eintrag Chance weglässt; Die anderen drei Einträge würfeln unabhängig voneinander mit 50 %, 10 % und 5 %.
- Fehlender Eintrag
Chanceist standardmäßig100. WeightundUniquehaben keinen Einfluss auf diesen Modus.Rollswird ignoriert und erzeugt eine Warnung, da jeder Eintrag einmal überprüft wird.
Kombination von direkten Drops und mehreren Pools
Verwenden Sie mehrere Pools, wenn ein Empfänger mehrere unabhängig strukturierte Belohnungsebenen erhalten soll.
{
"Drops": [
{ "ItemID": "Money", "Count": 10000 },
{ "EXP": 5000 }
],
"Pools": [
{
"Name": "One equipment item",
"Mode": "OneOf",
"Entries": [
{ "ItemID": "AncientArmor", "Weight": 1 },
{ "ItemID": "AncientHelmet", "Weight": 1 }
]
},
{
"Name": "Two supply rolls",
"Mode": "Pick",
"Rolls": 2,
"Unique": false,
"Entries": [
{ "ItemID": "Money", "Count": 5000, "Weight": 3 },
{ "ItemID": "AssaultRifleBullet", "Count": 100, "Weight": 1 }
]
},
{
"Name": "Rare independent bonuses",
"Mode": "Independent",
"Entries": [
{ "TechnologyPoints": 1, "Chance": 20 },
{ "AncientTechnologyPoints": 1, "Chance": 5 }
]
}
]
}
Es gelten immer die direkten Money und EXP. Der erste Pool fügt einen Ausrüstungsgegenstand hinzu, der zweite trifft zwei gewichtete Versorgungsauswahlen mit Ersatz und der dritte führt zwei unabhängige Bonuswürfe durch. Ein Spieler kann Ergebnisse aus jedem Pool erhalten, da die Pools nicht miteinander konkurrieren.
Pal-Ei-Belohnungen
Ein Ei benötigt sowohl EggID als auch PalTemplate. Die Vorlage wird aus Pals/Templates/ geladen und .json kann weggelassen werden. Count steuert, wie viele Eier gewährt werden. Level: 0 oder eine weggelassene Ebene behält die Vorlagenebene bei; ein positiver fester Wert oder Bereich überschreibt ihn.
{
"Pools": [
{
"Name": "One random egg reward",
"Mode": "OneOf",
"Entries": [
{
"EggID": "PalEgg_Dark_05",
"PalTemplate": "RaidReward.json",
"Count": 1,
"Level": { "Min": 45, "Max": 55 },
"Weight": 3
},
{
"EggID": "PalEgg_Dragon_05",
"PalTemplate": "DragonReward.json",
"Count": { "Min": 1, "Max": 2 },
"Level": 50,
"Weight": 1
}
]
}
]
}
Wenn eine Ei-Vorlage bei Gewährung der Belohnung nicht importiert werden kann, protokolliert PalDefender einen Fehler und überspringt die Ei-Belohnung.
Wiederholte Ergebnisse zusammenführen
Ergebnisse aus direkten Drops und allen Pools werden vor der Lieferung kombiniert:
- Elemente mit demselben
ItemIDwerden durch Addition ihrer Anzahl zusammengeführt. - Eier verschmelzen nur, wenn
EggID,PalTemplateund der gewürfelteLevelalle identisch sind. - EXP, Technologiepunkte und antike Technologiepunkte werden addiert.
- Die Summe der zu gewährenden Artikel und Technologiepunkte wird auf das vorzeichenbehaftete 32-Bit-Maximum (
2,147,483,647) beschränkt.
Das bedeutet, dass wiederholte Pick-Ergebnisse keine doppelten Inventarzeilen in der Belohnungsanfrage erzeugen. Eier mit unterschiedlich ausgewürfelten Leveln bleiben separate Belohnungen.
DisableDamageMeter-Verteilung
Wenn DisableDamageMeter auf true steht, erstellt PalDefender keine Schadensrangliste und verwendet keine nummerierten Rangbelohnungen. Stattdessen wird Rewards.Default separat für jeden Spieler ausgewürfelt, der am Ende der Begegnung online ist – auch für Spieler, die dem beschworenen Pal keinen Schaden zugefügt haben.
{
"DisableDamageMeter": true,
"Rewards": {
"Default": {
"Drops": [
{ "ItemID": "Money", "Count": 5000 }
],
"Pools": [
{
"Mode": "Independent",
"Entries": [
{ "TechnologyPoints": 1, "Chance": 25 },
{ "AncientTechnologyPoints": 1, "Chance": 5 }
]
}
]
}
}
}
Der Money wird jedem Online-Spieler gewährt. Jeder Spieler würfelt unabhängig voneinander die beiden optionalen Punktbelohnungen. Wenn Default fehlt oder leer ist, erhält in diesem Modus niemand eine Belohnung und PalDefender schreibt eine Warnung in das Protokoll.
Ungültige und ignorierte Kombinationen
Ungültige Belohnungsdaten verhindern das Laden der Datei PalSummon. Unbekannte oder kontextuell ignorierte Felder erzeugen Warnungen, sodass Rechtschreibfehler und unwirksame Einstellungen im PalDefender-Protokoll sichtbar sind.
| Konfiguration | Ergebnis |
|---|---|
Ein Eintrag enthält sowohl ItemID als auch EXP |
Fehler: Ein Eintrag darf nur einen Belohnungstyp definieren. |
| Ein Belohnungseintrag hat kein Gegenstands-, Ei- oder Fortschrittsfeld | Fehler: PalDefender weiß nicht, was gewährt werden soll. |
Count: 0, Weight: 0 oder Rolls: 0 |
Fehler: Diese Werte müssen mindestens 1 sein. |
Ein Bereich lässt Min oder Max weg oder hat Max < Min |
Fehler. |
Chance liegt außerhalb von 0–100 |
Fehler. |
Ein Pool hat kein Entries, ein leeres Entries-Array oder einen Nicht-Array-Wert |
Fehler. |
Chance wird auf einem OneOf-, Pick- oder All-Eintrag platziert |
Warnung; Die Eintrittschance wird ignoriert. |
Rolls ist auf OneOf, All oder Independent |
festgelegt Warnung; Rolls wird ignoriert. |
Weight oder Unique wird direkt in Drops |
platziert Warnung; Verwenden Sie Chance für direkte Drops. |
Ein unbekanntes Feld wie Wieght ist vorhanden |
Warnung; Das Feld ist unbenutzt. |
Verwenden Sie einen gültigen JSON ohne Kommentare oder nachgestellte Kommas. Überprüfen Sie Ladewarnungen, auch wenn die Beschwörung noch geladen wird: Warnungen weisen normalerweise auf eine Einstellung hin, die keine Auswirkung hat.
Vollständiges Beispiel
{
"PalTemplate": "ArenaBoss.json",
"BossBattleName": "Arena Anubis",
"Uncapturable": false,
"CapturableAtHealthPercent": 10,
"DisableAI": false,
"DisableDamageMeter": false,
"SpawnScale": 1.5,
"DamageTakenMultiplier": 0.75,
"DamageDealtMultiplier": 2.0,
"X": 230,
"Y": -486,
"Z": 4097,
"DisableStatuses": ["Poison", "Burn", "Freeze"],
"Rewards": {
"1": {
"Drops": [
{ "ItemID": "Money", "Count": 50000 },
{ "AncientTechnologyPoints": 3 }
],
"Pools": [
{
"Name": "Winner bonus",
"Mode": "Pick",
"Rolls": 2,
"Unique": true,
"Entries": [
{ "ItemID": "AncientCivilizationParts", "Count": { "Min": 1, "Max": 3 }, "Weight": 5 },
{ "EggID": "PalEgg_Dark_05", "PalTemplate": "RaidReward.json", "Level": { "Min": 45, "Max": 55 }, "Weight": 1 }
]
}
]
},
"Default": {
"Drops": [
{ "EXP": 5000 },
{ "TechnologyPoints": 1 }
]
}
}
}
Validierungscheckliste
- Teste das referenzierte Template zuerst mit
/givemepal_j <Template>. - Ermittle
X,YundZmit/getpos; bei RCON muss/getposeine UserId erhalten. - Verwende gültiges JSON ohne Kommentare oder nachgestellte Kommas.
- Verwende pro Belohnungseintrag nur einen Belohnungstyp.
- Prüfe, dass jeder Pool ein nicht leeres
Entries-Array besitzt und nur Felder verwendet, die im gewähltenModewirksam sind. - Führe
/summon <Dateiname>aus und prüfe das PalDefender-Log auf genaue Validierungsfehler und Warnungen.