Browse Source

- Standardized headers of /doc files.
- Added svn:eol-style=native property on some recently added text files.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16726 54d463be-8e91-2dee-dedb-b68131a5f0ec

brianluau 12 years ago
parent
commit
9b08202837

+ 12 - 2
doc/atcommands.txt

@@ -1,5 +1,15 @@
-TODO: With such short descriptions, it's duplicated 'conf/help.txt' 
-Consider explaining commands in detail, similar to 'doc/script_commands.txt'
+//===== rAthena Documentation ================================
+//= Atcommand List
+//===== By: ==================================================
+//= rAthena Dev Team
+//===== Current Version: =====================================
+//= 20120824
+//===== Description: =========================================
+//= 
+//===== Additional Comments: =================================
+//= TODO: With such short descriptions, it's duplicated 'conf/help.txt' 
+//= Consider explaining commands in detail, similar to 'doc/script_commands.txt'
+//============================================================
 
 
 commands: Displays a list of @ commands available to the player.
 commands: Displays a list of @ commands available to the player.
 charcommands: Displays a list of # commands available to the player.
 charcommands: Displays a list of # commands available to the player.

+ 13 - 14
doc/ea_job_system.txt

@@ -1,17 +1,16 @@
-//===== Athena Doc=========================================
-//= eAthena Job System
-//===== By ================================================
+//===== rAthena Documentation ================================
+//= *Athena Job System
+//===== By: ==================================================
 //= Skotlex
 //= Skotlex
-//===== Version ===========================================
+//===== Current Version: =====================================
 //= 0.2
 //= 0.2
-//=========================================================
+//===== Description: =========================================
+//= A reference description of eA's inner job system (for use 
+//= on scripts through the eaclass and roclass script commands)
+//===== Additional Comments: =================================
 //= 0.1 - First release, explained as well as I could.
 //= 0.1 - First release, explained as well as I could.
 //= 0.2 - Added info on third jobs. [Euphy]
 //= 0.2 - Added info on third jobs. [Euphy]
-//===== Description =======================================
-//= A reference description of eA's inner job system (for
-//= use on scripts through the eaclass and roclass script
-//= commands)
-//=========================================================
+//============================================================
 
 
 Preface:
 Preface:
 -------------------------------------------------------------------------------
 -------------------------------------------------------------------------------
@@ -185,10 +184,10 @@ About Bards and Dancers:
 About Novices and Super Novices:
 About Novices and Super Novices:
 	These are treated a bit differently from you'd expect. Because.. for instance, a novice is not supposed to be a 1st class, but it is considered as one on this tree system:
 	These are treated a bit differently from you'd expect. Because.. for instance, a novice is not supposed to be a 1st class, but it is considered as one on this tree system:
 
 
-	EAJ_NOVICE -> Novice
-	EAJ_NOVICE|EAJL_2_1 -> EAJ_SUPER_NOVICE
-	EAJ_NOVICE|EAJL_UPPER -> EAJ_NOVICE_HIGH
-	EAJ_NOVICE|EAJL_BABY	-> EAJ_BABY
+	EAJ_NOVICE                    -> Novice
+	EAJ_NOVICE|EAJL_2_1           -> EAJ_SUPER_NOVICE
+	EAJ_NOVICE|EAJL_UPPER         -> EAJ_NOVICE_HIGH
+	EAJ_NOVICE|EAJL_BABY          -> EAJ_BABY
 	EAJ_NOVICE|EAJL_BABY|EAJL_2_1 -> EAJ_SUPER_BABY
 	EAJ_NOVICE|EAJL_BABY|EAJL_2_1 -> EAJ_SUPER_BABY
 
 
 	So as you can see, on this job system, the Super Novice is treated as the 2-1 job of a Novice, and the Novice job it's at the same level of the other 1st jobs. Even though that may seem like a hindrance, it makes it very easy to add a check to discard Novice types from a quest:
 	So as you can see, on this job system, the Super Novice is treated as the 2-1 job of a Novice, and the Novice job it's at the same level of the other 1st jobs. Even though that may seem like a hindrance, it makes it very easy to add a check to discard Novice types from a quest:

+ 7 - 3
doc/effect_list.txt

@@ -1,8 +1,12 @@
-//===== Athena Doc ========================================
+//===== rAthena Documentation ================================
 //= Client Effects List
 //= Client Effects List
-//===== Description =======================================
+//===== By: ==================================================
+//= rAthena Dev Team
+//===== Current Version: =====================================
+//= 20120822
+//===== Description: =========================================
 //= A list of client-side effects sorted by their ID
 //= A list of client-side effects sorted by their ID
-//=========================================================
+//============================================================
 
 
 The following is a compiled list of visual and sound effects which the client
 The following is a compiled list of visual and sound effects which the client
 can produce when receiving a packet with id 0x1f3 (01f3 <ID>.l <type>.l).
 can produce when receiving a packet with id 0x1f3 (01f3 <ID>.l <type>.l).

+ 8 - 31
doc/item_bonus.txt

@@ -1,36 +1,13 @@
-//===== Athena Doc ========================================
+//===== rAthena Documentation ================================
 //= rAthena Item Bonuses List
 //= rAthena Item Bonuses List
-//===== By ================================================
-//= Developers
-//===== Version ===========================================
-//= 1.1.20110124
-//=========================================================
-//= 1.0 - Standardized doc file
-//= 1.1.20080612 - skill command and bonuses (bAutoSpell, bSkillAtk, 
-//=   bSkillHeal, bAutoSpellWhenHit, bAddSkillBlow, bCastrate) accept 
-//=   skill names [FlavioJS]
-//= 1.1.20090122 - removed outdated bSPDrainValue command [ultramage]
-//= 1.1.20090421 - added the correct bonus documentation for bSPDrainValue [Playtester]
-//= 1.1.20090524 - removed outdated bMatk/bMatk1/bMatk2 doc [ultramage]
-//= 1.1.20090529 - added documentation for bHealPower, bHealPower2 [Inkfish]
-//= 1.1.20101130 - added documentation for bAutoSpellOnSkill [Ai4rei]
-//= 1.1.20101205 - added documentation for bAddItemHealRate. [L0ne_W0lf]
-//= 1.1.20101207 - added documentation for bUnbreakableGarment,
-//=   bUnbreakableWeapon, bUnbreakableArmor, bUnbreakableHelm,
-//=   bUnbreakableShield, bUnbreakableShoes, bBreakWeaponRate and
-//=   bBreakArmorRate. [Ai4rei]
-//= 1.1.20110124 - added documentation for bAgiVit, bAgiDexStr,
-//=   bUnbreakable, bShortWeaponDamageReturn, bLongWeaponDamageReturn,
-//=   bWeaponComaEle, bAddEff2, bMagicDamageReturn, bRandomAttackIncrease,
-//=   bPerfectHide, bNoKnockback, bClassChange, bHPDrainValue, bWeaponAtk,
-//=   bWeaponAtkRate, bDelayrate, bHPDrainRateRace, bSPDrainRateRace,
-//=   bAddEffOnSkill, bNoMiscDamage, bLongAtkRate, bUnstripable,
-//=   bHPDrainValueRace, bMagicSPGainValue and bMagicHPGainValue. [Ai4rei]
-//===== Description =======================================
+//===== By: ==================================================
+//= rAthena Dev Team
+//===== Current Version: =====================================
+//= 20110124
+//===== Description: =========================================
 //= List of script instructions used in item bonuses,
 //= List of script instructions used in item bonuses,
 //= mainly bonus/bonus2/bonus3/bonus4/bonus5 arguments
 //= mainly bonus/bonus2/bonus3/bonus4/bonus5 arguments
-//=========================================================
-
+//============================================================
 
 
 skill i,n;				Gives skill #i at level n (supports skill names)
 skill i,n;				Gives skill #i at level n (supports skill names)
 
 
@@ -434,4 +411,4 @@ bonus bFixedCastrate,x;			Increases fixed cast time of skills by x%.
 bonus bVariableCastrate,x;		Increases variable cast time of skills by x%.
 bonus bVariableCastrate,x;		Increases variable cast time of skills by x%.
 bonus2 bSkillFixedCast,s,x;		Increases fixed cast time of skill s by x milliseconds. (supports skill names.)
 bonus2 bSkillFixedCast,s,x;		Increases fixed cast time of skill s by x milliseconds. (supports skill names.)
 bonus2 bSkillVariableCast,s,x;		Increases variable cast time of skill s by x milliseconds. (supports skill names.)
 bonus2 bSkillVariableCast,s,x;		Increases variable cast time of skill s by x milliseconds. (supports skill names.)
-bonus2 bVariableCastrate,s,x;		Increases variable cast time of skill s by x%. (supports skill names.)
+bonus2 bVariableCastrate,s,x;		Increases variable cast time of skill s by x%. (supports skill names.)

+ 9 - 3
doc/item_db.txt

@@ -1,6 +1,12 @@
-(FIXME: Someone give this file better formatting)
-
-- Explanation of the item_db.txt file and structure.
+//===== rAthena Documentation ================================
+//= Item Database
+//===== By: ==================================================
+//= rAthena Dev Team
+//===== Current Version: =====================================
+//= 20120420
+//===== Description: =========================================
+//= Explanation of the item_db.txt file and structure.
+//============================================================
 
 
 ID: Item id
 ID: Item id
 
 

+ 8 - 8
doc/map_cache.txt

@@ -1,16 +1,16 @@
-//===== Athena Doc ========================================
+//===== rAthena Documentation ================================
 //= rAthena Map Cache Builder and Format Documentation
 //= rAthena Map Cache Builder and Format Documentation
-//===== By ================================================
+//===== By: ==================================================
 //= DracoRPG
 //= DracoRPG
-//===== Version ===========================================
+//===== Current Version: =====================================
 //= 1.0
 //= 1.0
-//=========================================================
+//===== Description: =========================================
+//= A complete manual for rAthena's map cache generator as 
+//= well as a reference on the map cache format used.
+//===== Additional Comments: =================================
 //= 0.1 - Short howto for the initial builder version
 //= 0.1 - Short howto for the initial builder version
 //= 1.0 - Complete manual covering the improved version
 //= 1.0 - Complete manual covering the improved version
-//===== Description =======================================
-//= A complete manual for rAthena's map cache generator
-//= as well as a reference on the map cache format used
-//=========================================================
+//============================================================
 
 
 Preface:
 Preface:
 -------------------------------------------------------------------------------
 -------------------------------------------------------------------------------

+ 8 - 10
doc/mob_db_mode_list.txt

@@ -1,14 +1,12 @@
-//===== Athena Doc ========================================
+//===== rAthena Documentation ================================
 //= rAthena Monster Modes Reference
 //= rAthena Monster Modes Reference
-//===== By ================================================
-//= Developers
-//===== Version ===========================================
-//= 1.0
-//=========================================================
-//= 1.0 - Standardized doc file
-//===== Description =======================================
-//= A reference description of rAthena's mob_db 'mode' field
-//=========================================================
+//===== By: ==================================================
+//= rAthena Dev Team
+//===== Current Version: =====================================
+//= 20120630
+//===== Description: =========================================
+//= A reference description of rAthena's mob_db 'mode' field.
+//============================================================
 
 
 Bit Legend:
 Bit Legend:
 -------------------------------------------------------------------------------
 -------------------------------------------------------------------------------

+ 6 - 9
doc/packet_struct_notation.txt

@@ -1,15 +1,12 @@
-//===== Athena Doc ========================================
+//===== rAthena Documentation ================================
 //= Packet Structure Notation
 //= Packet Structure Notation
-//===== By ================================================
+//===== By: ==================================================
 //= Ai4rei
 //= Ai4rei
-//===== Version ===========================================
-//= 1.1
-//=========================================================
-//= 1.0 - Initial version.
-//= 1.1 - Added examples.
-//===== Description =======================================
+//===== Current Version: =====================================
+//= 20120810
+//===== Description: =========================================
 //= Explanation how packets are and should be documented.
 //= Explanation how packets are and should be documented.
-//=========================================================
+//============================================================
 
 
 This document specifies how packets are and should be documented, to
 This document specifies how packets are and should be documented, to
 keep packet structure comments consistent in the entire codebase. It
 keep packet structure comments consistent in the entire codebase. It

+ 12 - 4
doc/permissions.txt

@@ -1,4 +1,12 @@
-These are possible permissions of player groups, configured in conf/groups.conf.
+//===== rAthena Documentation ================================
+//= Permission List
+//===== By: ==================================================
+//= rAthena Dev Team
+//===== Current Version: =====================================
+//= 20120718
+//===== Description: =========================================
+//= permissions of player groups, configured in /conf/groups.conf
+//============================================================
 
 
 can_trade : Ability to trade or otherwise distribute items (drop, storage, vending etc)
 can_trade : Ability to trade or otherwise distribute items (drop, storage, vending etc)
 can_party : Ability to join parties.
 can_party : Ability to join parties.
@@ -11,8 +19,8 @@ hide_session : Hides player session from being displayed by @commands.
 who_display_aid : Ability to see GMs and Account/Char IDs in the @who command.
 who_display_aid : Ability to see GMs and Account/Char IDs in the @who command.
 hack_info : Ability to receive all informations about any player that try to hack, spoof a name, etc.
 hack_info : Ability to receive all informations about any player that try to hack, spoof a name, etc.
 any_warp : Ability to bypass nowarp, nowarpto, noteleport and nomemo mapflags.
 any_warp : Ability to bypass nowarp, nowarpto, noteleport and nomemo mapflags.
-          This option is mainly used in commands which modify a character's
-          map/coordinates (like @memo, @mapmove, @go, @jump, etc...).
+           This option is mainly used in commands which modify a character's
+           map/coordinates (like @memo, @mapmove, @go, @jump, etc...).
 view_hpmeter : Ability to see HP bar of every player.
 view_hpmeter : Ability to see HP bar of every player.
 view_equipment : Ability to view players equipment regardless of their setting.
 view_equipment : Ability to view players equipment regardless of their setting.
 use_check : Ability to use client command /check (display character status).
 use_check : Ability to use client command /check (display character status).
@@ -21,4 +29,4 @@ all_commands: Ability to use ALL atcommands/charcommands.
 receive_requests: Ability to receive @requests.
 receive_requests: Ability to receive @requests.
 show_bossmobs: Ability to see boss mobs with @showmobs.
 show_bossmobs: Ability to see boss mobs with @showmobs.
 disable_pvm: Ability to disable Player v.s. Monster.
 disable_pvm: Ability to disable Player v.s. Monster.
-disable_pvp: Ability to disable Player v.s. Player.
+disable_pvp: Ability to disable Player v.s. Player.

+ 109 - 114
doc/quest_variables.txt

@@ -1,114 +1,109 @@
---------------------------------------------------------------
--                 Permanent Quest Variables                  -
---------------------------------------------------------------
-
-This file should help to understand and manage bit-wise quest
-variables. You can store up to 31 boolean value into a single
-variable. [Lupus]
---------------------------------------------------------------
-
---------------------------------------------------------------
-Variable: MISC_QUEST
-
-Quest: 		Juice Maker Quest
-Info:		How to make juices. This bit keeps final state of the quest.
-How to set: 	set MISC_QUEST,MISC_QUEST | 1;
-How to check: 	if(MISC_QUEST & 1){}
-
-Quest: 		Tempestra Quest
-Info:		Has you given a potion to Temperstra or not.
-How to set: 	set MISC_QUEST,MISC_QUEST | 2;
-How to check: 	if(MISC_QUEST & 2){}
-
-Quest: 		Morgenstein Quest
-Info:		How to make Mixture & Counteragent. Also subquest for Alchemist Job
-		This bit keeps final state of the quest.
-How to set: 	set MISC_QUEST,MISC_QUEST | 4;
-How to check: 	if(MISC_QUEST & 4){}
-
-Quest: 		Prontera Culvert Quest
-Info:		Could you enter the Prontera Culvert or not.
-How to set: 	set MISC_QUEST,MISC_QUEST | 8;
-How to check: 	if(MISC_QUEST & 8){}
-
-Quest: 		Edgar's Offer
-Info:		Cheap ticket from Izlude to Alberta.
-		This bit keeps final state of the quest.
-How to set: 	set MISC_QUEST,MISC_QUEST | 16;
-How to check: 	if(MISC_QUEST & 16){}
-
-Quest: 		Piano Quest
-Info:		The only way from Niflheim to Umbala.
-How to set: 	set MISC_QUEST,MISC_QUEST | 32;
-How to check: 	if(MISC_QUEST & 32){}
-
-Quest: 		Bio Ethics Quest
-Info:		Bio Ethics quest for homunculus
-		skill for alchemists. This bit
-		is for final part of quest.
-		(completed or not.)[Evera]
-How to set: 	set MISC_QUEST,MISC_QUEST|64;
-How to check: 	if(MISC_QUEST&64){}
-
-Quest: 		DTS Warper
-Info:		Not really a quest, but to
-		show if a person has
-		already voted. Cleaning
-		up the variables -.-;[Evera]
-How to set: 	set MISC_QUEST,MISC_QUEST|128;
-How to check: 	if(MISC_QUEST&128){}
-
-Quest: 		-
-Info:		-
-How to set: 	set MISC_QUEST,MISC_QUEST | 256;
-How to check: 	if(MISC_QUEST & 256){}
-
-Quest: 		Cube Room
-Info:		Lighthalzen. Cube Room Quest (Pass to Bio-Lab)
-How to set: 	set MISC_QUEST,MISC_QUEST | 512;
-How to check: 	if(MISC_QUEST & 512){}
-
-Quest: 		Reset Skills Event
-Info:		Yuno, Hypnotist Teacher
-How to set: 	set MISC_QUEST,MISC_QUEST | 1024;
-How to check: 	if(MISC_QUEST & 1024){}
-
-Quest: 		Slotted Arm Guard Quest
-Info:		Ninja Job Room, Boshuu
-How to set: 	set MISC_QUEST,MISC_QUEST | 2048;
-How to check: 	if(MISC_QUEST & 2048){}
-
-Quest: 		Improved Arm Guard Quest
-Info:		Ninja Job Room, Basshu
-How to set: 	set MISC_QUEST,MISC_QUEST | 4096;
-How to check: 	if(MISC_QUEST & 4096){}
-
-Quest: 		Rachel Sanctuary Quest
-Info:		Gained access to Rachel Santuary (yes/no)
-How to set: 	set MISC_QUEST,MISC_QUEST | 8192;
-How to check: 	if(MISC_QUEST & 8192){}
-
-Quest: 		Message Delivery Quest
-Info:		Send a message to Elly, in Niflheim from Erious.
-How to set: 	set MISC_QUEST,MISC_QUEST | 16384;
-How to check: 	if(MISC_QUEST & 16384){}
-
-Quest: 		Umbala Domestic Dispute?
-Info:		Reward: 1 yggdrasil leaf.
-How to set: 	set MISC_QUEST,MISC_QUEST | 32768;
-How to check: 	if(MISC_QUEST & 32768){}
-
-Quest: 		Access to the Turtle Island
-Info:		Reward: ~1 OCA, OVB, GB,  .
-How to set: 	set MISC_QUEST,MISC_QUEST | 65536;
-How to check: 	if(MISC_QUEST & 65536){}
-
---------------------------------------------------------------
-Variable: MISC_QUEST2
-
-Quest: 		?
-Info:		?
-How to set: 	set MISC_QUEST,MISC_QUEST | ?;
-How to check: 	if(MISC_QUEST & ?){}
-
---------------------------------------------------------------
+//===== rAthena Documentation ================================
+//= Permanent Quest Variables
+//===== By: ==================================================
+//= rAthena Dev Team
+//===== Current Version: =====================================
+//= 20120826
+//===== Description: =========================================
+//= This file should help to understand and manage bit-wise 
+//= quest variables. You can store up to 31 boolean value into 
+//= a single variable.
+//===== Additional Comments: =================================
+//= Variable: MISC_QUEST
+//============================================================
+
+Quest:      Juice Maker Quest
+Info:       How to make juices. This bit keeps final state of the quest.
+How to set:     set MISC_QUEST, MISC_QUEST | 1;
+How to check:   if (MISC_QUEST & 1) {}
+
+Quest:      Tempestra Quest
+Info:       Has you given a potion to Temperstra or not.
+How to set:     set MISC_QUEST, MISC_QUEST | 2;
+How to check:   if (MISC_QUEST & 2) {}
+
+Quest:      Morgenstein Quest
+Info:       How to make Mixture & Counteragent. Also subquest for Alchemist Job
+            This bit keeps final state of the quest.
+How to set:     set MISC_QUEST, MISC_QUEST | 4;
+How to check:   if (MISC_QUEST & 4) {}
+
+Quest:      Prontera Culvert Quest
+Info:       Could you enter the Prontera Culvert or not.
+How to set:     set MISC_QUEST, MISC_QUEST | 8;
+How to check:   if (MISC_QUEST & 8) {}
+
+Quest:      Edgar's Offer
+Info:       Cheap ticket from Izlude to Alberta.
+             This bit keeps final state of the quest.
+How to set:     set MISC_QUEST, MISC_QUEST | 16;
+How to check:   if (MISC_QUEST & 16) {}
+
+Quest:      Piano Quest
+Info:       The only way from Niflheim to Umbala.
+How to set:     set MISC_QUEST, MISC_QUEST | 32;
+How to check:   if (MISC_QUEST & 32) {}
+
+Quest:      Bio Ethics Quest
+Info:       Bio Ethics quest for homunculus skill for alchemists.
+            This bit is for final part of quest (completed or not). [Evera]
+How to set:     set MISC_QUEST, MISC_QUEST|64;
+How to check:   if (MISC_QUEST & 64) {}
+
+Quest:      DTS Warper
+Info:       Not really a quest, but to show if a person has already voted.
+            Cleaning up the variables -.-; [Evera]
+How to set:     set MISC_QUEST, MISC_QUEST|128;
+How to check:   if (MISC_QUEST & 128) {}
+
+Quest:      -
+Info:       -
+How to set:     set MISC_QUEST, MISC_QUEST | 256;
+How to check:   if (MISC_QUEST & 256) {}
+
+Quest:      Cube Room
+Info:       Lighthalzen. Cube Room Quest (Pass to Bio-Lab)
+How to set:     set MISC_QUEST, MISC_QUEST | 512;
+How to check:   if (MISC_QUEST & 512) {}
+
+Quest:      Reset Skills Event
+Info:       Yuno, Hypnotist Teacher
+How to set:     set MISC_QUEST, MISC_QUEST | 1024;
+How to check:   if (MISC_QUEST & 1024) {}
+
+Quest:      Slotted Arm Guard Quest
+Info:       Ninja Job Room, Boshuu
+How to set:     set MISC_QUEST, MISC_QUEST | 2048;
+How to check:   if (MISC_QUEST & 2048) {}
+
+Quest:      Improved Arm Guard Quest
+Info:       Ninja Job Room, Basshu
+How to set:     set MISC_QUEST, MISC_QUEST | 4096;
+How to check:   if (MISC_QUEST & 4096) {}
+
+Quest:      Rachel Sanctuary Quest
+Info:       Gained access to Rachel Santuary (yes/no)
+How to set:     set MISC_QUEST, MISC_QUEST | 8192;
+How to check:   if (MISC_QUEST & 8192) {}
+
+Quest:      Message Delivery Quest
+Info:       Send a message to Elly, in Niflheim from Erious.
+How to set:     set MISC_QUEST, MISC_QUEST | 16384;
+How to check:   if (MISC_QUEST & 16384) {}
+
+Quest:      Umbala Domestic Dispute?
+Info:       Reward: 1 yggdrasil leaf.
+How to set:     set MISC_QUEST, MISC_QUEST | 32768;
+How to check:   if (MISC_QUEST & 32768) {}
+
+Quest:      Access to the Turtle Island
+Info:       Reward: ~1 OCA, OVB, GB.
+How to set:     set MISC_QUEST, MISC_QUEST | 65536;
+How to check:   if (MISC_QUEST & 65536) {}
+
+
+//============================================================
+Quest:      ?
+Info:       ?
+How to set:     set MISC_QUEST, MISC_QUEST | ?;
+How to check:   if (MISC_QUEST & ?) {}

+ 1 - 1
doc/script_commands.txt

@@ -1,4 +1,4 @@
-//===== rAthena Doc ===========================================
+//===== rAthena Documentation ================================
 //= rAthena Script Commands
 //= rAthena Script Commands
 //===== By: ==================================================
 //===== By: ==================================================
 //= rAthena Dev Team
 //= rAthena Dev Team

+ 10 - 12
doc/whisper_sys.txt

@@ -1,17 +1,15 @@
-//===== Athena Doc ========================================
+//===== rAthena Documentation ================================
 //= NPC Whisper System
 //= NPC Whisper System
-//===== By ================================================
-//= lordalfa, Massdriller
-//===== Version ===========================================
-//= 1.1
-//=========================================================
-//= 1.1 - Cleanup. [Euphy]
-//===== Description =======================================
+//===== By: ==================================================
+//= rAthena Dev Team
+//===== Current Version: =====================================
+//= 20120826
+//===== Description: =========================================
 //= A description of rAthena's NPC whispering system.
 //= A description of rAthena's NPC whispering system.
-//=========================================================
+//============================================================
 
 
-This piece of code to allows characters to execute events in NPCs by whispering
-them up to ten parameters. The NPC must have an "OnWhisperGlobal" label, or an
+This piece of code to allows characters to execute events in NPCs by whispering 
+them up to ten parameters. The NPC must have an "OnWhisperGlobal" label, or an 
 "event not found" error will result.
 "event not found" error will result.
 
 
 	NPC:<NPC Name>		<String>{#String 2{#...{#String 10}}}
 	NPC:<NPC Name>		<String>{#String 2{#...{#String 10}}}
@@ -37,4 +35,4 @@ OnWhisperGlobal:
 	if (@whispervar0$ == "Report")
 	if (@whispervar0$ == "Report")
 		message @whispervar2$,"You have been reported for "+@whispervar1$+".";
 		message @whispervar2$,"You have been reported for "+@whispervar1$+".";
 	end;
 	end;
-}
+}

+ 7 - 9
doc/woe_time_explanation.txt

@@ -1,14 +1,12 @@
-//===== Athena Doc ========================================
+//===== rAthena Documentation ================================
 //= WoE Time Explanation
 //= WoE Time Explanation
-//===== By ================================================
-//= erKURITA
-//===== Version ===========================================
-//= 1.1
-//=========================================================
-//= 1.1 - Edited and reformatted. [Euphy]
-//===== Description =======================================
+//===== By: ==================================================
+//= rAthena Dev Team
+//===== Current Version: =====================================
+//= 20120717
+//===== Description: =========================================
 //= Details on the behavior of the default WoE controller.
 //= Details on the behavior of the default WoE controller.
-//=========================================================
+//============================================================
 
 
 There are 2 main commands that determine WoE times:
 There are 2 main commands that determine WoE times:
 OnClock<time>: and gettime(<type>).
 OnClock<time>: and gettime(<type>).

+ 701 - 701
npc/kafras/kafras.txt

@@ -1,701 +1,701 @@
-//===== rAthena Script ======================================= 
-//= Kafras (Cities/Dungeons/Fields)
-//===== By: ================================================== 
-//= Joseph
-//===== Current Version: ===================================== 
-//= 1.0
-//===== Compatible With: ===================================== 
-//= rAthena SVN
-//===== Description: =========================================
-//= Argument settings for callfunc "F_Kafra":
-//=  arg(0): 0 - Default Kafra message
-//=          1 - Niflhiem Kafra message
-//=          2 - Guild Kafra message
-//=  arg(1): 1 - Disable teleport menu 
-//=  arg(2): 1 - Disable info menu
-//=  arg(3): Cost of Storage service
-//=  arg(4): Cost of Rent a Pushcart service
-//===== Additional Comments: ================================= 
-//= 0.x Previous Authors: 
-//=     - L0ne_W0lf, kobra_k88, Samuray22, Evera, Lupus
-//= 1.0 Merged and cleaned up Kafras. [Joseph]
-//============================================================ 
-
-//===================================================
-// Aldebaran 
-//===================================================
-aldeba_in,96,181,4	script	Kafra Service	113,{
-	cutin "kafra_05",2;
-	mes "[Kafra Leilah]";
-	mes "Hm...?";
-	mes "Oh, welcome to";
-	mes "the Kafra Corporation";
-	mes "Headquarters. Did you";
-	mes "need something?";
-	next;
-	switch(select("Save:Use Storage:Rent a Pushcart:Cancel")) {
-	case 1:
-		mes "[Kafra Leilah]";
-		mes "Your Respawn Point has";
-		mes "been saved here, inside";
-		mes "of the Kafra Corporation";
-		mes "Headquarters. Thank you.";
-		next;
-		savepoint "aldeba_in",96,179;
-		mes "[Kafra Leilah]";
-		mes "Please make use of";
-		mes "the Kafra Services that are";
-		mes "available throughout all of";
-		mes "Rune Midgard. Thank you for";
-		mes "visiting the Kafra Headquarters.";
-		close2;
-		break;
-	case 2:
-		if (zeny < 20) {
-			mes "[Kafra Leilah]";
-			mes "Excuse me, but it";
-			mes "seems that you don't";
-			mes "have the 20 zeny to pay";
-			mes "the Storage access fee...";
-			close;
-		}
-		mes "[Kafra Leilah]";
-		mes "Although this facility is";
-		mes "exclusively intended for";
-		mes "the training of Kafra Employee";
-		mes "and administrative functions,";
-		mes "I'll access your Storage for you.";
-		next;
-		set zeny,zeny-20;
-		set RESRVPTS, RESRVPTS + (20/5);
-		mes "[Kafra Leilah]";
-		mes "In the future, please";
-		mes "ask the Kafra Employee on";
-		mes "duty if you wish to use";
-		mes "any of the Kafra Services.";
-		mes "Thank you for your patronage.";
-		callfunc("F_CheckKafCode");    //check your storage password, if set
-		close2;
-		openstorage;
-		break;
-	case 3:
-		mes "[Kafra Leilah]";
-		mes "My apologies, but I'm";
-		mes "not on duty. I'd assist you";
-		mes "if I could, but actually don't";
-		mes "have any available Pushcarts.";
-		mes "Why don't you ask another Kafra";
-		mes "Employee for assistance?";
-		next;
-		mes "[Kafra Leilah]";
-		mes "Kafra Employees are";
-		mes "stationed all over the";
-		mes "Rune Midgard continent,";
-		mes "and you should be able to find";
-		mes "plenty outside in Al De Baran.";
-		close2;
-		break;
-	case 4:
-		mes "[Kafra Leilah]";
-		mes "^666666*Whew...*^000000";
-		mes "Great, because I'm";
-		mes "actually on my break";
-		mes "right now. Choosing";
-		mes "''Cancel'' was a good";
-		mes "move on your part.";
-		close2;
-		break;
-	}
-	cutin "",255;
-	end;
-}
-
-aldebaran,143,119,4	script	Kafra Employee::kaf_aldebaran	113,{
-	cutin "kafra_05",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "The Kafra Corporation";
-	mes "is always working to provide";
-	mes "you with convenient services.";
-	mes "How may I be of assistance?";
-	callfunc "F_Kafra",5,0,1,20,600;
-	savepoint "aldebaran",143,109;
-	callfunc "F_KafEnd",0,1,"in the city of Al De Baran";
-}
-
-//===================================================
-// Geffen
-//===================================================
-geffen,120,62,0	script	Kafra Employee::kaf_geffen	115,{
-	cutin "kafra_03",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "Welcome~!";
-	mes "The Kafra Services";
-	mes "are always on your side.";
-	mes "So how can I help you?";
-	callfunc "F_Kafra",5,0,0,30,750;
-	savepoint "geffen",119,40;
-	callfunc "F_KafEnd",0,1,"in the city of Geffen";
-}
-
-geffen,203,123,2	script	Kafra Employee::geffen2	114,{
-	cutin "kafra_04",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "Welcome!";
-	mes "The Kafra Corporation";
-	mes "will always support the";
-	mes "adventurers of Rune-Midgard";
-	mes "with its excellent service. So";
-	mes "what can I do for you today?";
-	callfunc "F_Kafra",5,0,0,30,750;
-	savepoint "geffen",200,124;
-	callfunc "F_KafEnd",0,1,"in the city of Geffen";
-}
-
-//===================================================
-// Morocc
-//===================================================
-morocc,156,97,4	script	Kafra Employee::kaf_morocc	113,{
-	cutin "kafra_05",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "The Kafra Corporation";
-	mes "is always working to provide";
-	mes "you with convenient services.";
-	mes "How may I be of assistance?";
-	callfunc "F_Kafra",5,0,0,60,930;
-	savepoint "morocc",156,46;
-	callfunc "F_KafEnd",0,1,"in the city of Morroc";
-}
-
-morocc,160,258,4	script	Kafra::kaf_morocc2	114,{
-	cutin "kafra_04",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "Welcome!";
-	mes "The Kafra Corporation";
-	mes "will always support the";
-	mes "adventurers of Rune-Midgard";
-	mes "with its excellent service. So";
-	mes "what can I do for you today?";
-	callfunc "F_Kafra",5,0,0,60,930;
-	savepoint "morocc",157,272;
-	callfunc "F_KafEnd",0,1,"in the city of Morroc";
-}
-
-//===================================================
-// Payon
-//===================================================
-payon,181,104,4	script	Kafra Employee::kaf_payon	113,{
-	cutin "kafra_05",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "The Kafra Corporation";
-	mes "is always working to provide";
-	mes "you with convenient services.";
-	mes "How may I be of assistance?";
-	callfunc "F_Kafra",5,0,1,60,930;
-	savepoint "payon",160,58;
-	callfunc "F_KafEnd",0,1,"in the city of Payon";
-}
-
-payon,175,226,4	script	Kafra Employee::kaf_payon2	116,{
-	cutin "kafra_02",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "The Kafra services are";
-	mes "always on your side.";
-	mes "How may I assist you?";
-	callfunc "F_Kafra",5,0,1,60,930;
-	savepoint "payon",257,242;
-	callfunc "F_KafEnd",0,1,"in the city of Payon";
-}
-
-pay_arche,55,123,0	script	Kafra Employee::kaf_payon3	115,{
-	cutin "kafra_03",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "The Kafra services";
-	mes "are always on your side.";
-	mes "How may I assist you?";
-	callfunc "F_Kafra",5,5,1,90,1200;
-	savepoint "pay_arche",49,144;
-	callfunc "F_KafEnd",0,1,"at the Payon Dungeon";
-}
-
-//===================================================
-// Prontera
-//===================================================
-prontera,152,326,3	script	Kafra Employee::kaf_prontera	112,{
-	cutin "kafra_06",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation~";
-	mes "The Kafra Services are";
-	mes "always here to support";
-	mes "you. So how can I be";
-	mes "of service today?";
-	callfunc "F_Kafra",5,0,0,40,800;
-	savepoint "prontera",157,327;
-	callfunc "F_KafEnd",0,1,"in the city of Prontera";
-}
-
-prontera,151,29,0	script	Kafra Employee::kaf_prontera2	115,{
-	cutin "kafra_03",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "Welcome~!";
-	mes "The Kafra Services";
-	mes "are always on your side.";
-	mes "So how can I help you?";
-	callfunc "F_Kafra",5,0,0,40,800;
-	savepoint "prontera",150,33;
-	callfunc "F_KafEnd",0,1,"in the city of Prontera";
-}
-
-prontera,29,207,6	script	Kafra Employee::kaf_prontera3	113,{
-	cutin "kafra_05",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "The Kafra Corporation";
-	mes "is always working to provide";
-	mes "you with convenient services.";
-	mes "How may I be of assistance?";
-	callfunc "F_Kafra",5,0,0,40,800;
-	savepoint "prontera",33,208;
-	callfunc "F_KafEnd",0,1,"in the city of Prontera";
-}
-
-prontera,282,200,2	script	Kafra Employee::kaf_prontera4	114,{
-	cutin "kafra_04",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "Welcome!";
-	mes "The Kafra Corporation";
-	mes "will always support the";
-	mes "adventurers of Rune-Midgard";
-	mes "with its excellent service. So";
-	mes "what can I do for you today?";
-	callfunc "F_Kafra",5,0,0,40,800;
-	savepoint "prontera",281,203;
-	callfunc "F_KafEnd",0,1,"in the city of Prontera";
-}
-
-prontera,146,89,6	script	Kafra Employee::kaf_prontera5	117,{
-	cutin "kafra_01",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "The Kafra services";
-	mes "are always on your side.";
-	mes "How may I assist you?";
-	callfunc "F_Kafra",5,0,0,40,800;
-	savepoint "prontera",116,73;
-	callfunc "F_KafEnd",0,1,"in the city of Prontera";
-}
-
-//===================================================
-// Yuno
-//===================================================
-yuno,152,187,4	script	Kafra Employee::kaf_yuno	860,{
-	cutin "kafra_08",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "The Kafra Corporation";
-	mes "is always working to provide";
-	mes "you with convenient services.";
-	mes "How may I be of assistance?";
-	callfunc "F_Kafra",5,0,0,40,800;
-	savepoint "yuno",158,125;
-	callfunc "F_KafEnd",0,1,"in the city of Juno";
-}
-
-yuno,327,108,4	script	Kafra Employee::kaf_yuno2	860,{
-	cutin "kafra_08",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "The Kafra Corporation";
-	mes "is always working to provide";
-	mes "you with convenient services.";
-	mes "How may I be of assistance?";
-	callfunc "F_Kafra",5,0,0,40,800;
-	savepoint "yuno",328,101;
-	callfunc "F_KafEnd",0,1,"in the city of Juno";
-}
-
-yuno,277,221,4	script	Kafra Employee::kaf_yuno3	861,{
-	cutin "kafra_09",2;
-	callfunc "F_KafSetYun";
-	mes "[Kafra Employee]";
-	mes "The Kafra Corporation";
-	mes "is always working to provide";
-	mes "you with convenient services.";
-	mes "How may I be of assistance?";
-	callfunc "F_Kafra",5,0,0,40,800;
-	savepoint "yuno",274,229;
-	callfunc "F_KafEnd",0,1,"in the city of Juno";
-}
-
-//===================================================
-// Alberta
-//===================================================
-alberta,28,229,0	script	Kafra Employee::kaf_alberta	116,{
-	cutin "kafra_02",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "Kafra's Employees are";
-	mes "always ready to serve you.";
-	mes "How can I help you today?";
-	callfunc "F_Kafra",5,0,0,50,850;
-	savepoint "alberta",31,231;
-	callfunc "F_KafEnd",0,1,"in the city of Alberta";
-}
-
-alberta,113,60,6	script	Kafra Employee::kaf_alberta2	112,{
-	cutin "kafra_06",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation~";
-	mes "The Kafra Services are";
-	mes "always here to support";
-	mes "you. So how can I be";
-	mes "of service today?";
-	callfunc "F_Kafra",5,0,0,50,850;
-	savepoint "alberta",117,57;
-	callfunc "F_KafEnd",0,1,"in the city of Alberta";
-}
-
-//===================================================
-// Comodo
-//===================================================
-comodo,195,150,4	script	Kafra Employee::kaf_comodo	721,{
-	cutin "kafra_07",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "You know that our";
-	mes "service is always";
-	mes "on your side~";
-	callfunc "F_Kafra",5,0,1,80,1000;
-	savepoint "comodo",204,143;
-	callfunc "F_KafEnd",0,1,"in the town of Comodo";
-}
-
-cmd_fild07,136,134,4	script	Kafra Employee::kaf_cmd_fild07	721,{
-	cutin "kafra_07",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "You know that our";
-	mes "service is always";
-	mes "on your side~";
-	callfunc "F_Kafra",5,0,1,80,1000;
-	savepoint "cmd_fild07",127,134;
-	callfunc "F_KafEnd",0,1,"in Pyros Lighthouse";
-}
-
-//===================================================
-// Izlude
-//===================================================
--	script	kaf_izlude	-1,{
-	cutin "kafra_01",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "The Kafra services";
-	mes "are always on your side.";
-	mes "How may I assist you?";
-	callfunc "F_Kafra",5,0,1,40,820;
-	savepoint "izlude",94,103;
-	callfunc "F_KafEnd",0,1,"in the city of Izlude";
-}
-
-//===================================================
-// Moscovia
-//===================================================
-moscovia,223,191,3	script	Kafra Employee::kaf_mosk	114,{
-	cutin "kafra_04",2;
-	callfunc "F_Kafra",0,3,0,80,700;
-	savepoint "moscovia",221,194;;
-	callfunc "F_KafEnd",0,3,"in the city of Moscovia";
-}
-
-//===================================================
-// Amatsu
-//===================================================
-amatsu,102,149,4	script	Kafra Employee::kaf_amatsu	116,{
-	cutin "kafra_02",2;
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "Kafra's Employees are";
-	mes "always ready to serve you.";
-	mes "How can I help you today?";
-	callfunc "F_Kafra",5,3,1,50,700;
-	savepoint "amatsu",116,94;
-	callfunc "F_KafEnd",0,1,"in the city of Amatsu";
-}
-
-//===================================================
-// Ayothaya
-//===================================================
-ayothaya,212,169,5	script	Kafra Employee::kaf_ayothaya	116,{
-	cutin "kafra_02",2;
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "Kafra's Employees are";
-	mes "always ready to serve you.";
-	mes "How can I help you today?";
-	callfunc "F_Kafra",5,3,1,50,700;
-	savepoint "ayothaya",149,69;
-	callfunc "F_KafEnd",0,1,"in the city of Ayotaya";
-}
-
-//===================================================
-// Einbech 
-//===================================================
-einbech,181,132,5	script	Kafra Employee#ein3::kaf_einbech	860,{
-	cutin "kafra_08",2;
-	mes "[Kafra Employee]";
-	mes "Welcome~!";
-	mes "The Kafra Services";
-	mes "are always on your side.";
-	mes "So how can I help you?";
-	callfunc "F_Kafra",5,4,1,40,850;
-	savepoint "einbech",182,124;
-	callfunc "F_KafEnd",0,1,"in the town of Einbech";
-}
-
-//===================================================
-// Einbroch
-//===================================================
-einbroch,242,205,5	script	Kafra Employee#ein2::kaf_einbroch	860,{
-	cutin "kafra_08",2;
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "Kafra's Employees are";
-	mes "always ready to serve you.";
-	mes "How can I help you today?";
-	callfunc "F_Kafra",5,4,1,50,800;
-	savepoint "einbroch",238,198;
-	callfunc "F_KafEnd",0,1,"in the city of Einbroch";
-}
-
-einbroch,59,203,6	script	Kafra Employee#ein1::kaf_einbroch2	861,{
-	cutin "kafra_09",2;
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "The Kafra services";
-	mes "are always on your side.";
-	mes "How may I assist you?";
-	callfunc "F_Kafra",5,4,1,50,800;
-	savepoint "einbroch",240,197;
-	callfunc "F_KafEnd",0,1,"in the city of Einbroch";
-}
-
-//===================================================
-// Gonryun
-//===================================================
-gonryun,159,122,4	script	Kafra Employee::kaf_gonryun	116,{
-	cutin "kafra_02",2;
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "Kafra's Employees are";
-	mes "always ready to serve you.";
-	mes "How can I help you today?";
-	callfunc "F_Kafra",5,3,1,50,700;
-	savepoint "gonryun",160,62;
-	callfunc "F_KafEnd",0,1,"in the city of Kunlun";
-}
-
-//===================================================
-// Lighthalzen
-//===================================================
-lighthalzen,164,100,4	script	Kafra Employee::kaf_lighthalzen	860,{
-	cutin "kafra_08",2;
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "The Kafra services";
-	mes "are always on your side.";
-	mes "How may I assist you?";
-	callfunc "F_Kafra",5,4,1,40,800;
-	savepoint "lighthalzen",158,94;
-	callfunc "F_KafEnd",0,1,"in the city of Lighthalzen";
-}
-
-lighthalzen,191,320,4	script	Kafra Employee::kaf_lighthalzen2	861,{
-	cutin "kafra_09",2;
-	mes "[Kafra Employee]";
-	mes "Welcome~!";
-	mes "The Kafra Services";
-	mes "are always on your side.";
-	mes "So how can I help you?";
-	callfunc "F_Kafra",5,4,1,40,800;
-	savepoint "lighthalzen",194,313;
-	callfunc "F_KafEnd",0,1,"in the city of Lighthalzen";
-}
-
-lhz_in02,237,284,4	script	Kafra Employee::kaf_lhz_in02	861,{
-	cutin "kafra_09",2;
-	mes "[Kafra Employee]";
-	mes "Welcome~!";
-	mes "The Kafra Services";
-	mes "are always on your side.";
-	mes "So how can I help you?";
-	callfunc "F_Kafra",5,4,1,40,800;
-	savepoint "lhz_in02",278,215;
-	callfunc "F_KafEnd",0,1,"in the city of Lighthalzen";
-}
-
-//===================================================
-// Louyang
-//===================================================
-louyang,210,104,5	script	Kafra Employee::kaf_louyang	117,{
-	cutin "kafra_01",2;
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "Kafra's Employees are";
-	mes "always ready to serve you.";
-	mes "How can I help you today?";
-	callfunc "F_Kafra",5,3,1,50,700;
-	savepoint "louyang",217,92;
-	callfunc "F_KafEnd",0,1,"in the city of Louyang";
-}
-
-//===================================================
-// Umbala
-//===================================================
-umbala,87,160,4	script	Kafra Employee::kaf_umbala	721,{
-	cutin "kafra_07",2;
-	callfunc "F_KafSet";
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "You know that our";
-	mes "service is always";
-	mes "on your side~";
-	callfunc "F_Kafra",5,0,1,80,0;
-	savepoint "umbala",126,131;
-	callfunc "F_KafEnd",0,1,"in the city of Umbala";
-}
-
-//===================================================
-// Niflheim 
-//===================================================
-niflheim,202,180,3	script	Kafra Employee::kaf_niflheim	791,{
-	callfunc "F_Kafra",1,2,1,150,0;
-	savepoint "niflheim",192,182;
-	callfunc "F_KafEnd",1,1,"in the city of Niflheim";
-}
-
-//===================================================
-// Dungeons and Fields
-//===================================================
-// - Byalan Island
-izlu2dun,106,58,8	script	Kafra Employee::kaf_izlu2dun	115,{
-	cutin "kafra_03",2;
-	if(BaseJob==Job_Novice && job_merchant_q2>0) callfunc "F_MercKafra";  //F_MercKafra found in merchant.txt
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "Kafra's Employees are";
-	mes "always ready to serve you.";
-	mes "How can I help you today?";
-	callfunc "F_Kafra",5,2,1,120,1200;
-	savepoint "izlu2dun",87,170;
-	callfunc "F_KafEnd",0,1,"at Byalan Island";
-}
-
-// - Culvert Sewers
-prt_fild05,290,224,3	script	Kafra Employee::prt_fild05	114,{
-	cutin "kafra_04",2;
-	mes "[Kafra Employee]";
-	mes "Welcome!";
-	mes "The Kafra Corporation";
-	mes "will always support the";
-	mes "adventurers of Rune-Midgard";
-	mes "with its excellent service. So";
-	mes "what can I do for you today?";
-	callfunc "F_Kafra",5,1,1,40,0;
-
-	M_Save:
-		savepoint "prt_fild05",274,243;
-		callfunc "F_KafEnd",0,1, "at the Prontera Culverts";
-}
-
-// - Coal Mine (Dead Pitt)
-mjolnir_02,83,362,4	script	Kafra Employee::kaf_mjolnir_02	116,{
-	cutin "kafra_02",2;
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "Kafra's Employees are";
-	mes "always ready to serve you.";
-	mes "How can I help you today?";
-	callfunc "F_Kafra",5,6,1,100,0;
-	savepoint "mjolnir_02",98,352;
-	callfunc "F_KafEnd",0,1,"at Mjolnir Dead Pit";
-}
-
-// - Morroc Ruins
-moc_ruins,59,157,5	script	Kafra Employee::moc_ruins	114,{
-	cutin "kafra_04",2;
-	mes "[Kafra Employee]";
-	mes "Welcome!";
-	mes "The Kafra Corporation";
-	mes "will always support the";
-	mes "adventurers of Rune-Midgard";
-	mes "with its excellent service. So";
-	mes "what can I do for you today?";
-	callfunc "F_Kafra",5,2,1,90,1200;
-	savepoint "moc_ruins",41,141;
-	callfunc "F_KafEnd",0,1," at the Pyramids";
-}
-
-// - Orc Dungeon
-gef_fild10,73,340,5	script	Kafra Employee::kaf_gef_fild10	116,{
-	cutin "kafra_02",2;
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "Kafra's Employees are";
-	mes "always ready to serve you.";
-	mes "How can I help you today?";
-	callfunc "F_Kafra",5,6,1,130,0;
-	savepoint "gef_fild10",54,326;
-	callfunc "F_KafEnd",0,1,"at the Orc Dungeon";
-}
-
-// - Treasure Island
-alb2trea,59,69,5	script	Kafra Employee::kaf_alb2trea	117,{
-	cutin "kafra_01",2;
-	mes "[Kafra Employee]";
-	mes "Welcome to the";
-	mes "Kafra Corporation.";
-	mes "The Kafra services";
-	mes "are always on your side.";
-	mes "How may I assist you?";
-	callfunc "F_Kafra",5,2,1,50,0;
-	savepoint "alb2trea",92,64;
-	callfunc "F_KafEnd",0,1,0,"at Sunken Ship";
-}
+//===== rAthena Script ======================================= 
+//= Kafras (Cities/Dungeons/Fields)
+//===== By: ================================================== 
+//= Joseph
+//===== Current Version: ===================================== 
+//= 1.0
+//===== Compatible With: ===================================== 
+//= rAthena SVN
+//===== Description: =========================================
+//= Argument settings for callfunc "F_Kafra":
+//=  arg(0): 0 - Default Kafra message
+//=          1 - Niflhiem Kafra message
+//=          2 - Guild Kafra message
+//=  arg(1): 1 - Disable teleport menu 
+//=  arg(2): 1 - Disable info menu
+//=  arg(3): Cost of Storage service
+//=  arg(4): Cost of Rent a Pushcart service
+//===== Additional Comments: ================================= 
+//= 0.x Previous Authors: 
+//=     - L0ne_W0lf, kobra_k88, Samuray22, Evera, Lupus
+//= 1.0 Merged and cleaned up Kafras. [Joseph]
+//============================================================ 
+
+//===================================================
+// Aldebaran 
+//===================================================
+aldeba_in,96,181,4	script	Kafra Service	113,{
+	cutin "kafra_05",2;
+	mes "[Kafra Leilah]";
+	mes "Hm...?";
+	mes "Oh, welcome to";
+	mes "the Kafra Corporation";
+	mes "Headquarters. Did you";
+	mes "need something?";
+	next;
+	switch(select("Save:Use Storage:Rent a Pushcart:Cancel")) {
+	case 1:
+		mes "[Kafra Leilah]";
+		mes "Your Respawn Point has";
+		mes "been saved here, inside";
+		mes "of the Kafra Corporation";
+		mes "Headquarters. Thank you.";
+		next;
+		savepoint "aldeba_in",96,179;
+		mes "[Kafra Leilah]";
+		mes "Please make use of";
+		mes "the Kafra Services that are";
+		mes "available throughout all of";
+		mes "Rune Midgard. Thank you for";
+		mes "visiting the Kafra Headquarters.";
+		close2;
+		break;
+	case 2:
+		if (zeny < 20) {
+			mes "[Kafra Leilah]";
+			mes "Excuse me, but it";
+			mes "seems that you don't";
+			mes "have the 20 zeny to pay";
+			mes "the Storage access fee...";
+			close;
+		}
+		mes "[Kafra Leilah]";
+		mes "Although this facility is";
+		mes "exclusively intended for";
+		mes "the training of Kafra Employee";
+		mes "and administrative functions,";
+		mes "I'll access your Storage for you.";
+		next;
+		set zeny,zeny-20;
+		set RESRVPTS, RESRVPTS + (20/5);
+		mes "[Kafra Leilah]";
+		mes "In the future, please";
+		mes "ask the Kafra Employee on";
+		mes "duty if you wish to use";
+		mes "any of the Kafra Services.";
+		mes "Thank you for your patronage.";
+		callfunc("F_CheckKafCode");    //check your storage password, if set
+		close2;
+		openstorage;
+		break;
+	case 3:
+		mes "[Kafra Leilah]";
+		mes "My apologies, but I'm";
+		mes "not on duty. I'd assist you";
+		mes "if I could, but actually don't";
+		mes "have any available Pushcarts.";
+		mes "Why don't you ask another Kafra";
+		mes "Employee for assistance?";
+		next;
+		mes "[Kafra Leilah]";
+		mes "Kafra Employees are";
+		mes "stationed all over the";
+		mes "Rune Midgard continent,";
+		mes "and you should be able to find";
+		mes "plenty outside in Al De Baran.";
+		close2;
+		break;
+	case 4:
+		mes "[Kafra Leilah]";
+		mes "^666666*Whew...*^000000";
+		mes "Great, because I'm";
+		mes "actually on my break";
+		mes "right now. Choosing";
+		mes "''Cancel'' was a good";
+		mes "move on your part.";
+		close2;
+		break;
+	}
+	cutin "",255;
+	end;
+}
+
+aldebaran,143,119,4	script	Kafra Employee::kaf_aldebaran	113,{
+	cutin "kafra_05",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "The Kafra Corporation";
+	mes "is always working to provide";
+	mes "you with convenient services.";
+	mes "How may I be of assistance?";
+	callfunc "F_Kafra",5,0,1,20,600;
+	savepoint "aldebaran",143,109;
+	callfunc "F_KafEnd",0,1,"in the city of Al De Baran";
+}
+
+//===================================================
+// Geffen
+//===================================================
+geffen,120,62,0	script	Kafra Employee::kaf_geffen	115,{
+	cutin "kafra_03",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "Welcome~!";
+	mes "The Kafra Services";
+	mes "are always on your side.";
+	mes "So how can I help you?";
+	callfunc "F_Kafra",5,0,0,30,750;
+	savepoint "geffen",119,40;
+	callfunc "F_KafEnd",0,1,"in the city of Geffen";
+}
+
+geffen,203,123,2	script	Kafra Employee::geffen2	114,{
+	cutin "kafra_04",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "Welcome!";
+	mes "The Kafra Corporation";
+	mes "will always support the";
+	mes "adventurers of Rune-Midgard";
+	mes "with its excellent service. So";
+	mes "what can I do for you today?";
+	callfunc "F_Kafra",5,0,0,30,750;
+	savepoint "geffen",200,124;
+	callfunc "F_KafEnd",0,1,"in the city of Geffen";
+}
+
+//===================================================
+// Morocc
+//===================================================
+morocc,156,97,4	script	Kafra Employee::kaf_morocc	113,{
+	cutin "kafra_05",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "The Kafra Corporation";
+	mes "is always working to provide";
+	mes "you with convenient services.";
+	mes "How may I be of assistance?";
+	callfunc "F_Kafra",5,0,0,60,930;
+	savepoint "morocc",156,46;
+	callfunc "F_KafEnd",0,1,"in the city of Morroc";
+}
+
+morocc,160,258,4	script	Kafra::kaf_morocc2	114,{
+	cutin "kafra_04",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "Welcome!";
+	mes "The Kafra Corporation";
+	mes "will always support the";
+	mes "adventurers of Rune-Midgard";
+	mes "with its excellent service. So";
+	mes "what can I do for you today?";
+	callfunc "F_Kafra",5,0,0,60,930;
+	savepoint "morocc",157,272;
+	callfunc "F_KafEnd",0,1,"in the city of Morroc";
+}
+
+//===================================================
+// Payon
+//===================================================
+payon,181,104,4	script	Kafra Employee::kaf_payon	113,{
+	cutin "kafra_05",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "The Kafra Corporation";
+	mes "is always working to provide";
+	mes "you with convenient services.";
+	mes "How may I be of assistance?";
+	callfunc "F_Kafra",5,0,1,60,930;
+	savepoint "payon",160,58;
+	callfunc "F_KafEnd",0,1,"in the city of Payon";
+}
+
+payon,175,226,4	script	Kafra Employee::kaf_payon2	116,{
+	cutin "kafra_02",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "The Kafra services are";
+	mes "always on your side.";
+	mes "How may I assist you?";
+	callfunc "F_Kafra",5,0,1,60,930;
+	savepoint "payon",257,242;
+	callfunc "F_KafEnd",0,1,"in the city of Payon";
+}
+
+pay_arche,55,123,0	script	Kafra Employee::kaf_payon3	115,{
+	cutin "kafra_03",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "The Kafra services";
+	mes "are always on your side.";
+	mes "How may I assist you?";
+	callfunc "F_Kafra",5,5,1,90,1200;
+	savepoint "pay_arche",49,144;
+	callfunc "F_KafEnd",0,1,"at the Payon Dungeon";
+}
+
+//===================================================
+// Prontera
+//===================================================
+prontera,152,326,3	script	Kafra Employee::kaf_prontera	112,{
+	cutin "kafra_06",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation~";
+	mes "The Kafra Services are";
+	mes "always here to support";
+	mes "you. So how can I be";
+	mes "of service today?";
+	callfunc "F_Kafra",5,0,0,40,800;
+	savepoint "prontera",157,327;
+	callfunc "F_KafEnd",0,1,"in the city of Prontera";
+}
+
+prontera,151,29,0	script	Kafra Employee::kaf_prontera2	115,{
+	cutin "kafra_03",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "Welcome~!";
+	mes "The Kafra Services";
+	mes "are always on your side.";
+	mes "So how can I help you?";
+	callfunc "F_Kafra",5,0,0,40,800;
+	savepoint "prontera",150,33;
+	callfunc "F_KafEnd",0,1,"in the city of Prontera";
+}
+
+prontera,29,207,6	script	Kafra Employee::kaf_prontera3	113,{
+	cutin "kafra_05",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "The Kafra Corporation";
+	mes "is always working to provide";
+	mes "you with convenient services.";
+	mes "How may I be of assistance?";
+	callfunc "F_Kafra",5,0,0,40,800;
+	savepoint "prontera",33,208;
+	callfunc "F_KafEnd",0,1,"in the city of Prontera";
+}
+
+prontera,282,200,2	script	Kafra Employee::kaf_prontera4	114,{
+	cutin "kafra_04",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "Welcome!";
+	mes "The Kafra Corporation";
+	mes "will always support the";
+	mes "adventurers of Rune-Midgard";
+	mes "with its excellent service. So";
+	mes "what can I do for you today?";
+	callfunc "F_Kafra",5,0,0,40,800;
+	savepoint "prontera",281,203;
+	callfunc "F_KafEnd",0,1,"in the city of Prontera";
+}
+
+prontera,146,89,6	script	Kafra Employee::kaf_prontera5	117,{
+	cutin "kafra_01",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "The Kafra services";
+	mes "are always on your side.";
+	mes "How may I assist you?";
+	callfunc "F_Kafra",5,0,0,40,800;
+	savepoint "prontera",116,73;
+	callfunc "F_KafEnd",0,1,"in the city of Prontera";
+}
+
+//===================================================
+// Yuno
+//===================================================
+yuno,152,187,4	script	Kafra Employee::kaf_yuno	860,{
+	cutin "kafra_08",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "The Kafra Corporation";
+	mes "is always working to provide";
+	mes "you with convenient services.";
+	mes "How may I be of assistance?";
+	callfunc "F_Kafra",5,0,0,40,800;
+	savepoint "yuno",158,125;
+	callfunc "F_KafEnd",0,1,"in the city of Juno";
+}
+
+yuno,327,108,4	script	Kafra Employee::kaf_yuno2	860,{
+	cutin "kafra_08",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "The Kafra Corporation";
+	mes "is always working to provide";
+	mes "you with convenient services.";
+	mes "How may I be of assistance?";
+	callfunc "F_Kafra",5,0,0,40,800;
+	savepoint "yuno",328,101;
+	callfunc "F_KafEnd",0,1,"in the city of Juno";
+}
+
+yuno,277,221,4	script	Kafra Employee::kaf_yuno3	861,{
+	cutin "kafra_09",2;
+	callfunc "F_KafSetYun";
+	mes "[Kafra Employee]";
+	mes "The Kafra Corporation";
+	mes "is always working to provide";
+	mes "you with convenient services.";
+	mes "How may I be of assistance?";
+	callfunc "F_Kafra",5,0,0,40,800;
+	savepoint "yuno",274,229;
+	callfunc "F_KafEnd",0,1,"in the city of Juno";
+}
+
+//===================================================
+// Alberta
+//===================================================
+alberta,28,229,0	script	Kafra Employee::kaf_alberta	116,{
+	cutin "kafra_02",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "Kafra's Employees are";
+	mes "always ready to serve you.";
+	mes "How can I help you today?";
+	callfunc "F_Kafra",5,0,0,50,850;
+	savepoint "alberta",31,231;
+	callfunc "F_KafEnd",0,1,"in the city of Alberta";
+}
+
+alberta,113,60,6	script	Kafra Employee::kaf_alberta2	112,{
+	cutin "kafra_06",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation~";
+	mes "The Kafra Services are";
+	mes "always here to support";
+	mes "you. So how can I be";
+	mes "of service today?";
+	callfunc "F_Kafra",5,0,0,50,850;
+	savepoint "alberta",117,57;
+	callfunc "F_KafEnd",0,1,"in the city of Alberta";
+}
+
+//===================================================
+// Comodo
+//===================================================
+comodo,195,150,4	script	Kafra Employee::kaf_comodo	721,{
+	cutin "kafra_07",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "You know that our";
+	mes "service is always";
+	mes "on your side~";
+	callfunc "F_Kafra",5,0,1,80,1000;
+	savepoint "comodo",204,143;
+	callfunc "F_KafEnd",0,1,"in the town of Comodo";
+}
+
+cmd_fild07,136,134,4	script	Kafra Employee::kaf_cmd_fild07	721,{
+	cutin "kafra_07",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "You know that our";
+	mes "service is always";
+	mes "on your side~";
+	callfunc "F_Kafra",5,0,1,80,1000;
+	savepoint "cmd_fild07",127,134;
+	callfunc "F_KafEnd",0,1,"in Pyros Lighthouse";
+}
+
+//===================================================
+// Izlude
+//===================================================
+-	script	kaf_izlude	-1,{
+	cutin "kafra_01",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "The Kafra services";
+	mes "are always on your side.";
+	mes "How may I assist you?";
+	callfunc "F_Kafra",5,0,1,40,820;
+	savepoint "izlude",94,103;
+	callfunc "F_KafEnd",0,1,"in the city of Izlude";
+}
+
+//===================================================
+// Moscovia
+//===================================================
+moscovia,223,191,3	script	Kafra Employee::kaf_mosk	114,{
+	cutin "kafra_04",2;
+	callfunc "F_Kafra",0,3,0,80,700;
+	savepoint "moscovia",221,194;;
+	callfunc "F_KafEnd",0,3,"in the city of Moscovia";
+}
+
+//===================================================
+// Amatsu
+//===================================================
+amatsu,102,149,4	script	Kafra Employee::kaf_amatsu	116,{
+	cutin "kafra_02",2;
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "Kafra's Employees are";
+	mes "always ready to serve you.";
+	mes "How can I help you today?";
+	callfunc "F_Kafra",5,3,1,50,700;
+	savepoint "amatsu",116,94;
+	callfunc "F_KafEnd",0,1,"in the city of Amatsu";
+}
+
+//===================================================
+// Ayothaya
+//===================================================
+ayothaya,212,169,5	script	Kafra Employee::kaf_ayothaya	116,{
+	cutin "kafra_02",2;
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "Kafra's Employees are";
+	mes "always ready to serve you.";
+	mes "How can I help you today?";
+	callfunc "F_Kafra",5,3,1,50,700;
+	savepoint "ayothaya",149,69;
+	callfunc "F_KafEnd",0,1,"in the city of Ayotaya";
+}
+
+//===================================================
+// Einbech 
+//===================================================
+einbech,181,132,5	script	Kafra Employee#ein3::kaf_einbech	860,{
+	cutin "kafra_08",2;
+	mes "[Kafra Employee]";
+	mes "Welcome~!";
+	mes "The Kafra Services";
+	mes "are always on your side.";
+	mes "So how can I help you?";
+	callfunc "F_Kafra",5,4,1,40,850;
+	savepoint "einbech",182,124;
+	callfunc "F_KafEnd",0,1,"in the town of Einbech";
+}
+
+//===================================================
+// Einbroch
+//===================================================
+einbroch,242,205,5	script	Kafra Employee#ein2::kaf_einbroch	860,{
+	cutin "kafra_08",2;
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "Kafra's Employees are";
+	mes "always ready to serve you.";
+	mes "How can I help you today?";
+	callfunc "F_Kafra",5,4,1,50,800;
+	savepoint "einbroch",238,198;
+	callfunc "F_KafEnd",0,1,"in the city of Einbroch";
+}
+
+einbroch,59,203,6	script	Kafra Employee#ein1::kaf_einbroch2	861,{
+	cutin "kafra_09",2;
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "The Kafra services";
+	mes "are always on your side.";
+	mes "How may I assist you?";
+	callfunc "F_Kafra",5,4,1,50,800;
+	savepoint "einbroch",240,197;
+	callfunc "F_KafEnd",0,1,"in the city of Einbroch";
+}
+
+//===================================================
+// Gonryun
+//===================================================
+gonryun,159,122,4	script	Kafra Employee::kaf_gonryun	116,{
+	cutin "kafra_02",2;
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "Kafra's Employees are";
+	mes "always ready to serve you.";
+	mes "How can I help you today?";
+	callfunc "F_Kafra",5,3,1,50,700;
+	savepoint "gonryun",160,62;
+	callfunc "F_KafEnd",0,1,"in the city of Kunlun";
+}
+
+//===================================================
+// Lighthalzen
+//===================================================
+lighthalzen,164,100,4	script	Kafra Employee::kaf_lighthalzen	860,{
+	cutin "kafra_08",2;
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "The Kafra services";
+	mes "are always on your side.";
+	mes "How may I assist you?";
+	callfunc "F_Kafra",5,4,1,40,800;
+	savepoint "lighthalzen",158,94;
+	callfunc "F_KafEnd",0,1,"in the city of Lighthalzen";
+}
+
+lighthalzen,191,320,4	script	Kafra Employee::kaf_lighthalzen2	861,{
+	cutin "kafra_09",2;
+	mes "[Kafra Employee]";
+	mes "Welcome~!";
+	mes "The Kafra Services";
+	mes "are always on your side.";
+	mes "So how can I help you?";
+	callfunc "F_Kafra",5,4,1,40,800;
+	savepoint "lighthalzen",194,313;
+	callfunc "F_KafEnd",0,1,"in the city of Lighthalzen";
+}
+
+lhz_in02,237,284,4	script	Kafra Employee::kaf_lhz_in02	861,{
+	cutin "kafra_09",2;
+	mes "[Kafra Employee]";
+	mes "Welcome~!";
+	mes "The Kafra Services";
+	mes "are always on your side.";
+	mes "So how can I help you?";
+	callfunc "F_Kafra",5,4,1,40,800;
+	savepoint "lhz_in02",278,215;
+	callfunc "F_KafEnd",0,1,"in the city of Lighthalzen";
+}
+
+//===================================================
+// Louyang
+//===================================================
+louyang,210,104,5	script	Kafra Employee::kaf_louyang	117,{
+	cutin "kafra_01",2;
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "Kafra's Employees are";
+	mes "always ready to serve you.";
+	mes "How can I help you today?";
+	callfunc "F_Kafra",5,3,1,50,700;
+	savepoint "louyang",217,92;
+	callfunc "F_KafEnd",0,1,"in the city of Louyang";
+}
+
+//===================================================
+// Umbala
+//===================================================
+umbala,87,160,4	script	Kafra Employee::kaf_umbala	721,{
+	cutin "kafra_07",2;
+	callfunc "F_KafSet";
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "You know that our";
+	mes "service is always";
+	mes "on your side~";
+	callfunc "F_Kafra",5,0,1,80,0;
+	savepoint "umbala",126,131;
+	callfunc "F_KafEnd",0,1,"in the city of Umbala";
+}
+
+//===================================================
+// Niflheim 
+//===================================================
+niflheim,202,180,3	script	Kafra Employee::kaf_niflheim	791,{
+	callfunc "F_Kafra",1,2,1,150,0;
+	savepoint "niflheim",192,182;
+	callfunc "F_KafEnd",1,1,"in the city of Niflheim";
+}
+
+//===================================================
+// Dungeons and Fields
+//===================================================
+// - Byalan Island
+izlu2dun,106,58,8	script	Kafra Employee::kaf_izlu2dun	115,{
+	cutin "kafra_03",2;
+	if(BaseJob==Job_Novice && job_merchant_q2>0) callfunc "F_MercKafra";  //F_MercKafra found in merchant.txt
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "Kafra's Employees are";
+	mes "always ready to serve you.";
+	mes "How can I help you today?";
+	callfunc "F_Kafra",5,2,1,120,1200;
+	savepoint "izlu2dun",87,170;
+	callfunc "F_KafEnd",0,1,"at Byalan Island";
+}
+
+// - Culvert Sewers
+prt_fild05,290,224,3	script	Kafra Employee::prt_fild05	114,{
+	cutin "kafra_04",2;
+	mes "[Kafra Employee]";
+	mes "Welcome!";
+	mes "The Kafra Corporation";
+	mes "will always support the";
+	mes "adventurers of Rune-Midgard";
+	mes "with its excellent service. So";
+	mes "what can I do for you today?";
+	callfunc "F_Kafra",5,1,1,40,0;
+
+	M_Save:
+		savepoint "prt_fild05",274,243;
+		callfunc "F_KafEnd",0,1, "at the Prontera Culverts";
+}
+
+// - Coal Mine (Dead Pitt)
+mjolnir_02,83,362,4	script	Kafra Employee::kaf_mjolnir_02	116,{
+	cutin "kafra_02",2;
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "Kafra's Employees are";
+	mes "always ready to serve you.";
+	mes "How can I help you today?";
+	callfunc "F_Kafra",5,6,1,100,0;
+	savepoint "mjolnir_02",98,352;
+	callfunc "F_KafEnd",0,1,"at Mjolnir Dead Pit";
+}
+
+// - Morroc Ruins
+moc_ruins,59,157,5	script	Kafra Employee::moc_ruins	114,{
+	cutin "kafra_04",2;
+	mes "[Kafra Employee]";
+	mes "Welcome!";
+	mes "The Kafra Corporation";
+	mes "will always support the";
+	mes "adventurers of Rune-Midgard";
+	mes "with its excellent service. So";
+	mes "what can I do for you today?";
+	callfunc "F_Kafra",5,2,1,90,1200;
+	savepoint "moc_ruins",41,141;
+	callfunc "F_KafEnd",0,1," at the Pyramids";
+}
+
+// - Orc Dungeon
+gef_fild10,73,340,5	script	Kafra Employee::kaf_gef_fild10	116,{
+	cutin "kafra_02",2;
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "Kafra's Employees are";
+	mes "always ready to serve you.";
+	mes "How can I help you today?";
+	callfunc "F_Kafra",5,6,1,130,0;
+	savepoint "gef_fild10",54,326;
+	callfunc "F_KafEnd",0,1,"at the Orc Dungeon";
+}
+
+// - Treasure Island
+alb2trea,59,69,5	script	Kafra Employee::kaf_alb2trea	117,{
+	cutin "kafra_01",2;
+	mes "[Kafra Employee]";
+	mes "Welcome to the";
+	mes "Kafra Corporation.";
+	mes "The Kafra services";
+	mes "are always on your side.";
+	mes "How may I assist you?";
+	callfunc "F_Kafra",5,2,1,50,0;
+	savepoint "alb2trea",92,64;
+	callfunc "F_KafEnd",0,1,0,"at Sunken Ship";
+}

+ 1 - 1
sql-files/upgrade_svn16663.sql

@@ -1 +1 @@
-ALTER TABLE  `homunculus` ADD  `prev_class` MEDIUMINT( 9 ) NOT NULL AFTER  `class`
+ALTER TABLE  `homunculus` ADD  `prev_class` MEDIUMINT( 9 ) NOT NULL AFTER  `class`