
* Fixes #2099. * Added Emergency Magic Gear. -- Mounts the user to a Madogear. -- Only usable by Mechanic class. -- Has a reuse delay of 3 minutes. * Increased maximum weight limit by 1500. * HP naturally recovers similar to Swordman Moving HP-Recovery. * Updated Emergency Cool's interaction with Overheat calculation. * Added new Emergency Cool cooling devices. * The three cooling devices now lower Overheat by 45, 75, and 105 respectively. * Overheat now only increases on every attack by 1 or by 3 with Fire element. * The Overheat limit is increased to 150, 200, 280, 360, and 450 respective to skill level. * Updated the check for Acceleration, Self Destruction, Shape Shift, Emergency Cool, Magnetic Field, Neutral Barrier, and Stealth Field to also check inventory for required equipment. * Updated Magic Gear Master NPC. -- Added Emergency Magic Gear purchase option. -- Added High Quality Cooler and Special Cooler upgrade options. Thanks to @Felleonel, @Rytech2, @exneval and @mrjnumber1!
280 lines
8.2 KiB
Plaintext
280 lines
8.2 KiB
Plaintext
//===== rAthena Script =======================================
|
|
//= Renters
|
|
//===== By: ==================================================
|
|
//= rAthena Dev Team
|
|
//===== Current Version: =====================================
|
|
//= 2.2
|
|
//===== Compatible With: =====================================
|
|
//= rAthena Project
|
|
//===== Description: =========================================
|
|
//= [Official Conversion]
|
|
//= Renewal-specific breeder NPCs.
|
|
//===== Additional Comments: =================================
|
|
//= 2.1 Moved some renters to a separate renewal file. [Daegaladh]
|
|
//= 2.2 Updated to match the official scripts. [Euphy]
|
|
//============================================================
|
|
|
|
// Dragon Breeder :: dragon
|
|
//============================================================
|
|
job3_rune01,88,62,5 script Dragon Breeder 105,{
|
|
mes "[Dragon Breeder]";
|
|
if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
|
|
mes "Welcome. Would you like to rent a Dragon?";
|
|
next;
|
|
switch(select("Yes:No")) {
|
|
case 1:
|
|
//if (!getskilllv("RK_DRAGONTRAINING")) {
|
|
if (!getskilllv("KN_RIDING")) {
|
|
mes "[Dragon Breeder]";
|
|
mes "Please learn how to ride a Dragon first.";
|
|
close;
|
|
}
|
|
else if (checkdragon()) {
|
|
mes "[Dragon Breeder]";
|
|
mes "You already have a Dragon.";
|
|
close;
|
|
}
|
|
else if (ismounting()) {
|
|
mes "[Dragon Breeder]";
|
|
mes "Please remove your cash mount.";
|
|
close;
|
|
}
|
|
setdragon;
|
|
close;
|
|
case 2:
|
|
mes "[Dragon Breeder]";
|
|
mes "I see. Then have a great day.";
|
|
close;
|
|
}
|
|
}
|
|
mes "What are you doing here?";
|
|
mes "Only Rune Knights can rent a Dragon.";
|
|
close;
|
|
}
|
|
|
|
// Dragon/Gryphon Master :: dragon
|
|
//============================================================
|
|
prontera,130,213,5 script Riding Creature Master 105,{
|
|
mes "[Riding Creature Master]";
|
|
if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
|
|
mes "Welcome. Would you like to rent a Dragon?";
|
|
next;
|
|
switch(select("Yes:No")) {
|
|
case 1:
|
|
//if (!getskilllv("RK_DRAGONTRAINING")) {
|
|
if (!getskilllv("KN_RIDING")) {
|
|
mes "[Riding Creature Master]";
|
|
mes "Please learn how to ride a Dragon first.";
|
|
close;
|
|
}
|
|
else if (checkdragon()) {
|
|
mes "[Riding Creature Master]";
|
|
mes "You already have a Dragon.";
|
|
close;
|
|
}
|
|
else if (ismounting()) {
|
|
mes "[Riding Creature Master]";
|
|
mes "Please remove your cash mount.";
|
|
close;
|
|
}
|
|
setdragon;
|
|
close;
|
|
case 2:
|
|
mes "[Riding Creature Master]";
|
|
mes "I see. Then have a great day.";
|
|
close;
|
|
}
|
|
}
|
|
if (Class == Job_Royal_Guard || Class == Job_Royal_Guard_T || Class == Job_Baby_Guard) {
|
|
mes "Welcome. Would you like to rent a Gryphon?";
|
|
next;
|
|
switch(select("Yes:No")) {
|
|
case 1:
|
|
if (!getskilllv("KN_RIDING")) {
|
|
mes "[Riding Creature Master]";
|
|
mes "Please learn how to ride a Gryphon first.";
|
|
close;
|
|
}
|
|
else if (checkriding()) {
|
|
mes "[Riding Creature Master]";
|
|
mes "You already have a Gryphon.";
|
|
close;
|
|
}
|
|
else if (ismounting()) {
|
|
mes "[Riding Creature Master]";
|
|
mes "Please remove your cash mount.";
|
|
close;
|
|
}
|
|
setriding;
|
|
close;
|
|
case 2:
|
|
mes "[Riding Creature Master]";
|
|
mes "I see. Then have a great day.";
|
|
close;
|
|
}
|
|
}
|
|
mes "I'm here to provide Rune Knights and Royal Guards with riding creatures.";
|
|
close;
|
|
}
|
|
geffen,100,55,3 duplicate(Riding Creature Master) Riding Creature Master#2 105
|
|
payon,166,102,5 duplicate(Riding Creature Master) Riding Creature Master#3 105
|
|
aldebaran,133,109,5 duplicate(Riding Creature Master) Riding Creature Master#4 105
|
|
yuno,171,187,3 duplicate(Riding Creature Master) Riding Creature Master#5 105
|
|
rachel,106,130,5 duplicate(Riding Creature Master) Riding Creature Master#6 105
|
|
|
|
// Peco removing NPC :: dragon
|
|
//============================================================
|
|
prontera,125,208,5 script Peco Peco Remover 105,{
|
|
mes "[Soldier]";
|
|
mes "If you're unable to dismount from a Peco Peco";
|
|
mes "for some unknown reason,";
|
|
mes "please feel free to use my services.";
|
|
if (checkriding()) {
|
|
next;
|
|
mes "[Soldier]";
|
|
mes "You're riding a Peco Peco.";
|
|
mes "Would you like to dismount?";
|
|
next;
|
|
switch(select("Yes:No")) {
|
|
case 1:
|
|
setriding 0;
|
|
mes "[Soldier]";
|
|
mes "Say, how does it feel to";
|
|
mes "step on the ground on your own";
|
|
mes "feet again?";
|
|
close;
|
|
case 2:
|
|
mes "[Soldier]";
|
|
mes "I see. Please feel free to ask me";
|
|
mes "if you change your mind.";
|
|
close;
|
|
}
|
|
}
|
|
close;
|
|
}
|
|
|
|
// Magic Gear Renter :: madogear
|
|
//============================================================
|
|
- script ::mgm -1,{
|
|
mes "[Magic Gear Master]";
|
|
if (Class == Job_Mechanic || Class == Job_Mechanic_T || Class == Job_Baby_Mechanic) {
|
|
mes "Welcome, Mechanic.";
|
|
mes "Would you like to rent a Pushcart or";
|
|
mes "ride a Magic Gear?";
|
|
next;
|
|
switch(select("Rent a Pushcart:Ride a Magic Gear:Buy Emergency Magic Gear:Upgrade Cooling Device:Cancel")) {
|
|
case 1:
|
|
if (checkcart()) {
|
|
mes "[Magic Gear Master]";
|
|
mes "I'm sorry, but you already";
|
|
mes "have a Pushcart.";
|
|
close;
|
|
}
|
|
setcart;
|
|
mes "[Magic Gear Master]";
|
|
mes "There you go!";
|
|
close;
|
|
case 2:
|
|
if (checkmadogear()) {
|
|
mes "[Magic Gear Master]";
|
|
mes "I'm sorry, but you're already";
|
|
mes "riding a Magic Gear.";
|
|
close;
|
|
}
|
|
else if (!getskilllv("NC_MADOLICENCE")) {
|
|
mes "[Magic Gear Master]";
|
|
mes "Please learn the skill to get the Magic Gear License first.";
|
|
close;
|
|
}
|
|
else if(ismounting()) {
|
|
mes "[Magic Gear Master]";
|
|
mes "Please remove your cash mount.";
|
|
close;
|
|
}
|
|
setmadogear;
|
|
mes "[Magic Gear Master]";
|
|
mes "Have fun, and please come again!";
|
|
close;
|
|
case 3:
|
|
mes "[Magic Gear Master]";
|
|
mes "Emergency Magic Gear is really useful for emergency situations and it is sold at 1,000,000 Zeny.";
|
|
next;
|
|
if (select("Purchase:Cancel") == 2) {
|
|
mes "[Magic Gear Master]";
|
|
mes "I see. Please feel free to ask me";
|
|
mes "if you change your mind.";
|
|
close;
|
|
}
|
|
if (countitem(23277) > 0) {
|
|
mes "[Magic Gear Master]";
|
|
mes "I'm sorry, but you already have an Emergency Magic Gear.";
|
|
close;
|
|
}
|
|
if (Zeny < 1000000) {
|
|
mes "[Magic Gear Master]";
|
|
mes "I'm sorry, but you don't have enough Zeny to purchase the Emergency Magic Gear.";
|
|
close;
|
|
}
|
|
Zeny -= 1000000;
|
|
getitem 23277,1; //Mado_Box
|
|
mes "[Magic Gear Master]";
|
|
mes "There you go!";
|
|
close;
|
|
case 4:
|
|
mes "[Magic Gear Master]";
|
|
mes "Which device do you want to upgrade?";
|
|
next;
|
|
if (select("Cooling Device:High Quality Cooler") == 1) {
|
|
mes "[Magic Gear Master]";
|
|
mes "Upgrading Cooling Device to High Quality Cooler needs 1 Cooling Device and 2,000,000 Zeny.";
|
|
next;
|
|
.@itemid = 2804;
|
|
.@cost = 2000000;
|
|
} else {
|
|
mes "[Magic Gear Master]";
|
|
mes "Upgrading High Quality Cooler to Special Cooler needs 1 High Quality Cooler and 4,000,000 Zeny.";
|
|
next;
|
|
.@itemid = 2809;
|
|
.@cost = 4000000;
|
|
}
|
|
if (select("Upgrade:Cancel") == 2) {
|
|
mes "[Magic Gear Master]";
|
|
mes "I see. Please feel free to ask me";
|
|
mes "if you change your mind.";
|
|
close;
|
|
}
|
|
if (!countitem(.@itemid)) {
|
|
mes "[Magic Gear Master]";
|
|
mes "I'm sorry, but you don't have the " + getitemname(.@itemid) + ".";
|
|
close;
|
|
}
|
|
if (Zeny < .@cost) {
|
|
mes "[Magic Gear Master]";
|
|
mes "I'm sorry, but you don't have enough Zeny to upgrade the device.";
|
|
close;
|
|
}
|
|
Zeny -= .@cost;
|
|
delitem .@itemid,1;
|
|
getitem (.@itemid == 2804 ? 2809 : 2810),1; //High_Quality_Cooler,Special_Cooler
|
|
mes "[Magic Gear Master]";
|
|
mes "Here you are! Your very own " + getitemname(.@itemid) + ".";
|
|
close;
|
|
case 5:
|
|
close;
|
|
}
|
|
}
|
|
mes "How may I help you?";
|
|
mes "Magic Gears are only available for Mechanics.";
|
|
close;
|
|
}
|
|
prontera,163,178,3 duplicate(mgm) Magic Gear Master#prt 105
|
|
geffen,103,55,5 duplicate(mgm) Magic Gear Master#gef 105
|
|
payon,166,106,5 duplicate(mgm) Magic Gear Master#pay 105
|
|
aldebaran,133,112,5 duplicate(mgm) Magic Gear Master#alde 105
|
|
yuno,167,187,3 duplicate(mgm) Magic Gear Master#yuno 105
|
|
rachel,106,134,5 duplicate(mgm) Magic Gear Master#ra 105
|
|
dicastes01,187,207,3 duplicate(mgm) Magic Gear Master#dic 105
|
|
manuk,273,212,5 duplicate(mgm) Magic Gear Master#man 105
|
|
splendide,180,174,5 duplicate(mgm) Magic Gear Master#spl 105
|
|
mid_camp,242,243,3 duplicate(mgm) Magic Gear Master#mid 105
|