This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
// Eigene Spieldaten für diese Instanz.
|
||||
//
|
||||
// Die Datei liegt auf dem Host unter files/custom/game.js und wird in die
|
||||
// Container als /app/custom/game.js gemountet. Sie ist kein Teil des Images:
|
||||
// Änderungen brauchen nur einen Neustart, keinen Rebuild.
|
||||
//
|
||||
// docker compose restart al-backend al-game
|
||||
//
|
||||
// Regeln:
|
||||
// - Objekte werden tief zusammengeführt; Arrays ersetzen den bisherigen Wert.
|
||||
// - Neue IDs sind erlaubt (Items, Monster, NPCs, Conditions, ...), solange
|
||||
// sie eine vorhandene Grafik aus design/dimensions.js verwenden.
|
||||
// - Neue Karten sind nicht möglich: ihre Geometrie liegt in MongoDB.
|
||||
// - `drops` wird an die vorhandene Tabelle angehängt.
|
||||
// - `phrases` überschreibt Anzeigetexte. "*" gilt für alle Sprachen,
|
||||
// ein Sprachcode (de, en, ...) hat Vorrang. Das ist nötig, wenn sich
|
||||
// Zahlen in einem Tooltip ändern.
|
||||
// - `apply(game)` ist ein Notausgang für alles, was sich nicht als Daten
|
||||
// ausdrücken lässt; `game` enthält die Design-Objekte und `drops`.
|
||||
//
|
||||
// Aktuelles Beispiel: "Lone Wolf" gibt 10× XP statt 3×.
|
||||
// Der Game-Server liest die Multiplikatoren aus der Condition-Definition
|
||||
// (siehe docker/patch-custom-game.js); der Tooltip-Text kommt aus `phrases`.
|
||||
module.exports = {
|
||||
conditions: {
|
||||
encouragement_lonewolf: {
|
||||
gold_multiplier: 3,
|
||||
xp_multiplier: 10,
|
||||
luck_multiplier: 3,
|
||||
// Fallback für Stellen, die die Rohdaten ohne Phrase anzeigen.
|
||||
explanation:
|
||||
"3× Gold, 10× XP and 3× Luck while you run one non-merchant character. Merchants may stay online. Extra rewards follow your contribution.",
|
||||
},
|
||||
},
|
||||
phrases: {
|
||||
"*": {
|
||||
"condition.encouragement_lonewolf.explanation":
|
||||
"3× Gold, 10× XP and 3× Luck while you run one non-merchant character. Merchants may stay online. Extra rewards follow your contribution.",
|
||||
},
|
||||
de: {
|
||||
"condition.encouragement_lonewolf.explanation":
|
||||
"3× Gold, 10× XP und 3× Glück, solange du nur einen Nicht-Händler-Charakter spielst. Händler dürfen online bleiben. Zusätzliche Belohnungen richten sich nach deinem Beitrag.",
|
||||
},
|
||||
},
|
||||
|
||||
// Weitere Beispiele – einkommentieren und anpassen:
|
||||
//
|
||||
// items: {
|
||||
// "training_sword": {
|
||||
// type: "weapon",
|
||||
// wtype: "short_sword",
|
||||
// skin: "sword", // muss in design/dimensions.js existieren
|
||||
// name: "Training Sword",
|
||||
// g: 10,
|
||||
// },
|
||||
// },
|
||||
//
|
||||
// monsters: {
|
||||
// "training_goo": {
|
||||
// skin: "goo",
|
||||
// name: "Training Goo",
|
||||
// speed: 6, charge: 12, hp: 100, xp: 100, attack: 5,
|
||||
// damage_type: "physical", respawn: 1, gold: 20, range: 15,
|
||||
// frequency: 0.4, aggro: 0, aa: 1,
|
||||
// // Zusätzlich muss das Monster in einer Karte auftauchen, z. B.:
|
||||
// // maps: { main: { monsters: [{ type: "training_goo", position: [0, 0], radius: 100, count: 1 }] } },
|
||||
// },
|
||||
// },
|
||||
//
|
||||
// drops: {
|
||||
// main: [[0.001, "training_sword"]], // [Chance, Item-ID], wird angehängt
|
||||
// },
|
||||
//
|
||||
// gold: {
|
||||
// base: 0.8, // Standard 0.64
|
||||
// },
|
||||
};
|
||||
Reference in New Issue
Block a user