Projekt

Allgemein

Profil

Aktionen

Fehler #14577

geschlossen

Fehler #4057: [Priester] - Hauptticket

[Priester] Channeling Spell -> Out of Combat

Von AirStyle vor mehr als 9 Jahren hinzugefügt. Vor mehr als 6 Jahren aktualisiert.

Status:
Live
Priorität:
Normal
Zugewiesen an:
-
Kategorie:
Mechanik
Zielversion:
Beginn:
24.06.2015
Update Text Deutsch:

Allgemein: Alle Channelspells sorgen nun nicht mehr dafür, dass beide Einheiten während des Channelings outfight kommen können.

Tags:

Beschreibung

Sowohl der Zaubernde, als auch das Ziel kommen
während des Channelings von Gedankenkontrolle out of Combat.

Aktionen #1

Von sniffy vor mehr als 9 Jahren aktualisiert

  • Thema wurde von [Priester] Gedankenkontrolle bringt Out of Combat zu [Priester] Channeling Spell -> Out of Combat geändert
  • Kategorie wurde auf Mechanik gesetzt
  • Status wurde von Neu zu In Bearbeitung geändert
  • Zugewiesen an wurde auf Rushor gesetzt
  • Zielversion wurde auf PvP gesetzt

Generell bei allen Kanalisierungszauber so. https://db.rising-gods.de/?spell=605 (Mindcontrol

Aktionen #2

Von Rushor vor mehr als 9 Jahren aktualisiert

!HasNegativeAuraWithAttribute()

Aktionen #3

Von Rushor vor etwa 9 Jahren aktualisiert

diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 2b843e0..b56e387 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -352,7 +352,7 @@ void Unit::Update(uint32 p_time)
         SendThreatListUpdate();

     // update combat timer only for players and pets (only pets with PetAI)
-    if (IsInCombat() && (GetTypeId() == TYPEID_PLAYER || (ToCreature()->IsPet() && IsControlledByPlayer())))
+    if (!HasAuraWithAttribute(SPELL_ATTR1_CHANNELED_1) && IsInCombat() && (GetTypeId() == TYPEID_PLAYER || (ToCreature()->IsPet() && IsControlledByPlayer())))
     {
         // Check UNIT_STATE_MELEE_ATTACKING or UNIT_STATE_CHASE (without UNIT_STATE_FOLLOW in this case) so pets can reach far away
         // targets without stopping half way there and running off.
@@ -4615,6 +4615,17 @@ bool Unit::HasNegativeAuraWithAttribute(uint32 flag, uint64 guid) const
     return false;
 }

+bool Unit::HasAuraWithAttribute(uint32 flag, uint64 guid) const
+{
+    for (AuraApplicationMap::const_iterator iter = m_appliedAuras.begin(); iter != m_appliedAuras.end(); ++iter)
+    {
+        Aura const* aura = iter->second->GetBase();
+        if (aura->GetSpellInfo()->Attributes & flag && (!guid || aura->GetCasterGUID() == guid))
+            return true;
+    }
+    return false;
+}
+
 bool Unit::HasAuraWithMechanic(uint32 mechanicMask) const
 {
     for (AuraApplicationMap::const_iterator iter = m_appliedAuras.begin(); iter != m_appliedAuras.end(); ++iter)
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index 2b1e6c4..c5188a4 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -1809,6 +1809,7 @@ class Unit : public WorldObject
         bool HasAuraTypeWithValue(AuraType auratype, int32 value) const;
         bool HasNegativeAuraWithInterruptFlag(uint32 flag, uint64 guid = 0) const;
         bool HasNegativeAuraWithAttribute(uint32 flag, uint64 guid = 0) const;
+        bool HasAuraWithAttribute(uint32 flag, uint64 guid = 0) const;
         bool HasAuraWithMechanic(uint32 mechanicMask) const;

         AuraEffect* IsScriptOverriden(SpellInfo const* spell, int32 script) const;

Aktionen #4

Von Rushor vor fast 9 Jahren aktualisiert

  • Status wurde von In Bearbeitung zu Ready geändert
  • Zugewiesen an Rushor wurde gelöscht
  • DB-Link wurde auf https://db.rising-gods.de/?spell=605 gesetzt
  • Update Text Deutsch aktualisiert (Vergleich)

kanns erstmal nur für mc fixen

Aktionen #5

Von Rushor vor fast 9 Jahren aktualisiert

  • Zielversion wurde von PvP zu Klassen geändert
  • Übergeordnetes Ticket wurde auf #4057 gesetzt
Aktionen #6

Von Daejiv vor fast 9 Jahren aktualisiert

  • Status wurde von Ready zu Live geändert
Aktionen #7

Von Rushor vor mehr als 8 Jahren aktualisiert

Bedeutung Live:

Der Bug wurde erfolgreich behoben und befindet sich auf dem Spielserver. Sollte der Fehler weiterhin bestehen sollte ein neues Ticket ( https://redmine.rising-gods.de/projects/live/issues/new ) erstellt werden. Anmerkungen in dem alten abgewiesenen oder live genommenen Ticket werden ignoriert und gelöscht.

Aktionen #8

Von Rushor vor mehr als 8 Jahren aktualisiert

  • Status wurde von Live zu Ready geändert
  • Update Text Deutsch aktualisiert (Vergleich)
Aktionen #9

Von Daejiv vor mehr als 8 Jahren aktualisiert

  • Status wurde von Ready zu Live geändert
Aktionen #10

Von Daejiv vor fast 8 Jahren aktualisiert

  • Zielversion wurde von Klassen zu Klasse - Priester geändert
Aktionen #11

Von Left4Info vor mehr als 6 Jahren aktualisiert

  • Tags wurde auf Classes, Priest gesetzt
Aktionen

Auch abrufbar als: Atom PDF