Advertisement
Minzee

Mammons_Script_C6_Interlude_Classic

Jun 1st, 2020
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 36.27 KB | None | 0 0
  1. ### Eclipse Workspace Patch 1.0
  2. #P L2J_Mobius_Classic_Interlude
  3. Index: dist/game/data/scripts/ai/others/Mammons/PriestOfMammon/PriestOfMammon.java
  4. ===================================================================
  5. --- dist/game/data/scripts/ai/others/Mammons/PriestOfMammon/PriestOfMammon.java (nonexistent)
  6. +++ dist/game/data/scripts/ai/others/Mammons/PriestOfMammon/PriestOfMammon.java (working copy)
  7. @@ -0,0 +1,80 @@
  8. +/*
  9. + * This file is part of the L2J Mobius project.
  10. + *
  11. + * This program is free software: you can redistribute it and/or modify
  12. + * it under the terms of the GNU General Public License as published by
  13. + * the Free Software Foundation, either version 3 of the License, or
  14. + * (at your option) any later version.
  15. + *
  16. + * This program is distributed in the hope that it will be useful,
  17. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  19. + * General Public License for more details.
  20. + *
  21. + * You should have received a copy of the GNU General Public License
  22. + * along with this program. If not, see <http://www.gnu.org/licenses/>.
  23. + */
  24. +package ai.others.Mammons.PriestOfMammon;
  25. +
  26. +import org.l2jmobius.gameserver.model.Location;
  27. +import org.l2jmobius.gameserver.model.actor.Npc;
  28. +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
  29. +
  30. +import ai.AbstractNpcAI;
  31. +
  32. +/**
  33. + * @author Mobius
  34. + */
  35. +public class PriestOfMammon extends AbstractNpcAI
  36. +{
  37. +   // NPC
  38. +   private static final int PRIEST = 33511;
  39. +  
  40. +   // Locations
  41. +   private static final Location[] LOCATIONS =
  42. +   {
  43. +       new Location(146882, 29665, -2264, 0), // Aden
  44. +       new Location(81284, 150155, -3528, 891), // Giran
  45. +       new Location(42784, -41236, -2192, 37972), // Rune
  46. +   };
  47. +  
  48. +   // Misc
  49. +   private static final int TELEPORT_DELAY = 1800000; // 30 minutes
  50. +  
  51. +   private PriestOfMammon()
  52. +   {
  53. +       addFirstTalkId(PRIEST);
  54. +       onAdvEvent("RESPAWN_PRIEST", null, null);
  55. +       startQuestTimer("RESPAWN_PRIEST", TELEPORT_DELAY, null, null, true);
  56. +   }
  57. +  
  58. +   @Override
  59. +   public String onAdvEvent(String event, Npc npc, PlayerInstance player)
  60. +   {
  61. +       String htmltext = null;
  62. +       switch (event)
  63. +       {
  64. +           case "31113.html":
  65. +           case "31113-01.html":
  66. +           case "31113-02.html":
  67. +           {
  68. +               htmltext = event;
  69. +               break;
  70. +           }
  71. +           case "RESPAWN_PRIEST":
  72. +           {
  73. +               if (event.equals("RESPAWN_PRIEST"))
  74. +               {
  75. +                   addSpawn(PRIEST, getRandomEntry(LOCATIONS), false, TELEPORT_DELAY);
  76. +               }
  77. +               break;
  78. +           }
  79. +       }
  80. +       return htmltext;
  81. +   }
  82. +  
  83. +   public static void main(String[] args)
  84. +   {
  85. +       new PriestOfMammon();
  86. +   }
  87. +}
  88. Index: dist/game/data/scripts/ai/others/Mammons/PriestOfMammon/33511.html
  89. ===================================================================
  90. --- dist/game/data/scripts/ai/others/Mammons/PriestOfMammon/33511.html  (nonexistent)
  91. +++ dist/game/data/scripts/ai/others/Mammons/PriestOfMammon/33511.html  (working copy)
  92. @@ -0,0 +1,7 @@
  93. +<html><body>Priest of Mammon:<br>
  94. +The door to the Necropolis and Catacombs is again opened. I heard that the monsters coming back in dungeons... hmm... I don't know.<br>
  95. +No matter, both the Dawn and Dusk were caught horribly unprepared by Shilen's resurrection. Haha... Because of this, I started taking on the work normally done by the priests of Dawn and Dusk.<br>
  96. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 33511001">I want to buy consumable items.</Button>
  97. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 33511002">I'd like to exchange a seal stone for an item.</Button>
  98. +<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
  99. +</body></html>
  100. \ No newline at end of file
  101. Index: dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113.html
  102. ===================================================================
  103. --- dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113.html    (nonexistent)
  104. +++ dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113.html    (working copy)
  105. @@ -0,0 +1,9 @@
  106. +<html><body>Merchant of Mammon:<br>
  107. +May you receive the blessings of Mammon! We of the Mammon Guild have come far to show you some exquisite items!<br>
  108. +Before you start shopping there are a few things I should tell you... We don't accept today's currency, but instead use only<font color="LEVEL"> Ancient Adena</font>.<br>
  109. +Also, if you wish to purchase an enchanted scroll, you must bring a<font color="LEVEL"> Blank Scroll</font>.<br>
  110. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 31113001">I Wish to Buy Something.</Button>
  111. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest MerchantOfMammon 31113-01.html">Tell me about Ancient Adena.</Button>
  112. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest MerchantOfMammon 31113-02.html">Tell me about Blank Scrolls.</Button>
  113. +<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
  114. +</body></html>
  115. \ No newline at end of file
  116. Index: dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/MerchantOfMammon.java
  117. ===================================================================
  118. --- dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/MerchantOfMammon.java (nonexistent)
  119. +++ dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/MerchantOfMammon.java (working copy)
  120. @@ -0,0 +1,86 @@
  121. +/*
  122. + * This file is part of the L2J Mobius project.
  123. + *
  124. + * This program is free software: you can redistribute it and/or modify
  125. + * it under the terms of the GNU General Public License as published by
  126. + * the Free Software Foundation, either version 3 of the License, or
  127. + * (at your option) any later version.
  128. + *
  129. + * This program is distributed in the hope that it will be useful,
  130. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  131. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  132. + * General Public License for more details.
  133. + *
  134. + * You should have received a copy of the GNU General Public License
  135. + * along with this program. If not, see <http://www.gnu.org/licenses/>.
  136. + */
  137. +package ai.others.Mammons.MerchantOfMammon;
  138. +
  139. +import org.l2jmobius.gameserver.model.Location;
  140. +import org.l2jmobius.gameserver.model.actor.Npc;
  141. +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
  142. +
  143. +import ai.AbstractNpcAI;
  144. +
  145. +/**
  146. + * @author Mobius
  147. + */
  148. +public class MerchantOfMammon extends AbstractNpcAI
  149. +{
  150. +   // NPC
  151. +   private static final int MERCHANT = 31113;
  152. +  
  153. +   // Locations
  154. +   private static final Location[] LOCATIONS =
  155. +   {
  156. +      
  157. +       new Location(-52172, 78884, -4741, 0), // Devotion
  158. +       new Location(-41350, 209876, -5087, 0), // Sacrifice
  159. +       new Location(-21657, 77164, -5173, 0), // Patriots
  160. +       new Location(45029, 123802, -5413, 0), // Pilgrims
  161. +       new Location(83175, 208998, -5439, 0), // Saints
  162. +       new Location(111337, 173804, -5439, 0), // Worship
  163. +       new Location(118343, 132578, -4831, 0), // Martyrdom
  164. +       new Location(172373, -17833, -4901, 0), // Disciple
  165. +   };
  166. +  
  167. +   // Misc
  168. +   private static final int TELEPORT_DELAY = 1800000; // 30 minutes
  169. +  
  170. +   private MerchantOfMammon()
  171. +   {
  172. +       addFirstTalkId(MERCHANT);
  173. +       onAdvEvent("RESPAWN_MERCHANT", null, null);
  174. +       startQuestTimer("RESPAWN_MERCHANT", TELEPORT_DELAY, null, null, true);
  175. +   }
  176. +  
  177. +   @Override
  178. +   public String onAdvEvent(String event, Npc npc, PlayerInstance player)
  179. +   {
  180. +       String htmltext = null;
  181. +       switch (event)
  182. +       {
  183. +           case "31113.html":
  184. +           case "31113-01.html":
  185. +           case "31113-02.html":
  186. +           {
  187. +               htmltext = event;
  188. +               break;
  189. +           }
  190. +           case "RESPAWN_MERCHANT":
  191. +           {
  192. +               if (event.equals("RESPAWN_MERCHANT"))
  193. +               {
  194. +                   addSpawn(MERCHANT, getRandomEntry(LOCATIONS), false, TELEPORT_DELAY);
  195. +               }
  196. +               break;
  197. +           }
  198. +       }
  199. +       return htmltext;
  200. +   }
  201. +  
  202. +   public static void main(String[] args)
  203. +   {
  204. +       new MerchantOfMammon();
  205. +   }
  206. +}
  207. Index: dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/BlacksmithOfMammon.java
  208. ===================================================================
  209. --- dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/BlacksmithOfMammon.java (nonexistent)
  210. +++ dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/BlacksmithOfMammon.java (working copy)
  211. @@ -0,0 +1,85 @@
  212. +/*
  213. + * This file is part of the L2J Mobius project.
  214. + *
  215. + * This program is free software: you can redistribute it and/or modify
  216. + * it under the terms of the GNU General Public License as published by
  217. + * the Free Software Foundation, either version 3 of the License, or
  218. + * (at your option) any later version.
  219. + *
  220. + * This program is distributed in the hope that it will be useful,
  221. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  222. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  223. + * General Public License for more details.
  224. + *
  225. + * You should have received a copy of the GNU General Public License
  226. + * along with this program. If not, see <http://www.gnu.org/licenses/>.
  227. + */
  228. +package ai.others.Mammons.BlacksmithOfMammon;
  229. +
  230. +import org.l2jmobius.gameserver.model.Location;
  231. +import org.l2jmobius.gameserver.model.actor.Npc;
  232. +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
  233. +
  234. +import ai.AbstractNpcAI;
  235. +
  236. +/**
  237. + * @author Mobius
  238. + */
  239. +public class BlacksmithOfMammon extends AbstractNpcAI
  240. +{
  241. +   // NPC
  242. +   private static final int BLACKSMITH = 31126;
  243. +  
  244. +   // Locations
  245. +   private static final Location[] LOCATIONS =
  246. +   {
  247. +       new Location(-19360, 13278, -4901, 0), // Dark Omens
  248. +       new Location(-53131, -250502, -7909, 0), // Heretic
  249. +       new Location(46303, 170091, -4981, 0), // Branded
  250. +       new Location(-20485, -251008, -8165, 0), // Apostate
  251. +       new Location(12669, -248698, -9581, 0), // Forbidden Path
  252. +       new Location(140519, 79464, -5429, 0), // Witch
  253. +   };
  254. +  
  255. +   // Misc
  256. +   private static final int TELEPORT_DELAY = 1800000; // 30 minutes
  257. +  
  258. +   private BlacksmithOfMammon()
  259. +   {
  260. +       addFirstTalkId(BLACKSMITH);
  261. +       onAdvEvent("RESPAWN_BLACKSMITH", null, null);
  262. +       startQuestTimer("RESPAWN_BLACKSMITH", TELEPORT_DELAY, null, null, true);
  263. +   }
  264. +  
  265. +   @Override
  266. +   public String onAdvEvent(String event, Npc npc, PlayerInstance player)
  267. +   {
  268. +       String htmltext = null;
  269. +       switch (event)
  270. +       {
  271. +           case "31126.html":
  272. +           case "31126-01.html":
  273. +           case "31126-02.html":
  274. +           case "31126-03.html":
  275. +           case "31126-04.html":
  276. +           {
  277. +               htmltext = event;
  278. +               break;
  279. +           }
  280. +           case "RESPAWN_BLACKSMITH":
  281. +           {
  282. +               if (event.equals("RESPAWN_BLACKSMITH"))
  283. +               {
  284. +                   addSpawn(BLACKSMITH, getRandomEntry(LOCATIONS), false, TELEPORT_DELAY);
  285. +               }
  286. +               break;
  287. +           }
  288. +       }
  289. +       return htmltext;
  290. +   }
  291. +  
  292. +   public static void main(String[] args)
  293. +   {
  294. +       new BlacksmithOfMammon();
  295. +   }
  296. +}
  297. Index: dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113-02.html
  298. ===================================================================
  299. --- dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113-02.html (nonexistent)
  300. +++ dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113-02.html (working copy)
  301. @@ -0,0 +1,6 @@
  302. +<html><body>Merchant of Mammon:<br>
  303. +A Blank Scroll is the papyrus that remains after the enchantment has been removed from a magic scroll.<br>
  304. +Visit<font color="LEVEL"> Gatekeeper Ziggurat</font> at the entrance to the Necropolis, he'll tell you how to get a Blank Scroll. But this knowledge won't come cheap...<br>
  305. +He's been a bit down on his luck lately... This will do him good...<br>
  306. +<Button ALIGN=LEFT ICON="return" action="bypass -h npc_%objectId%_Quest MerchantOfMammon 31113.html">Back</Button>
  307. +</body></html>
  308. \ No newline at end of file
  309. Index: dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126.html
  310. ===================================================================
  311. --- dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126.html  (nonexistent)
  312. +++ dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126.html  (working copy)
  313. @@ -0,0 +1,11 @@
  314. +<html><body>Blacksmith of Mammon:<br>
  315. +Ah, yes, the seal of gnosis! May you receive the blessings of Mammon! You have come a long way to find me. I can provide you with the highest-quality weapons and armor.<br>
  316. +Blacksmiths the world over try to mimic my refined techniques, but their work pales in comparison to mine.<br>
  317. +I must ask you but one thing. As a dwarf of Mammon, I cannot accept money from the outside world. I can only accept payment in<font color="LEVEL"> Ancient Adena</font>.<br>
  318. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest BlacksmithOfMammon 31126-01.html">S-Grade</Button>
  319. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest BlacksmithOfMammon 31126-02.html">A-Grade</Button>
  320. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126001">Remove a weapon's special capability.</Button>
  321. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest BlacksmithOfMammon 31126-03.html">Upgrade a weapon.</Button>
  322. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest BlacksmithOfMammon 31126-04.html">Exchange a weapon.</Button>
  323. +<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
  324. +</body></html>
  325. \ No newline at end of file
  326. Index: dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113-01.html
  327. ===================================================================
  328. --- dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113-01.html (nonexistent)
  329. +++ dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113-01.html (working copy)
  330. @@ -0,0 +1,5 @@
  331. +<html><body>Merchant of Mammon:<br>
  332. +Ancient Adena is the currency that was used during the Elmoreden Empire. It was minuted from gold of the highest purity, of a much higher quality than the coins used today. It is said that the emblem on the back of the coins possesses a mysterious power...<br>
  333. +The Priest of Mammon are given bonuses in Ancient Adena. Sell them<font color="LEVEL"> Seal Stones</font> and they'll pay for them with Ancient Adena.<br>
  334. +<Button ALIGN=LEFT ICON="return" action="bypass -h npc_%objectId%_Quest MerchantOfMammon 31113.html">Back</Button>
  335. +</body></html>
  336. \ No newline at end of file
  337. Index: dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-04.html
  338. ===================================================================
  339. --- dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-04.html   (nonexistent)
  340. +++ dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-04.html   (working copy)
  341. @@ -0,0 +1,6 @@
  342. +<html><body>Blacksmith of Mammon:<br>
  343. +I'll make an even exchange of weapons with you. For example, I will exchange a Mithril Dagger for a two-handed Claymore of the same level. However, there are a couple of things you should know.<br>
  344. +There's something you should know. <font color="LEVEL">Special abilities</font> don't transfer. And if you transfer <font color="LEVEL">enchantments</font>, the new weapon will not be enchanted.<br>
  345. +<Button ALIGN=LEFT ICON="normal" action="bypass -h npc_%objectId%_exc_multisell 31126003">Make an even exchange of weapons.</Button>
  346. +<Button ALIGN=LEFT ICON="return" action="bypass -h npc_%objectId%_Quest BlacksmithOfMammon 31126.html">Back</Button>
  347. +</body></html>
  348. \ No newline at end of file
  349. Index: dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-03.html
  350. ===================================================================
  351. --- dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-03.html   (nonexistent)
  352. +++ dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-03.html   (working copy)
  353. @@ -0,0 +1,6 @@
  354. +<html><body>Blacksmith of Mammon:<br>
  355. +I'll exchange the weapon that you've been using for a weapon that is one level stronger. Pay me the difference in Ancient Adena.<br>
  356. +There's something you should know. <font color="LEVEL">Special abilities</font> don't transfer. And if you transfer <font color="LEVEL">enchantments</font>, the new weapon will not be enchanted.<br>
  357. +<Button ALIGN=LEFT ICON="normal" action="bypass -h npc_%objectId%_exc_multisell 31126002">Upgrade weapon.</Button>
  358. +<Button ALIGN=LEFT ICON="return" action="bypass -h npc_%objectId%_Quest BlacksmithOfMammon 31126.html">Back</Button>
  359. +</body></html>
  360. \ No newline at end of file
  361. Index: dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-02.html
  362. ===================================================================
  363. --- dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-02.html   (nonexistent)
  364. +++ dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-02.html   (working copy)
  365. @@ -0,0 +1,7 @@
  366. +<html><body>Blacksmith of Mammon:<br>
  367. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 31126008">Craft A-Grade Dualsword.</Button>
  368. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126009">Bestow special capability on A-Grade weapon.</Button>
  369. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126010">Release seal on A-Grade armor.</Button>
  370. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126011">Release seal on A-Grade accessory.</Button>
  371. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126012">Re-seal A-Grade armor.</Button>
  372. +</body></html>
  373. \ No newline at end of file
  374. Index: dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-01.html
  375. ===================================================================
  376. --- dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-01.html   (nonexistent)
  377. +++ dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-01.html   (working copy)
  378. @@ -0,0 +1,6 @@
  379. +<html><body>Blacksmith of Mammon:<br>
  380. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 31126004">Craft S-Grade Dualsword.</Button>
  381. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126005">Bestow special capability on S-Grade weapon.</Button>
  382. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126006">Release seal on S-Grade armor.</Button>
  383. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126007">Release seal on S-Grade accessory.</Button>
  384. +</body></html>
  385. \ No newline at end of file
  386. Index: dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-02.html
  387. ===================================================================
  388. --- dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-02.html   (nonexistent)
  389. +++ dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-02.html   (working copy)
  390. @@ -0,0 +1,7 @@
  391. +<html><body>Blacksmith of Mammon:<br>
  392. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 31126008">Craft A-Grade Dualsword.</Button>
  393. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126009">Bestow special capability on A-Grade weapon.</Button>
  394. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126010">Release seal on A-Grade armor.</Button>
  395. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126011">Release seal on A-Grade accessory.</Button>
  396. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126012">Re-seal A-Grade armor.</Button>
  397. +</body></html>
  398. \ No newline at end of file
  399. Index: dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-03.html
  400. ===================================================================
  401. --- dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-03.html   (nonexistent)
  402. +++ dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-03.html   (working copy)
  403. @@ -0,0 +1,6 @@
  404. +<html><body>Blacksmith of Mammon:<br>
  405. +I'll exchange the weapon that you've been using for a weapon that is one level stronger. Pay me the difference in Ancient Adena.<br>
  406. +There's something you should know. <font color="LEVEL">Special abilities</font> don't transfer. And if you transfer <font color="LEVEL">enchantments</font>, the new weapon will not be enchanted.<br>
  407. +<Button ALIGN=LEFT ICON="normal" action="bypass -h npc_%objectId%_exc_multisell 31126002">Upgrade weapon.</Button>
  408. +<Button ALIGN=LEFT ICON="return" action="bypass -h npc_%objectId%_Quest BlacksmithOfMammon 31126.html">Back</Button>
  409. +</body></html>
  410. \ No newline at end of file
  411. Index: dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-04.html
  412. ===================================================================
  413. --- dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-04.html   (nonexistent)
  414. +++ dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-04.html   (working copy)
  415. @@ -0,0 +1,6 @@
  416. +<html><body>Blacksmith of Mammon:<br>
  417. +I'll make an even exchange of weapons with you. For example, I will exchange a Mithril Dagger for a two-handed Claymore of the same level. However, there are a couple of things you should know.<br>
  418. +There's something you should know. <font color="LEVEL">Special abilities</font> don't transfer. And if you transfer <font color="LEVEL">enchantments</font>, the new weapon will not be enchanted.<br>
  419. +<Button ALIGN=LEFT ICON="normal" action="bypass -h npc_%objectId%_exc_multisell 31126003">Make an even exchange of weapons.</Button>
  420. +<Button ALIGN=LEFT ICON="return" action="bypass -h npc_%objectId%_Quest BlacksmithOfMammon 31126.html">Back</Button>
  421. +</body></html>
  422. \ No newline at end of file
  423. Index: dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126.html
  424. ===================================================================
  425. --- dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126.html  (nonexistent)
  426. +++ dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126.html  (working copy)
  427. @@ -0,0 +1,11 @@
  428. +<html><body>Blacksmith of Mammon:<br>
  429. +Ah, yes, the seal of gnosis! May you receive the blessings of Mammon! You have come a long way to find me. I can provide you with the highest-quality weapons and armor.<br>
  430. +Blacksmiths the world over try to mimic my refined techniques, but their work pales in comparison to mine.<br>
  431. +I must ask you but one thing. As a dwarf of Mammon, I cannot accept money from the outside world. I can only accept payment in<font color="LEVEL"> Ancient Adena</font>.<br>
  432. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest BlacksmithOfMammon 31126-01.html">S-Grade</Button>
  433. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest BlacksmithOfMammon 31126-02.html">A-Grade</Button>
  434. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126001">Remove a weapon's special capability.</Button>
  435. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest BlacksmithOfMammon 31126-03.html">Upgrade a weapon.</Button>
  436. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest BlacksmithOfMammon 31126-04.html">Exchange a weapon.</Button>
  437. +<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
  438. +</body></html>
  439. \ No newline at end of file
  440. Index: dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/BlacksmithOfMammon.java
  441. ===================================================================
  442. --- dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/BlacksmithOfMammon.java (nonexistent)
  443. +++ dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/BlacksmithOfMammon.java (working copy)
  444. @@ -0,0 +1,85 @@
  445. +/*
  446. + * This file is part of the L2J Mobius project.
  447. + *
  448. + * This program is free software: you can redistribute it and/or modify
  449. + * it under the terms of the GNU General Public License as published by
  450. + * the Free Software Foundation, either version 3 of the License, or
  451. + * (at your option) any later version.
  452. + *
  453. + * This program is distributed in the hope that it will be useful,
  454. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  455. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  456. + * General Public License for more details.
  457. + *
  458. + * You should have received a copy of the GNU General Public License
  459. + * along with this program. If not, see <http://www.gnu.org/licenses/>.
  460. + */
  461. +package ai.others.Mammons.BlacksmithOfMammon;
  462. +
  463. +import org.l2jmobius.gameserver.model.Location;
  464. +import org.l2jmobius.gameserver.model.actor.Npc;
  465. +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
  466. +
  467. +import ai.AbstractNpcAI;
  468. +
  469. +/**
  470. + * @author Mobius
  471. + */
  472. +public class BlacksmithOfMammon extends AbstractNpcAI
  473. +{
  474. +   // NPC
  475. +   private static final int BLACKSMITH = 31126;
  476. +  
  477. +   // Locations
  478. +   private static final Location[] LOCATIONS =
  479. +   {
  480. +       new Location(-19360, 13278, -4901, 0), // Dark Omens
  481. +       new Location(-53131, -250502, -7909, 0), // Heretic
  482. +       new Location(46303, 170091, -4981, 0), // Branded
  483. +       new Location(-20485, -251008, -8165, 0), // Apostate
  484. +       new Location(12669, -248698, -9581, 0), // Forbidden Path
  485. +       new Location(140519, 79464, -5429, 0), // Witch
  486. +   };
  487. +  
  488. +   // Misc
  489. +   private static final int TELEPORT_DELAY = 1800000; // 30 minutes
  490. +  
  491. +   private BlacksmithOfMammon()
  492. +   {
  493. +       addFirstTalkId(BLACKSMITH);
  494. +       onAdvEvent("RESPAWN_BLACKSMITH", null, null);
  495. +       startQuestTimer("RESPAWN_BLACKSMITH", TELEPORT_DELAY, null, null, true);
  496. +   }
  497. +  
  498. +   @Override
  499. +   public String onAdvEvent(String event, Npc npc, PlayerInstance player)
  500. +   {
  501. +       String htmltext = null;
  502. +       switch (event)
  503. +       {
  504. +           case "31126.html":
  505. +           case "31126-01.html":
  506. +           case "31126-02.html":
  507. +           case "31126-03.html":
  508. +           case "31126-04.html":
  509. +           {
  510. +               htmltext = event;
  511. +               break;
  512. +           }
  513. +           case "RESPAWN_BLACKSMITH":
  514. +           {
  515. +               if (event.equals("RESPAWN_BLACKSMITH"))
  516. +               {
  517. +                   addSpawn(BLACKSMITH, getRandomEntry(LOCATIONS), false, TELEPORT_DELAY);
  518. +               }
  519. +               break;
  520. +           }
  521. +       }
  522. +       return htmltext;
  523. +   }
  524. +  
  525. +   public static void main(String[] args)
  526. +   {
  527. +       new BlacksmithOfMammon();
  528. +   }
  529. +}
  530. Index: dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113-01.html
  531. ===================================================================
  532. --- dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113-01.html (nonexistent)
  533. +++ dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113-01.html (working copy)
  534. @@ -0,0 +1,5 @@
  535. +<html><body>Merchant of Mammon:<br>
  536. +Ancient Adena is the currency that was used during the Elmoreden Empire. It was minuted from gold of the highest purity, of a much higher quality than the coins used today. It is said that the emblem on the back of the coins possesses a mysterious power...<br>
  537. +The Priest of Mammon are given bonuses in Ancient Adena. Sell them<font color="LEVEL"> Seal Stones</font> and they'll pay for them with Ancient Adena.<br>
  538. +<Button ALIGN=LEFT ICON="return" action="bypass -h npc_%objectId%_Quest MerchantOfMammon 31113.html">Back</Button>
  539. +</body></html>
  540. \ No newline at end of file
  541. Index: dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113-02.html
  542. ===================================================================
  543. --- dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113-02.html (nonexistent)
  544. +++ dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113-02.html (working copy)
  545. @@ -0,0 +1,6 @@
  546. +<html><body>Merchant of Mammon:<br>
  547. +A Blank Scroll is the papyrus that remains after the enchantment has been removed from a magic scroll.<br>
  548. +Visit<font color="LEVEL"> Gatekeeper Ziggurat</font> at the entrance to the Necropolis, he'll tell you how to get a Blank Scroll. But this knowledge won't come cheap...<br>
  549. +He's been a bit down on his luck lately... This will do him good...<br>
  550. +<Button ALIGN=LEFT ICON="return" action="bypass -h npc_%objectId%_Quest MerchantOfMammon 31113.html">Back</Button>
  551. +</body></html>
  552. \ No newline at end of file
  553. Index: dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113.html
  554. ===================================================================
  555. --- dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113.html    (nonexistent)
  556. +++ dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/31113.html    (working copy)
  557. @@ -0,0 +1,9 @@
  558. +<html><body>Merchant of Mammon:<br>
  559. +May you receive the blessings of Mammon! We of the Mammon Guild have come far to show you some exquisite items!<br>
  560. +Before you start shopping there are a few things I should tell you... We don't accept today's currency, but instead use only<font color="LEVEL"> Ancient Adena</font>.<br>
  561. +Also, if you wish to purchase an enchanted scroll, you must bring a<font color="LEVEL"> Blank Scroll</font>.<br>
  562. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 31113001">I Wish to Buy Something.</Button>
  563. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest MerchantOfMammon 31113-01.html">Tell me about Ancient Adena.</Button>
  564. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest MerchantOfMammon 31113-02.html">Tell me about Blank Scrolls.</Button>
  565. +<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
  566. +</body></html>
  567. \ No newline at end of file
  568. Index: dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/MerchantOfMammon.java
  569. ===================================================================
  570. --- dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/MerchantOfMammon.java (nonexistent)
  571. +++ dist/game/data/scripts/ai/others/Mammons/MerchantOfMammon/MerchantOfMammon.java (working copy)
  572. @@ -0,0 +1,86 @@
  573. +/*
  574. + * This file is part of the L2J Mobius project.
  575. + *
  576. + * This program is free software: you can redistribute it and/or modify
  577. + * it under the terms of the GNU General Public License as published by
  578. + * the Free Software Foundation, either version 3 of the License, or
  579. + * (at your option) any later version.
  580. + *
  581. + * This program is distributed in the hope that it will be useful,
  582. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  583. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  584. + * General Public License for more details.
  585. + *
  586. + * You should have received a copy of the GNU General Public License
  587. + * along with this program. If not, see <http://www.gnu.org/licenses/>.
  588. + */
  589. +package ai.others.Mammons.MerchantOfMammon;
  590. +
  591. +import org.l2jmobius.gameserver.model.Location;
  592. +import org.l2jmobius.gameserver.model.actor.Npc;
  593. +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
  594. +
  595. +import ai.AbstractNpcAI;
  596. +
  597. +/**
  598. + * @author Mobius
  599. + */
  600. +public class MerchantOfMammon extends AbstractNpcAI
  601. +{
  602. +   // NPC
  603. +   private static final int MERCHANT = 31113;
  604. +  
  605. +   // Locations
  606. +   private static final Location[] LOCATIONS =
  607. +   {
  608. +      
  609. +       new Location(-52172, 78884, -4741, 0), // Devotion
  610. +       new Location(-41350, 209876, -5087, 0), // Sacrifice
  611. +       new Location(-21657, 77164, -5173, 0), // Patriots
  612. +       new Location(45029, 123802, -5413, 0), // Pilgrims
  613. +       new Location(83175, 208998, -5439, 0), // Saints
  614. +       new Location(111337, 173804, -5439, 0), // Worship
  615. +       new Location(118343, 132578, -4831, 0), // Martyrdom
  616. +       new Location(172373, -17833, -4901, 0), // Disciple
  617. +   };
  618. +  
  619. +   // Misc
  620. +   private static final int TELEPORT_DELAY = 1800000; // 30 minutes
  621. +  
  622. +   private MerchantOfMammon()
  623. +   {
  624. +       addFirstTalkId(MERCHANT);
  625. +       onAdvEvent("RESPAWN_MERCHANT", null, null);
  626. +       startQuestTimer("RESPAWN_MERCHANT", TELEPORT_DELAY, null, null, true);
  627. +   }
  628. +  
  629. +   @Override
  630. +   public String onAdvEvent(String event, Npc npc, PlayerInstance player)
  631. +   {
  632. +       String htmltext = null;
  633. +       switch (event)
  634. +       {
  635. +           case "31113.html":
  636. +           case "31113-01.html":
  637. +           case "31113-02.html":
  638. +           {
  639. +               htmltext = event;
  640. +               break;
  641. +           }
  642. +           case "RESPAWN_MERCHANT":
  643. +           {
  644. +               if (event.equals("RESPAWN_MERCHANT"))
  645. +               {
  646. +                   addSpawn(MERCHANT, getRandomEntry(LOCATIONS), false, TELEPORT_DELAY);
  647. +               }
  648. +               break;
  649. +           }
  650. +       }
  651. +       return htmltext;
  652. +   }
  653. +  
  654. +   public static void main(String[] args)
  655. +   {
  656. +       new MerchantOfMammon();
  657. +   }
  658. +}
  659. Index: dist/game/data/scripts/ai/others/Mammons/PriestOfMammon/33511.html
  660. ===================================================================
  661. --- dist/game/data/scripts/ai/others/Mammons/PriestOfMammon/33511.html  (nonexistent)
  662. +++ dist/game/data/scripts/ai/others/Mammons/PriestOfMammon/33511.html  (working copy)
  663. @@ -0,0 +1,7 @@
  664. +<html><body>Priest of Mammon:<br>
  665. +The door to the Necropolis and Catacombs is again opened. I heard that the monsters coming back in dungeons... hmm... I don't know.<br>
  666. +No matter, both the Dawn and Dusk were caught horribly unprepared by Shilen's resurrection. Haha... Because of this, I started taking on the work normally done by the priests of Dawn and Dusk.<br>
  667. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 33511001">I want to buy consumable items.</Button>
  668. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 33511002">I'd like to exchange a seal stone for an item.</Button>
  669. +<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
  670. +</body></html>
  671. \ No newline at end of file
  672. Index: dist/game/data/scripts/ai/others/Mammons/PriestOfMammon/PriestOfMammon.java
  673. ===================================================================
  674. --- dist/game/data/scripts/ai/others/Mammons/PriestOfMammon/PriestOfMammon.java (nonexistent)
  675. +++ dist/game/data/scripts/ai/others/Mammons/PriestOfMammon/PriestOfMammon.java (working copy)
  676. @@ -0,0 +1,80 @@
  677. +/*
  678. + * This file is part of the L2J Mobius project.
  679. + *
  680. + * This program is free software: you can redistribute it and/or modify
  681. + * it under the terms of the GNU General Public License as published by
  682. + * the Free Software Foundation, either version 3 of the License, or
  683. + * (at your option) any later version.
  684. + *
  685. + * This program is distributed in the hope that it will be useful,
  686. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  687. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  688. + * General Public License for more details.
  689. + *
  690. + * You should have received a copy of the GNU General Public License
  691. + * along with this program. If not, see <http://www.gnu.org/licenses/>.
  692. + */
  693. +package ai.others.Mammons.PriestOfMammon;
  694. +
  695. +import org.l2jmobius.gameserver.model.Location;
  696. +import org.l2jmobius.gameserver.model.actor.Npc;
  697. +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
  698. +
  699. +import ai.AbstractNpcAI;
  700. +
  701. +/**
  702. + * @author Mobius
  703. + */
  704. +public class PriestOfMammon extends AbstractNpcAI
  705. +{
  706. +   // NPC
  707. +   private static final int PRIEST = 33511;
  708. +  
  709. +   // Locations
  710. +   private static final Location[] LOCATIONS =
  711. +   {
  712. +       new Location(146882, 29665, -2264, 0), // Aden
  713. +       new Location(81284, 150155, -3528, 891), // Giran
  714. +       new Location(42784, -41236, -2192, 37972), // Rune
  715. +   };
  716. +  
  717. +   // Misc
  718. +   private static final int TELEPORT_DELAY = 1800000; // 30 minutes
  719. +  
  720. +   private PriestOfMammon()
  721. +   {
  722. +       addFirstTalkId(PRIEST);
  723. +       onAdvEvent("RESPAWN_PRIEST", null, null);
  724. +       startQuestTimer("RESPAWN_PRIEST", TELEPORT_DELAY, null, null, true);
  725. +   }
  726. +  
  727. +   @Override
  728. +   public String onAdvEvent(String event, Npc npc, PlayerInstance player)
  729. +   {
  730. +       String htmltext = null;
  731. +       switch (event)
  732. +       {
  733. +           case "31113.html":
  734. +           case "31113-01.html":
  735. +           case "31113-02.html":
  736. +           {
  737. +               htmltext = event;
  738. +               break;
  739. +           }
  740. +           case "RESPAWN_PRIEST":
  741. +           {
  742. +               if (event.equals("RESPAWN_PRIEST"))
  743. +               {
  744. +                   addSpawn(PRIEST, getRandomEntry(LOCATIONS), false, TELEPORT_DELAY);
  745. +               }
  746. +               break;
  747. +           }
  748. +       }
  749. +       return htmltext;
  750. +   }
  751. +  
  752. +   public static void main(String[] args)
  753. +   {
  754. +       new PriestOfMammon();
  755. +   }
  756. +}
  757. Index: dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-01.html
  758. ===================================================================
  759. --- dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-01.html   (nonexistent)
  760. +++ dist/game/data/scripts/ai/others/Mammons/BlacksmithOfMammon/31126-01.html   (working copy)
  761. @@ -0,0 +1,6 @@
  762. +<html><body>Blacksmith of Mammon:<br>
  763. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 31126004">Craft S-Grade Dualsword.</Button>
  764. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126005">Bestow special capability on S-Grade weapon.</Button>
  765. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126006">Release seal on S-Grade armor.</Button>
  766. +<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_exc_multisell 31126007">Release seal on S-Grade accessory.</Button>
  767. +</body></html>
  768. \ No newline at end of file
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement