summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/elemental_db.txt6
-rw-r--r--db/elemental_skill_db.txt8
-rw-r--r--db/item_db2.txt2
-rw-r--r--db/magicmushroom_db.txt2
-rw-r--r--db/mercenary_db.txt7
-rw-r--r--db/mercenary_skill_db.txt9
-rw-r--r--db/mob_avail.txt26
-rw-r--r--db/mob_chat_db.txt1
-rw-r--r--db/mob_item_ratio.txt11
-rw-r--r--db/mob_skill_db2.txt101
-rw-r--r--db/pet_db2.txt2
-rw-r--r--db/quest_db.txt3
-rw-r--r--db/skill_improvise_db.txt6
-rw-r--r--db/spellbook_db.txt10
-rw-r--r--doc/quest_variables.txt7
-rw-r--r--doc/whisper_sys.txt17
-rw-r--r--npc/custom/etc/mvp_arena.txt188
-rw-r--r--npc/custom/etc/quest_warper.txt2
-rw-r--r--npc/quests/quests_13_1.txt5
19 files changed, 200 insertions, 213 deletions
diff --git a/db/elemental_db.txt b/db/elemental_db.txt
index c8c2a2bc8..d3eb81f4a 100644
--- a/db/elemental_db.txt
+++ b/db/elemental_db.txt
@@ -1,4 +1,8 @@
-//ID,Sprite_Name,Name,LV,HP,SP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Speed,aDelay,aMotion,dMotion
+// Elemental Summons Database
+//
+// Structure of Database:
+// ID,Sprite_Name,Name,LV,HP,SP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Speed,aDelay,aMotion,dMotion
+
// Monster Elementals
2114,EL_AGNI_S,Agni,100,5000,1,1,100,100,10,10,1,1,1,1,1,1,5,12,0,0,83,200,504,1020,360
2115,EL_AGNI_M,Agni,100,7500,1,1,250,250,25,25,1,1,1,1,1,1,5,12,1,0,83,200,504,1020,360
diff --git a/db/elemental_skill_db.txt b/db/elemental_skill_db.txt
index d425417e0..903f5d22f 100644
--- a/db/elemental_skill_db.txt
+++ b/db/elemental_skill_db.txt
@@ -1,6 +1,10 @@
-//ElementalID,SkillID,SkillLevel,ReqMode
-//Spirit Modes (1 = Passive, 2 = Defensive, 4 = Agressive)
+// Elemental Summons Skill Database
//
+// Structure of Database:
+// ElementalID,SkillID,SkillLevel,ReqMode
+//
+// Spirit Modes: 1 = Passive, 2 = Defensive, 4 = Aggressive
+
// EL_AGNI_S
2114,8413,1,1 //EL_PYROTECHNIC,Pyrotechnic
2114,8401,1,2 //EL_CIRCLE_OF_FIRE,Circle of Fire
diff --git a/db/item_db2.txt b/db/item_db2.txt
index 76858c7fd..cba8d5186 100644
--- a/db/item_db2.txt
+++ b/db/item_db2.txt
@@ -1,4 +1,4 @@
-// Items Additional Database - Custom Items go here
+// Items Additional Database
//
// Structure of Database:
// ID,Name,Name,Type,Price,Sell,Weight,ATK,DEF,Range,Slot,Job,Upper,Gender,Loc,wLV,eLV,Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script }
diff --git a/db/magicmushroom_db.txt b/db/magicmushroom_db.txt
index 1d145bd45..70fcf3432 100644
--- a/db/magicmushroom_db.txt
+++ b/db/magicmushroom_db.txt
@@ -1,5 +1,5 @@
// Magic Mushroom DB.
-// Database for skills that are randomly used trough Magic Mushroom status change.
+// Database for skills that are randomly used through Magic Mushroom status change.
// Format: SkillID
7 //SM_MAGNUM
diff --git a/db/mercenary_db.txt b/db/mercenary_db.txt
index 22bdd69dd..8c841a32d 100644
--- a/db/mercenary_db.txt
+++ b/db/mercenary_db.txt
@@ -1,4 +1,8 @@
-//ID,Sprite_Name,Name,LV,HP,SP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Speed,aDelay,aMotion,dMotion
+// Mercenary Database
+//
+// Structure of Database:
+// ID,Sprite_Name,Name,LV,HP,SP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Speed,aDelay,aMotion,dMotion
+
// Monster Mercenaries
1191,MIMIC,Mimic,51,6120,187,2,150,900,10,40,44,121,1,60,75,110,10,12,1,0,60,100,972,500,288
1506,DISGUISE,Disguise,55,7543,180,2,279,546,18,29,0,72,45,35,48,65,10,12,1,6,82,147,516,768,384
@@ -14,6 +18,7 @@
2058,M_MIMIC,Mimic,51,6120,182,1,800,950,10,40,44,121,1,60,75,110,10,12,1,0,60,100,972,500,288
2059,M_DISGUISE,Disguise,55,7543,180,2,526,693,18,29,0,72,45,35,48,65,10,12,1,6,82,147,516,768,384
2060,M_ALICE,Alice,62,10000,221,1,700,850,5,5,64,64,42,85,100,130,10,12,1,7,60,200,502,1999,480
+
// Normal Mercenaries
6017,MER_ARCHER01,Mina,20,256,200,10,170,85,7,5,1,16,5,1,28,8,10,0,0,7,20,150,700,432,300
6018,MER_ARCHER02,Dororu,30,457,70,10,228,114,11,7,1,18,8,1,40,11,10,0,0,7,20,150,700,432,300
diff --git a/db/mercenary_skill_db.txt b/db/mercenary_skill_db.txt
index 438b7e656..ea692641d 100644
--- a/db/mercenary_skill_db.txt
+++ b/db/mercenary_skill_db.txt
@@ -1,4 +1,8 @@
-//MercenryID,SkillID,SkillLevel
+// Mercenary Skill Database
+//
+// Structure of Database:
+// MercenryID,SkillID,SkillLevel
+
// Archer Mercenaries Level 1-10.
// MER_ARCHER01
6017,8207,2 //MA_DOUBLE
@@ -38,6 +42,7 @@
6026,8215,5 //MA_SHARPSHOOTING
6026,8223,5 //MER_QUICKEN
6026,8233,1 //MER_AUTOBERSERK
+
// Lancer Mercenaries Level 1-10.
// MER_LANCER01
6027,8216,1 //ML_PIERCE
@@ -74,6 +79,7 @@
6036,8220,10 //ML_AUTOGUARD
6036,8221,3 //ML_DEVOTION
6036,8218,5 //ML_SPIRALPIERCE
+
// Swordman Mercenaries Level 1-10.
// MER_SWORDMAN01
6037,8201,1 //MS_BASH
@@ -113,6 +119,7 @@
6046,8203,10 //MS_BOWLINGABASH
6046,8201,10 //MS_BASH
6046,8206,1 //MS_BERSERK
+
// Monster Mercenaries
// MIMIC
1191,8233,1 //MER_AUTOBERSERK
diff --git a/db/mob_avail.txt b/db/mob_avail.txt
index 755597da6..86354b59f 100644
--- a/db/mob_avail.txt
+++ b/db/mob_avail.txt
@@ -1,13 +1,21 @@
-// for mobs
-// mob_id,sprite_id,equip #
-// Use another mob's sprite for a monster. 0 for sprite will disable mob.
-// Mob must have an equipment it's pet counterpart can use or it will cause problems. If no equip use 0.
-// The following if a player sprite is used
-// MobID,SpriteID,Sex,Hair,Hair_Color,Weapon,Shield,Head_Top,Head_Middle,Head_Bottom,Option,Dye_Color
-// Use Item ID for weapons and shields, not View ID.
+// Mob Availability and Alias Database
+//
+// Structure of Database:
+// MobID,SpriteID{,Equipment}
+//
+// 01. MobID Mob ID to change.
+// 02. SpriteID Mob ID which will be sent to the client instead of MobID.
+// If 0, the mob becomes unavailable for use.
+// 03. Equipment Item ID of pet equipment (must be available for pet counterpart, or this will cause problems).
+//
+// To disguise a mob as a player:
+// MobID,SpriteID,Sex,Hair_Style,Hair_Color,Weapon,Shield,Head_Top,Head_Middle,Head_Bottom,Option,Dye_Color
+//
+// SpriteID is a job class value.
+// Weapon and Shield uses Item ID, while Head uses View ID.
-//1002,1039 //Poring,Baphomet (Make Porings look like Baphomet)
-//1970,1002,10013 // new mob that looks like a Poring with a backpack
+//1002,1039 // Poring - Baphomet
+//1970,1002,10013 // Displays a Poring with a backpack
// Easter Event Monsters
//1920,1047,0
diff --git a/db/mob_chat_db.txt b/db/mob_chat_db.txt
index 83bd68a62..1e6933003 100644
--- a/db/mob_chat_db.txt
+++ b/db/mob_chat_db.txt
@@ -2,6 +2,7 @@
//
// Structure of Database:
// Line_ID,Color_Code,Dialog
+
1,0xFF0000,Weakling! Challenge me if you have any courage!
2,0xFF0000,Impressive! I wonder how far your recklessness will take you.
3,0xFF0000,I almost pity how outmatched you are against me. Now prepare for my attack!
diff --git a/db/mob_item_ratio.txt b/db/mob_item_ratio.txt
index f21edb347..226460a86 100644
--- a/db/mob_item_ratio.txt
+++ b/db/mob_item_ratio.txt
@@ -1,20 +1,21 @@
+// Specific Item Drop Ratio Database
// Overrides for global item_rate* values from conf/battle/drops.conf
-
-// Database format:
+//
+// Structure of Database:
// ItemID,Ratio{,MonsterID}
-
+//
// Result:
// ItemID base drop rates defined in mob_db will not get multiplied
// by global item_rate* values (aka drop rates) from
// conf/battle/drops.conf. Instead Ratio will be used (100 = 1x).
// If no MonsterID is specified, all monsters will be affected,
// otherwise only listed ones.
-
+//
// Examples:
// 909,100 // Jellopies from monsters will drop with 1x drop rate regardless of global drop rate
// 909,1000 // Jellopies from monsters will drop with 10x drop rate regardless of global drop rate
// 909,100,1002 // Jellopies from Porings will drop with 1x drop rate. Other monsters that drop Jellopies are unaffected (use global drop rate).
-
+//
// Notes:
// - By default you can list up to 10 MonsterIDs per ItemID.
// It can be changed in src/map/mob.c by adjusting MAX_ITEMRATIO_MOBS.
diff --git a/db/mob_skill_db2.txt b/db/mob_skill_db2.txt
index 12ab9fdc7..bc1384f2f 100644
--- a/db/mob_skill_db2.txt
+++ b/db/mob_skill_db2.txt
@@ -1,60 +1,57 @@
-// Custom mob skills
-//MOB_ID, a unused dummy character sequence (for information only), STATE, SKILL_ID, SKILL_LV,
-// rate (10000 = 100%), casttime, delay, cancelable, a target, a condition type, a condition value,
-// a value 1, a value 2, a value 3, a value 4, a value 5, emotion, chat
-//Example
-//1001,Poring@TF_POISON,attack,52,3,100,1500,10000,no,target,always,0,,,,,7
+// Custom Mob Skill Database
//
-//rate refers to the chance of the skill being casted when the condition is fulfilled.
-//delay is the time in milliseconds that has to be pass before recasting the same skill.
+// Structure of Database:
+// MobID,Dummy value (info only),State,SkillID,SkillLv,Rate,CastTime,Delay,Cancelable,Target,Condition type,Condition value,val1,val2,val3,val4,val5,Emotion,Chat
//
-//STATE:
-// any / idle (in standby) / walk (in movement) / dead (on killed) / loot /
-// attack / angry (like attack, except player has not attacked mob yet) /
-// chase (following target, after being attacked) / follow (following
-// target, without being attacked)
+// RATE: the chance of the skill being casted when the condition is fulfilled (10000 = 100%).
+// DELAY: the time (in milliseconds) before attempting to recast the same skill.
//
-//target: The target of the skill can be: target (when a PC is targetted) / self / friend / master
-// (the following are for ground-skills, a random target tile is selected from
-// the specified area):
-// around1 (3x3 area around self) / around2 (5x5 area around self) /
-// around3 (7x7 area around self) / around4 (9x9 area around self) /
-// around5 (3x3 area around target) / around6 (5x5 area around target) /
-// around7 (7x7 area around target) / around8 (9x9 area around target) /
-// around (11x11 area around self)
+// STATE:
+// any (except dead) / idle (in standby) / walk (in movement) / dead (on killed) /
+// loot /attack / angry (like attack, except player has not attacked mob yet) /
+// chase (following target, after being attacked) / follow (following target,
+// without being attacked) / anytarget (attack+angry+chase+follow)
//
-//conditions: (condition type) (value which specifies a condition value)
-// always uncondtional
-// myhpltmaxrate when the mob's hp drops to a certain %
-// mystatuson If the mob has any abnormalities in status (condition value),
-// mystatusoff If the mob has ended any abnormalities in status (condition value),
-// friendhpltmaxrate when the mobs' friend's hp drops to a certain %
-// friendstatuson If the friend has any abnormalities in status (condition value),
-// friendstatusoff If the friend has ended any abnormalities in status (condition value),
-// attackpcgt Attack PC becomes more than the number of specification
-// attackpcge Attack PC becomes equal or more than the number of specification.
-// slavelt when the number of slaves is lower than the original number of specification.
-// slavele when the number of slaves is lower or equal than the original number of specification.
-// closedattacked when melee attacked (close range attack)
-// longrangeattacked when long ranged attacked (like bows and far range weapons)
-// skillused when a skill is used on the mob
-// afterskill after the mob used certain skill.
-// casttargeted when a target is in cast range.
-// rudeattacked when a target is rude attacked
+// TARGET:
+// target (current target) / self / friend / master / randomtarget (any enemy within skill's range)
//
-// The character's state which can be specified to be a condition value by the statuson/statusoff system
-// anybad any type of state change
-// stone condition of being in stone state
-// freeze condition of being in frozen state
-// stun condition of being in stunned state
-// sleep condition of being in sleep state
-// poison condition of being in poisoned state
-// curse condition of being in cursed state
-// silence condition of being in silenced state
-// confusion condition of being in confusion state
-// blind condition of being in blind state
-// hiding condition of being in hidden state
-// sight condition of being in unhidden state
+// The following are for ground-skills, a random target tile is selected from the specified area:
+// around1 (3x3 area around self) / around2 (5x5 area around self) /
+// around3 (7x7 area around self) / around4 (9x9 area around self) /
+// around5 (3x3 area around target) / around6 (5x5 area around target) /
+// around7 (7x7 area around target) / around8 (9x9 area around target) /
+// around = around4
+//
+// CONDITION:
+// always Unconditional (no condition value).
+// onspawn When mob spawns/respawns (no condition value).
+// myhpltmaxrate When mob's HP drops to the specified %.
+// myhpinrate When mob's HP is in a certain % range (condition value = lower bound, val1 = upper bound).
+// mystatuson If mob has the specified abnormality in status.
+// mystatusoff If mob has ended the specified abnormality in status.
+// friendhpltmaxrate When mob's friend's HP drops to the specified %.
+// friendhpinrate When mob's friend's HP is in a certain % range (condition value = lower bound, val1 = upper bound).
+// friendstatuson If friend has the specified abnormality in status.
+// friendstatusoff If friend has ended the specified abnormality in status.
+// attackpcgt When attack PCs become greater than specified number.
+// attackpcge When attack PCs become greater than or equal to the specified number.
+// slavelt When number of slaves is less than the original specified number.
+// slavele When number of slaves is less than or equal to the original specified number.
+// closedattacked When close range melee attacked (no condition value).
+// longrangeattacked When long range attacked, ex. bows, guns, ranged skills (no condition value).
+// skillused When the specified skill is used on the mob.
+// afterskill After mob casts the specified skill.
+// casttargeted When a target is in cast range (no condition value).
+// rudeattacked When mob is rude attacked (no condition value).
+//
+// Status abnormalities specified through the statuson/statusoff system:
+// anybad (any type of state change) / stone / freeze / stun / sleep /
+// poison / curse / silence / confusion / blind / hiding / sight (unhidden)
+//
+// Note: if a negative MobID is provided, the skill will be treated as 'global':
+// -1: added for all boss types.
+// -2: added for all normal types.
+// -4: added for all mobs.
// rAthena Dev Team
//1900,Valaris@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,,,,,,,,
diff --git a/db/pet_db2.txt b/db/pet_db2.txt
index b41435713..cf39171e8 100644
--- a/db/pet_db2.txt
+++ b/db/pet_db2.txt
@@ -1,4 +1,4 @@
-// Pet Additional Database - Custom Pets
+// Pet Additional Database
//
// Structure of Database:
// MobID,Name,JName,LureID,EggID,EquipID,FoodID,Fullness,HungryDelay,R_Hungry,R_Full,Intimate,Die,Capture,Speed,S_Performance,talk_convert_class,attack_rate,defence_attack_rate,change_target_rate,pet_script,loyal_script
diff --git a/db/quest_db.txt b/db/quest_db.txt
index fee6a19eb..75ed66c78 100644
--- a/db/quest_db.txt
+++ b/db/quest_db.txt
@@ -1,7 +1,8 @@
// Quest Database
//
-// Structure of Database :
+// Structure of Database:
// Quest ID,Time Limit,Target1,Val1,Target2,Val2,Target3,Val3,Quest Title
+
1000,0,0,0,0,0,0,0,"Transcend"
1001,0,0,0,0,0,0,0,"Job Change to Acolyte"
1002,0,0,0,0,0,0,0,"Job Change to Acolyte"
diff --git a/db/skill_improvise_db.txt b/db/skill_improvise_db.txt
index 9f0f2b6e7..f669ba9f4 100644
--- a/db/skill_improvise_db.txt
+++ b/db/skill_improvise_db.txt
@@ -1,6 +1,8 @@
-// Improvise DB.
+// Improvise Database
// Database for skills that can be summoned trough Randomize Spell/Improvised Song (Minstrel/Wanderer Skill).
-// Format: SkillID,Rate
+//
+// Structure of Database:
+// SkillID,Rate
// Mage Skills
10,5000 // Sight
diff --git a/db/spellbook_db.txt b/db/spellbook_db.txt
index 62610473a..11c447365 100644
--- a/db/spellbook_db.txt
+++ b/db/spellbook_db.txt
@@ -1,9 +1,9 @@
-//============================================================
-// Preserve points database for Reading Spellbook. [LimitLine/3CeAm]
-// Structure:
+// Reading Spellbook Preserve Points Database
+//
+// Structure of Database:
// SkillID,PreservePoints,Required Book
-//============================================================
-//To add more entries skill.h MAX_SKILL_SPELLBOOK_DB must be increased
+//
+// To add more entries, increase MAX_SKILL_SPELLBOOK_DB in skill.h.
//Mage
14,7,6190 //Cold Bolt
diff --git a/doc/quest_variables.txt b/doc/quest_variables.txt
index 8deb4d92a..d100895b1 100644
--- a/doc/quest_variables.txt
+++ b/doc/quest_variables.txt
@@ -7,36 +7,30 @@ 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.
@@ -112,7 +106,6 @@ How to check: if(MISC_QUEST & 65536){}
--------------------------------------------------------------
Variable: MISC_QUEST2
-
Quest: ?
Info: ?
How to set: set MISC_QUEST,MISC_QUEST | ?;
diff --git a/doc/whisper_sys.txt b/doc/whisper_sys.txt
index e9353de75..115712eea 100644
--- a/doc/whisper_sys.txt
+++ b/doc/whisper_sys.txt
@@ -14,7 +14,7 @@ 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.
- NPC:<NPC Name> <String>{#String 2{#...{#String 10}}}
+ NPC:<NPC Name> <String>{#String 2{#...{#String 10}}}
The whispered strings are separated by the "#" character, and are each stored
into separate temporary character string variables:
@@ -31,11 +31,10 @@ You whisper an NPC "NPCCommander" in-game with the following instructions:
The parameters are passed on to the "OnWhisperGlobal" label of the NPC, and can
be processed accordingly:
- - script NPCCommander -1,{
- OnWhisperGlobal:
- // The following code will inform player "Lordalfa" that he has been
- // reported for killstealing.
- if (@whispervar0$ == "Report")
- message @whispervar2$,"You have been reported for "+@whispervar1$+".";
- end;
- } \ No newline at end of file
+- script NPCCommander -1,{
+OnWhisperGlobal:
+ // Inform player "Lordalfa" that he has been reported for killstealing.
+ if (@whispervar0$ == "Report")
+ message @whispervar2$,"You have been reported for "+@whispervar1$+".";
+ end;
+} \ No newline at end of file
diff --git a/npc/custom/etc/mvp_arena.txt b/npc/custom/etc/mvp_arena.txt
index 2cc3fb36d..277895d6c 100644
--- a/npc/custom/etc/mvp_arena.txt
+++ b/npc/custom/etc/mvp_arena.txt
@@ -9,14 +9,14 @@
//===== Description: =========================================
//= Rooms containing 16 different MVPs
//===== Additional Comments: =================================
-//= 1.0 first version of script
-//= 1.1 Optimised The MVP arena [massdriller]
+//= 1.0 - First version of script
+//= 1.1 - Optimised The MVP arena [massdriller]
//= 1.2 - NPC in prontera [Silent]
//= 1.3 - Removed Duplicates
//= 1.4 - Optimized, text edited [Euphy]
//============================================================
-// ==== Entrance ====
+// Entrance
prontera,154,197,3 script MVP Warper 768,{
mes "[ ^0065DFMVP Warper^000000 ]";
mes "Would you like to enter";
@@ -26,29 +26,30 @@ prontera,154,197,3 script MVP Warper 768,{
close;
}
-// ==== Information NPC ====
+// Information
quiz_00,49,31,4 script MVP Arena Guide 778,{
mes "[ ^0065DFMVP Arena Guide^000000 ]";
mes "Welcome and behold this sacred place. Here you will find out if you truly have what it takes to call yourself a warrior.";
next;
switch(select("Information","Heal me!","Return to Prontera","Cancel")) {
- case 1:
- mes "[ ^0065DFMVP Arena Guide^000000 ]";
- mes "There are four Keepers, and each can spawn four different MVPs.";
- mes "There are eight rooms per Keeper, and sixteen MVPs in total.";
- close;
- case 2:
- specialeffect2 313;
- percentheal 100,100;
- close;
- case 3:
- warp "prontera",156,179;
- close;
- case 4:
- close; }
+ case 1:
+ mes "[ ^0065DFMVP Arena Guide^000000 ]";
+ mes "There are four Keepers, and each can spawn four different MVPs.";
+ mes "There are eight rooms per Keeper, and sixteen MVPs in total.";
+ close;
+ case 2:
+ specialeffect2 313;
+ percentheal 100,100;
+ close;
+ case 3:
+ warp "prontera",156,179;
+ close;
+ case 4:
+ close;
+ }
}
-// ==== Keepers ====
+// Keepers
function script Keeper {
mes "[ ^0065DF"+strnpcinfo(1)+"^000000 ]";
mes "Which arena would you";
@@ -60,104 +61,65 @@ function script Keeper {
if (getmapusers("pvp_n_"+.@i+"-"+getarg(0))>19) {
mes "[ ^0065DF"+strnpcinfo(1)+"^000000 ]";
mes "Sorry, this arena is full!";
- close; }
+ close;
+ }
warp "pvp_n_"+.@i+"-"+getarg(0),102,102;
close;
}
+quiz_00,56,31,4 script Alpha MVP 770,{ callfunc "Keeper",2; }
+quiz_00,58,31,4 script Beta MVP 773,{ callfunc "Keeper",3; }
+quiz_00,60,31,4 script Theta MVP 774,{ callfunc "Keeper",4; }
+quiz_00,62,31,4 script Epsilon MVP 776,{ callfunc "Keeper",5; }
-quiz_00,56,31,4 script Alpha MVP 770,{
- callfunc "Keeper",2; }
-quiz_00,58,31,4 script Beta MVP 773,{
- callfunc "Keeper",3; }
-quiz_00,60,31,4 script Theta MVP 774,{
- callfunc "Keeper",4; }
-quiz_00,62,31,4 script Epsilon MVP 776,{
- callfunc "Keeper",5; }
-
-// ==== Protectors ====
+// Protectors
function script Protector {
switch(select(""+((getarg(0)=="")?"":"Harder Monsters")+":Heal:Exit")) {
- case 1:
- warp getarg(0),102,102;
- close;
- case 2:
- specialeffect2 313;
- percentheal 100,100;
- close;
- case 3:
- warp "prontera",156,179;
- close; }
+ case 1:
+ warp getarg(0),102,102;
+ close;
+ case 2:
+ specialeffect2 313;
+ percentheal 100,100;
+ close;
+ case 3:
+ warp "prontera",156,179;
+ close;
+ }
}
+pvp_n_1-2,100,100,4 script MVP-Protector#01 727,{ callfunc "Protector","pvp_n_2-2"; }
+pvp_n_2-2,100,100,4 script MVP-Protector#02 727,{ callfunc "Protector","pvp_n_3-2"; }
+pvp_n_3-2,100,100,4 script MVP-Protector#03 727,{ callfunc "Protector","pvp_n_4-2"; }
+pvp_n_4-2,100,100,4 script MVP-Protector#04 727,{ callfunc "Protector","pvp_n_5-2"; }
+pvp_n_5-2,100,100,4 script MVP-Protector#05 727,{ callfunc "Protector","pvp_n_6-2"; }
+pvp_n_6-2,100,100,4 script MVP-Protector#06 727,{ callfunc "Protector","pvp_n_7-2"; }
+pvp_n_7-2,100,100,4 script MVP-Protector#07 727,{ callfunc "Protector","pvp_n_8-2"; }
+pvp_n_8-2,100,100,4 script MVP-Protector#08 727,{ callfunc "Protector",""; }
+pvp_n_1-3,100,100,4 script MVP-Protector#09 727,{ callfunc "Protector","pvp_n_2-3"; }
+pvp_n_2-3,100,100,4 script MVP-Protector#10 727,{ callfunc "Protector","pvp_n_3-3"; }
+pvp_n_3-3,100,100,4 script MVP-Protector#11 727,{ callfunc "Protector","pvp_n_4-3"; }
+pvp_n_4-3,100,100,4 script MVP-Protector#12 727,{ callfunc "Protector","pvp_n_5-3"; }
+pvp_n_5-3,100,100,4 script MVP-Protector#13 727,{ callfunc "Protector","pvp_n_6-3"; }
+pvp_n_6-3,100,100,4 script MVP-Protector#14 727,{ callfunc "Protector","pvp_n_7-3"; }
+pvp_n_7-3,100,100,4 script MVP-Protector#15 727,{ callfunc "Protector","pvp_n_8-3"; }
+pvp_n_8-3,100,100,4 script MVP-Protector#16 727,{ callfunc "Protector",""; }
+pvp_n_1-4,100,100,4 script MVP-Protector#17 727,{ callfunc "Protector","pvp_n_2-4"; }
+pvp_n_2-4,100,100,4 script MVP-Protector#18 727,{ callfunc "Protector","pvp_n_3-4"; }
+pvp_n_3-4,100,100,4 script MVP-Protector#19 727,{ callfunc "Protector","pvp_n_4-4"; }
+pvp_n_4-4,100,100,4 script MVP-Protector#20 727,{ callfunc "Protector","pvp_n_5-4"; }
+pvp_n_5-4,100,100,4 script MVP-Protector#21 727,{ callfunc "Protector","pvp_n_6-4"; }
+pvp_n_6-4,100,100,4 script MVP-Protector#22 727,{ callfunc "Protector","pvp_n_7-4"; }
+pvp_n_7-4,100,100,4 script MVP-Protector#23 727,{ callfunc "Protector","pvp_n_8-4"; }
+pvp_n_8-4,100,100,4 script MVP-Protector#24 727,{ callfunc "Protector",""; }
+pvp_n_1-5,100,100,4 script MVP-Protector#25 727,{ callfunc "Protector","pvp_n_2-5"; }
+pvp_n_2-5,100,100,4 script MVP-Protector#26 727,{ callfunc "Protector","pvp_n_3-5"; }
+pvp_n_3-5,100,100,4 script MVP-Protector#27 727,{ callfunc "Protector","pvp_n_4-5"; }
+pvp_n_4-5,100,100,4 script MVP-Protector#28 727,{ callfunc "Protector","pvp_n_5-5"; }
+pvp_n_5-5,100,100,4 script MVP-Protector#29 727,{ callfunc "Protector","pvp_n_6-5"; }
+pvp_n_6-5,100,100,4 script MVP-Protector#30 727,{ callfunc "Protector","pvp_n_7-5"; }
+pvp_n_7-5,100,100,4 script MVP-Protector#31 727,{ callfunc "Protector","pvp_n_8-5"; }
+pvp_n_8-5,100,100,4 script MVP-Protector#32 727,{ callfunc "Protector",""; }
-pvp_n_1-2,100,100,4 script MVP-Protector#01 727,{
- callfunc "Protector","pvp_n_2-2"; }
-pvp_n_2-2,100,100,4 script MVP-Protector#02 727,{
- callfunc "Protector","pvp_n_3-2"; }
-pvp_n_3-2,100,100,4 script MVP-Protector#03 727,{
- callfunc "Protector","pvp_n_4-2"; }
-pvp_n_4-2,100,100,4 script MVP-Protector#04 727,{
- callfunc "Protector","pvp_n_5-2"; }
-pvp_n_5-2,100,100,4 script MVP-Protector#05 727,{
- callfunc "Protector","pvp_n_6-2"; }
-pvp_n_6-2,100,100,4 script MVP-Protector#06 727,{
- callfunc "Protector","pvp_n_7-2"; }
-pvp_n_7-2,100,100,4 script MVP-Protector#07 727,{
- callfunc "Protector","pvp_n_8-2"; }
-pvp_n_8-2,100,100,4 script MVP-Protector#08 727,{
- callfunc "Protector",""; }
-
-pvp_n_1-3,100,100,4 script MVP-Protector#09 727,{
- callfunc "Protector","pvp_n_2-3"; }
-pvp_n_2-3,100,100,4 script MVP-Protector#10 727,{
- callfunc "Protector","pvp_n_3-3"; }
-pvp_n_3-3,100,100,4 script MVP-Protector#11 727,{
- callfunc "Protector","pvp_n_4-3"; }
-pvp_n_4-3,100,100,4 script MVP-Protector#12 727,{
- callfunc "Protector","pvp_n_5-3"; }
-pvp_n_5-3,100,100,4 script MVP-Protector#13 727,{
- callfunc "Protector","pvp_n_6-3"; }
-pvp_n_6-3,100,100,4 script MVP-Protector#14 727,{
- callfunc "Protector","pvp_n_7-3"; }
-pvp_n_7-3,100,100,4 script MVP-Protector#15 727,{
- callfunc "Protector","pvp_n_8-3"; }
-pvp_n_8-3,100,100,4 script MVP-Protector#16 727,{
- callfunc "Protector",""; }
-
-pvp_n_1-4,100,100,4 script MVP-Protector#17 727,{
- callfunc "Protector","pvp_n_2-4"; }
-pvp_n_2-4,100,100,4 script MVP-Protector#18 727,{
- callfunc "Protector","pvp_n_3-4"; }
-pvp_n_3-4,100,100,4 script MVP-Protector#19 727,{
- callfunc "Protector","pvp_n_4-4"; }
-pvp_n_4-4,100,100,4 script MVP-Protector#20 727,{
- callfunc "Protector","pvp_n_5-4"; }
-pvp_n_5-4,100,100,4 script MVP-Protector#21 727,{
- callfunc "Protector","pvp_n_6-4"; }
-pvp_n_6-4,100,100,4 script MVP-Protector#22 727,{
- callfunc "Protector","pvp_n_7-4"; }
-pvp_n_7-4,100,100,4 script MVP-Protector#23 727,{
- callfunc "Protector","pvp_n_8-4"; }
-pvp_n_8-4,100,100,4 script MVP-Protector#24 727,{
- callfunc "Protector",""; }
-
-pvp_n_1-5,100,100,4 script MVP-Protector#25 727,{
- callfunc "Protector","pvp_n_2-5"; }
-pvp_n_2-5,100,100,4 script MVP-Protector#26 727,{
- callfunc "Protector","pvp_n_3-5"; }
-pvp_n_3-5,100,100,4 script MVP-Protector#27 727,{
- callfunc "Protector","pvp_n_4-5"; }
-pvp_n_4-5,100,100,4 script MVP-Protector#28 727,{
- callfunc "Protector","pvp_n_5-5"; }
-pvp_n_5-5,100,100,4 script MVP-Protector#29 727,{
- callfunc "Protector","pvp_n_6-5"; }
-pvp_n_6-5,100,100,4 script MVP-Protector#30 727,{
- callfunc "Protector","pvp_n_7-5"; }
-pvp_n_7-5,100,100,4 script MVP-Protector#31 727,{
- callfunc "Protector","pvp_n_8-5"; }
-pvp_n_8-5,100,100,4 script MVP-Protector#32 727,{
- callfunc "Protector",""; }
-
-// ==== Alpha ====
+// Alpha
pvp_n_1-2,0,0,0,0 monster Eddga 1115,3,60000,66000
pvp_n_1-2,0,0,0,0 monster Mistress 1059,1,60000,66000
pvp_n_2-2,0,0,0,0 monster Mistress 1059,3,60000,66000
@@ -186,7 +148,7 @@ pvp_n_8-2,0,0,0,0 monster Mistress 1059,3,60000,66000
pvp_n_8-2,0,0,0,0 monster Moonlight 1150,3,60000,66000
pvp_n_8-2,0,0,0,0 monster Maya 1147,3,60000,66000
-// ==== Beta ====
+// Beta
pvp_n_1-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000
pvp_n_1-3,0,0,0,0 monster Turtle General 1312,1,60000,66000
pvp_n_2-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000
@@ -217,7 +179,7 @@ pvp_n_8-3,0,0,0,0 monster Turtle General 1312,3,60000,66000
pvp_n_8-3,0,0,0,0 monster Orc Hero 1087,3,60000,66000
pvp_n_8-3,0,0,0,0 monster Orc Lord 1190,3,60000,66000
-// ==== Theta ====
+// Theta
pvp_n_1-4,0,0,0,0 monster Drake 1112,3,60000,66000
pvp_n_1-4,0,0,0,0 monster Osiris 1038,1,60000,66000
pvp_n_2-4,0,0,0,0 monster Drake 1112,2,60000,66000
@@ -248,7 +210,7 @@ pvp_n_8-4,0,0,0,0 monster Osiris 1038,3,60000,66000
pvp_n_8-4,0,0,0,0 monster Doppelganger 1046,3,60000,66000
pvp_n_8-4,0,0,0,0 monster Lord of Death 1373,3,60000,66000
-// ==== Epsilon ====
+// Epsilon
pvp_n_1-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000
pvp_n_1-5,0,0,0,0 monster Pharoh 1157,1,60000,66000
pvp_n_2-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000
@@ -279,7 +241,7 @@ pvp_n_8-5,0,0,0,0 monster Pharoh 1157,2,60000,66000
pvp_n_8-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000
pvp_n_8-5,0,0,0,0 monster Baphomet 1039,2,60000,66000
-// ==== Mapflags ====
+// Mapflags
pvp_n_1-1 mapflag pvp_nightmaredrop off
pvp_n_2-1 mapflag pvp_nightmaredrop off
pvp_n_3-1 mapflag pvp_nightmaredrop off
diff --git a/npc/custom/etc/quest_warper.txt b/npc/custom/etc/quest_warper.txt
index d0952decc..12709ac15 100644
--- a/npc/custom/etc/quest_warper.txt
+++ b/npc/custom/etc/quest_warper.txt
@@ -430,7 +430,7 @@ Zeny_short_HP:
if (select("Yes","No") == 2) goto L_end;
set @Hp, Zeny/$QW_HP_H_PRICE;
set @HpPrice, @Hp*$QW_HP_H_PRICE;
- if (@Sp == 1) mes "You're not worth the effort.";
+ if (@Hp == 1) mes "You're not worth the effort.";
if (@Hp == 1) goto L_end;
set Zeny, Zeny-@HpPrice;
heal @Hp,0;
diff --git a/npc/quests/quests_13_1.txt b/npc/quests/quests_13_1.txt
index b86e393c2..9ec9edd61 100644
--- a/npc/quests/quests_13_1.txt
+++ b/npc/quests/quests_13_1.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
-//= 2.5a
+//= 2.6
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
@@ -43,6 +43,7 @@
//= 2.4 More optimization (-32kb). [Euphy]
//= 2.5 Yet more optimization (-22kb). [Euphy]
//= 2.5a Minor fixes. [Euphy]
+//= 2.6 Disabled "Ash Vacuum Warper" as it's no longer in iRO. [Euphy]
//============================================================
// Onward to the New World
@@ -14905,6 +14906,7 @@ que_dan02,102,42,3 script Disfigured Corpse#moc2 457,{
close;
}
+/*
//Mid Camp Warper (gogoash), Translated from the Official [Slim]
prontera,161,192,5 script Ash Vacuum Warper 707,{
mes "[Warp Soldier]";
@@ -14934,3 +14936,4 @@ prontera,161,192,5 script Ash Vacuum Warper 707,{
}
end;
}
+*/ \ No newline at end of file