From 0dd27fddee340dc66c036a1ce6f992e67a16b070 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 11 Dec 2021 22:14:09 -0300 Subject: Change Focus on the fly --- npc/081-1/extra.txt | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 81 insertions(+), 1 deletion(-) diff --git a/npc/081-1/extra.txt b/npc/081-1/extra.txt index 2e60750c..5cacf64e 100644 --- a/npc/081-1/extra.txt +++ b/npc/081-1/extra.txt @@ -14,6 +14,16 @@ OnInit: end; } +081-1,69,82,0 script Ol' Reset NPC329,{ + @npcname$ = "Ol' Reset"; + StatReset(); + close; + +OnInit: + .distance=5; + end; +} + 081-1,57,49,0 script Soul Menhir#Aethyr NPC346,{ @map$ = "081-1"; setarray @Xs, 54, 54, 54, 55, 55, 55, 56; @@ -51,7 +61,7 @@ OnInit: mesq l("To use magic, first select the target, and use the skill to unleash the magical attack. The next attack will only come when you use the skill again; unfortunately, it is NOT automatic."); next; mesn; - mesq l("If you have unspent status points, you can level them up to 100. Focus skills work sightly different than on TMW Legacy and may have bugs, which staff will be trying to fix as the event progress."); + mesq l("If you have unspent status points, you can level them up to 100. Focus skills work sightly different than on TMW Legacy. YOU NEED TO REFOCUS them!"); next; mesn; mesq l("Your weight limit is a bit larger, but if it reaches 90% you will no longer be able to attack, so be careful."); @@ -72,3 +82,73 @@ OnInit: end; } +081-1,47,74,0 script Focus Master NPC328,{ + while (true) { + @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); + + mesn; + 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"), 0, + ("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 ""; + + if (@menuret) { + 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; + } + } + else { + break; + } + } + mes ""; + mesn; + mesq l("Come back again!"); + close; + +OnInit: + .distance=5; + end; +} + -- cgit v1.2.3-60-g2f50