Addition of ensoul extraction.
This commit is contained in:
parent
c1cdb862c8
commit
267f50a36b
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Pinter:<br>
|
||||
Welcome. What brings you here, my friend? The name's Pinter. Yes, yes, I'm a Dwarf, and proud of it! My family has been blacksmiths in this town for three generations now! This place is in our blood!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Pushkin:<br>
|
||||
Nice to meet you, wanderer!<br>
|
||||
Rupio and I have come all the way from the Black Anvil Guild to set up shop here. We haven't been here long, but we're gonna turn this place into the best forge in Giran! What can we do for you?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Kluto:<br>
|
||||
Interested in seeing a genius at work, hmm? Just hang around!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Poitan:<br>
|
||||
Nice to meet you, traveler. Your timing is excellent! I just finished remodeling the workshop yesterday, so you're my first customer this season!<br>
|
||||
What can I do for you?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -2,13 +2,14 @@
|
||||
Hmph, who are you? Why did you come here? Unless you have a case of Dwarven beer in that tiny saddle bag, I don't want to hear about it! Bahhh!<br>
|
||||
All I ever hear is heat this, cool that, get to the bellows, it's too hot, don't drop it! Argh! Makes me want to puke! It SO does not pay to be the low man on the totem pole! I want to MAKE something!<br>
|
||||
Armor, a blade... anything!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_02.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
||||
</body></html>
|
@ -1,10 +1,13 @@
|
||||
<html><body>Blacksmith Duning:<br>
|
||||
Hello there! Welcome to the forge! It's so exciting here. So many adventurers stopping by! Why just yesterday, I had lunch with a bounty hunter, tea with an informer, and supper with a ruins explorer! The stories! The romances! The adventures! Better than day time theater!<br>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN="LEFT" ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Wilbert:<br>
|
||||
What do we do here? Well, blacksmiths make things like armor, swords, polearms, axes, plows... But wait! There's more! Look, over there... Aden Castle stands, proudly disregarding the laws of gravity. And you know why? Engineering! It would have collapsed a long time ago if it hadn't been for the efforts of the Black Anvil craftsmen.<br>
|
||||
And... This is just a rumor, but... They say that the giant golem the rebels used to evict the Human lords was made and sold by the Black Anvil. After all, who else could do something like that, right?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade set options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Morning:<br>
|
||||
Welcome! If you have money, I have skills. What do you need, friend?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade set options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body> Blacksmith Hilda:<br>
|
||||
Do you have any business for Hilda? Hmm? Hilda is busy, busy! She must make swords, plows, polearms, and armor! No visiting! Hilda doesn't visit, just works! Hilda doesn't mind watchers, but if someone talks while Hilda works, someone might get hit by hammer. In the face. Hard.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Vincenz:<br>
|
||||
Welcome to the thunder forge! Hahaha! Noisy, isn't it?<br>
|
||||
Do you have anything that you like to craft? We do it all here! Order whatever you like. A pendant? A sword? A war golem? It's all the same to us.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Buryun:<br>
|
||||
Welcome! Your timing is impeccable, I just finished up a three-day job repairing this here Claymore for Fred. A nasty piece of work that! What can I help you with?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
||||
|
@ -19,6 +19,7 @@ package handlers.bypasshandlers;
|
||||
import com.l2jmobius.gameserver.handler.IBypassHandler;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ensoul.ExShowEnsoulExtractionWindow;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ensoul.ExShowEnsoulWindow;
|
||||
|
||||
/**
|
||||
@ -29,6 +30,7 @@ public class EnsoulWindow implements IBypassHandler
|
||||
private static final String[] COMMANDS =
|
||||
{
|
||||
"show_ensoul_window",
|
||||
"show_extract_ensoul_window"
|
||||
};
|
||||
|
||||
@Override
|
||||
@ -39,8 +41,17 @@ public class EnsoulWindow implements IBypassHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
activeChar.sendPacket(ExShowEnsoulWindow.STATIC_PACKET);
|
||||
return true;
|
||||
if (command.toLowerCase().startsWith(COMMANDS[0])) // show_ensoul_window
|
||||
{
|
||||
activeChar.sendPacket(ExShowEnsoulWindow.STATIC_PACKET);
|
||||
return true;
|
||||
}
|
||||
else if (command.toLowerCase().startsWith(COMMANDS[1])) // show_extract_ensoul_window
|
||||
{
|
||||
activeChar.sendPacket(ExShowEnsoulExtractionWindow.STATIC_PACKET);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -17,6 +17,8 @@
|
||||
package com.l2jmobius.gameserver.data.xml.impl;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.EnumMap;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@ -122,6 +124,11 @@ public class EnsoulData implements IGameXmlReader
|
||||
parseReFee(feeNode, fee, 2);
|
||||
break;
|
||||
}
|
||||
case "remove":
|
||||
{
|
||||
parseRemove(feeNode, fee);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -143,6 +150,14 @@ public class EnsoulData implements IGameXmlReader
|
||||
fee.setResoul(index, new ItemHolder(id, count));
|
||||
}
|
||||
|
||||
private void parseRemove(Node ensoulNode, EnsoulFee fee)
|
||||
{
|
||||
final NamedNodeMap attrs = ensoulNode.getAttributes();
|
||||
final int id = parseInteger(attrs, "itemId");
|
||||
final int count = parseInteger(attrs, "count");
|
||||
fee.addRemovalFee(new ItemHolder(id, count));
|
||||
}
|
||||
|
||||
private void parseOptions(Node ensoulNode)
|
||||
{
|
||||
final NamedNodeMap attrs = ensoulNode.getAttributes();
|
||||
@ -177,6 +192,12 @@ public class EnsoulData implements IGameXmlReader
|
||||
return fee != null ? fee.getResoul(index) : null;
|
||||
}
|
||||
|
||||
public Collection<ItemHolder> getRemovalFee(CrystalType type)
|
||||
{
|
||||
final EnsoulFee fee = _ensoulFees.get(type);
|
||||
return fee != null ? fee.getRemovalFee() : Collections.emptyList();
|
||||
}
|
||||
|
||||
public EnsoulOption getOption(int id)
|
||||
{
|
||||
return _ensoulOptions.get(id);
|
||||
@ -187,6 +208,24 @@ public class EnsoulData implements IGameXmlReader
|
||||
return _ensoulStones.get(id);
|
||||
}
|
||||
|
||||
public int getStone(int type, int optionId)
|
||||
{
|
||||
for (EnsoulStone stone : _ensoulStones.values())
|
||||
{
|
||||
if (stone.getSlotType() == type)
|
||||
{
|
||||
for (int id : stone.getOptions())
|
||||
{
|
||||
if (id == optionId)
|
||||
{
|
||||
return stone.getId();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the single instance of EnsoulData.
|
||||
* @return single instance of EnsoulData
|
||||
|
@ -16,6 +16,9 @@
|
||||
*/
|
||||
package com.l2jmobius.gameserver.model.ensoul;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jmobius.gameserver.model.items.type.CrystalType;
|
||||
|
||||
@ -28,6 +31,7 @@ public class EnsoulFee
|
||||
|
||||
private final ItemHolder[] _ensoulFee = new ItemHolder[3];
|
||||
private final ItemHolder[] _resoulFees = new ItemHolder[3];
|
||||
private final List<ItemHolder> _removalFee = new ArrayList<>();
|
||||
|
||||
public EnsoulFee(CrystalType type)
|
||||
{
|
||||
@ -49,6 +53,11 @@ public class EnsoulFee
|
||||
_resoulFees[index] = item;
|
||||
}
|
||||
|
||||
public void addRemovalFee(ItemHolder itemHolder)
|
||||
{
|
||||
_removalFee.add(itemHolder);
|
||||
}
|
||||
|
||||
public ItemHolder getEnsoul(int index)
|
||||
{
|
||||
return _ensoulFee[index];
|
||||
@ -58,4 +67,9 @@ public class EnsoulFee
|
||||
{
|
||||
return _resoulFees[index];
|
||||
}
|
||||
|
||||
public List<ItemHolder> getRemovalFee()
|
||||
{
|
||||
return _removalFee;
|
||||
}
|
||||
}
|
||||
|
@ -2175,6 +2175,28 @@ public final class L2ItemInstance extends L2Object
|
||||
}
|
||||
}
|
||||
|
||||
public void removeSpecialAbility(int position, int type)
|
||||
{
|
||||
if (type == 1)
|
||||
{
|
||||
final EnsoulOption option = _ensoulOptions.get(position);
|
||||
if (option != null)
|
||||
{
|
||||
removeSpecialAbility(option);
|
||||
_ensoulOptions.remove(position);
|
||||
}
|
||||
}
|
||||
else if (type == 2)
|
||||
{
|
||||
final EnsoulOption option = _ensoulSpecialOptions.get(position);
|
||||
if (option != null)
|
||||
{
|
||||
removeSpecialAbility(option);
|
||||
_ensoulSpecialOptions.remove(position);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void clearSpecialAbilities()
|
||||
{
|
||||
_ensoulOptions.values().forEach(this::clearSpecialAbility);
|
||||
|
@ -70,6 +70,7 @@ import com.l2jmobius.gameserver.network.clientpackets.crystalization.RequestCrys
|
||||
import com.l2jmobius.gameserver.network.clientpackets.dailymission.RequestOneDayRewardReceive;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.dailymission.RequestTodoList;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.ensoul.RequestItemEnsoul;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.ensoul.RequestTryEnSoulExtraction;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.faction.RequestUserFactionInfo;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.friend.RequestFriendDetailInfo;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.luckygame.RequestLuckyGamePlay;
|
||||
@ -392,7 +393,7 @@ public enum ExIncomingPackets implements IIncomingPackets<L2GameClient>
|
||||
REQUEST_SSO_AUTHN_TOKEN(0x125, null, ConnectionState.IN_GAME),
|
||||
REQUEST_QUEUE_TICKET_LOGIN(0x126, null, ConnectionState.IN_GAME),
|
||||
REQUEST_BLOCK_MEMO_INFO(0x127, null, ConnectionState.IN_GAME),
|
||||
REQUEST_TRY_EN_SOUL_EXTRACTION(0x128, null, ConnectionState.IN_GAME),
|
||||
REQUEST_TRY_EN_SOUL_EXTRACTION(0x128, RequestTryEnSoulExtraction::new, ConnectionState.IN_GAME),
|
||||
REQUEST_RAIDBOSS_SPAWN_INFO(0x129, RequestRaidBossSpawnInfo::new, ConnectionState.IN_GAME),
|
||||
REQUEST_RAID_SERVER_INFO(0x12A, RequestRaidServerInfo::new, ConnectionState.IN_GAME),
|
||||
REQUEST_SHOW_AGIT_SIEGE_INFO(0x12B, null, ConnectionState.IN_GAME),
|
||||
|
@ -0,0 +1,118 @@
|
||||
/*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network.clientpackets.ensoul;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketReader;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.EnsoulData;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.ensoul.EnsoulOption;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.network.L2GameClient;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ensoul.ExEnSoulExtractionResult;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class RequestTryEnSoulExtraction implements IClientIncomingPacket
|
||||
{
|
||||
private int _itemObjectId;
|
||||
private int _type;
|
||||
private int _position;
|
||||
|
||||
@Override
|
||||
public boolean read(L2GameClient client, PacketReader packet)
|
||||
{
|
||||
_itemObjectId = packet.readD();
|
||||
_type = packet.readC();
|
||||
_position = packet.readC() - 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run(L2GameClient client)
|
||||
{
|
||||
L2PcInstance player = client.getActiveChar();
|
||||
if (player == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
final L2ItemInstance item = player.getInventory().getItemByObjectId(_itemObjectId);
|
||||
if (item == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
EnsoulOption option = null;
|
||||
if (_type == 1)
|
||||
{
|
||||
option = item.getSpecialAbility(_position);
|
||||
}
|
||||
if (_type == 2)
|
||||
{
|
||||
option = item.getAdditionalSpecialAbility(_position);
|
||||
}
|
||||
if (option == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
final Collection<ItemHolder> removalFee = EnsoulData.getInstance().getRemovalFee(item.getItem().getCrystalType());
|
||||
if (removalFee.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if player has required items.
|
||||
for (ItemHolder itemHolder : removalFee)
|
||||
{
|
||||
if (player.getInventory().getInventoryItemCount(itemHolder.getId(), -1) < itemHolder.getCount())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.INCORRECT_ITEM_COUNT);
|
||||
player.sendPacket(new ExEnSoulExtractionResult(false, item));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Take required items.
|
||||
for (ItemHolder itemHolder : removalFee)
|
||||
{
|
||||
player.destroyItemByItemId("Rune Extract", itemHolder.getId(), itemHolder.getCount(), player, true);
|
||||
}
|
||||
|
||||
// Remove equipped rune.
|
||||
item.removeSpecialAbility(_position, _type);
|
||||
final InventoryUpdate iu = new InventoryUpdate();
|
||||
iu.addModifiedItem(item);
|
||||
|
||||
// Add rune in player inventory.
|
||||
final int runeId = EnsoulData.getInstance().getStone(_type, option.getId());
|
||||
if (runeId > 0)
|
||||
{
|
||||
iu.addItem(player.addItem("Rune Extract", runeId, 1, player, true));
|
||||
}
|
||||
|
||||
player.sendInventoryUpdate(iu);
|
||||
player.sendPacket(new ExEnSoulExtractionResult(true, item));
|
||||
}
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network.serverpackets.ensoul;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.model.ensoul.EnsoulOption;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class ExEnSoulExtractionResult implements IClientOutgoingPacket
|
||||
{
|
||||
private final boolean _success;
|
||||
private final L2ItemInstance _item;
|
||||
|
||||
public ExEnSoulExtractionResult(boolean success, L2ItemInstance item)
|
||||
{
|
||||
_success = success;
|
||||
_item = item;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_ENSOUL_EXTRACTION_RESULT.writeId(packet);
|
||||
packet.writeC(_success ? 1 : 0);
|
||||
if (_success)
|
||||
{
|
||||
packet.writeC(_item.getSpecialAbilities().size());
|
||||
for (EnsoulOption option : _item.getSpecialAbilities())
|
||||
{
|
||||
packet.writeD(option.getId());
|
||||
}
|
||||
packet.writeC(_item.getAdditionalSpecialAbilities().size());
|
||||
for (EnsoulOption option : _item.getAdditionalSpecialAbilities())
|
||||
{
|
||||
packet.writeD(option.getId());
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network.serverpackets.ensoul;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class ExShowEnsoulExtractionWindow implements IClientOutgoingPacket
|
||||
{
|
||||
public static final ExShowEnsoulExtractionWindow STATIC_PACKET = new ExShowEnsoulExtractionWindow();
|
||||
|
||||
private ExShowEnsoulExtractionWindow()
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_ENSOUL_EXTRACTION_SHOW.writeId(packet);
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Pinter:<br>
|
||||
Welcome. What brings you here, my friend? The name's Pinter. Yes, yes, I'm a Dwarf, and proud of it! My family has been blacksmiths in this town for three generations now! This place is in our blood!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Pushkin:<br>
|
||||
Nice to meet you, wanderer!<br>
|
||||
Rupio and I have come all the way from the Black Anvil Guild to set up shop here. We haven't been here long, but we're gonna turn this place into the best forge in Giran! What can we do for you?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Kluto:<br>
|
||||
Interested in seeing a genius at work, hmm? Just hang around!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Poitan:<br>
|
||||
Nice to meet you, traveler. Your timing is excellent! I just finished remodeling the workshop yesterday, so you're my first customer this season!<br>
|
||||
What can I do for you?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -2,13 +2,14 @@
|
||||
Hmph, who are you? Why did you come here? Unless you have a case of Dwarven beer in that tiny saddle bag, I don't want to hear about it! Bahhh!<br>
|
||||
All I ever hear is heat this, cool that, get to the bellows, it's too hot, don't drop it! Argh! Makes me want to puke! It SO does not pay to be the low man on the totem pole! I want to MAKE something!<br>
|
||||
Armor, a blade... anything!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_02.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
||||
</body></html>
|
@ -1,10 +1,13 @@
|
||||
<html><body>Blacksmith Duning:<br>
|
||||
Hello there! Welcome to the forge! It's so exciting here. So many adventurers stopping by! Why just yesterday, I had lunch with a bounty hunter, tea with an informer, and supper with a ruins explorer! The stories! The romances! The adventures! Better than day time theater!<br>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN="LEFT" ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Wilbert:<br>
|
||||
What do we do here? Well, blacksmiths make things like armor, swords, polearms, axes, plows... But wait! There's more! Look, over there... Aden Castle stands, proudly disregarding the laws of gravity. And you know why? Engineering! It would have collapsed a long time ago if it hadn't been for the efforts of the Black Anvil craftsmen.<br>
|
||||
And... This is just a rumor, but... They say that the giant golem the rebels used to evict the Human lords was made and sold by the Black Anvil. After all, who else could do something like that, right?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade set options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Morning:<br>
|
||||
Welcome! If you have money, I have skills. What do you need, friend?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade set options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body> Blacksmith Hilda:<br>
|
||||
Do you have any business for Hilda? Hmm? Hilda is busy, busy! She must make swords, plows, polearms, and armor! No visiting! Hilda doesn't visit, just works! Hilda doesn't mind watchers, but if someone talks while Hilda works, someone might get hit by hammer. In the face. Hard.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Vincenz:<br>
|
||||
Welcome to the thunder forge! Hahaha! Noisy, isn't it?<br>
|
||||
Do you have anything that you like to craft? We do it all here! Order whatever you like. A pendant? A sword? A war golem? It's all the same to us.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Buryun:<br>
|
||||
Welcome! Your timing is impeccable, I just finished up a three-day job repairing this here Claymore for Fred. A nasty piece of work that! What can I help you with?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
||||
|
@ -19,6 +19,7 @@ package handlers.bypasshandlers;
|
||||
import com.l2jmobius.gameserver.handler.IBypassHandler;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ensoul.ExShowEnsoulExtractionWindow;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ensoul.ExShowEnsoulWindow;
|
||||
|
||||
/**
|
||||
@ -29,6 +30,7 @@ public class EnsoulWindow implements IBypassHandler
|
||||
private static final String[] COMMANDS =
|
||||
{
|
||||
"show_ensoul_window",
|
||||
"show_extract_ensoul_window"
|
||||
};
|
||||
|
||||
@Override
|
||||
@ -39,8 +41,17 @@ public class EnsoulWindow implements IBypassHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
activeChar.sendPacket(ExShowEnsoulWindow.STATIC_PACKET);
|
||||
return true;
|
||||
if (command.toLowerCase().startsWith(COMMANDS[0])) // show_ensoul_window
|
||||
{
|
||||
activeChar.sendPacket(ExShowEnsoulWindow.STATIC_PACKET);
|
||||
return true;
|
||||
}
|
||||
else if (command.toLowerCase().startsWith(COMMANDS[1])) // show_extract_ensoul_window
|
||||
{
|
||||
activeChar.sendPacket(ExShowEnsoulExtractionWindow.STATIC_PACKET);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -17,6 +17,8 @@
|
||||
package com.l2jmobius.gameserver.data.xml.impl;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.EnumMap;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@ -122,6 +124,11 @@ public class EnsoulData implements IGameXmlReader
|
||||
parseReFee(feeNode, fee, 2);
|
||||
break;
|
||||
}
|
||||
case "remove":
|
||||
{
|
||||
parseRemove(feeNode, fee);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -143,6 +150,14 @@ public class EnsoulData implements IGameXmlReader
|
||||
fee.setResoul(index, new ItemHolder(id, count));
|
||||
}
|
||||
|
||||
private void parseRemove(Node ensoulNode, EnsoulFee fee)
|
||||
{
|
||||
final NamedNodeMap attrs = ensoulNode.getAttributes();
|
||||
final int id = parseInteger(attrs, "itemId");
|
||||
final int count = parseInteger(attrs, "count");
|
||||
fee.addRemovalFee(new ItemHolder(id, count));
|
||||
}
|
||||
|
||||
private void parseOptions(Node ensoulNode)
|
||||
{
|
||||
final NamedNodeMap attrs = ensoulNode.getAttributes();
|
||||
@ -177,6 +192,12 @@ public class EnsoulData implements IGameXmlReader
|
||||
return fee != null ? fee.getResoul(index) : null;
|
||||
}
|
||||
|
||||
public Collection<ItemHolder> getRemovalFee(CrystalType type)
|
||||
{
|
||||
final EnsoulFee fee = _ensoulFees.get(type);
|
||||
return fee != null ? fee.getRemovalFee() : Collections.emptyList();
|
||||
}
|
||||
|
||||
public EnsoulOption getOption(int id)
|
||||
{
|
||||
return _ensoulOptions.get(id);
|
||||
@ -187,6 +208,24 @@ public class EnsoulData implements IGameXmlReader
|
||||
return _ensoulStones.get(id);
|
||||
}
|
||||
|
||||
public int getStone(int type, int optionId)
|
||||
{
|
||||
for (EnsoulStone stone : _ensoulStones.values())
|
||||
{
|
||||
if (stone.getSlotType() == type)
|
||||
{
|
||||
for (int id : stone.getOptions())
|
||||
{
|
||||
if (id == optionId)
|
||||
{
|
||||
return stone.getId();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the single instance of EnsoulData.
|
||||
* @return single instance of EnsoulData
|
||||
|
@ -16,6 +16,9 @@
|
||||
*/
|
||||
package com.l2jmobius.gameserver.model.ensoul;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jmobius.gameserver.model.items.type.CrystalType;
|
||||
|
||||
@ -28,6 +31,7 @@ public class EnsoulFee
|
||||
|
||||
private final ItemHolder[] _ensoulFee = new ItemHolder[3];
|
||||
private final ItemHolder[] _resoulFees = new ItemHolder[3];
|
||||
private final List<ItemHolder> _removalFee = new ArrayList<>();
|
||||
|
||||
public EnsoulFee(CrystalType type)
|
||||
{
|
||||
@ -49,6 +53,11 @@ public class EnsoulFee
|
||||
_resoulFees[index] = item;
|
||||
}
|
||||
|
||||
public void addRemovalFee(ItemHolder itemHolder)
|
||||
{
|
||||
_removalFee.add(itemHolder);
|
||||
}
|
||||
|
||||
public ItemHolder getEnsoul(int index)
|
||||
{
|
||||
return _ensoulFee[index];
|
||||
@ -58,4 +67,9 @@ public class EnsoulFee
|
||||
{
|
||||
return _resoulFees[index];
|
||||
}
|
||||
|
||||
public List<ItemHolder> getRemovalFee()
|
||||
{
|
||||
return _removalFee;
|
||||
}
|
||||
}
|
||||
|
@ -2175,6 +2175,28 @@ public final class L2ItemInstance extends L2Object
|
||||
}
|
||||
}
|
||||
|
||||
public void removeSpecialAbility(int position, int type)
|
||||
{
|
||||
if (type == 1)
|
||||
{
|
||||
final EnsoulOption option = _ensoulOptions.get(position);
|
||||
if (option != null)
|
||||
{
|
||||
removeSpecialAbility(option);
|
||||
_ensoulOptions.remove(position);
|
||||
}
|
||||
}
|
||||
else if (type == 2)
|
||||
{
|
||||
final EnsoulOption option = _ensoulSpecialOptions.get(position);
|
||||
if (option != null)
|
||||
{
|
||||
removeSpecialAbility(option);
|
||||
_ensoulSpecialOptions.remove(position);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void clearSpecialAbilities()
|
||||
{
|
||||
_ensoulOptions.values().forEach(this::clearSpecialAbility);
|
||||
|
@ -68,6 +68,7 @@ import com.l2jmobius.gameserver.network.clientpackets.compound.RequestNewEnchant
|
||||
import com.l2jmobius.gameserver.network.clientpackets.crystalization.RequestCrystallizeEstimate;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.crystalization.RequestCrystallizeItemCancel;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.ensoul.RequestItemEnsoul;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.ensoul.RequestTryEnSoulExtraction;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.faction.RequestUserFactionInfo;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.friend.RequestFriendDetailInfo;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.luckygame.RequestLuckyGamePlay;
|
||||
@ -396,7 +397,7 @@ public enum ExIncomingPackets implements IIncomingPackets<L2GameClient>
|
||||
REQUEST_SSO_AUTHN_TOKEN(0x125, null, ConnectionState.IN_GAME),
|
||||
REQUEST_QUEUE_TICKET_LOGIN(0x126, null, ConnectionState.IN_GAME),
|
||||
REQUEST_BLOCK_MEMO_INFO(0x127, null, ConnectionState.IN_GAME),
|
||||
REQUEST_TRY_EN_SOUL_EXTRACTION(0x128, null, ConnectionState.IN_GAME),
|
||||
REQUEST_TRY_EN_SOUL_EXTRACTION(0x128, RequestTryEnSoulExtraction::new, ConnectionState.IN_GAME),
|
||||
REQUEST_RAIDBOSS_SPAWN_INFO(0x129, RequestRaidBossSpawnInfo::new, ConnectionState.IN_GAME),
|
||||
REQUEST_RAID_SERVER_INFO(0x12A, RequestRaidServerInfo::new, ConnectionState.IN_GAME),
|
||||
REQUEST_SHOW_AGIT_SIEGE_INFO(0x12B, null, ConnectionState.IN_GAME),
|
||||
|
@ -0,0 +1,118 @@
|
||||
/*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network.clientpackets.ensoul;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketReader;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.EnsoulData;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.ensoul.EnsoulOption;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.network.L2GameClient;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ensoul.ExEnSoulExtractionResult;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class RequestTryEnSoulExtraction implements IClientIncomingPacket
|
||||
{
|
||||
private int _itemObjectId;
|
||||
private int _type;
|
||||
private int _position;
|
||||
|
||||
@Override
|
||||
public boolean read(L2GameClient client, PacketReader packet)
|
||||
{
|
||||
_itemObjectId = packet.readD();
|
||||
_type = packet.readC();
|
||||
_position = packet.readC() - 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run(L2GameClient client)
|
||||
{
|
||||
L2PcInstance player = client.getActiveChar();
|
||||
if (player == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
final L2ItemInstance item = player.getInventory().getItemByObjectId(_itemObjectId);
|
||||
if (item == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
EnsoulOption option = null;
|
||||
if (_type == 1)
|
||||
{
|
||||
option = item.getSpecialAbility(_position);
|
||||
}
|
||||
if (_type == 2)
|
||||
{
|
||||
option = item.getAdditionalSpecialAbility(_position);
|
||||
}
|
||||
if (option == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
final Collection<ItemHolder> removalFee = EnsoulData.getInstance().getRemovalFee(item.getItem().getCrystalType());
|
||||
if (removalFee.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if player has required items.
|
||||
for (ItemHolder itemHolder : removalFee)
|
||||
{
|
||||
if (player.getInventory().getInventoryItemCount(itemHolder.getId(), -1) < itemHolder.getCount())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.INCORRECT_ITEM_COUNT);
|
||||
player.sendPacket(new ExEnSoulExtractionResult(false, item));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Take required items.
|
||||
for (ItemHolder itemHolder : removalFee)
|
||||
{
|
||||
player.destroyItemByItemId("Rune Extract", itemHolder.getId(), itemHolder.getCount(), player, true);
|
||||
}
|
||||
|
||||
// Remove equipped rune.
|
||||
item.removeSpecialAbility(_position, _type);
|
||||
final InventoryUpdate iu = new InventoryUpdate();
|
||||
iu.addModifiedItem(item);
|
||||
|
||||
// Add rune in player inventory.
|
||||
final int runeId = EnsoulData.getInstance().getStone(_type, option.getId());
|
||||
if (runeId > 0)
|
||||
{
|
||||
iu.addItem(player.addItem("Rune Extract", runeId, 1, player, true));
|
||||
}
|
||||
|
||||
player.sendInventoryUpdate(iu);
|
||||
player.sendPacket(new ExEnSoulExtractionResult(true, item));
|
||||
}
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network.serverpackets.ensoul;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.model.ensoul.EnsoulOption;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class ExEnSoulExtractionResult implements IClientOutgoingPacket
|
||||
{
|
||||
private final boolean _success;
|
||||
private final L2ItemInstance _item;
|
||||
|
||||
public ExEnSoulExtractionResult(boolean success, L2ItemInstance item)
|
||||
{
|
||||
_success = success;
|
||||
_item = item;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_ENSOUL_EXTRACTION_RESULT.writeId(packet);
|
||||
packet.writeC(_success ? 1 : 0);
|
||||
if (_success)
|
||||
{
|
||||
packet.writeC(_item.getSpecialAbilities().size());
|
||||
for (EnsoulOption option : _item.getSpecialAbilities())
|
||||
{
|
||||
packet.writeD(option.getId());
|
||||
}
|
||||
packet.writeC(_item.getAdditionalSpecialAbilities().size());
|
||||
for (EnsoulOption option : _item.getAdditionalSpecialAbilities())
|
||||
{
|
||||
packet.writeD(option.getId());
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network.serverpackets.ensoul;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class ExShowEnsoulExtractionWindow implements IClientOutgoingPacket
|
||||
{
|
||||
public static final ExShowEnsoulExtractionWindow STATIC_PACKET = new ExShowEnsoulExtractionWindow();
|
||||
|
||||
private ExShowEnsoulExtractionWindow()
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_ENSOUL_EXTRACTION_SHOW.writeId(packet);
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Pinter:<br>
|
||||
Welcome. What brings you here, my friend? The name's Pinter. Yes, yes, I'm a Dwarf, and proud of it! My family has been blacksmiths in this town for three generations now! This place is in our blood!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Pushkin:<br>
|
||||
Nice to meet you, wanderer!<br>
|
||||
Rupio and I have come all the way from the Black Anvil Guild to set up shop here. We haven't been here long, but we're gonna turn this place into the best forge in Giran! What can we do for you?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Kluto:<br>
|
||||
Interested in seeing a genius at work, hmm? Just hang around!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Poitan:<br>
|
||||
Nice to meet you, traveler. Your timing is excellent! I just finished remodeling the workshop yesterday, so you're my first customer this season!<br>
|
||||
What can I do for you?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -2,13 +2,14 @@
|
||||
Hmph, who are you? Why did you come here? Unless you have a case of Dwarven beer in that tiny saddle bag, I don't want to hear about it! Bahhh!<br>
|
||||
All I ever hear is heat this, cool that, get to the bellows, it's too hot, don't drop it! Argh! Makes me want to puke! It SO does not pay to be the low man on the totem pole! I want to MAKE something!<br>
|
||||
Armor, a blade... anything!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_02.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
||||
</body></html>
|
@ -1,10 +1,13 @@
|
||||
<html><body>Blacksmith Duning:<br>
|
||||
Hello there! Welcome to the forge! It's so exciting here. So many adventurers stopping by! Why just yesterday, I had lunch with a bounty hunter, tea with an informer, and supper with a ruins explorer! The stories! The romances! The adventures! Better than day time theater!<br>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN="LEFT" ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Wilbert:<br>
|
||||
What do we do here? Well, blacksmiths make things like armor, swords, polearms, axes, plows... But wait! There's more! Look, over there... Aden Castle stands, proudly disregarding the laws of gravity. And you know why? Engineering! It would have collapsed a long time ago if it hadn't been for the efforts of the Black Anvil craftsmen.<br>
|
||||
And... This is just a rumor, but... They say that the giant golem the rebels used to evict the Human lords was made and sold by the Black Anvil. After all, who else could do something like that, right?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade set options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Morning:<br>
|
||||
Welcome! If you have money, I have skills. What do you need, friend?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade set options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body> Blacksmith Hilda:<br>
|
||||
Do you have any business for Hilda? Hmm? Hilda is busy, busy! She must make swords, plows, polearms, and armor! No visiting! Hilda doesn't visit, just works! Hilda doesn't mind watchers, but if someone talks while Hilda works, someone might get hit by hammer. In the face. Hard.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Vincenz:<br>
|
||||
Welcome to the thunder forge! Hahaha! Noisy, isn't it?<br>
|
||||
Do you have anything that you like to craft? We do it all here! Order whatever you like. A pendant? A sword? A war golem? It's all the same to us.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Buryun:<br>
|
||||
Welcome! Your timing is impeccable, I just finished up a three-day job repairing this here Claymore for Fred. A nasty piece of work that! What can I help you with?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
||||
|
@ -19,6 +19,7 @@ package handlers.bypasshandlers;
|
||||
import com.l2jmobius.gameserver.handler.IBypassHandler;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ensoul.ExShowEnsoulExtractionWindow;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ensoul.ExShowEnsoulWindow;
|
||||
|
||||
/**
|
||||
@ -29,6 +30,7 @@ public class EnsoulWindow implements IBypassHandler
|
||||
private static final String[] COMMANDS =
|
||||
{
|
||||
"show_ensoul_window",
|
||||
"show_extract_ensoul_window"
|
||||
};
|
||||
|
||||
@Override
|
||||
@ -39,8 +41,17 @@ public class EnsoulWindow implements IBypassHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
activeChar.sendPacket(ExShowEnsoulWindow.STATIC_PACKET);
|
||||
return true;
|
||||
if (command.toLowerCase().startsWith(COMMANDS[0])) // show_ensoul_window
|
||||
{
|
||||
activeChar.sendPacket(ExShowEnsoulWindow.STATIC_PACKET);
|
||||
return true;
|
||||
}
|
||||
else if (command.toLowerCase().startsWith(COMMANDS[1])) // show_extract_ensoul_window
|
||||
{
|
||||
activeChar.sendPacket(ExShowEnsoulExtractionWindow.STATIC_PACKET);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -17,6 +17,8 @@
|
||||
package com.l2jmobius.gameserver.data.xml.impl;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.EnumMap;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@ -122,6 +124,11 @@ public class EnsoulData implements IGameXmlReader
|
||||
parseReFee(feeNode, fee, 2);
|
||||
break;
|
||||
}
|
||||
case "remove":
|
||||
{
|
||||
parseRemove(feeNode, fee);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -143,6 +150,14 @@ public class EnsoulData implements IGameXmlReader
|
||||
fee.setResoul(index, new ItemHolder(id, count));
|
||||
}
|
||||
|
||||
private void parseRemove(Node ensoulNode, EnsoulFee fee)
|
||||
{
|
||||
final NamedNodeMap attrs = ensoulNode.getAttributes();
|
||||
final int id = parseInteger(attrs, "itemId");
|
||||
final int count = parseInteger(attrs, "count");
|
||||
fee.addRemovalFee(new ItemHolder(id, count));
|
||||
}
|
||||
|
||||
private void parseOptions(Node ensoulNode)
|
||||
{
|
||||
final NamedNodeMap attrs = ensoulNode.getAttributes();
|
||||
@ -177,6 +192,12 @@ public class EnsoulData implements IGameXmlReader
|
||||
return fee != null ? fee.getResoul(index) : null;
|
||||
}
|
||||
|
||||
public Collection<ItemHolder> getRemovalFee(CrystalType type)
|
||||
{
|
||||
final EnsoulFee fee = _ensoulFees.get(type);
|
||||
return fee != null ? fee.getRemovalFee() : Collections.emptyList();
|
||||
}
|
||||
|
||||
public EnsoulOption getOption(int id)
|
||||
{
|
||||
return _ensoulOptions.get(id);
|
||||
@ -187,6 +208,24 @@ public class EnsoulData implements IGameXmlReader
|
||||
return _ensoulStones.get(id);
|
||||
}
|
||||
|
||||
public int getStone(int type, int optionId)
|
||||
{
|
||||
for (EnsoulStone stone : _ensoulStones.values())
|
||||
{
|
||||
if (stone.getSlotType() == type)
|
||||
{
|
||||
for (int id : stone.getOptions())
|
||||
{
|
||||
if (id == optionId)
|
||||
{
|
||||
return stone.getId();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the single instance of EnsoulData.
|
||||
* @return single instance of EnsoulData
|
||||
|
@ -16,6 +16,9 @@
|
||||
*/
|
||||
package com.l2jmobius.gameserver.model.ensoul;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jmobius.gameserver.model.items.type.CrystalType;
|
||||
|
||||
@ -28,6 +31,7 @@ public class EnsoulFee
|
||||
|
||||
private final ItemHolder[] _ensoulFee = new ItemHolder[3];
|
||||
private final ItemHolder[] _resoulFees = new ItemHolder[3];
|
||||
private final List<ItemHolder> _removalFee = new ArrayList<>();
|
||||
|
||||
public EnsoulFee(CrystalType type)
|
||||
{
|
||||
@ -49,6 +53,11 @@ public class EnsoulFee
|
||||
_resoulFees[index] = item;
|
||||
}
|
||||
|
||||
public void addRemovalFee(ItemHolder itemHolder)
|
||||
{
|
||||
_removalFee.add(itemHolder);
|
||||
}
|
||||
|
||||
public ItemHolder getEnsoul(int index)
|
||||
{
|
||||
return _ensoulFee[index];
|
||||
@ -58,4 +67,9 @@ public class EnsoulFee
|
||||
{
|
||||
return _resoulFees[index];
|
||||
}
|
||||
|
||||
public List<ItemHolder> getRemovalFee()
|
||||
{
|
||||
return _removalFee;
|
||||
}
|
||||
}
|
||||
|
@ -2175,6 +2175,28 @@ public final class L2ItemInstance extends L2Object
|
||||
}
|
||||
}
|
||||
|
||||
public void removeSpecialAbility(int position, int type)
|
||||
{
|
||||
if (type == 1)
|
||||
{
|
||||
final EnsoulOption option = _ensoulOptions.get(position);
|
||||
if (option != null)
|
||||
{
|
||||
removeSpecialAbility(option);
|
||||
_ensoulOptions.remove(position);
|
||||
}
|
||||
}
|
||||
else if (type == 2)
|
||||
{
|
||||
final EnsoulOption option = _ensoulSpecialOptions.get(position);
|
||||
if (option != null)
|
||||
{
|
||||
removeSpecialAbility(option);
|
||||
_ensoulSpecialOptions.remove(position);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void clearSpecialAbilities()
|
||||
{
|
||||
_ensoulOptions.values().forEach(this::clearSpecialAbility);
|
||||
|
@ -68,6 +68,7 @@ import com.l2jmobius.gameserver.network.clientpackets.compound.RequestNewEnchant
|
||||
import com.l2jmobius.gameserver.network.clientpackets.crystalization.RequestCrystallizeEstimate;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.crystalization.RequestCrystallizeItemCancel;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.ensoul.RequestItemEnsoul;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.ensoul.RequestTryEnSoulExtraction;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.faction.RequestUserFactionInfo;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.friend.RequestFriendDetailInfo;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.luckygame.RequestLuckyGamePlay;
|
||||
@ -396,7 +397,7 @@ public enum ExIncomingPackets implements IIncomingPackets<L2GameClient>
|
||||
REQUEST_SSO_AUTHN_TOKEN(0x125, null, ConnectionState.IN_GAME),
|
||||
REQUEST_QUEUE_TICKET_LOGIN(0x126, null, ConnectionState.IN_GAME),
|
||||
REQUEST_BLOCK_MEMO_INFO(0x127, null, ConnectionState.IN_GAME),
|
||||
REQUEST_TRY_EN_SOUL_EXTRACTION(0x128, null, ConnectionState.IN_GAME),
|
||||
REQUEST_TRY_EN_SOUL_EXTRACTION(0x128, RequestTryEnSoulExtraction::new, ConnectionState.IN_GAME),
|
||||
REQUEST_RAIDBOSS_SPAWN_INFO(0x129, RequestRaidBossSpawnInfo::new, ConnectionState.IN_GAME),
|
||||
REQUEST_RAID_SERVER_INFO(0x12A, RequestRaidServerInfo::new, ConnectionState.IN_GAME),
|
||||
REQUEST_SHOW_AGIT_SIEGE_INFO(0x12B, null, ConnectionState.IN_GAME),
|
||||
|
@ -0,0 +1,118 @@
|
||||
/*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network.clientpackets.ensoul;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketReader;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.EnsoulData;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.ensoul.EnsoulOption;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.network.L2GameClient;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ensoul.ExEnSoulExtractionResult;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class RequestTryEnSoulExtraction implements IClientIncomingPacket
|
||||
{
|
||||
private int _itemObjectId;
|
||||
private int _type;
|
||||
private int _position;
|
||||
|
||||
@Override
|
||||
public boolean read(L2GameClient client, PacketReader packet)
|
||||
{
|
||||
_itemObjectId = packet.readD();
|
||||
_type = packet.readC();
|
||||
_position = packet.readC() - 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run(L2GameClient client)
|
||||
{
|
||||
L2PcInstance player = client.getActiveChar();
|
||||
if (player == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
final L2ItemInstance item = player.getInventory().getItemByObjectId(_itemObjectId);
|
||||
if (item == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
EnsoulOption option = null;
|
||||
if (_type == 1)
|
||||
{
|
||||
option = item.getSpecialAbility(_position);
|
||||
}
|
||||
if (_type == 2)
|
||||
{
|
||||
option = item.getAdditionalSpecialAbility(_position);
|
||||
}
|
||||
if (option == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
final Collection<ItemHolder> removalFee = EnsoulData.getInstance().getRemovalFee(item.getItem().getCrystalType());
|
||||
if (removalFee.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if player has required items.
|
||||
for (ItemHolder itemHolder : removalFee)
|
||||
{
|
||||
if (player.getInventory().getInventoryItemCount(itemHolder.getId(), -1) < itemHolder.getCount())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.INCORRECT_ITEM_COUNT);
|
||||
player.sendPacket(new ExEnSoulExtractionResult(false, item));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Take required items.
|
||||
for (ItemHolder itemHolder : removalFee)
|
||||
{
|
||||
player.destroyItemByItemId("Rune Extract", itemHolder.getId(), itemHolder.getCount(), player, true);
|
||||
}
|
||||
|
||||
// Remove equipped rune.
|
||||
item.removeSpecialAbility(_position, _type);
|
||||
final InventoryUpdate iu = new InventoryUpdate();
|
||||
iu.addModifiedItem(item);
|
||||
|
||||
// Add rune in player inventory.
|
||||
final int runeId = EnsoulData.getInstance().getStone(_type, option.getId());
|
||||
if (runeId > 0)
|
||||
{
|
||||
iu.addItem(player.addItem("Rune Extract", runeId, 1, player, true));
|
||||
}
|
||||
|
||||
player.sendInventoryUpdate(iu);
|
||||
player.sendPacket(new ExEnSoulExtractionResult(true, item));
|
||||
}
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network.serverpackets.ensoul;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.model.ensoul.EnsoulOption;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class ExEnSoulExtractionResult implements IClientOutgoingPacket
|
||||
{
|
||||
private final boolean _success;
|
||||
private final L2ItemInstance _item;
|
||||
|
||||
public ExEnSoulExtractionResult(boolean success, L2ItemInstance item)
|
||||
{
|
||||
_success = success;
|
||||
_item = item;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_ENSOUL_EXTRACTION_RESULT.writeId(packet);
|
||||
packet.writeC(_success ? 1 : 0);
|
||||
if (_success)
|
||||
{
|
||||
packet.writeC(_item.getSpecialAbilities().size());
|
||||
for (EnsoulOption option : _item.getSpecialAbilities())
|
||||
{
|
||||
packet.writeD(option.getId());
|
||||
}
|
||||
packet.writeC(_item.getAdditionalSpecialAbilities().size());
|
||||
for (EnsoulOption option : _item.getAdditionalSpecialAbilities())
|
||||
{
|
||||
packet.writeD(option.getId());
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network.serverpackets.ensoul;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class ExShowEnsoulExtractionWindow implements IClientOutgoingPacket
|
||||
{
|
||||
public static final ExShowEnsoulExtractionWindow STATIC_PACKET = new ExShowEnsoulExtractionWindow();
|
||||
|
||||
private ExShowEnsoulExtractionWindow()
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_ENSOUL_EXTRACTION_SHOW.writeId(packet);
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Pinter:<br>
|
||||
Welcome. What brings you here, my friend? The name's Pinter. Yes, yes, I'm a Dwarf, and proud of it! My family has been blacksmiths in this town for three generations now! This place is in our blood!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Pushkin:<br>
|
||||
Nice to meet you, wanderer!<br>
|
||||
Rupio and I have come all the way from the Black Anvil Guild to set up shop here. We haven't been here long, but we're gonna turn this place into the best forge in Giran! What can we do for you?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Kluto:<br>
|
||||
Interested in seeing a genius at work, hmm? Just hang around!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Poitan:<br>
|
||||
Nice to meet you, traveler. Your timing is excellent! I just finished remodeling the workshop yesterday, so you're my first customer this season!<br>
|
||||
What can I do for you?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -2,13 +2,14 @@
|
||||
Hmph, who are you? Why did you come here? Unless you have a case of Dwarven beer in that tiny saddle bag, I don't want to hear about it! Bahhh!<br>
|
||||
All I ever hear is heat this, cool that, get to the bellows, it's too hot, don't drop it! Argh! Makes me want to puke! It SO does not pay to be the low man on the totem pole! I want to MAKE something!<br>
|
||||
Armor, a blade... anything!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_02.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
||||
</body></html>
|
@ -1,10 +1,13 @@
|
||||
<html><body>Blacksmith Duning:<br>
|
||||
Hello there! Welcome to the forge! It's so exciting here. So many adventurers stopping by! Why just yesterday, I had lunch with a bounty hunter, tea with an informer, and supper with a ruins explorer! The stories! The romances! The adventures! Better than day time theater!<br>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN="LEFT" ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN="LEFT" ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Wilbert:<br>
|
||||
What do we do here? Well, blacksmiths make things like armor, swords, polearms, axes, plows... But wait! There's more! Look, over there... Aden Castle stands, proudly disregarding the laws of gravity. And you know why? Engineering! It would have collapsed a long time ago if it hadn't been for the efforts of the Black Anvil craftsmen.<br>
|
||||
And... This is just a rumor, but... They say that the giant golem the rebels used to evict the Human lords was made and sold by the Black Anvil. After all, who else could do something like that, right?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade set options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Morning:<br>
|
||||
Welcome! If you have money, I have skills. What do you need, friend?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade set options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_01.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body> Blacksmith Hilda:<br>
|
||||
Do you have any business for Hilda? Hmm? Hilda is busy, busy! She must make swords, plows, polearms, and armor! No visiting! Hilda doesn't visit, just works! Hilda doesn't mind watchers, but if someone talks while Hilda works, someone might get hit by hammer. In the face. Hard.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,13 +1,14 @@
|
||||
<html><body>Blacksmith Vincenz:<br>
|
||||
Welcome to the thunder forge! Hahaha! Noisy, isn't it?<br>
|
||||
Do you have anything that you like to craft? We do it all here! Order whatever you like. A pendant? A sword? A war golem? It's all the same to us.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
@ -1,12 +1,13 @@
|
||||
<html><body>Blacksmith Buryun:<br>
|
||||
Welcome! Your timing is impeccable, I just finished up a three-day job repairing this here Claymore for Fred. A nasty piece of work that! What can I help you with?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">R-grade set option</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">Craft a dual weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/weapon_sa_01.htm">Bestow a Soul Crystal effect on a weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">Craft an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">Seal armor and accessories</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">Change a Bound Item to an Unidentified Item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">Augment an item</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_ensoul_window">"I want to bestow a Soul Crystal effect on a weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_show_extract_ensoul_window"><font color="LEVEL">"I want to remove the Soul Crystal effect from my weapon." (Extract Soul Crystal)</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 5">"I want to augment an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_03.htm">"Show me the R-grade Set Options."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/duals_03.htm">"I want to craft a dual weapon."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/crafting_01.htm">"I want to craft an item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 4">"I want to seal armor and accessories."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Link common/cursed_to_unidentified.htm">"I want to change a Bound Item to an Unidentified Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate."</Button>
|
||||
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
|
||||
</body></html>
|
||||
|
@ -19,6 +19,7 @@ package handlers.bypasshandlers;
|
||||
import com.l2jmobius.gameserver.handler.IBypassHandler;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ensoul.ExShowEnsoulExtractionWindow;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ensoul.ExShowEnsoulWindow;
|
||||
|
||||
/**
|
||||
@ -29,6 +30,7 @@ public class EnsoulWindow implements IBypassHandler
|
||||
private static final String[] COMMANDS =
|
||||
{
|
||||
"show_ensoul_window",
|
||||
"show_extract_ensoul_window"
|
||||
};
|
||||
|
||||
@Override
|
||||
@ -39,8 +41,17 @@ public class EnsoulWindow implements IBypassHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
activeChar.sendPacket(ExShowEnsoulWindow.STATIC_PACKET);
|
||||
return true;
|
||||
if (command.toLowerCase().startsWith(COMMANDS[0])) // show_ensoul_window
|
||||
{
|
||||
activeChar.sendPacket(ExShowEnsoulWindow.STATIC_PACKET);
|
||||
return true;
|
||||
}
|
||||
else if (command.toLowerCase().startsWith(COMMANDS[1])) // show_extract_ensoul_window
|
||||
{
|
||||
activeChar.sendPacket(ExShowEnsoulExtractionWindow.STATIC_PACKET);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -17,6 +17,8 @@
|
||||
package com.l2jmobius.gameserver.data.xml.impl;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.EnumMap;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@ -122,6 +124,11 @@ public class EnsoulData implements IGameXmlReader
|
||||
parseReFee(feeNode, fee, 2);
|
||||
break;
|
||||
}
|
||||
case "remove":
|
||||
{
|
||||
parseRemove(feeNode, fee);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -143,6 +150,14 @@ public class EnsoulData implements IGameXmlReader
|
||||
fee.setResoul(index, new ItemHolder(id, count));
|
||||
}
|
||||
|
||||
private void parseRemove(Node ensoulNode, EnsoulFee fee)
|
||||
{
|
||||
final NamedNodeMap attrs = ensoulNode.getAttributes();
|
||||
final int id = parseInteger(attrs, "itemId");
|
||||
final int count = parseInteger(attrs, "count");
|
||||
fee.addRemovalFee(new ItemHolder(id, count));
|
||||
}
|
||||
|
||||
private void parseOptions(Node ensoulNode)
|
||||
{
|
||||
final NamedNodeMap attrs = ensoulNode.getAttributes();
|
||||
@ -177,6 +192,12 @@ public class EnsoulData implements IGameXmlReader
|
||||
return fee != null ? fee.getResoul(index) : null;
|
||||
}
|
||||
|
||||
public Collection<ItemHolder> getRemovalFee(CrystalType type)
|
||||
{
|
||||
final EnsoulFee fee = _ensoulFees.get(type);
|
||||
return fee != null ? fee.getRemovalFee() : Collections.emptyList();
|
||||
}
|
||||
|
||||
public EnsoulOption getOption(int id)
|
||||
{
|
||||
return _ensoulOptions.get(id);
|
||||
@ -187,6 +208,24 @@ public class EnsoulData implements IGameXmlReader
|
||||
return _ensoulStones.get(id);
|
||||
}
|
||||
|
||||
public int getStone(int type, int optionId)
|
||||
{
|
||||
for (EnsoulStone stone : _ensoulStones.values())
|
||||
{
|
||||
if (stone.getSlotType() == type)
|
||||
{
|
||||
for (int id : stone.getOptions())
|
||||
{
|
||||
if (id == optionId)
|
||||
{
|
||||
return stone.getId();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the single instance of EnsoulData.
|
||||
* @return single instance of EnsoulData
|
||||
|
@ -16,6 +16,9 @@
|
||||
*/
|
||||
package com.l2jmobius.gameserver.model.ensoul;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jmobius.gameserver.model.items.type.CrystalType;
|
||||
|
||||
@ -28,6 +31,7 @@ public class EnsoulFee
|
||||
|
||||
private final ItemHolder[] _ensoulFee = new ItemHolder[3];
|
||||
private final ItemHolder[] _resoulFees = new ItemHolder[3];
|
||||
private final List<ItemHolder> _removalFee = new ArrayList<>();
|
||||
|
||||
public EnsoulFee(CrystalType type)
|
||||
{
|
||||
@ -49,6 +53,11 @@ public class EnsoulFee
|
||||
_resoulFees[index] = item;
|
||||
}
|
||||
|
||||
public void addRemovalFee(ItemHolder itemHolder)
|
||||
{
|
||||
_removalFee.add(itemHolder);
|
||||
}
|
||||
|
||||
public ItemHolder getEnsoul(int index)
|
||||
{
|
||||
return _ensoulFee[index];
|
||||
@ -58,4 +67,9 @@ public class EnsoulFee
|
||||
{
|
||||
return _resoulFees[index];
|
||||
}
|
||||
|
||||
public List<ItemHolder> getRemovalFee()
|
||||
{
|
||||
return _removalFee;
|
||||
}
|
||||
}
|
||||
|
@ -2175,6 +2175,28 @@ public final class L2ItemInstance extends L2Object
|
||||
}
|
||||
}
|
||||
|
||||
public void removeSpecialAbility(int position, int type)
|
||||
{
|
||||
if (type == 1)
|
||||
{
|
||||
final EnsoulOption option = _ensoulOptions.get(position);
|
||||
if (option != null)
|
||||
{
|
||||
removeSpecialAbility(option);
|
||||
_ensoulOptions.remove(position);
|
||||
}
|
||||
}
|
||||
else if (type == 2)
|
||||
{
|
||||
final EnsoulOption option = _ensoulSpecialOptions.get(position);
|
||||
if (option != null)
|
||||
{
|
||||
removeSpecialAbility(option);
|
||||
_ensoulSpecialOptions.remove(position);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void clearSpecialAbilities()
|
||||
{
|
||||
_ensoulOptions.values().forEach(this::clearSpecialAbility);
|
||||
|
@ -68,6 +68,7 @@ import com.l2jmobius.gameserver.network.clientpackets.compound.RequestNewEnchant
|
||||
import com.l2jmobius.gameserver.network.clientpackets.crystalization.RequestCrystallizeEstimate;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.crystalization.RequestCrystallizeItemCancel;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.ensoul.RequestItemEnsoul;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.ensoul.RequestTryEnSoulExtraction;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.faction.RequestUserFactionInfo;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.friend.RequestFriendDetailInfo;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.luckygame.RequestLuckyGamePlay;
|
||||
@ -396,7 +397,7 @@ public enum ExIncomingPackets implements IIncomingPackets<L2GameClient>
|
||||
REQUEST_SSO_AUTHN_TOKEN(0x125, null, ConnectionState.IN_GAME),
|
||||
REQUEST_QUEUE_TICKET_LOGIN(0x126, null, ConnectionState.IN_GAME),
|
||||
REQUEST_BLOCK_MEMO_INFO(0x127, null, ConnectionState.IN_GAME),
|
||||
REQUEST_TRY_EN_SOUL_EXTRACTION(0x128, null, ConnectionState.IN_GAME),
|
||||
REQUEST_TRY_EN_SOUL_EXTRACTION(0x128, RequestTryEnSoulExtraction::new, ConnectionState.IN_GAME),
|
||||
REQUEST_RAIDBOSS_SPAWN_INFO(0x129, RequestRaidBossSpawnInfo::new, ConnectionState.IN_GAME),
|
||||
REQUEST_RAID_SERVER_INFO(0x12A, RequestRaidServerInfo::new, ConnectionState.IN_GAME),
|
||||
REQUEST_SHOW_AGIT_SIEGE_INFO(0x12B, null, ConnectionState.IN_GAME),
|
||||
|
@ -0,0 +1,118 @@
|
||||
/*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network.clientpackets.ensoul;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketReader;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.EnsoulData;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.ensoul.EnsoulOption;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.network.L2GameClient;
|
||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import com.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ensoul.ExEnSoulExtractionResult;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class RequestTryEnSoulExtraction implements IClientIncomingPacket
|
||||
{
|
||||
private int _itemObjectId;
|
||||
private int _type;
|
||||
private int _position;
|
||||
|
||||
@Override
|
||||
public boolean read(L2GameClient client, PacketReader packet)
|
||||
{
|
||||
_itemObjectId = packet.readD();
|
||||
_type = packet.readC();
|
||||
_position = packet.readC() - 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run(L2GameClient client)
|
||||
{
|
||||
L2PcInstance player = client.getActiveChar();
|
||||
if (player == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
final L2ItemInstance item = player.getInventory().getItemByObjectId(_itemObjectId);
|
||||
if (item == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
EnsoulOption option = null;
|
||||
if (_type == 1)
|
||||
{
|
||||
option = item.getSpecialAbility(_position);
|
||||
}
|
||||
if (_type == 2)
|
||||
{
|
||||
option = item.getAdditionalSpecialAbility(_position);
|
||||
}
|
||||
if (option == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
final Collection<ItemHolder> removalFee = EnsoulData.getInstance().getRemovalFee(item.getItem().getCrystalType());
|
||||
if (removalFee.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if player has required items.
|
||||
for (ItemHolder itemHolder : removalFee)
|
||||
{
|
||||
if (player.getInventory().getInventoryItemCount(itemHolder.getId(), -1) < itemHolder.getCount())
|
||||
{
|
||||
player.sendPacket(SystemMessageId.INCORRECT_ITEM_COUNT);
|
||||
player.sendPacket(new ExEnSoulExtractionResult(false, item));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Take required items.
|
||||
for (ItemHolder itemHolder : removalFee)
|
||||
{
|
||||
player.destroyItemByItemId("Rune Extract", itemHolder.getId(), itemHolder.getCount(), player, true);
|
||||
}
|
||||
|
||||
// Remove equipped rune.
|
||||
item.removeSpecialAbility(_position, _type);
|
||||
final InventoryUpdate iu = new InventoryUpdate();
|
||||
iu.addModifiedItem(item);
|
||||
|
||||
// Add rune in player inventory.
|
||||
final int runeId = EnsoulData.getInstance().getStone(_type, option.getId());
|
||||
if (runeId > 0)
|
||||
{
|
||||
iu.addItem(player.addItem("Rune Extract", runeId, 1, player, true));
|
||||
}
|
||||
|
||||
player.sendInventoryUpdate(iu);
|
||||
player.sendPacket(new ExEnSoulExtractionResult(true, item));
|
||||
}
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
/*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network.serverpackets.ensoul;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.model.ensoul.EnsoulOption;
|
||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class ExEnSoulExtractionResult implements IClientOutgoingPacket
|
||||
{
|
||||
private final boolean _success;
|
||||
private final L2ItemInstance _item;
|
||||
|
||||
public ExEnSoulExtractionResult(boolean success, L2ItemInstance item)
|
||||
{
|
||||
_success = success;
|
||||
_item = item;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_ENSOUL_EXTRACTION_RESULT.writeId(packet);
|
||||
packet.writeC(_success ? 1 : 0);
|
||||
if (_success)
|
||||
{
|
||||
packet.writeC(_item.getSpecialAbilities().size());
|
||||
for (EnsoulOption option : _item.getSpecialAbilities())
|
||||
{
|
||||
packet.writeD(option.getId());
|
||||
}
|
||||
packet.writeC(_item.getAdditionalSpecialAbilities().size());
|
||||
for (EnsoulOption option : _item.getAdditionalSpecialAbilities())
|
||||
{
|
||||
packet.writeD(option.getId());
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package com.l2jmobius.gameserver.network.serverpackets.ensoul;
|
||||
|
||||
import com.l2jmobius.commons.network.PacketWriter;
|
||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public class ExShowEnsoulExtractionWindow implements IClientOutgoingPacket
|
||||
{
|
||||
public static final ExShowEnsoulExtractionWindow STATIC_PACKET = new ExShowEnsoulExtractionWindow();
|
||||
|
||||
private ExShowEnsoulExtractionWindow()
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_ENSOUL_EXTRACTION_SHOW.writeId(packet);
|
||||
return true;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user