Commit Graph
58 Commits
Author SHA1 Message Date
Shauren 431301c1b2 Added support for scripting achievement criteria checks using ACHIEVEMENT_CRITERIA_DATA_TYPE_SCRIPT (11)
--HG--
branch : trunk
2010-08-07 16:48:34 +02:00
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
XTZGZoReX b63a31f513 * Added outdoorpvp_template table (currently unused).
* Added DISABLE_TYPE_OUTDOORPVP (5) which can disable outdoorpvp_template entries.

--HG--
branch : trunk
2010-08-06 18:03:09 +02:00
XTZGZoReX e4cab07f32 * Add ScriptName to conditions.
--HG--
branch : trunk
2010-08-06 16:33:31 +02:00
XTZGZoReX fd34134a45 * Add ScriptName to game_weather.
--HG--
branch : trunk
2010-08-06 16:28:17 +02:00
Shauren 07348ff4af Added ScriptName to battleground_template for script system rewrite
--HG--
branch : trunk
2010-08-06 13:47:17 +02:00
Shauren 9b22ad006b Removed unused access_id from instance_template table (obsolete since access_requirement rewrite)
Fixed build issues with my previous commit

--HG--
branch : trunk
2010-08-06 13:12:18 +02:00
Shauren 7cae47210e Added ScriptName to transports table for script system rewrite
--HG--
branch : trunk
2010-08-06 12:13:13 +02:00
azazel f9a51dc214 * Corpse related cleanup (author: Hunuza)
* Avoid saving of the corpse in arenas (author: VladimirMangos)

--HG--
branch : trunk
2010-08-06 00:15:29 +06:00
Shauren b70790693d This should fix crashes introduced in revision 4e75fea59c6c (9138)
--HG--
branch : trunk
2010-08-03 21:38:49 +02:00
QAston 18dd177308 *Search for aura caster in our out of world in Aura::UnregisterSingleTarget().
--HG--
branch : trunk
2010-08-02 18:05:07 +02:00
Shauren 46c1a4640d Groups are now stored by low guid in map
Creatures and gameobjects also store looting group by low guid instead of full guid

--HG--
branch : trunk
2010-08-02 17:28:47 +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
Shauren 9bda35c7df Killed the last blob field (corpse)
--HG--
branch : trunk
2010-07-30 15:15:07 +02:00
Xanadu c227065fc0 Minor fixes, translation and coding style changes of creature_template check function.
--HG--
branch : trunk
2010-07-30 06:47:35 +02:00
QAston c44b601ac7 *Allow some spell effects to target units not in caster's map - fixes SPELL_EFFECT_SUMMON_PLAYER
--HG--
branch : trunk
2010-07-29 19:48:40 +02:00
Shauren ade1bbdd62 Remade access_requirement table, now each difficulty mode for each instance has its own entry (for future Dungeon Finder development)
Added completed achievement as new requirement type
Removed obsolete access_id from areatrigger_teleport table
Implemented automatic downscaling of raid difficulty when requested mode does not exist
Changed dungeon_difficulty in characters table to instance_mode_mask saving both dungeon and raid difficulty in form (dungeon diff | raid diff << 4)

--HG--
branch : trunk
2010-07-29 18:11:41 +02:00
Brian 22d75dabda * Send the proper number of accounts in a guild in the SMSG_GUILD_INFO packet
* Patch by Toinan67

--HG--
branch : trunk
2010-07-28 17:19:39 -06:00
Shauren 69a567b90e Fixed loading checks for SCRIPT_COMMAND_CAST_SPELL
--HG--
branch : trunk
2010-07-28 10:33:14 +02:00
QAston e232c0e235 *Cleanup in ObjectAccessor - this should fix some crashes
--HG--
branch : trunk
2010-07-28 00:08:21 +02:00
Shauren de2f63bcfb Added possibility to cast spells with triggered flag using SCRIPT_COMMAND_CAST_SPELL, original patch by Az@zel
Fixed SCRIPT_COMMAND_CAST_SPELL for casting on creatures with selected entry

--HG--
branch : trunk
2010-07-27 19:18:44 +02:00
QAston dd8d6701b8 *Implement RepRewardRate for spells.
--HG--
branch : trunk
2010-07-27 02:25:22 +02:00
Brian 024b57bb74 * Implement reputation spillover via the database
* Remove the nasty hack that we had to handle Vanguard Alliance / Horde
* Expedition, and city spillover.
* Needs DB data
* Original patch by NoFantasy

--HG--
branch : trunk
2010-07-26 17:58:25 -06:00
Brian 4565242e94 * Implement reputation reward rate for quest / creatures
* Need DB data for this to work
* Original patch by NoFantasy

--HG--
branch : trunk
2010-07-26 16:21:10 -06:00
QAston 2352fc7cdf *Add base scripting interfce for spells - thanks to Brian for help in making it compile with GCC.
*Add hook for handling spell effects in new scripting system.

--HG--
branch : trunk
2010-07-24 22:41:42 +02:00
Shauren 32ceff1267 Modified spell_scripts table, it is now possible to add different scripts for each spell effect
Allow SPELL_EFFECT_DUMMY spells to use spell_scripts

--HG--
branch : trunk
2010-07-24 21:51:25 +02:00
Brian 9ff821d8bb * Add the ability to set player orientation for new characters.
* Requires DB data to actully do anything, however not needed for working
* server
* Original patch by Vladimir

--HG--
branch : trunk
2010-07-22 14:37:32 -06:00
Brian 8ceda47e39 * Implement additional usage of item_template.FlagsExtra Horde / Ally only
* Check loot (no longer need loot condition)
* Check equip/use
* Original patch by Vladimir
* Ported to Trinity by Az@zel

--HG--
branch : trunk
2010-07-18 04:37:08 -06:00
Shauren 88ab38e9c8 Fixed my own stupid mistake
--HG--
branch : trunk
2010-07-21 16:35:36 +02:00
Shauren 14b6a68857 Added new spell disable flag - core will not check if that spell exists in dbc, used for blizz deprecated items/quests
Fixed loading of access_requirement

--HG--
branch : trunk
2010-07-21 15:17:29 +02:00
Shauren 6a539270ec Added global disable system and moved all disable fields/tables/configs into it
NOTE: instance disables were not converted for new system! if you had some then you need to fix that using new system

--HG--
branch : trunk
2010-07-21 12:14:23 +02:00
Shauren a214443409 Typo fix
--HG--
branch : trunk
2010-07-15 10:16:30 +02:00
Shauren 894a065203 Revert revisions 67325b1a0af0 and a0cba24b9060.
Made vendors ignore gold cost by default when extended cost is set, except when item has ITEM_FLAGS_EXTRA_EXT_COST_REQUIRES_GOLD flag

--HG--
branch : trunk
2010-07-15 10:12:51 +02:00
click 668de35042 Do proper sanitytesting for waypoint scriptloading - thanks to Azazel for the heads up
Closes issues #2888

--HG--
branch : trunk
2010-07-08 03:03:10 +02:00
Brian 3fd0fb8f97 * Fixed ordering of gossip_menu_option so menu items appear in the proper
* order

--HG--
branch : trunk
2010-07-01 09:20:09 -06:00
Shauren b0d5071598 Added rename forgotten in revision 1744c10a1b
--HG--
branch : trunk
2010-06-30 10:55:12 +02:00
Machiavelli 87cc652a82 Replace some misplaced DirectExecute´s with delayed Execute calls. DirectExecute at this moment should only be used for transaction control and not for dynamic content.
--HG--
branch : trunk
2010-06-28 23:19:54 +02:00
Machiavelli 0b063e189b Better way to check for RandomProperty == -1, assign 0 to it for now.
--HG--
branch : trunk
2010-06-27 19:46:25 +02:00
Machiavelli 60349c5700 Remove some faulty code for picking a random item enchant if RandomProperty is -1. This will have to be implemented correctly later.
Also prevent the core throwing errors when loading items with RandomProperty -1

--HG--
branch : trunk
2010-06-27 11:48:33 +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
Machiavelli 31e369b281 Remove obsolete table transport_event_scripts.
--HG--
branch : trunk
2010-06-23 03:35:12 +02:00
Machiavelli 968c27f55f Implement taxi/transport event scripts support. Author: Vladimir
--HG--
branch : trunk
2010-06-23 01:59:32 +02:00
Machiavelli d50cb473cb Use original taxipath data in taxi flight movement generator. Author: Vladimir
+ Cleanup

--HG--
branch : trunk
2010-06-23 00:57:16 +02:00
Machiavelli 0aa52477ae Simplify and cleanup Transport system. Author: Vladimir.
--HG--
branch : trunk
2010-06-22 01:29:02 +02:00
Machiavelli a9cfe876fa Allow -ExtendedCostID and ExtendedCostID to be in the same vendor´s item list.
--HG--
branch : trunk
2010-06-21 23:41:28 +02:00
Machiavelli 95ddfbd9e2 Remove some redundant explicit NULL checks for pointers before ´delete´ or ´delete[]´ calls since this check is done implicitly when deleting.
Also fixes a memory leak in .reload creature_template command

--HG--
branch : trunk
2010-06-21 23:20:58 +02:00
Brian 2db4af3949 * Changed references to Trinityd.conf / trinitycore.conf to proper
* worldserver.conf

--HG--
branch : trunk
2010-06-19 13:54:19 -06:00
Shauren b3f1bc11d9 Added support for removing blizz items from character creation info by adding entry to playercreateinfo_item with count -1
Added support for all class/all race in playercreateinfo_item by setting class/race to 0 (like currently playercreateinfo_spell)

--HG--
branch : trunk
2010-06-14 21:03:05 +02:00
Shauren 4261828d63 Added support for item set names in case where item does not exist in item_template (like gladiator gear)
--HG--
branch : trunk
2010-06-11 20:02:46 +02:00
John Holiver 5dff68e457 Allow to sell item for: money, extendedCost or money+extendedCost.
The new method (money+extende) can be used by using negative values on npc_vendor.ExtendedCost.
This one goes dedicated to ZxBiohazardZx.
Tnx also to VladimirMangos.

--HG--
branch : trunk
2010-06-09 19:38:15 -03:00