summaryrefslogtreecommitdiff
path: root/world
diff options
context:
space:
mode:
Diffstat (limited to 'world')
-rw-r--r--world/map/db/const.txt5
-rwxr-xr-x[-rw-r--r--]world/map/npc/functions/debug.txt931
2 files changed, 684 insertions, 252 deletions
diff --git a/world/map/db/const.txt b/world/map/db/const.txt
index bc7518c4..9c7921e5 100644
--- a/world/map/db/const.txt
+++ b/world/map/db/const.txt
@@ -332,6 +332,11 @@ BYTE_2_SHIFT 16
BYTE_3_MASK 4278190080
BYTE_3_SHIFT 24
+// Basic Skills
+SKILL_EMOTE 1
+SKILL_TRADE 2
+SKILL_PARTY 3
+
// Skill pools
SKILL_POOL 339
SKILL_MALLARDS_EYE 45
diff --git a/world/map/npc/functions/debug.txt b/world/map/npc/functions/debug.txt
index fb43c11c..6880c904 100644..100755
--- a/world/map/npc/functions/debug.txt
+++ b/world/map/npc/functions/debug.txt
@@ -1,4 +1,4 @@
-// Author: alastrim, Jenalya
+// Authors: alastrim, Jenalya, Ali-G
function|script|Debug|{
@@ -8,60 +8,381 @@ L_Begin:
set @mexp, ((MAGIC_EXPERIENCE & @debug_mask) >> @debug_shift);
mes "What do you want to do?";
menu
- "Change base level", L_Level,
- "Reset status points", L_Status,
- "Change my skills", L_Skills,
- "Change my magic skills", L_Magic,
- "Close", -;
+ "Change my level.", L_Level,
+ "Change my stats.", L_Status,
+ "Change my basic skills.", L_BasicSkills,
+ "Change my focus skills.", L_FocusSkills,
+ "Change my magic skills.", L_MagicSkills,
+ "Add everything.", L_AddAll,
+ "Reset everything.", L_ResetAll,
+ "Close.", -;
close;
L_Level:
- mes "Which level do you want to be? (min: 1 - max: 255)";
- next;
+ mes "What level do you want to be (min: 1 - max: 99)?";
input @lvl;
- if (@lvl > 255)
- goto L_Leveltoohigh;
if (@lvl < 1)
- goto L_Leveltoolow;
+ goto L_LevelTooLow;
+ if (@lvl > 99)
+ goto L_LevelTooHigh;
if (BaseLevel == @lvl)
- goto L_Samelvl;
+ goto L_SameLevel;
set BaseLevel, @lvl;
resetstatus;
- message strcharinfo(0), "New level: " + BaseLevel;
+ mes "You are now level " + BaseLevel + ".";
goto L_Begin;
-L_Samelvl:
- mes "You are already level " + @lvl;
+L_LevelTooLow:
+ mes "Bad choice. Minimum level is 1.";
next;
- goto L_Level;
+ goto L_Begin;
-L_Leveltoolow:
- mes "Bad choice. Minimum level is 1.";
+L_LevelTooHigh:
+ mes "Bad choice. Maximum level is 99.";
+ next;
+ goto L_Begin;
+
+L_SameLevel:
+ mes "You already are level " + @lvl + ".";
+ next;
+ goto L_Begin;
+
+L_Status:
+ mes "What do you want to do?";
+ menu
+ "Set all of my stats myself.", L_ChangeStrength,
+ "Set one of my stats myself.", L_ChangeSingleStat,
+ "Get maximum points in all stats.", L_ChangeAllStats,
+ "Reset my status points.", L_ResetStatusPoints,
+ "Back to the main menu.", L_Begin,
+ "Close.", -;
+ close;
+
+L_ChangeAllStats:
+ statusup2 bStr, 99 - readparam(bStr);
+ statusup2 bAgi, 99 - readparam(bAgi);
+ statusup2 bVit, 99 - readparam(bVit);
+ statusup2 bInt, 99 - readparam(bInt);
+ statusup2 bDex, 99 - readparam(bDex);
+ statusup2 bLuk, 99 - readparam(bLuk);
+ mes "You now have 99 in all stats.";
+ next;
+ goto L_Begin;
+
+L_ChangeStrength:
+ mes "How much strength do you want to have (min: 1 - max: 99)?";
+ input @str;
+ if (@str < 1)
+ goto L_StatTooLow;
+ if (@str > 99)
+ goto L_StatTooHigh;
+ statusup2 bStr, @str - readparam(bStr);
+ goto L_ChangeAgility;
+
+L_ChangeAgility:
+ mes "How much agility do you want to have (min: 1 - max: 99)?";
+ input @agi;
+ if (@agi < 1)
+ goto L_StatTooLow;
+ if (@agi > 99)
+ goto L_StatTooHigh;
+ statusup2 bAgi, @agi - readparam(bAgi);
+ goto L_ChangeVitality;
+
+L_ChangeVitality:
+ mes "How much vitality do you want to have (min: 1 - max: 99)?";
+ input @vit;
+ if (@vit < 1)
+ goto L_StatTooLow;
+ if (@vit > 99)
+ goto L_StatTooHigh;
+ statusup2 bVit, @vit - readparam(bVit);
+ goto L_ChangeIntelligence;
+
+L_ChangeIntelligence:
+ mes "How much intelligence do you want to have (min: 1 - max: 99)?";
+ input @int;
+ if (@int < 1)
+ goto L_StatTooLow;
+ if (@int > 99)
+ goto L_StatTooHigh;
+ statusup2 bInt, @int - readparam(bInt);
+ goto L_ChangeDexterity;
+
+L_ChangeDexterity:
+ mes "How much dexterity do you want to have (min: 1 - max: 99)?";
+ input @dex;
+ if (@dex < 1)
+ goto L_StatTooLow;
+ if (@dex > 99)
+ goto L_StatTooHigh;
+ statusup2 bDex, @dex - readparam(bDex);
+ goto L_ChangeLuck;
+
+L_ChangeLuck:
+ mes "How much luck do you want to have (min: 1 - max: 99)?";
+ input @luk;
+ if (@luk < 1)
+ goto L_StatTooLow;
+ if (@luk > 99)
+ goto L_StatTooHigh;
+ statusup2 bLuk, @luk - readparam(bLuk);
+ mes "You now have " + readparam(bStr) + " in strength.";
+ mes "You now have " + readparam(bAgi) + " in agility.";
+ mes "You now have " + readparam(bVit) + " in vitality.";
+ mes "You now have " + readparam(bInt) + " in intelligence.";
+ mes "You now have " + readparam(bDex) + " in dexterity.";
+ mes "You now have " + readparam(bLuk) + " in luck.";
+ next;
+ goto L_Begin;
+
+L_StatTooLow:
+ mes "Bad choice. Minimum stat value is 1. Aborting.";
+ next;
+ goto L_Status;
+
+L_StatTooHigh:
+ mes "Bad choice. Maximum stat value is 99. Aborting.";
+ next;
+ goto L_Status;
+
+L_ChangeSingleStat:
+ mes "Which stat do you want to change?";
+ menu
+ "Strength.", L_ChangeStrengthSingle,
+ "Agility.", L_ChangeAgilitySingle,
+ "Vitality.", L_ChangeVitalitySingle,
+ "Intelligence.", L_ChangeIntelligenceSingle,
+ "Dexterity.", L_ChangeDexteritySingle,
+ "Luck.", L_ChangeLuckSingle,
+ "Back to the main menu.", L_Begin,
+ "Close.", -;
+ close;
+
+L_ChangeStrengthSingle:
+ mes "How much strength do you want to have (min: 1 - max: 99)?";
+ input @str;
+ if (@str < 1)
+ goto L_StatTooLow;
+ if (@str > 99)
+ goto L_StatTooHigh;
+ statusup2 bStr, @str - readparam(bStr);
+ mes "You now have " + readparam(bStr) + " in strength.";
+ next;
+ goto L_Begin;
+
+L_ChangeAgilitySingle:
+ mes "How much agility do you want to have (min: 1 - max: 99)?";
+ input @agi;
+ if (@agi < 1)
+ goto L_StatTooLow;
+ if (@agi > 99)
+ goto L_StatTooHigh;
+ statusup2 bAgi, @agi - readparam(bAgi);
+ mes "You now have " + readparam(bAgi) + " in agility.";
+ next;
+ goto L_Begin;
+
+L_ChangeVitalitySingle:
+ mes "How much vitality do you want to have (min: 1 - max: 99)?";
+ input @vit;
+ if (@vit < 1)
+ goto L_StatTooLow;
+ if (@vit > 99)
+ goto L_StatTooHigh;
+ statusup2 bVit, @vit - readparam(bVit);
+ mes "You now have " + readparam(bVit) + " in vitality.";
+ next;
+ goto L_Begin;
+
+L_ChangeIntelligenceSingle:
+ mes "How much intelligence do you want to have (min: 1 - max: 99)?";
+ input @int;
+ if (@int < 1)
+ goto L_StatTooLow;
+ if (@int > 99)
+ goto L_StatTooHigh;
+ statusup2 bInt, @int - readparam(bInt);
+ mes "You now have " + readparam(bInt) + " in intelligence.";
+ next;
+ goto L_Begin;
+
+L_ChangeDexteritySingle:
+ mes "How much dexterity do you want to have (min: 1 - max: 99)?";
+ input @dex;
+ if (@dex < 1)
+ goto L_StatTooLow;
+ if (@dex > 99)
+ goto L_StatTooHigh;
+ statusup2 bDex, @dex - readparam(bDex);
+ mes "You now have " + readparam(bDex) + " in dexterity.";
+ next;
+ goto L_Begin;
+
+L_ChangeLuckSingle:
+ mes "How much luck do you want to have (min: 1 - max: 99)?";
+ input @luk;
+ if (@luk < 1)
+ goto L_StatTooLow;
+ if (@luk > 99)
+ goto L_StatTooHigh;
+ statusup2 bLuk, @luk - readparam(bLuk);
+ mes "You now have " + readparam(bLuk) + " in luck.";
+ next;
+ goto L_Begin;
+
+L_ResetStatusPoints:
+ resetstatus;
+ mes "Stats successfully resetted.";
+ next;
+ goto L_Begin;
+
+L_BasicSkills:
+ set @emote, getskilllv(SKILL_EMOTE);
+ set @trade, getskilllv(SKILL_TRADE);
+ set @party, getskilllv(SKILL_PARTY);
+ menu
+ "Overview of my basic skills.", L_BasicSkillsOverview,
+ "Add basic skills.", L_AddBasicSkills,
+ "Reset basic skills.", L_ResetBasicSkills,
+ "Back to main menu.", L_Begin,
+ "Close.", -;
+ close;
+
+L_BasicSkillsOverview:
+ mes "Your level in the emote skill is " + @emote + ".";
+ mes "Your level in the trade skill is " + @trade + ".";
+ mes "Your level in the party skill is " + @party + ".";
+ next;
+ goto L_BasicSkills;
+
+L_AddBasicSkills:
+ menu
+ "Emote", L_ChangeEmoteSkill,
+ "Trade.", L_ChangeTradeSkill,
+ "Party.", L_ChangePartySkill,
+ "All basic skills to their maximum level.", L_AllBasicSkills,
+ "Back to the basic skills menu.", L_BasicSkills,
+ "Close.", -;
+ close;
+
+L_ChangeEmoteSkill:
+ mes "Your level in the emote skill is " + @emote + ". What do you want to do?";
+ menu
+ "Get level 0.", -,
+ "Get level 1.", L_ChangeEmoteSkill1;
+ if (@menu == 1)
+ setskill SKILL_EMOTE, 0;
+ mes "Emote skill changed to level 0.";
next;
- goto L_Level;
+ goto L_BasicSkills;
-L_Leveltoohigh:
- mes "Bad choice. Maximum level is 255.";
+L_ChangeEmoteSkill1:
+ setskill SKILL_EMOTE, 1;
+ mes "Emote skill changed to level 1.";
next;
- goto L_Level;
+ goto L_BasicSkills;
-L_Skills:
+L_ChangeTradeSkill:
+ mes "Your level in the trade skill is " + @trade + ". What do you want to do?";
+ menu
+ "Get level 0.", -,
+ "Get level 1.", L_ChangeTradeSkill1;
+ if (@menu == 1)
+ setskill SKILL_TRADE, 0;
+ mes "Trade skill changed to level 0.";
+ next;
+ goto L_BasicSkills;
+
+L_ChangeTradeSkill1:
+ setskill SKILL_TRADE, 1;
+ mes "Trade skill changed to level 1.";
+ next;
+ goto L_BasicSkills;
+
+L_ChangePartySkill:
+ mes "Your level in the party skill is " + @trade + ". What do you want to do?";
+ menu
+ "Get level 0.", -,
+ "Get level 1.", L_ChangePartySkill1,
+ "Get level 2.", L_ChangePartySkill2;
+ if (@menu == 1)
+ setskill SKILL_PARTY, 0;
+ mes "Party skill changed to level 0.";
+ next;
+ goto L_BasicSkills;
+
+L_ChangePartySkill1:
+ setskill SKILL_PARTY, 1;
+ mes "Party skill changed to level 1.";
+ next;
+ goto L_BasicSkills;
+
+L_ChangePartySkill2:
+ setskill SKILL_PARTY, 2;
+ mes "Party skill changed to level 2.";
+ next;
+ goto L_BasicSkills;
+
+L_AllBasicSkills:
+ setskill SKILL_EMOTE, 1;
+ setskill SKILL_TRADE, 1;
+ setskill SKILL_PARTY, 2;
+ mes "Basic skills added.";
+ next;
+ goto L_BasicSkills;
+
+L_ResetBasicSkills:
+ setskill SKILL_EMOTE, 0;
+ setskill SKILL_TRADE, 0;
+ setskill SKILL_PARTY, 0;
+ mes "Basic skills removed.";
+ next;
+ goto L_BasicSkills;
+
+L_FocusSkills:
+ set @pool, getskilllv(SKILL_POOL);
set @mallard, getskilllv(SKILL_MALLARDS_EYE);
set @brawling, getskilllv(SKILL_BRAWLING);
set @speed, getskilllv(SKILL_SPEED);
set @poison, getskilllv(SKILL_RESIST_POISON);
set @astralsoul, getskilllv(SKILL_ASTRAL_SOUL);
- set @raging, getskilllv(SKILL_WARRIOR_RAGING);
-
+ set @raging, getskilllv(SKILL_RAGING);
menu
- "Overview of my skills", L_Seeskills,
- "Focus/Unfocus", L_Unfocus,
- "Add skills", L_Changeskills,
- "Reset skills", L_Resetskills,
- "Back to main menu", L_Begin,
- "Close", -;
+ "Overview of my focus skills.", L_SeeFocusSkills,
+ "Focus or unfocus.", L_Unfocus,
+ "Add focus skills.", L_ChangeFocusSkills,
+ "Reset focus skills.", L_ResetFocusSkills,
+ "Back to the main menu.", L_Begin,
+ "Close.", -;
close;
+L_SeeFocusSkills:
+ cleararray @skilllist_name$[0], "", 8;
+ cleararray @skilllist_id[0], 0, 8;
+ cleararray @skilllist_count[0], 0, 8;
+ getactivatedpoolskilllist;
+ if (@skilllist_count == 0)
+ goto L_NotFocusedMessage;
+ if (@skilllist_count != 0)
+ mes "You are currently focused on the " + @skilllist_name$[@skilllist_count-1] + " skill.";
+ goto L_FocusSkills;
+
+L_NotFocusedMessage:
+ mes "You are not focused on any skill right now.";
+ goto L_FocusSkillsOverview;
+
+L_FocusSkillsOverview:
+ mes "Your focusing skill level is " + @pool + ".";
+ mes "Your mallard's eye skill level is " + @mallard + ".";
+ mes "Your brawling skill level is " + @brawling + ".";
+ mes "Your speed skill level is " + @speed + ".";
+ mes "Your resist poison skill level is " + @poison + ".";
+ mes "Your astral soul skill level is " + @astralsoul + ".";
+ mes "Your raging skill level is " + @raging + ".";
+ next;
+ goto L_FocusSkills;
+
L_Unfocus:
cleararray @skilllist_name$[0], "", 8;
cleararray @skilllist_id[0], 0, 8;
@@ -73,17 +394,9 @@ L_Unfocus:
goto L_Focus;
getactivatedpoolskilllist;
if (@skilllist_count != 0)
- goto L_Askunfocus;
- mes "You aren't focused on a skill at the moment";
- goto L_Skills;
-
-L_Askunfocus:
- mes "Unfocus " + @skilllist_name$[@skilllist_count-1] + "?";
- menu
- "Yes", -,
- "No", L_Skills;
- unpoolskill @skilllist_id[@skilllist_count-1];
- goto L_Skills;
+ goto L_AskUnfocus;
+ mes "You are not focused on a skill at the moment.";
+ goto L_FocusSkills;
L_Focus:
cleararray @skilllist_name$[0], "", 8;
@@ -91,10 +404,10 @@ L_Focus:
cleararray @skilllist_count[0], 0, 8;
getunactivatedpoolskilllist;
if (@skilllist_count == 0)
- goto L_Noskills;
+ goto L_NoFocusSkills;
set @skilllist_id[@skilllist_count], 0;
- set @skilllist_name$[@skilllist_count], "Back to skills menu";
- mes "You don't have any skill focused right now. Which one do you want to focus?";
+ set @skilllist_name$[@skilllist_count], "Back to the focus skills menu.";
+ mes "You are not focused on any focus skill right now. Which one do you want to focus on?";
menu
@skilllist_name$[0], -,
@skilllist_name$[1], -,
@@ -106,334 +419,448 @@ L_Focus:
@skilllist_name$[7], -;
set @menu, @menu - 1;
poolskill @skilllist_id[@menu];
- goto L_Skills;
-
-L_Noskills:
- mes "You have no skills to focus/unfocus.";
- goto L_Skills;
+ goto L_FocusSkills;
-L_Seeskills:
- cleararray @skilllist_name$[0], "", 8;
- cleararray @skilllist_id[0], 0, 8;
- cleararray @skilllist_count[0], 0, 8;
- getactivatedpoolskilllist;
- if (@skilllist_count == 0)
- goto L_Focusmessage;
- if (@skilllist_count != 0)
- mes "You are focused on " + @skilllist_name$[@skilllist_count-1] + " skill.";
+L_NoFocusSkills:
+ mes "You have no skills to focus on or unfocus from.";
+ goto L_FocusSkills;
-L_Skillsoverview:
- mes "You level in mallards eye skill is " + @mallard;
- mes "You level in brawling skill is " + @brawling;
- mes "You level in speed skill is " + @speed;
- mes "You level in resist poison skill is " + @poison;
- mes "You level in astral soul skill is " + @astralsoul;
- mes "You level in raging skill is " + @raging;
- next;
- goto L_Skills;
-
-L_Focusmessage:
- mes "You don't have any skill focused right now.";
- goto L_Skillsoverview;
+L_AskUnfocus:
+ mes "Unfocus " + @skilllist_name$[@skilllist_count-1] + "?";
+ menu
+ "Yes.", -,
+ "No.", L_FocusSkills;
+ unpoolskill @skilllist_id[@skilllist_count-1];
+ goto L_FocusSkills;
-L_Changeskills:
+L_ChangeFocusSkills:
menu
- "Mallards eye", L_Changemallard,
- "Brawling", L_Changebrawling,
- "Speed", L_Changespeed,
- "Resist Poison", L_Changepoison,
- "Astral Soul", L_Changeastralsoul,
- "Raging", L_Changeraging,
- "All skills level 9", L_AllSkills,
- "Back to skills menu", L_Skills,
- "Close", -;
+ "Focusing.", L_ChangeFocusingSkill,
+ "Mallard's Eye.", L_ChangeMallardsEyeSkill,
+ "Brawling.", L_ChangeBrawlingSkill,
+ "Speed.", L_ChangeSpeedSkill,
+ "Resist Poison.", L_ChangeResistPoisonSkill,
+ "Astral Soul.", L_ChangeAstralSoulSkill,
+ "Raging.", LChangeRagingSkill,
+ "All focus skills to their maximum level.", L_AllFocusSkills,
+ "Back to the focus skills menu.", L_FocusSkills,
+ "Close.", -;
close;
-L_Badskilllvl:
- mes "Invalid skill lvl. Try again.";
+L_BadSkillLevel:
+ mes "Invalid skill level.";
+ next;
+ goto L_ChangeFocusSkills;
+
+L_ChangeFocusingSkill:
+ mes "Enter the level you want to be in this skill (min: 0 - max: 1).";
+ input @lvl;
+ if (@lvl > 1)
+ goto L_BadSkillLevel;
+ setskill SKILL_POOL, @lvl;
next;
- goto L_Changeskills;
+ goto L_FocusSkills;
-L_Changemallard:
- mes "Enter the lvl you want to be in this skill(min: 1 - max: 9):";
+L_ChangeMallardsEyeSkill:
+ mes "Enter the level you want to be in this skill (min: 0 - max: 9).";
input @lvl;
- if (@lvl < 1 || @lvl > 9)
- goto L_Badskilllvl;
+ if (@lvl > 9)
+ goto L_BadSkillLevel;
setskill SKILL_MALLARDS_EYE, @lvl;
- goto L_Skills;
+ next;
+ goto L_FocusSkills;
-L_Changebrawling:
- mes "Enter the lvl you want to be in this skill(min: 1 - max: 9):";
+L_ChangeBrawlingSkill:
+ mes "Enter the lvl you want to be in this skill (min: 0 - max: 9).";
input @lvl;
- if (@lvl < 1 || @lvl > 9)
- goto L_Badskilllvl;
+ if (@lvl > 9)
+ goto L_BadSkillLevel;
setskill SKILL_BRAWLING, @lvl;
- goto L_Skills;
+ next;
+ goto L_FocusSkills;
-L_Changespeed:
- mes "Enter the lvl you want to be in this skill(min: 1 - max: 9):";
+L_ChangeSpeedSkill:
+ mes "Enter the lvl you want to be in this skill (min: 0 - max: 9).";
input @lvl;
- if (@lvl < 1 || @lvl > 9)
- goto L_Badskilllvl;
+ if (@lvl > 9)
+ goto L_BadSkillLevel;
setskill SKILL_SPEED, @lvl;
- goto L_Skills;
+ next;
+ goto L_FocusSkills;
-L_Changepoison:
- mes "Enter the lvl you want to be in this skill(min: 1 - max: 9):";
+L_ChangeResistPoisonSkill:
+ mes "Enter the lvl you want to be in this skill (min: 0 - max: 9).";
input @lvl;
- if (@lvl < 1 || @lvl > 9)
- goto L_Badskilllvl;
+ if (@lvl > 9)
+ goto L_BadSkillLevel;
setskill SKILL_RESIST_POISON, @lvl;
- goto L_Skills;
+ next;
+ goto L_FocusSkills;
-L_Changeastralsoul:
- mes "Enter the lvl you want to be in this skill(min: 1 - max: 9):";
+L_ChangeAstralSoulSkill:
+ mes "Enter the lvl you want to be in this skill (min: 0 - max: 9).";
input @lvl;
- if (@lvl < 1 || @lvl > 9)
- goto L_Badskilllvl;
+ if (@lvl > 9)
+ goto L_BadSkillLevel;
setskill SKILL_ASTRAL_SOUL, @lvl;
- goto L_Skills;
+ next;
+ goto L_FocusSkills;
-L_Changeraging:
- mes "Enter the lvl you want to be in this skill(min: 1 - max: 9):";
+L_ChangeRagingSkill:
+ mes "Enter the lvl you want to be in this skill (min: 0 - max: 9).";
input @lvl;
- if (@lvl < 1 || @lvl > 9)
- goto L_Badskilllvl;
- setskill SKILL_WARRIOR_RAGING, @lvl;
- goto L_Skills;
+ if (@lvl > 9)
+ goto L_BadSkillLevel;
+ setskill SKILL_RAGING, @lvl;
+ next;
+ goto L_FocusSkills;
-L_AllSkills:
+L_AllFocusSkills:
+ setskill SKILL_POOL, 1;
setskill SKILL_MALLARDS_EYE, 9;
setskill SKILL_BRAWLING, 9;
setskill SKILL_SPEED, 9;
setskill SKILL_RESIST_POISON, 9;
setskill SKILL_ASTRAL_SOUL, 9;
- setskill SKILL_WARRIOR_RAGING, 9;
- goto L_Skills;
+ setskill SKILL_RAGING, 9;
+ mes "Focus skills added.";
+ next;
+ goto L_FocusSkills;
-L_Resetskills:
+L_ResetFocusSkills:
+ setskill SKILL_POOL, 0;
setskill SKILL_MALLARDS_EYE, 0;
setskill SKILL_BRAWLING, 0;
setskill SKILL_SPEED, 0;
setskill SKILL_RESIST_POISON, 0;
setskill SKILL_ASTRAL_SOUL, 0;
- setskill SKILL_WARRIOR_RAGING, 0;
- goto L_Skills;
+ setskill SKILL_RAGING, 0;
+ mes "Focus skills removed.";
+ next;
+ goto L_FocusSkills;
-L_Magic:
+L_MagicSkills:
set @general, getskilllv(SKILL_MAGIC);
set @life, getskilllv(SKILL_MAGIC_LIFE);
set @war, getskilllv(SKILL_MAGIC_WAR);
set @trans, getskilllv(SKILL_MAGIC_TRANSMUTE);
set @nature, getskilllv(SKILL_MAGIC_NATURE);
set @astral, getskilllv(SKILL_MAGIC_ASTRAL);
-
menu
- "Overview of my magical skills", L_Seemagic,
- "Get magic skills", L_Changemagic,
- "Get magic experience", L_Magicexp,
- "Get all magic skills lvl2 and max exp", L_GetAllMagic,
- "Reset magic", L_Resetmagic,
- "Back to main menu", L_Begin,
- "Close", -;
+ "Overview of my magical skills.", L_MagicSkillsOverview,
+ "Get magic skills.", L_ChangeMagicSkills,
+ "Get magic experience.", L_MagicExperience,
+ "All magic skills to their maximum level and maximum magic experience.", L_GetAllMagic,
+ "Reset magic skills and experience.", L_ResetMagicSkills,
+ "Back to the main menu.", L_Begin,
+ "Close.", -;
close;
-L_Nomagicskills:
- mes "You can't have magic experience, since you have no magic skills.";
- goto L_Magic;
-
-L_GetAllMagic:
- setskill SKILL_MAGIC, 2;
- setskill SKILL_MAGIC_LIFE, 2;
- setskill SKILL_MAGIC_WAR, 2;
- setskill SKILL_MAGIC_TRANSMUTE, 2;
- setskill SKILL_MAGIC_NATURE, 2;
- setskill SKILL_MAGIC_ASTRAL, 2;
- set @mexp, 1200;
- callsub S_Update_Mask;
- goto L_Magic;
-
-L_Resetmagic:
- setskill SKILL_MAGIC, 0;
- setskill SKILL_MAGIC_LIFE, 0;
- setskill SKILL_MAGIC_WAR, 0;
- setskill SKILL_MAGIC_TRANSMUTE, 0;
- setskill SKILL_MAGIC_NATURE, 0;
- setskill SKILL_MAGIC_ASTRAL, 0;
- set @mexp, 0;
- callsub S_Update_Mask;
- goto L_Magic;
-
-L_Wrongexp:
- mes "Wrong value informed. Try again.";
+L_MagicSkillsOverview:
+ mes "Your current magic experience skill is " + @mexp + ".";
+ mes "Your level in the general magic skill is " + @general + ".";
+ mes "Your level in the life magic skill is " + @life + ".";
+ mes "Your level in the war magic skill is " + @war + ".";
+ mes "Your level in the transmutation magic skill is " + @trans + ".";
+ mes "Your level in the nature magic skill is " + @nature + ".";
+ mes "Your level in the astral magic skill is " + @astral + ".";
+ next;
+ goto L_MagicSkills;
-L_Magicexp:
- mes "Your current magic experience is " + @mexp;
+L_MagicExperience:
+ mes "Your current magic experience is " + @mexp + ".";
if (@general == 0
&& @life == 0
&& @war == 0
&& @trans == 0
&& @nature == 0
&& @astral == 0)
- goto L_Nomagicskills;
+ goto L_NoMagicSkills;
if (@general == 2
|| @life == 2
|| @war == 2
|| @trans == 2
|| @nature == 2
|| @astral == 2)
- goto L_Magicexp2;
+ goto L_ChangeMagicExperience;
-L_Magicexp1:
- mes "Set the desired magic experience (min: 1 - max: 100)";
- input @value;
- if (@value < 1 || @value > 100)
- goto L_Wrongexp;
- set @mexp, @value;
- callsub S_Update_Mask;
- goto L_Magic;
+L_NoMagicSkills:
+ mes "You can't have magic experience, since you have no magic skills yet.";
+ goto L_MagicSkills;
-L_Magicexp2:
- mes "Set the desired magic experience (min: 100 - max: 1200)";
+L_ChangeMagicExperience:
+ mes "Set the desired magic experience (min: 100 - max: 8000).";
input @value;
- if (@value < 100 || @value > 1200)
- goto L_Wrongexp;
+ if (@value < 100 || @value > 8000)
+ goto L_WrongMagicExperience;
set @mexp, @value;
callsub S_Update_Mask;
- goto L_Magic;
+ mes "You now have " + @mexp + " magic experience points.";
+ goto L_MagicSkills;
-L_Changemagic:
+L_WrongMagicExperience:
+ mes "Wrong value informed. Aborting.";
+ goto L_MagicSkills;
+
+L_ChangeMagicSkills:
menu
- "General Magic", L_Changegeneral,
- "Life Magic", L_Changelife,
- "War Magic", L_Changewar,
- "Transmutation Magic", L_Changetrans,
- "Nature Magic", L_Changenature,
- "Astral Magic", L_Changeastral,
- "Back to magic menu", L_Magic,
- "Close", -;
+ "General Magic.", L_ChangeGeneralMagicSkill,
+ "Life Magic.", L_ChangeLifeMagicSkill,
+ "War Magic.", L_ChangeWarMagicskill,
+ "Transmutation Magic.", L_ChangeTransmutationMagicSkill,
+ "Nature Magic.", L_ChangeNatureMagicSkill,
+ "Astral Magic.", L_ChangeAstralMagicSkill,
+ "Back to the magic skills menu.", L_MagicSkills,
+ "Close.", -;
close;
-L_Seemagic:
- mes "Your current magic experience is " + @mexp;
- mes "You level in general magic is " + @general;
- mes "You level in life magic is " + @life;
- mes "You level in war magic is " + @war;
- mes "You level in transmutation magic is " + @trans;
- mes "You level in nature magic is " + @nature;
- mes "You level in astral magic is " + @astral;
- next;
- goto L_Magic;
-
-L_Changegeneral:
- mes "You level in general magic is " + @general + ". What do you want to do?";
+L_ChangeGeneralMagicSkill:
+ mes "Your level in the general magic skill is " + @general + ". What do you want to do?";
menu
- "Get Level one", -,
- "Get Level two", L_Generallvl2,
- "Back to magic menu", L_Magic;
+ "Get level 0.", -,
+ "Get level 1.", L_ChangeGeneralMagicSkill1,
+ "Get level 2.", L_ChangeGeneralMagicSkill2;
if (@menu == 1)
- setskill SKILL_MAGIC, 1;
- goto L_Magic;
+ setskill SKILL_MAGIC, 0;
+ mes "General Magic skill changed to level 0.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeGeneralMagicSkill1:
+ setskill SKILL_MAGIC, 1;
+ mes "General Magic skill changed to level 1.";
+ next;
+ goto L_MagicSkills;
-L_Generallvl2:
+L_ChangeGeneralMagicSkill2:
setskill SKILL_MAGIC, 2;
if (@mexp < 100)
set @mexp, 100;
callsub S_Update_Mask;
- goto L_Magic;
+ mes "General Magic skill changed to level 2.";
+ next;
+ goto L_MagicSkills;
-L_Changelife:
- mes "You level in life magic is " + @war + ". What do you want to do?";
+L_ChangeLifeMagicSkill:
+ mes "Your level in the life magic skill is " + @life + ". What do you want to do?";
menu
- "Get Level one", -,
- "Get Level two", L_Lifelvl2,
- "Back to magic menu", L_Magic;
+ "Get level 0.", -,
+ "Get level 1.", L_ChangeLifeMagicSkill1,
+ "Get level 2.", L_ChangeLifeMagicSkill2;
if (@menu == 1)
- setskill SKILL_MAGIC_LIFE, 1;
- goto L_Magic;
+ setskill SKILL_MAGIC_LIFE, 0;
+ mes "Life Magic skill changed to level 0.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeLifeMagicSkill1:
+ setskill SKILL_MAGIC_LIFE, 1;
+ mes "Life Magic skill changed to level 1.";
+ next;
+ goto L_MagicSkills;
-L_Lifelvl2:
+L_ChangeLifeMagicSkill2:
setskill SKILL_MAGIC_LIFE, 2;
if (@mexp < 100)
set @mexp, 100;
callsub S_Update_Mask;
- goto L_Magic;
+ mes "Life Magic skill changed to level 2.";
+ next;
+ goto L_MagicSkills;
-L_Changewar:
- mes "You level in war magic is " + @war + ". What do you want to do?";
+L_ChangeWarMagicSkill:
+ mes "Your level in the war magic skill is " + @war + ". What do you want to do?";
menu
- "Get Level one", -,
- "Get Level two", L_Warlvl2,
- "Back to magic menu", L_Magic;
+ "Get level 0.", -,
+ "Get level 1.", L_ChangeWarMagicSkill1,
+ "Get level 2.", L_ChangeWarMagicSkill2;
if (@menu == 1)
- setskill SKILL_MAGIC_WAR, 1;
- goto L_Magic;
+ setskill SKILL_MAGIC_WAR, 0;
+ mes "War Magic skill changed to level 0.";
+ next;
+ goto L_MagicSkills;
-L_Warlvl2:
+L_ChangeWarMagicSkill1:
+ setskill SKILL_MAGIC_WAR, 1;
+ mes "War Magic skill changed to level 1.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeWarMagicSkill2:
setskill SKILL_MAGIC_WAR, 2;
if (@mexp < 100)
set @mexp, 100;
callsub S_Update_Mask;
- goto L_Magic;
+ mes "War Magic skill changed to level 2.";
+ next;
+ goto L_MagicSkills;
-L_Changetrans:
- mes "You level in transmutation magic is " + @trans + ". What do you want to do?";
+L_ChangeTransmutationMagicSkill:
+ mes "Your level in the transmutation magic skill is " + @trans + ". What do you want to do?";
menu
- "Get Level one", -,
- "Get Level two", L_Translvl2,
- "Back to magic menu", L_Magic;
+ "Get level 0.", -,
+ "Get level 1.", L_ChangeTransmutationMagicSkill1,
+ "Get level 2.", L_ChangeTransmutationMagicSkill2;
if (@menu == 1)
- setskill SKILL_MAGIC_TRANSMUTE, 1;
- goto L_Magic;
+ setskill SKILL_MAGIC_TRANSMUTE, 0;
+ mes "Transmutation Magic skill changed to level 0.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeTransmutationMagicSkill1:
+ setskill SKILL_MAGIC_TRANSMUTE, 1;
+ mes "Transmutation Magic skill changed to level 1.";
+ next;
+ goto L_MagicSkills;
-L_Translvl2:
+L_ChangeTransmutationMagicSkill2:
setskill SKILL_MAGIC_TRANSMUTE, 2;
if (@mexp < 100)
set @mexp, 100;
callsub S_Update_Mask;
- goto L_Magic;
+ mes "Transmutation Magic skill changed to level 2.";
+ next;
+ goto L_MagicSkills;
-L_Changenature:
- mes "You level in nature magic is " + @nature + ". What do you want to do?";
+L_ChangeNatureMagicSkill:
+ mes "Your level in the nature magic skill is " + @nature + ". What do you want to do?";
menu
- "Get Level one", -,
- "Get Level two", L_Naturelvl2,
- "Back to magic menu", L_Magic;
+ "Get level 0.", -,
+ "Get level 1.", L_ChangeNatureMagicSkill1,
+ "Get level 2.", L_ChangeNatureMagicSkill2;
if (@menu == 1)
- setskill SKILL_MAGIC_NATURE, 1;
- goto L_Magic;
+ setskill SKILL_MAGIC_NATURE, 0;
+ mes "Nature Magic skill changed to level 0.";
+ next;
+ goto L_MagicSkills;
-L_Naturelvl2:
+L_ChangeNatureMagicSkill1:
+ setskill SKILL_MAGIC_NATURE, 1;
+ mes "Nature Magic skill changed to level 1.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeNatureMagicSkill2:
setskill SKILL_MAGIC_NATURE, 2;
if (@mexp < 100)
set @mexp, 100;
callsub S_Update_Mask;
- close;
+ mes "Nature Magic skill changed to level 2.";
+ next;
+ goto L_MagicSkills;
-L_Changeastral:
- mes "You level in astral magic is " + @astral + ". What do you want to do?";
+L_ChangeAstralMagicSkill:
+ mes "Your level in the astral magic skill is " + @astral + ". What do you want to do?";
menu
- "Get Level one", -,
- "Get Level two", L_Astrallvl2,
- "Back to magic menu", L_Magic;
+ "Get level 0.", -,
+ "Get level 1.", L_ChangeAstralMagicSkill1,
+ "Get level 2.", L_ChangeAstralMagicSkill2;
if (@menu == 1)
- setskill SKILL_MAGIC_ASTAL, 1;
+ setskill SKILL_MAGIC_ASTAL, 0;
+ mes "Astral Magic skill changed to level 0.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeAstralMagicSkill1:
+ setskill SKILL_MAGIC_ASTRAL, 1;
+ mes "Astral Magic skill changed to level 1.";
+ next;
goto L_Magic;
-L_Astrallvl2:
+L_ChangeAstralMagicSkill2:
setskill SKILL_MAGIC_ASTRAL, 2;
if (@mexp < 100)
set @mexp, 100;
callsub S_Update_Mask;
+ mes "Astral Magic skill changed to level 2.";
+ next;
goto L_Magic;
-L_Status:
- resetstatus;
- goto L_Begin;
-
S_Update_Mask:
set MAGIC_EXPERIENCE,
(MAGIC_EXPERIENCE & ~(@debug_mask))
| (@mexp << @debug_shift);
return;
+
+L_GetAllMagic:
+ setskill SKILL_MAGIC, 2;
+ setskill SKILL_MAGIC_LIFE, 2;
+ setskill SKILL_MAGIC_WAR, 2;
+ setskill SKILL_MAGIC_TRANSMUTE, 2;
+ setskill SKILL_MAGIC_NATURE, 2;
+ setskill SKILL_MAGIC_ASTRAL, 2;
+ set @mexp, 8000;
+ callsub S_Update_Mask;
+ mes "Magic skills added.";
+ next;
+ goto L_MagicSkills;
+
+L_ResetMagicSkills:
+ setskill SKILL_MAGIC, 0;
+ setskill SKILL_MAGIC_LIFE, 0;
+ setskill SKILL_MAGIC_WAR, 0;
+ setskill SKILL_MAGIC_TRANSMUTE, 0;
+ setskill SKILL_MAGIC_NATURE, 0;
+ setskill SKILL_MAGIC_ASTRAL, 0;
+ set @mexp, 0;
+ callsub S_Update_Mask;
+ mes "Magic skills removed.";
+ next;
+ goto L_MagicSkills;
+
+L_AddAll:
+ setskill SKILL_EMOTE, 1;
+ setskill SKILL_TRADE, 1;
+ setskill SKILL_PARTY, 2;
+ setskill SKILL_POOL, 1;
+ setskill SKILL_MALLARDS_EYE, 9;
+ setskill SKILL_BRAWLING, 9;
+ setskill SKILL_SPEED, 9;
+ setskill SKILL_RESIST_POISON, 9;
+ setskill SKILL_ASTRAL_SOUL, 9;
+ setskill SKILL_RAGING, 9;
+ setskill SKILL_MAGIC, 2;
+ setskill SKILL_MAGIC_LIFE, 2;
+ setskill SKILL_MAGIC_WAR, 2;
+ setskill SKILL_MAGIC_TRANSMUTE, 2;
+ setskill SKILL_MAGIC_NATURE, 2;
+ setskill SKILL_MAGIC_ASTRAL, 2;
+ set @mexp, 8000;
+ resetstatus;
+ set BaseLevel, 99;
+ mes "All skills added to their maximum level.";
+ mes "Maximum number of Magic Experience points.";
+ mes "You are now level " + BaseLevel + ".";
+ next;
+ goto L_Begin;
+
+L_ResetAll:
+ cleararray @skilllist_name$[0], "", 8;
+ cleararray @skilllist_id[0], 0, 8;
+ cleararray @skilllist_count[0], 0, 8;
+ setskill SKILL_EMOTE, 0;
+ setskill SKILL_TRADE, 0;
+ setskill SKILL_PARTY, 0;
+ setskill SKILL_POOL, 0;
+ setskill SKILL_MALLARDS_EYE, 0;
+ setskill SKILL_BRAWLING, 0;
+ setskill SKILL_SPEED, 0;
+ setskill SKILL_RESIST_POISON, 0;
+ setskill SKILL_ASTRAL_SOUL, 0;
+ setskill SKILL_RAGING, 0;
+ setskill SKILL_MAGIC, 0;
+ setskill SKILL_MAGIC_LIFE, 0;
+ setskill SKILL_MAGIC_WAR, 0;
+ setskill SKILL_MAGIC_TRANSMUTE, 0;
+ setskill SKILL_MAGIC_NATURE, 0;
+ setskill SKILL_MAGIC_ASTRAL, 0;
+ set @mexp, 0;
+ resetstatus;
+ set BaseLevel, 1;
+ mes "All skills removed.";
+ mes "Minimum number of Magic Experience points.";
+ mes "You are now level " + BaseLevel + ".";
+ next;
+ goto L_Begin;
+
}