summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/000-0-0/sailors.txt1
-rw-r--r--npc/025-1/phoenix.txt30
-rw-r--r--npc/functions/clientversion.txt9
-rw-r--r--npc/functions/rebirth.txt36
-rw-r--r--npc/scripts.conf3
5 files changed, 48 insertions, 31 deletions
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",