Bendercraft / spigot-bending

Minecraft plugin that allows players to bend elements as in the series
Other
14 stars 7 forks source link

Master bow, Mark not work #85

Closed kikipunk closed 8 years ago

kikipunk commented 8 years ago

Le spell Mark ne fonctionne pas mais le cooldown est quand même pris en compte

Nokorbis commented 8 years ago

Vient du TremorSense

kikipunk commented 8 years ago

plus précisément de integrations/protocollib/BendingPacketAdapter.java.

d'ailleurs pour le Mark pour ne pas juste lui affecté un effet de potion. (a moins que seul le "tireur" doit pouvoir voir la cible)

Nokorbis commented 8 years ago

C'est ce qui est fait, malheureusement, le BendingPacketAdapter enlèves tous les "Glowing" qui sont envoyés aux client, même s'ils viennent du Mark, alors que pour l'instant on voulait juste enlever celui du TremorSense

ghost commented 8 years ago

Hello ! Alors pour le Mark, le problème ne vient pas du BendingPacketAdaptater, car il y a bien le test if(!Mark.isMarked(entityID)). J'ai remarqué que dans Mark.java, on ne mettait pas l'abilité en Progressing après son lancement, donc elle n'était pas instancié dans l'AbilityManager, donc

public static boolean isMarked(int entityID) {
        Map<Object, BendingAbility> marks = AbilityManager.getManager().getInstances(NAME);
[...]

ne donnait rien. On pourrait peut être ajouter à la fonction sneak() un petit this.setState(BendingAbilityState.PROGRESSING); ? Et du coup remplir la fonction progress() avec :

if(!target.hasPotionEffect(PotionEffectType.GLOWING)){
            remove();
            return;
        }