Commit graph

180 commits

Author SHA1 Message Date
Schmoozerd
3dd8c72a00 [10356] Drop unneeded groupFlag and rename it properly
(based on Schmoozerd's repo commit 1e8c842)

Also drop `achievement_criteria_requirement` data use at start timed achivement:
its will be checked at criteria update (and complete) case. So wrong criteria will
started maybe (timer set but always fail - progress not updated.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-08-14 00:14:47 +04:00
Schmoozerd
12aa1bc606 [10352] Implement support explcitly started timed achievements.
* Player::StartTimedAchievementCriteria can be used for activate timer
  for specific explicitly starting timed achievement by timedRequirementId
  in script.

* for ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST this done in core.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-08-12 23:28:18 +04:00
VladimirMangos
b0d42a6f67 [10347] Fixed wrong ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION (46) check.
In result wrong check characters complete
exalted reputation achievements at create or any reputation change event
with negative reputation. Fix prevent new cases but not do anything with
already wrongly recieved ahcievements.

Also:
* Avoid use PROGRESS_SET at normal achievment criteria progress update
  becase achivement/counter in normal way can't decrease.
* At achievment criteria progress loading check that progress counter less
  or equal max counter value.
2010-08-12 00:14:19 +04:00
VladimirMangos
4c838a1c31 [10342] Cleanup achievement code and add new commands.
* .achievement - let see achievement state and list criteria with progress data.
                 It provide criteria ids/shift-links for other commands.
* .achievement add - let complete achivement (set all criteria progress to max) with related events.
* .achievement remove - let reset achievement  criteria progress and undo complete state for achievement.
                 Command also partly remove rewards (title part).
* .achievement criteria add - let increase criteria progress at specific amount or to complete state
* .achievement criteria remove - let reset/descrease criteria progress and undo criteria and related achivement complete state if need.
2010-08-11 07:49:46 +04:00
VladimirMangos
373f607a44 [10323] Implement achivement view commands.
This is fist part for achievement related command set.
Edition commands will added in some later commits when ready.

Two command added:

* .lookup achievment $partname - show fit achievements
  (id, shiftlink, complete date for selected player).
  shiftlink included similar data as generated by client for achievement shift-link
  (complete state, complete date, marked completed criteria).

* .character achievements [$playername] - show completed achievements for selected player
2010-08-06 02:15:09 +04:00
NoFantasy
25d9fd265b [10293] Correct a not exitan...non-existin... a word that is often spelled wrong
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-07-30 18:26:08 +02:00
SilverIce
e427ce80cc [10052] Camera System
(based on SilverIce's repo commit 4f2f4ab + next 3 more)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-06-14 07:23:03 +04:00
hunuza
68abd76c97 [9844] Fix some whitespace errors.
Signed-off-by: hunuza <hunuza@gmail.com>
2010-05-07 12:25:12 +02:00
VladimirMangos
722135b326 [9838] More log filters and macro uses.
* LogFilter_Weather
* LogFilter_PeriodicAffects
* LogFilter_PlayerMoves
* LogFilter_SQLText
* LogFilter_AIAndMovegens
* LogFilter_PlayerStats
2010-05-05 18:46:10 +04:00
VladimirMangos
6dec6c8a9f [9836] Make log output code more consistent for diff build modes.
* Make possible have debug output if build in release mode.
* But preserver current optimization in avoid debug output args
  calculation if debug ouput disabled if done using DEBUG_LOG
* Implement in same way BASIC_LOG, DETAIL_LOG. Recommended use
  its instead explicit access to sLog
* Use variadic macros for DEBUG_LOG and other new defines.
  All supported VS/GCC have its support as C++ extension.
* Add DEBUG_FILTER_LOG and semilar defines for filered log output and use its.
* Also move recent added debug output for transport events under LOG_FILTER_TRANSPORT_MOVES
2010-05-04 22:29:11 +04:00
VladimirMangos
ead6468b13 [9758] Include SharedDefines.h to AchievementMgr.h for provided used enum type definition. 2010-04-18 12:33:31 +04:00
SilverIce
e3f3f3410a [9736] Added more usable interface for grid visits
(based on SilverIce's repo commit f20f01e)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-04-12 15:15:55 +04:00
ApoC
c6af8b7d3e [9708] Compile fix under GCC.
Signed-off-by: ApoC <apoc@nymfe.net>
2010-04-09 16:25:21 +02:00
crackm
77c930249d [9707] Fixed typo added by Vladimir to patch in [9704].
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also add check to prevent have NONE gender with some other for same entry
in `achievement_reward` and `locales_achievement_reward`.
2010-04-09 16:26:41 +04:00
crackm
12c3227e32 [9704] Add to achievement_reward support gender dependent rewards.
For example for achievement 1793

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-04-09 07:11:31 +04:00
XTZGZoReX
51fd11c92c [9638] Replace all C assert()s with MaNGOS ASSERT() macro. 2010-03-29 19:29:42 +02:00
VladimirMangos
a27ff3e79d [9602] Simplify creating mail draft with content text, cleanup includes. 2010-03-18 12:10:47 +03:00
balrok
e92e01ebac [9592] fix crash with ACHIEVEMENT_CRITERIA_REQUIRE_INSTANCE_SCRIPT
BattleGroundMap has no GetInstanceData() function
2010-03-16 01:56:33 +01:00
VladimirMangos
c8fd454a79 [9551] Add and use PackedGuid wrapper.
Also
* use more wide bytebuff << >> operators for objects
* use at read packet faisl alsways exception way instead some time used bool results.
2010-03-08 20:23:16 +03:00
VladimirMangos
b47520a500 [9543] Really call ACHIEVEMENT_CRITERIA_TYPE_WIN_BG
Also make more wide set achievement type criterias expected requirement in DB table.

Original patch in achievement call part provided BudIcePenguin.
Prepared to mangos sources by Burned@ru-mangos.ru
2010-03-07 15:34:17 +03:00
VladimirMangos
6b0189fed3 [9426] Really rename to ACHIEVEMENT_CRITERIA_REQUIRE_S_EQUIPED_ITEM_LVL 2010-02-21 03:37:48 +03:00
VladimirMangos
df652c56c0 [9425] More achievement types support.
Implemented new achievement criteria requirement:
* ACHIEVEMENT_CRITERIA_REQUIRE_S_EQUIPED_ITEM_LVL (item level and item quality equiped in specific slot)

Implemented suppoprt achievement types:
* ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM (required DB data)
* ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL (required DB data)

Also achievment types used only for statistics:
* ACHIEVEMENT_CRITERIA_TYPE_CREATE_AUCTION
* ACHIEVEMENT_CRITERIA_TYPE_WON_AUCTIONS
* ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS
* ACHIEVEMENT_CRITERIA_TYPE_GOLD_EARNED_BY_AUCTIONS
* ACHIEVEMENT_CRITERIA_TYPE_LOOT_EPIC_ITEM
* ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM
2010-02-21 03:20:26 +03:00
VladimirMangos
84080aaf60 [9411] More SpellEffectIndex using in apropriate cases 2010-02-19 06:45:11 +03:00
AlexDereka
ebfb0f9835 [9389] Cleanup config data. Use proper names and expected types. 2010-02-15 15:29:06 +03:00
AlexDereka
5368751c13 [9386] Store some config values in Rate emun. 2010-02-15 00:17:44 +03:00
AlexDereka
ccfd42bf3e [9381] Fixed some compile warnings. 2010-02-14 18:16:07 +03:00
NoFantasy
c52331d680 [9261] Clarify two error messages related to achievement criteria data
Signed-off-by: NoFantasy <nofantasy@nf.no>
2010-01-27 16:04:13 +01:00
yad02
b78df99f42 [9247] Fixed typo: achievment -> achievement
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-01-24 17:32:32 +03:00
XTZGZoReX
0ff9250de2 [9245] Remove CellLock class and all cell-level thread locking.
* It was wasting CPU power as cell-level locking is not needed.
* Future multithreading will be on map-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.
2010-01-23 21:36:15 +01:00
VladimirMangos
fe6e2e1746 [9122] Updated copyright notice for new year.
Also fix some lost in past cases.
2010-01-08 00:02:21 +03:00
GriffonHeart
a2e92cdb4e [9119] Add achievement creteria requirements for ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET*
Most ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET and ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2
not need any additional requirements (so just ACHIEVEMENT_CRITERIA_REQUIRE_NONE(0) in DB) but some
need map difficualty checks and some ACHIEVEMENT_CRITERIA_REQUIRE_INSTANCE_SCRIPT also.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-01-07 20:33:08 +03:00
GriffonHeart
0b3cf7883e [9118] Fixed problem with not set AchievementCriteriaRequirementSet::criteria_id
This important for support ACHIEVEMENT_CRITERIA_REQUIRE_INSTANCE_SCRIPT

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-01-07 20:05:58 +03:00
VladimirMangos
da3f340e14 [9028] Better error output for ACHIEVEMENT_CRITERIA_REQUIRE_INSTANCE_SCRIPT. 2009-12-19 21:59:34 +03:00
VladimirMangos
9b6900b9a3 [9026] Implement ACHIEVEMENT_CRITERIA_REQUIRE_INSTANCE_SCRIPT.
This achievement criteria requirement type let set in table `achievement_criteria_requirement`
that specific criteria id for achievmenet connected with some instance
must be checked by new InstanceData call
  bool CheckAchievementCriteriaMeet(uint32 criteria_id,Player const* source, Unit const* target, uint32 miscvalue1)

It expected to be used for cases: kill boss without raid members death or for some limited time
or without kill before some other boss helpers and etc. Implementation expected base at collection some data/counters update
in instance data at specific event and then make check by query and retunr success for specific criteri or fail requirements.
2009-12-19 18:07:20 +03:00
balrok
7c4acf31e2 [9012] fix crash when achievement is completed and player isn't in world
also don't divide money loot for players who are not inside the
same map..
and player shouldn't be able to reclaim his corpse if it isn't in same map

and some other related cleanups
2009-12-17 14:02:48 +01:00
balrok
1d362eace4 [8845] fixed some gcc warnings 2009-11-20 12:57:19 +01:00
VladimirMangos
398ca010ca [8831] Helper function add and move for diffficulties.
* Use regular naming for 0 spwanmode/difficulty for clean consistence names (used at well known wiki)
* Move difficulty related data access from InstancedMap to Map class.
2009-11-19 03:05:52 +03:00
XTZGZoReX
0734adb746 [8789] Rename several singleton macros to use more consistent names.
* objmgr -> sObjectMgr
 * spellmgr -> sSpellMgr
 * WaypointMgr -> sWaypointMgr
 * poolhandler -> sPoolMgr
 * objaccessor -> sObjectAccessor
 * mapmgr -> sMapMgr
 * sInstanceSaveManager -> sInstanceSaveMgr
 * ticketmgr -> sTicketMgr
 * CreatureEAI_Mgr -> sEventAIMgr
 * auctionmgr -> sAuctionMgr
 * achievementmgr -> sAchievementMgr
2009-11-08 12:11:34 +01:00
XTZGZoReX
dc725ad6b8 [8785] Use macro instead of explicit call to singleton Instance().
* For: ObjectAccessor, MapManager.
2009-11-08 03:54:41 +01:00
XTZGZoReX
1f23884757 Don't use singleton to access static functions.
* This affects especially ObjectMgr functions:
   - GetCreatureInfo
   - GetGameObjectInfo
   - GetInstanceTemplate
   These are in fact static functions.
2009-11-08 03:54:27 +01:00
VladimirMangos
d009994f59 [8768] Rewrite code for prepare and send mails.
* Move send functions to new MailDraft class from WorldSession
* Simplify use different args combinations used in SendMailTo
  by groupping its by functionality in Helper classes. This also will prevent wrong way use args combinations.
2009-11-03 17:34:23 +03:00
VladimirMangos
d5dad82f3d [8764] Simplify code for mail items send. Avoid packet unread spam at errors. 2009-11-02 15:58:12 +03:00
VladimirMangos
1101e3f6b0 [8723] Rename table achievement_criteria_data => achievement_criteria_requirement
And make related renames in code for types, variables and functions.
To make more clear difference achievement createria type from old achievment criteria data type
in DB and code.
2009-10-24 20:50:20 +04:00
tomrus88
de73c52a77 Fixed group loot display bug. 2009-10-24 19:31:38 +04:00
VladimirMangos
4d3e43e814 [8644] Add assert for catch not updated constant at DBC data changes. 2009-10-14 19:35:40 +04:00
VladimirMangos
a9af7f2b1c Use reset time for normal/heroic from new DBC. Improve basic support for raid difficalties. 2009-10-06 02:12:02 +04:00
tomrus88
258e19a4a3 Merge commit 'origin/master' into 320 2009-09-22 18:14:06 +04:00
Ambal
cfea99ea62 [8524] New cell search algorithm implemented. You can now choose different visibility distances on continents, in BG/Arenas and instances.
Please, update your config files and check new options:

Visibility.Distance.Continents    = 90
Visibility.Distance.Instances     = 120
Visibility.Distance.BGArenas      = 180

Thanks everyone involved in patch tests!

Signed-off-by: Ambal <pogrebniak@gala.net>
2009-09-21 23:25:29 +03:00
VladimirMangos
7974e1ebcb Merge branch 'master' into 320 2009-09-10 05:46:08 +04:00
Triply
56ddf40d62 [8474] Allow to delete BattleGround objects when any of invited players didn't click to enter battle.
Rename m_TeamScores500disadvantage to m_TeamScores500Disadvantage, and optimize its update.
Patch is tested.

Signed-off-by: Triply <triply@getmangos.com>
2009-09-05 13:31:40 +02:00