From bc2b11ca49af7b764ce3530585b44ad6bd4a06ed Mon Sep 17 00:00:00 2001
From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com>
Date: Wed, 4 May 2022 21:36:43 +0000
Subject: [PATCH] Adjustments for luxury shop and pet manager NPCs.
---
.../dist/game/config/General.ini | 4 -
.../dist/game/config/NPC.ini | 5 -
.../dist/game/data/html/merchant/30097-pk.htm | 3 +
.../dist/game/data/html/merchant/30097.htm | 10 +-
.../dist/game/data/html/merchant/30098-pk.htm | 3 +
.../dist/game/data/html/merchant/30098.htm | 8 +
.../dist/game/data/html/petmanager/30731.htm | 15 +-
.../dist/game/data/html/petmanager/30827.htm | 15 +-
.../dist/game/data/html/petmanager/30828.htm | 17 +-
.../dist/game/data/html/petmanager/30829.htm | 17 +-
.../dist/game/data/html/petmanager/30830.htm | 17 +-
.../dist/game/data/html/petmanager/30831.htm | 15 +-
.../dist/game/data/html/petmanager/30869.htm | 17 +-
.../dist/game/data/html/petmanager/31067.htm | 17 +-
.../dist/game/data/html/petmanager/31265.htm | 17 +-
.../dist/game/data/html/petmanager/31309.htm | 17 +-
.../dist/game/data/html/petmanager/31954.htm | 19 +-
.../dist/game/data/html/petmanager/evolve.htm | 10 -
.../game/data/html/petmanager/evolve_no.htm | 5 -
.../game/data/html/petmanager/exchange.htm | 6 -
.../game/data/html/petmanager/exchange_no.htm | 4 -
.../data/html/petmanager/instructions.htm | 8 -
.../html/petmanager/restore-unsummonpet.htm | 3 -
.../game/data/html/petmanager/restore_no.htm | 3 -
.../dist/game/data/html/warehouse/30083.htm | 2 +-
.../dist/game/data/multisell/101.xml | 31 +++
.../dist/game/data/multisell/300974001.xml | 138 ++++++------
.../dist/game/data/multisell/300984001.xml | 210 +++++++++---------
.../dist/game/data/multisell/300984002.xml | 136 ++++--------
.../ai/areas/Giran/Alexandria/30098-02.html | 8 -
.../ai/areas/Giran/Alexandria/30098-03.html | 4 -
.../ai/areas/Giran/Alexandria/30098-03a.html | 6 -
.../ai/areas/Giran/Alexandria/30098-04.html | 3 -
.../ai/areas/Giran/Alexandria/30098.html | 8 -
.../ai/areas/Giran/Alexandria/Alexandria.java | 143 ------------
.../data/scripts/handlers/MasterHandler.java | 4 +-
.../scripts/handlers/bypasshandlers/Link.java | 3 -
.../handlers/bypasshandlers/RentPet.java | 143 ------------
.../scripts/handlers/bypasshandlers/Sell.java | 55 +++++
.../dist/game/data/stats/npcs/30000-30099.xml | 2 +-
.../java/org/l2jmobius/Config.java | 9 -
.../l2jmobius/gameserver/model/actor/Npc.java | 8 -
.../model/actor/instance/PetManager.java | 142 ------------
.../clientpackets/RequestSellItem.java | 23 +-
.../network/serverpackets/SellList.java | 70 ++++++
L2J_Mobius_CT_0_Interlude/readme.txt | 2 +
46 files changed, 496 insertions(+), 909 deletions(-)
create mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30097-pk.htm
create mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30098-pk.htm
create mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30098.htm
delete mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/evolve.htm
delete mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/evolve_no.htm
delete mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/exchange.htm
delete mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/exchange_no.htm
delete mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/instructions.htm
delete mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/restore-unsummonpet.htm
delete mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/restore_no.htm
create mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/101.xml
delete mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-02.html
delete mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-03.html
delete mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-03a.html
delete mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-04.html
delete mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098.html
delete mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/Alexandria.java
delete mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/bypasshandlers/RentPet.java
create mode 100644 L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/bypasshandlers/Sell.java
create mode 100644 L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/network/serverpackets/SellList.java
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/config/General.ini b/L2J_Mobius_CT_0_Interlude/dist/game/config/General.ini
index 5580b0c43b..857a0b1e7d 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/config/General.ini
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/config/General.ini
@@ -373,10 +373,6 @@ AllowRace = True
# Default: True
AllowWater = True
-# Enable pets for rent (wyvern & strider) from pet managers.
-# Default: False
-AllowRentPet = False
-
# Default: True
AllowFishing = True
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/config/NPC.ini b/L2J_Mobius_CT_0_Interlude/dist/game/config/NPC.ini
index 4273f72fe2..9b916e2141 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/config/NPC.ini
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/config/NPC.ini
@@ -150,11 +150,6 @@ EnableGuardReturn = True
# Default: False
AllowWyvernUpgrader = False
-# Pets that can be rented.
-# Example: 30827, 32471, 34486, 36547
-# Default: 30827
-ListPetRentNpc = 30827
-
# This will control the inventory space limit for pets (NOT WEIGHT LIMIT).
# Default: 12
MaximumSlotsForPet = 12
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30097-pk.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30097-pk.htm
new file mode 100644
index 0000000000..37daa62500
--- /dev/null
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30097-pk.htm
@@ -0,0 +1,3 @@
+
Trader Galladucci:
+I tell you, I can see you're up to no good. Get out of my sight, I tell you.
+
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30097.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30097.htm
index a71364720f..230be18369 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30097.htm
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30097.htm
@@ -1,7 +1,7 @@
-Trader Galladuchi:
-To be a legendary warrior, you need a one-of-a-kind weapon, the sort of thing bards will sing about for generations!
-We can provide you that, but I'm sorry to say that we cannot accept Adena as payment. We only accept crystals.
-If you require new armor or other rare items, please speak with my wife.
-Purchase weapons.
+Trader Galladucci:
+Our high-end shop has opened again and there are many precious weapons. I hope you find something you like.
+I'm sorry but we don't accept adena anymore, only crystals. I hope that's not too inconvenient.
+If you're looking for armor, just ask my wife next to me.
+Buy weapon.
Quest
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30098-pk.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30098-pk.htm
new file mode 100644
index 0000000000..ecd568ea6e
--- /dev/null
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30098-pk.htm
@@ -0,0 +1,3 @@
+Trader Alexandria:
+Look here, just who do you think you are, daring to come into this place? If you don't leave at once, I will call the guards.
+
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30098.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30098.htm
new file mode 100644
index 0000000000..0f5815c24d
--- /dev/null
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/merchant/30098.htm
@@ -0,0 +1,8 @@
+Trader Alexandria:
+Greetings! Welcome to our luxury shop! Here you will find rare and precious items. Feel free to look around and pick out what you like.
+Remember, we only accept crystals as payment.
+If you wish to buy a weapon, my husband will help you.
+Buy armor.
+Buy miscellaneous goods.
+Quest
+
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30731.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30731.htm
index d6a30b58e0..e5a3a327cc 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30731.htm
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30731.htm
@@ -1,11 +1,10 @@
Pet Manager Martin:
-Glad to see you! I love pets so much that I became a pet manager. What can I do for you?
-Listen to instructions for raising a pet.
-Buy pet equipment.
-Exchange pet equipment for higher grade equipment.
-Exchange Hatchling equipment for Strider equipment.
-Evolve pet.
-Exchange pet exchange ticket for a pet.
-View information about the local lord and tax rate.
+Nice to meet you! My name is Martin. I became a pet manager because of my big love for animals. So, what brings you here to me?
+Buy a pet product
+Upgrade Pet Equipment
+Exchange the hatchling equipment with the strider equipment.
+Exchange the pet trade ticket with a pet.
+Sell your item.
+See the lord and get the tax rate information.
Quest
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30827.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30827.htm
index c4373bdd14..3589527eba 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30827.htm
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30827.htm
@@ -1,11 +1,10 @@
Pet Manager Lundy:
-Pets are precious followers and friends for us adventurers. Any adventurer who has spent a night with a pet out in the wilderness knows what I mean.
-Listen to instructions for raising a pet.
-Buy pet equipment.
-Exchange pet equipment for higher grade equipment.
-Exchange Hatchling equipment for Strider equipment.
-Evolve pet.
-Exchange pet exchange ticket for a pet.
-View information about the local lord and tax rate.
+Pets are indispensable companions of adventurers. Anyone who has spent the night in the wilderness with their pet will know what I mean.
+Buy a pet product
+Upgrade Pet Equipment
+Exchange the hatchling equipment with the strider equipment.
+Exchange the pet trade ticket with a pet.
+Sell your item.
+See the lord and get the tax rate information.
Quest
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30828.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30828.htm
index e5362fcc54..a965694591 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30828.htm
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30828.htm
@@ -1,11 +1,10 @@
Pet Manager Waters:
-Here, try this delicious new Wolf food. With this, even a Turek War Hound will go down in one bite! And here are the Steel Teeth that a Dwarven knife sharpener spent weeks making. Ah, and see these new Hatchling items! Look around -- a good pet owner always comes to the Dion Pet Center!
-Listen to instructions for raising a pet.
-Buy pet equipment.
-Exchange pet equipment for higher grade equipment.
-Exchange Hatchling equipment for Strider equipment.
-Evolve pet.
-Exchange pet exchange ticket for a pet.
-View information about the local lord and tax rate.
-Quest.
+We've got a special food that wolves absolutely love. If you feed this to your wolf, it will tear even a turek war hound to shreds! We also have Steel teeth made by Dwarven hooligans! And hatchling products! Feel free to look around! Good owners always come to this Pet Kennel of Dion Castle Town.
+Buy a pet product
+Upgrade Pet Equipment
+Exchange the hatchling equipment with the strider equipment
+Exchange the pet trade ticket with a pet
+Sell your item
+See the lord and get the tax rate information
+Quest
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30829.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30829.htm
index bb86e90b92..0410c55e16 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30829.htm
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30829.htm
@@ -1,11 +1,10 @@
Pet Manager Cooper:
-Welcome to Giran Castle Town Pet Center. To be honest, this kind of busy environment isn't particularly good for the pets. I'm thinking about moving one day to a nice quiet place on the village outskirts.
-Listen to instructions for raising a pet.
-Buy pet equipment.
-Exchange pet equipment for higher grade equipment.
-Exchange Hatchling equipment for Strider equipment.
-Evolve pet.
-Exchange pet exchange ticket for a pet.
-View information about the local lord and tax rate.
-Quest.
+Welcome to the Pet Kennel of Giran Castle Town. This location is good for business but bad for the pets. I hope to move the shop to a quieter location in the country sometime in the future.
+Buy a pet product
+Upgrade Pet Equipment
+Exchange the hatchling equipment with the strider equipment
+Exchange the pet trade ticket with a pet
+Sell your item
+See the lord and get the tax rate information
+Quest
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30830.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30830.htm
index 5c6d0553f0..8795d48170 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30830.htm
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30830.htm
@@ -1,11 +1,10 @@
-Pet Manager Joa:
-The most important thing to preserve your pet's health is love. For a loving master, a pet will carry immense burdens, fight ferociously and prove its loyalty in a thousand ways...
-Listen to instructions for raising a pet.
-Buy pet equipment.
-Exchange pet equipment for higher grade equipment.
-Exchange Hatchling equipment for Strider equipment.
-Evolve pet.
-Exchange pet exchange ticket for a pet.
-View information about the local lord and tax rate.
+Pet Manager Joey:
+Raising your pet with love and affection will result in its undying loyalty and devotion.
+Buy a pet product
+Upgrade Pet Equipment
+Exchange the hatchling equipment with the strider equipment
+Exchange the pet trade ticket with a pet
+Sell your item
+See the lord and get the tax rate information
Quest
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30831.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30831.htm
index 7a2d9788dd..20aedf2526 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30831.htm
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30831.htm
@@ -1,11 +1,10 @@
Pet Manager Nelson:
-I heard it was popular to raise pets these days, and it sure seems that Pet Centers are opening up in the larger towns. Our Hunters Village is no exception -- it may be small, but how can you talk about anything related to animals without thinking of this place?
-Listen to instructions for raising a pet.
-Buy pet equipment.
-Exchange pet equipment for higher grade equipment.
-Exchange Hatchling equipment for Strider equipment.
-Evolve pet.
-Exchange pet exchange ticket for a pet.
-View information about the local lord and tax rate.
+Pet ownership is definitely on the increase. Kennels are opening in every large town. Hunters Village is no exception. Even though this is a relatively small town, there are many pets to choose from here.
+Buy a pet product
+Upgrade Pet Equipment
+Exchange the hatchling equipment with the strider equipment
+Exchange the pet trade ticket with a pet
+Sell your item
+See the lord and get the tax rate information
Quest
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30869.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30869.htm
index 63c18214c4..7ad86b3e89 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30869.htm
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/30869.htm
@@ -1,11 +1,10 @@
-Pet Manager Ramper:
-Hmm... Recently I heard a rumor that some group is organizing in order to collect Drake and Wyrm eggs. Tsk! Sure, Hatchlings are fine pets, but it's a different story they become Striders. Only one thing that I can think of that makes sense: somebody is trying to create a cavalry unit composed of Striders!
-Listen to instructions for raising a pet.
-Buy pet equipment.
-Exchange pet equipment for higher grade equipment.
-Exchange Hatchling equipment for Strider equipment.
-Evolve pet.
-Exchange pet exchange ticket for a pet.
-View information about the local lord and tax rate.
+Pet Manager Lemper:
+This is probably just a rumor, but I've heard that someone is methodically collecting drake and wyrm eggs. Hatchlings make cute pets but that changes dramatically if they are transformed into striders. It could be disastrous if someone formed an army of striders!
+Buy Pet Supplies
+Upgrade Pet Equipment
+Exchange the hatchling equipment with the strider equipment.
+Exchange the pet trade ticket with a pet.
+Sell your item.
+See the lord and get the tax rate information
Quest
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31067.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31067.htm
index 87a33887da..bebfa17315 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31067.htm
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31067.htm
@@ -1,11 +1,10 @@
-Pet Manager Lude:
-Welcome! What are you looking for? Our Heinness Pet Center has better quality pet food and equipment than anywhere else in the land. Our business is meeting your expectations.
-Listen to instructions for raising a pet.
-Buy pet equipment.
-Exchange pet equipment for higher grade equipment.
-Exchange Hatchling equipment for Strider equipment.
-Evolve pet.
-Exchange pet exchange ticket for a pet.
-View information about the local lord and tax rate.
+Pet Manager Rood:
+Welcome to the best pet store in Heine! Hello, my dear customer. We have the highest quality pet food and accessories in town. Can I help you?
+Buy Pet Supplies
+Upgrade Pet Equipment
+Exchange the hatchling equipment with the strider equipment
+Exchange the pet trade ticket with a pet
+Sell your item
+See the lord and get the tax rate information
Quest
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31265.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31265.htm
index f5dc5f3468..b779fd9731 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31265.htm
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31265.htm
@@ -1,12 +1,11 @@
Pet Manager Annette:
-People too easily ignore the benefits Striders have provided to civilization. Think about it! Because of Striders, battle tactics for siege warfares and large-scale blood alliance wars have changed greatly. And transportation of goods between towns has become easier, helping accelerate the flow of trade.
-Perhaps I should write a book, eh? "The Impact of Striders on the History of the Continent." Heh!
-Listen to instructions for raising a pet.
-Buy pet equipment.
-Exchange pet equipment for higher grade equipment.
-Exchange Hatchling equipment for Strider equipment.
-Evolve pet.
-Exchange pet exchange ticket for a pet.
-View information about the local lord and tax rate.
+Humans are overlooking benefits that striders gave to the civilization! Think about it! Strategies at the siege or large-scaled pledge war have changed because of striders, haven't they? The trade has been also stimulated since it became easier to deliver cargos between towns.
+Ah, ah~! Should I write a book or something? I'll title it, "Swift Horse and History of the Continent," huh?
+Buy Pet Supplies
+Upgrade Pet Equipment
+Exchange the hatchling equipment with the strider equipment.
+Exchange the pet trade ticket with a pet.
+Sell your item.
+See the lord and get the tax rate information.
Quest
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31309.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31309.htm
index 99809c01c2..bd58a7ccb7 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31309.htm
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31309.htm
@@ -1,12 +1,11 @@
Pet Manager Woods:
-Kaiser! Come here...yes...good boy.
-Oh, hello. Ah, you noticed my pure-bred black-striped Alpen Cougar, eh? It is naturally a violent beast, but if you raise right from birth you can train it to be as gentle as a lamb. Just remember to feed it on time!
-Listen to instructions for raising a pet.
-Buy pet equipment.
-Exchange pet equipment for higher grade equipment.
-Exchange Hatchling equipment for Strider equipment.
-Evolve pet.
-Exchange pet exchange ticket for a pet.
-View information about the local lord and tax rate.
+Kaiser! Come here... So... good boy!
+Oh, hello? Yes, that's right... Isn't it so cute? It is the pure-bred black-striped Alpen Kuger. It is originally a violent beast, but you can raise it to become gentle like this if you trained it since it was a baby. You just need to remember feeding it on time.
+Buy Pet Supplies
+Upgrade Pet Equipment
+Exchange the hatchling equipment with the strider equipment.
+Exchange the pet trade ticket with a pet.
+Sell your item.
+See the lord and get the tax rate information.
Quest
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31954.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31954.htm
index f8f295942b..02e6ba30a4 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31954.htm
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/31954.htm
@@ -1,12 +1,11 @@
-Pet Manager Sharoyan:
-Did you want a pet? Sorry, didn't mean to startle you! I just have a habit of observing my customers' expressions carefully.
-As the number of people who interested in raising pets increases these days, the number of people who neglect or abuse their pets is also increasing. I simply want to examine my customers carefully for the sake of the animals. Please don't take it personally.
-Listen to instructions for raising a pet.
-Buy pet equipment.
-Exchange pet equipment for higher grade equipment.
-Exchange Hatchling equipment for Strider equipment.
-Evolve pet.
-Exchange pet exchange ticket for a pet.
-View information about the local lord and tax rate.
+Pet Manager Saroyan:
+Are you interested in a pet? Let's see... Oh, forgive my staring! Sorry. I can't resist examining my customers' faces.
+I know it seems peculiar... It's just that many people want pets these days, but too often these animals wind up abused or abandoned. So I must scrutinize people before I feel comfortable with selling them a pet. No offense.
+"I wish to buy a pet item."
+"I want to upgrade my pet equipment."
+"I want to exchange my Hatchling equipment for Strider equipment."
+"I want to exchange a ticket for a pet."
+"I want to sell an item."
+"Who is the lord of the manor and what is the tax rate?"
Quest
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/evolve.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/evolve.htm
deleted file mode 100644
index b37fe7d619..0000000000
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/evolve.htm
+++ /dev/null
@@ -1,10 +0,0 @@
-
-Depending on its type, you may be able to evolve your pet. Evolution is only possible when the pet is summoned. Also, since the process transfers the experience value, evolving a high level pet might actually result in a decrease in the pet's level.
-Any items in the pet's inventory will be transferred to the owner's inventory.
-Which pet do you want to evolve?
-Evolve a Wolf into a Great Wolf.
-Evolve a Great Wolf into a Fenrir.
-Evolve a Baby Buffalo into an Improved Baby Buffalo (for Warriors).
-Evolve a Baby Kookaburra into an Improved Baby Kookaburra (for Mystics).
-Evolve a Baby Cougar into an Improved Baby Cougar (for mixed professions).
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/evolve_no.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/evolve_no.htm
deleted file mode 100644
index 891ac295ce..0000000000
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/evolve_no.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-
-To evolve a pet, first summon an appropriate pet and then bring it close to me so that I can see it.
-If the pet is inappropriate or too far from me, we will not be successful.
-Remember also that the pet's level must to be above a specified minimum level.
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/exchange.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/exchange.htm
deleted file mode 100644
index 1dd6011f9f..0000000000
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/exchange.htm
+++ /dev/null
@@ -1,6 +0,0 @@
-
-Pet exchange tickets allow their bearer to purchase pets, such as Kookaburra, Buffaloes or Cougars. Sales of the tickets are strictly limited to members. What kind of ticket would you like?
-Pet Exchange Ticket: Kookaburra
-Pet Exchange Ticket: Buffalo
-Pet Exchange Ticket: Cougar
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/exchange_no.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/exchange_no.htm
deleted file mode 100644
index 3a90cddab0..0000000000
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/exchange_no.htm
+++ /dev/null
@@ -1,4 +0,0 @@
-
-I can't give you a pet unless you have the right trade ticket. Regulations are strict.
-How to get the ticket? Well...? I hear they basically accept members based on a large clan hall..., but there may be another way. I'm not sure.
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/instructions.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/instructions.htm
deleted file mode 100644
index 735fe7cf04..0000000000
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/instructions.htm
+++ /dev/null
@@ -1,8 +0,0 @@
-
-There are a few things you should know before deciding to raise a pet. Let me tell you what they are.
-First, you should know how to acquire a pet's experience. A pet gains a portion of the experience that its master obtains. The specific amount will vary depending on whether the master's own level is higher or lower than the pet's level.
-If a pet dies, you must resurrect it within 24 hours or lose it forever. Don't waste any time!
-A pet needs pet food to thrive and grow. If it becomes hungry, it will not move normally.
-If the hunger gauge falls below 50%, the pet becomes very hungry. In this condition, its movement and attack speed will decrease. Also, a hungry pet cannot be returned to its pre-summon condition.
-If the hunger gauge falls to 0, the pet is starving. Should this happen, it will lose faith in you and soon leave you. Good owners don't allow their pets to starve, remember! To prevent a pet from deserting you, you must maintain its hunger gauge at a minimum of 10%.
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/restore-unsummonpet.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/restore-unsummonpet.htm
deleted file mode 100644
index 612f8a97be..0000000000
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/restore-unsummonpet.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-
-If you can't use the recently evolved pet, I'll return it to its original state. However, to do so requires the pet's summoning item, so dismiss your pet for a moment.
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/restore_no.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/restore_no.htm
deleted file mode 100644
index 0299a3570c..0000000000
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/petmanager/restore_no.htm
+++ /dev/null
@@ -1,3 +0,0 @@
-
-You don't have any pet here that can be restored. There must be at least one evolved pet for me to be able to restore it. That makes sense, doesn't it?
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/warehouse/30083.htm b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/warehouse/30083.htm
index f5d5e05180..ba19401a1a 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/html/warehouse/30083.htm
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/html/warehouse/30083.htm
@@ -1,5 +1,5 @@
Warehouse Keeper Pochi:
-Welcome! Do you want to deposit some of your items? Or perhaps reclaim some of them? Well, well. Have you been to the shop near here which sells only the finest luxury goods? If you haven't yet, you should. Dwarf Galladucci, a member of my clan, runs the shop. He may seem a little eccentric, but he really has an eye for quality. Go see for yourself!
+Come on in. Have you come to deposit something? Or make a withdrawal? By the way, have you been to the high-end shop near here? If not, you should give it a try. It s run by a Dwarven brother of mine, named Galladucci. He's a bit of an odd ball, but he s got a good heart. You should pay him a visit. There are quite a few quality goods there.
Private Warehouse
Clan Warehouse
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/101.xml b/L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/101.xml
new file mode 100644
index 0000000000..2b75560df8
--- /dev/null
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/101.xml
@@ -0,0 +1,31 @@
+
+
+
+ 30731
+ 30827
+ 30828
+ 30829
+ 30830
+ 30831
+ 30869
+ 31067
+ 31265
+ 31309
+ 31954
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/300974001.xml b/L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/300974001.xml
index 4bbd3095f3..6431fcee54 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/300974001.xml
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/300974001.xml
@@ -3,100 +3,94 @@
30097
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/300984001.xml b/L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/300984001.xml
index 6989ec6028..83be69160e 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/300984001.xml
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/300984001.xml
@@ -3,148 +3,142 @@
30098
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/300984002.xml b/L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/300984002.xml
index 7597240646..d7c04e45e3 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/300984002.xml
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/multisell/300984002.xml
@@ -3,116 +3,76 @@
30098
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-02.html b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-02.html
deleted file mode 100644
index 71169d0c50..0000000000
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-02.html
+++ /dev/null
@@ -1,8 +0,0 @@
-Trader Alexandria:
-Ah, you have excellent taste! This bracelet is truly unique. In fact, it is said that it contains an Agathion. Quite a find, eh? Wondering if it is for sale? Of course it is -- that's why I'm here!
-Both this Little Angel Agathion Bracelet and this Little Devil Agathion Bracelet were discovered by another group of adventurers while exploring some ancient ruins. I am positive that they contain Agathions! Of course, no one knows for sure the power an Agathion possesses or how long it lasts. I have been reluctant to experiment on them because it's clear that some of the bracelets possess only limited magic power.
-Others have more, however. What you get will depend on your luck, I'm afraid.
-If you wish to buy either the Little Angel Bracelet or the Little Devil Bracelet, bring me 25 Big Red Nimble Fish, 50 Great Codrans, 4 Messengers' Skeletons in Crystals of Life, 5 Earth Eggs and 5 Nonliving Nuclei, 3 Dragon Hearts, and 7,500,000 Adena. I wish I could part with them in exchange for crystals as normally would, but the adventurers who delivered the bracelets here insisted on these other items for payment. Even so, I still believe this is a reasonable price. After all, an Agathion isn't something you run across every day, eh? So, would you like to buy one?
-Purchase the Little Angel Agathion Bracelet.
-Purchase the Little Devil Agathion Bracelet.
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-03.html b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-03.html
deleted file mode 100644
index 6e8e05b149..0000000000
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-03.html
+++ /dev/null
@@ -1,4 +0,0 @@
-Trader Alexandria:
-Yes, I've checked the necessary items. Thank you for your hard work.
-I'm telling you ahead that I don't know for sure what kind of power each bracelet has. I only can tell you that the angel-engraved bracelet has an angel-type Agathion, and the devil-engraved one has a devil-type Agathion. You can find out the capability and magic power of each Agathion on your own.
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-03a.html b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-03a.html
deleted file mode 100644
index 7a10ce82e6..0000000000
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-03a.html
+++ /dev/null
@@ -1,6 +0,0 @@
-Trader Alexandria:
-Yes, I checked the necessary items. It must have been difficult to obtain them all!
-I must warn you that I do not know for sure what kind of power posessed by each bracelet. I only can tell you that the Angel's Bracelet contains an angel-type Agathion, while the Devil's Bracelet contains a devil-type Agathion. You must discover the capability and magic power of each on your own.
-Here, please take this as an extra token of my appreciation for your business...
-(I have a strange feeling about that bracelet -- I hope this adventurer will simply take this and leave here immediately.)
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-04.html b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-04.html
deleted file mode 100644
index 95021c081e..0000000000
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098-04.html
+++ /dev/null
@@ -1,3 +0,0 @@
-Trader Alexandria:
-Oh, you don't have the items required to buy either the Angel's Bracelet or the Devil's Bracelet. In order to obtain one, you must first bring me 25 Big Red Nimble Fish, 50 Great Codrans, and 4 Memento Moris, 5 Earth Eggs, 5 Nonliving Nuclei, 3 Dragon Hearts, and 7,500,000 Adena.
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098.html b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098.html
deleted file mode 100644
index 088394ea40..0000000000
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/30098.html
+++ /dev/null
@@ -1,8 +0,0 @@
-Trader Alexandria:
-Welcome! Thank you so much for visiting our boutique. We sell precious and valuable things that you would never find anywhere else. We've also added some luxury accessories this time. Look around see if you can find anything you like.
-If you would like to purchase a weapon, please ask my husband.
-Purchase Armor.
-Purchase Specialty Items.
-Purchase Agathion Bracelet.
-Quest
-
\ No newline at end of file
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/Alexandria.java b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/Alexandria.java
deleted file mode 100644
index 3d94fe2735..0000000000
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/areas/Giran/Alexandria/Alexandria.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package ai.areas.Giran.Alexandria;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.l2jmobius.gameserver.model.actor.Npc;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.ItemChanceHolder;
-import org.l2jmobius.gameserver.model.holders.ItemHolder;
-
-import ai.AbstractNpcAI;
-
-/**
- * Alexandria (Armor Merchant) AI.
- * @author xban1x
- */
-public class Alexandria extends AbstractNpcAI
-{
- // NPC
- private static final int ALEXANDRIA = 30098;
- // Items
- private static final ItemHolder[] REQUIRED_ITEMS = new ItemHolder[]
- {
- new ItemHolder(57, 3550000),
- new ItemHolder(5094, 400),
- new ItemHolder(6471, 200),
- new ItemHolder(9814, 40),
- new ItemHolder(9815, 30),
- new ItemHolder(9816, 50),
- new ItemHolder(9817, 50),
- };
- // Agathions
- private static final ItemChanceHolder[] LITTLE_DEVILS = new ItemChanceHolder[]
- {
- new AdditionalItemChanceHolder(10321, 600, 1, 10408),
- new ItemChanceHolder(10322, 10),
- new ItemChanceHolder(10323, 10),
- new ItemChanceHolder(10324, 5),
- new ItemChanceHolder(10325, 5),
- new ItemChanceHolder(10326, 370),
- };
- private static final ItemChanceHolder[] LITTLE_ANGELS = new ItemChanceHolder[]
- {
- new AdditionalItemChanceHolder(10315, 600, 1, 10408),
- new ItemChanceHolder(10316, 10),
- new ItemChanceHolder(10317, 10),
- new ItemChanceHolder(10318, 5),
- new ItemChanceHolder(10319, 5),
- new ItemChanceHolder(10320, 370),
- };
- private static final Map> AGATHIONS = new HashMap<>();
- static
- {
- AGATHIONS.put("littleAngel", Arrays.asList(LITTLE_ANGELS));
- AGATHIONS.put("littleDevil", Arrays.asList(LITTLE_DEVILS));
- }
-
- private Alexandria()
- {
- addStartNpc(ALEXANDRIA);
- addTalkId(ALEXANDRIA);
- addFirstTalkId(ALEXANDRIA);
- }
-
- @Override
- public String onAdvEvent(String event, Npc npc, Player player)
- {
- String htmltext = null;
- if (event.equals("30098-02.html"))
- {
- htmltext = event;
- }
- else if (AGATHIONS.containsKey(event))
- {
- final int chance = getRandom(1000);
- int chance2 = 0;
- int chance3 = 0;
- for (ItemChanceHolder agathion : AGATHIONS.get(event))
- {
- chance3 += agathion.getChance();
- if ((chance2 <= chance) && (chance < chance3))
- {
- if (takeAllItems(player, REQUIRED_ITEMS))
- {
- giveItems(player, agathion);
- htmltext = "30098-03.html";
- if (agathion instanceof AdditionalItemChanceHolder)
- {
- giveItems(player, ((AdditionalItemChanceHolder) agathion).getAdditionalId(), 1);
- htmltext = "30098-03a.html";
- }
- }
- else
- {
- htmltext = "30098-04.html";
- }
- break;
- }
- chance2 += agathion.getChance();
- }
- }
- return htmltext;
- }
-
- private static class AdditionalItemChanceHolder extends ItemChanceHolder
- {
- private final int _additionalId;
-
- AdditionalItemChanceHolder(int id, int chance, int count, int additionalId)
- {
- super(id, chance, count);
- _additionalId = additionalId;
- }
-
- public int getAdditionalId()
- {
- return _additionalId;
- }
- }
-
- public static void main(String[] args)
- {
- new Alexandria();
- }
-}
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/MasterHandler.java b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/MasterHandler.java
index 1ad2d39da7..5738cc76d3 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/MasterHandler.java
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/MasterHandler.java
@@ -145,8 +145,8 @@ import handlers.bypasshandlers.PlayerHelp;
import handlers.bypasshandlers.PrivateWarehouse;
import handlers.bypasshandlers.QuestLink;
import handlers.bypasshandlers.QuestList;
-import handlers.bypasshandlers.RentPet;
import handlers.bypasshandlers.Rift;
+import handlers.bypasshandlers.Sell;
import handlers.bypasshandlers.SkillList;
import handlers.bypasshandlers.SupportBlessing;
import handlers.bypasshandlers.SupportMagic;
@@ -426,8 +426,8 @@ public class MasterHandler
PlayerHelp.class,
PrivateWarehouse.class,
QuestList.class,
- RentPet.class,
Rift.class,
+ Sell.class,
SkillList.class,
SupportBlessing.class,
SupportMagic.class,
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/bypasshandlers/Link.java b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/bypasshandlers/Link.java
index be4b99bf27..6f87000eab 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/bypasshandlers/Link.java
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/bypasshandlers/Link.java
@@ -59,9 +59,6 @@ public class Link implements IBypassHandler
VALID_LINKS.add("fisherman/fishing_championship.htm");
VALID_LINKS.add("fortress/foreman.htm");
VALID_LINKS.add("olympiad/hero_main2.htm");
- VALID_LINKS.add("petmanager/evolve.htm");
- VALID_LINKS.add("petmanager/exchange.htm");
- VALID_LINKS.add("petmanager/instructions.htm");
VALID_LINKS.add("seven_signs/blkmrkt_1.htm");
VALID_LINKS.add("seven_signs/blkmrkt_2.htm");
VALID_LINKS.add("seven_signs/mammblack_1a.htm");
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/bypasshandlers/RentPet.java b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/bypasshandlers/RentPet.java
deleted file mode 100644
index 01fc5bbe18..0000000000
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/bypasshandlers/RentPet.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package handlers.bypasshandlers;
-
-import java.util.StringTokenizer;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.handler.IBypassHandler;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Npc;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.actor.instance.Merchant;
-import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
-import org.l2jmobius.gameserver.network.serverpackets.SetupGauge;
-
-public class RentPet implements IBypassHandler
-{
- private static final String[] COMMANDS =
- {
- "RentPet"
- };
-
- @Override
- public boolean useBypass(String command, Player player, Creature target)
- {
- if (!(target instanceof Merchant))
- {
- return false;
- }
-
- if (!Config.ALLOW_RENTPET)
- {
- return false;
- }
-
- if (!Config.LIST_PET_RENT_NPC.contains(target.getId()))
- {
- return false;
- }
-
- try
- {
- final StringTokenizer st = new StringTokenizer(command, " ");
- st.nextToken();
-
- if (st.countTokens() < 1)
- {
- final NpcHtmlMessage msg = new NpcHtmlMessage(((Npc) target).getObjectId());
- msg.setHtml("Pet Manager:
You can rent a wyvern or strider for adena.
My prices:");
- msg.replace("%objectId%", String.valueOf(((Npc) target).getObjectId()));
- player.sendPacket(msg);
- }
- else
- {
- tryRentPet(player, Integer.parseInt(st.nextToken()));
- }
-
- return true;
- }
- catch (Exception e)
- {
- LOGGER.info("Exception in " + getClass().getSimpleName());
- }
- return false;
- }
-
- public static void tryRentPet(Player player, int petValue)
- {
- if ((player == null) || player.hasSummon() || player.isMounted() || player.isRentedPet() || player.isCursedWeaponEquipped())
- {
- return;
- }
- if (!player.disarmWeapons())
- {
- return;
- }
-
- int petId;
- int price = 1;
- final int[] cost =
- {
- 1800,
- 7200,
- 720000,
- 6480000
- };
- final int[] ridetime =
- {
- 30,
- 60,
- 600,
- 1800
- };
-
- int value = petValue;
- if (value > 10)
- {
- petId = 12526;
- value -= 10;
- price /= 2;
- }
- else
- {
- petId = 12621;
- }
-
- if ((value < 1) || (value > 4))
- {
- return;
- }
-
- price *= cost[value - 1];
- final int time = ridetime[value - 1];
- if (!player.reduceAdena("Rent", price, player.getLastFolkNPC(), true))
- {
- return;
- }
-
- player.mount(petId, 0, false);
- player.sendPacket(new SetupGauge(player.getObjectId(), 3, time * 1000));
- player.startRentPet(time);
- }
-
- @Override
- public String[] getBypassList()
- {
- return COMMANDS;
- }
-}
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/bypasshandlers/Sell.java b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/bypasshandlers/Sell.java
new file mode 100644
index 0000000000..16c403adbf
--- /dev/null
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/handlers/bypasshandlers/Sell.java
@@ -0,0 +1,55 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package handlers.bypasshandlers;
+
+import org.l2jmobius.gameserver.handler.IBypassHandler;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.actor.instance.Merchant;
+import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
+import org.l2jmobius.gameserver.network.serverpackets.SellList;
+
+/**
+ * @author Mobius
+ */
+public class Sell implements IBypassHandler
+{
+ private static final String[] COMMANDS =
+ {
+ "Sell"
+ };
+
+ @Override
+ public boolean useBypass(String command, Player player, Creature target)
+ {
+ if (!(target instanceof Merchant))
+ {
+ return false;
+ }
+
+ player.sendPacket(new SellList(player));
+ player.sendPacket(ActionFailed.STATIC_PACKET);
+
+ return true;
+ }
+
+ @Override
+ public String[] getBypassList()
+ {
+ return COMMANDS;
+ }
+}
diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/stats/npcs/30000-30099.xml b/L2J_Mobius_CT_0_Interlude/dist/game/data/stats/npcs/30000-30099.xml
index 0a2706175d..52fdb44ea5 100644
--- a/L2J_Mobius_CT_0_Interlude/dist/game/data/stats/npcs/30000-30099.xml
+++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/stats/npcs/30000-30099.xml
@@ -2842,7 +2842,7 @@
-
+
diff --git a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/Config.java b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/Config.java
index 653c0ebf8a..3486aa4f40 100644
--- a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/Config.java
+++ b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/Config.java
@@ -557,7 +557,6 @@ public class Config
public static boolean ALLOW_LOTTERY;
public static boolean ALLOW_RACE;
public static boolean ALLOW_WATER;
- public static boolean ALLOW_RENTPET;
public static boolean ALLOW_FISHING;
public static boolean ALLOW_BOAT;
public static int BOAT_BROADCAST_RADIUS;
@@ -718,7 +717,6 @@ public class Config
public static boolean GUARD_ATTACK_AGGRO_MOB;
public static boolean ENABLE_GUARD_RETURN;
public static boolean ALLOW_WYVERN_UPGRADER;
- public static List LIST_PET_RENT_NPC;
public static double RAID_HP_REGEN_MULTIPLIER;
public static double RAID_MP_REGEN_MULTIPLIER;
public static double RAID_PDEFENCE_MULTIPLIER;
@@ -2012,7 +2010,6 @@ public class Config
ALLOW_LOTTERY = generalConfig.getBoolean("AllowLottery", true);
ALLOW_RACE = generalConfig.getBoolean("AllowRace", true);
ALLOW_WATER = generalConfig.getBoolean("AllowWater", true);
- ALLOW_RENTPET = generalConfig.getBoolean("AllowRentPet", false);
ALLOW_FISHING = generalConfig.getBoolean("AllowFishing", true);
ALLOW_MANOR = generalConfig.getBoolean("AllowManor", true);
ALLOW_BOAT = generalConfig.getBoolean("AllowBoat", true);
@@ -2148,12 +2145,6 @@ public class Config
GUARD_ATTACK_AGGRO_MOB = npcConfig.getBoolean("GuardAttackAggroMob", false);
ENABLE_GUARD_RETURN = npcConfig.getBoolean("EnableGuardReturn", false);
ALLOW_WYVERN_UPGRADER = npcConfig.getBoolean("AllowWyvernUpgrader", false);
- final String[] listPetRentNpc = npcConfig.getString("ListPetRentNpc", "30827").split(",");
- LIST_PET_RENT_NPC = new ArrayList<>(listPetRentNpc.length);
- for (String id : listPetRentNpc)
- {
- LIST_PET_RENT_NPC.add(Integer.parseInt(id));
- }
RAID_HP_REGEN_MULTIPLIER = npcConfig.getDouble("RaidHpRegenMultiplier", 100) / 100;
RAID_MP_REGEN_MULTIPLIER = npcConfig.getDouble("RaidMpRegenMultiplier", 100) / 100;
RAID_PDEFENCE_MULTIPLIER = npcConfig.getDouble("RaidPDefenceMultiplier", 100) / 100;
diff --git a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/Npc.java b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/Npc.java
index 8849508d08..91ec009f81 100644
--- a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/Npc.java
+++ b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/Npc.java
@@ -1032,14 +1032,6 @@ public class Npc extends Creature
// Send a Server->Client NpcHtmlMessage containing the text of the Npc to the Player
final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
html.setFile(player, filename);
- if (this instanceof Merchant)
- {
- if (Config.LIST_PET_RENT_NPC.contains(npcId))
- {
- html.replace("_Quest", "_RentPet\">Rent Pet
Rent Pet
.
+ */
+package org.l2jmobius.gameserver.network.serverpackets;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.item.instance.Item;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+/**
+ * @author Mobius
+ */
+public class SellList implements IClientOutgoingPacket
+{
+ private final int _money;
+ private final List- _items = new ArrayList<>();
+
+ public SellList(Player player)
+ {
+ _money = player.getAdena();
+ for (Item item : player.getInventory().getItems())
+ {
+ if (!item.isEquipped() && item.getTemplate().isSellable() && ((player.getSummon() == null) || (item.getObjectId() != player.getSummon().getControlObjectId())))
+ {
+ _items.add(item);
+ }
+ }
+ }
+
+ @Override
+ public boolean write(PacketWriter packet)
+ {
+ OutgoingPackets.SELL_LIST.writeId(packet);
+ packet.writeD(_money);
+ packet.writeD(0);
+ packet.writeH(_items.size());
+ for (Item item : _items)
+ {
+ packet.writeH(item.getTemplate().getType1());
+ packet.writeD(item.getObjectId());
+ packet.writeD(item.getId());
+ packet.writeD(item.getCount());
+ packet.writeH(item.getTemplate().getType2());
+ packet.writeH(item.getCustomType1());
+ packet.writeD(item.getTemplate().getBodyPart());
+ packet.writeH(item.getEnchantLevel());
+ packet.writeH(item.getCustomType2());
+ packet.writeH(0);
+ packet.writeD(item.getTemplate().getReferencePrice() / 2);
+ }
+ return true;
+ }
+}
diff --git a/L2J_Mobius_CT_0_Interlude/readme.txt b/L2J_Mobius_CT_0_Interlude/readme.txt
index be3db919ed..060f290ea0 100644
--- a/L2J_Mobius_CT_0_Interlude/readme.txt
+++ b/L2J_Mobius_CT_0_Interlude/readme.txt
@@ -96,6 +96,8 @@ What is done
-Added quests 353, 374, 375 and 505.
-Removed Kamael class ids from hennas.
-Changed item count to integer.
+-Adjusted luxury shop merchants.
+-Added support for merchant sell bypass.
TODO: Important (project unusable due to the following)
-Adjust all skills according to Interlude description.