Browse Source

Optimized pvp.txt a little bit more. Corrected some typos in item db. Items 1143 and 1719 need to be re-checked.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/athena@46 54d463be-8e91-2dee-dedb-b68131a5f0ec
kobra_k88 20 years ago
parent
commit
972b2ce51f
4 changed files with 142 additions and 448 deletions
  1. 1 0
      Changelog.txt
  2. 8 8
      db/item_db.txt
  3. 5 3
      npc/Changelog.txt
  4. 128 437
      npc/other/pvp.txt

+ 1 - 0
Changelog.txt

@@ -1,5 +1,6 @@
 Date	Added
 11/07
+	* Corrected some typos in item_db. Items 1143 and 1719 need to be re-checked.[kobra_k88]
 	* Fixed compiling error in Map Server in which @repairall was using old broken system [Shinigami]
 
 11/06

+ 8 - 8
db/item_db.txt

@@ -433,7 +433,7 @@
 
 1122,Ring_Pommel_Saber,Ring Pommel Saber,4,24000,,900,100,,1,2,414946,2,2,2,14,2,{},{}
 1123,Haedonggum,Haedonggum,4,50000,,900,120,,1,1,414946,2,2,3,27,2,{},{ bonus bInt,3; },,,,,,
-1124,Orcish_Sword,Orcish sword,4,20,,800,90,,1,0,8803555,2,2,3,5,2,{},{ bUnbreakable,100 },,,,,,,
+1124,Orcish_Sword,Orcish sword,4,20,,800,90,,1,0,8803555,2,2,3,5,2,{},{ bonus bUnbreakable,100; },,,,,,,
 1125,Ring_Pommel_Saber_,Ring Pommel Saber,4,24000,,900,100,,1,3,414946,2,2,2,14,2,{},{},,,,,,,
 1126,Saber,Saber,4,49000,,1000,115,,1,2,414946,2,2,3,27,2,{},{},,,,,,,
 1127,Saber_,Saber,4,49000,,1000,115,,1,3,414946,2,2,3,27,2,{},{},,,,,,,
@@ -449,10 +449,10 @@
 1137,Excalibur,Excalibur,4,20,,1200,150,,1,0,414946,2,2,4,40,2,{},{ bonus bInt,5; bonus bLuk,10; bonus bDex,-1; bonus bAtkEle,6; },,,
 1138,Mysteltainn_,Mysteltainn,4,20,,1000,170,,1,0,414946,2,2,4,40,2,{},{ bonus bAtkEle,7; bonus2 bAddEle,8,15; bonus2 bAddEff,Eff_Stone,100; bonus bDex,3; },
 1139,Talefing_,Talefing,4,20,,1000,200,,1,0,414946,2,2,4,40,2,{},{ bonus bAtkEle,7; bonus2 bSPDrainRate,50,-35; },,,,,,,,,
-1140,Byeollungum,Byeollungum,4,20,,900,150,,1,0,414946,2,2,4,40,2,{},{ bonus2 bSubRace,11,-10; bonus2 bAddRace,10,50; bAllStats,2; }
+1140,Byeollungum,Byeollungum,4,20,,900,150,,1,0,414946,2,2,4,40,2,{},{ bonus2 bSubRace,11,-10; bonus2 bAddRace,10,50; bonus bAllStats,2; }
 1141,Immaterial_Sword,Immaterial Sword,4,20,,900,140,,1,0,414946,2,2,4,40,2,{},{ bonus bAtkEle,8; bonus2 bSPDrainRate,100,30; bonus2 bSPDrainRate,10000,-1; },,,,,,,,,
 1142,Jewel_Sword,Crystal Sword,4,20,,2200,104,,1,0,414946,2,2,3,68,2,{},{},,,,,,,,,,
-1143,Gaia_Sword,Gaia Sword,4,20,,2500,115,,1,0,414946,2,2,3,74,2,{},{ bonus3 bAddMonsterDropItem,1002,50; },,,,,,,,,,
+1143,Gaia_Sword,Gaia Sword,4,20,,2500,115,,1,0,414946,2,2,3,74,2,{},{ bonus3 bAddMonsterDropItem,1002,50,25000; },,,,,,,,,,
 1144,Sashimi,Sashimi,4,20,,1400,75,,1,0,414946,2,2,3,48,2,{},{ bonus bAtkEle,4; bonus3 bAddMonsterDropItem,544,5,4000; },,,,,,
 1145,Holy_Avenger,Holy Avenger,4,20,,1350,125,,1,0,16384,2,2,3,75,2,{},{ bonus bAtkEle,6; },,,,,,,,
 
@@ -476,7 +476,7 @@
 1165,Masamune,Masamune,4,20,,1000,200,,1,0,16514,2,34,4,48,3,{},{ bonus bFlee,30; bonus bStr,-5; bonus bAspd,2; bonus bDefRate,-50; bonus bDef2Rate,-50; },
 1166,Dragon_Slayer,Dragon Slayer,4,20,,1300,150,,1,0,16514,2,34,4,48,3,{},{ bonus bIgnoreDefRace,9; bonus2 bAddRace,9,15; },,,
 1167,Schweizersabel,Schweizersabel,4,20,,1600,160,,1,0,16514,2,34,4,48,3,{},{ bonus bAtkEle,4; skill 20,3; bonus bDef,1; bonus3 bAutoSpell,20,3,25; }
-1168,Zweihander,Zweihander,4,20,,2200,200,,1,0,16514,2,34,4,48,3,{},{ bUnbreakable,100; },,,,,,
+1168,Zweihander,Zweihander,4,20,,2200,200,,1,0,16514,2,34,4,48,3,{},{bonus bUnbreakable,100; },,,,,,
 1169,Executioner_,Executioner,4,20,,2200,155,,1,0,16514,2,34,4,48,3,{},{ bonus bIgnoreDefRace,7; bonus2 bAddRace,7,20; bonus2 bSubRace,7,-10; bonus bAtkEle,7; }
 1170,Katzbalger,Katzbalger,4,20,,2000,175,,1,0,16514,2,34,4,48,3,{},{ bonus bVit,10; bonus bDef,10; },,,,
 
@@ -510,8 +510,8 @@
 
 1222,Damascus,Damascus,4,49000,,800,118,,1,1,2055918,2,2,3,24,1,{},{},,,,,,
 1223,Fortune_Sword,Fortune Sword,4,20,,500,90,,1,0,2055918,2,2,4,24,1,{},{ bonus bLuk,5; bonus bFlee2,20; },,,,
-1224,Sword_Breaker,Swordbreaker,4,20,,1000,70,,1,0,2055918,2,2,4,36,1,{},{ bonus2 bBreakWeaponRate,100; },,,,,,
-1225,Mail_Breaker,Mailbreaker,4,20,,1000,70,,1,0,2055918,2,2,4,36,1,{},{ bonus2 bBreakArmorRate,100; },,,,,,
+1224,Sword_Breaker,Swordbreaker,4,20,,1000,70,,1,0,2055918,2,2,4,36,1,{},{ bonus bBreakWeaponRate,100; },,,,,,
+1225,Mail_Breaker,Mailbreaker,4,20,,1000,70,,1,0,2055918,2,2,4,36,1,{},{ bonus bBreakArmorRate,100; },,,,,,
 1226,Damascus_,Damascus,4,49000,,800,118,,1,2,2055918,2,2,3,24,1,{},{},,,,,,
 
 1227,Weeder_Knife,Weeder Knife,4,20,,400,80,,1,0,2055918,2,2,4,36,1,{},{ bonus bIgnoreDefRace,3; bonus2 bAddRace,3,15; bonus2 bSubRace,3,15; },
@@ -727,7 +727,7 @@
 1716,Gakkung_,Gakkung,4,42000,,1100,100,,5,2,1706056,2,34,3,33,11,{},{},,,,,,,,,,,,,,
 
 1718,Hunter_Bow,Hunter Bow,4,64000,,1500,125,,5,0,2048,2,34,3,33,11,{},{},,,,,,,,,,,,,,
-1719,Bow_of_Roguemaster,Roguemaster's Bow,4,20,,500,75,,11,0,64,2,34,4,48,11,{},{ bonus3 bAddStealRate,100; },,,,,,,,,,,,,,
+1719,Bow_of_Roguemaster,Roguemaster's Bow,4,20,,500,75,,11,0,64,2,34,4,48,11,{},{ bonus2 bAddStealRate,100,0; },,,,,,,,,,,,,,
 1720,Bow_of_Rudra,Rudra's Bow,4,20,,1200,150,,5,0,1705992,2,34,4,48,11,{},{ bonus bAtkEle,6; bonus bInt,5; skill 35,1; skill 28,1; bonus2 bResEff,Eff_Poison,5000; bonus2 bResEff,Eff_Curse,5000; bonus2 bResEff,Eff_Silence,5000; bonus2 bResEff,Eff_Confusion,5000; bonus2 bResEff,Eff_Blind,5000; }
 1721,Repeating_Crossbow,Repeating Crossbow,4,89000,,2000,95,,9,1,133184,2,34,3,65,11,{},{},,,,,,,,,,,,,,
 1722,Ballista,Ballista,4,20,,3500,145,,5,0,1574912,2,34,4,77,11,{},{},,,,,,,,,,,,,,
@@ -795,7 +795,7 @@
 1911,Guh_Moon_Goh,Guhmoongoh,4,54000,,1300,126,,1,1,524288,2,2,3,27,13,{},{},,,,,,,,,,,
 1912,Guh_Moon_Goh_,Guhmoongoh,4,54000,,1300,126,,1,2,524288,2,2,3,27,13,{},{},,,,,,,,,,,
 
-1913,Electric_Guitar,Electric Guitar,4,20,,1800,110,,1,0,524288,2,2,4,70,13,{},{ bAutoSpell,84,1,25; bonus bAtkEle,4; bonus bInt,2; bonus bAgi,1 }
+1913,Electric_Guitar,Electric Guitar,4,20,,1800,110,,1,0,524288,2,2,4,70,13,{},{ bonus3 bAutoSpell,84,1,25; bonus bAtkEle,4; bonus bInt,2; bonus bAgi,1; }
 
 1950,Rope,Rope,4,2500,,400,45,,2,3,1048576,2,2,1,3,14,{},{},,,
 1951,Rope_,Rope,4,2500,,400,45,,2,4,1048576,2,2,1,3,14,{},{},,,

+ 5 - 3
npc/Changelog.txt

@@ -31,9 +31,11 @@ Other Ppl
 Date		Added
 ======
 11/07
-	* lutie.txt - Edited text, updated/corrected triggers for the Jack Frost quest.
-	  comodo.txt, morocc.txt, doomed_swords.txt - Implemented all of the triggers for
-	  the Doomed Swords quest based on mRO's version.  Now the quest is much longer.[kobra_k88]
+	* - lutie.txt: Edited text, updated/corrected triggers for the Jack Frost quest.
+	  - comodo.txt, morocc.txt, doomed_swords.txt: Implemented all of the triggers for
+	    the Doomed Swords quest based on mRO's version.  Now the quest is much longer.
+	  - pvp.txt: Added PvP Narrator function. Using args for Fight Square Helpers.
+	  - Corrected some typos in item_db. Items 1143 and 1719 need to be re-checked.[kobra_k88]
 11/05
 	* Fixed and redo optional Umbalian quests:
 	- Wise Man Fabius' Umbalian Language Quest (you can learn Umbalian language in

+ 128 - 437
npc/other/pvp.txt

@@ -3,235 +3,58 @@
 //===== By: ================================================== 
 //= kobra_k88
 //===== Current Version: ===================================== 
-//= 1.2
+//= 1.2a
 //===== Compatible With: ===================================== 
 //= eAthena 0.5.2 +
 //===== Description: ========================================= 
 //=
 //===== Additional Comments: ================================= 
-//= v1.1 Fixed arena names for Nightmare mode.  Added room limit check.
-//= v1.2 Fixed the bug that you aways savepoint in geffen.
+//= v1.1 Fixed arena names for Nightmare mode.  Added room limit
+//= check.[kobra_k88]
+//= v1.2 Fixed the bug that you aways savepoint in geffen.[shadowlady]
+//= v1.2a Added PvP Narrator function. Using args for Fight
+//= Square Helpers. [kobra_k88]
 //============================================================ 
 
 
-//***********************************************************************************************************************************************************//
-//					PvP Narrator and Gate Keeper Scripts					//
-//***********************************************************************************************************************************************************//
+//==========================================================================
+//			PvP Narrators
+//==========================================================================
 
-// Alberta =========================================================>\\
-// PvP Narrator ------------------------------------------------------
-alberta_in.gat, 22, 146,4	script	PvP Narrator#1::PvPNarr	84,
-{
-	mes "[PvP Narrator]";
-	mes "Hello and welcome! I am in charge of explaining the PvP mode to all of those who inquire.  I am the PvP Narrator!";
-	M_Menu:
-	next;
-	menu "What is PvP?",M_0, "What are the PvP modes?",M_1, "What are the rules for PvP?",M_2, "Save position.",M_3;
-
-	M_0:
-		mes "[PvP Narrator]";
-		mes "PvP is short for 'Player versus Player'! It is a unique play mode that allows players to duel other players!";
-		next;
-		mes "[PvP Narrator]";
-		mes "If you're interested just speak with the ^5533FFGate Keeper'^000000.  He will let you into the PvP square.";
-		next;
-		mes "[PvP Narrator]";
-		mes "That IS, IF you have at least a base level of 31 and you have 500 zeny to pay for the enterance fee.";
-		mes "Those are the requirements to participate in PvP.";
-		goto M_Menu;
-	M_1:
-		mes "[PvP Narrator]";
-		mes "There are 2 PvP modes to choose from.";
-		mes "One is called ^5533FF'Yoyo'^000000 Mode and the other is called ^5533FF'Nightmare'^000000 Mode.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Yoyo mode essentially lets you play risk free.  You can experience the thrill of PvP without any restrictions or penalties.";
-		mes "It is recomended that you practice your skills in this mode before you move on.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Nightmare Mode is very dangerous! Please use caution when trying this mode of play.";
-		mes "You will lose some of your real EXP if you are defeated.  There is also the small chance that you will drop some items and equipment.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Of course if you win, the rewards can be great!! Even so you should really think twice before you attempt Nightmare Mode.";
-		mes "Anyways, good luck.";
-		goto M_Menu;
-	M_2:
-		mes "[PvP Narrator]";
-		mes "Before you enter any actual PvP areana, you must first choose your level of ability based on your base level.";
-		mes "You will do this in the pre-fight room.  There will be a row of narrators, each one representing a set of player levels.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Speak to the narrator that represents your base level.  You will then be asked to choose from five different fight maps.";
-		mes "You will be able to see how many people are currently participating in any given map.";
-		next;
-		mes "[PvP Narrator]";
-		mes "This will be represented by the 'Attendee/Total' figure in the corner of the screen.  There is a limit to how many can play on a map.";
-		mes "There is a hidden EXP value in PvP mode.  This EXP will only apply inside of the PvP zone and not outside.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Every one will recieve a base EXP of 5 points when they first start.  If you win a match your EXP with increase by 1 point.";
-		mes "If you loose your EXP will drop by 5 points, so be carefull!";
-		next;
-		mes "[PvP Narrator]";
-		mes "If you are defeated and your EXP is equal to or less than 0, you will be removed from the PvP arena.";
-		mes "If your EXP is more than 0 than you may continue fighting and even get help from healers.";
-		next;
-		mes "[PvP Narrator]";
-		mes "The fighting commands inside of PvP are the same as outside.  Just remember that you won't be able to save inside a PvP arena.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Remember these rules well as they can help to ensure your victory.";
-		goto M_Menu;
-	M_3:
-		savepoint "alberta_in.gat",24,143;
-		mes "[PvP Narrator]";
-		mes "Your position has been saved.";
-		close;
+// Alberta -----------------------------------------
+alberta_in.gat, 22, 146,4	script	PvP Narrator#1	84,{
+	callfunc "F_PvPNarr", "alberta_in.gat", 24, 143;
+	end;
 }
-
-payon_in01.gat,173,109,3	script	PvP Narrator#1::PvPNarr	84,
-{
-	mes "[PvP Narrator]";
-	mes "Hello and welcome! I am in charge of explaining the PvP mode to all of those who inquire.  I am the PvP Narrator!";
-	M_Menu:
-	next;
-	menu "What is PvP?",M_0, "What are the PvP modes?",M_1, "What are the rules for PvP?",M_2, "Save position.",M_3;
-
-	M_0:
-		mes "[PvP Narrator]";
-		mes "PvP is short for 'Player versus Player'! It is a unique play mode that allows players to duel other players!";
-		next;
-		mes "[PvP Narrator]";
-		mes "If you're interested just speak with the ^5533FFGate Keeper'^000000.  He will let you into the PvP square.";
-		next;
-		mes "[PvP Narrator]";
-		mes "That IS, IF you have at least a base level of 31 and you have 500 zeny to pay for the enterance fee.";
-		mes "Those are the requirements to participate in PvP.";
-		goto M_Menu;
-	M_1:
-		mes "[PvP Narrator]";
-		mes "There are 2 PvP modes to choose from.";
-		mes "One is called ^5533FF'Yoyo'^000000 Mode and the other is called ^5533FF'Nightmare'^000000 Mode.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Yoyo mode essentially lets you play risk free.  You can experience the thrill of PvP without any restrictions or penalties.";
-		mes "It is recomended that you practice your skills in this mode before you move on.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Nightmare Mode is very dangerous! Please use caution when trying this mode of play.";
-		mes "You will lose some of your real EXP if you are defeated.  There is also the small chance that you will drop some items and equipment.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Of course if you win, the rewards can be great!! Even so you should really think twice before you attempt Nightmare Mode.";
-		mes "Anyways, good luck.";
-		goto M_Menu;
-	M_2:
-		mes "[PvP Narrator]";
-		mes "Before you enter any actual PvP areana, you must first choose your level of ability based on your base level.";
-		mes "You will do this in the pre-fight room.  There will be a row of narrators, each one representing a set of player levels.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Speak to the narrator that represents your base level.  You will then be asked to choose from five different fight maps.";
-		mes "You will be able to see how many people are currently participating in any given map.";
-		next;
-		mes "[PvP Narrator]";
-		mes "This will be represented by the 'Attendee/Total' figure in the corner of the screen.  There is a limit to how many can play on a map.";
-		mes "There is a hidden EXP value in PvP mode.  This EXP will only apply inside of the PvP zone and not outside.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Every one will recieve a base EXP of 5 points when they first start.  If you win a match your EXP with increase by 1 point.";
-		mes "If you loose your EXP will drop by 5 points, so be carefull!";
-		next;
-		mes "[PvP Narrator]";
-		mes "If you are defeated and your EXP is equal to or less than 0, you will be removed from the PvP arena.";
-		mes "If your EXP is more than 0 than you may continue fighting and even get help from healers.";
-		next;
-		mes "[PvP Narrator]";
-		mes "The fighting commands inside of PvP are the same as outside.  Just remember that you won't be able to save inside a PvP arena.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Remember these rules well as they can help to ensure your victory.";
-		goto M_Menu;
-	M_3:
-		savepoint "payon_in01",169,108;
-		mes "[PvP Narrator]";
-		mes "Your position has been saved.";
-		close;
+// Payon -------------------------------------
+payon_in01.gat,173,109,3	script	PvP Narrator#2	84,{
+	callfunc "F_PvPNarr", "payon_in01.gat", 169, 108;
+	end;
 }
-
-prt_in.gat,56,140,4	script	PvP Narrator#1::PvPNarr	84,
-{
-	mes "[PvP Narrator]";
-	mes "Hello and welcome! I am in charge of explaining the PvP mode to all of those who inquire.  I am the PvP Narrator!";
-	M_Menu:
-	next;
-	menu "What is PvP?",M_0, "What are the PvP modes?",M_1, "What are the rules for PvP?",M_2, "Save position.",M_3;
-
-	M_0:
-		mes "[PvP Narrator]";
-		mes "PvP is short for 'Player versus Player'! It is a unique play mode that allows players to duel other players!";
-		next;
-		mes "[PvP Narrator]";
-		mes "If you're interested just speak with the ^5533FFGate Keeper'^000000.  He will let you into the PvP square.";
-		next;
-		mes "[PvP Narrator]";
-		mes "That IS, IF you have at least a base level of 31 and you have 500 zeny to pay for the enterance fee.";
-		mes "Those are the requirements to participate in PvP.";
-		goto M_Menu;
-	M_1:
-		mes "[PvP Narrator]";
-		mes "There are 2 PvP modes to choose from.";
-		mes "One is called ^5533FF'Yoyo'^000000 Mode and the other is called ^5533FF'Nightmare'^000000 Mode.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Yoyo mode essentially lets you play risk free.  You can experience the thrill of PvP without any restrictions or penalties.";
-		mes "It is recomended that you practice your skills in this mode before you move on.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Nightmare Mode is very dangerous! Please use caution when trying this mode of play.";
-		mes "You will lose some of your real EXP if you are defeated.  There is also the small chance that you will drop some items and equipment.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Of course if you win, the rewards can be great!! Even so you should really think twice before you attempt Nightmare Mode.";
-		mes "Anyways, good luck.";
-		goto M_Menu;
-	M_2:
-		mes "[PvP Narrator]";
-		mes "Before you enter any actual PvP areana, you must first choose your level of ability based on your base level.";
-		mes "You will do this in the pre-fight room.  There will be a row of narrators, each one representing a set of player levels.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Speak to the narrator that represents your base level.  You will then be asked to choose from five different fight maps.";
-		mes "You will be able to see how many people are currently participating in any given map.";
-		next;
-		mes "[PvP Narrator]";
-		mes "This will be represented by the 'Attendee/Total' figure in the corner of the screen.  There is a limit to how many can play on a map.";
-		mes "There is a hidden EXP value in PvP mode.  This EXP will only apply inside of the PvP zone and not outside.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Every one will recieve a base EXP of 5 points when they first start.  If you win a match your EXP with increase by 1 point.";
-		mes "If you loose your EXP will drop by 5 points, so be carefull!";
-		next;
-		mes "[PvP Narrator]";
-		mes "If you are defeated and your EXP is equal to or less than 0, you will be removed from the PvP arena.";
-		mes "If your EXP is more than 0 than you may continue fighting and even get help from healers.";
-		next;
-		mes "[PvP Narrator]";
-		mes "The fighting commands inside of PvP are the same as outside.  Just remember that you won't be able to save inside a PvP arena.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Remember these rules well as they can help to ensure your victory.";
-		goto M_Menu;
-	M_3:
-		savepoint "prt_in",54,137;
-		mes "[PvP Narrator]";
-		mes "Your position has been saved.";
-		close;
+// Prontera -------------------------------------
+prt_in.gat,56,140,4	script	PvP Narrator#3	84,{
+	callfunc "F_PvPNarr", "prt_in.gat", 54, 137;
+	end;
+}
+// Morocc --------------------------------------
+morocc_in.gat,144,138,4	script	PvP Narrator#4	84,{
+	callfunc "F_PvPNarr", "morocc_in.gat", 141, 140;
+	end;
+}
+// Geffen --------------------------------------
+geffen_in.gat, 67,63,4	script	PvP Narrator#5	84,{
+	callfunc "F_PvPNarr", "geffen_in.gat", 64, 60;
+	end;
 }
 
-morocc_in.gat,144,138,4	script	PvP Narrator#1::PvPNarr	84,
-{
+//******************************************************//
+//	Function: PvP Narrator
+//******************************************************//
+// arg(0): mapname
+// arg(1): savepoint x cord.
+// arg(2): savepoint y cord.
+//=============================
+function	script	F_PvPNarr	{
 	mes "[PvP Narrator]";
 	mes "Hello and welcome! I am in charge of explaining the PvP mode to all of those who inquire.  I am the PvP Narrator!";
 	M_Menu:
@@ -294,83 +117,18 @@ morocc_in.gat,144,138,4	script	PvP Narrator#1::PvPNarr	84,
 		mes "Remember these rules well as they can help to ensure your victory.";
 		goto M_Menu;
 	M_3:
-		savepoint "morocc_in",141,140;
+		savepoint getarg(0), getarg(1), getarg(2);
 		mes "[PvP Narrator]";
 		mes "Your position has been saved.";
 		close;
 }
 
-geffen_in.gat, 67,63,4	script	PvP Narrator#1::PvPNarr	84,
-{
-	mes "[PvP Narrator]";
-	mes "Hello and welcome! I am in charge of explaining the PvP mode to all of those who inquire.  I am the PvP Narrator!";
-	M_Menu:
-	next;
-	menu "What is PvP?",M_0, "What are the PvP modes?",M_1, "What are the rules for PvP?",M_2, "Save position.",M_3;
 
-	M_0:
-		mes "[PvP Narrator]";
-		mes "PvP is short for 'Player versus Player'! It is a unique play mode that allows players to duel other players!";
-		next;
-		mes "[PvP Narrator]";
-		mes "If you're interested just speak with the ^5533FFGate Keeper'^000000.  He will let you into the PvP square.";
-		next;
-		mes "[PvP Narrator]";
-		mes "That IS, IF you have at least a base level of 31 and you have 500 zeny to pay for the enterance fee.";
-		mes "Those are the requirements to participate in PvP.";
-		goto M_Menu;
-	M_1:
-		mes "[PvP Narrator]";
-		mes "There are 2 PvP modes to choose from.";
-		mes "One is called ^5533FF'Yoyo'^000000 Mode and the other is called ^5533FF'Nightmare'^000000 Mode.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Yoyo mode essentially lets you play risk free.  You can experience the thrill of PvP without any restrictions or penalties.";
-		mes "It is recomended that you practice your skills in this mode before you move on.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Nightmare Mode is very dangerous! Please use caution when trying this mode of play.";
-		mes "You will lose some of your real EXP if you are defeated.  There is also the small chance that you will drop some items and equipment.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Of course if you win, the rewards can be great!! Even so you should really think twice before you attempt Nightmare Mode.";
-		mes "Anyways, good luck.";
-		goto M_Menu;
-	M_2:
-		mes "[PvP Narrator]";
-		mes "Before you enter any actual PvP areana, you must first choose your level of ability based on your base level.";
-		mes "You will do this in the pre-fight room.  There will be a row of narrators, each one representing a set of player levels.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Speak to the narrator that represents your base level.  You will then be asked to choose from five different fight maps.";
-		mes "You will be able to see how many people are currently participating in any given map.";
-		next;
-		mes "[PvP Narrator]";
-		mes "This will be represented by the 'Attendee/Total' figure in the corner of the screen.  There is a limit to how many can play on a map.";
-		mes "There is a hidden EXP value in PvP mode.  This EXP will only apply inside of the PvP zone and not outside.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Every one will recieve a base EXP of 5 points when they first start.  If you win a match your EXP with increase by 1 point.";
-		mes "If you loose your EXP will drop by 5 points, so be carefull!";
-		next;
-		mes "[PvP Narrator]";
-		mes "If you are defeated and your EXP is equal to or less than 0, you will be removed from the PvP arena.";
-		mes "If your EXP is more than 0 than you may continue fighting and even get help from healers.";
-		next;
-		mes "[PvP Narrator]";
-		mes "The fighting commands inside of PvP are the same as outside.  Just remember that you won't be able to save inside a PvP arena.";
-		next;
-		mes "[PvP Narrator]";
-		mes "Remember these rules well as they can help to ensure your victory.";
-		goto M_Menu;
-	M_3:
-		savepoint "geffen_in",64,60;
-		mes "[PvP Narrator]";
-		mes "Your position has been saved.";
-		close;
-}
+//==========================================================================
+//			Gate Keepers
+//==========================================================================
 
-// Gate Keeper ---------------------------------------------------------------
+// Alberta -----------------------------------
 alberta_in.gat, 26,146,4	script	Gate Keeper#1::GateKeep	83,
 {
 	mes "[Gate Keeper]";
@@ -453,264 +211,197 @@ sF_Move:
 			close;
 }
 
-// Geffen ===================================================>\\
-//geffen_in.gat, 67,63,4	duplicate(PvPNarr)	PvP Narrator#2	84
+// Geffen --------------------------------------------
 geffen_in.gat, 63,63,4	duplicate(GateKeep)	Gate Keeper#2	83
-
-// Morroc ===================================================>\\
-//morocc_in.gat,144,138,4	duplicate(PvPNarr)	PvP Narrator#3	84
+// Morroc----------------------------------------------
 morocc_in.gat, 144,142,4	duplicate(GateKeep)	Gate Keeper#3	83
+// Payon ----------------------------------------------
+payon_in01.gat,175,106,3	duplicate(GateKeep)	Gate Keeper#4	83
+// Prontera -------------------------------------------
+prt_in.gat,52,140,4	duplicate(GateKeep)	Gate Keeper#5	83
 
-// Payon ===================================================>\\
-//payon_in01.gat,173,109,3	duplicate(PvPNarr)	PvP Narrator#5	84
-payon_in01.gat,175,106,3	duplicate(GateKeep)	Gate Keeper#5	83
-
-// Prontera =================================================>\\
-//prt_in.gat,56,140,4	duplicate(PvPNarr)	PvP Narrator#6	84
-prt_in.gat,52,140,4	duplicate(GateKeep)	Gate Keeper#6	83
 
 
+//==========================================================================//
+// 		PvP Yoyo Mode Fight Square Helpers
+//==========================================================================//
 
-//***********************************************************************************************************************************************//
-// 				PvP Yoyo Mode Fight Square  Helpers					//
-//***********************************************************************************************************************************************//
-
-// LV31 ~ 40 ------------------------------------------------------------------------------
-pvp_y_room.gat,30,85,4	script	Fight Square Helper::YHelper1	105,
-{
-	set @map$, "y_1";
-	set @lvl2, 40;
-	callfunc "F_PvPRoom";
+// LV31 ~ 40 ---------------------------------
+pvp_y_room.gat,30,85,4	script	Fight Square Helper::YHelper1	105,{
+	callfunc "F_PvPRoom", "y_1", 31, 40;
 OnInit:
 	waitingroom "LV31 ~ LV40",0;
 	end;
 }
 
-// LV41 ~ 50 ------------------------------------------------------------------------------
-pvp_y_room.gat,38,85,4	script	Fight Square Helper::YHelper2	105,
-{
-	set @map$, "y_2";
-	set @lvl1, 41;
-	set @lvl2, 50;
-	callfunc "F_PvPRoom";
+// LV41 ~ 50 --------------------------------
+pvp_y_room.gat,38,85,4	script	Fight Square Helper::YHelper2	105,{
+	callfunc "F_PvPRoom", "y_2", 41, 50;
 OnInit:
 	waitingroom "LV41 ~ LV50",0;
 	end;
 }
 
-// LV51 ~ 60 ------------------------------------------------------------------------------
-pvp_y_room.gat,46,85,4	script	Fight Square Helper::YHelper3	105,
-{
-	set @map$, "y_3";
-	set @lvl1, 51;
-	set @lvl2, 60;
-	callfunc "F_PvPRoom";
+// LV51 ~ 60 ---------------------------------
+pvp_y_room.gat,46,85,4	script	Fight Square Helper::YHelper3	105,{
+	callfunc "F_PvPRoom", "y_3", 51, 60;
 OnInit:
 	waitingroom "LV51 ~ LV60", 0;
 	end;
 }
 
-// LV61 ~ 70 ------------------------------------------------------------------------------
-pvp_y_room.gat,54,85,4	script	Fight Square Helper::YHelper4	105,
-{
-	set @map$, "y_4";
-	set @lvl1, 61;
-	set @lvl2, 70;
-	callfunc "F_PvPRoom";
+// LV61 ~ 70 ------------------------------------
+pvp_y_room.gat,54,85,4	script	Fight Square Helper::YHelper4	105,{
+	callfunc "F_PvPRoom", "y_4", 61, 70;
 OnInit:
 	waitingroom "LV61 ~ LV70", 0;
 	end;
 }
 
-// LV71 ~ 80 ------------------------------------------------------------------------------
-pvp_y_room.gat,62,85,4	script	Fight Square Helper::YHelper5	105,
-{
-	set @map$, "y_5";
-	set @lvl1, 71;
-	set @lvl2, 80;
-	callfunc "F_PvPRoom";
+// LV71 ~ 80 ------------------------------------
+pvp_y_room.gat,62,85,4	script	Fight Square Helper::YHelper5	105,{
+	callfunc "F_PvPRoom", "y_5", 71, 80;
 OnInit:
 	waitingroom "LV71 ~ LV80", 0;
 	end;
 }
 
-// LV81 ~ 90 ------------------------------------------------------------------------------
-pvp_y_room.gat,70,85,4	script	Fight Square Helper::YHelper6	105,
-{
-	set @map$, "y_6";
-	set @lvl1, 81;
-	set @lvl2, 90;
-	callfunc "F_PvPRoom";
+// LV81 ~ 90 --------------------------------------
+pvp_y_room.gat,70,85,4	script	Fight Square Helper::YHelper6	105,{
+	callfunc "F_PvPRoom", "y_6", 81, 90;
 OnInit:
 	waitingroom "LV81 ~ LV90", 0;
 	end;
 }
 
-// LV91 ~  ------------------------------------------------------------------------------
-pvp_y_room.gat,78,85,4	script	Fight Square Helper::YHelper7	105,
-{
-	set @map$, "y_7";
-	set @lvl1, 91;
-	callfunc "F_PvPRoom";
+// LV91 ~  --------------------------------------------
+pvp_y_room.gat,78,85,4	script	Fight Square Helper::YHelper7	105,{
+	callfunc "F_PvPRoom", "y_7", 91, 255;
 OnInit:
 	waitingroom "LV91 ~ ", 0;
 	end;
 }
 
-// No Limit  ------------------------------------------------------------------------------
-pvp_y_room.gat,86,85,4	script	Fight Square Helper::YHelper8	105,
-{
-	set @map$, "y_8";
-	set @lvl1, 0;
-	set @lvl2, 200;
-	callfunc "F_PvPRoom";
+// No Limit  -----------------------------------------
+pvp_y_room.gat,86,85,4	script	Fight Square Helper::YHelper8	105,{
+	callfunc "F_PvPRoom", "y_8", 0, 255;
 OnInit:
 	waitingroom "No Limit", 0;
 	end;
 }
 
 
-
-//***********************************************************************************************************************************************//
-// 				PvP Nightmare Mode Fight Square Helpers				//
-//***********************************************************************************************************************************************//
-// LV31 ~ 40 ------------------------------------------------------------------------------
-pvp_n_room.gat,30,85,4	script	Fight Square Helper#N1	105,
-{
-	set @map$, "n_1";
-	set @lvl2, 40;
-	callfunc "F_PvPRoom";
+//==========================================================================//
+// 		PvP Nightmare Mode Fight Square Helpers
+//==========================================================================//
+// LV31 ~ 40 -------------------------------------
+pvp_n_room.gat,30,85,4	script	Fight Square Helper#N1	105,{
+	callfunc "F_PvPRoom", "n_1", 31, 40;
 OnInit:
 	waitingroom "LV31 ~ LV40",0;
 	end;
 }
 
-// LV41 ~ 50 ------------------------------------------------------------------------------
-pvp_n_room.gat,38,85,4	script	Fight Square Helper#N2	105,
-{
-	set @map$, "n_2";
-	set @lvl1, 41;
-	set @lvl2, 50;
-	callfunc "F_PvPRoom";
+// LV41 ~ 50 --------------------------------------
+pvp_n_room.gat,38,85,4	script	Fight Square Helper#N2	105,{
+	callfunc "F_PvPRoom", "n_2", 41, 50;
 OnInit:
 	waitingroom "LV41 ~ LV50",0;
 	end;
 }
 
-// LV51 ~ 60 ------------------------------------------------------------------------------
-pvp_n_room.gat,46,85,4	script	Fight Square Helper#N3	105,
-{
-	set @map$, "n_3";
-	set @lvl1, 51;
-	set @lvl2, 60;
-	callfunc "F_PvPRoom";
+// LV51 ~ 60 -------------------------------------
+pvp_n_room.gat,46,85,4	script	Fight Square Helper#N3	105,{
+	callfunc "F_PvPRoom", "n_3", 51, 60;
 OnInit:
 	waitingroom "LV51 ~ LV60", 0;
 	end;
 }
 
-// LV61 ~ 70 ------------------------------------------------------------------------------
-pvp_n_room.gat,54,85,4	script	Fight Square Helper#N4	105,
-{
-	set @map$, "n_4";
-	set @lvl1, 61;
-	set @lvl2, 70;
-	callfunc "F_PvPRoom";
+// LV61 ~ 70 ------------------------------------
+pvp_n_room.gat,54,85,4	script	Fight Square Helper#N4	105,{
+	callfunc "F_PvPRoom", "n_4", 61, 70;
 OnInit:
 	waitingroom "LV61 ~ LV70", 0;
 	end;
 }
 
-// LV71 ~ 80 ------------------------------------------------------------------------------
-pvp_n_room.gat,62,85,4	script	Fight Square Helper#N5	105,
-{
-	set @map$, "n_5";
-	set @lvl1, 71;
-	set @lvl2, 80;
-	callfunc "F_PvPRoom";
+// LV71 ~ 80 -----------------------------------
+pvp_n_room.gat,62,85,4	script	Fight Square Helper#N5	105,{
+	callfunc "F_PvPRoom", "n_5", 71, 80;
 OnInit:
 	waitingroom "LV71 ~ LV80", 0;
 	end;
 }
 
-// LV81 ~ 90 ------------------------------------------------------------------------------
-pvp_n_room.gat,70,85,4	script	Fight Square Helper#N6	105,
-{
-	set @map$, "n_6";
-	set @lvl1, 81;
-	set @lvl2, 90;
-	callfunc "F_PvPRoom";
+// LV81 ~ 90 ------------------------------------
+pvp_n_room.gat,70,85,4	script	Fight Square Helper#N6	105,{
+	callfunc "F_PvPRoom", "n_6", 81, 90;
 OnInit:
 	waitingroom "LV81 ~ LV90", 0;
 	end;
 }
 
-// LV91 ~  ------------------------------------------------------------------------------
-pvp_n_room.gat,78,85,4	script	Fight Square Helper#N7	105,
-{
-	set @map$, "n_7";
-	set @lvl1, 91;
-	set @lvl2, 255;
-	callfunc "F_PvPRoom";
+// LV91 ~  ---------------------------------------
+pvp_n_room.gat,78,85,4	script	Fight Square Helper#N7	105,{
+	callfunc "F_PvPRoom", "n_7", 91, 255;
 OnInit:
 	waitingroom "LV91 ~ ", 0;
 	end;
 }
 
-// No Limit  ------------------------------------------------------------------------------
-pvp_n_room.gat,86,85,4	script	Fight Square Helper#N8	105,
-{
-	set @map$, "n_8";
-	set @lvl1, 0;
-	set @lvl2, 255;
-	callfunc "F_PvPRoom";
+// No Limit  ----------------------------------
+pvp_n_room.gat,86,85,4	script	Fight Square Helper#N8	105,{
+	callfunc "F_PvPRoom", "n_8", 0, 255;
 OnInit:
 	waitingroom "No Limit", 0;
 	end;
 }
 
 
-
-//***********************************************************************************************************************************************************//
-//					Function: PvP Fight Square Helper					//
-//***********************************************************************************************************************************************************//
+//***************************************************************//
+//	Function: PvP Fight Square Helper
+//***************************************************************//
+// arg(0): pvp room name
+// arg(1): minimum base lvl to enter arena
+// arg(2): maximum base lvl allowed to enter arena
+//===============================================
 function	script	F_PvPRoom	{
 
 	mes "[Fight Square Helper]";
-	if(BaseLevel < @lvl1) goto L_LowLvl;
-	if(BaseLevel > @lvl2) goto L_HiLvl;
+	if(BaseLevel < getarg(1)) goto L_LowLvl;
+	if(BaseLevel > getarg(2)) goto L_HiLvl;
 	mes "Please choose an arena to fight in...";
 	M_Menu:
 	next;
-	menu 	@room1$ + " [" + getmapusers("pvp_"+@map$ + "-1.gat") + "/" +@players1+ "]",M_Rm1, 
-		@room2$ + " [" + getmapusers("pvp_"+@map$ + "-2.gat") + "/" +@players2+ "]",M_Rm2, 
-		@room3$ + " [" + getmapusers("pvp_"+@map$ + "-3.gat") + "/" +@players2+ "]",M_Rm3, 
-		@room4$ + " [" + getmapusers("pvp_"+@map$ + "-4.gat") + "/" +@players2+ "]",M_Rm4, 
-		@room5$ + " [" + getmapusers("pvp_"+@map$ + "-5.gat") + "/" +@players2+ "]",M_Rm5, "Cancel",M_End;
+	menu 	@room1$ + " [" + getmapusers("pvp_" + getarg(0) + "-1.gat") + "/" +@players1+ "]",M_Rm1, 
+		@room2$ + " [" + getmapusers("pvp_" + getarg(0) + "-2.gat") + "/" +@players2+ "]",M_Rm2, 
+		@room3$ + " [" + getmapusers("pvp_" + getarg(0) + "-3.gat") + "/" +@players2+ "]",M_Rm3, 
+		@room4$ + " [" + getmapusers("pvp_" + getarg(0) + "-4.gat") + "/" +@players2+ "]",M_Rm4, 
+		@room5$ + " [" + getmapusers("pvp_" + getarg(0) + "-5.gat") + "/" +@players2+ "]",M_Rm5, "Cancel",M_End;
 	M_Rm1:
-		if (getmapusers("pvp_"+@map$+"-1.gat") == @players1) goto L_Full;
-		warp "pvp_"+@map$+"-1.gat",0,0;
+		if (getmapusers("pvp_" + getarg(0) + "-1.gat") == @players1) goto L_Full;
+		warp "pvp_" + getarg(0) + "-1.gat",0,0;
 		end;
 	M_Rm2:
-		if (getmapusers("pvp_"+@map$+"-2.gat") == @players2) goto L_Full;
-		warp "pvp_"+@map$+"-2.gat",0,0;
+		if (getmapusers("pvp_" + getarg(0) + "-2.gat") == @players2) goto L_Full;
+		warp "pvp_" + getarg(0) + "-2.gat",0,0;
 		end;
 	M_Rm3:
-		if (getmapusers("pvp_"+@map$+"-3.gat") == @players2) goto L_Full;
-		warp "pvp_"+@map$+"-3.gat",0,0;
+		if (getmapusers("pvp_" + getarg(0) + "-3.gat") == @players2) goto L_Full;
+		warp "pvp_" + getarg(0) + "-3.gat",0,0;
 		end;
 	M_Rm4:
-		if (getmapusers("pvp_"+@map$+"-4.gat") == @players2) goto L_Full;
-		warp "pvp_"+@map$+"-4.gat",0,0;
+		if (getmapusers("pvp_" + getarg(0) + "-4.gat") == @players2) goto L_Full;
+		warp "pvp_" + getarg(0) + "-4.gat",0,0;
 		end;
 	M_Rm5:
-		if (getmapusers("pvp_"+@map$+"-5.gat") == @players2) goto L_Full;
-		warp "pvp_"+@map$+"-5.gat",0,0;
+		if (getmapusers("pvp_" + getarg(0) + "-5.gat") == @players2) goto L_Full;
+		warp "pvp_" + getarg(0) + "-5.gat",0,0;
 		end;
 	M_End:
 		close;
 
-
 	L_LowLvl:
 		mes "I'm sorry but you do not meet the Base Level requirements to enter.  Please try a lower level room.";
 		close;