Spiel erweitert
This commit is contained in:
@@ -267,73 +267,81 @@ async function initializeFalukantProducts() {
|
||||
}
|
||||
|
||||
async function initializeFalukantTitles() {
|
||||
await TitleOfNobility.bulkCreate([
|
||||
{ labelTr: "noncivil" },
|
||||
{ labelTr: "civil" },
|
||||
{ labelTr: "sir" },
|
||||
{ labelTr: "townlord" },
|
||||
{ labelTr: "by" },
|
||||
{ labelTr: "landlord" },
|
||||
{ labelTr: "knight" },
|
||||
{ labelTr: "baron" },
|
||||
{ labelTr: "count" },
|
||||
{ labelTr: "palsgrave" },
|
||||
{ labelTr: "margrave" },
|
||||
{ labelTr: "landgrave" },
|
||||
{ labelTr: "ruler" },
|
||||
{ labelTr: "elector" },
|
||||
{ labelTr: "imperial-prince" },
|
||||
{ labelTr: "duke" },
|
||||
{ labelTr: "grand-duke" },
|
||||
{ labelTr: "prince-regent" },
|
||||
{ labelTr: "king" },
|
||||
], {
|
||||
updateOnDuplicate: ['labelTr'],
|
||||
});
|
||||
try {
|
||||
await TitleOfNobility.bulkCreate([
|
||||
{ labelTr: "noncivil", level: 1 },
|
||||
{ labelTr: "civil", level: 2 },
|
||||
{ labelTr: "sir", level: 3 },
|
||||
{ labelTr: "townlord", level: 4 },
|
||||
{ labelTr: "by", level: 5 },
|
||||
{ labelTr: "landlord", level: 6 },
|
||||
{ labelTr: "knight", level: 7 },
|
||||
{ labelTr: "baron", level: 8 },
|
||||
{ labelTr: "count", level: 9 },
|
||||
{ labelTr: "palsgrave", level: 10 },
|
||||
{ labelTr: "margrave", level: 11 },
|
||||
{ labelTr: "landgrave", level: 12 },
|
||||
{ labelTr: "ruler", level: 13 },
|
||||
{ labelTr: "elector", level: 14 },
|
||||
{ labelTr: "imperial-prince", level: 15 },
|
||||
{ labelTr: "duke", level: 16 },
|
||||
{ labelTr: "grand-duke", level: 17 },
|
||||
{ labelTr: "prince-regent", level: 18 },
|
||||
{ labelTr: "king", level: 19 },
|
||||
], {
|
||||
updateOnDuplicate: ['labelTr'],
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error initializing Falukant titles:', error);
|
||||
}
|
||||
}
|
||||
|
||||
async function initializeFalukantTitleRequirements() {
|
||||
const titleRequirements = [
|
||||
{ labelTr: "civil", requirements: [{ type: "money", value: 500 }] },
|
||||
{ labelTr: "sir", requirements: [{ type: "branches", value: 2 }] },
|
||||
{ labelTr: "townlord", requirements: [] },
|
||||
{ labelTr: "by", requirements: [] },
|
||||
{ labelTr: "landlord", requirements: [] },
|
||||
{ labelTr: "knight", requirements: [] },
|
||||
{ labelTr: "baron", requirements: [{ type: "branches", value: 4 }] },
|
||||
{ labelTr: "count", requirements: [] },
|
||||
{ labelTr: "palsgrave", requirements: [] },
|
||||
{ labelTr: "margrave", requirements: [] },
|
||||
{ labelTr: "landgrave", requirements: [] },
|
||||
{ labelTr: "ruler", requirements: [] },
|
||||
{ labelTr: "elector", requirements: [] },
|
||||
{ labelTr: "imperial-prince", requirements: [] },
|
||||
{ labelTr: "duke", requirements: [] },
|
||||
{ labelTr: "grand-duke", requirements: [] },
|
||||
{ labelTr: "prince-regent", requirements: [] },
|
||||
{ labelTr: "king", requirements: [] },
|
||||
{ labelTr: "civil", requirements: [{ type: "money", value: 5000 }, { type: "cost", value: 500 }] },
|
||||
{ labelTr: "sir", requirements: [{ type: "branches", value: 2 }, { type: "cost", value: 1000 }] },
|
||||
{ labelTr: "townlord", requirements: [{ type: "cost", value: 3000 }] },
|
||||
{ labelTr: "by", requirements: [{ type: "cost", value: 6000 }] },
|
||||
{ labelTr: "landlord", requirements: [{ type: "cost", value: 9000 }] },
|
||||
{ labelTr: "knight", requirements: [{ type: "cost", value: 11000 }] },
|
||||
{ labelTr: "baron", requirements: [{ type: "branches", value: 4 }, { type: "cost", value: 15000 }] },
|
||||
{ labelTr: "count", requirements: [{ type: "cost", value: 19000 }] },
|
||||
{ labelTr: "palsgrave", requirements: [{ type: "cost", value: 25000 }] },
|
||||
{ labelTr: "margrave", requirements: [{ type: "cost", value: 33000 }] },
|
||||
{ labelTr: "landgrave", requirements: [{ type: "cost", value: 47000 }] },
|
||||
{ labelTr: "ruler", requirements: [{ type: "cost", value: 66000 }] },
|
||||
{ labelTr: "elector", requirements: [{ type: "cost", value: 79000 }] },
|
||||
{ labelTr: "imperial-prince", requirements: [{ type: "cost", value: 99999 }] },
|
||||
{ labelTr: "duke", requirements: [{ type: "cost", value: 130000 }] },
|
||||
{ labelTr: "grand-duke",requirements: [{ type: "cost", value: 170000 }] },
|
||||
{ labelTr: "prince-regent", requirements: [{ type: "cost", value: 270000 }] },
|
||||
{ labelTr: "king", requirements: [{ type: "cost", value: 500000 }] },
|
||||
];
|
||||
|
||||
const titles = await TitleOfNobility.findAll();
|
||||
const requirementsToInsert = [];
|
||||
|
||||
for (let i = 0; i < titleRequirements.length; i++) {
|
||||
const titleRequirement = titleRequirements[i];
|
||||
const title = titles.find(t => t.labelTr === titleRequirement.labelTr);
|
||||
const titleReq = titleRequirements[i];
|
||||
const title = titles.find(t => t.labelTr === titleReq.labelTr);
|
||||
if (!title) continue;
|
||||
|
||||
if (i > 1) {
|
||||
const moneyRequirement = {
|
||||
type: "money",
|
||||
titleReq.requirements.push({
|
||||
type: "money",
|
||||
value: 5000 * Math.pow(3, i - 1),
|
||||
};
|
||||
titleRequirement.requirements.push(moneyRequirement);
|
||||
});
|
||||
}
|
||||
for (const requirement of titleRequirement.requirements) {
|
||||
|
||||
for (const req of titleReq.requirements) {
|
||||
requirementsToInsert.push({
|
||||
titleId: title.id,
|
||||
requirementType: requirement.type,
|
||||
requirementValue: requirement.value,
|
||||
titleId: title.id,
|
||||
requirementType: req.type,
|
||||
requirementValue: req.value,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
await TitleRequirement.bulkCreate(requirementsToInsert, { ignoreDuplicates: true });
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user