http://www.wowhead.com/quest=1948
You gather the 10 witherbark totem sticks and use them at the circle of outer binding. It plays some animation but you never get the bolt charged bramble and no item is created that you can loot.
2012-04-28 15:10:52 +0200 (b53485e05326+) (Win64, Release) AHbot
b53485e05326f9ed6562aa78fee282f255eac339
TDB_full_335.11.46_2012_02_13 (+updates)
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
I must confirm this Issue on Actual Core+DB
Can Anybody help me to tell how works GO with Type 6 and Type 8 together?
I see on this Q two GO in DB 174764 and 103661 one is Type 6 the other Type 8.
Thx
The item summons an object of type 8. This one then summons another object of type 6 which is a trap which should then trigger. The cast of this one summons the chest... Yes, it's complicated.
Thx Gacko !!!
So i make some test but im really angry at the moment!
What can say was positiv? The spell (9056) thats was casting from the trap (103661) works fine and ist not disabled.
When i cast this spell manual the all visuell things are available and also i can loot the summoned GO.
But why was not castet the spell? Who can i check this?
I can not check its the trap go was summoned. .gobject near takes only static spawned GO's in the list.
Has anybody any Idea?
Thx
The spell of the sticks summons a game object. This has type 8 and has a linked trap. The linked trap is already summoned as intended. But it does not trigger. It has a radius of zero and the trap type is 1 (Disappear after triggering). As it is never triggered the required chest game object is never summoned.
I already tried to implement a solution for game objects like this - there are only about 3 of this kind and 23 which are summoned static. Warning: Highly improper...
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 8b440b6..8018ddb 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -5385,6 +5385,17 @@ void Spell::EffectTransmitted(SpellEffIndex effIndex)
ExecuteLogEffectSummonObject(effIndex, linkedGO);
linkedGO->GetMap()->AddToMap(linkedGO);
+
+ if (GameObjectTemplate const* linkedInfo = linkedGO->GetGOInfo())
+ {
+ if (linkedInfo->type == GAMEOBJECT_TYPE_TRAP && !linkedInfo->trap.radius && linkedInfo->trap.spellId && linkedInfo->trap.type != 2)
+ {
+ linkedGO->Use(m_caster);
+ if (linkedInfo->displayId == goinfo->displayId)
+ pGameObj->SetLootState(GO_JUST_DEACTIVATED);
+ }
+ }
+
}
else
{
This would solve the 3 of them. Here's a SQL select to find these game objects.
SELECT `g1`.`entry` "Entry", `g1`.`name` "Name", `g1`.`displayId` "Disp", `g2`.`entry` "Entry", `g2`.`displayId` "Disp", `g2`.`data3` "Spell", `g2`.`data4` "Type", `g2`.`WDBVerified` "WDB"
FROM `gameobject_template` `g1` INNER JOIN `gameobject_template` `g2` ON `g1`.`data2`=`g2`.`entry`
WHERE `g2`.`data2`=0 AND `g2`.`data4`!=2 AND `g2`.`data5`!=3 AND `g2`.`data3`!=0;
| Entry | Name | Disp | Entry | Disp | Spell | Type | WDB |
+--------+-------------------------+------+--------+------+-------+------+-------+
| 111148 | Night Elven Bear Trap | 1308 | 109515 | 1287 | 9439 | 1 | 11723 |
| 174764 | Witherbark Totem Bundle | 1708 | 103661 | 1708 | 9056 | 1 | 1 |
| 191854 | Lava | 8200 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191855 | Lava | 8200 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191857 | Lava | 8200 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191858 | Lava | 8200 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191859 | Lava | 8200 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191862 | Fire | 8202 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191863 | Fire | 8202 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191864 | Fire | 8202 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191865 | Fire | 8202 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191866 | Fire | 8202 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191867 | Fire | 8202 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191870 | Fire | 8202 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191872 | Lava | 8202 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191873 | Fire | 8202 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191874 | Fire | 8202 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191875 | Fire | 8202 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191876 | Fire | 8202 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191856 | Lava | 8200 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191860 | Lava | 8201 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191861 | Lava | 8200 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191868 | Fire | 8202 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191869 | Fire | 8202 | 191370 | 4251 | 54085 | 0 | 12340 |
| 191871 | Fire | 8202 | 191370 | 4251 | 54085 | 0 | 12340 |
| 181057 | Ectoplasmic Distiller | 6659 | 181054 | 6659 | 27420 | 0 | 12340 |
+--------+-------------------------+------+--------+------+-------+------+-------+
Any new on this?
Yes. I will fix it today. Remind me xD
let's go Gacko - finish your awesome work. You can do it man! :D
Yes... I know -.-
Confirmed. Quest is broken. ; )
I know so :D
@Zaranthos : your link to the quest on wowhead is broken. Remove "old." and the link will work.
Items of Power : http://wowhead.com/quest=1948
@Gacko anything here is valid/needed?
I started fixing some GO things blocking my work here. Issue needs to keep open, I'll continue when I've got some spare time.
Nope. I re-wrote the update part which was necessary to implement a suitable fix. But I did not do so.
@Gacko give love to this!
/love. There is probably still some data missing to identify how to spawn this properly... I'll see.
there is no such thing as love @Gacko in this issue :(
OK then I will post in here. Still no workie.
@Killyana any ideas about fixing this with all the gob changes made recently?
The issue is still the same: the trap 103661 is not activated once summoned
Probably not lootable because for summoned gob player is not owner?
@xvwyh any insights about this?
No the gob you see is 103661 a trap not the lootable one.
The lootable gob is never summoned because the trap never activate it self to cast the spell that summon this gob.
Here the actual sequence:
1- This spell is casted by the player https://woehead.way-of-elendil.fr/?spell=9055
2- The spell=9055 will Trans Door the gob 174764 ( Trans Door=Summon ?)
3- The gob 174764 will summon its linked trap 103661 once created
4- The trap 103661 is activated and cast 9056
5- The spell 9056 summon the lootable gob 103662
Step 4 is the one not being execute a explained above.
You can use something like this, it's a hack:
``sql
DELETE FROMsmart_scriptsWHEREentryorguid=103661 ANDsource_type=1;
INSERT INTOsmart_scripts(entryorguid,source_type,id,link,event_type,event_phase_mask,event_chance,event_flags,event_param1,event_param2,event_param3,event_param4,action_type,action_param1,action_param2,action_param3,action_param4,action_param5,action_param6,target_type,target_param1,target_param2,target_param3,target_x,target_y,target_z,target_o,comment`) VALUES
(103661, 1, 0, 1, 63, 0, 100, 0, 0, 0, 0, 0, 11, 9056, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Witherbark Totem Bundle TRAP - Just created- cast spell"),
(103661, 1, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Witherbark Totem Bundle TRAP - On link - Despawn");
I can't add anything valuable here, sorry. Using the item should summon "Witherbark Totem Bundle" which in turn should summon "Witherbark Totem Bundle TRAP", but there is nothing there that would disturb the trap. No spell with SPELL_EFFECT_ACTIVATE_OBJECT within that ID range. And the trap doesn't have "charges" property set to 2, which would make it cast its spell immediately upon being summoned (this functionality seems to have appeared way later into the game's development, as only GOs with high IDs use it and the property is still called "charges" to this day even though it no longer matches its function). I don't know if this one case is enough evidence to suggest that SPELL_EFFECT_TRANS_DOOR must disturb linked traps upon summoning, pretty sure there are more cases of similar content in the game which must also be examined.
We can't exclude the possibility that the trap is being triggered by blizzard's serverside script, say, on trap's creation - disturb self, as @Killyana suggested. Except instead of manually casting the spell I would've preferred the trap to trigger itself - there's an action for that: SMART_ACTION_ACTIVATE_GOBJECT. Hopefully it will work even if there's no unit to trigger it. Then you won't need to bother with manually casting the spell and despawning - trap will take care of it.
@Killyana
SPELL_EFFECT_TRANS_DOOR effect's actual blizzlike name is "Summon Object"
SPELL_EFFECT_SUMMON_OBJECT_WILD blizzlike name is "Summon Object (Wild)"
Data from alpha client's SpellEffectNames.dbc. So yeah, nothing special there. Don't know what the difference between these two is supposed to be. For sure the "non-wild" version sets GOs owner to caster, but it also could be that it despawns when its owner leaves the map or something like that.
I get a similar issue here https://github.com/TrinityCore/TrinityCore/commit/d1704cf83118a6ea5136ec709f3e360e60b05bb6#diff-bdce6139acd72f9fc6922ce2a9e43b7fR13
I tried SMART_ACTION_ACTIVATE_GOBJECT and SMART_ACTION_GO_SET_LOOT_STATE but nothing works, for the quest Second Chances the summoned gate cast the spell after 4 secs, so it's definitively done via script.
I'm wondering why Blizzard is using 3 gobs for the quest Items of Power, maybe there's some visual event that happen before spawning the last chest.
Yeah, there is. That makes me think now that blizzards script is "wait X seconds, disturb self".
This is how the model looks like in state GO_STATE_ACTIVE:

And this - in GO_STATE_READY (also vibrating and with lightnings flashing):

But now I am completely baffled by the existance of the spellfocus object "Witherbark Totem Bundle". ALL THREE objects (spellfocus, trap, chest) have this model. If item's spell was summoning the "Witherbark Totem Bundle TRAP", then great:
GO_STATE_ACTIVE appears, looking like a regular branchMy only guess would be that traps cannot be in GO_STATE_ACTIVE, so they have to summon a spellfocus GO just to have the "regular branch" visual displaying. But the linked trap is summoned immediately, so both regular and lightning branches would be visible at the same time. Unless the trap is meant to be invisible (we don't have access to this serverside data about GOs), yet the spell it casts is meant to be visible.
GO_STATE_ACTIVE appears, looking like a regular branchhttps://classic.wowhead.com/quest=1948/items-of-power#comments:id=2744868
- Go into the stone in the middle of the circle and right-click the sticks in your inventory and the bramble will be charged after some secs (around 10)
This works fine, except the spell 9056 when casted by the gob has no light animation, the animation works fine if casted by a npc or a player.
``sql
UPDATEspell_target_positionSETpositionX=-1350.881714,positionY=-2739.897705,positionZ=61.57 WHEREid=9055;
UPDATEgameobject_templateSETAIName='SmartGameObjectAI' WHEREentryIN (103661,174764);
DELETE FROMsmart_scriptsWHEREentryorguidIN (103661,174764) ANDsource_type=1;
INSERT INTOsmart_scripts(entryorguid,source_type,id,link,event_type,event_phase_mask,event_chance,event_flags,event_param1,event_param2,event_param3,event_param4,action_type,action_param1,action_param2,action_param3,action_param4,action_param5,action_param6,target_type,target_param1,target_param2,target_param3,target_x,target_y,target_z,target_o,comment`) VALUES
(174764, 1, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Witherbark Totem Bundle - Just created - activate"),
(103661, 1, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Witherbark Totem Bundle TRAP - Just created - activate"),
(103661, 1, 1, 2, 60, 0, 100, 1, 10000, 10000, 0, 0, 11, 9056, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Witherbark Totem Bundle TRAP - On update - cast spell"),
(103661, 1, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 20, 174764, 0, 0, 0, 0, 0, 0, "Witherbark Totem Bundle TRAP - On link - Despawn");
Oh, lol. I looked at SMART_ACTION_ACTIVATE_GOBJECT handler and had a good laugh. No wonder it doesn't work. But oh well, no point in changing it to GameObject::Use call now anyway, when it needs to be expanded to support #21078 eventually.
@Killyana, speaking of spell being cast without visuals: could you debug and verify that data.DstLocation is being filled in SpellCastTargets::Write for that cast? And if the packet from Spell::SendSpellGo is being delivered to players?
My knowledge in cpp are very limited. I don't know how to do that.
I spawned a generic npc trigger to cast the spell, it fixes the visual issue:
``sql
UPDATEspell_target_positionSETpositionX=-1350.881714,positionY=-2739.897705,positionZ=61.57 WHEREid=9055;
UPDATEgameobject_templateSETAIName='SmartGameObjectAI' WHEREentryIN (103661,174764);
DELETE FROMsmart_scriptsWHEREentryorguidIN (103661,174764) ANDsource_type=1;
INSERT INTOsmart_scripts(entryorguid,source_type,id,link,event_type,event_phase_mask,event_chance,event_flags,event_param1,event_param2,event_param3,event_param4,action_type,action_param1,action_param2,action_param3,action_param4,action_param5,action_param6,target_type,target_param1,target_param2,target_param3,target_x,target_y,target_z,target_o,comment`) VALUES
(174764, 1, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Witherbark Totem Bundle - Just created - activate"),
(103661, 1, 0, 0, 63, 0, 100, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Witherbark Totem Bundle TRAP - Just created - activate"),
(103661, 1, 1, 2, 60, 0, 100, 1, 10000, 10000, 0, 0, 85, 9056, 0, 0, 0, 0, 0, 19, 15214, 5, 0, 0, 0, 0, 0, "Witherbark Totem Bundle TRAP - On update - cast spell"),
(103661, 1, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 20, 174764, 0, 0, 0, 0, 0, 0, "Witherbark Totem Bundle TRAP - On link - Despawn");
DELETE FROM conditions WHERE SourceTypeOrReferenceId = 17 AND SourceEntry = 9055;
INSERT INTO conditions (SourceTypeOrReferenceId, SourceGroup, SourceEntry, ElseGroup, ConditionTypeOrReference, ConditionTarget, ConditionValue1, ConditionValue2, ConditionValue3, ErrorTextId, ScriptName, Comment, NegativeCondition) VALUES
(17, 0, 9055, 0, 30, 0, 174764, 30, 0, 0, '', "Create Witherbark Totem Bundle", 1),
(17, 0, 9055, 0, 30, 0, 103662, 30, 0, 0, '', "Create Witherbark Totem Bundle", 1);
DELETE FROM creature WHERE guid IN (105530) AND id=15214;
INSERT INTO creature (guid, id, map, zoneId, areaId, spawnMask, phaseMask, modelid, equipment_id, position_x, position_y, position_z, orientation, spawntimesecs, spawndist, currentwaypoint, curhealth, curmana, MovementType, npcflag, unit_flags, dynamicflags, VerifiedBuild) VALUES
(105530, 15214, 0, 0, 0, 1, 1, 0, 0, -1350.881714, -2739.897705, 61.57, 1.65806, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0);
If you desperately want to hackfix the visual without regard for whether or not it even worked on retail servers - sure, it's a solution...
Better to have it working properly.
Actually, if visual does/did not work on retail, we shouldn't fix it
Most helpful comment
Yeah, there is. That makes me think now that blizzards script is "wait X seconds, disturb self".


This is how the model looks like in state
GO_STATE_ACTIVE:And this - in
GO_STATE_READY(also vibrating and with lightnings flashing):But now I am completely baffled by the existance of the spellfocus object "Witherbark Totem Bundle". ALL THREE objects (spellfocus, trap, chest) have this model. If item's spell was summoning the "Witherbark Totem Bundle TRAP", then great:
GO_STATE_ACTIVEappears, looking like a regular branchMy only guess would be that traps cannot be in
GO_STATE_ACTIVE, so they have to summon a spellfocus GO just to have the "regular branch" visual displaying. But the linked trap is summoned immediately, so both regular and lightning branches would be visible at the same time. Unless the trap is meant to be invisible (we don't have access to this serverside data about GOs), yet the spell it casts is meant to be visible.GO_STATE_ACTIVEappears, looking like a regular branch