Compare commits
No commits in common. "39ee5b27fdaeb0146043637a41352f7dbe15fa33" and "79c2829a7730329380445cffafbb5d8718932391" have entirely different histories.
39ee5b27fd
...
79c2829a77
|
@ -1545,6 +1545,7 @@ const modifierPool: ModifierPool = {
|
||||||
new WeightedModifierType(modifierTypes.TEMP_STAT_STAGE_BOOSTER, 4),
|
new WeightedModifierType(modifierTypes.TEMP_STAT_STAGE_BOOSTER, 4),
|
||||||
new WeightedModifierType(modifierTypes.BERRY, 2),
|
new WeightedModifierType(modifierTypes.BERRY, 2),
|
||||||
new WeightedModifierType(modifierTypes.TM_COMMON, 2),
|
new WeightedModifierType(modifierTypes.TM_COMMON, 2),
|
||||||
|
new WeightedModifierType(modifierTypes.VOUCHER, (party: Pokemon[], rerollCount: integer) => !party[0].scene.gameMode.isDaily ? Math.max(1 - rerollCount, 0) : 0, 1),
|
||||||
].map(m => {
|
].map(m => {
|
||||||
m.setTier(ModifierTier.COMMON); return m;
|
m.setTier(ModifierTier.COMMON); return m;
|
||||||
}),
|
}),
|
||||||
|
@ -1615,7 +1616,7 @@ const modifierPool: ModifierPool = {
|
||||||
new WeightedModifierType(modifierTypes.BASE_STAT_BOOSTER, 3),
|
new WeightedModifierType(modifierTypes.BASE_STAT_BOOSTER, 3),
|
||||||
new WeightedModifierType(modifierTypes.TERA_SHARD, 1),
|
new WeightedModifierType(modifierTypes.TERA_SHARD, 1),
|
||||||
new WeightedModifierType(modifierTypes.DNA_SPLICERS, (party: Pokemon[]) => party[0].scene.gameMode.isSplicedOnly && party.filter(p => !p.fusionSpecies).length > 1 ? 4 : 0),
|
new WeightedModifierType(modifierTypes.DNA_SPLICERS, (party: Pokemon[]) => party[0].scene.gameMode.isSplicedOnly && party.filter(p => !p.fusionSpecies).length > 1 ? 4 : 0),
|
||||||
new WeightedModifierType(modifierTypes.VOUCHER, (party: Pokemon[], rerollCount: integer) => !party[0].scene.gameMode.isDaily ? Math.max(1 - rerollCount, 0) : 0, 1),
|
new WeightedModifierType(modifierTypes.VOUCHER, (party: Pokemon[], rerollCount: integer) => !party[0].scene.gameMode.isDaily ? Math.max(3 - rerollCount * 3, 0) : 0, 3),
|
||||||
].map(m => {
|
].map(m => {
|
||||||
m.setTier(ModifierTier.GREAT); return m;
|
m.setTier(ModifierTier.GREAT); return m;
|
||||||
}),
|
}),
|
||||||
|
@ -1696,7 +1697,7 @@ const modifierPool: ModifierPool = {
|
||||||
new WeightedModifierType(modifierTypes.RARE_FORM_CHANGE_ITEM, (party: Pokemon[]) => Math.min(Math.ceil(party[0].scene.currentBattle.waveIndex / 50), 4) * 6, 24),
|
new WeightedModifierType(modifierTypes.RARE_FORM_CHANGE_ITEM, (party: Pokemon[]) => Math.min(Math.ceil(party[0].scene.currentBattle.waveIndex / 50), 4) * 6, 24),
|
||||||
new WeightedModifierType(modifierTypes.MEGA_BRACELET, (party: Pokemon[]) => Math.min(Math.ceil(party[0].scene.currentBattle.waveIndex / 50), 4) * 9, 36),
|
new WeightedModifierType(modifierTypes.MEGA_BRACELET, (party: Pokemon[]) => Math.min(Math.ceil(party[0].scene.currentBattle.waveIndex / 50), 4) * 9, 36),
|
||||||
new WeightedModifierType(modifierTypes.DYNAMAX_BAND, (party: Pokemon[]) => Math.min(Math.ceil(party[0].scene.currentBattle.waveIndex / 50), 4) * 9, 36),
|
new WeightedModifierType(modifierTypes.DYNAMAX_BAND, (party: Pokemon[]) => Math.min(Math.ceil(party[0].scene.currentBattle.waveIndex / 50), 4) * 9, 36),
|
||||||
new WeightedModifierType(modifierTypes.VOUCHER_PLUS, (party: Pokemon[], rerollCount: integer) => !party[0].scene.gameMode.isDaily ? Math.max(3 - rerollCount * 1, 0) : 0, 3),
|
new WeightedModifierType(modifierTypes.VOUCHER_PLUS, (party: Pokemon[], rerollCount: integer) => !party[0].scene.gameMode.isDaily ? Math.max(9 - rerollCount * 3, 0) : 0, 9),
|
||||||
].map(m => {
|
].map(m => {
|
||||||
m.setTier(ModifierTier.ROGUE); return m;
|
m.setTier(ModifierTier.ROGUE); return m;
|
||||||
}),
|
}),
|
||||||
|
@ -1705,7 +1706,7 @@ const modifierPool: ModifierPool = {
|
||||||
new WeightedModifierType(modifierTypes.SHINY_CHARM, 14),
|
new WeightedModifierType(modifierTypes.SHINY_CHARM, 14),
|
||||||
new WeightedModifierType(modifierTypes.HEALING_CHARM, 18),
|
new WeightedModifierType(modifierTypes.HEALING_CHARM, 18),
|
||||||
new WeightedModifierType(modifierTypes.MULTI_LENS, 18),
|
new WeightedModifierType(modifierTypes.MULTI_LENS, 18),
|
||||||
new WeightedModifierType(modifierTypes.VOUCHER_PREMIUM, (party: Pokemon[], rerollCount: integer) => !party[0].scene.gameMode.isDaily && !party[0].scene.gameMode.isEndless && !party[0].scene.gameMode.isSplicedOnly ? Math.max(5 - rerollCount * 2, 0) : 0, 5),
|
new WeightedModifierType(modifierTypes.VOUCHER_PREMIUM, (party: Pokemon[], rerollCount: integer) => !party[0].scene.gameMode.isDaily && !party[0].scene.gameMode.isEndless && !party[0].scene.gameMode.isSplicedOnly ? Math.max(15 - rerollCount * 5, 0) : 0, 15),
|
||||||
new WeightedModifierType(modifierTypes.DNA_SPLICERS, (party: Pokemon[]) => !party[0].scene.gameMode.isSplicedOnly && party.filter(p => !p.fusionSpecies).length > 1 ? 24 : 0, 24),
|
new WeightedModifierType(modifierTypes.DNA_SPLICERS, (party: Pokemon[]) => !party[0].scene.gameMode.isSplicedOnly && party.filter(p => !p.fusionSpecies).length > 1 ? 24 : 0, 24),
|
||||||
new WeightedModifierType(modifierTypes.MINI_BLACK_HOLE, (party: Pokemon[]) => (!party[0].scene.gameMode.isFreshStartChallenge() && party[0].scene.gameData.unlocks[Unlockables.MINI_BLACK_HOLE]) ? 1 : 0, 1),
|
new WeightedModifierType(modifierTypes.MINI_BLACK_HOLE, (party: Pokemon[]) => (!party[0].scene.gameMode.isFreshStartChallenge() && party[0].scene.gameData.unlocks[Unlockables.MINI_BLACK_HOLE]) ? 1 : 0, 1),
|
||||||
].map(m => {
|
].map(m => {
|
||||||
|
|
|
@ -30,7 +30,7 @@ export class TrainerVictoryPhase extends BattlePhase {
|
||||||
const trainerType = this.scene.currentBattle.trainer?.config.trainerType!; // TODO: is this bang correct?
|
const trainerType = this.scene.currentBattle.trainer?.config.trainerType!; // TODO: is this bang correct?
|
||||||
if (vouchers.hasOwnProperty(TrainerType[trainerType])) {
|
if (vouchers.hasOwnProperty(TrainerType[trainerType])) {
|
||||||
if (!this.scene.validateVoucher(vouchers[TrainerType[trainerType]]) && this.scene.currentBattle.trainer?.config.isBoss) {
|
if (!this.scene.validateVoucher(vouchers[TrainerType[trainerType]]) && this.scene.currentBattle.trainer?.config.isBoss) {
|
||||||
this.scene.unshiftPhase(new ModifierRewardPhase(this.scene, [modifierTypes.VOUCHER, modifierTypes.VOUCHER, modifierTypes.VOUCHER_PLUS, modifierTypes.VOUCHER_PREMIUM][vouchers[TrainerType[trainerType]].voucherType]));
|
this.scene.unshiftPhase(new ModifierRewardPhase(this.scene, [modifierTypes.VOUCHER_PLUS, modifierTypes.VOUCHER_PLUS, modifierTypes.VOUCHER_PLUS, modifierTypes.VOUCHER_PREMIUM][vouchers[TrainerType[trainerType]].voucherType]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,25 +22,15 @@ export function applySessionDataPatches(data: SessionSaveData) {
|
||||||
} else if (m.className === "PokemonResetNegativeStatStageModifier") {
|
} else if (m.className === "PokemonResetNegativeStatStageModifier") {
|
||||||
m.className = "ResetNegativeStatStageModifier";
|
m.className = "ResetNegativeStatStageModifier";
|
||||||
} else if (m.className === "TempBattleStatBoosterModifier") {
|
} else if (m.className === "TempBattleStatBoosterModifier") {
|
||||||
// Dire Hit no longer a part of the TempBattleStatBoosterModifierTypeGenerator
|
m.className = "TempStatStageBoosterModifier";
|
||||||
if (m.typeId !== "DIRE_HIT") {
|
m.typeId = "TEMP_STAT_STAGE_BOOSTER";
|
||||||
m.className = "TempStatStageBoosterModifier";
|
|
||||||
m.typeId = "TEMP_STAT_STAGE_BOOSTER";
|
|
||||||
|
|
||||||
// Migration from TempBattleStat to Stat
|
// Migration from TempBattleStat to Stat
|
||||||
const newStat = m.typePregenArgs[0] + 1;
|
const newStat = m.typePregenArgs[0] + 1;
|
||||||
m.typePregenArgs[0] = newStat;
|
m.typePregenArgs[0] = newStat;
|
||||||
|
|
||||||
// From [ stat, battlesLeft ] to [ stat, maxBattles, battleCount ]
|
|
||||||
m.args = [ newStat, 5, m.args[1] ];
|
|
||||||
} else {
|
|
||||||
m.className = "TempCritBoosterModifier";
|
|
||||||
m.typePregenArgs = [];
|
|
||||||
|
|
||||||
// From [ stat, battlesLeft ] to [ maxBattles, battleCount ]
|
|
||||||
m.args = [ 5, m.args[1] ];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// From [ stat, battlesLeft ] to [ stat, maxBattles, battleCount ]
|
||||||
|
m.args = [ newStat, 5, m.args[1] ];
|
||||||
} else if (m.className === "DoubleBattleChanceBoosterModifier" && m.args.length === 1) {
|
} else if (m.className === "DoubleBattleChanceBoosterModifier" && m.args.length === 1) {
|
||||||
let maxBattles: number;
|
let maxBattles: number;
|
||||||
switch (m.typeId) {
|
switch (m.typeId) {
|
||||||
|
@ -83,7 +73,7 @@ export function applySystemDataPatches(data: SystemSaveData) {
|
||||||
case "1.0.3":
|
case "1.0.3":
|
||||||
case "1.0.4":
|
case "1.0.4":
|
||||||
// --- LEGACY PATCHES ---
|
// --- LEGACY PATCHES ---
|
||||||
if (data.starterData && data.dexData) {
|
if (data.starterData) {
|
||||||
// Migrate ability starter data if empty for caught species
|
// Migrate ability starter data if empty for caught species
|
||||||
Object.keys(data.starterData).forEach(sd => {
|
Object.keys(data.starterData).forEach(sd => {
|
||||||
if (data.dexData[sd]?.caughtAttr && (data.starterData[sd] && !data.starterData[sd].abilityAttr)) {
|
if (data.dexData[sd]?.caughtAttr && (data.starterData[sd] && !data.starterData[sd].abilityAttr)) {
|
||||||
|
@ -114,14 +104,12 @@ export function applySystemDataPatches(data: SystemSaveData) {
|
||||||
// --- PATCHES ---
|
// --- PATCHES ---
|
||||||
|
|
||||||
// Fix Starter Data
|
// Fix Starter Data
|
||||||
if (data.starterData && data.dexData) {
|
for (const starterId of defaultStarterSpecies) {
|
||||||
for (const starterId of defaultStarterSpecies) {
|
if (data.starterData[starterId]?.abilityAttr) {
|
||||||
if (data.starterData[starterId]?.abilityAttr) {
|
data.starterData[starterId].abilityAttr |= AbilityAttr.ABILITY_1;
|
||||||
data.starterData[starterId].abilityAttr |= AbilityAttr.ABILITY_1;
|
}
|
||||||
}
|
if (data.dexData[starterId]?.caughtAttr) {
|
||||||
if (data.dexData[starterId]?.caughtAttr) {
|
data.dexData[starterId].caughtAttr |= DexAttr.FEMALE;
|
||||||
data.dexData[starterId].caughtAttr |= DexAttr.FEMALE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue