Commit Graph
319 Commits
Author SHA1 Message Date
XTZGZoReX 946adf469c *** New core <-> script library interface - complete rewrite of the old one.
* Removed the misdesigned on_events script/hooks.
* Lots of related cleanups and assertions.
* The interface is now fully object-oriented.
** Scripts no longer use function pointers.
** Scripts no longer use the general-purpose Script struct for everything.
** Script types are split into separate classes which must be inherited depending on what functionality is desired.
* Several script types have been added to allow extending functionality in a code-only manner (some script types require
  assignment in the recently added ScriptName columns in the database, though).
** SpellHandlerScript: Wrapper around spell scripts (returns new SpellScript objects (`spell_script_names`.`ScriptName`)).
** ServerScript: Allows scripting events that occur in the network layer.
** WorldScript: Allows scripting certain world-global events.
** FormulaScript: Allows hooking and interfering with core formulas.
** *MapScript: Allows hooking different map types (including world, instance, and battleground maps (`instance_template`.`ScriptName`)).
** ItemScript: Allows scripting of items (like the old interface (`item_template`.`ScriptName`)).
** CreatureScript: Allows scripting of creatures/AI (like the old interface (`creature_template`.`ScriptName`)).
** GameObjectScript: Allows scripting of gameobjects (like the old interface (`gameobject_template`.`ScriptName`)).
** AreaTriggerScript: Allows scripting triggered area triggers (like the old interface (`areatrigger_scripts`.`ScriptName`)).
** OutdoorPvPScript: Script which should return OutdoorPvP objects for use by OutdoorPvPMgr (`outdoorpvp_template`.`ScriptName`).
** CommandScript: Allows extending the in-core command table.
** WeatherScript: Allows scripting of weather changes (`game_weather`.`ScriptName`).
** AuctionHouseScript: Allows scripting of auction events.
** ConditionScript: Allows scripting of conditions (`conditions`.`ScriptName`).
** DynamicObjectScript: Allows scripting of dynamicobjects.
** TransportScript: Allows scripting of transport events (`transports`.`ScriptName`).
* OutdoorPvP objects are now created through scripts. This effectively means that they'll need to be moved to scripts
  before the they're functional again.
* The whole idea with this new interface is to allow expanding core functionality without touching core code. If further
  hooks are needed to expand functionality of the core, let us know; we'll add them, if we agree that it is appropriate
  to do so.
*** NOTE: The scripts project will _not_ build before it has been adapted to the new interface.
*** Thanks to everyone who helped out with related preparations and suggestions!

--HG--
branch : trunk
2010-08-06 19:23:43 +02:00
click 1565fe4ff4 Adjust maximum sizes of some healthcalculations over to utilize 64-bit uint
--HG--
branch : trunk
2010-08-06 05:11:28 +02:00
QAston 6353e7dd8c *Update movement enums - thanks to Zor for info.
*Add functions for position data streaming.

--HG--
branch : trunk
2010-08-04 14:39:45 +02:00
silinoron 14827321bf Add support for CreatureAI::DamageDealt used in a Zul'Aman script. Thanks joshwhedon.
--HG--
branch : trunk
2010-08-02 14:18:30 -07:00
QAston e5881d9590 *Cleanup in single target auras (thanks to JuliuSZS some useable debug info)
*Add ToInstanceMap() and ToMapInstanced() typecast functions and CAST_INST macro to use in scripts.

--HG--
branch : trunk
2010-07-31 01:41:32 +02:00
QAston 48b360097c *use ASSERT macro instead of regular assert for better output.
--HG--
branch : trunk
2010-07-30 20:04:28 +02:00
QAston d666ba26c1 *Thread safe player searcher in scripts.
--HG--
branch : trunk
2010-07-30 15:51:07 +02:00
click c595eb8ae9 First part of petAI logic cleanup : Hunter PetAI change: Ignore attacking CC'ed targets unless explicitly asked for by player
(thanks to QAston, Shauren, Liberate for the discussions and codehelp to sort this out properly)

--HG--
branch : trunk
2010-07-28 19:39:56 +02:00
click ba36f1eb23 Clean up old (and partially unused) Aggro() function and use EnterCombat() instead + fix some minor enum-typos (INTURRUPT -> INTERRUPT)
(fix by Azazel)

--HG--
branch : trunk
2010-07-19 14:17:30 +02:00
click 673c652ba6 change "IN_MILISECONDS" to proper english "IN_MILLISECONDS"
--HG--
branch : trunk
2010-07-12 00:30:17 +02:00
click 079b945a7d Use RemoveAurasByType() and not RemoveAuraDueToSpell() to remove iterated spellauras of a type - DueTospell() expects singular spellID
Thanks to Azazel for the heads up

--HG--
branch : trunk
2010-07-04 15:55:05 +02:00
Machiavelli 0f7657b68c Get rid of Trinity Singleton and Threading patterns and replace them with ACE_Singletons and ACE_GUARD_x macro´s with ACE_Thread_Mutex´es respectively.
Also get rid of unused CountedReference class that used Trinity threading pattern.

--HG--
branch : trunk
2010-06-25 00:18:01 +02:00
Xanadu c9b20170a3 Cleanup of logging - removed a few duplicit functions from olden times, fixed a typo.
--HG--
branch : trunk
2010-06-22 02:53:04 +02:00
silverice d6d9d50952 Fix some memory leaks
--HG--
branch : trunk
2010-06-11 05:00:46 +03:00
Brian b76b6700ed * Linux compile with and without PCH fixed
* Script library compile fixed
* --todo: fix all scripts themselves :)

--HG--
branch : trunk
2010-06-08 13:05:47 -06:00
Brian 498f62f4cc * Well 94% isn't bad. Last thing to fix is collision compiling.
* But I need a break.

--HG--
branch : trunk
2010-06-07 16:21:52 -06:00
Brian 15f8bbe9ca * More cleanup
--HG--
branch : trunk
2010-06-07 12:08:15 -06:00
XTZGZoReX 62200e8d02 * Even more restructuring of the game library.
--HG--
branch : trunk
2010-06-06 22:55:56 +02:00
Rat 75b80d9f5b rearranged core files
--HG--
branch : trunk
2010-06-05 23:40:08 +02:00