summaryrefslogblamecommitdiff
path: root/world/map/npc/functions/debug.txt
blob: fe72eb72c6c1adfc5a56327f5617bbc8fee2fd0d (plain) (tree)






















                                                                  

                                          
                
                                                      


















































































































































































































































































































































































                                                                                                                         
// Author: alastrim, Jenalya

function|script|Debug|{

L_Begin:
    set @debug_mask, 65535;
    set @debug_shift, 0;
    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", -;
    close;

L_Level:
    mes "Which level do you want to be? (min: 1 - max: 255)";
    next;
    input @lvl;
    if (@lvl > 255) goto L_Leveltoohigh;
    if (@lvl < 1) goto L_Leveltoolow;
    if (Baselevel == @lvl) goto L_Samelvl;
    set BaseLevel, @lvl;
    resetstatus;
    message strcharinfo(0), "New level: " + Baselevel;
    goto L_Begin;

L_Samelvl:
    mes "You are already level " + @lvl;
    next;
    goto L_Level;

L_Leveltoolow:
    mes "Bad choice. Minimum level is 1.";
    next;
    goto L_Level;

L_Leveltoohigh:
    mes "Bad choice. Maximum level is 255.";
    next;
    goto L_Level;

L_Skills:
    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);

    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", -;
    close;

L_Unfocus:
    cleararray @skilllist_name$[0], "", 8;
    cleararray @skilllist_id[0], 0, 8;
    cleararray @skilllist_count[0], 0, 8;
    if (getskilllv(SKILL_POOL) == 0) setskill SKILL_POOL, 1;
    getactivatedpoolskilllist;
    if (@skilllist_count == 0) 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;

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_Noskills;
    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?";
    menu
        @skilllist_name$[0], -,
        @skilllist_name$[1], -,
        @skilllist_name$[2], -,
        @skilllist_name$[3], -,
        @skilllist_name$[4], -,
        @skilllist_name$[5], -,
        @skilllist_name$[6], -,
        @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;

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_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_Changeskills:
    menu
        "Mallards eye", L_Changemallard,
        "Brawling", L_Changebrawling,
        "Speed", L_Changespeed,
        "Resist Poison", L_Changepoison,
        "Astral Soul", L_Changeastralsoul,
        "Raging", LChangeraging,
        "All skills level 9", L_AllSkills,
        "Back to skills menu", L_Skills,
        "Close", -;
    close;

L_Badskilllvl:
    mes "Invalid skill lvl. Try again.";
    next;
    goto L_Changeskills;

L_Changemallard:
    mes "Enter the lvl you want to be in this skill(min: 1 - max: 9):";
    input @lvl;
    if (@lvl < 1 || @lvl > 9) goto L_Badskilllvl;
    setskill SKILL_MALLARDS_EYE, @lvl;
    goto L_Skills;

L_Changebrawling:
    mes "Enter the lvl you want to be in this skill(min: 1 - max: 9):";
    input @lvl;
    if (@lvl < 1 || @lvl > 9) goto L_Badskilllvl;
    setskill SKILL_BRAWLING, @lvl;
    goto L_Skills;

L_Changespeed:
    mes "Enter the lvl you want to be in this skill(min: 1 - max: 9):";
    input @lvl;
    if (@lvl < 1 || @lvl > 9) goto L_Badskilllvl;
    setskill SKILL_SPEED, @lvl;
    goto L_Skills;

L_Changepoison:
    mes "Enter the lvl you want to be in this skill(min: 1 - max: 9):";
    input @lvl;
    if (@lvl < 1 || @lvl > 9) goto L_Badskilllvl;
    setskill SKILL_RESIST_POISON, @lvl;
    goto L_Skills;

L_Changeastralsoul:
    mes "Enter the lvl you want to be in this skill(min: 1 - max: 9):";
    input @lvl;
    if (@lvl < 1 || @lvl > 9) goto L_Badskilllvl;
    setskill SKILL_ASTRAL_SOUL, @lvl;
    goto L_Skills;

L_Changeraging:
    mes "Enter the lvl you want to be in this skill(min: 1 - max: 9):";
    input @lvl;
    if (@lvl < 1 || @lvl > 9) goto L_Badskilllvl;
    setskill SKILL_WARRIOR_RAGING, @lvl;
    goto L_Skills;

L_AllSkills:
    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;

L_Resetskills:
    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;

L_Magic:
    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", -;
    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_Magicexp:
    mes "Your current magic experience is " + @mexp;
    if (@general == 0 && @life == 0 && @war == 0  && @trans == 0  && @nature == 0  && @astral == 0) goto L_Nomagicskills;
    if (@general == 2 || @life == 2 || @war == 2  || @trans == 2  || @nature == 2  || @astral == 2) goto L_Magicexp2;

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_Magicexp2:
    mes "Set the desired magic experience (min: 100 - max: 1200)";
    input @value;
    if (@value < 100 || @value > 1200) goto L_Wrongexp;
    set @mexp, @value;
    callsub S_Update_Mask;
    goto L_Magic;

L_Changemagic:
    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", -;
    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?";
    menu
        "Get Level one", -,
        "Get Level two", L_Generallvl2,
        "Back to magic menu", L_Magic;
    if (@menu == 1) setskill SKILL_MAGIC, 1;
    goto L_Magic;

L_Generallvl2:
    setskill SKILL_MAGIC, 2;
    if (@mexp < 100) set @mexp, 100;
    callsub S_Update_Mask;
    goto L_Magic;

L_Changelife:
    mes "You level in life magic is " + @war + ". What do you want to do?";
    menu
        "Get Level one", -,
        "Get Level two", L_Lifelvl2,
        "Back to magic menu", L_Magic;
    if (@menu == 1) setskill SKILL_MAGIC_LIFE, 1;
    goto L_Magic;

L_Lifelvl2:
    setskill SKILL_MAGIC_LIFE, 2;
    if (@mexp < 100) set @mexp, 100;
    callsub S_Update_Mask;
    goto L_Magic;

L_Changewar:
    mes "You level in war magic is " + @war + ". What do you want to do?";
    menu
        "Get Level one", -,
        "Get Level two", L_Warlvl2,
        "Back to magic menu", L_Magic;
    if (@menu == 1) setskill SKILL_MAGIC_WAR, 1;
    goto L_Magic;

L_Warlvl2:
    setskill SKILL_MAGIC_WAR, 2;
    if (@mexp < 100) set @mexp, 100;
    callsub S_Update_Mask;
    goto L_Magic;

L_Changetrans:
    mes "You level in transmutation magic is " + @trans + ". What do you want to do?";
    menu
        "Get Level one", -,
        "Get Level two", L_Translvl2,
        "Back to magic menu", L_Magic;
    if (@menu == 1) setskill SKILL_MAGIC_TRANSMUTE, 1;
    goto L_Magic;

L_Translvl2:
    setskill SKILL_MAGIC_TRANSMUTE, 2;
    if (@mexp < 100) set @mexp, 100;
    callsub S_Update_Mask;
    goto L_Magic;

L_Changenature:
    mes "You level in nature magic is " + @nature + ". What do you want to do?";
    menu
        "Get Level one", -,
        "Get Level two", L_Naturelvl2,
        "Back to magic menu", L_Magic;
    if (@menu == 1) setskill SKILL_MAGIC_NATURE, 1;
    goto L_Magic;

L_Naturelvl2:
    setskill SKILL_MAGIC_NATURE, 2;
    if (@mexp < 100) set @mexp, 100;
    callsub S_Update_Mask;
    close;

L_Changeastral:
    mes "You level in astral magic is " + @astral + ". What do you want to do?";
    menu
        "Get Level one", -,
        "Get Level two", L_Astrallvl2,
        "Back to magic menu", L_Magic;
    if (@menu == 1) setskill SKILL_MAGIC_ASTAL, 1;
    goto L_Magic;

L_Astrallvl2:
    setskill SKILL_MAGIC_ASTRAL, 2;
    if (@mexp < 100) set @mexp, 100;
    callsub S_Update_Mask;
    goto L_Magic;

L_Status:
    resetstatus;
    goto L_Begin;

S_Update_Mask:
        set MAGIC_EXPERIENCE,
            (MAGIC_EXPERIENCE & ~(@debug_mask))
                | (@mexp << @debug_shift);
        return;
}