Commit Graph
42 Commits
Author SHA1 Message Date
click 0fd39511ac Add support for quest 6641 (Vorsha The Lasher)
--HG--
branch : trunk
2010-05-04 08:30:11 +02:00
Rat 2c31b77129 *more script texts fixed, thanks to terrorbringer
--HG--
branch : trunk
2010-05-03 15:33:30 +02:00
Spp e107730ffb Fix more warnings.
--HG--
branch : trunk
2010-05-01 22:25:14 +02:00
click 593d962665 Add support for quest 1440 (Return to Vahlarriel) - patch by Supabad
Closes issue #323

--HG--
branch : trunk
2010-05-01 09:12:52 +02:00
click bcbb52f507 Fix recipe-learning in Raozrofen Down (cooking/alchemy) - patch by PrinceCreed
Closes issue #1009

--HG--
branch : trunk
2010-05-01 08:36:38 +02:00
Spp 213a5e5062 Silithus: Fix event for quest 8519
Patch by "kb_z"
Closes issue 177

--HG--
branch : trunk
2010-04-30 11:31:59 +02:00
Spp cb0cb96283 Warning Fixes
Code Style cleanup
Fix linux compile

--HG--
branch : trunk
2010-04-29 23:12:16 +02:00
Trazom62 e719bd32a3 Fix timed achievement checks for boss killed in instance.
Requires DB update.

--HG--
branch : trunk
2010-04-27 22:26:30 +02:00
Trazom62 eccf5bf547 Refactor Creature::SelectNearestTarget(float dist)
This function is used in many scripts to find the nearest enemy within the given distance.
However, it had an implicit limit to the ATTACK_DISTANCE. so in many case the "dist" was in fact just ignored.
In other case, the ATTACK_DISTANCE is required. So 2 functions are necessary to avoid ambiguities.

The refactoring is the split of the function in 2: SelectNearestTarget and SelectNearestTargetInAttackDistance.

--HG--
branch : trunk
2010-04-25 12:59:27 +02:00
Spp be01821050 More warning removal (Some code modifications and cleanup when needed)
--HG--
branch : trunk
2010-04-19 17:03:10 +02:00
Spp 647dde0f76 Durotar: Fix Phase error
--HG--
branch : trunk
2010-04-19 16:45:48 +02:00
Spp 74dd02d024 Remove LOTS of compile warnings
--HG--
branch : trunk
2010-04-19 09:26:37 +02:00
Rat 6bcb297de4 *code cleanup
*totally destroyed m_creature, use "me" for future coding

--HG--
branch : trunk
2010-04-14 23:07:41 +02:00
Rat 4a8bf5900d *modified spelldifficulty handler to work with all spell casts for creatures that are in instances thanks to Shauren for help
*modified most of the scripts to use normal_mode spell for casting (code was autogenerated, post errors if any)
*added sql for all modded spells (autogenerated..)

--HG--
branch : trunk
2010-04-10 10:20:01 +02:00
[email protected] 8bb3b39495 * correct worldside NPC texts - patch by terrorbringer (more cleanup needed?)
--HG--
branch : trunk
2010-04-10 09:41:25 +02:00
Spp 4635fbc020 Code Style (game + scripts only):
"!=" --> " != " (when needed)
"  !=" --> " !="
"!=  " --> "!= "

--HG--
branch : trunk
2010-04-08 08:20:08 +02:00
Spp 46f0674e23 Code Style (game + scripts only):
">=" --> " >= " (when needed)
"  >=" --> " >="
">=  " --> ">= "
"<=" --> " <= " (when needed)
"  <=" --> " <="
"<=  " --> "<= "
" ==" --> " =="
"==  " --> "== "

--HG--
branch : trunk
2010-04-07 23:56:35 +02:00
Spp 2454c290b8 Code Style (game + scripts only):
"==" --> " == " (when needed)

--HG--
branch : trunk
2010-04-07 23:25:02 +02:00
Spp 49d05ba9aa Code style (game + scripts only):
"( " --> "("
" )" --> ")"

--HG--
branch : trunk
2010-04-07 22:59:46 +02:00
Spp d19e127080 Code style (game + scripts only):
"if(" --> "if ("

--HG--
branch : trunk
2010-04-07 19:14:10 +02:00
Spp b27ce42704 Code Style: Remove trailing spaces
--HG--
branch : trunk
2010-04-07 18:09:10 +02:00
Spp f490ad5ac2 Code Style: tab to spaces
--HG--
branch : trunk
2010-04-07 17:24:07 +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
Trazom62 c1678a9ab8 Fix crash in Mal'Ganis script + cleanup.
Fixes issue #1347. Thanks Johnholiver.

--HG--
branch : trunk
2010-03-28 11:06:19 +02:00
Trazom62 d02f303b8d Implement Script CoS. Thanks Johnholiver.
Fixes issue #336.

Requires DB update.
Still WiP but functional.

--HG--
branch : trunk
2010-03-27 18:39:22 +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
Machiavelli e26b96663a Small update to Onyxia script:
- Support for spawning Onyx Lair guardians
- Maximum Whelp count per wave set to 20 as per Blizzlike
- small update to her movement in phase 2 (might need to be overhauled, Breath isn't casted often enough)

--HG--
branch : trunk
2010-03-21 16:52:17 +01:00
Machiavelli 3ae5a4094e Implement instance script for Zul'Farrak and prevent Gahz'Rilla from being summoned multiple times.
--HG--
branch : trunk
2010-03-19 21:38:07 +01:00
thenecromancer e1542df90c Convert some C style casts to new functions
--HG--
branch : trunk
2010-03-11 20:51:31 +01:00
Spp bd7ca7fdf3 Fix an incorrect say_text index in Razorfen Kraul.
By Aokromes

--HG--
branch : trunk
2010-03-09 13:27:25 +01:00
Spp 8034a6c48e Rename 'Hostil' to 'Hostile'
Credits to NoFantasy (Mangos)
Closes issue #411

--HG--
branch : trunk
2010-03-09 11:11:10 +01:00
Tartalo 53222c5875 Forgotten files on r49ad8ed43cb640034086c71478884520c5714601
--HG--
branch : trunk
2010-02-23 21:24:27 +01:00
_manuel_ 1da4996189 Razorfen downs: Implemented event from boss Tuten'kash. For a full fix see TDB Forums.
--HG--
branch : trunk
2010-02-19 15:12:46 -08:00
n0n4m3 bcd4a48328 Removed stupid/not needed file Spellid.h.
--HG--
branch : trunk
2010-02-15 18:23:39 +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
Xanadu a5d1bc77ab A great purge of obsolete macros.
--HG--
branch : trunk
2010-02-05 00:31:28 +01:00
Xanadu b0b261585f Move the EvilID.h includes to pch.
--HG--
branch : trunk
2010-02-04 21:07:12 +01:00
Trazom62 000876b2f4 Fix Script AQ40/C'Thun.
Fixes issue #587.
Thanks kb_z for original patch.

Still some visual effect not working.

--HG--
branch : trunk
2010-02-03 21:32:08 +01:00
XTZGZoReX 9f00ca3eb8 * Remove CellLock class and all cell-level thread locking.
** It was wasting CPU power as cell-level locking is not needed.
** Our multithreading is on map-level, not cell-level.
** CellLock was just a 'proxy' between Cell and CellPair and in some cases carried redundant data.
** Some minor cleanup in Cell::Visit/Map::Visit.

--HG--
branch : trunk
2010-01-23 22:24:41 +01:00
Trazom62 7b3691ac9e Fix irand(min,max) usage (min shall always be lower than max)
--HG--
branch : trunk
2010-01-22 18:38:33 +01:00
Rat f36438af6a *Update Copyright times
--HG--
branch : trunk
2010-01-19 16:37:49 +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