Quest 4901 "Guardians of the Altar" #8734

Merged
merged 1 commit into from Mar 20, 2013

Conversation

Projects
None yet
8 participants
Contributor

gpascualg commented Dec 20, 2012

Original author: Junta for ScriptDev2
Converted to TrinityCore by Zaphod
Creature_texts by @durotar
Clean and some c++ stuff: Blipi

Enjoy

If someone can figure this out:
Ranshalla is only casting SPELL_LIGHT_TORCH on the first and last (5th) points. I'm sure DoCast is being called, however nothing happens on 2-4. I've tried delaying the cast, not interrumpting... nothing helped. It's only a visual bug, so it's not a big issue.
It seems to be a core issue?

sql/updates/world/xxxx_xx_xx_xx_world_guardians_of_the_altar.sql
+SET @GO_ELUNE_GEM := 177414;
+SET @GO_ELUNE_LIGHT := 177415;
+SET @GO_ELUNE_FIRE := 177417;
+SET @GO_GUID := xxxxxx; -- Need 7 guids
@Vincent-Michael

Vincent-Michael Dec 20, 2012

Member

SET @GO_GUID := 9650;

Contributor

gpascualg commented Dec 20, 2012

Updated to suggested guid SET @GO_GUID := 9650;

Contributor

Trista commented Dec 20, 2012

This is a lot of effort, nice.

Contributor

Subv commented Dec 20, 2012

Maybe there are no targets for the spell in the other waypoints?

Contributor

gpascualg commented Dec 20, 2012

I'm sure DoCast is getting called because just before the call there are 2 Talk which get called.
It's a channeled spell, only visual, with the caster itself (ranshalla) as the target, so there is. I've found no reason for it not to work.

Contributor

Trista commented Dec 20, 2012

Are you sure you've set more than 300 ms delay? This means set 300 ms delay for next thing to happen, some auras need time to execute and further action break them. Saying this, bc not sure if you mean this by set delay.

Contributor

gpascualg commented Dec 20, 2012

I've tried setting a delay of up to 500ms before casting it. The next action won't take place until you click the fire, so it's neither this.

Contributor

Trista commented Dec 20, 2012

Effect 1: Id 6 (SPELL_EFFECT_APPLY_AURA)
BasePoints = 1
Targets (1, 0) (TARGET_UNIT_CASTER, NO_TARGET)
Aura Id 23 (SPELL_AURA_PERIODIC_TRIGGER_SPELL), value = 1, misc = 0 (0), miscB = 0, periodic = 300000
Trigger spell (18954) Not found, Chance = 101Will check it

Contributor

Trista commented Dec 21, 2012

DELETE FROM `spell_dbc` WHERE `Id`=18954;
INSERT INTO `spell_dbc` (`Id`, `School`, `Category`, `CastUI`, `Dispel`, `Mechanic`, `Attributes`, `AttributesEx`, `AttributesEx2`, `AttributesEx3`, `AttributesEx4`, `Stances`, `StancesNot`, `Targets`, `TargetCreatureType`, `RequiresSpellFocus`, `CasterAuraState`, `TargetAuraState`, `CastingTimeIndex`, `RecoveryTime`, `CategoryRecoveryTime`, `InterruptFlags`, `AuraInterruptFlags`, `ChannelInterruptFlags`, `ProcFlags`, `ProcChance`, `ProcCharges`, `MaxLevel`, `BaseLevel`, `SpellLevel`, `DurationIndex`, `PowerType`, `PowerCost`, `PowerCostPerLevel`, `PowerCostPerSecond`, `PowerCostPerSecondPerLevel`, `RangeIndex`, `Speed`, `ModelNextSpell`, `StackAmount`, `Totem1`, `Totem2`, `Reagent1`, `Reagent2`, `Reagent3`, `Reagent4`, `Reagent5`, `Reagent6`, `Reagent7`, `Reagent8`, `ReagentCount1`, `ReagentCount2`, `ReagentCount3`, `ReagentCount4`, `ReagentCount5`, `ReagentCount6`, `ReagentCount7`, `ReagentCount8`, `EquippedItemClass`, `EquippedItemSubClassMask`, `EquippedItemInventoryTypeMask`, `Effect1`, `Effect2`, `Effect3`, `EffectDieSides1`, `EffectDieSides2`, `EffectDieSides3`, `EffectBaseDice1`, `EffectBaseDice2`, `EffectBaseDice3`, `EffectDicePerLevel1`, `EffectDicePerLevel2`, `EffectDicePerLevel3`, `EffectRealPointsPerLevel1`, `EffectRealPointsPerLevel2`, `EffectRealPointsPerLevel3`, `EffectBasePoints1`, `EffectBasePoints2`, `EffectBasePoints3`, `EffectMechanic1`, `EffectMechanic2`, `EffectMechanic3`, `EffectImplicitTargetA1`, `EffectImplicitTargetA2`, `EffectImplicitTargetA3`, `EffectImplicitTargetB1`, `EffectImplicitTargetB2`, `EffectImplicitTargetB3`, `EffectRadiusIndex1`, `EffectRadiusIndex2`, `EffectRadiusIndex3`, `EffectApplyAuraName1`, `EffectApplyAuraName2`, `EffectApplyAuraName3`, `EffectAmplitude1`, `EffectAmplitude2`, `EffectAmplitude3`, `EffectMultipleValue1`, `EffectMultipleValue2`, `EffectMultipleValue3`, `EffectChainTarget1`, `EffectChainTarget2`, `EffectChainTarget3`, `EffectItemType1`, `EffectItemType2`, `EffectItemType3`, `EffectMiscValue1`, `EffectMiscValue2`, `EffectMiscValue3`, `EffectTriggerSpell1`, `EffectTriggerSpell2`, `EffectTriggerSpell3`, `EffectPointsPerComboPoint1`, `EffectPointsPerComboPoint2`, `EffectPointsPerComboPoint3`, `SpellVisual`, `SpellVisual2`, `SpellIconID`, `ActiveIconID`, `SpellPriority`, `SpellName`, `Rank`, `Description`, `ToolTip`, `ManaCostPercentage`, `StartRecoveryCategory`, `StartRecoveryTime`, `MaxTargetLevel`, `SpellFamilyName`, `SpellFamilyFlags1`, `SpellFamilyFlags2`, `MaxAffectedTargets`, `DmgClass`, `PreventionType`, `StanceBarOrder`, `DmgMultiplier1`, `DmgMultiplier2`, `DmgMultiplier3`, `MinFactionId`, `MinReputation`, `RequiredAuraVision`) VALUES
(18954, 0, 0, 0, 0, 0, 256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 'Ranshalla Despawn', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0);
Contributor

gpascualg commented Dec 21, 2012

Updated with the spell_dbc @Trista posted and some more cleanups.

After further testing and discussing on TC IRC, we've come to the conclusion that it's a core issue.

Checked by GDB:

  • DoCast gets called
  • CheckCast returns SPELL_CAST_OK
  • Spell::Prepare does work fine

Everything seems to point that channeled spells are not correctly "updated"/"sent" to players when interrupted, causing the next casts of the spell not to be shown on the client.
Serverside, it seems to work.

@ghost ghost assigned ZxBiohazardZx Dec 25, 2012

What is this new format of spell_dbc ? I don't see the commit.

Contributor

Subv commented Dec 25, 2012

@blipi Check if the m_UniqueXTargetInfo containers are not empty

Contributor

gpascualg commented Dec 28, 2012

As with my other PR, i'll try to do it today, if not it will have to wait until the next year. Sorry!

src/server/scripts/Kalimdor/winterspring.cpp
+
+struct EventLocations
+{
+ float _x, _y, _z, _o;
@Subv

Subv Dec 28, 2012

Contributor

Don't create a new struct, Position class should work

Contributor

gpascualg commented Dec 28, 2012

Removed unnecessary struct and squashed.

Contributor

gpascualg commented Jan 10, 2013

Updated to 9da1ff4

Contributor

Trista commented Jan 10, 2013

@blipi, is that problem with aura still persistent?

Contributor

gpascualg commented Jan 11, 2013

I haven't tested it with the latest core, I'll do it tomorrow and report back.

Owner

Aokromes commented Feb 2, 2013

Any new on this?

Contributor

Trista commented Feb 2, 2013

Can't be pushed until that is fixed and I doubt it is.

Contributor

gpascualg commented Feb 4, 2013

The quest itself works fine, that spell is a mere visual.
I'm out of ideas on how to fix it, so if anyone with more knowledge than mine on spells wants to take a look at it, we'll all be pleased.

Contributor

Subv commented Feb 6, 2013

@blipi You never answered my question :(

Contributor

gpascualg commented Feb 6, 2013

@Subv Sorry I don't know how to look that at all, if you explain me how I'll do once I get home (I leave tomorrow until the 11th)

Owner

Aokromes commented Mar 4, 2013

Imho if the spell thing of this is only visual fix must be pushed, don't push a fix because a visual is missing is ....

DDuarte added a commit that referenced this pull request Mar 20, 2013

Merge pull request #8734 from blipi/guardians_altar
Quest 4901 "Guardians of the Altar"

@DDuarte DDuarte merged commit 94dd2cd into TrinityCore:master Mar 20, 2013

DDuarte added a commit to raczman/TrinityCore that referenced this pull request Apr 20, 2014

Merge pull request #8734 from blipi/guardians_altar
Quest 4901 "Guardians of the Altar"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment