Welcome to RUSaCis - эмулятор Interlude

Присоединяйтесь к нам прямо сейчас, чтобы получить доступ ко всем нашим возможностям. После регистрации и входа в систему вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию пользователям - так же приобрести исходный код. Это также быстро, так чего же вы ждете?

Q422_RepentYourSins Update

hanador2249

Бродяга
INTERLUDE
INTERFACE
Регистрация
15 Фев 2025
Сообщения
14
Реакции
5
Баллы
3
RaCoin
0
Может быть кому-то будет полезно. Небольшой фикс ванильного квеста на отмытие PK.
1. Фикс уровня импа. Если взять ошейник на 80-ом уровне > ошейник дадут 79
2. Фикс гейта по уровню импа. Если взять ошейник на 40-ом, держать его в инвентаре, прокачаться до 50 без ошейника и призвать обратно импа, то имп появится обратно с равным уровнем владельца. А тут у него будет опять на уровень меньше (возможно позже сделаю апдейт чтобы сохранять статус импа в квесте)
Код:
diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/scripting/quest/Q422_RepentYourSins.java b/aCis_gameserver/java/net/sf/l2j/gameserver/scripting/quest/Q422_RepentYourSins.java
index 1048cf329..a45673ef2 100644
--- a/aCis_gameserver/java/net/sf/l2j/gameserver/scripting/quest/Q422_RepentYourSins.java
+++ b/aCis_gameserver/java/net/sf/l2j/gameserver/scripting/quest/Q422_RepentYourSins.java
@@ -96,7 +96,6 @@ public class Q422_RepentYourSins extends Quest
                 if (cond == 15)
                 {
                     st.setCond(16);
-                    st.set("level", player.getStatus().getLevel());
                     playSound(player, SOUND_ITEMGET);
                     takeItems(player, QITEM_PENITENT_MANACLES, -1);
                     giveItems(player, PENITENT_MANACLES, 1);
@@ -104,7 +103,6 @@ public class Q422_RepentYourSins extends Quest
                 // Case you return back to Black Judge with leftover of previous quest.
                 else if (cond == 16)
                 {
-                    st.set("level", player.getStatus().getLevel());
                     playSound(player, SOUND_ITEMGET);
                     takeItems(player, LEFT_PENITENT_MANACLES, -1);
                     giveItems(player, PENITENT_MANACLES, 1);
@@ -127,8 +125,8 @@ public class Q422_RepentYourSins extends Quest
             // If Sin Eater is currently summoned, show a warning.
             if (summon != null && summon.getNpcId() == 12564)
                 htmltext = "30981-16.htm";
-            // If Sin Eater level is bigger than registered level, decrease PK counter by 1-10.
-            else if (findSinEaterLvl(player) > st.getInteger("level"))
+            // If Sin Eater caught up with its owner's current level, decrease PK counter by 1-10.
+            else if (findSinEaterLvl(player) >= player.getStatus().getLevel())
             {
                 takeItems(player, PENITENT_MANACLES, 1);
                 giveItems(player, LEFT_PENITENT_MANACLES, 1);
@@ -149,7 +147,6 @@ public class Q422_RepentYourSins extends Quest
                 else
                 {
                     htmltext = "30981-14.htm";
-                    st.set("level", player.getStatus().getLevel());
                     playSound(player, SOUND_MIDDLE);
                   
                     player.setPkKills(player.getPkKills() - removePkAmount);
@@ -215,7 +212,7 @@ public class Q422_RepentYourSins extends Quest
                         else if (cond == 16)
                         {
                             if (player.getInventory().hasItems(PENITENT_MANACLES))
-                                htmltext = (findSinEaterLvl(player) > st.getInteger("level")) ? "30981-13.htm" : "30981-12.htm";
+                                htmltext = (findSinEaterLvl(player) >= player.getStatus().getLevel()) ? "30981-13.htm" : "30981-12.htm";
                             else
                                 htmltext = "30981-18.htm";
                         }
Код:
diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/instance/Pet.java b/aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/instance/Pet.java
index 4f42ba89c..90cc0467a 100644
--- a/aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/instance/Pet.java
+++ b/aCis_gameserver/java/net/sf/l2j/gameserver/model/actor/instance/Pet.java
@@ -546,7 +546,9 @@ public class Pet extends Summon
                 }
                 else
                 {
-                    pet.getStatus().setLevel((template.getNpcId() == 12564) ? (byte) pet.getOwner().getStatus().getLevel() : template.getLevel());
+                    pet.getStatus().setLevel((template.getNpcId() == 12564) ? (byte) Math.max(1, pet.getOwner().getStatus().getLevel() - 1) : template.getLevel());
                     pet.getStatus().setExp(pet.getStatus().getExpForThisLevel());
                     pet.getStatus().setMaxHpMp();
                     pet.setCurrentFed(pet.getPetData().maxMeal());
 
Последнее редактирование:
Сверху Снизу