Commit Graph
59 Commits
Author SHA1 Message Date
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
Shocker 894b2081b3 Core/DB: Adjust max values for some columns in character_queststatus
--HG--
branch : trunk
2010-09-27 00:38:22 +03:00
Shauren 2e2951d037 Core/Players: Fixed action bar issues when changing active spec
--HG--
branch : trunk
2010-09-26 21:15:15 +02:00
Spp ef16cc9109 Core/Dungeon Finder: Add lfg state to know if a player is using lfg or lfr
- Do not allow to join battleground if using lfg/lfr

Closes issue 4189

--HG--
branch : trunk
2010-09-26 13:59:51 +02:00
Shauren 24e24020d1 Core/Players: This should fix crashes related to trading soulbound items
Updates issue #4162.
Updates issue #4165.

--HG--
branch : trunk
extra : rebase_source : eb30f245cb3a24ade6823d2fbb025cc9998870df
2010-09-25 14:12:50 +02: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
Shocker 5ffaf0d84b Core/Commands: Implement command for adding (completing) achievements
--HG--
branch : trunk
2010-09-21 03:51:14 +03:00
Shauren a509976369 Core/DBLayer: Converted player login queries into prepared statements
Core/DBLayer: Added missing implementation for SQLQueryHolder::SetPreparedQuery

--HG--
branch : trunk
2010-09-20 18:20:40 +02:00
Rat 5de3183180 Core/ConditionMgr: You can now add conditions to QuestAccept (at CanTakeQuest check)
--HG--
branch : trunk
2010-09-19 19:49:23 +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
Spp 61bbd284de Core/Player: Add default remove Method to RemoveFromGroup
--HG--
branch : trunk
2010-09-14 16:38:08 +02:00
click bf664b7a44 Cleanup/Core: Remove whitespace and tabs
--HG--
branch : trunk
2010-09-12 01:40:27 +02:00
Shauren d714d0eb20 Core/Loot: Reverted revision 44a1f284dd3e
Core/Loot: Implemented automatic currency distribution in better way, applying all conditions and updating achievements

Closes issue #3912.

--HG--
branch : trunk
extra : rebase_source : 35c2a59d213793ee29dfd0fc1acb7c15b375b049
2010-09-11 21:28:55 +02:00
Machiavelli a41e99223e Core/DBLayer:
* Rename QueryResult class to ResultSet
* Rename QueryResult_AutoPtr to QueryResult
* Declare ACE refcounted auto pointer for PreparedResultSet class

--HG--
branch : trunk
2010-09-11 21:10:54 +02:00
Shocker f19336e455 Core/Packets: Fix packet size and info for SMSG_SET_PROFICIENCY, original code by zhenya
--HG--
branch : trunk
2010-09-08 13:26:40 +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
silinoron 5179d3149a Core/Game: Fix remaining warnings on windows (and most likely almost all of the ones on *nix)
--HG--
branch : trunk
2010-09-03 21:55:57 -07:00
Shauren d5115ca687 Core/Dungeon Finder: Added support for rewards for random dungeons
Core/Quests: Simplified rewarding money from quests, now ModifyMoney and UpdateAchievementCriteria are called only once per quest
Core/Achievements: Implemented ACHIEVEMENT_CRITERIA_TYPE_USE_LFD_TO_GROUP_WITH_PLAYERS

--HG--
branch : trunk
2010-09-03 20:11:14 +02:00
Liberate 9bd804dece Updates the arena rating system to use Matchmaker Rating.
The arena_team_stats sql in this commit sets all ratings to 0.
You start with 0 Team Rating and 1500 Matchmaker Rating.
Personal rating is moved to character_arena_stats, and will not reset when disbanding an arena team.
This new system is based on all the info I could get, but Blizzard didn't leak much info about the new system.
At least this system is really close to the official system.
Any issues found should be reported in an issue.
Huge thanks go to Aokromes for the intensive testing he has done with me.
Also thanks to Parzival for hearing me out and giving his ideas.
Fixes issue #3189

--HG--
branch : trunk
2010-08-27 18:18:26 +02:00
enjoi 25c8ab63f8 Core/Player: Add new function AddItem. Useful in the scriptsystem for custom scripts.
--HG--
branch : trunk
2010-08-24 18:18:31 -05:00
silinoron aaaeecc916 Add support for vehicle scaling based on item level.
Requires database data.
Fixes issue #2754

--HG--
branch : trunk
2010-08-24 15:04:34 -07:00
azazel caa3a58213 Core:
* add Player::HasEnoughMoney methods to check, whether player has specified amount of money and use new methods where applicable
* fix some signed/unsigned warnings and some typos

--HG--
branch : trunk
2010-08-23 22:58:32 +06:00
Machiavelli 994186f267 DB Layer:
- Make SQL Transactions actual objects used in code. (Thanks to Derex for the idea)
* Uncommitted transactions will be automatically rolled back and cleaned up using ACE_Refcounted_Auto_Ptr, so no need to call Rollback() in the code.
* Prevents recursive transactions and makes developers aware of transactions going on.
* Gets rid of unneccesary overhead iterating over a concurrent map.
- Some cleanups in affected code, including better usage of transaction control in AH / mail related code to prevent data loss.

*** Experimental, use at own risk, recommended to backup your DBs. ***

--HG--
branch : trunk
2010-08-21 03:19:25 +02:00
silinoron d6fe4b23e9 Add support for recruit-a-friend XP and reputation multipliers.
More research needs to be done to implement summoning and granting levels.

--HG--
branch : trunk
2010-08-17 19:18:09 -07:00
Machiavelli 87218eadcd * HIGHLY EXPERIMENTAL - USE AT OWN RISK *
Database Layer:
- Implement connection pooling: Instead of 1 delay thread per database, you can configure between 1 and 32 worker threads that have a seperate thread in the core and have a seperate connection to the MySQL server (based on raczman/Albator´s database layer for Trinitycore3)
- Implement a configurable thread bundle for synchroneous requests from seperate core threads (see worldserver.conf.dist for more info)
- Every mapupdate thread now has its seperate MySQL connection to the world and characters database
- Drop inconsistent PExecuteLog function - query logging will be implemented CONSISTENTLY later
- Drop current prepared statement interface - this will be done *properly* later
- You´ll need to update your worldserver.conf and authserver.conf
- You´re recommended to make a backup of your databases before using this.
* HIGHLY EXPERIMENTAL - USE AT OWN RISK *
* HIGHLY EXPERIMENTAL - USE AT OWN RISK *
etc.

--HG--
branch : trunk
2010-08-18 02:25:52 +02:00
Spp 1ab2bd6d58 Dungeon Finder: Update wait time after a successful proposal
--HG--
branch : trunk
2010-08-18 00:30:17 +02:00
azazel f8eed4da58 Add checks to prevent some player stats from overflowing thus making such exploits as 65k SP impossible.
This change affects such stats as spell power, feral AP, mana regen and health regen.

--HG--
branch : trunk
2010-08-12 22:07:56 +06:00
azazel c6b4309f1e * Unsummon pet if direct control spell expire out of visibility range from owner (base on VladimirMangos changes)
* Move repeating code to separate method

--HG--
branch : trunk
2010-08-12 12:14:32 +06:00
silinoron c7b48c1ca9 Add PlayerScript hooks:
* OnMoneyChanged
* OnGiveXP
* OnReputationChange
* OnChat
* OnEmote
* OnTextEmote

--HG--
branch : trunk
2010-08-11 22:53:31 -07:00
silinoron 0963cb3aea Implement a PlayerScript class with a handful of new hooks:
* OnPVPKill
* OnCreatureKill
* OnPlayerKilledByCreature
* OnPlayerLevelChanged
* OnPlayerFreeTalentPointsChanged
* OnPlayerTalentsReset
* More hooks may be added in the future

--HG--
branch : trunk
2010-08-11 19:52:58 -07:00
Spp 4b62042b28 Dungeon Finder: Make player internal Lfg data private and some minor cleanups
--HG--
branch : trunk
2010-08-11 11:54:03 +02:00
Shauren 88965d9419 Fixed honor points and arena points displaying in currency tab
Currencies lost (spent all in vendor) are not removed from known currencies tab, they now display 0 count

--HG--
branch : trunk
2010-08-10 13:26:07 +02:00
Brian 1f52153410 Backed out changeset f751065ec933
Spell rep rate was already implemented by QAston

--HG--
branch : trunk
2010-08-09 11:33:31 -06:00
azazel f5399618d9 Implement reputation rates and aura effects for Spell::EffectReputation() (thanks Lynx3d)
--HG--
branch : trunk
2010-08-09 23:22:31 +06:00
XTZGZoReX a038772b3e * Remove Player::SetSession (obsolete and dangerous function).
* Speed up map script searches (avoid redundant loops).
* Fix linking errors for ScriptObject::RegisterSelf.

--HG--
branch : trunk
extra : rebase_source : 2ba48fdab4e119c6de7fe64e47c5b8115fdac1b5
2010-08-09 11:07:23 +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 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
silinoron 71ef21de21 Add helper Player::GetAverageItemLevel() function for future use in Dungeon Finder and vehicle scaling.
--HG--
branch : trunk
2010-08-05 14:18:33 -07:00
azazel 885fc368fd * Implement item limit category (based on changes by VladimirMangos)
* Additional check for HandleAutoBankItemOpcode (thanks to VladimitMangos)
* Properly show empty vendor list for empty item list (author: a1ien)
* More stricted checks for store operations (thanks to VladimirMangos)
* Prevent autostoring of not empty bags (thanks to L1ghtGu4rd)

Changes need testing. Please post bugs on our tracker.

--HG--
branch : trunk
2010-08-05 22:08:07 +06:00
Shauren 850868c8a3 Fixed issues with taking items from mail
Closes issue #3263.

--HG--
branch : trunk
2010-08-04 14:31:47 +02:00
Shauren 1058d7b37d Fixed timer displaying for timed quests
--HG--
branch : trunk
2010-08-04 13:17:33 +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 77fc91bde8 Deleted data blob in item_instance
Fixed issues with displaying sockets/enchants/durability on heroic items

--HG--
branch : trunk
2010-07-30 13:15:31 +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 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
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 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
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 5689fb43c1 Removed leftovers in AccessRequirement
--HG--
branch : trunk
2010-07-21 15:55:16 +02:00