summaryrefslogtreecommitdiff
path: root/db/pre-re/achievement_db.conf
blob: dee92f5ce461ba8ae9443b42274125bb8f27a845 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
//================= Hercules Database =====================================
//=       _   _                     _
//=      | | | |                   | |
//=      | |_| | ___ _ __ ___ _   _| | ___  ___
//=      |  _  |/ _ \ '__/ __| | | | |/ _ \/ __|
//=      | | | |  __/ | | (__| |_| | |  __/\__ \
//=      \_| |_/\___|_|  \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2018  Hercules Dev Team
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
//= the Free Software Foundation, either version 3 of the License, or
//= (at your option) any later version.
//=
//= This program is distributed in the hope that it will be useful,
//= but WITHOUT ANY WARRANTY; without even the implied warranty of
//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//= GNU General Public License for more details.
//=
//= You should have received a copy of the GNU General Public License
//= along with this program.  If not, see <http://www.gnu.org/licenses/>.
//=========================================================================
//= Achievement Database
//=========================================================================

achievement_db: (
/*****************************************************************
*                   Entry Structure
*****************************************************************
{
	Id: (int)                           Unique ID of the achievement representing it's client-side equivalent.
	Name: (string)                      Name/Title of the Achievement.
	Type: (string)                      Validation type for the achievement.
										[Type]                             [Validation Description] (Trigger)
										ACH_QUEST:                          Specific achievement objective update (Script).
										ACH_KILL_PC_TOTAL:                  (Accumulative) Total kill count. (Player kill)
										ACH_KILL_PC_JOB:                    Kill a player of the specified job. (Player Kill)
										ACH_KILL_PC_JOBTYPE:                Kill a player of the specified job type. (Player Kill)
										ACH_KILL_MOB_CLASS:                 Kill a particular mob class. (Mob Kill)
										ACH_DAMAGE_PC_MAX:                  Maximum damage caused on a player. (Player Damage)
										ACH_DAMAGE_PC_TOTAL:                (Accumulative) Damage on players. (Player Damage)
										ACH_DAMAGE_PC_REC_MAX:              Maximum damage received by a player. (Receive Player Damage)
										ACH_DAMAGE_PC_REC_TOTAL:            (Accumulative) Damage received by players. (Receive Player Damage)
										ACH_DAMAGE_MOB_MAX:                 Maximum damage caused on a monster. (Monster Damage)
										ACH_DAMAGE_MOB_TOTAL:               (Accumulative) Damage caused on monsters. (Monster Damage)
										ACH_DAMAGE_MOB_REC_MAX:             Maximum damage received by a monster. (Receive Monster Damage)
										ACH_DAMAGE_MOB_REC_TOTAL:           (Accumulative) Damage received by monsters. (Receive Monster Damage)
										ACH_JOB_CHANGE:                     Change to a specific job. (Job Change)
										ACH_STATUS:                         Acquire a specific amount of a particular status type. (Stat Change)
										ACH_STATUS_BY_JOB:                  Acquire a specific amount of a status type as a job class. (Stat Change)
										ACH_STATUS_BY_JOBTYPE:              Acquire a specific amount of a status type as a job type. (Stat Change)
										ACH_CHATROOM_CREATE_DEAD:           (Accumulative) Create a chatroom when dead. (Chatroom Creation)
										ACH_CHATROOM_CREATE:                (Accumulative) Create a chatroom. (Chatroom Creation)
										ACH_CHATROOM_MEMBERS:               Gather 'n' members in a chatroom. (Chatroom Join)
										ACH_FRIEND_ADD:                     Add a specific number of friends. (Friend Addition)
										ACH_PARTY_CREATE:                   (Accumulative) Create a specific number of parties. (Party Creation)
										ACH_PARTY_JOIN:                     (Accumulative) Join a specific number of parties. (Party Join)
										ACH_MARRY:                          (Accumulative) Marry a specified number of times. (Marriage)
										ACH_ADOPT_BABY:                     (Accumulative) Get Adopted. (Adoption)
										ACH_ADOPT_PARENT:                   (Accumulative) Adopt a Baby. (Adoption)
										ACH_ZENY_HOLD:                      Hold a specific amount of zeny in your inventory. (Gain Zeny)
										ACH_ZENY_GET_ONCE:                  Gain a specific amount of zeny in one transaction. (Gain Zeny)
										ACH_ZENY_GET_TOTAL:                 (Accumulative) Gain a specific amount of zeny in total. (Gain Zeny)
										ACH_ZENY_SPEND_ONCE:                Spend a specific amount of zeny in one transaction. (Pay Zeny)
										ACH_ZENY_SPEND_TOTAL:               (Accumulative) Spend a specific amount of zeny in total. (Pay Zeny)
										ACH_EQUIP_REFINE_SUCCESS:           Refine an item to +N. (Successful Refine)
										ACH_EQUIP_REFINE_FAILURE:           Fail to refine an item of +N refine. (Failed Refine)
										ACH_EQUIP_REFINE_SUCCESS_TOTAL:     (Accumulative) Refine an item successfully N times. (Success Refine)
										ACH_EQUIP_REFINE_FAILURE_TOTAL:     (Accumulative) Fail to refine an item N times. (Failed Refine)
										ACH_EQUIP_REFINE_SUCCESS_WLV:       Refine a Weapon of a particular Level to +N. (Success Refine)
										ACH_EQUIP_REFINE_FAILURE_WLV:       Fail to refine a Weapon of a particular level from +N. (Failed Refine)
										ACH_EQUIP_REFINE_SUCCESS_ID:        Refine a particular Item successfully to +N. (Success Refine)
										ACH_EQUIP_REFINE_FAILURE_ID:        Fail to refine a particular item successfully from +N. (Failed Refine)
										ACH_ITEM_GET_COUNT:                 Acquire N amount of an item of a particular ID. (Acquire Item)
										ACH_ITEM_GET_COUNT_ITEMTYPE:        Acquire N amount of items of a particular type mask. (Acquire Item)
										ACH_ITEM_GET_WORTH:                 Acquire an item of buy value N. (Acquire Item)
										ACH_ITEM_SELL_WORTH:                Sell an item of sell value N. (NPC Sell Item)
										ACH_PET_CREATE:                     Successfully tame a pet of a particular mob class. (Successful Pet Tame)
										ACH_ACHIEVE:                        Achieve an Achievement. (Achievement Completion)
										ACH_ACHIEVEMENT_RANK:               Achieve an Achievement Rank. (Achievement Rank Increase)
	Objectives: {                       [Mandatory Field] Objectives of an achievement. Up to 10 objectives per achievement.
										To comply with the client's order of objectives, this list must be in order.
		*1: {
			Description: (string)       [Mandatory Field] Description of a particular objective.
			Criteria: {                 This is a field for achievements whose objectives must meet
										certain criteria before evaluating the player's progress for it.
				MobId: (mixed)          MonsterId required for an objective.
										For types such as ACH_KILL_MOB_CLASS and ACH_PET_CREATE. Can be either int or string constant.
				JobId: (mixed)          Array or Single entry of JobIds.
										For types - ACH_KILL_PC_JOBTYPE, ACH_JOB_CHANGE or ACH_STATUS_BY_JOBTYPE.
										Can be either a numeric or string constant.
				ItemId: (mixed)         ItemId required for an objective.
										For Types such as ACH_ITEM_GET_COUNT. Can be either int or string constant.
				StatusType: (mixed)     Status Type required for an objective.
										For Types such as ACH_STATUS, ACH_STATUS_BY_JOB, ACH_STATUS_BY_JOBTYPE.
										Types -
										"SP_STR"        - Strength
										"SP_AGI"        - Agility
										"SP_VIT"        - Vitality
										"SP_INT"        - Intelligence
										"SP_DEX"        - Dexterity
										"SP_LUK"        - Luck
										"SP_BASELEVEL"  - Base Level
										"SP_JOBLEVEL"   - Job Level
										Can be either int or string constant.
				ItemType: (mixed)       Item type that is required for this achievement.
										For Types such as ACH_ITEM_GET_COUNT_ITEMTYPE.
										Can be either int, string or list.
										Refer "Item types" Constants from constants.conf
				WeaponLevel: (int)      Weapon Level that is required for this achievement. (Eg. 0, 1, 2, 3 or 4).
										For Types such as ACH_EQUIP_REFINE_SUCCESS_WLV and ACH_EQUIP_REFINE_FAILURE_WLV.
				Achieve: (int)          AchievementID to be achieved.
										For Type - ACH_ACHIEVE.
			}
			Goal: (int)                 Target amount to be met for the completion of the objective. Default is 1.
		}
		...
		*10: {...}
	}
	Rewards: {
		Bonus: <""> (script)            Script code bonus to be given as a reward for an achievement.
		Items: {                        Item rewards per achievement. With a maximum defined in mmo.h as MAX_ACHEIVEMENT_ITEM_REWARDS.
			Apple: 1 (int)              Item ID (int or string constant) : Amount (int)
		}
		TitleId: (int)                  ID of the Title (from the Title System) awarded.
	}
	Points: (int)                       Points per achievement given on it's successful completion.
}
*****************************************************************/
)