Selaa lähdekoodia

initial commit for Court Magicians inside castles, will need more work... tnx Izzy
require [L2146]

and fix for #2364

Kerberos 17 vuotta sitten
vanhempi
sitoutus
e818a1d281

+ 4 - 0
datapack_development/data/html/castlemagician/magician-1.htm

@@ -0,0 +1,4 @@
+<html><body>
+The talisman is both magical and mysterious. Once applied to your bracelet, you will beable to see its surprising effect for yourself. Before I can give it to you, however, you must must prove to me that you are capable of responsibly wielding such power. Give me <font color="#ffff00">10 Knight's Epaulettes</font> and i will provide you the talisman.<br><br>
+<center><a action="bypass -h npc_%objectId%_Chat 0">Give Knight's Epaulettes</a></center>
+</body></html>

+ 3 - 0
datapack_development/data/html/castlemagician/magician-busy.htm

@@ -0,0 +1,3 @@
+<html><body>
+Oh! Our castle is being attacked and I can't do anything for you right now.
+</body></html>

+ 3 - 0
datapack_development/data/html/castlemagician/magician-no.htm

@@ -0,0 +1,3 @@
+<html><body>%npcname%:<br>
+Leave me alone! I'm very busy!
+</body></html>

+ 13 - 0
datapack_development/data/html/castlemagician/magician.htm

@@ -0,0 +1,13 @@
+<html><body>%npcname%:<br> 
+To better rule your territory, review the findings of this research conducted by Mystics Guild.<br> 
+Beyond the Magic Field used to teleport clan members through a crown and the Talisman, a magical crystal, magic can also be used to provide special abilities on your low-ranking soldiers.<br><br> 
+We have also purchased several key items from the elves' mystical merchant.<br> 
+<center>
+<a action="bypass -h npc_%objectId%_Chat 0">Move through the magic field.</a><br>
+<a action="bypass -h npc_%objectId%_multisell 356551001">Purchase magic-related products.</a><br>
+<a action="bypass -h npc_%objectId%_multisell 356551002">Apply magic to Bracelet.</a><br>
+<a action="bypass -h npc_%objectId%_multisell 356551003">Apply magic to T-shirt</a><br>
+<a action="bypass -h npc_%objectId%_Chat 1">Gain Talisman</a><br>
+<a action="bypass -h npc_%objectId%_Chat 0">Learn special skills for low-ranking soldiers.</a>
+</center>
+</body></html>

+ 42 - 0
datapack_development/data/multisell/356551001.xml

@@ -0,0 +1,42 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!-- Castle Merchant - magic related products (hear/face gear) -->
+
+<list>
+
+  <!-- Human Circlet -->
+  <item id="1">
+    <ingredient id="9912" count="1000"/>
+    <production id="9391" count="1"/>
+  </item>
+  
+    <!-- Elven Circlet -->
+  <item id="2">
+    <ingredient id="9912" count="1000"/>
+    <production id="9392" count="1"/>
+  </item>
+  
+    <!-- Dark Elven Circlet -->
+  <item id="3">
+    <ingredient id="9912" count="1000"/>
+    <production id="9393" count="1"/>
+  </item>
+  
+      <!-- Orcish Circlet -->
+  <item id="4">
+    <ingredient id="9912" count="1000"/>
+    <production id="9394" count="1"/>
+  </item>
+  
+      <!-- Dwarven Circlet -->
+  <item id="5">
+    <ingredient id="9912" count="1000"/>
+    <production id="9395" count="1"/>
+  </item>
+  
+      <!-- Kamaelic Circlet -->
+  <item id="6">
+    <ingredient id="9912" count="1000"/>
+    <production id="9396" count="1"/>
+  </item>
+  
+  </list>

+ 22 - 0
datapack_development/data/multisell/356551002.xml

@@ -0,0 +1,22 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!-- Castle Merchant - bracelets -->
+
+<list>
+<!-- Iron Bracelet -->
+  <item id="1">
+    <ingredient id="9912" count="216"/>
+    <production id="9589" count="1"/>
+  </item>
+
+<!-- Bronze Bracelet -->
+  <item id="2">
+    <ingredient id="9912" count="480"/>
+    <production id="9590" count="1"/>
+  </item>
+
+<!-- Steel Bracelet -->
+  <item id="3">
+    <ingredient id="9912" count="1144"/>
+    <production id="9591" count="1"/>
+  </item>
+</list>

+ 40 - 0
datapack_development/data/multisell/356551003.xml

@@ -0,0 +1,40 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!-- Castle Merchant - t-shirts -->
+
+<list>
+<!-- Silk Shirt -->
+  <item id="1">
+    <ingredient id="9912" count="80"/>
+    <production id="9579" count="1"/>
+  </item>
+
+<!-- Striped Silk Shirt -->
+  <item id="2">
+    <ingredient id="9912" count="180"/>
+    <production id="9585" count="1"/>
+  </item>
+
+<!-- Leather Shirt -->
+  <item id="3">
+    <ingredient id="9912" count="260"/>
+    <production id="9580" count="1"/>
+  </item>
+
+<!-- Striped Leather Shirt -->
+  <item id="4">
+    <ingredient id="9912" count="400"/>
+    <production id="9586" count="1"/>
+  </item>
+
+<!-- Scale Shirt -->
+  <item id="5">
+    <ingredient id="9912" count="588"/>
+    <production id="9581" count="1"/>
+  </item>
+
+<!-- Striped Scale Shirt -->
+  <item id="6">
+    <ingredient id="9912" count="880"/>
+    <production id="9587" count="1"/>
+  </item>
+</list>

+ 1 - 1
datapack_development/data/scripts/quests/625_TheFinestIngredientsPart2/__init__.py

@@ -53,7 +53,7 @@ class Quest (JQuest) :
    htmltext = event
    if event == "31521-02.htm" :
       if st.getPlayer().getLevel() < 73 : 
-         htmltext = "31683-00b.htm"
+         htmltext = "31521-00b.htm"
          st.exitQuest(1)
       else:
          st.set("cond","1")

+ 9 - 9
datapack_development/sql/npc.sql

@@ -7350,15 +7350,15 @@ INSERT INTO `npc` VALUES
 (35645, 35645, "Manor Manager", 0, "Schuttgart", 0, "NPC.e_trader_MOrc", 8, 23.5, 70, "male", "L2ManorManager", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 50, 120, "NULL", 0, 1, 0, "LAST_HIT", 0, 0, 0, "fighter"),
 (35646, 35646, "Vampire Caster", 0, "", 0, "Monster2.vampire_witch", 6, 21.5, 70, "male", "L2Npc", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
 (35647, 35647, "Vampire Leader", 0, "", 0, "Monster2.vampire_lord", 7.5, 25.8, 73, "male", "L2Npc", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "fighter"),
-(35648, 35648, "Court Magician", 0, "Gludio", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2Npc", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 255, 0, 333, 8687, 0, 0, 33, 120, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
-(35649, 35649, "Court Magician", 0, "Dion", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2Npc", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
-(35650, 35650, "Court Magician", 0, "Giran", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2Npc", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
-(35651, 35651, "Court Magician", 0, "Oren", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2Npc", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 255, 0, 333, 8687, 0, 0, 33, 120, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
-(35652, 35652, "Court Magician", 0, "Aden", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2Npc", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
-(35653, 35653, "Court Magician", 0, "Innadril", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2Npc", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
-(35654, 35654, "Court Magician", 0, "Goddard", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2Npc", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
-(35655, 35655, "Court Magician", 0, "Rune", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2Npc", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
-(35656, 35656, "Court Magician", 0, "Schuttgart", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2Npc", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
+(35648, 35648, "Court Magician", 0, "Gludio", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2CastleMagician", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 255, 0, 333, 8687, 0, 0, 33, 120, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
+(35649, 35649, "Court Magician", 0, "Dion", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2CastleMagician", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
+(35650, 35650, "Court Magician", 0, "Giran", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2CastleMagician", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
+(35651, 35651, "Court Magician", 0, "Oren", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2CastleMagician", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 255, 0, 333, 8687, 0, 0, 33, 120, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
+(35652, 35652, "Court Magician", 0, "Aden", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2CastleMagician", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
+(35653, 35653, "Court Magician", 0, "Innadril", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2CastleMagician", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
+(35654, 35654, "Court Magician", 0, "Goddard", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2CastleMagician", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
+(35655, 35655, "Court Magician", 0, "Rune", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2CastleMagician", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
+(35656, 35656, "Court Magician", 0, "Schuttgart", 0, "Monster3.Elite_Mage", 6.5, 21.96, 70, "male", "L2CastleMagician", 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 88, 132, "NULL", 0, 0, 0, "LAST_HIT", 0, 0, 0, "mage"),
 (35657, 35657, "Flagpole", 0, "", 0, "LineageNpcEV.rune_holything", 8, 22, 1, "male", "L2Npc", 40, 2444, 2444, 0, 0, 10, 10, 10, 10, 10, 10, 0, 0, 500, 500, 500, 500, 253, 0, 253, 0, 0, NULL, 80, 120, "", 0, 0, 0, "LAST_HIT", 0, 0, 0, "balanced"),
 (35658, 35658, "Foreman", 0, "Shanty Fortress", 0, "LineageNPC.a_royal_guardA_MHuman", 7, 24, 1, "male", "L2Npc", 40, 2444, 2444, 0, 0, 10, 10, 10, 10, 10, 10, 0, 0, 500, 500, 500, 500, 278, 0, 333, 0, 0, NULL, 50, 120, "", 0, 0, 0, "LAST_HIT", 0, 0, 0, "balanced"),
 (35659, 35659, "Suspicious Merchant", 0, "Shanty Fortress", 0, "LineageNPC.e_guard_MOrc", 8, 27, 1, "male", "L2FortMerchant", 40, 2444, 2444, 0, 0, 10, 10, 10, 10, 10, 10, 0, 0, 500, 500, 500, 500, 278, 0, 333, 0, 0, NULL, 50, 100, "", 0, 0, 0, "LAST_HIT", 0, 0, 0, "balanced"),