[PSDK 24.86]Problème de l'attaque "Encore"

5 Réponses • 52 Vues

Zenos

Mappeur

Bonjour

Suite à des tests, je me retrouve dans une situation plutôt étrange :

https://cdn.discordapp.com/attachments/702068581030166528/755041714976063568/unknown.png

Pour information, ce set d'attaque appartient à un autre Pokémon de mon équipe.
Je faisais Eclat Glace, l'adversaire lance Encore.
Je me retrouve avec ce set et je choisis Acide, ça lance Eclat Glace, l'adversaire attaque, et ensuite ça lance Acide, provenant du Pokémon dont appartient le set.

Voici une partie du log du combat si ça peut aider !

==== Damage calculation ====
L:<P:Rosélia_1vdbnm2_0>, T:<P:Cabricorne_1emc57t_-1>, S:<S:Éclats Glace_40_100>
Base Power : 60.0 ___ Critical Hit : 1
SP_ATK : 45 ___ SP_DEF 39
STAB : 1.5 ___ TypeMod : 0.5
RandValue : 98
Mods [1, 1, 1]
Level : 13
==== Damage END : 14.700000000000001 ====
parametre
<P:Rosélia_1vdbnm2_0> | <P:Cabricorne_1emc57t_-1> | <S:Éclats Glace_40_100>
use_skill_msg
<P:Rosélia_1vdbnm2_0> | <P:Cabricorne_1emc57t_-1> | <S:Éclats Glace_40_100>
efficiency_sound
0.5
hp_down
<P:Cabricorne_1emc57t_-1> | 14
unefficient_msg

==== Accuracy Calculation ====
L:<P:Cabricorne_1emc57t_-1>, T:<P:Rosélia_1vdbnm2_0>, S:<S:Encore_0_100>
Move Acc : 100 ___ AccMod : 1 ___ EvaMod : 1
AccAbilityMod : 1 ___ EvaAbilityMod : 1
AccItem: 1 ___ EvaItem : 1
==== Accuracy End : 100 ====
parametre
<P:Cabricorne_1emc57t_-1> | <P:Rosélia_1vdbnm2_0> | <S:Encore_0_100>
use_skill_msg
<P:Cabricorne_1emc57t_-1> | <P:Rosélia_1vdbnm2_0> | <S:Encore_0_100>
msg
Rosélia ! Encore une fois !
apply_effect
<P:Rosélia_1vdbnm2_0> | apply_encore | <S:Éclats Glace_40_100>
Mach Punch
0.4864864864864865
Encore
0.39460018622567755
Bélier
0.16953316953316955
Reflet
0.0
==== Accuracy Calculation ====
L:<P:Rosélia_1vdbnm2_0>, T:<P:Cabricorne_1emc57t_-1>, S:<S:Éclats Glace_40_100>
Move Acc : 100 ___ AccMod : 1 ___ EvaMod : 1.333
AccAbilityMod : 1 ___ EvaAbilityMod : 1
AccItem: 1 ___ EvaItem : 1
==== Accuracy End : 75 ====
==== Damage calculation ====
L:<P:Rosélia_1vdbnm2_0>, T:<P:Cabricorne_1emc57t_-1>, S:<S:Éclats Glace_40_100>
Base Power : 60.0 ___ Critical Hit : 1
SP_ATK : 45 ___ SP_DEF 39
STAB : 1.5 ___ TypeMod : 0.5
RandValue : 100
Mods [1, 1, 1]
Level : 13
==== Damage END : 15.0 ====
parametre
<P:Rosélia_1vdbnm2_0> | <P:Cabricorne_1emc57t_-1> | <S:Éclats Glace_40_100>
use_skill_msg
<P:Rosélia_1vdbnm2_0> | <P:Cabricorne_1emc57t_-1> | <S:Éclats Glace_40_100>
efficiency_sound
0.5
hp_down
<P:Cabricorne_1emc57t_-1> | 15
unefficient_msg

==== Accuracy Calculation ====
L:<P:Cabricorne_1emc57t_-1>, T:<P:Rosélia_1vdbnm2_0>, S:<S:Mach Punch_40_100>
Move Acc : 100 ___ AccMod : 1 ___ EvaMod : 1
AccAbilityMod : 1 ___ EvaAbilityMod : 1
AccItem: 1 ___ EvaItem : 1
==== Accuracy End : 100 ====
==== Damage calculation ====
L:<P:Cabricorne_1emc57t_-1>, T:<P:Rosélia_1vdbnm2_0>, S:<S:Mach Punch_40_100>
Base Power : 40 ___ Critical Hit : 1
SP_ATK : 44 ___ SP_DEF 36
STAB : 1.5 ___ TypeMod : 2
RandValue : 95
Mods [1, 1, 1]
Level : 11
==== Damage END : 33.0 ====
parametre
<P:Cabricorne_1emc57t_-1> | <P:Rosélia_1vdbnm2_0> | <S:Mach Punch_40_100>
use_skill_msg
<P:Cabricorne_1emc57t_-1> | <P:Rosélia_1vdbnm2_0> | <S:Mach Punch_40_100>
efficiency_sound
2
hp_down
<P:Rosélia_1vdbnm2_0> | 33
efficient_msg

==== Accuracy Calculation ====
L:<P:Meigüe_10yzvf5_1>, T:<P:Cabricorne_1emc57t_-1>, S:<S:Acide_40_100>
Move Acc : 100 ___ AccMod : 1 ___ EvaMod : 1.333
AccAbilityMod : 1 ___ EvaAbilityMod : 1
AccItem: 1 ___ EvaItem : 1
==== Accuracy End : 75 ====
parametre
<P:Meigüe_10yzvf5_1> | <P:Cabricorne_1emc57t_-1> | <S:Acide_40_100>
use_skill_msg
<P:Meigüe_10yzvf5_1> | <P:Cabricorne_1emc57t_-1> | <S:Acide_40_100>
target_evasion_msg
<P:Meigüe_10yzvf5_1> | <P:Cabricorne_1emc57t_-1>

Nuri Yuri

HostMaster

Tu peux trouver la fonction def forced_to_use_struggle?(pokemon) dans le script 01500 Alpha 24 Battle Engine (deprecated)\01700 BattleEngine\01400 BattleEngine___Skill_Util_2.rb
Et la remplacer par ça:
  # Check if the Pokemon is forced to use struggle
  # @param pokemon [PFM::Pokemon]
  # @return [Boolean]
  def forced_to_use_struggle?(pokemon)
    be = pokemon.battle_effect
    return true unless be
    # Encore is forcing the Pokemon to use struggle if the move to use again is disabled
    return true if be.has_encore_effect? && be.has_disable_effect? && be.encore_skill.id == be.disable_skill_id

    # Pokemon has to use struggle if none of the move can be used
    return pokemon.skills_set.none? do |move|
      next false if move.pp <= 0

      id = move.id
      next false if be.has_cant_attack_effect? && be.get_cant_attack_id == id
      next false if be.has_cant_use_last_skill_effect? && pokemon.last_skill.to_i.abs == id
      next false if be.has_taunt_effect? && move.status?
      next false if be.has_imprison_effect? && be.is_skill_imprisonned?(move)
      next false if be.has_encore_effect?

      next true # Move can be used
    end
  end
Tu me diras si ça bug plus.
ln(yo) = <3

Zenos

Mappeur

Alors je ne trouve pas cette fonction dans mon script, je crains avoir quelques soucis  :grrr:

Nuri Yuri

HostMaster

Vérifie que c'est bien le bon chemin et que t'es bien en .24.86
ln(yo) = <3

Zenos

Mappeur

En effet, je ne suis pas en .86 actuellement, car j'ai BEAUCOUP de crash aléatoires en combat => https://pokemonworkshop.fr/forum/index.php?topic=5841.0

Nuri Yuri

HostMaster

Alors, je te conseille de télécharger la version actuelle du code de PSDK (https://gitlab.com/pokemonsdk/pokemonsdk/-/tree/development) dans le dossier pokemonsdk de ton projet et de voir.
ln(yo) = <3

There was an error while thanking
Thanking...