Add beach and city backgrounds

This commit is contained in:
Flashfyre 2023-05-08 10:03:57 -04:00
parent 40e69789c8
commit 66cd02fc30
9 changed files with 12 additions and 17 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 644 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 858 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

View File

@ -99,12 +99,8 @@ export class Arena {
getBiomeKey(): string { getBiomeKey(): string {
switch (this.biomeType) { switch (this.biomeType) {
case Biome.CITY:
return 'dojo';
case Biome.LAKE: case Biome.LAKE:
return 'sea'; return 'sea';
case Biome.BEACH:
return 'sea';
case Biome.ABYSS: case Biome.ABYSS:
return 'wasteland'; return 'wasteland';
case Biome.MEADOW: case Biome.MEADOW:

View File

@ -682,24 +682,23 @@ export class CommandPhase extends FieldPhase {
} }
break; break;
case Command.POKEMON: case Command.POKEMON:
case Command.RUN:
const isSwitch = command === Command.POKEMON;
const trapTag = playerPokemon.findTag(t => t instanceof TrappedTag) as TrappedTag; const trapTag = playerPokemon.findTag(t => t instanceof TrappedTag) as TrappedTag;
const trapped = new Utils.BooleanHolder(false); const trapped = new Utils.BooleanHolder(false);
const batonPass = args[0] as boolean; const batonPass = isSwitch && args[0] as boolean;
if (!batonPass) if (!batonPass)
applyCheckTrappedAbAttrs(CheckTrappedAbAttr, enemyPokemon, trapped); applyCheckTrappedAbAttrs(CheckTrappedAbAttr, enemyPokemon, trapped);
if (batonPass || (!trapTag && !trapped.value)) { if (batonPass || (!trapTag && !trapped.value)) {
if (isSwitch)
this.scene.unshiftPhase(new SwitchSummonPhase(this.scene, cursor, true, args[0] as boolean)); this.scene.unshiftPhase(new SwitchSummonPhase(this.scene, cursor, true, args[0] as boolean));
success = true; else
} else if (trapTag)
this.scene.ui.showText(`${this.scene.getPokemonById(trapTag.sourceId).name}'s ${trapTag.getMoveName()}\nprevents switching!`, null, () => {
this.scene.ui.showText(null, 0);
}, null, true);
break;
case Command.RUN:
this.scene.unshiftPhase(new AttemptRunPhase(this.scene)); this.scene.unshiftPhase(new AttemptRunPhase(this.scene));
success = true; success = true;
//this.scene.unshiftPhase(new MoveAnimTestPhase(this.scene)); } else if (trapTag)
//success = true; this.scene.ui.showText(`${this.scene.getPokemonById(trapTag.sourceId).name}'s ${trapTag.getMoveName()}\nprevents ${isSwitch ? 'switching' : 'fleeing'}!`, null, () => {
this.scene.ui.showText(null, 0);
}, null, true);
break; break;
} }

View File

@ -1267,14 +1267,14 @@ export class MovePowerMultiplierAttr extends VariablePowerAttr {
} }
export abstract class ConsecutiveUsePowerMultiplierAttr extends MovePowerMultiplierAttr { export abstract class ConsecutiveUsePowerMultiplierAttr extends MovePowerMultiplierAttr {
constructor(limit: integer, resetOnFail: boolean, resetOnLimit?: boolean) { constructor(limit: integer, resetOnFail: boolean, resetOnLimit?: boolean, ...comboMoves: Moves[]) {
super((user: Pokemon, target: Pokemon, move: Move): number => { super((user: Pokemon, target: Pokemon, move: Move): number => {
const moveHistory = user.getMoveHistory().reverse().slice(0); const moveHistory = user.getMoveHistory().reverse().slice(0);
let count = 0; let count = 0;
let turnMove: TurnMove; let turnMove: TurnMove;
while ((turnMove = moveHistory.shift())?.move === move.id && (!resetOnFail || turnMove.result < MoveResult.NO_EFFECT)) { while (((turnMove = moveHistory.shift())?.move === move.id || (comboMoves.length && comboMoves.indexOf(turnMove?.move) > -1)) && (!resetOnFail || turnMove.result < MoveResult.NO_EFFECT)) {
if (count < (limit - 1)) if (count < (limit - 1))
count++; count++;
else if (resetOnLimit) else if (resetOnLimit)
@ -2409,7 +2409,7 @@ export function initMoves() {
new StatusMove(Moves.CHARM, "Charm", Type.FAIRY, 100, 20, 2, "Sharply lowers opponent's Attack.", -1, 0, 2) new StatusMove(Moves.CHARM, "Charm", Type.FAIRY, 100, 20, 2, "Sharply lowers opponent's Attack.", -1, 0, 2)
.attr(StatChangeAttr, BattleStat.ATK, -2), .attr(StatChangeAttr, BattleStat.ATK, -2),
new AttackMove(Moves.ROLLOUT, "Rollout", Type.ROCK, MoveCategory.PHYSICAL, 30, 90, 20, -1, "Doubles in power each turn for 5 turns.", -1, 0, 2) new AttackMove(Moves.ROLLOUT, "Rollout", Type.ROCK, MoveCategory.PHYSICAL, 30, 90, 20, -1, "Doubles in power each turn for 5 turns.", -1, 0, 2)
.attr(ConsecutiveUseDoublePowerAttr, 5, true, true), // TODO: Defense Curl logic .attr(ConsecutiveUseDoublePowerAttr, 5, true, true, Moves.DEFENSE_CURL),
new AttackMove(Moves.FALSE_SWIPE, "False Swipe (N)", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 40, 57, "Always leaves opponent with at least 1 HP.", -1, 0, 2), new AttackMove(Moves.FALSE_SWIPE, "False Swipe (N)", Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 40, 57, "Always leaves opponent with at least 1 HP.", -1, 0, 2),
new StatusMove(Moves.SWAGGER, "Swagger", Type.NORMAL, 85, 15, -1, "Confuses opponent, but sharply raises its Attack.", -1, 0, 2) new StatusMove(Moves.SWAGGER, "Swagger", Type.NORMAL, 85, 15, -1, "Confuses opponent, but sharply raises its Attack.", -1, 0, 2)
.attr(StatChangeAttr, BattleStat.ATK, 2) .attr(StatChangeAttr, BattleStat.ATK, 2)
@ -2596,7 +2596,7 @@ export function initMoves() {
.attr(AddArenaTagAttr, ArenaTagType.MUD_SPORT, 5) .attr(AddArenaTagAttr, ArenaTagType.MUD_SPORT, 5)
.target(MoveTarget.BOTH_SIDES), .target(MoveTarget.BOTH_SIDES),
new AttackMove(Moves.ICE_BALL, "Ice Ball", Type.ICE, MoveCategory.PHYSICAL, 30, 90, 20, -1, "Doubles in power each turn for 5 turns.", -1, 0, 3) new AttackMove(Moves.ICE_BALL, "Ice Ball", Type.ICE, MoveCategory.PHYSICAL, 30, 90, 20, -1, "Doubles in power each turn for 5 turns.", -1, 0, 3)
.attr(ConsecutiveUseDoublePowerAttr, 5, true, true), .attr(ConsecutiveUseDoublePowerAttr, 5, true, true, Moves.DEFENSE_CURL),
new AttackMove(Moves.NEEDLE_ARM, "Needle Arm", Type.GRASS, MoveCategory.PHYSICAL, 60, 100, 15, -1, "May cause flinching.", 30, 0, 3) new AttackMove(Moves.NEEDLE_ARM, "Needle Arm", Type.GRASS, MoveCategory.PHYSICAL, 60, 100, 15, -1, "May cause flinching.", 30, 0, 3)
.attr(FlinchAttr), .attr(FlinchAttr),
new SelfStatusMove(Moves.SLACK_OFF, "Slack Off", Type.NORMAL, -1, 5, -1, "User recovers half its max HP.", -1, 0, 3) new SelfStatusMove(Moves.SLACK_OFF, "Slack Off", Type.NORMAL, -1, 5, -1, "User recovers half its max HP.", -1, 0, 3)