From d41597b05cd9c2a91272922043b8906257ad629c Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 26 Nov 2022 17:04:59 -0300 Subject: Do not allow new accounts to select extra XP gain or Knockback immunity. The first alt of an account must NOT be able to select these bonuses. --- npc/000-0-0/sailors.txt | 2 +- npc/002-1/arpan.txt | 4 ++++ npc/functions/clientversion.txt | 6 ++++++ npc/functions/rebirth.txt | 4 ++-- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/npc/000-0-0/sailors.txt b/npc/000-0-0/sailors.txt index 8b587cb24..69af6b7a9 100644 --- a/npc/000-0-0/sailors.txt +++ b/npc/000-0-0/sailors.txt @@ -256,7 +256,6 @@ L_Skip: equip(CreasedShorts); L_Ready: - #TUTORIAL_DONE=true; //clearitem(); // The dummy does not drop anything :> if (!##VAULT) resetlvl(2); @@ -270,6 +269,7 @@ L_Ready: savepoint "000-1", 22, 22; TUT_VAR=gettimetick(2); do { mesc l("You must choose a trait now, or the opportunity will be forfeit."), 1; } while (!ChooseTrait()); + #TUTORIAL_DONE=true; closedialog; close; diff --git a/npc/002-1/arpan.txt b/npc/002-1/arpan.txt index 11de7985a..6a3dd2d12 100644 --- a/npc/002-1/arpan.txt +++ b/npc/002-1/arpan.txt @@ -9,6 +9,8 @@ // Introduction NPC 002-1,49,36,0 script LeftDoorCheck NPC_HIDDEN,0,0,{ + if (!#TUTORIAL_DONE) + #TUTORIAL_DONE = true; .@q = getq(ShipQuests_Arpan); if (.@q == 5) doevent instance_npcname("Magic Arpan")+"::OnTalk"; @@ -16,6 +18,8 @@ } 002-1,54,36,0 script RightDoorCheck NPC_HIDDEN,0,0,{ + if (!#TUTORIAL_DONE) + #TUTORIAL_DONE = true; .@q = getq(ShipQuests_Arpan); if (.@q == 5) doevent instance_npcname("Magic Arpan")+"::OnTalk"; diff --git a/npc/functions/clientversion.txt b/npc/functions/clientversion.txt index bc5795be9..67d3f4870 100644 --- a/npc/functions/clientversion.txt +++ b/npc/functions/clientversion.txt @@ -1074,7 +1074,13 @@ function script clientupdater { UPDATE=1669491875; if (TUT_VAR) { .@dg = true; + // Allow you to choose the starting trait + // However, we unset #TUTORIAL_DONE so EXP Gain and Knockback are OFF + // While alts are generally allowed to have these starting traits, + // there's no way for veterans select this. + #TUTORIAL_DONE = false; do { mesc l("You must choose a trait now, or the opportunity will be forfeit."), 1; } while (!ChooseTrait()); + #TUTORIAL_DONE = true; } } diff --git a/npc/functions/rebirth.txt b/npc/functions/rebirth.txt index bbf0388bf..d997c4c37 100644 --- a/npc/functions/rebirth.txt +++ b/npc/functions/rebirth.txt @@ -24,8 +24,8 @@ function script ChooseTrait { rif(!(PCBONUS & PCB_ASPDBONUS), l("Atk. Speed +10")), PCB_ASPDBONUS, rif(!(PCBONUS & PCB_WSPDBONUS), l("Walk +5%")), PCB_WSPDBONUS, rif(!(PCBONUS & PCB_WEIGHTBONUS), l("Max Weight +1kg")), PCB_WEIGHTBONUS, - rif(!(PCBONUS & PCB_EXPBONUS), l("EXP Gain +10%")), PCB_EXPBONUS, - rif(!(PCBONUS & PCB_NOKNOCKBACK), l("Knockback Immunity")), PCB_NOKNOCKBACK, + rif(#TUTORIAL_DONE && !(PCBONUS & PCB_EXPBONUS), l("EXP Gain +10%")), PCB_EXPBONUS, + rif(#TUTORIAL_DONE && !(PCBONUS & PCB_NOKNOCKBACK), l("Knockback Immunity")), PCB_NOKNOCKBACK, rif(REBIRTH && !(PCBONUS & PCB_SPLASHMASTER), l("AoE (not stackable)")), PCB_SPLASHMASTER, rif(REBIRTH && !(PCBONUS & PCB_RANGEMASTER), l("Atk Range +1")), PCB_RANGEMASTER, rif(REBIRTH < 5 && !(PCBONUS & PCB_LEGENDARY), l("No penalty against Legendary mobs")), PCB_LEGENDARY; -- cgit v1.2.3-70-g09d2