@Override
    public void deserialize(Buffer buf) {
        int limit = buf.readUShort();
        effects = new FightDispellableEffectExtendedInformations[limit];
        for (int i = 0; i < limit; i++) {
            effects[i] = new FightDispellableEffectExtendedInformations();
            effects[i].deserialize(buf);
        }
        limit = buf.readUShort();
        marks = new GameActionMark[limit];
        for (int i = 0; i < limit; i++) {
            marks[i] = new GameActionMark();
            marks[i].deserialize(buf);
        }
        gameTurn = buf.readShort();
        if (gameTurn < 0)
            throw new RuntimeException("Forbidden value on gameTurn = " + gameTurn + ", it doesn't respect the following condition : gameTurn < 0");
    }