From da5c5dad4111c7d3c9eace1b06d9b23025b514dd Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sun, 28 Mar 2021 15:55:37 -0300 Subject: Nerf rebirth bonuses (all stats -1, exp -9%). Add Trait System to rebirth --- npc/025-1/phoenix.txt | 43 +++++++++++++++++++++++++++++++++++-------- npc/functions/util.txt | 2 +- 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; -- cgit v1.2.3-60-g2f50