Commit Graph
95 Commits
Author SHA1 Message Date
azazel c0faed2251 Core/Guilds: guild code was completely refactored and rewritten.
* OOP desing and implementation;
* all the queries are moved to prepared statements;
* guild loading is optimized;
* all the possible interaction with guild's data is done inside the guild class;
* added more hooks to GuildScript class;

WARNING: Make sure you backup your characters database before applying this change (just in case).

Known problems with guilds:
* when new member is added to the guild, MOTD is not displayed for him in guild tab of social window;
* if you add item with random property to guild bank visual representation of item below it becomes wrong (it displays wrong stack number);
* packets order differs from official: currently guild bank packet traffic is twice as more than on offy.

--HG--
branch : trunk
2010-10-17 19:54:13 +06:00
Shauren 8a17d95647 Scripts/Icecrown Citadel: Added Professor Putricide script
Scripts/Icecrown Citadel: Fixed Professor Putricide gate opening when both Rotface and Festergut are dead
Scripts/Icecrown Citadel: Added script updating entries of NPCs at Light's Hammer depending on faction
Scripts/Icecrown Citadel: Rotface should not pick main tank as target for Slime Spray (removed debugging code)
Core/Spells/Conditions : Spell script target condition now accepts ConditionValue3 as affecting effect mask (only search targets with matching mask)

--HG--
branch : trunk
extra : rebase_source : 943e3bac5d9063974d7f7132f144e91946f825d4
2010-10-16 16:34:21 +02:00
linencloth ae213dd580 Core: Improve constant channel handling
- Implement area restrictions
  - Disable constant channels in arenas
  - Implement city requirement
- Implement global constant channels
- Fix some packets

--HG--
branch : trunk
2010-10-16 12:59:53 +02:00
runningnak3d a6170675c6 Core/Misc: Fix typo
Thanks: jamieplucinski

--HG--
branch : trunk
2010-10-08 19:05:52 -06:00
runningnak3d a667faaa94 Core/GameObject: Create enum GameObjectDynamicLowFlags instead of using hard
coded flags.
Author: NoFantasy

--HG--
branch : trunk
2010-10-08 18:38:58 -06:00
click 613b81f36f REALLY fix the CRLF-crap...
--HG--
branch : trunk
2010-10-07 15:54:07 +02:00
click 8ea4b32fab Update copyright headers (following the same standard in all files = good)
--HG--
branch : trunk
2010-10-07 12:41:56 +02:00
Rat 395df76860 Core/Commands: added .debug areatriggers
-if turned on it will print the trigger id to chat if you get near it

--HG--
branch : trunk
2010-10-01 00:07:14 +02:00
Shauren 442b312cbf Core/Spells: Implemented SPELL_ATTR_EX2_ALWAYS_APPLY_MODIFIERS, fixes Aura Mastery and some paladin aura related talent behavior when learning
Closes issue #2457.

--HG--
branch : trunk
2010-09-29 19:56:10 +02:00
Shocker 11b682e4df Core/Spells: Rename SPELL_ATTR_EX7_UNK3 spell attribute to SPELL_ATTR_EX7_DISABLED_CLIENT_SIDE
--HG--
branch : trunk
2010-09-29 00:20:34 +03:00
Shauren d8ddf38453 Core/Items: Implemented trading soulbound loot items
Core/DBLayer: Converted more more player-related queries into prepared statements
Core/Items: Fixed loading of enchantments

Closes issue #4130.

--HG--
branch : trunk
2010-09-21 21:55:16 +02:00
Shauren 97aeb251b8 Core/Players: Added support for single character bans
Core/Commands: Renamed .ban character to .ban playeraccount (.ban character will ban only the player, not account)

This revision reaches 10000, congratulations and thanks to everyone who contributed!

--HG--
branch : trunk
2010-09-19 17:02:14 +02:00
linencloth 5bd9afb9fa Core: Prevent critters from rewarding XP.
Also avoid unnecessary XP rate calculations.

--HG--
branch : trunk
2010-09-14 00:09:58 +02:00
Shocker cbe95da41a Core/Spells: Correct meaning & usage of SPELL_ATTR_EX2_NOT_RESET_AUTOSHOOT (now SPELL_ATTR_EX2_NOT_RESET_AUTO_ACTIONS) to ignore timer reset for both melee swings and ranged autoshoots, fixes issue 2639
--HG--
branch : trunk
2010-09-12 23:52:37 +03:00
Shocker f9ecc36fb0 Core/Commands: Implement config for setting the maximum number of results a .lookup command can return, closes issue 3875
--HG--
branch : trunk
2010-09-08 09:28:21 +03:00
silinoron be7d94f24e Add support for character race and faction transfers.
Based (loosely) on patch by Ner'zhul, DarkXuan, and [email protected].
Fixes issue #3429.

--HG--
branch : trunk
2010-09-05 13:12:24 -07:00
QAston a8de57559b *Allow channeled spells to be casted on dead target
*Define relted spell attributes

--HG--
branch : trunk
2010-08-30 17:32:51 +02:00
silinoron 08205afcc9 Rewrite much of the GM ticket system
* Extract storage and manipulation of tickets to TicketMgr (from ObjectMgr)
* Extract ticket commands to TicketCommands.cpp
* Adds support for sending GM responses and GM surveys.
* Fix structure of several ticket-related packets.
* Add support for understanding lag reports.
* Thanks Zor for some of the packet structures, and Cyrax for some sniffs
* Please report any issues encountered via the tracker.

--HG--
branch : trunk
2010-08-29 20:28:14 -07:00
silinoron 5cbae843d5 Core/Game: fix all warnings related to converting doubles and floats.
--HG--
branch : trunk
2010-08-22 12:39:39 -07:00
QAston 5e78e222c1 Core/Spells: Implement TARGET_DEST_CHANNEL_CASTER(106) and TARGET_GAMEOBJECT_AREA_PATH(108). Rename TARGET_UNIT_CHANNEL to TARGET_UNIT_CHANNEL_TARGET, TARGET_DEST_CHANNEL to TARGET_DEST_CHANNEL_TARGET
--HG--
branch : trunk
2010-08-18 15:04:00 +02:00
QAston 0284ed4cfe *Core/Spells: Implement TARGET_UNIT_SUMMONER
*Rename TARGET_UNIT_MINIPET to TARGET_UNIT_TARGET_PUPPET.

--HG--
branch : trunk
2010-08-17 20:19:06 +02:00
QAston fa8a826656 *(More) correct implementation of SPELL_EFFECT_PULL_TOWARDS_DEST(145)
--HG--
branch : trunk
2010-08-09 02:31:42 +02:00
click 1f80c7b3c0 Sourcefile sleanups -> tabs to spaces, remove whitespace - also update the cleanupscripts very slightly
--HG--
branch : trunk
2010-08-08 19:45:53 +02:00
XTZGZoReX 909e332579 * Rename: BattleGround -> Battleground.
--HG--
branch : trunk
2010-08-08 04:37:24 +02:00
XTZGZoReX 87483be1e7 * Rename some more functions for consistency.
* Added missing call to FormulaScript::OnZeroDifferenceCalculation.
* Pass GridMap pointer into MapScript::OnLoadGridMap/OnUnloadGridMap.
* Fire map hooks for all map types, not only instances.

--HG--
branch : trunk
2010-08-07 13:07:18 +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
Shauren b76ceca24f Updated .pdump commands
Deleted (but kept in db) characters cannot be dumped

--HG--
branch : trunk
2010-08-02 15:14:47 +02:00
Xanadu eb852f5bbd * Added the option to specify target entry in conditions table for spells with AoE GO targets.
* A few examples where this is desirable are posted on the forum.

--HG--
branch : trunk
2010-07-30 01:51:33 +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
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
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
Brian 47db12b759 * Small increment that was forgotten
--HG--
branch : trunk
2010-07-24 07:34:38 -06:00
Brian 040f9fd083 * Add lootid output to .gobj info command
* Patch by Visagalis

--HG--
branch : trunk
2010-07-24 07:30:02 -06:00
Brian 4320b10901 * Implement the ability to delete characters without them being removed from
* the DB, so they can be unerased
* Original patch by DasBlub
* Ported to Trinty by Az@zel

--HG--
branch : trunk
2010-07-21 12:13:23 -06:00
QAston c0f9ef6059 *Implement SPELL_EFFECT_CREATE_TAMED_PET(153).
--HG--
branch : trunk
2010-07-20 22:55:28 +02:00
QAston a7c52864b4 *Implement SPELL_EFFECT_DISCOVER_TAXI(154).
--HG--
branch : trunk
2010-07-20 18:27:18 +02:00
QAston 6d54f02bb4 *Implement SPELL_EFFECT_REMOVE_AURA(164)
*Rename SPELL_EFFECT_KNOCK_BACK_2 to SPELL_EFFECT_KNOCK_BACK_DEST

--HG--
branch : trunk
2010-07-20 04:29:17 +02:00
QAston 7eaaa06375 *Rename SPELL_EFFECT_JUMP2 to SPELL_EFFECT_JUMP_DEST, split the handler of effect from SPELL_EFFECT_JUMP handler
--HG--
branch : trunk
2010-07-19 21:24:09 +02:00
QAston e1e16310ec *Rename SPELL_EFFECT_CHARGE_2 to SPELL_EFFECT_CHARGE_DEST, fix its implementation.
--HG--
branch : trunk
2010-07-19 19:22:05 +02:00
click a4d0542f19 Clean up level0.cpp and return proper errormessages (fix by ogeraisi)
Closes issue #286

--HG--
branch : trunk
2010-07-19 03:49:15 +02:00
Shauren 255e7e8b83 Fixed Chain Lightning overproccing with Lightning Overload, patch by DrTenma
Closes issue #1198.

--HG--
branch : trunk
2010-07-02 14:24:05 +02:00
Xanadu fec8ca58b5 Simplified and cleaned up honor calculation.
--HG--
branch : trunk
2010-06-25 15:58:27 +02:00
Shauren 456c6291ab Move trade data to dynamic structure and added support for applying enchant after trade ends, based on Vladimir's commits
--HG--
branch : trunk
2010-06-25 13:15:51 +02:00
Brian 2435b4152d * Nope still won't build yet
--HG--
branch : trunk
2010-06-07 09:04:14 -06:00
XTZGZoReX 62200e8d02 * Even more restructuring of the game library.
--HG--
branch : trunk
2010-06-06 22:55:56 +02:00