mover should be source of movement packets, not player
resolves problem that movements of controlled unit not visible for nearby players
(you can detect it only when controlled unit too far from player-controller)
--HG--
branch : trunk
First basic script based on proposal of Synric on trinitycore forum (submitted by Skarabex on GC).
Still WiP with lots of work. In particular, the faction based npc/mob will have to be fixed when they will be spawned in TDB.
Fixes issue #1308.
--HG--
branch : trunk
* Script at_aldurthar_gate for quests 13315 and 13351.
* Script at_warsong_farms for quest 11686.
* Script at_stormwright_shelf for quest 12741.
Code from ScriptDev2.
Before execute sql updates, apply TDB fix. New Fix Submissions > Core related DB content
--HG--
branch : trunk
* If we get the positive response we are expecting, we will remove spells
* next.
* Just imagine, finally being able to get that T10 gear you wanted!
* Thanks to Nayre for the idea
* Thanks to Machiavelli and Trazom for help implementing
--HG--
branch : trunk
Use correct Unit::GetCreature() instead of Unit::GetUnit() with casting the object to Creature pointer.
Remove some usless casts.
Fix a possible crash in pyrewood_ambushAI.
TODO: Remove ugly cast macros(like CAST_PLR(), CAST_CRE()) from scripts and use the correct ToX() functions(like ToPlayer(), ToCreature()).
--HG--
branch : trunk
This fixes the bugs which appear when you have more than 50 entries on friends or ignore list.
For example: You have 40 friends and 20 ignores, it's 60. But the core loads just 50 entries so some of them not loaded.
Fixes issue #134.
Patch by johnholiver.
--HG--
branch : trunk
This function is like ToPlayer(), ToTotem(), etc.
This commit is like ede831bdd6f0cff481acc33f269fa7f8c78befd4 / r7496:
http://code.google.com/p/trinitycore/source/detail?r=ede831bdd6f0cff481acc33f269fa7f8c78befd4
As a result, this commit has the advantages and the "disadvantages" too, like r7496.
Please try to be polite if this commit causes some crashes.
--HG--
branch : trunk
GUIDs are most safer than pointers and in some cases can avoid segmentation faults.
== - ==
Let me show a simple example:
We have a pointer to a creature: Creature *pCreature;
and try to search a creature and store it in the pointer:
pCreature = SearchCreature(ID);
We can check simply if the creature found or not:
if(pCreature)
- if this give true: creature found and we have a memory address which points to the creature
- if this give false: creature not found and this is a NULL pointer
Suppose that we have a valid pointer, so creature found.
We wanna use that pointer somewhere, for example in script phase 3.
But we delete the creature(from world) in phase 1.
In phase 3:
if(pCreature)
pCreature->DoSomeShit();
The if condition gives true, but pCreature points to an _invalid_ address.
In that address maybe have "nothing" or another creature's object or a player or anything else, dont know that.
~~ - ~~
Let me show the correct way:
Creature's GUID: uint64 CreatureGUID;
search the creature and set the GUID:
Creature *pCreature = SearchCreature(ID);
CreatureGUID = pCreature ? pCreature->GetGUID() : 0; // if pCreature is NULL set the GUID to 0
So we have a GUID and not a pointer.
We can get the creature from that GUID:
Creature *pCreature = GetCreature(CreatureGUID);
and we can simply check it is valid or not(found or not):
if(pCreature)
So we deleted the creature in phase 1 and try to use it in phase 3:
Creature *pCreature = GetCreature(CreatureGUID);
And this gives NULL because GetCreature() can't find the creature which GUID is CreatureGUID.
if(pCreature) // pCreature is NULL
pCreature->DoSomeShit(); // DoSomeShit() not called
== - ==
Remove some not used variables.
Some clean.
TODO: Should search/fix these in zones scripts.
--HG--
branch : trunk