From d2ee0dd55fdabe07a263df381cbf315e9930ab08 Mon Sep 17 00:00:00 2001 From: Euphy Date: Mon, 18 Nov 2013 23:54:17 -0500 Subject: [PATCH] * Implemented VIP system in many official scripts. - VIP players gain two more badges after Battleground matches. - VIP players pay ten times less for transportation to Brasilis and Dewata. - VIP players get free buffs and mercenary rentals in the Eden Group Headquarters. (iRO only, disabled) - Non-VIP players must use a Reset Stone to begin the third job quests. - Non-VIP players must have a Marriage Covenant to get married. - Non-VIP players pay double for Kafra and Cool Event Corp. Teleport Services. - Non-VIP players pay considerably more for refining equipment. - Non-VIP players gain less quest reward items in Port Malaya quests. - Non-VIP players gain less EXP rewards in Brasilis quests. - Non-VIP players cannot access all towns in Acolyte Warpers script. (iRO only, disabled) - A Reset Stone is required for Bossnia entry. Note that official servers run different VIP/premium systems; the changes above are based on euRO, unless otherwise stated. * Other script changes: - Adding Marriage Covenant item in marriage script. - Fixed some EXP values in Brasilis quests. - Minor updates to Kafra functions. - Turned Cool Event Corp. scripts into a basic function. - Turned Battleground badge rewards into basic functions. Signed-off-by: Euphy --- conf/battle/player.conf | 15 +- conf/login_athena.conf | 30 +-- db/const.txt | 2 + db/quest_db.txt | 2 + doc/script_commands.txt | 26 +- npc/battleground/bg_common.txt | 59 ++++- npc/battleground/flavius/flavius01.txt | 227 ++-------------- npc/battleground/flavius/flavius02.txt | 227 ++-------------- npc/battleground/tierra/tierra01.txt | 183 ++----------- npc/battleground/tierra/tierra02.txt | 183 ++----------- npc/events/bossnia.txt | 77 ++++-- npc/kafras/cool_event_corp.txt | 351 +++++-------------------- npc/kafras/functions_kafras.txt | 32 ++- npc/merchants/advanced_refiner.txt | 22 +- npc/merchants/refine.txt | 135 ++++++---- npc/other/CashShop_Functions.txt | 39 ++- npc/other/acolyte_warp.txt | 16 +- npc/other/marriage.txt | 134 ++++++---- npc/re/cities/brasilis.txt | 31 ++- npc/re/cities/dewata.txt | 21 +- npc/re/instances/BakonawaLake.txt | 9 +- npc/re/instances/BangungotHospital.txt | 9 +- npc/re/jobs/3-1/archbishop.txt | 9 +- npc/re/jobs/3-1/guillotine_cross.txt | 15 +- npc/re/jobs/3-1/mechanic.txt | 9 +- npc/re/jobs/3-1/ranger.txt | 9 +- npc/re/jobs/3-1/rune_knight.txt | 9 +- npc/re/jobs/3-1/warlock.txt | 15 +- npc/re/jobs/3-2/genetic.txt | 9 +- npc/re/jobs/3-2/minstrel.txt | 9 +- npc/re/jobs/3-2/royal_guard.txt | 9 +- npc/re/jobs/3-2/shadow_chaser.txt | 9 +- npc/re/jobs/3-2/sorcerer.txt | 9 +- npc/re/jobs/3-2/sura.txt | 14 +- npc/re/jobs/3-2/wanderer.txt | 9 +- npc/re/jobs/novice/novice.txt | 30 ++- npc/re/quests/eden/eden_iro.txt | 132 +++++++++- npc/re/quests/quests_brasilis.txt | 23 +- npc/re/quests/quests_malaya.txt | 127 +++++---- src/config/core.h | 8 +- src/map/script.c | 15 +- 41 files changed, 981 insertions(+), 1318 deletions(-) diff --git a/conf/battle/player.conf b/conf/battle/player.conf index ce7a0d6b96..5304b50065 100644 --- a/conf/battle/player.conf +++ b/conf/battle/player.conf @@ -145,9 +145,12 @@ idle_no_autoloot: 0 // Default: 3 (0: disabled). min_npc_vendchat_distance: 3 +//=================================== +// VIP system +//=================================== // Storage slot increase. Setting to 0 will disable. // Give more storage slots above the MIN_STORAGE limit. -// Note: MIN_STORAGE + storage_increase cannot exceed MAX_STORAGE. +// Note: MIN_STORAGE + vip_storage_increase cannot exceed MAX_STORAGE. // Default: 300 vip_storage_increase: 300 @@ -155,13 +158,13 @@ vip_storage_increase: 300 // Default: 50 vip_base_exp_increase: 50 -// Experience penalty rate multiplier for Non-VIP accounts +// Experience penalty rate multiplier for non-VIP accounts. // Multiplies the 'death_penalty_base' and 'death_penalty_job' settings in 'conf/battle/exp.conf'. // Default: 3 (3*100 = 3% penalty) vip_exp_penalty_base_normal: 3 vip_exp_penalty_job_normal: 3 -// Experience penalty rate multiplier for VIP accounts +// Experience penalty rate multiplier for VIP accounts. // Multiplies the 'death_penalty_base' and 'death_penalty_job' settings in 'conf/battle/exp.conf'. // Default: 1 (1*100 = 1% penalty) vip_exp_penalty_base: 1 @@ -175,7 +178,7 @@ vip_job_exp_increase: 50 // - Regular/Thick Battle Manual: 50+(50/X) = 75% // - HE Battle Manual: 100+(100/X) = 150% // - Battle Manual x3: 200+(200/X) = 300% -// Note: X is what the config is set to. +// Note: X is the config value. // Default: 2 vip_bm_increase: 2 @@ -184,7 +187,7 @@ vip_bm_increase: 2 // Default: 50 vip_drop_increase: 50 -// GemStone requirement. Setting to false will disable. -// Can the VIP Group ignore GemStone requirement for skills? +// Gemstone requirement. Setting to false will disable. +// Can the VIP Group ignore Gemstone requirement for skills? // Default: true vip_gemstone: true diff --git a/conf/login_athena.conf b/conf/login_athena.conf index 4919bab262..a9c90af9d1 100644 --- a/conf/login_athena.conf +++ b/conf/login_athena.conf @@ -73,35 +73,35 @@ group_id_to_connect: -1 // 0 or more: group id min_group_id_to_connect: -1 -// Which group (ID) will be denoted as the VIP Group? +// Which group (ID) will be denoted as the VIP group? // Default: 5 vip_group: 5 -// How many Characters are allowed per Account ? (0 = disabled) -// You can not exceed the limit of MAX_CHARS slots, defined in mmo.h -// Doing that, chars_per_account will be default to MAX_CHARS. -// If setting to 0 MIN_CHARS value will be used. +// How many characters are allowed per account? +// You cannot exceed the limit of MAX_CHARS slots, defined in mmo.h, or chars_per_account +// will default to MAX_CHARS. +// 0 will default to the value of MIN_CHARS. (default) chars_per_account: 0 -// Max character limit increase. Setting to 0 will disable. -// Increase MAX_CHAR if you want to increase char_increase. -// Note: MAX_CHARS - chars_per_account = Amount of VIP Chars (char_increase value in login table). -// Note2: this setting need to be set after chars_per_account +// Max character limit increase for VIP accounts (0 to disable) +// Increase the value of MAX_CHARS if you want to increase vip_char_increase. +// Note: The amount of VIP characters = MAX_CHARS - chars_per_account. +// Note 2: This setting must be set after chars_per_account. // Default: 6 vip_char_increase: 6 -// Starting additional sec from now for the limited time at creation of account -// -1: new account are created with UNlimited time (default value) -// 0 or more: new accounts was created by addition of the value (in sec) to the actual time (to set first limited time) +// Create accounts with limited time? +// -1: new accounts are created with unlimited time (default) +// 0 or more: new accounts automatically expire after the given value, in seconds start_limited_time: -1 -// Check The clientversion set in the clientinfo ? +// Check the clientversion field set in clientinfo.xml? check_client_version: no -// What version we would allow to connect? (if the options above is enabled..) +// What version is allowed to connect? (if the option above is enabled) client_version_to_connect: 20 -// Store passwords as MD5 hashes instead of plaintext ? +// Store passwords as MD5 hashes instead of plain text? // NOTE: Will not work with clients that use use_MD5_passwords: no diff --git a/db/const.txt b/db/const.txt index 0dcd314ca1..ebc8406737 100644 --- a/db/const.txt +++ b/db/const.txt @@ -3392,3 +3392,5 @@ VAR_MAX_GUILD 6 VAR_MAX_GUILDLEVEL 7 VAR_MAX_GUILD_STORAGE 8 VAR_MAX_BG_MEMBERS 9 +VAR_VIP_SCRIPT 10 +VAR_MIN_STORAGE 11 diff --git a/db/quest_db.txt b/db/quest_db.txt index 42cd3c6510..365e14f282 100644 --- a/db/quest_db.txt +++ b/db/quest_db.txt @@ -2819,3 +2819,5 @@ 60353,0,0,0,0,0,0,0,"Bathroom Ghost" 60354,0,0,0,0,0,0,0,"Bathroom Ghost" 60355,0,0,0,0,0,0,0,"Bathroom Ghost" + +62238,3600,0,0,0,0,0,0,"Midgardian Mercenary timer" diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 10b2a2c80e..6b8f626a3e 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= rAthena Dev Team //===== Last Updated: ======================================== -//= 20131112 +//= 20131118 //===== Description: ========================================= //= A reference manual for the rAthena scripting language. //= Commands are sorted depending on their functionality. @@ -2333,6 +2333,28 @@ Examples: // Outputs IP address of character "Silver". mes "Silver's IP: " + getcharip("Silver"); +--------------------------------------- + +*vip_status(,{""}) + +Returns various information about a player's VIP status. + +Valid types: + 1 - VIP status. (1 if VIP, 0 if non-VIP) + 2 - VIP expire date. (timestamp string if VIP, 0 if non-VIP) + 3 - VIP time remaining. (timestamp string if VIP, 0 if non-VIP) + +NOTE: This command is only available if the VIP System is enabled. + +--------------------------------------- + +*vip_time