You are in the wrong zone.

I’m on TrinityCore rev. 2012-06-28 22:37:43 -0700 (799b2c146ba5) (Win32, Release). This isn’t as much an issue as seeking guidance on removing the ‘You are in the wrong zone’ message and zone requirement from a certain spell. The spell is 29519 ‘Silithyst’.

The spell puts a buff on the player that can be taken off and places object 181597 (via drop spell 29533) on the ground. This object can be picked up, which then places the buff 29519 on the player. This can only be done in Silithus.

I need to be able to use this spell/object outside of Silithus. I’ve searched all day for ways to do this. Logically somewhere is a field in a db or dbc that says it can only be used in Silithus, but I can’t find it. I’ve looked in world—>conditions, world—>event_scripts, and world—>spell_area. None of them seem to have any reference to this spell. I also triple checked the spell.dbc and couldn’t find any field for 29,519 that looked like a zone requirement as a reference, directly or otherwise.

So does anyone know where to look for it?

Second, is there a way to copy this set of spells so that I can make the new set drop a different object? Basically I need one set of the spell for a ‘Heaven’ object and the other for an ‘Earth’ object. Any help would be appreciated. After not making any progress today all the steam has been taken out of my sail on this one. Thanks!

1st law, update your core before reporting bugs.

2nd law, use bugtracker to report bugs.

It’s not a bug… by design you’re supposed to only be able to cast the spell in Silithus. I’m asking for help on how to change it so I can use it outside of Silithus.

Search the entire C++ project for 29519 and you’ll see that SI_SILITHYST_FLAG is defined for this value. Do a global search on that and you’ll find the OutdoorPvPSI class that handles this behavior.

Then you’ll find this suspicous-looking method:

bool OutdoorPvPSI::SetupOutdoorPvP() {
for (uint8 i = 0; i < OutdoorPvPSIBuffZonesNum; ++i)
RegisterZone(OutdoorPvPSIBuffZones[i]);
return true;
}

Which leads you to these definitions:

const uint8 OutdoorPvPSIBuffZonesNum = 3;
const uint32 OutdoorPvPSIBuffZones[OutdoorPvPSIBuffZonesNum] = { 1377, 3428, 3429 };

I’m not familiar with any of this particular code, but this looks like the path you want to follow.

That requirement is defined in the DBC, you’d have to modify it to make it work.

Yeah, field 224 in the spell.dbc is “AreaGroupID” which looks to be an int key for the AreaGroup.dbc, which maps to up to 8 Area IDs in the AreaTable.dbc.

Yup, Schlumpf on Modcraft was able to point me towards the dbc edit, which went right over my head. I even searched by field 224 earlier in the day to find other Silithus flagged spells and never made the connection that the field was governing this message. And apparently I have to copypasta and edit the core/code to make a copy of this spell so I have two individual sets. Thanks for the help everyone.

It still may not work without a dbc edit. If you modify object 181597 to give off a new spell aura (that you’ve created) it may cause problems with the client which won’t recognize the spell.

And if you are reduced to a dbc edit, it would be more straightforward to edit the existing spell. (Note: dbc edits are not supported by TC)

technically, this DBC edit is more supportable than many, because you only edit the server’s set of DBCs (afaik) and don’t need clients that connect to edit their DBCs for it to work. But, probably still a good idea to have a zero tolerance stance on DBC edits.

Hey there guys. Along the same lines of tryingt o enable a mount outside of its allowed zone. I am trying to allow spell 53173 (Call of the Frostbrood) to be allowed outside of the Deathknight zone.

The Idea being to have sql command place a .learn on a character via the vote site as an …extremely OP spell… /emoticons/default_tongue.png

In game I can fly it around outside of that zone but only by spawning the NPC and jumping on its back. The problem is of course, while you take off on your dragon, the NPC stays there on the ground and others can also jump on and fly dragons as well.

I have been scouring the spells file in DBC editor forever and haven’t found any leads as to how I can remove this zone requirement for just the spell - Call of the Frostbrood.

Any help would be appreciated!

Hey there guys. Along the same lines of tryingt o enable a mount outside of its allowed zone. I am trying to allow spell 53173 (Call of the Frostbrood) to be allowed outside of the Deathknight zone.

The Idea being to have sql command place a .learn on a character via the vote site as an …extremely OP spell… /emoticons/default_tongue.png

In game I can fly it around outside of that zone but only by spawning the NPC and jumping on its back. The problem is of course, while you take off on your dragon, the NPC stays there on the ground and others can also jump on and fly dragons as well.

I have been scouring the spells file in DBC editor forever and haven’t found any leads as to how I can remove this zone requirement for just the spell - Call of the Frostbrood.

Any help would be appreciated!

— Canned message start —

This thread is not related to the official Trinity codebase and was moved to the Custom Code section.

Please read the stickies next time.

— Canned message end —