From d3e20749c8cf48fb2cabea6793d67f772cc85f47 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 26 Nov 2022 17:00:33 -0300 Subject: All players will now be able to choose a trait as soon as they start the game. We have 19 traits and 5 opportunities to select them. I want to make this 7. So right now, you can have 6 out of 7 traits, the 7th will be a quest. --- npc/000-0-0/sailors.txt | 1 + npc/025-1/phoenix.txt | 30 ------------------------------ npc/functions/clientversion.txt | 9 +++++++++ npc/functions/rebirth.txt | 36 ++++++++++++++++++++++++++++++++++++ npc/scripts.conf | 3 ++- 5 files changed, 48 insertions(+), 31 deletions(-) create mode 100644 npc/functions/rebirth.txt diff --git a/npc/000-0-0/sailors.txt b/npc/000-0-0/sailors.txt index d6dd4400d..8b587cb24 100644 --- a/npc/000-0-0/sailors.txt +++ b/npc/000-0-0/sailors.txt @@ -269,6 +269,7 @@ L_Ready: warp "002-1@Candor", 53, 38; 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()); closedialog; close; diff --git a/npc/025-1/phoenix.txt b/npc/025-1/phoenix.txt index 88b4deb86..c9e95556a 100644 --- a/npc/025-1/phoenix.txt +++ b/npc/025-1/phoenix.txt @@ -4,36 +4,6 @@ // Notes: // Phoenix Rebirth -// ChooseTrait() -function script ChooseTrait { - mesc l("Please select a trait."); - mesc l("This choice CANNOT be undone later."), 1; - menuint - l("Cancel"), 0, - rif(!(PCBONUS & PCB_ATKBONUS), l("Atk +25")), PCB_ATKBONUS, - rif(!(PCBONUS & PCB_MATKBONUS), l("Matk +25")), PCB_MATKBONUS, - rif(!(PCBONUS & PCB_DEFBONUS), l("Def +20")), PCB_DEFBONUS, - rif(!(PCBONUS & PCB_MDEFBONUS), l("MDEF +10")), PCB_MDEFBONUS, - rif(!(PCBONUS & PCB_EVDBONUS), l("Evasion +20")), PCB_EVDBONUS, - rif(!(PCBONUS & PCB_HITBONUS), l("Accuracy +25")), PCB_HITBONUS, - rif(!(PCBONUS & PCB_CRITBONUS), l("Crit +5%")), PCB_CRITBONUS, - rif(!(PCBONUS & PCB_DOUBLEATK), l("Double Attack +5%")), PCB_DOUBLEATK, - rif(!(PCBONUS & PCB_ALLSTATS), l("All Stats +1")), PCB_ALLSTATS, - rif(!(PCBONUS & PCB_HPBONUS), l("HP +500")), PCB_HPBONUS, - rif(!(PCBONUS & PCB_MPBONUS), l("MP +200")), PCB_MPBONUS, - 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(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; - if (@menuret == 0) return false; - PCBONUS=PCBONUS|@menuret; - return true; -} - 025-1,66,21,0 script Phoenix Rebirth NPC_BRGUARD_SPEAR,{ setpcblock(PCBLOCK_HARD, true); .@phoenix = true; diff --git a/npc/functions/clientversion.txt b/npc/functions/clientversion.txt index 443e5b10b..bc5795be9 100644 --- a/npc/functions/clientversion.txt +++ b/npc/functions/clientversion.txt @@ -1068,6 +1068,15 @@ function script clientupdater { if (getq(TulimsharQuest_MobTutorial) >= 8) Zeny+=2200; } + // Balance update + // sáb 26 nov 2022 16:44:35 -03 + if (UPDATE < 1669491875) { + UPDATE=1669491875; + if (TUT_VAR) { + .@dg = true; + do { mesc l("You must choose a trait now, or the opportunity will be forfeit."), 1; } while (!ChooseTrait()); + } + } // :// End of Regular Update System //////////////////////////////////// diff --git a/npc/functions/rebirth.txt b/npc/functions/rebirth.txt new file mode 100644 index 000000000..bbf0388bf --- /dev/null +++ b/npc/functions/rebirth.txt @@ -0,0 +1,36 @@ +// TMW-2 Script +// Author: +// Jesusalva +// Description: +// Rebirth Utilities + +// ChooseTrait() +function script ChooseTrait { + mesc l("Please select a trait."); + mesc l("This choice CANNOT be undone later."), 1; + menuint + l("Cancel"), 0, + rif(!(PCBONUS & PCB_ATKBONUS), l("Atk +25")), PCB_ATKBONUS, + rif(!(PCBONUS & PCB_MATKBONUS), l("Matk +25")), PCB_MATKBONUS, + rif(!(PCBONUS & PCB_DEFBONUS), l("Def +20")), PCB_DEFBONUS, + rif(!(PCBONUS & PCB_MDEFBONUS), l("MDEF +10")), PCB_MDEFBONUS, + rif(!(PCBONUS & PCB_EVDBONUS), l("Evasion +20")), PCB_EVDBONUS, + rif(!(PCBONUS & PCB_HITBONUS), l("Accuracy +25")), PCB_HITBONUS, + rif(!(PCBONUS & PCB_CRITBONUS), l("Crit +5%")), PCB_CRITBONUS, + rif(!(PCBONUS & PCB_DOUBLEATK), l("Double Attack +5%")), PCB_DOUBLEATK, + rif(!(PCBONUS & PCB_ALLSTATS), l("All Stats +1")), PCB_ALLSTATS, + rif(!(PCBONUS & PCB_HPBONUS), l("HP +500")), PCB_HPBONUS, + rif(!(PCBONUS & PCB_MPBONUS), l("MP +200")), PCB_MPBONUS, + 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(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; + if (@menuret == 0) return false; + PCBONUS=PCBONUS|@menuret; + return true; +} + diff --git a/npc/scripts.conf b/npc/scripts.conf index e51c7e472..f9ba6d578 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -7,8 +7,8 @@ "npc/functions/array.txt", "npc/functions/bitwise.txt", "npc/functions/math.txt", -"npc/functions/vault.txt", "npc/functions/util.txt", +"npc/functions/vault.txt", // General-purpose Framework functions "npc/functions/input.txt", @@ -64,6 +64,7 @@ "npc/functions/nurse.txt", "npc/functions/petsales.txt", "npc/functions/politics.txt", +"npc/functions/rebirth.txt", "npc/functions/refine.txt", "npc/functions/resetstatus.txt", "npc/functions/riddle.txt", -- cgit v1.2.3-60-g2f50