When using non-volatile status move like: Will-O-Wisp, Thunder
Wave, Toxic, or Poison Gas against a Pokémon whose type is immune
to that Status condition, no "It doesn't affect" message plays.
My proposed fixes:
In move.ts:
Removed the else condition in the apply() function in StatusEffectAttr
class.
In pokemon.ts:
Added the function "messageIsImmune(quiet: boolean, effect:
StatusEffect)" which displays the message "It doesn't affect XXXX"
or the " XXXX is already affected by YYY" message, depending if the
effect trying to be set is already affecting the pokemon or if the
pokemon is immune to the status.
Updated the "canSetStatus()" function so that when it returns false
(meaning the status couldn't be applied) it calls the
"messageIsImmune()" function to display the message correctly.
When using non-volatile status move like: Will-O-Wisp, Thunder
Wave, Toxic, or Poison Gas against a Pokémon whose type is immune
to that Status condition, no "It doesn't affect" message plays.
My proposed fixes:
In move.ts:
Removed the queue of the message ""XXXX is protected by Safeguard!"
in the class: "StatusEffectAttr" due to the Pokemon being
safeguarded when a status move is used and added a call to the
function canSetStatus().
In pokemon.ts:
Added the function "messageIsImmune(quiet: boolean)" which displays
the message "It doesn't affect XXXX" if the quiet parameter is set
to false.
Updated the "canSetStatus()" function so that when it returns false
(meaning the status couldn't be applied) it calls the
"messageIsImmune()" function to display the message correctly.
Also included the queue of the message removed from the move.ts
file allowing the centralization of the messages associated with
status moves.
* Changes to Biker, Baker, Beauty, Cyclist, Parasol Lady, Hex Maniac
* Linting and extra beauty mons
* Further changes
* Find to some
---------
Co-authored-by: damocleas <damocleas25@gmail.com>
* fixing the naming in exp-sprite.json
* Did the same thing to 931
* Undo for 3 pokemons due to exp animation quality.
* Corrected the Indicator for the exp being disabled
* Charcadet line exp disable
Fix#5027: Missing confirmation message for moves special effects
When using the moves Thousand Arrows and Smack Down, though the special
effect of grounding the opponent is applied, a confirming message was
not displayed. In this fix a new AddBattlerTagAttr subclass has been
created to handle the message display, compared to previous multiple
attribute additions. This new subclass verifies the conditions for the
message to be displayed through asserting if target is grounded and
accesses a new locale message created to display if necessary.
* Fix#5082: Nicknames not properly sanitized
When a player changes the name of the pokemon
to one that uses one of the following combination
of letters: "@c{}", "@s{}", "@d{}", "@f{}" and "$"
the game shows the name of the pokemon incorrectly in a battle.
Changes made:
- on message-ui-handler.ts file I updated the "showTextInternal"
function to get the original name of the pokemon
or pokemons (in case it's a double battle) saving it in a list
named "pokename" and change it in the text for their
correspondent placeholder which is saved in the list "repname"
(e.g "#POKEMON1" for the first pokemon and "#POKEMON2" for the
second pokemon). After the text is properly modified because
of the special characters ("@c{}", "@s{}", "@d{}", "@f{}")
the name of the pokemons is replaced to it's original value.
- on message-phase.ts file I updated the "start" function to use a
similar approach but only change the pokemon name to it's original
form after the "pageIndex" (which checks the index of the "$")
is updated, so the text is cut properly.
- on ui.ts file I updated the "showtext" function to use same
approach of the previous files, ensuring that the pokemon names
were only replaced back to their original values after all text
processing on "$" was completed.
* Replace `let` with `const`
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Changed the move.ts file:
In the StatusEffectAttr class updated the "apply()"
function so that when a status isn't inflicted to the
opposing pokemon it checks if the cause of that
failure is Type immunity or immunity provided by an ability.
* Stop ShowAbilityPhase from ending until the bar has popped out
* Remove ability bar hiding from messagePhase
* Remove abilityBar reference from base Phase class
* Add HideAbilityPhase to hide ability bar after effects
* Add willSucceed to ability attrs
* Update AbAttrs and PostInitAbAttrs
* Update PreDefendAbAttrs
* Update postDefend, postMoveUsed, StatStage, postSetStatus, and PostDamage
* Update preAttack and fieldStat
* Partially implement postAttack
* Finish PostAttack
* Update PostSummon
* Update PreSwitchOut
* Update preStatStageChange
* Update PostStatStageChange, PreSetStatus, PreApplyBattlerTag
* Update postTurn and preWeatherEffect
* Update postWeatherChange
* Update postWeatherChange
* Update PostTerrainChange
* Update CheckTrapped and PostBattle
* Update postFaint
* Update PostItemLost
* Bug fixes from test cases
* Fix intimidate display
* Stop trace from displaying itself
* Rename to canApply
* Fix ability displays using getTriggerMessage
* Ensure abilities which are mistakenly shown are still hidden
* Fix ability bar showing the wrong ability with imposter
* Add canApply for imposter
* Update abilities using promises and `trySet...` functions
* Committing overrides changes is bad
* Document apply and canApply
* Update PreLeaveFieldAbAttr
* Remove boolean return type apply functions
* Remove redundant assignment
* Remove ability display from abilities that shouldn't have it
* Move queueAbilityDisplay to battlescene
* Remove unused shown variable
* Minor changes
* Fix using id instead of battlerindex in queueAbilityDisplay
* Fix PostBattleInitFormChangeAbAttr displaying
* Prevent crashes in case an ability for a pokemon not on the field is shown
* Stop more abilities from displaying
* Move enemy ability bar to the right side
* Automatically reload bar if shown while already out, fix specific abilities
* Remove duplicate call to clearPhaseQueueSplice
* Remove ShowAbilityPhase import from ability.ts
* Update PostDefendTypeChangeAbAttr to use PokemonType
* Update PostSummonAddArenaTagAbAttr
* Minor changes
When using non-volatile status move like: Will-O-Wisp, Thunder
Wave, Toxic, or Poison Gas against a Pokémon whose type is immune
to that Status condition, no "It doesn't affect" message plays.
My proposed fixes:
In move.ts:
Updated isTypeImmune() function to receive another parameter
"move: Move" and to include the cases in which the status moves listed
in the bug are being used against the corresponding immune type
pokemon.
In pokemon.ts:
Updated the function call of "isTypeImmune()" to correspond with
the newly added parameter.