Commit graph

57 commits

Author SHA1 Message Date
Schmoozerd
bbdd04d1ab [11172] Implement ACHIEVEMENT_CRITERIA_TYPE_ON_LOGIN (type 74)
Also implement new criteria requirements:
  - ACHIEVEMENT_CRITERIA_REQUIRE_NTH_BIRTHDAY
  - ACHIEVEMENT_CRITERIA_REQUIRE_KNOWN_TITLE

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-16 02:17:57 +03:00
VladimirMangos
bf0ecf6e71 [10947] Update copyright notice for 2011 year. 2011-01-01 20:33:43 +03:00
Feanordev
c8abfa4afa [10817] Add explicit include for ObjectGuid.h in AchievementMgr.h.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-12-02 11:02:08 +03:00
VladimirMangos
b305f203b9 [10811] Use ObjectGuids in chat commands.
Still exist 15 GUID_LOPART uses in code.
2010-12-02 07:09:11 +03:00
VladimirMangos
2277b24207 [10807] Typo fix and memory layout optimization. 2010-12-02 01:31:11 +03:00
Schmoozerd
ef5ea6f24f [10667] Timed Achievements, Fail-Support and Opcodes
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-11-01 05:47:08 +03:00
zerg
2fa5fa43bd [10594] Use equal_range instead of lower_bound/upper_bound pairs
(based on zergtmn's repo commit 0499169)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-10-09 01:37:57 +04:00
Darkrulerz
214c65baa1 [10449] Typos in enum names and comments
Also typos find by darkstalker and Neo2003

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2010-09-06 15:48:37 +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
VladimirMangos
d9a7a2ba12 [10266] Implement CONDITION_ACHIEVEMENT and CONDITION_ACHIEVEMENT_REALM 2010-07-25 00:02:25 +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
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
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
fe6e2e1746 [9122] Updated copyright notice for new year.
Also fix some lost in past cases.
2010-01-08 00:02:21 +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
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
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
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
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
VladimirMangos
9002710c93 [8276] Implement achievment ACHIEVEMENT_CRITERIA_TYPE_WIN_BG
* including new achievement createria data type ACHIEVEMENT_CRITERIA_DATA_TYPE_BG_LOSS_TEAM_SCORE

Note: Some achivement creteria for success need data in `achievement_criteria_data`
2009-07-29 17:29:10 +04:00
VladimirMangos
634fda8475 [8067] Fixed tabs and trailing whitespaces in code. 2009-06-22 15:43:47 +04:00
VladimirMangos
f6029831e3 [8003] Implement ACHIEVEMENT_CRITERIA_DATA_TYPE_HOLIDAY. 2009-06-14 00:14:34 +04:00
Dyddye
d1c96855cb [8002] Implemented ACHIEVEMENT_CRITERIA_DATA_TYPE S_DRUNK and fixed typos in ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM
(cherry picked from commit c2f9c7a0b46fb3544930666110e240256361cd4a)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-06-14 00:14:10 +04:00
VladimirMangos
28680fccd6 [7981] Implement ACHIEVEMENT_CRITERIA_DATA_TYPE_T_TEAM required for 310 2009-06-09 09:49:49 +04:00
VladimirMangos
bfa94779b2 [7976] Store additional reqs for ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE in achievement_criteria_data.
Required DB support. Some reqs not implements in code and then can be used
ACHIEVEMENT_CRITERIA_DATA_TYPE_DISABLED in Db to make its non-complitable.
2009-06-07 23:06:59 +04:00
DerDyddye
1f7a7a6518 [7974] Added two more achievement_criteria for achievement_criteria_data (T_LEVEL, T_GENDER)
Its required for implementing new cases of 110 achievement criteria in 3.1.x.
Ofc, this required DB support.

(cherry picked from commit f06f38ba5f355885ff36d6b7e35ce56a2fad5cd7)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
(cherry picked from commit 5347c3718b3e4c5d79e68a6d4581c449f0294af3)

Patch author name fixed.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-06-07 12:16:16 +04:00
Trazom
626553c9ee [7934] Implement ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

Also added ACHIEVEMENT_CRITERIA_DATA_TYPE_VALUE and support
this criteira special cases base at `achievement_criteria_data`
that required DB support.
2009-06-01 07:32:03 +04:00
VladimirMangos
82c8428d78 [7882] For achievement criterias data check ACHIEVEMENT_CRITERIA_DATA_TYPE_T_PLAYER_DEAD include target's team check. 2009-05-23 19:38:04 +04:00
VladimirMangos
512c015dc2 [7731] Some code cleanups, warrning fixes. 2009-04-29 04:03:59 +04:00
Trazom
eedc10d46f [7703] Implement heal/damage total counters and related BG achievments.
* ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE
* ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2009-04-23 23:56:15 +04:00
VladimirMangos
863a747251 [7633] Implement support multiply basic requirements for crireria in achievement_criteria_data.
Also implement additional basic requirements for proper implementing checks for ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE
Req. DB support.
2009-04-08 04:20:26 +04:00
VladimirMangos
7d06858866 [7627] Replace built-in in code table by new DB table achievement_criteria_data for store additional data for achievement criteria.
Required DB support.
2009-04-06 23:02:20 +04:00
VladimirMangos
0c2f74bb02 [7607] Improvements in support some generic achievement classes
* Implement support achievements with refAchievement field != 0, that have criterias stored in achievement refAchievement.
* Implement support achievement complete req. with specific count of completed critirias.
* Avoid full achievement list scan at search achievement associated with criteria.
2009-04-03 04:56:45 +04:00
VladimirMangos
c4d4bb5620 [7552] Move client version dependend DBC code to src/game. 2009-03-27 01:59:26 +03:00
VladimirMangos
8928df7f07 [7380] Implement highest value achievements support. Implement some auction achievements
* ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_BID:
* ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_SOLD: (FIXME: only for online player)
2009-03-05 13:49:37 +03:00
VladimirMangos
74ec17a273 [7235] New command: .reset achievements 2009-02-07 00:00:23 +03:00
VladimirMangos
dc19fc4ca3 [7040] Move achievment rewards dat to new DB table. Implement sending item rewards by mail.
Support localization string fields for new table.
Move achievments related code and data from ObjectMgr to new AcievmentGlobalMgr.
2009-01-06 16:21:22 +03:00
arrai
c6f48843ad [7017] Updated copyright notice for new year 2009-01-03 18:09:51 +01:00
VladimirMangos
129c0797a7 Save only changed achievement data at player save. Some code cleanups.
Also increase tempory at stack buffere for utf8 convertion. It used in sql quaries log output and need have apporpriate size support.
2008-12-05 23:44:13 +03:00
arrai
d1b5944000 Implemented achievement rewards 2008-11-21 20:10:28 +01:00
arrai
871f2e181c Removed dynamic memory allocations in CriteriaCastSpellRequirements 2008-11-09 21:38:07 +01:00
arrai
73e595ef87 Implemented some spell achievements 2008-11-09 01:31:12 +01:00
tomrus88
0a783585e0 Compile fix 2008-11-08 17:48:42 +03:00
arrai
bea468bbc3 Implemented SMSG_SERVER_FIRST_ACHIEVEMENT
Implemented removing entries from achievement tables at player deletion
2008-11-02 15:48:14 +01:00
arrai
4baf956853 Implemented ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL, ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST_COUNT ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE, ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST and ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND 2008-10-31 19:48:36 +01:00