diff options
author | Jesusaves <cpntb1@ymail.com> | 2021-04-09 13:33:57 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2021-04-09 13:33:57 -0300 |
commit | cf18ce071c79ae37e14ea38943e0b1d88da70a7b (patch) | |
tree | f9159c9b60b3018300dd22ffba0d797bc5e828e5 /npc/commands/debug.txt | |
parent | 8a4bf716002a017de77fe7df301ef8e4aaf00a2e (diff) | |
download | serverdata-cf18ce071c79ae37e14ea38943e0b1d88da70a7b.tar.gz serverdata-cf18ce071c79ae37e14ea38943e0b1d88da70a7b.tar.bz2 serverdata-cf18ce071c79ae37e14ea38943e0b1d88da70a7b.tar.xz serverdata-cf18ce071c79ae37e14ea38943e0b1d88da70a7b.zip |
Override
Diffstat (limited to 'npc/commands/debug.txt')
-rwxr-xr-x[-rw-r--r--] | npc/commands/debug.txt | 1109 |
1 files changed, 974 insertions, 135 deletions
diff --git a/npc/commands/debug.txt b/npc/commands/debug.txt index 8cc1f1cd..c1ebf81d 100644..100755 --- a/npc/commands/debug.txt +++ b/npc/commands/debug.txt @@ -1,145 +1,984 @@ -function script GlobalDebugMenu { - function resetAll { - function doReset { - resetstatus; - resetskill; - resetlvl 1; - dispbottom l("Reset done!"); - if (getarg(0,0) == 3) - { - closeclientdialog; - doevent "::OnGlobalQuestReset"; // executes in all quest npcs // FIXME: maybe have a `resetquest` buildin? - Zeny = 0; - BankVault = 0; - clearitem; - warp "000-0", 0, 0; // starting point - end; // script must end for doevent to execute - } - return; - } - clear; - setnpcdialogtitle l("Debug - Reset"); - mes l("What do you want to reset?"); - select - menuimage("actions/abort", l("Abort")), - menuimage("actions/reset", l("Reset stats, skills, level")), - menuimage("actions/nuke", l("Reset EVERYTHING")), - menuimage("actions/back", l("Return to Debug menu")); - - switch (@menu) - { - case 2: - case 3: doReset @menu; - } - - return; - } - - function changeLevel { - clear; - setnpcdialogtitle l("Debug - Change level"); - mes l("To change your base level, use this command:"); - mes ""; - mes " " + col("@blvl <" + l("delta") + ">", 3); - next; - mes l("Example:"); - mes "@blvl 50"; - mes " " + l("Raises your base level by 50"); - mes "@blvl -50"; - mes " " + l("Reduces your base level by 50"); - next; - mes l("To change your job level, use this command:"); - mes ""; - mes " " + col("@jlvl <" + l("delta") + ">", 3); - next; - mes l("Example:"); - mes "@jlvl 50"; - mes " " + l("Raises your job level by 50"); - mes "@jlvl -50"; - mes " " + l("Reduces your job level by 50"); - next; - return; - } - function changeStats { - clear; - setnpcdialogtitle l("Debug - Change stats"); - mes l("To change your stats, use these commands:"); - mes ""; - mes " " + col("@str <" + l("delta") + ">", 3); - mes " " + col("@agi <" + l("delta") + ">", 3); - mes " " + col("@vit <" + l("delta") + ">", 3); - mes " " + col("@int <" + l("delta") + ">", 3); - mes " " + col("@dex <" + l("delta") + ">", 3); - mes " " + col("@luk <" + l("delta") + ">", 3); - next; - mes l("Example:"); - mes "@int 50"; - mes " " + l("Raises your Int by 50"); - mes "@int -50"; - mes " " + l("Reduces your Int by 50"); - next; - mes l("If you simply wish to get 99 in all stats:"); - mes ""; - mes " " + col("@allstats", 3); - next; - mes l("If you wish to reset your stats:"); - mes ""; - mes " " + col("@streset", 3); - next; - return; - } - do - { - clear; - setnpcdialogtitle l("Debug"); - mes l("This menu allows you to modify your account data."); - mes ""; - mes l("What do you want to do?"); - select - menuimage("actions/manage", l("Change my level")), - menuimage("actions/manage", l("Change my stats")), - menuimage("actions/manage", l("Change my skills")), - menuimage("actions/manage", l("Change my appearance")), - menuimage("actions/add", l("Create items")), - menuimage("actions/add", l("Get money")), - menuimage("actions/edit", l("Change my quests")), - rif(debug, menuimage("actions/reset", l("Set Legacy Account"))), - menuimage("actions/reset", l("Reset")), - rif(getarg(0,0), menuimage("actions/home", l("Return to Super Menu"))); - - .@c = getarg(0,0) ? 2 : 1; - - switch (@menu) - { - case 1: changeLevel; break; - case 2: changeStats; break; - case 3: GlobalSkillDebug .@c; break; - case 4: BarberDebug .@c; break; - case 5: closeclientdialog; clientcommand "createitems"; end; - case 6: Zeny = 0x7FFFFFFE; break; - case 7: GlobalQuestDebug .@c; break; - case 8: setfakelegacyaccount(); break; - case 9: resetAll; break; - case 10: return; - } - } while(1); + +function script Debug { + if(!@debug_npc) goto L_Begin; + mes "The debug NPCs have been deprecated. Please use this command instead:"; + mes ""; + mes "%%E ##a@debug##0"; + @debug_npc = 0; + goto L_close; + +L_Begin: + @debug_mask = 65535; + @debug_shift = 0; + @mexp = ((MAGIC_EXPERIENCE & @debug_mask) >> @debug_shift); + mes "What do you want to do?"; + menu + "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.", L_close; + +L_Level: + mes "What level do you want to be (min: 1 - max: 99)?"; + input @lvl; + if (@lvl < 1) + goto L_LevelTooLow; + if (@lvl > 99) + goto L_LevelTooHigh; + if (BaseLevel == @lvl) + goto L_SameLevel; + BaseLevel = @lvl; + resetstatus; + mes "You are now level " + BaseLevel + "."; + goto L_Begin; + +L_LevelTooLow: + mes "Bad choice. Minimum level is 1."; + next; + goto L_Begin; + +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.", L_close; + +L_ChangeAllStats: + Str = 99; + Agi = 99; + Vit = 99; + Int = 99; + Dex = 99; + Luk = 99; + 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; + Str = @str; + 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; + Agi = @agi; + 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; + Vit = @vit; + 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; + Int = @int; + 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; + Dex = @dex; + 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; + Luk = @luk; + mes "You now have " + Str + " in strength."; + mes "You now have " + Agi + " in agility."; + mes "You now have " + Vit + " in vitality."; + mes "You now have " + Int + " in intelligence."; + mes "You now have " + Dex + " in dexterity."; + mes "You now have " + Luk + " 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.", L_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; + Str = @str; + mes "You now have " + Str + " 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; + Agi = @agi; + mes "You now have " + Agi + " 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; + Vit = @vit; + mes "You now have " + Vit + " 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; + Int = @int; + mes "You now have " + Int + " 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; + Dex = @dex; + mes "You now have " + Dex + " 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; + Luk = @luk; + mes "You now have " + Luk + " in luck."; + next; + goto L_Begin; + +L_ResetStatusPoints: + resetstatus; + mes "Stats successfully resetted."; + next; + goto L_Begin; + +L_BasicSkills: + @emote = getskilllv(SKILL_EMOTE); + @trade = getskilllv(SKILL_TRADE); + @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.", L_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.", L_close; + +L_ChangeEmoteSkill: + mes "Your level in the emote skill is " + @emote + ". What do you want to do?"; + menu + "Get level 0.", L_Next, + "Get level 1.", L_ChangeEmoteSkill1; + +L_Next: + if (@menu == 1) + addtoskill SKILL_EMOTE, 0; + mes "Emote skill changed to level 0."; + next; + goto L_BasicSkills; + +L_ChangeEmoteSkill1: + addtoskill SKILL_EMOTE, 1; + mes "Emote skill changed to level 1."; + next; + goto L_BasicSkills; + +L_ChangeTradeSkill: + mes "Your level in the trade skill is " + @trade + ". What do you want to do?"; + menu + "Get level 0.", L_Next1, + "Get level 1.", L_ChangeTradeSkill1; + +L_Next1: + if (@menu == 1) + addtoskill SKILL_TRADE, 0; + mes "Trade skill changed to level 0."; + next; + goto L_BasicSkills; + +L_ChangeTradeSkill1: + addtoskill 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.", L_Next2, + "Get level 1.", L_ChangePartySkill1, + "Get level 2.", L_ChangePartySkill2; + +L_Next2: + if (@menu == 1) + addtoskill SKILL_PARTY, 0; + mes "Party skill changed to level 0."; + next; + goto L_BasicSkills; + +L_ChangePartySkill1: + addtoskill SKILL_PARTY, 1; + mes "Party skill changed to level 1."; + next; + goto L_BasicSkills; + +L_ChangePartySkill2: + addtoskill SKILL_PARTY, 2; + mes "Party skill changed to level 2."; + next; + goto L_BasicSkills; + +L_AllBasicSkills: + addtoskill SKILL_EMOTE, 1; + addtoskill SKILL_TRADE, 1; + addtoskill SKILL_PARTY, 2; + mes "Basic skills added."; + next; + goto L_BasicSkills; + +L_ResetBasicSkills: + addtoskill SKILL_EMOTE, 0; + addtoskill SKILL_TRADE, 0; + addtoskill SKILL_PARTY, 0; + mes "Basic skills removed."; + next; + goto L_BasicSkills; + +L_FocusSkills: + @pool = getskilllv(SKILL_POOL); + @mallard = getskilllv(SKILL_MALLARDS_EYE); + @brawling = getskilllv(SKILL_BRAWLING); + @speed = getskilllv(SKILL_SPEED); + @poison = getskilllv(SKILL_RESIST_POISON); + @astralsoul = getskilllv(SKILL_ASTRAL_SOUL); + @raging = getskilllv(SKILL_RAGING); + menu + "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.", L_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; + cleararray @skilllist_count[0], 0, 8; + if (getskilllv(SKILL_POOL) == 0) + addtoskill SKILL_POOL, 1; + getactivatedpoolskilllist; + if (@skilllist_count == 0) + goto L_Focus; + getactivatedpoolskilllist; + if (@skilllist_count != 0) + goto L_AskUnfocus; + mes "You are not focused on a skill at the moment."; + goto L_FocusSkills; + +L_Focus: + cleararray @skilllist_name$[0], "", 8; + cleararray @skilllist_id[0], 0, 8; + cleararray @skilllist_count[0], 0, 8; + getunactivatedpoolskilllist; + if (@skilllist_count == 0) + goto L_NoFocusSkills; + @skilllist_id[@skilllist_count] = 0; + @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], L_MenuItems, + @skilllist_name$[1], L_MenuItems, + @skilllist_name$[2], L_MenuItems, + @skilllist_name$[3], L_MenuItems, + @skilllist_name$[4], L_MenuItems, + @skilllist_name$[5], L_MenuItems, + @skilllist_name$[6], L_MenuItems, + @skilllist_name$[7], L_MenuItems; + +L_MenuItems: + @menu = @menu - 1; + poolskill @skilllist_id[@menu]; + goto L_FocusSkills; + +L_NoFocusSkills: + mes "You have no skills to focus on or unfocus from."; + goto L_FocusSkills; + +L_AskUnfocus: + mes "Unfocus " + @skilllist_name$[@skilllist_count-1] + "?"; + menu + "Yes.", L_Next3, + "No.", L_FocusSkills; + +L_Next3: + unpoolskill @skilllist_id[@skilllist_count-1]; + goto L_FocusSkills; + +L_ChangeFocusSkills: + menu + "Focusing.", L_ChangeFocusingSkill, + "Mallard's Eye.", L_ChangeMallardsEyeSkill, + "Brawling.", L_ChangeBrawlingSkill, + "Speed.", L_ChangeSpeedSkill, + "Resist Poison.", L_ChangeResistPoisonSkill, + "Astral Soul.", L_ChangeAstralSoulSkill, + "Raging.", L_ChangeRagingSkill, + "All focus skills to their maximum level.", L_AllFocusSkills, + "Back to the focus skills menu.", L_FocusSkills, + "Close.", L_close; + +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; + addtoskill SKILL_POOL, @lvl; + next; + goto L_FocusSkills; + +L_ChangeMallardsEyeSkill: + mes "Enter the level you want to be in this skill (min: 0 - max: 9)."; + input @lvl; + if (@lvl > 9) + goto L_BadSkillLevel; + addtoskill SKILL_MALLARDS_EYE, @lvl; + next; + goto L_FocusSkills; + +L_ChangeBrawlingSkill: + mes "Enter the lvl you want to be in this skill (min: 0 - max: 9)."; + input @lvl; + if (@lvl > 9) + goto L_BadSkillLevel; + addtoskill SKILL_BRAWLING, @lvl; + next; + goto L_FocusSkills; + +L_ChangeSpeedSkill: + mes "Enter the lvl you want to be in this skill (min: 0 - max: 9)."; + input @lvl; + if (@lvl > 9) + goto L_BadSkillLevel; + addtoskill SKILL_SPEED, @lvl; + next; + goto L_FocusSkills; + +L_ChangeResistPoisonSkill: + mes "Enter the lvl you want to be in this skill (min: 0 - max: 9)."; + input @lvl; + if (@lvl > 9) + goto L_BadSkillLevel; + addtoskill SKILL_RESIST_POISON, @lvl; + next; + goto L_FocusSkills; + +L_ChangeAstralSoulSkill: + mes "Enter the lvl you want to be in this skill (min: 0 - max: 9)."; + input @lvl; + if (@lvl > 9) + goto L_BadSkillLevel; + addtoskill SKILL_ASTRAL_SOUL, @lvl; + next; + goto L_FocusSkills; + +L_ChangeRagingSkill: + mes "Enter the lvl you want to be in this skill (min: 0 - max: 9)."; + input @lvl; + if (@lvl > 9) + goto L_BadSkillLevel; + addtoskill SKILL_RAGING, @lvl; + next; + goto L_FocusSkills; + +L_AllFocusSkills: + addtoskill SKILL_POOL, 1; + addtoskill SKILL_MALLARDS_EYE, 9; + addtoskill SKILL_BRAWLING, 9; + addtoskill SKILL_SPEED, 9; + addtoskill SKILL_RESIST_POISON, 9; + addtoskill SKILL_ASTRAL_SOUL, 9; + addtoskill SKILL_RAGING, 9; + mes "Focus skills added."; + next; + goto L_FocusSkills; + +L_ResetFocusSkills: + addtoskill SKILL_POOL, 0; + addtoskill SKILL_MALLARDS_EYE, 0; + addtoskill SKILL_BRAWLING, 0; + addtoskill SKILL_SPEED, 0; + addtoskill SKILL_RESIST_POISON, 0; + addtoskill SKILL_ASTRAL_SOUL, 0; + addtoskill SKILL_RAGING, 0; + mes "Focus skills removed."; + next; + goto L_FocusSkills; + +L_MagicSkills: + @general = getskilllv(SKILL_MAGIC); + @life = getskilllv(SKILL_MAGIC_LIFE); + @war = getskilllv(SKILL_MAGIC_WAR); + @trans = getskilllv(SKILL_MAGIC_TRANSMUTE); + @nature = getskilllv(SKILL_MAGIC_NATURE); + @astral = getskilllv(SKILL_MAGIC_ASTRAL); + @dark = getskilllv(SKILL_MAGIC_DARK); + menu + "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.", L_close; + +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 + "."; + mes "Your level in the dark magic skill is " + @dark + "."; + next; + goto L_MagicSkills; + +L_MagicExperience: + mes "Your current magic experience is " + @mexp + "."; + if (@general == 0 + && @life == 0 + && @war == 0 + && @trans == 0 + && @nature == 0 + && @astral == 0 + && @dark == 0) + goto L_NoMagicSkills; + + goto L_ChangeMagicExperience; + +L_NoMagicSkills: + mes "You can't have magic experience, since you have no magic skills yet."; + goto L_MagicSkills; + +L_ChangeMagicExperience: + mes "Set the desired magic experience (min: 0 - max: 8000)."; + input @value; + if (@value < 0 || @value > 8000) + goto L_WrongMagicExperience; + @mexp = @value; + callsub S_Update_Mask; + mes "You now have " + @mexp + " magic experience points."; + goto L_MagicSkills; + +L_WrongMagicExperience: + mes "Wrong value informed. Aborting."; + goto L_MagicSkills; + +L_ChangeMagicSkills: + menu + "General Magic.", L_ChangeGeneralMagicSkill, + "Life Magic.", L_ChangeLifeMagicSkill, + "War Magic.", L_ChangeWarMagicSkill, + "Transmutation Magic.", L_ChangeTransmutationMagicSkill, + "Nature Magic.", L_ChangeNatureMagicSkill, + "Astral Magic.", L_ChangeAstralMagicSkill, + "Dark Magic.", L_ChangeDarkMagicSkill, + "Back to the magic skills menu.", L_MagicSkills, + "Close.", L_close; + +L_ChangeGeneralMagicSkill: + mes "Your level in the general magic skill is " + @general + ". What do you want to do?"; + menu + "Get level 0.", L_Next4, + "Get level 1.", L_ChangeGeneralMagicSkill1, + "Get level 2.", L_ChangeGeneralMagicSkill2; + +L_Next4: + if (@menu == 1) + addtoskill SKILL_MAGIC, 0; + mes "General Magic skill changed to level 0."; + next; + goto L_MagicSkills; + +L_ChangeGeneralMagicSkill1: + addtoskill SKILL_MAGIC, 1; + mes "General Magic skill changed to level 1."; + next; + goto L_MagicSkills; + +L_ChangeGeneralMagicSkill2: + addtoskill SKILL_MAGIC, 2; + if (@mexp < 100) + @mexp = 100; + callsub S_Update_Mask; + mes "General Magic skill changed to level 2."; + next; + goto L_MagicSkills; + +L_ChangeLifeMagicSkill: + mes "Your level in the life magic skill is " + @life + ". What do you want to do?"; + menu + "Get level 0.", L_Next5, + "Get level 1.", L_ChangeLifeMagicSkill1, + "Get level 2.", L_ChangeLifeMagicSkill2; + +L_Next5: + if (@menu == 1) + addtoskill SKILL_MAGIC_LIFE, 0; + mes "Life Magic skill changed to level 0."; + next; + goto L_MagicSkills; + +L_ChangeLifeMagicSkill1: + addtoskill SKILL_MAGIC_LIFE, 1; + mes "Life Magic skill changed to level 1."; + next; + goto L_MagicSkills; + +L_ChangeLifeMagicSkill2: + addtoskill SKILL_MAGIC_LIFE, 2; + if (@mexp < 100) + @mexp = 100; + callsub S_Update_Mask; + mes "Life Magic skill changed to level 2."; + next; + goto L_MagicSkills; + +L_ChangeWarMagicSkill: + mes "Your level in the war magic skill is " + @war + ". What do you want to do?"; + menu + "Get level 0.", L_Next6, + "Get level 1.", L_ChangeWarMagicSkill1, + "Get level 2.", L_ChangeWarMagicSkill2; + +L_Next6: + if (@menu == 1) + addtoskill SKILL_MAGIC_WAR, 0; + mes "War Magic skill changed to level 0."; + next; + goto L_MagicSkills; + +L_ChangeWarMagicSkill1: + addtoskill SKILL_MAGIC_WAR, 1; + mes "War Magic skill changed to level 1."; + next; + goto L_MagicSkills; + +L_ChangeWarMagicSkill2: + addtoskill SKILL_MAGIC_WAR, 2; + if (@mexp < 100) + @mexp = 100; + callsub S_Update_Mask; + mes "War Magic skill changed to level 2."; + next; + goto L_MagicSkills; + +L_ChangeTransmutationMagicSkill: + mes "Your level in the transmutation magic skill is " + @trans + ". What do you want to do?"; + menu + "Get level 0.", L_Next7, + "Get level 1.", L_ChangeTransmutationMagicSkill1, + "Get level 2.", L_ChangeTransmutationMagicSkill2; + +L_Next7: + if (@menu == 1) + addtoskill SKILL_MAGIC_TRANSMUTE, 0; + mes "Transmutation Magic skill changed to level 0."; + next; + goto L_MagicSkills; + +L_ChangeTransmutationMagicSkill1: + addtoskill SKILL_MAGIC_TRANSMUTE, 1; + mes "Transmutation Magic skill changed to level 1."; + next; + goto L_MagicSkills; + +L_ChangeTransmutationMagicSkill2: + addtoskill SKILL_MAGIC_TRANSMUTE, 2; + if (@mexp < 100) + @mexp = 100; + callsub S_Update_Mask; + mes "Transmutation Magic skill changed to level 2."; + next; + goto L_MagicSkills; + +L_ChangeNatureMagicSkill: + mes "Your level in the nature magic skill is " + @nature + ". What do you want to do?"; + menu + "Get level 0.", L_Next8, + "Get level 1.", L_ChangeNatureMagicSkill1, + "Get level 2.", L_ChangeNatureMagicSkill2; + +L_Next8: + if (@menu == 1) + addtoskill SKILL_MAGIC_NATURE, 0; + mes "Nature Magic skill changed to level 0."; + next; + goto L_MagicSkills; + +L_ChangeNatureMagicSkill1: + addtoskill SKILL_MAGIC_NATURE, 1; + mes "Nature Magic skill changed to level 1."; + next; + goto L_MagicSkills; + +L_ChangeNatureMagicSkill2: + addtoskill SKILL_MAGIC_NATURE, 2; + if (@mexp < 100) + @mexp = 100; + callsub S_Update_Mask; + mes "Nature Magic skill changed to level 2."; + next; + goto L_MagicSkills; + +L_ChangeAstralMagicSkill: + mes "Your level in the astral magic skill is " + @astral + ". What do you want to do?"; + menu + "Get level 0.", L_Next9, + "Get level 1.", L_ChangeAstralMagicSkill1, + "Get level 2.", L_ChangeAstralMagicSkill2; + +L_Next9: + if (@menu == 1) + addtoskill SKILL_MAGIC_ASTAL, 0; + mes "Astral Magic skill changed to level 0."; + next; + goto L_MagicSkills; + +L_ChangeAstralMagicSkill1: + addtoskill SKILL_MAGIC_ASTRAL, 1; + mes "Astral Magic skill changed to level 1."; + next; + goto L_MagicSkills; + +L_ChangeAstralMagicSkill2: + addtoskill SKILL_MAGIC_ASTRAL, 2; + if (@mexp < 100) + @mexp = 100; + callsub S_Update_Mask; + mes "Astral Magic skill changed to level 2."; + next; + goto L_MagicSkills; + +L_ChangeDarkMagicSkill: + mes "Your level in the dark magic skill is " + @dark + ". What do you want to do?"; + menu + "Get level 0.", L_Next10, + "Get level 1.", L_ChangeDarkMagicSkill1, + "Get level 2.", L_ChangeDarkMagicSkill2; + +L_Next10: + if (@menu == 1) + addtoskill SKILL_MAGIC_DARK, 0; + mes "Dark Magic skill changed to level 0."; + next; + goto L_MagicSkills; + +L_ChangeDarkMagicSkill1: + addtoskill SKILL_MAGIC_DARK, 1; + mes "Dark Magic skill changed to level 1."; + next; + goto L_MagicSkills; + +L_ChangeDarkMagicSkill2: + addtoskill SKILL_MAGIC_DARK, 2; + if (@mexp < 100) + @mexp = 100; + callsub S_Update_Mask; + mes "Dark Magic skill changed to level 2."; + next; + goto L_MagicSkills; + +S_Update_Mask: + set MAGIC_EXPERIENCE, + (MAGIC_EXPERIENCE & ~(@debug_mask)) + | (@mexp << @debug_shift); + return; + +L_GetAllMagic: + addtoskill SKILL_MAGIC, 5; + addtoskill SKILL_MAGIC_LIFE, 5; + addtoskill SKILL_MAGIC_WAR, 5; + addtoskill SKILL_MAGIC_TRANSMUTE, 5; + addtoskill SKILL_MAGIC_NATURE, 5; + addtoskill SKILL_MAGIC_ASTRAL, 5; + addtoskill SKILL_MAGIC_DARK, 5; + @mexp = 8000; + callsub S_Update_Mask; + mes "Magic skills added."; + next; + goto L_MagicSkills; + +L_ResetMagicSkills: + addtoskill SKILL_MAGIC, 0; + addtoskill SKILL_MAGIC_LIFE, 0; + addtoskill SKILL_MAGIC_WAR, 0; + addtoskill SKILL_MAGIC_TRANSMUTE, 0; + addtoskill SKILL_MAGIC_NATURE, 0; + addtoskill SKILL_MAGIC_ASTRAL, 0; + addtoskill SKILL_MAGIC_DARK, 0; + @mexp = 0; + callsub S_Update_Mask; + mes "Magic skills removed."; + next; + goto L_MagicSkills; + +L_AddAll: + addtoskill SKILL_EMOTE, 1; + addtoskill SKILL_TRADE, 1; + addtoskill SKILL_PARTY, 2; + addtoskill SKILL_POOL, 1; + addtoskill SKILL_MALLARDS_EYE, 9; + addtoskill SKILL_BRAWLING, 9; + addtoskill SKILL_SPEED, 9; + addtoskill SKILL_RESIST_POISON, 9; + addtoskill SKILL_ASTRAL_SOUL, 9; + addtoskill SKILL_RAGING, 9; + addtoskill SKILL_MAGIC, 5; + addtoskill SKILL_MAGIC_LIFE, 5; + addtoskill SKILL_MAGIC_WAR, 5; + addtoskill SKILL_MAGIC_TRANSMUTE, 5; + addtoskill SKILL_MAGIC_NATURE, 5; + addtoskill SKILL_MAGIC_ASTRAL, 5; + addtoskill SKILL_MAGIC_DARK, 5; + @mexp = 8000; + resetstatus; + 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; + addtoskill SKILL_EMOTE, 0; + addtoskill SKILL_TRADE, 0; + addtoskill SKILL_PARTY, 0; + addtoskill SKILL_POOL, 0; + addtoskill SKILL_MALLARDS_EYE, 0; + addtoskill SKILL_BRAWLING, 0; + addtoskill SKILL_SPEED, 0; + addtoskill SKILL_RESIST_POISON, 0; + addtoskill SKILL_ASTRAL_SOUL, 0; + addtoskill SKILL_RAGING, 0; + addtoskill SKILL_MAGIC, 0; + addtoskill SKILL_MAGIC_LIFE, 0; + addtoskill SKILL_MAGIC_WAR, 0; + addtoskill SKILL_MAGIC_TRANSMUTE, 0; + addtoskill SKILL_MAGIC_NATURE, 0; + addtoskill SKILL_MAGIC_ASTRAL, 0; + addtoskill SKILL_MAGIC_DARK, 0; + @mexp = 0; + callsub S_Update_Mask; + resetstatus; + BaseLevel = 1; + mes "All skills removed."; + mes "Minimum number of Magic Experience points."; + mes "You are now level " + BaseLevel + "."; + next; + goto L_Begin; + +L_close: + close2; + return; + } +- script Debug Spell NPC32767,{ + if(!debug && getgmlevel() < CMD_DEBUG) end; + callfunc "Debug"; + end; +OnDeprecated: + message strcharinfo(0), "Debug : ##3The #debug spell has been superseded by the ##B@debug##b command."; + end; +OnInit: + registercmd "@debug", "Debug Spell"; + registercmd "#debug", "Debug Spell::OnDeprecated"; + end; +} +029-2,30,26,0 script Debug#0 NPC154,{ + @debug_npc = 1; + callfunc "Debug"; + end; +OnInit: + if (!debug) + disablenpc "Debug#0"; + end; +} -- script @debug 32767,{ +001-1,53,47,0 script Debug#1 NPC154,{ + @debug_npc = 1; + callfunc "Debug"; + end; +OnInit: + if (!debug) + disablenpc "Debug#1"; end; +} -OnCall: - if (!debug && !is_admin()) - { - end; - } - GlobalDebugMenu; - closeclientdialog; +009-1,45,33,0 script Debug#2 NPC154,{ + @debug_npc = 1; + callfunc "Debug"; + end; +OnInit: + if (!debug) + disablenpc "Debug#2"; end; +} +020-1,75,85,0 script Debug#3 NPC154,{ + @debug_npc = 1; + callfunc "Debug"; + end; OnInit: - bindatcmd "debug", "@debug::OnCall", 0, 99, 0; - // TODO / FIXME: add a @test command that opens the help window for test-server + if (!debug) + disablenpc "Debug#3"; + end; +} + +027-2,125,103,0 script Debug#5 NPC154,{ + @debug_npc = 1; + callfunc "Debug"; + end; +OnInit: + if (!debug) + disablenpc "Debug#5"; + end; } |