// TMW-2 Script.
// Author:
// Jesusalva
// Notes:
// Phoenix Rebirth
025-1,66,21,0 script Phoenix Rebirth NPC_BRGUARD_SPEAR,{
setpcblock(PCBLOCK_HARD, true);
.@phoenix = true;
OnMain:
mesn;
mesq l("Hello there. My name is %s.", .name$);
next;
mesn;
if (REBIRTH)
.@blvl=0-(REBIRTH_OVERLEVEL/REBIRTH);
else
.@blvl=0;
switch (REBIRTH) {
case 0:
.@blvl+=99;
.@rebirth$=l("first");
break;
case 1:
.@blvl+=120;
.@rebirth$=l("second");
break;
case 2:
.@blvl+=135;
.@rebirth$=l("third");
break;
case 3:
.@blvl+=150;
.@rebirth$=l("fourth");
break;
case 4:
.@blvl+=175;
.@rebirth$=l("final");
if ($GAME_STORYLINE >= 5)
break;
default:
setpcblock(PCBLOCK_HARD, false);
mesc l("Unfortunately you cannot rebirth anymore!");
close;
break;
}
.@blvl=max(90, .@blvl); // Do not allow it to go too far below!
mesc l("Once you reach level %d, I'll offer you a life-time opportunity to delete all your levels and experience for your %s rebirth!", .@blvl, .@rebirth$);
next;
mesn;
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("* +1 in all attributes, permanently");
mes l("* +1 Magic Skill Point");
mes l("* +%d%% EXP Gain and Drop Chance, permanently", 2);
mes l("* 1 %s", getitemlink(SupremeGift));
mes l("* 1 Trait");
mes l("* Healing items improved");
mes l("* %s Level up", getskillname(TMW2_DROPS));
if (BaseLevel < .@blvl) {
setpcblock(PCBLOCK_HARD, false);
close;
}
next;
mesn;
mesq l("Are you interested? You'll keep %s your equipment, magic, quest progression, craft recipes, money, whatever else which is not a level. Not even Job level won't be reset!", b(l("ALL")));
mesc l("This cannot be undo later!"), 1;
next;
setpcblock(PCBLOCK_HARD, false);
inventoryplace NPCEyes, 7;
select
l("Do not rebirth"),
l("Rebirth"),
l("Do not rebirth");
mes "";
if (@menu != 2)
close;
mesc l("ARE YOU SURE? THIS CANNOT BE UNDONE LATER!!"), 1;
if (askyesno() != ASK_YES)
close;
setnpcdialogtitle l("Rebirth Trait Selection");
if (!ChooseTrait())
close;
// Okay, then a rebirth it is!
expandinventory(3);
REBIRTH+=1;
REBIRTH_OVERLEVEL=max(0, BaseLevel-.@blvl-(REBIRTH_OVERLEVEL/REBIRTH));
resetlvl(3);
sk_lvup(TMW2_DROPS);
NewcomerEXPDROPUP();
getvaultexp(20);
getitembound SupremeGift, 1, 4;
warp "005-1", 40, 117;
LOCATION$="Candor";
kamibroadcast(strcharinfo(0)+" has been reborn.");
// Maybe you were THE FIRST
if (!REBIRTH_WINNER)
REBIRTH_WINNER = gettimetick(2);
if ($REBIRTH_WINNER$ == "") {
$REBIRTH_WINNER$=strcharinfo(0);
channelmes("#world", $REBIRTH_WINNER$+" is the first player to REBIRTH!! They are so OP! %%N");
announce "All hail ##B"+$REBIRTH_WINNER$+"##b, first player to REBIRTH and become OP!", bc_all|bc_npc;
getitem SupremeGift, 1;
next;
}
// These operations can be delayed or fail
StatusResetReinvest();
if ($EVENT$ == "Rebirth" && .@phoenix)
BaseLevel = 3;
// Open a new dialog
clear;
setnpcdialogtitle l("Rebirth Race Selection");
mesc l("Do you want to change your race?");
mesc l("This can only be reverted at rebirth! Beware!");
next;
if (askyesno() != ASK_YES)
close;
// Rebirth: 0
mes "";
mes ".:: "+l("Human")+" ::.";
mesc l("The most widespread race in the continent, highly versatile, perfect all-rounders.");
mesc l("Strength: NONE"), 2;
mesc l("Weakness: NONE"), 1;
// Rebirth: 1
if (REBIRTH >= 1) {
mes "";
mes ".:: "+l("Elven")+" ::.";
mesc l("They are highly intelligent, and have higher magical affinity, and live longer, but lacks creativity.");
mesc l("Strength: INT+"), 2;
mesc l("Weakness: STR-"), 1;
mes "";
mes ".:: "+l("Tritan")+" ::.";
mesc l("Blue from sea, learned how to hunt. But unfortunately, not how to withstand attacks.");
mesc l("Strength: DEX+"), 2;
mesc l("Weakness: VIT-"), 1;
}
// Rebirth: 2
if (REBIRTH >= 2) {
mes "";
mes ".:: "+l("Raijin")+" ::.";
mesc l("Lives undercover in human society. Luck led them to surviving this far.");
mesc l("Strength: LUK+"), 2;
mesc l("Weakness: DEX-"), 1;
mes "";
mes ".:: "+l("Orc")+" ::.";
mesc l("Highly strong and bulky, faces their foes head-on.");
mesc l("Strength: STR+, Carry Weight +"), 2;
mesc l("Weakness: AGI-"), 1;
}
// Rebirth: 3
if (REBIRTH >= 3) {
mes "";
mes ".:: "+l("Ukar")+" ::.";
mesc l("Superb stealth, and quick on their toes.");
mesc l("Strength: AGI+, Walk Speed +"), 2;
mesc l("Weakness: LUK-"), 1;
mes "";
mes ".:: "+l("Redy")+" ::.";
mesc l("Grown in harsh environments, withstand anything.");
mesc l("Strength: VIT++"), 2;
mesc l("Weakness: INT-"), 1;
}
// Rebirth: 5
if (REBIRTH >= 5) {
mes "";
mes ".:: "+l("Savior")+" ::.";
mesc l("Unparelled, strength without precedents. Ancient beings of pure mana, rumored to be immortal.");
mesc l("Strength: ALL"), 2;
mesc l("Weakness: NONE"), 1;
}
next;
menuint
l("Kaizei Human"), 0,
rif(REBIRTH >= 1, l("Elven")), 3,
rif(REBIRTH >= 1, l("Tritan")), 6,
rif(REBIRTH >= 2, l("Raijin")), 5,
rif(REBIRTH >= 2, l("Orc")), 4,
rif(REBIRTH >= 3, l("Ukar")), 7,
rif(REBIRTH >= 3, l("Redy")), 8,
rif(REBIRTH >= 5, l("Savior")), 9,
l("Argaes Human"), 1,
l("Tonori Human"), 2,
l("Don't change race"), Class;
jobchange max(0, @menuret);
close;
OnInit:
.sex = G_MALE;
.distance = 7;
end;
}