Handle title decrease after applying alignment
This commit is contained in:
parent
521a8998bc
commit
4d3cbbb989
@ -10,3 +10,14 @@ export const getMaxStanding = (syndicate: ISyndicate, title: number): number =>
|
||||
}
|
||||
return syndicate.titles.find(x => x.level == title)!.maxStanding;
|
||||
};
|
||||
|
||||
export const getMinStanding = (syndicate: ISyndicate, title: number): number => {
|
||||
if (!syndicate.titles) {
|
||||
// LibrarySyndicate
|
||||
return 0;
|
||||
}
|
||||
if (title == 0) {
|
||||
return syndicate.titles.find(x => x.level == -1)!.maxStanding;
|
||||
}
|
||||
return syndicate.titles.find(x => x.level == title)!.minStanding;
|
||||
};
|
||||
|
@ -82,7 +82,7 @@ import { handleBundleAcqusition } from "./purchaseService";
|
||||
import libraryDailyTasks from "@/static/fixed_responses/libraryDailyTasks.json";
|
||||
import { getRandomElement, getRandomInt, getRandomWeightedReward, SRng } from "./rngService";
|
||||
import { createMessage } from "./inboxService";
|
||||
import { getMaxStanding } from "@/src/helpers/syndicateStandingHelper";
|
||||
import { getMaxStanding, getMinStanding } from "@/src/helpers/syndicateStandingHelper";
|
||||
import { getNightwaveSyndicateTag, getWorldState } from "./worldStateService";
|
||||
import { generateNemesisProfile, INemesisProfile } from "../helpers/nemesisHelpers";
|
||||
import { TAccountDocument } from "./loginService";
|
||||
@ -1217,6 +1217,10 @@ export const addStanding = (
|
||||
const max = getMaxStanding(syndicateMeta, syndicate.Title ?? 0);
|
||||
if (syndicate.Standing + gainedStanding > max) gainedStanding = max - syndicate.Standing;
|
||||
|
||||
if (syndicate.Title == -2 && syndicate.Standing + gainedStanding < -71000) {
|
||||
gainedStanding = -71000 + syndicate.Standing;
|
||||
}
|
||||
|
||||
if (!isMedallion || syndicateMeta.medallionsCappedByDailyLimit) {
|
||||
if (gainedStanding > getStandingLimit(inventory, syndicateMeta.dailyLimitBin)) {
|
||||
gainedStanding = getStandingLimit(inventory, syndicateMeta.dailyLimitBin);
|
||||
@ -1225,14 +1229,25 @@ export const addStanding = (
|
||||
}
|
||||
|
||||
syndicate.Standing += gainedStanding;
|
||||
affiliationMods.push({
|
||||
const affiliationMod: IAffiliationMods = {
|
||||
Tag: syndicateTag,
|
||||
Standing: gainedStanding
|
||||
});
|
||||
};
|
||||
affiliationMods.push(affiliationMod);
|
||||
|
||||
if (syndicateMeta.alignments && propagateAlignments) {
|
||||
for (const [tag, factor] of Object.entries(syndicateMeta.alignments)) {
|
||||
addStanding(inventory, tag, gainedStanding * factor, affiliationMods, isMedallion, false);
|
||||
if (syndicateMeta.alignments) {
|
||||
if (propagateAlignments) {
|
||||
for (const [tag, factor] of Object.entries(syndicateMeta.alignments)) {
|
||||
addStanding(inventory, tag, gainedStanding * factor, affiliationMods, isMedallion, false);
|
||||
}
|
||||
} else {
|
||||
while (syndicate.Standing < getMinStanding(syndicateMeta, syndicate.Title ?? 0)) {
|
||||
syndicate.Title ??= 0;
|
||||
syndicate.Title -= 1;
|
||||
affiliationMod.Title ??= 0;
|
||||
affiliationMod.Title -= 1;
|
||||
logger.debug(`${syndicateTag} is decreasing to title ${syndicate.Title} after applying alignment`);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user