Skip to content
Permalink
Browse files
* 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 <euphy.raliel@rathena.org>
  • Loading branch information
euphyy committed Nov 19, 2013
1 parent 3428ae2 commit d2ee0dd55fdabe07a263df381cbf315e9930ab08
Showing with 962 additions and 1,299 deletions.
  1. +9 −6 conf/battle/player.conf
  2. +15 −15 conf/login_athena.conf
  3. +2 −0 db/const.txt
  4. +2 −0 db/quest_db.txt
  5. +25 −1 doc/script_commands.txt
  6. +57 −2 npc/battleground/bg_common.txt
  7. +24 −203 npc/battleground/flavius/flavius01.txt
  8. +24 −203 npc/battleground/flavius/flavius02.txt
  9. +20 −163 npc/battleground/tierra/tierra01.txt
  10. +20 −163 npc/battleground/tierra/tierra02.txt
  11. +59 −18 npc/events/bossnia.txt
  12. +44 −271 npc/kafras/cool_event_corp.txt
  13. +25 −7 npc/kafras/functions_kafras.txt
  14. +18 −4 npc/merchants/advanced_refiner.txt
  15. +77 −58 npc/merchants/refine.txt
  16. +36 −3 npc/other/CashShop_Functions.txt
  17. +12 −4 npc/other/acolyte_warp.txt
  18. +86 −48 npc/other/marriage.txt
  19. +18 −11 npc/re/cities/brasilis.txt
  20. +14 −7 npc/re/cities/dewata.txt
  21. +5 −4 npc/re/instances/BakonawaLake.txt
  22. +5 −4 npc/re/instances/BangungotHospital.txt
  23. +8 −1 npc/re/jobs/3-1/archbishop.txt
  24. +14 −1 npc/re/jobs/3-1/guillotine_cross.txt
  25. +8 −1 npc/re/jobs/3-1/mechanic.txt
  26. +8 −1 npc/re/jobs/3-1/ranger.txt
  27. +8 −1 npc/re/jobs/3-1/rune_knight.txt
  28. +14 −1 npc/re/jobs/3-1/warlock.txt
  29. +8 −1 npc/re/jobs/3-2/genetic.txt
  30. +8 −1 npc/re/jobs/3-2/minstrel.txt
  31. +8 −1 npc/re/jobs/3-2/royal_guard.txt
  32. +8 −1 npc/re/jobs/3-2/shadow_chaser.txt
  33. +8 −1 npc/re/jobs/3-2/sorcerer.txt
  34. +12 −2 npc/re/jobs/3-2/sura.txt
  35. +8 −1 npc/re/jobs/3-2/wanderer.txt
  36. +16 −14 npc/re/jobs/novice/novice.txt
  37. +131 −1 npc/re/quests/eden/eden_iro.txt
  38. +18 −5 npc/re/quests/quests_brasilis.txt
  39. +63 −64 npc/re/quests/quests_malaya.txt
  40. +7 −1 src/config/core.h
  41. +10 −5 src/map/script.c
@@ -145,23 +145,26 @@ 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

// Base experience rate increase. Setting to 0 will disable. (Note 2)
// 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
@@ -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 <passwordencrypt>
use_MD5_passwords: no

@@ -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
@@ -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"
@@ -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(<type>,{"<character name>"})

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 <time>,{"<character name>"};

Changes a player's VIP time (in minutes). A positive value will increase time, and a
negative value will decrease time.

NOTE: This command is only available if the VIP System is enabled.

---------------------------------------
\\
2,2 Item-related commands
@@ -3496,6 +3518,8 @@ Returns a server definition. Valid types are listed in 'db/const.txt':
VAR_MAX_GUILDLEVEL 7
VAR_MAX_GUILD_STORAGE 8
VAR_MAX_BG_MEMBERS 9
VAR_VIP_SCRIPT 10
VAR_MIN_STORAGE 11

---------------------------------------
\\
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= ????, L0ne_W0lf
//===== Current Version: =====================================
//= 1.4
//= 1.5
//===== Compatible With: =====================================
//= rAthena 1.0
//===== Description: =========================================
@@ -12,14 +12,15 @@
//= - Generals and Aides
//= - Battleground Warper
//= - Kafra and Repairman.
//= - GM Management NPC (disabled by default)
//= - GM Management NPC
//= - Badge Exchanger (Tierra and Flavius)
//===== Additional Comments: =================================
//= 1.0 First Version.
//= 1.1 Updated several NPCs to Official.
//= 1.2 Updated Repairman NPC
//= 1.3 Optimized "Erundek" NPC. [Euphy]
//= 1.4 Added GM management function. [Euphy]
//= 1.5 Added VIP features and created a reward function. [Euphy]
//============================================================

// Generals
@@ -562,3 +563,57 @@ bat_room,160,150,3 script Erundek 109,{
}
close;
}

// Badge Reward Function
//============================================================
function script F_BG_Badge {

if (getarg(2) == "Tierra") {
set .@badge,7828; //BF_Badge1
set .@amount_win,3;
set .@amount_lose,1;
} else if (getarg(2) == "Flavius") {
set .@badge,7829; //BF_Badge2
set .@amount_win,9;
set .@amount_lose,3;
} else
return;

if (getarg(0) == 1) {
set .@amount, .@amount_win;
if (getarg(1) == "Guillaume") {
mes "[Axl Rose]";
mes "Blessed Guillaume!";
} else if (getarg(1) == "Croix") {
mes "[Swandery]";
mes "Blessed Croix!";
}
mes "Let's enjoy our glorious victory!";
mes strcharinfo(0)+", it's a sign reflecting victory.";
} else {
set .@amount, .@amount_lose;
if (getarg(1) == "Guillaume") {
mes "[Axl Rose]";
mes "You lost, but you're dedicated to this battle.";
mes "This is a reward for your great dedication by Guillaume Marollo!";
mes "Just take this defeat as a lesson, and next time you will definitely win.";
} else if (getarg(1) == "Croix") {
mes "[Swandery]";
mes "Oh, "+strcharinfo(0)+" Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.";
}
}
close2;

// If the VIP system is enabled, VIP players receive an extra 2 badges.
if (getserverdef(VAR_VIP_SCRIPT) && vip_status(1))
set .@amount, .@amount+2;

set .@medal_gap, 500 - countitem(.@badge);
if (.@medal_gap >= .@amount)
getitem .@badge,.@amount;
else
getitem .@badge,.@medal_gap;
return;
}

1 comment on commit d2ee0dd

@euphyy
Copy link
Contributor Author

@euphyy euphyy commented on d2ee0dd Dec 12, 2013

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's not related to this commit; this is only the script portion.

Please sign in to comment.