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