Change shiny luck

Disabling shiny luck now only disables your starters' shiny luck

Changed wording for the logger in some places
This commit is contained in:
RedstonewolfX 2024-07-20 09:08:24 -04:00
parent 62cb10159a
commit 789df4467d
6 changed files with 25 additions and 13 deletions

View File

@ -564,6 +564,7 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali
public genderDiffs: boolean; public genderDiffs: boolean;
public canChangeForm: boolean; public canChangeForm: boolean;
public forms: PokemonForm[]; public forms: PokemonForm[];
public luckOverride: integer;
constructor(id: Species, generation: integer, subLegendary: boolean, legendary: boolean, mythical: boolean, species: string, constructor(id: Species, generation: integer, subLegendary: boolean, legendary: boolean, mythical: boolean, species: string,
type1: Type, type2: Type, height: number, weight: number, ability1: Abilities, ability2: Abilities, abilityHidden: Abilities, type1: Type, type2: Type, height: number, weight: number, ability1: Abilities, ability2: Abilities, abilityHidden: Abilities,

View File

@ -826,7 +826,18 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
} }
getLuck(): integer { getLuck(): integer {
return this.luck + (this.isFusion() ? this.fusionLuck : 0); var L1 = this.luck
var L2 = 0
if (this.species.luckOverride) {
L1 = this.species.luckOverride
}
if (this.isFusion()) {
L2 = this.fusionLuck
if (this.fusionSpecies.luckOverride) {
L2 = this.fusionSpecies.luckOverride
}
}
return L1 + L2;
} }
isFusion(): boolean { isFusion(): boolean {

View File

@ -2082,7 +2082,7 @@ function getNewModifierTypeOption(party: Pokemon[], poolType: ModifierPoolType,
if (player && tierValue) { if (player && tierValue) {
var partyLuckValue = getPartyLuckValue(party); var partyLuckValue = getPartyLuckValue(party);
if (scene) { if (scene) {
if (scene.gameMode.modeId == GameModes.DAILY && scene.disableDailyShinies) { if (scene.gameMode.modeId == GameModes.DAILY && scene.disableDailyShinies && false) {
partyLuckValue = 0 partyLuckValue = 0
} }
} }
@ -2110,9 +2110,9 @@ function getNewModifierTypeOption(party: Pokemon[], poolType: ModifierPoolType,
} else if (upgradeCount === undefined && player) { } else if (upgradeCount === undefined && player) {
upgradeCount = 0; upgradeCount = 0;
if (tier < ModifierTier.MASTER) { if (tier < ModifierTier.MASTER) {
var partyShinyCount = party.filter(p => p.isShiny() && !p.isFainted()).length; var partyShinyCount = party.filter(p => p.isShiny() && !p.isFainted() && (!this.scene.disableDailyShinies || p.species.luckOverride != 0)).length;
if (scene) { if (scene) {
if (scene.gameMode.modeId == GameModes.DAILY && scene.disableDailyShinies) { if (scene.gameMode.modeId == GameModes.DAILY && scene.disableDailyShinies && false) {
partyShinyCount = 0 partyShinyCount = 0
} }
} }

View File

@ -3193,12 +3193,7 @@ export class TurnStartPhase extends FieldPhase {
//this.scene.unshiftPhase(new AttemptCapturePhase(this.scene, turnCommand.targets[0] % 2, turnCommand.cursor)); //this.scene.unshiftPhase(new AttemptCapturePhase(this.scene, turnCommand.targets[0] % 2, turnCommand.cursor));
break; break;
case Command.POKEMON: case Command.POKEMON:
if (this.scene.currentBattle.double) { LoggerTools.Actions[pokemon.getBattlerIndex()] = ((turnCommand.args[0] as boolean) ? "Baton" : "Switch")
LoggerTools.Actions[pokemon.getBattlerIndex()] = ((turnCommand.args[0] as boolean) ? "Baton" : "Switch") + " " + LoggerTools.playerPokeName(this.scene, pokemon) + " to " + LoggerTools.playerPokeName(this.scene, turnCommand.cursor)
} else {
//LoggerTools.Actions[pokemon.getBattlerIndex()] = ((turnCommand.args[0] as boolean) ? "Baton" : "Switch") + " " + LoggerTools.playerPokeName(this.scene, pokemon) + " to " + LoggerTools.playerPokeName(this.scene, turnCommand.cursor)
LoggerTools.Actions[pokemon.getBattlerIndex()] = ((turnCommand.args[0] as boolean) ? "Baton" : "Switch") + " to " + LoggerTools.playerPokeName(this.scene, turnCommand.cursor)
}
break; break;
case Command.RUN: case Command.RUN:
LoggerTools.Actions[pokemon.getBattlerIndex()] = "Run" LoggerTools.Actions[pokemon.getBattlerIndex()] = "Run"
@ -3385,7 +3380,7 @@ export class TurnStartPhase extends FieldPhase {
if (LoggerTools.Actions.length > 1 && (LoggerTools.Actions[0] == "" || LoggerTools.Actions[0] == undefined || LoggerTools.Actions[0] == null)) if (LoggerTools.Actions.length > 1 && (LoggerTools.Actions[0] == "" || LoggerTools.Actions[0] == undefined || LoggerTools.Actions[0] == null))
LoggerTools.Actions.shift() // If the left slot isn't doing anything, delete its entry LoggerTools.Actions.shift() // If the left slot isn't doing anything, delete its entry
LoggerTools.logActions(this.scene, this.scene.currentBattle.waveIndex, LoggerTools.Actions.join(" | ")) LoggerTools.logActions(this.scene, this.scene.currentBattle.waveIndex, LoggerTools.Actions.join(" & "))
LoggerTools.logEnemyAction(this.scene, this.scene.currentBattle.waveIndex, LoggerTools.EnemyActions.join(" | ")) LoggerTools.logEnemyAction(this.scene, this.scene.currentBattle.waveIndex, LoggerTools.EnemyActions.join(" | "))
this.end(); this.end();
@ -5682,7 +5677,9 @@ export class SwitchPhase extends BattlePhase {
LoggerTools.logActions(this.scene, this.scene.currentBattle.waveIndex, "Pre-switch " + (option == PartyOption.PASS_BATON ? "+ Baton" : "") + " " + LoggerTools.playerPokeName(this.scene, fieldIndex) + " to " + LoggerTools.playerPokeName(this.scene, slotIndex)) LoggerTools.logActions(this.scene, this.scene.currentBattle.waveIndex, "Pre-switch " + (option == PartyOption.PASS_BATON ? "+ Baton" : "") + " " + LoggerTools.playerPokeName(this.scene, fieldIndex) + " to " + LoggerTools.playerPokeName(this.scene, slotIndex))
} }
if (LoggerTools.isFaintSwitch.value) { if (LoggerTools.isFaintSwitch.value) {
LoggerTools.logActions(this.scene, this.scene.currentBattle.waveIndex, (option == PartyOption.PASS_BATON ? "Baton" : "Send") + " out " + LoggerTools.playerPokeName(this.scene, slotIndex)) LoggerTools.logActions(this.scene, this.scene.currentBattle.waveIndex, (option == PartyOption.PASS_BATON ? "Baton" : "Send") + " in " + LoggerTools.playerPokeName(this.scene, slotIndex))
} else {
LoggerTools.Actions[this.scene.getParty()[fieldIndex].getBattlerIndex()] += " to " + LoggerTools.playerPokeName(this.scene, slotIndex)
} }
this.scene.unshiftPhase(new SwitchSummonPhase(this.scene, fieldIndex, slotIndex, this.doReturn, option === PartyOption.PASS_BATON)); this.scene.unshiftPhase(new SwitchSummonPhase(this.scene, fieldIndex, slotIndex, this.doReturn, option === PartyOption.PASS_BATON));
} }

View File

@ -2593,6 +2593,9 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.starterSelectCallback = null; this.starterSelectCallback = null;
originalStarterSelectCallback(new Array(this.starterGens.length).fill(0).map(function (_, i) { originalStarterSelectCallback(new Array(this.starterGens.length).fill(0).map(function (_, i) {
const starterSpecies = thisObj.genSpecies[thisObj.starterGens[i]][thisObj.starterCursors[i]]; const starterSpecies = thisObj.genSpecies[thisObj.starterGens[i]][thisObj.starterCursors[i]];
if (this.scene.disableDailyShinies) {
starterSpecies.luckOverride = 0;
}
return { return {
species: starterSpecies, species: starterSpecies,
dexAttr: thisObj.starterAttr[i], dexAttr: thisObj.starterAttr[i],

View File

@ -721,7 +721,7 @@ export default class SummaryUiHandler extends UiHandler {
luckLabelText.setOrigin(0, 0); luckLabelText.setOrigin(0, 0);
profileContainer.add(luckLabelText); profileContainer.add(luckLabelText);
const luckText = addTextObject(this.scene, 141 + luckLabelText.displayWidth + 2, 28, this.pokemon.getLuck().toString(), TextStyle.SUMMARY); const luckText = addTextObject(this.scene, 141 + luckLabelText.displayWidth + 2, 28, this.pokemon.species.luckOverride ? `(${this.pokemon.species.luckOverride.toString()})` : this.pokemon.getLuck().toString(), TextStyle.SUMMARY);
luckText.setOrigin(0, 0); luckText.setOrigin(0, 0);
luckText.setTint(getVariantTint((Math.min(this.pokemon.getLuck() - 1, 2)) as Variant)); luckText.setTint(getVariantTint((Math.min(this.pokemon.getLuck() - 1, 2)) as Variant));
profileContainer.add(luckText); profileContainer.add(luckText);