mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2024-11-26 00:36:25 +00:00
Add beach and city backgrounds
This commit is contained in:
parent
40e69789c8
commit
66cd02fc30
BIN
public/images/arenas/beach_a.png
Normal file
BIN
public/images/arenas/beach_a.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 852 B |
BIN
public/images/arenas/beach_b.png
Normal file
BIN
public/images/arenas/beach_b.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
BIN
public/images/arenas/beach_bg.png
Normal file
BIN
public/images/arenas/beach_bg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 644 B |
BIN
public/images/arenas/city_a.png
Normal file
BIN
public/images/arenas/city_a.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 858 B |
BIN
public/images/arenas/city_b.png
Normal file
BIN
public/images/arenas/city_b.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
BIN
public/images/arenas/city_bg.png
Normal file
BIN
public/images/arenas/city_bg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 635 B |
@ -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:
|
||||||
|
@ -682,25 +682,24 @@ 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)) {
|
||||||
this.scene.unshiftPhase(new SwitchSummonPhase(this.scene, cursor, true, args[0] as boolean));
|
if (isSwitch)
|
||||||
|
this.scene.unshiftPhase(new SwitchSummonPhase(this.scene, cursor, true, args[0] as boolean));
|
||||||
|
else
|
||||||
|
this.scene.unshiftPhase(new AttemptRunPhase(this.scene));
|
||||||
success = true;
|
success = true;
|
||||||
} else if (trapTag)
|
} else if (trapTag)
|
||||||
this.scene.ui.showText(`${this.scene.getPokemonById(trapTag.sourceId).name}'s ${trapTag.getMoveName()}\nprevents switching!`, null, () => {
|
this.scene.ui.showText(`${this.scene.getPokemonById(trapTag.sourceId).name}'s ${trapTag.getMoveName()}\nprevents ${isSwitch ? 'switching' : 'fleeing'}!`, null, () => {
|
||||||
this.scene.ui.showText(null, 0);
|
this.scene.ui.showText(null, 0);
|
||||||
}, null, true);
|
}, null, true);
|
||||||
break;
|
break;
|
||||||
case Command.RUN:
|
|
||||||
this.scene.unshiftPhase(new AttemptRunPhase(this.scene));
|
|
||||||
success = true;
|
|
||||||
//this.scene.unshiftPhase(new MoveAnimTestPhase(this.scene));
|
|
||||||
//success = true;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (success) {
|
if (success) {
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user