-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Taunt Implementation #2159
Taunt Implementation #2159
Conversation
this.summonData.isTaunted = source.summonData.isTaunted; | ||
this.summonData.tauntedTurns = source.summonData.tauntedTurns; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you're going to be keeping track of turns like this then Taunt might be better implemented as a BattleTag or StatusEffect
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ooooooh ok! I'll Iook into it right away :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had used Disable as a guideline since it was similar :)
@mKroogz, sorry, I updated that comment, check it again. I'm not entirely sure what should be done about this, as neither PRs have any comments from devs. |
@zacharied I read updated comment, unchecked, and now I'm also unsure 🤔 A lot of my logic was based on how disable was handled especially in the isUsable method and just made a change in approach for what moves can't be used. |
I'd say feel free to leave it as an example of an alternate approach, and a dev can choose which to merge. I don't know if my solution will get merged in the end either. |
} | ||
|
||
getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]): string { | ||
return getPokemonMessage(pokemon, `'s ${abilityName} prevented it from being Taunted!`); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use getPokemonWithAffix here please and make this localizable obviously
target.summonData.isTaunted = true; | ||
target.summonData.tauntedTurns = 3; | ||
|
||
user.scene.queueMessage(getPokemonMessage(target, ` fell for the taunt!`)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
needs to be localizable
@@ -2549,6 +2555,9 @@ export class MovePhase extends BattlePhase { | |||
if (this.move.moveId && this.pokemon.summonData?.disabledMove === this.move.moveId) { | |||
this.scene.queueMessage(`${this.move.getName()} is disabled!`); | |||
} | |||
else if (this.move.moveId && this.pokemon.summonData?.isTaunted) { | |||
this.scene.queueMessage(`${this.pokemon.name} can't use\n${this.move.getName()} after the taunt!`); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
localizable please
Closing this in favor of #2051 |
What are the changes?
This PR implements Taunt and Taunt handling logic around currently implemented use/edge cases.
Why am I doing these changes?
I wanted a fun first PR to contribute to this awesome game and a friend asked me to implement Taunt.
What did change?
I have added implemented the Taunt move with logic alongside the conditions that that would cause it fail. I've also added the (english) dialogue for all of the taunt messages and interactions.
Screenshots/Videos
Will try to add these shortly.
How to test the changes?
Checklist
npm run test
)