summaryrefslogtreecommitdiff
path: root/npc/commands/debug.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/commands/debug.txt')
-rw-r--r--npc/commands/debug.txt688
1 files changed, 688 insertions, 0 deletions
diff --git a/npc/commands/debug.txt b/npc/commands/debug.txt
new file mode 100644
index 00000000..f62b4a97
--- /dev/null
+++ b/npc/commands/debug.txt
@@ -0,0 +1,688 @@
+
+function script Debug {
+ goto L_Begin;
+
+L_Begin:
+ mes "What do you want to do?";
+ mes "Your range: "+readbattleparam(getcharid(3), UDT_ATKRANGE);
+ mes "Bow range: "+getiteminfo(Bow, ITEMINFO_RANGE);
+ menu
+ "Reset stat points.", L_ResetStatusPoints,
+ "Change my level.", L_Level,
+ "Change other stuff.", L_Stats,
+ "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_Stats:
+ mesc l("Stats: %s", col(b("@str/@agi/@vit/@int/@dex/@luk/@allstats"),3));
+ mesc l("GP: %s", col(b("@zeny"),3));
+ mesc l("Items: %s", col(b("/createitems"),3));
+ mesc l("Hide from monsters: %s", col(b("@monsterignore or @safe"),3));
+ mesc l("Reset Stats: %s", col(b("@streset"),3));
+ next;
+ goto L_Begin;
+
+L_Level:
+ mes "What level do you want to be (min: 1 - max: 140)?";
+ input @lvl;
+ if (@lvl < 1)
+ goto L_LevelTooLow;
+ if (@lvl > 140)
+ 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 140.";
+ next;
+ goto L_Begin;
+
+L_SameLevel:
+ mes "You already are level " + @lvl + ".";
+ resetstatus;
+ next;
+ goto L_Begin;
+
+L_ResetStatusPoints:
+ resetstatus;
+ mes "Stats successfully resetted.";
+ next;
+ goto L_Begin;
+
+L_BasicSkills:
+ adddefaultskills();
+ goto L_Begin;
+
+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);
+
+ 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;
+ mes "";
+ mes l("Focus list:");
+ mesc l("%s : %s", l("Mallard's Eye"),
+ (isfocused(SKILL_MALLARDS_EYE) ? l("Yes") : l("No")));
+ mesc l("%s : %s", l("Brawling"),
+ (isfocused(SKILL_BRAWLING) ? l("Yes") : l("No")));
+ mesc l("%s : %s", l("Speed"),
+ (isfocused(SKILL_SPEED) ? l("Yes") : l("No")));
+ mesc l("%s : %s", l("Resist Ailment"),
+ (isfocused(SKILL_RESIST_POISON) ? l("Yes") : l("No")));
+ mesc l("%s : %s", l("Astral Soul"),
+ (isfocused(SKILL_ASTRAL_SOUL) ? l("Yes") : l("No")));
+ mesc l("%s : %s", l("Raging"),
+ (isfocused(SKILL_RAGING) ? l("Yes") : l("No")));
+ .@t=getactivatedpoolskilllist();
+ menuint
+ l("Back"), -3,
+ l("Focus Skill +"), -2,
+ rif(getskilllv(SKILL_POOL), l("Focus Skill -")), -1,
+ l("Add all focus skills"), 0,
+ l("Remove all focus skills"), -4,
+ ("Toggle Focus - Mallards Eye"), SKILL_MALLARDS_EYE,
+ ("Toggle Focus - Brawling"), SKILL_BRAWLING,
+ ("Toggle Focus - Speed"), SKILL_SPEED,
+ ("Toggle Focus - Resist Ailment"), SKILL_RESIST_POISON,
+ ("Toggle Focus - Astral Soul"), SKILL_ASTRAL_SOUL,
+ ("Toggle Focus - Raging"), SKILL_RAGING;
+ mes "";
+ switch (@menuret) {
+ case -3: goto L_Begin;
+ case -2:
+ skill SKILL_POOL, @pool+1, 0; break;
+ case -1:
+ skill SKILL_POOL, max(0, @pool-1), 0; break;
+ case 0:
+ updateskill SKILL_MALLARDS_EYE, 9;
+ updateskill SKILL_BRAWLING, 9;
+ updateskill SKILL_SPEED, 9;
+ updateskill SKILL_RESIST_POISON, 9;
+ updateskill SKILL_ASTRAL_SOUL, 9;
+ updateskill SKILL_RAGING, 9;
+ break;
+ case -4:
+ skill SKILL_POOL, 0, 0; break;
+ updateskill SKILL_MALLARDS_EYE, 0;
+ updateskill SKILL_BRAWLING, 0;
+ updateskill SKILL_SPEED, 0;
+ updateskill SKILL_RESIST_POISON, 0;
+ updateskill SKILL_ASTRAL_SOUL, 0;
+ updateskill SKILL_RAGING, 0;
+ break;
+ default:
+ if (FOCUSING & getpoolskillFID(@menuret)) {
+ unpoolskill(@menuret);
+ mesc "Focus removed", 1;
+ } else {
+ .@s = poolskill(@menuret);
+ if (.@s)
+ mesc "Focus added", 2;
+ else
+ mesc sprintf("Impossible to focus. You can only focus %d skills at a time.", .@t), 1;
+ }
+ }
+ 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 exp is "+MAGIC_EXP;
+ 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 " + MAGIC_EXP + ".";
+ 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: 65535).";
+ input @value;
+ if (@value < 0 || @value > 65535)
+ goto L_WrongMagicExperience;
+ MAGIC_EXP = @value;
+ mes "You now have " + MAGIC_EXP + " 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)
+ updateskill SKILL_MAGIC, 0;
+ mes "General Magic skill changed to level 0.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeGeneralMagicSkill1:
+ updateskill SKILL_MAGIC, 1;
+ mes "General Magic skill changed to level 1.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeGeneralMagicSkill2:
+ updateskill SKILL_MAGIC, 2;
+ if (MAGIC_EXP < 100)
+ MAGIC_EXP = 100;
+ 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)
+ updateskill SKILL_MAGIC_LIFE, 0;
+ mes "Life Magic skill changed to level 0.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeLifeMagicSkill1:
+ updateskill SKILL_MAGIC_LIFE, 1;
+ mes "Life Magic skill changed to level 1.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeLifeMagicSkill2:
+ updateskill SKILL_MAGIC_LIFE, 2;
+ if (MAGIC_EXP < 100)
+ MAGIC_EXP = 100;
+ 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)
+ updateskill SKILL_MAGIC_WAR, 0;
+ mes "War Magic skill changed to level 0.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeWarMagicSkill1:
+ updateskill SKILL_MAGIC_WAR, 1;
+ mes "War Magic skill changed to level 1.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeWarMagicSkill2:
+ updateskill SKILL_MAGIC_WAR, 2;
+ if (MAGIC_EXP < 100)
+ MAGIC_EXP = 100;
+ 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)
+ updateskill SKILL_MAGIC_TRANSMUTE, 0;
+ mes "Transmutation Magic skill changed to level 0.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeTransmutationMagicSkill1:
+ updateskill SKILL_MAGIC_TRANSMUTE, 1;
+ mes "Transmutation Magic skill changed to level 1.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeTransmutationMagicSkill2:
+ updateskill SKILL_MAGIC_TRANSMUTE, 2;
+ if (MAGIC_EXP < 100)
+ MAGIC_EXP = 100;
+ 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)
+ updateskill SKILL_MAGIC_NATURE, 0;
+ mes "Nature Magic skill changed to level 0.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeNatureMagicSkill1:
+ updateskill SKILL_MAGIC_NATURE, 1;
+ mes "Nature Magic skill changed to level 1.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeNatureMagicSkill2:
+ updateskill SKILL_MAGIC_NATURE, 2;
+ if (MAGIC_EXP < 100)
+ MAGIC_EXP = 100;
+ 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)
+ updateskill SKILL_MAGIC_ASTAL, 0;
+ mes "Astral Magic skill changed to level 0.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeAstralMagicSkill1:
+ updateskill SKILL_MAGIC_ASTRAL, 1;
+ mes "Astral Magic skill changed to level 1.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeAstralMagicSkill2:
+ updateskill SKILL_MAGIC_ASTRAL, 2;
+ if (MAGIC_EXP < 100)
+ MAGIC_EXP = 100;
+ 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)
+ updateskill SKILL_MAGIC_DARK, 0;
+ mes "Dark Magic skill changed to level 0.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeDarkMagicSkill1:
+ updateskill SKILL_MAGIC_DARK, 1;
+ mes "Dark Magic skill changed to level 1.";
+ next;
+ goto L_MagicSkills;
+
+L_ChangeDarkMagicSkill2:
+ updateskill SKILL_MAGIC_DARK, 2;
+ if (MAGIC_EXP < 100)
+ MAGIC_EXP = 100;
+ mes "Dark Magic skill changed to level 2.";
+ next;
+ goto L_MagicSkills;
+
+L_GetAllMagic:
+ updateskill SKILL_MAGIC, 5;
+ updateskill SKILL_MAGIC_LIFE, 5;
+ updateskill SKILL_MAGIC_WAR, 5;
+ updateskill SKILL_MAGIC_TRANSMUTE, 5;
+ updateskill SKILL_MAGIC_NATURE, 5;
+ updateskill SKILL_MAGIC_ASTRAL, 5;
+ updateskill SKILL_MAGIC_DARK, 5;
+ mes "Magic skills added.";
+ next;
+ goto L_MagicSkills;
+
+L_ResetMagicSkills:
+ updateskill SKILL_MAGIC, 0;
+ updateskill SKILL_MAGIC_LIFE, 0;
+ updateskill SKILL_MAGIC_WAR, 0;
+ updateskill SKILL_MAGIC_TRANSMUTE, 0;
+ updateskill SKILL_MAGIC_NATURE, 0;
+ updateskill SKILL_MAGIC_ASTRAL, 0;
+ updateskill SKILL_MAGIC_DARK, 0;
+ mes "Magic skills removed.";
+ next;
+ goto L_MagicSkills;
+
+L_AddAll:
+ adddefaultskills();
+ updateskill SKILL_POOL, 1;
+ updateskill SKILL_MALLARDS_EYE, 9;
+ updateskill SKILL_BRAWLING, 9;
+ updateskill SKILL_SPEED, 9;
+ updateskill SKILL_RESIST_POISON, 9;
+ updateskill SKILL_ASTRAL_SOUL, 9;
+ updateskill SKILL_RAGING, 9;
+ updateskill SKILL_MAGIC, 5;
+ updateskill SKILL_MAGIC_LIFE, 5;
+ updateskill SKILL_MAGIC_WAR, 5;
+ updateskill SKILL_MAGIC_TRANSMUTE, 5;
+ updateskill SKILL_MAGIC_NATURE, 5;
+ updateskill SKILL_MAGIC_ASTRAL, 5;
+ updateskill SKILL_MAGIC_DARK, 5;
+
+ // Real skills
+ learnskill SKILL_CONFRINGO, 1;
+ learnskill SKILL_ABIZIT, 1;
+ learnskill SKILL_MONSTERINFO, 1;
+ learnskill EVOL_AREA_PROVOKE, 1;
+ learnskill SKILL_FLAR, 1;
+ learnskill SKILL_CHIZA, 1;
+ learnskill SKILL_MODRIPHOO, 1;
+ learnskill SKILL_MODRISUMP, 1;
+ learnskill SKILL_MODRIYIKAM, 1;
+ learnskill SKILL_MODRILAX, 1;
+ learnskill SKILL_LUM, 1;
+ learnskill SKILL_PARUM, 1;
+ learnskill SKILL_GOLE, 1;
+ learnskill SKILL_KALAKARENK, 1;
+ learnskill SKILL_KALBOO, 1;
+ learnskill SKILL_KALGINA, 1;
+ learnskill SKILL_KALRENK, 1;
+ learnskill SKILL_HALHISS, 1;
+ learnskill SKILL_HELORP, 1;
+ learnskill SKILL_KAFLOSH, 1;
+ learnskill SKILL_BETSANC, 1;
+ learnskill SKILL_ASORM, 1;
+ learnskill SKILL_INGRAV, 1;
+ learnskill SKILL_UPMARMU, 1;
+ learnskill SKILL_PHLEX, 1;
+ learnskill SKILL_KULARZUFRILL, 1;
+ learnskill SKILL_ZUKMINBIRF, 1;
+ learnskill SKILL_PATMUPLOO, 1;
+ learnskill SKILL_PATVILOREE, 1;
+ learnskill SKILL_PATLOREE, 1;
+ learnskill SKILL_MANPAHIL, 1;
+ resetstatus;
+ BaseLevel = 99;
+ mes "All skills added to their maximum level.";
+ mes "Maximum number of Legacy Magic Experience points.";
+ mes "You are now level " + BaseLevel + ".";
+ next;
+ goto L_Begin;
+
+L_ResetAll:
+ //adddefaultskills();
+ updateskill SKILL_POOL, 0;
+ updateskill SKILL_MALLARDS_EYE, 0;
+ updateskill SKILL_BRAWLING, 0;
+ updateskill SKILL_SPEED, 0;
+ updateskill SKILL_RESIST_POISON, 0;
+ updateskill SKILL_ASTRAL_SOUL, 0;
+ updateskill SKILL_RAGING, 0;
+ updateskill SKILL_MAGIC, 0;
+ updateskill SKILL_MAGIC_LIFE, 0;
+ updateskill SKILL_MAGIC_WAR, 0;
+ updateskill SKILL_MAGIC_TRANSMUTE, 0;
+ updateskill SKILL_MAGIC_NATURE, 0;
+ updateskill SKILL_MAGIC_ASTRAL, 0;
+ updateskill SKILL_MAGIC_DARK, 0;
+
+ // Real skills
+ updateskill SKILL_CONFRINGO, 0;
+ updateskill SKILL_ABIZIT, 0;
+ updateskill SKILL_MONSTERINFO, 0;
+ updateskill EVOL_AREA_PROVOKE, 0;
+ updateskill SKILL_FLAR, 0;
+ updateskill SKILL_CHIZA, 0;
+ updateskill SKILL_MODRIPHOO, 0;
+ updateskill SKILL_MODRISUMP, 0;
+ updateskill SKILL_MODRIYIKAM, 0;
+ updateskill SKILL_MODRILAX, 0;
+ updateskill SKILL_LUM, 0;
+ updateskill SKILL_PARUM, 0;
+ updateskill SKILL_GOLE, 0;
+ updateskill SKILL_KALAKARENK, 0;
+ updateskill SKILL_KALBOO, 0;
+ updateskill SKILL_KALGINA, 0;
+ updateskill SKILL_KALRENK, 0;
+ updateskill SKILL_HALHISS, 0;
+ updateskill SKILL_HELORP, 0;
+ updateskill SKILL_KAFLOSH, 0;
+ updateskill SKILL_BETSANC, 0;
+ updateskill SKILL_ASORM, 0;
+ updateskill SKILL_INGRAV, 0;
+ updateskill SKILL_UPMARMU, 0;
+ updateskill SKILL_PHLEX, 0;
+ updateskill SKILL_KULARZUFRILL, 0;
+ updateskill SKILL_ZUKMINBIRF, 0;
+ updateskill SKILL_PATMUPLOO, 0;
+ updateskill SKILL_PATVILOREE, 0;
+ updateskill SKILL_PATLOREE, 0;
+ updateskill SKILL_MANPAHIL, 0;
+ MAGIC_EXP = 0;
+ resetstatus;
+ BaseLevel = 1;
+ mes "All skills removed.";
+ mes "Magic experience reset.";
+ mes "You are now level " + BaseLevel + ".";
+ next;
+ goto L_Begin;
+
+L_close:
+ closeclientdialog;
+ return;
+}
+
+- script Debug Spell NPC32767,{
+ end;
+
+OnDebug:
+ if (!debug && getgmlevel() < CMD_DEBUG) end;
+ callfunc "Debug";
+ end;
+
+OnSetVar:
+ if (getarraysize(.@atcmd_parameters$) != 3)
+ Exception("Usage: @set-var VARIABLE INDEX VALUE", RB_DISPBOTTOM|RB_ISFATAL);
+
+ .@cmd$=array_shift(.@atcmd_parameters$);
+ .@idx=atoi(array_shift(.@atcmd_parameters$));
+ if (charat(.@atcmd_parameters$[0],
+ getstrlen(.@atcmd_parameters$[0])-1) == "$")
+ .@str=true;
+
+ if (.@str)
+ .@val$=array_shift(.@atcmd_parameters$);
+ else
+ .@val=array_shift(.@atcmd_parameters$);
+
+ if (.@str)
+ setd(sprintf("%s[%d]", .@cmd$, .@idx), .@val$);
+ else
+ setd(sprintf("%s[%d]", .@cmd$, .@idx), .@val);
+
+ .@msg$=sprintf("%s[%d] is now: %s", .@cmd$, .@idx,
+ getd(sprintf("%s[%d]", .@cmd$, .@idx)));
+
+ if (!is_trusted())
+ charcommand("@request System Information: "+.@msg$);
+ else
+ dispbottom(.@msg$);
+ end;
+
+// If the char is not a staff member, it'll be sent to GM Log instead
+OnGetVar:
+ if (getarraysize(.@atcmd_parameters$) != 2)
+ Exception("Usage: @get-var VARIABLE INDEX", RB_DISPBOTTOM|RB_ISFATAL);
+
+ .@cmd$=array_shift(.@atcmd_parameters$);
+ .@idx=atoi(array_shift(.@atcmd_parameters$));
+
+ .@mg$=sprintf("%s[%d] == %s", .@cmd$, .@idx,
+ getd(sprintf("%s[%d]", .@cmd$, .@idx)));
+
+ if (!is_trusted())
+ charcommand("@request System Information: "+.@mg$);
+ else
+ dispbottom(.@mg$);
+ end;
+
+OnSClear:
+ sc_end SC_ALL;
+ sc_end SC_DAILYSENDMAILCNT;
+ dispbottom l("Status Condition Cleared");
+ end;
+
+OnAllPerms:
+ if (@allperms) end;
+ charcommand("@addperm all_skill");
+ charcommand("@addperm all_equipment");
+ charcommand("@addperm skill_unconditional");
+ charcommand("@addperm join_chat");
+ charcommand("@addperm hide_session");
+ charcommand("@addperm any_warp");
+ charcommand("@addperm view_hpmeter");
+ charcommand("@addperm view_equipment");
+ charcommand("@addperm receive_requests");
+ charcommand("@addperm can_trade_bound");
+ charcommand("@addperm bypass_nostorage");
+ @allperms=true;
+ end;
+
+OnInit:
+ registercmd "@debug", "Debug Spell::OnDebug";
+ bindatcmd "getvar", "Debug Spell::OnGetVar", 99, 99, 1;
+ bindatcmd "get-var", "Debug Spell::OnGetVar", 99, 99, 1;
+ bindatcmd "setvar", "Debug Spell::OnSetVar", 99, 99, 1;
+ bindatcmd "set-var", "Debug Spell::OnSetVar", 99, 99, 1;
+ bindatcmd "sclear", "Debug Spell::OnSClear", 99, 99, 1;
+ bindatcmd "allperms", "Debug Spell::OnAllPerms", 99, 100, 1;
+ end;
+}
+
+029-2,30,26,0 script Debug#0 NPC154,{
+ @debug_npc = 1;
+ callfunc "Debug";
+ end;
+OnInit:
+ if (!debug)
+ disablenpc "Debug#0";
+ end;
+}
+
+001-1,53,47,0 script Debug#1 NPC154,{
+ @debug_npc = 1;
+ callfunc "Debug";
+ end;
+OnInit:
+ if (!debug)
+ disablenpc "Debug#1";
+ end;
+}
+
+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:
+ if (!debug)
+ disablenpc "Debug#3";
+ end;
+}
+