Fehler #4201
geschlossen[Merge][Turm Utgarde][HC] Svala Grabeslied
Von Melgro vor mehr als 12 Jahren hinzugefügt. Vor etwa 11 Jahren aktualisiert.
Beschreibung
Svala Grabeslied (Boss): http://www.hordeguides.de/Instanz/WotLK/Boss/26668/Svala-Grabeslied/index.htm
1# Beim triggern des Events sollten die Zuschauer wegrennen.
Derzeit müssen diese noch bekämpft werden, was nicht weiter schlimm ist.
Ritual des Schwertes (Spell): [[http://de.wowhead.com/?spell=48276]]
Sollte bei 75% 50% und 25% stattfinden.
Momentan findet dies nur einmal im gesamten Kampf statt.
Ritualkanalisierer (Kreatur/Add):
Sollte den Spell: Paralysieren (http://de.wowhead.com/?spell=48278) nur auf den
geopferten Spieler wirken, sodass die anderen die 3 gespawnten Tirualkanalisierer
schnellstmöglich bekämpfen können.
Momentan betrifft das Paralysieren auch nicht geopferte Spieler der Gruppe.
2# Nach dem Tirual bleibt Svala Grabeslied an ihrer Schwebeposition in der Luft.
Es sollte so sein, dass sie nach dem Ritual das Ziel ihrer Hassliste angreift.
Dateien
boss_svala.cpp (19,9 KB) boss_svala.cpp | Melgro, 23.08.2012 23:37 |
Von Melgro vor mehr als 12 Jahren aktualisiert
- % erledigt wurde von 0 zu 20 geändert
Hatte grad doch noch bißchen Zeit im Geschäft und hab mir die boss_svala.cpp
angeschaut - also vom trinityCore-Repository.
Ich denke man kann diesen Eintrag auf Zielversion Merge setzen, da es mir scheint als wären die oben beschriebenen Fehler dort teilweise schon behoben.
Die Zuschauer sollten von alleine wegrennen:
// spectators flee event if (instance) { std::list<Creature*> lspectatorList; GetCreatureListWithEntryInGrid(lspectatorList, me, CREATURE_SPECTATOR, 100.0f); for (std::list<Creature*>::iterator itr = lspectatorList.begin(); itr != lspectatorList.end(); ++itr) { if ((*itr)->isAlive()) { (*itr)->SetStandState(UNIT_STAND_STATE_STAND); (*itr)->SetWalk(false); (*itr)->GetMotionMaster()->MovePoint(1, spectatorWP[0][0], spectatorWP[0][1], spectatorWP[0][2]); } } }
Die Kanalisierer sollten demnach den Spieler als "victim" nehmen, der auch geopfert wird: DATA_SACRIFICED_PLAYER
class npc_ritual_channeler : public CreatureScript{ ... void UpdateAI(const uint32 diff) { ... if (paralyzeTimer <= diff) { if (instance) if (Unit* victim = me->GetUnit(*me, instance->GetData64(DATA_SACRIFICED_PLAYER))) DoCast(victim, SPELL_PARALYZE, false); paralyzeTimer = 200; }
Das OpferEvent, ist laut dem Programmcode allerdings noch fehlerhaft und bedarf überarbeitung:
Hier wird ein bool sacrificed benutzt. So wie es momentan implementiert ist, wird dieses Event
nur einmal pro Kampf ausgelöst.
void UpdateAI(const uint32 diff) { ... { if (!sacrificed) { if (HealthBelowPct(50)) { ... DoCast(me, SPELL_RITUAL_OF_THE_SWORD); sacrificed = true; } } ... else //SACRIFICING { if (sacrificeTimer <= diff) { switch (sacrePhase) { ... case 2: DoCast(me, SPELL_RITUAL_DISARM); ++sacrePhase; break; case 3: break; ...
Ich denke ein einfaches im
case 3: sacrificed = false; break;
und dann weiter oben beim HPPrct check:
if (HealthBelowPct(75) || HealthBelowPct(50) || HealthBelowPct(25)){
Die drei Anpassungen könnten das Event schon ändern :)
Bleibt nur das
else //SACRIFICING { ... SetCombatMovement(true); DoMeleeAttackIfReady();
am Ende des Rituals.
Grüße, Melgro
Von Melgro vor mehr als 12 Jahren aktualisiert
OUps,
das würde so nicht funktioniere:
1 if (HealthBelowPct(75) || HealthBelowPct(50) || HealthBelowPct(25)){
das wäre ja ab unter 75% immer true, blöd von mir ^^
:D
Von Melgro vor mehr als 12 Jahren aktualisiert
schon längst passiert, ich warte noch auf Antwort.
Hab den trinityCore bei mir schon am laufen samt MySQL und so Zeugs bräuchte nur noch Zugang zum RG-Git :)
BTT:
Und ich glaube ich würde hier entweder drei bools einführen um die einzelnen sacrifice_below75, sacrifice_below_50 und sacrifice_below25 zu setzen oder nen "uint8 SacrificeEventCounter" um die ProzentPhasen abzufragen.
Von Melgro vor etwa 12 Jahren aktualisiert
- Datei boss_svala.cpp boss_svala.cpp wurde hinzugefügt
- % erledigt wurde von 20 zu 70 geändert
Hi Zusammen,
ich hab heute abend mal bißchen Zeit gehabt und mir nachdem TrinityCore und so schon bei mir läuft mal die Svala nochmal angeschaut.
im Anhang ist das, was dabei rausgekommen ist, bei mir getestet mit zwei Spielern:
Ritual des Schwertes findet nun drei mal statt bei 75,50,25%
geopfert sollte eigentlich random werden, allerdings war das bei mir nicht der Fall,
naja bei 3 mal testen und einer 50:50 Chance schwer zu beurteilen :)
Die Zuschauer rennen schon vom aktuellen TrinityCore her während des events weg.
Svala kommt auch nach dem Ritual schön artig runtergeflogen,
sofern der geopferte Spieler nicht gestorben ist, anderes Szenario bisher nicht testen können, sollte
aber davonnicht abhängig sein.
Schauts euch mal und nehmt raus was ihr/wir davon benutzen können.
Von Daejiv vor etwa 12 Jahren aktualisiert
- Thema wurde von [Turm Utgarde][HC] Svala Grabeslied zu [Merge][Turm Utgarde][HC] Svala Grabeslied geändert
- Status wurde von Neu zu Testbereit geändert
- Zielversion wurde auf Merge gesetzt
https://github.com/rising-gods/Merge/commit/953241133704a223486b8e4bf7deb0b781ba833a
Hab deine Datei mal so übernommen und nur ein paar Whitespaces angepasst. Bitte Testen.
Von frostworg vor etwa 12 Jahren aktualisiert
- Status wurde von Testbereit zu In Bearbeitung geändert
- Zugewiesen an wurde auf Lareine gesetzt
1.: Sobald ein Spieler von den Ritualkanalisierern gefangen wird kommt Svala runter und macht nichts ausser sich vor den Aggrohalter zu stellen normal sollte sie während des gesamten Rituals Schweben und unmittelbar danach runter kommen.
2.: Es tritt oft der Bugg auf, dass das Ritual unmittelbar nach dem es angefangen hat es sich resettet und immer mehr Ritualkanalisierer spawnen -> irgendwann ist die ganze Gruppe betäubt und man kommt nur mittel .gm on aus dem Fight.
Von Lareine vor etwa 12 Jahren aktualisiert
- Zugewiesen an wurde von Lareine zu Daejiv geändert
Von Daejiv vor fast 12 Jahren aktualisiert
- Status wurde von In Bearbeitung zu Bestätigt geändert
- Zugewiesen an
Daejivwurde gelöscht
Von Lareine vor fast 12 Jahren aktualisiert
- Status wurde von Bestätigt zu In Bearbeitung geändert
- Zugewiesen an wurde auf 1623 gesetzt
In Bearbeitung von paz.
Von pastulio vor mehr als 11 Jahren aktualisiert
Fuer 1. hilft folgende Aenderung, 2. kann ich auf TC nicht reproduzieren.
Sorry, kein patch/diff, hab das orginal nicht aus git
case SACRIFICING: if (sacrificeTimer <= diff) { switch (sacrePhase) { case 0: // spawn ritual channelers if (instance) { DoCast(me, SPELL_RITUAL_CHANNELER_1, true); DoCast(me, SPELL_RITUAL_CHANNELER_2, true); DoCast(me, SPELL_RITUAL_CHANNELER_3, true); } ++sacrePhase; sacrificeTimer = 25 * IN_MILLISECONDS; ////HIER 2 -> 25 break;
Von Sif vor mehr als 11 Jahren aktualisiert
Der Erfolg http://wowdata.buffed.de/achievement/Dungeons-und-Schlachtzuege/Wrath-of-the-Lich-King-Dungeons/Ueberredungskuenstler-2043 funktioniert damit auch nicht. Weil sie den Cast unterbricht und sofort runter kommt noch während paralysieren.
Von Lareine vor mehr als 11 Jahren aktualisiert
- Status wurde von In Bearbeitung zu Bestätigt geändert
- Zugewiesen an
1623wurde gelöscht
Von Ajolkus vor etwa 11 Jahren aktualisiert
An dieser Stelle verweise ich einfach mal auf ein anderes, neues Ticket, welches die aktuelle fehler Situation zeigt:
https://redmine.rising-gods.de/issues/6972
Von Ajolkus vor etwa 11 Jahren aktualisiert
- Status wurde von Bestätigt zu Abgewiesen geändert
Um nicht unübersichtlich zu werden, daher -> closed