Commit Graph

7719 Commits

Author SHA1 Message Date
Anubisss
ce8cc85dfa Make a function(ToTempSummon()) which can convert Creature to TempSummon with a C++ cast(reinterpret_cast) and with a type check(isSummon()).
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
2010-03-27 16:08:14 +01:00
Machiavelli
769f54eedf Fix compiler warning in mob_crystal_handlerAI
--HG--
branch : trunk
2010-03-27 15:11:14 +01:00
Machiavelli
b9927ca559 Implement usage of RewardArenaPoints field in quest_template
--HG--
branch : trunk
2010-03-27 15:10:26 +01:00
Machiavelli
9ce6094dce Partial implementation of instance system patch by scarymovie87, fix max players check in instance. Cause of error was a pointer of class Player was casted to class InstanceMap. Refs issue #1323
--HG--
branch : trunk
2010-03-27 15:09:26 +01:00
Anubisss
be739e9900 Use GUIDs instead of "global" pointers in ~all boss/instance scripts.
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
2010-03-27 13:54:38 +01:00
Trazom62
099ef2a9b6 Fix InstanceData::DoCompleteAchievement (and crash in AchievementMgr::CompletedAchievement).
Remove support of no longer existing achievement "The Party is Over". Thanks JuliuSZS.
Fixes issue #1318.

--HG--
branch : trunk
2010-03-27 13:45:39 +01:00
Trazom62
eedd43efa5 Fix UT/Ingvar the plunderer script.
Fixes issue #1034.

- Remove setDisplayID hack and use UpdateEntry to fix Ingvar Kill Credit related achievements.
- code style cleaning.

Requires DB update to set loot from Ingvar Human (23954) to Undead (23980) (in normal and heroic).

--HG--
branch : trunk
2010-03-27 13:14:13 +01:00
_manuel_
ecba58c8f6 Fix hardmode achievement from Obsidiam Sanctum
Fix Flame Tsunami aura and visual effects

Author: Gyullo

--HG--
branch : trunk
2010-03-26 23:16:22 -03:00
_manuel_
2cb7a31512 Corrected script for Glyph of Feral Spirit, aura must be checked on Owner not Pet. By Gyullo.
--HG--
branch : trunk
2010-03-26 22:19:03 -03:00
_manuel_
49c5be6d80 Improvement in npc_mageguard_dalaranAI.
--HG--
branch : trunk
2010-03-26 22:13:04 -03:00
_manuel_
2796f08297 Support for spell Disarm Trap.
--HG--
branch : trunk
2010-03-26 22:04:38 -03:00
Xanadu
180651d95e A visually better way to handle Avenger Wrath blocking of immunity shields.
--HG--
branch : trunk
2010-03-26 22:21:33 +01:00
Brian
ec72846da4 * Check for incorrect settings for AHbot
* Patch by click

--HG--
branch : trunk
2010-03-26 13:07:24 -06:00
Spp
cd372966af * Add support to save and load worldstates.
will be mainly used by outdoorPvP system
* Update next arena auto distribute points time to custom worldstate

--HG--
branch : trunk
2010-03-26 16:48:33 +01:00
teacher
afbb5f2e3c Moved sql update files to sql\updates\3.3.2_old.
--HG--
branch : trunk
2010-03-26 14:40:09 +01:00
Xanadu
68a19906c8 Renamed the SQLs to reflect correct revision after the merges.
--HG--
branch : trunk
rename : sql/updates/7692_world_creature_template.sql => sql/updates/7694_world_creature_template.sql
rename : sql/updates/7692_world_gameobject_template.sql => sql/updates/7694_world_gameobject_template.sql
rename : sql/updates/7692_world_item_template.sql => sql/updates/7694_world_item_template.sql
rename : sql/updates/7692_world_npc_text.sql => sql/updates/7694_world_npc_text.sql
rename : sql/updates/7692_world_page_text.sql => sql/updates/7694_world_page_text.sql
rename : sql/updates/7692_world_quest_template.sql => sql/updates/7694_world_quest_template.sql
rename : sql/updates/7694_world_npc_trainer.sql => sql/updates/7697_world_npc_trainer.sql
rename : sql/updates/7694_world_npc_vendor.sql => sql/updates/7697_world_npc_vendor.sql
2010-03-25 17:19:19 +01:00
Xanadu
d0c10d44b8 Merge
--HG--
branch : trunk
2010-03-25 17:09:45 +01:00
Xanadu
20de79f6ba Fixed Forbearance. Also self-cast LoH will now correctly prevent Avenging Wrath for 30 s. Closes issue #1270. Thanks to _manuel_ for research.
--HG--
branch : trunk
2010-03-25 17:09:05 +01:00
Tartalo
7d6923d8c7 BlackRock Depths: Some improvements, by antihrists
Fix Tomb of Seven event
Fix Shadowforge braziers
GO handling for Magmus

--HG--
branch : trunk
2010-03-25 13:33:49 +01:00
Tartalo
5bd9bfcdda Merge
--HG--
branch : trunk
2010-03-25 10:34:41 +01:00
Tartalo
080229fec3 Gundrak, Gal'Darah: Script improvements by pivonroll
Fix some Spell IDs & timers
Implement transformation

--HG--
branch : trunk
2010-03-25 10:32:07 +01:00
silverice
5f60483033 cleanups in vehicle accessories storage
transfer accesory list by pointer, make it constant

--HG--
branch : trunk
2010-03-25 04:09:26 +02:00
Tartalo
5a2e20b765 Gundrak: Cleanup
--HG--
branch : trunk
2010-03-25 02:49:41 +01:00
Brian
808254af50 * Missed SQL from previous commit
--HG--
branch : trunk
2010-03-24 18:36:46 -06:00
Brian
66a890ca0f * Allow the use of referenced trainer / vendor data.
* This will reduce the size of the trainer / vendor tables a LOT.
* Current tables will continue to work as/is until the refs can be made.
* Huge thanks to XTElite1
* Credits for patch to Cycrow

--HG--
branch : trunk
2010-03-24 18:27:09 -06:00
teacher
baf946bdc7 Changed default value for WDBVerified field for better future handling.
--HG--
branch : trunk
2010-03-25 00:01:02 +01:00
Xanadu
2f17cff295 Cleaned and tidied-up the mechanic immunity handler
--HG--
branch : trunk
2010-03-24 20:35:04 +01:00
teacher
99e186c830 Added spells to Wintergarde Gryphon (by Malcrom).
Added place holders for server-side spells.
Import errors fixes in world.sql.

--HG--
branch : trunk
2010-03-24 15:05:25 +01:00
Tartalo
41ad4fffeb Drak'Tharon Keep, Novos the Summoner: some improvements by pivonroll
Fix resseting issues
Better IA for adds

--HG--
branch : trunk
2010-03-24 13:34:49 +01:00
Tartalo
80cb722bba Drak'Tharon Keep: Cleanup
--HG--
branch : trunk
2010-03-24 12:31:00 +01:00
Tartalo
90b19607a1 Merge
--HG--
branch : trunk
2010-03-24 00:21:59 +01:00
Tartalo
50c5d81a79 Merge
--HG--
branch : trunk
2010-03-24 00:21:31 +01:00
Tartalo
c7f5d95a1d Azjol Nerub, Azjol Nerub: Cleanup
--HG--
branch : trunk
2010-03-24 00:13:00 +01:00
Tartalo
29201cf687 Azjol Nerub, Ahn'Kahet: cleanup
--HG--
branch : trunk
2010-03-23 22:34:31 +01:00
Trazom62
76a8d8a62c Implement Tharon'ja achievements (Requires DB Data).
--HG--
branch : trunk
2010-03-23 21:31:30 +01:00
Trazom62
72c3c4696b Implement Tribunal of Ages Achievements (Requires DB Data)
--HG--
branch : trunk
2010-03-23 20:31:55 +01:00
n0n4m3
5fe2454b24 Fix one WPE exploit.
When apply more 6 gems, and after  player logout, server crash, also apply code style and cleanup.

--HG--
branch : trunk
2010-03-23 14:38:31 -05:00
Trazom62
1e9de7dbd7 Implement Four-Horsemen achievements (requires DB Data).
Fixes issue #1107.

--HG--
branch : trunk
2010-03-23 19:15:17 +01:00
Xanadu
cfc094040f Added support for maximum allowed player level for quests. By Gyullo.
--HG--
branch : trunk
2010-03-23 16:10:18 +01:00
Tartalo
a348b591a7 Violet Hold: Exploit fix
Now bosses reset if they're hitted when their door is closed

--HG--
branch : trunk
2010-03-23 12:48:28 +01:00
Tartalo
3cd729294e Gundrak: Fix for Eck the Ferocious spawning
--HG--
branch : trunk
2010-03-23 12:25:01 +01:00
teacher
05e7a155a5 Fixed long forgotten gamebuild default value (thx Aokromes).
Also fixed typo in script full file (thx ogeraisi).

--HG--
branch : trunk
2010-03-23 02:13:38 +01:00
Tartalo
2c2b75fb55 Ahn'Kahet: Code cleansing
--HG--
branch : trunk
2010-03-22 23:24:59 +01:00
Tartalo
2e5c5d3e1b Hall of Lightning: Fix Encounter state saving to db
Thanks Aokromes, Baraka & Spawn

--HG--
branch : trunk
2010-03-22 22:48:05 +01:00
Tartalo
c80b67cebd Nexus, Anomalus: Summons rifts only once. Blizzlike 3.3.2 update
--HG--
branch : trunk
2010-03-22 22:44:54 +01:00
Tartalo
0d1bd05ce7 Gundrak: Code cleansing
--HG--
branch : trunk
2010-03-22 22:36:26 +01:00
Tartalo
df45e38ba6 Gundrak: Implement Eck the Ferocious spawning
Based on pivonroll's code but rewrited from scratch

--HG--
branch : trunk
2010-03-22 22:27:37 +01:00
Trazom62
e018c4cc7b Implemented new achievement criteria data:
* ACHIEVEMENT_CRITERIA_DATA_TYPE_S_EQUIPED_ITEM_LVL (item level and item quality).

Implemented achievement criteria:
* ACHIEVEMENT_CRITERIA_TYPE_LOOT_EPIC_ITEM
* ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM

Update ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM implementation. Requires DB update to use new criteria data.

Thanks VladimirMangos.

--HG--
branch : trunk
2010-03-22 18:32:38 +01:00
XTZGZoReX
f6e516d819 * Fix CRLF.
--HG--
branch : trunk
2010-03-22 17:47:38 +01:00
silverice
d4c3620557 restore work of IsInMap check
--HG--
branch : trunk
2010-03-22 18:46:48 +02:00