summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-03-28 15:55:37 -0300
committerJesusaves <cpntb1@ymail.com>2021-03-28 15:55:37 -0300
commitda5c5dad4111c7d3c9eace1b06d9b23025b514dd (patch)
treefc8551c89f9fb48a31885f19e7188674f69ed079
parent4e1f2fd9cf6fce6a708e19ab3742daf29e95d04c (diff)
downloadserverdata-da5c5dad4111c7d3c9eace1b06d9b23025b514dd.tar.gz
serverdata-da5c5dad4111c7d3c9eace1b06d9b23025b514dd.tar.bz2
serverdata-da5c5dad4111c7d3c9eace1b06d9b23025b514dd.tar.xz
serverdata-da5c5dad4111c7d3c9eace1b06d9b23025b514dd.zip
Nerf rebirth bonuses (all stats -1, exp -9%). Add Trait System to rebirth
-rw-r--r--npc/025-1/phoenix.txt43
-rw-r--r--npc/functions/util.txt2
2 files changed, 36 insertions, 9 deletions
diff --git a/npc/025-1/phoenix.txt b/npc/025-1/phoenix.txt
index d89713208..bb95261c3 100644
--- a/npc/025-1/phoenix.txt
+++ b/npc/025-1/phoenix.txt
@@ -50,10 +50,11 @@
mesq l("Rebirth is free. Here are the perks you'll get by doing the rebirth:");
mes "";
mes l("* +3 Inventory Slots")+" ##1##BWIP##b##0";
- mes l("* +2 in all attributes, permanently");
+ mes l("* +1 in all attributes, permanently");
mes l("* +1 Magic Skill Point");
- mes l("* +%d%% EXP Gain and Drop Chance, permanently", 10);
+ mes l("* +%d%% EXP Gain and Drop Chance, permanently", 1);
mes l("* 1 %s", getitemlink(SupremeGift));
+ mes l("* 1 Trait");
if (BaseLevel < .@blvl) {
setpcblock(PCBLOCK_HARD, false);
close;
@@ -76,15 +77,41 @@
if (askyesno() != ASK_YES)
close;
+ setnpcdialogtitle l("Rebirth Trait Selection");
+ 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;
+ if (@menuret == 0) return;
+ PCBONUS=PCBONUS|@menuret;
+
// Okay, then a rebirth it is!
expandinventory(3);
REBIRTH+=1;
- STATUSUP_STR+=2;
- STATUSUP_AGI+=2;
- STATUSUP_VIT+=2;
- STATUSUP_INT+=2;
- STATUSUP_DEX+=2;
- STATUSUP_LUK+=2;
+ STATUSUP_STR+=1;
+ STATUSUP_AGI+=1;
+ STATUSUP_VIT+=1;
+ STATUSUP_INT+=1;
+ STATUSUP_DEX+=1;
+ STATUSUP_LUK+=1;
REBIRTH_OVERLEVEL=max(0, BaseLevel-.@blvl-(REBIRTH_OVERLEVEL/REBIRTH));
resetlvl(3);
NewcomerEXPDROPUP();
diff --git a/npc/functions/util.txt b/npc/functions/util.txt
index 342df1531..fb138de01 100644
--- a/npc/functions/util.txt
+++ b/npc/functions/util.txt
@@ -1134,7 +1134,7 @@ function script NewcomerEXPDROPUP {
.@BONUS=max(1, .@BONUS);
// Rebirth
} else {
- .@BONUS=REBIRTH*10;
+ .@BONUS=REBIRTH*1;
}
// Defaults to 24 hours
sc_end SC_CASH_PLUSEXP;