Commit Graph
24 Commits
Author SHA1 Message Date
Spp 2e127f7a30 Code style (game + scripts only):
"while(" --> "while ("

--HG--
branch : trunk
2010-04-07 19:13:19 +02:00
Spp 182e9a20b1 Code style (game + scripts only):
"for(" --> "for ("

--HG--
branch : trunk
2010-04-07 19:12:44 +02:00
Spp b27ce42704 Code Style: Remove trailing spaces
--HG--
branch : trunk
2010-04-07 18:09:10 +02:00
Tartalo 668dd91368 Ulduar, Halls of Lightning: Ionar disperses only once.
3.3.2 Blizzlike change

--HG--
branch : trunk
2010-04-07 00:21:31 +02:00
Tartalo 7c389f4c39 Ulduar, Halls of Lightning: Cleanup Ionar's script
--HG--
branch : trunk
2010-04-07 00:18:53 +02:00
Trazom62 bcfd44f978 Fix Script HoL/Ionar.
Fixes issue #1132.

--HG--
branch : trunk
2010-04-03 16:51:56 +02:00
Anubisss 08b4748e62 Use GUIDs instead of "global" pointers in zone scripts.
This commit is like that: 7714 / rce505237e4aa

And use const_iterators where it is possible.

--HG--
branch : trunk
2010-04-02 15:41:37 +02:00
Anubisss f78b766705 Use ToTempSummon() in a case instead of a C style cast.
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
2010-04-01 19:09:56 +02: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 72c3c4696b Implement Tribunal of Ages Achievements (Requires DB Data)
--HG--
branch : trunk
2010-03-23 20:31:55 +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
Trazom62 248286c08d Fix Crash in XT-002 (Gravity Bomb proc). Fixes issue #734.
Fix compilation warning.
Fix typo in Freya soundid.

--HG--
branch : trunk
2010-03-22 14:07:08 +01:00
_manuel_ fae77f2621 Add additional field for storage of speed_run rate of creature
This allow independent rate of walk vs run speed. Existing field renamed to explicit speed_walk.

Note that default database rate for run is a result of the most common value seen, 8.0/7.0

Author: NoFantasy.

--HG--
branch : trunk
2010-03-21 14:57:49 -03:00
Trazom62 450b2fba9d Update Script Ulduar/XT-002. Thanks Dakeyras. Fixes issue 1074.
Add script texts for all ulduar bosses and adds. Mainly from wowwiki, Thanks.
Some code style cleanup.
Still WiP.

--HG--
branch : trunk
2010-03-21 17:17:34 +01:00
Tartalo 10417f1e6d Fix few typos on last commits
--HG--
branch : trunk
2010-03-20 13:22:02 +01:00
Tartalo 617c94c9da Halls of Stone: Implement achievement Brann's Spankin' New
--HG--
branch : trunk
2010-03-20 13:15:44 +01:00
Tartalo 5bd575b974 Halls of Stone: Allow to loot Brann's chest when encounter ends (without waiting all the event). Blizzlike change
--HG--
branch : trunk
2010-03-20 13:06:21 +01:00
Trazom62 b00c745455 Update Halls of Stones script text entries to correct range.
Fixes issue #607.

--HG--
branch : trunk
2010-03-16 21:24:00 +01:00
Tartalo 51a93aa652 Halls of Lighting: Make sure doors are closed at start
--HG--
branch : trunk
2010-02-15 14:55:29 +01:00
Brian 486c00891b * Core switch to client 3.3.2 (11403)
* Credits (in no particular order) to:
* n0n4m3, raczman, manuel, Spp, Malcrom, Teacher, QAston, Tartalo,
* thenecromancer, Xanadu, Trazom, Zor, kiper
* Additional credits to:
* TOM_RUS and NoFantasy from MaNGOS
* Thanks for testing Aokromes and XTElite1
* SoTA still needs some work, but is very playable (huge thanks to raczman and
* kiper)
* To upgrade, you need to apply all SQL from sql/updates/3.2.2a_old from the
* last rev you are on
* and then apply all SQL from sql/updates/3.3.2_old to char / realmd / world
* DBs
* Known problem with guild banks.

--HG--
branch : trunk
2010-02-14 19:13:14 -07:00
Trazom62 1e4684826e Fix Script HoS/Tribunal Event. Thanks beberlescaraber.
Fixes issue #58.

- fix brann defending when he should not.
- fix reset of gossip flag.
- fix reset of GO at end of event.

--HG--
branch : trunk
2010-02-08 19:26:45 +01:00
Xanadu a5d1bc77ab A great purge of obsolete macros.
--HG--
branch : trunk
2010-02-05 00:31:28 +01:00
Trazom62 f5e267da16 Fix Script HoL/Ionar. Thanks WarHead.
Fixes issue #258.

--HG--
branch : trunk
2010-01-28 22:06:31 +01:00
Rat 0cc053ea4d *Integrate Script system to Core
-added ScriptMgr for loading scripts
-removed bindings
-moved script system to src/game
-moved scripts to src/scripts
-VC project files updated
-cmakes updated (not 100% done yet)

NOTE to Devs:
-file locations changed
-precompiled renamed to ScriptedPch
-ecsort_ai renamed to ScriptedEscortAI
-follower_ai renamed to ScriptedFollowerAI
-guard_ai renamed to ScriptedGuardAI
-simple_ai renamed to ScriptedSimpleAI
-sc_creature renamed to ScriptedCreature
-sc_gossip renamed to ScriptedGossip
-sc_instance  renamed to ScriptedInstance

*use the new headers in scripts, thank you

NOTE to ALL:
cmake not fully tested, please report any errors with it
could make creashes, incompability
USE AT YOUR OWN RISK before further tests!!

--HG--
branch : trunk
2010-01-19 11:36:05 +01:00