summaryrefslogblamecommitdiff
path: root/db/pre-re/achievement_db.conf
blob: dee92f5ce461ba8ae9443b42274125bb8f27a845 (plain) (tree)





































































































































                                                                                                                                                                                            
//================= 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.
}
*****************************************************************/
)