diff options
Diffstat (limited to 'world')
-rw-r--r-- | world/map/db/const.txt | 5 | ||||
-rwxr-xr-x[-rw-r--r--] | world/map/npc/functions/debug.txt | 931 |
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; + } |