Jump to content
  • 0

Skills Bug Fixes


tiguz

Question

Hello! I would like to get some help on how to fix some skills like Sonic Buster and Force Burst. If I target myself and press crtl, I can hit myself directly to HP, avoiding CP. With Force Burst Tyrants can use this bug to Pre-zealot in Olympiad. 

 

Im not sure what should be changed and where!

 

Thank you in advance!

 

Edit: I use L2JFrozen 1118

Edited by tiguz
Link to comment
Share on other sites

Recommended Posts

  • 0

doCast(final L2Skill skill) method.

 

 

 

public void doCast(final L2Skill skill)
{
  final L2Character activeChar = this;
 
  if (skill == null)
  {
   getAI().notifyEvent(CtrlEvent.EVT_CANCEL);
   return;
  }
 
  // Check if the skill is a magic spell and if the L2Character is not muted
  if (skill.isMagic() && isMuted() && !skill.isPotion())
  {
   getAI().notifyEvent(CtrlEvent.EVT_CANCEL);
   return;
  }
+  if (this instanceof L2PcInstance) {
+   L2PcInstance pl = (L2PcInstance) this;
+   if (pl.getTarget() instanceof L2PcInstance) {
+    L2PcInstance trgt = (L2PcInstance) pl.getTarget();
+    if (trgt.getName().equals(pl.getName())) //Player targets himself
+    {
+     int skill_id = skill.getId();
+    switch (skill_id) {
+        case 9://Sonic Buster
+       case 17://Force Burst
+      sendPacket(ActionFailed.STATIC_PACKET);
+      return false;
+     default:
+     break;
+     }
+    }
+   }
+  }

  // Check if the skill is psychical and if the L2Character is not psychical_muted
  if (!skill.isMagic() && isPsychicalMuted() && !skill.isPotion())
  {
   getAI().notifyEvent(CtrlEvent.EVT_CANCEL);
   return;
  }

...

...

...

 

 

Link to comment
Share on other sites

  • 0

You can use this code as a temporary fix.

 

checkDoCastConditions(L2Character.java)

 

 

 

if (this instanceof L2PcInstance) {
   L2PcInstance pl = (L2PcInstance) this;
   if (pl.getTarget() instanceof L2PcInstance) {
    L2PcInstance trgt = (L2PcInstance) pl.getTarget();
    if (trgt.getName().equals(pl.getName())) //Player targets himself
    {
     int skill_id = skill.getId();
     switch (skill_id) {
     case 9://Sonic Buster
     case 17://Force Burst
      sendPacket(ActionFailed.STATIC_PACKET);
      return false;
     default:
      break;
     }
    }
   }
  }

 

 

 

After this code is added, they can't use these skills targeting their selves. (Give it a test by yourself first)

Link to comment
Share on other sites

  • 0

You can use this code as a temporary fix.

 

checkDoCastConditions(L2Character.java)

 

 

 

if (this instanceof L2PcInstance) {

   L2PcInstance pl = (L2PcInstance) this;

   if (pl.getTarget() instanceof L2PcInstance) {

    L2PcInstance trgt = (L2PcInstance) pl.getTarget();

    if (trgt.getName().equals(pl.getName())) //Player targets himself

    {

     int skill_id = skill.getId();

     switch (skill_id) {

     case 9://Sonic Buster

     case 17://Force Burst

      sendPacket(ActionFailed.STATIC_PACKET);

      return false;

     default:

      break;

     }

    }

   }

  }

 

 

 

After this code is added, they can't use these skills targeting their selves. (Give it a test by yourself first)

Thank you! I will test it right away!

Link to comment
Share on other sites

  • 0

Solomun where exactly inside Character.java should I add that code?

I dont do coding, I can just add the patch and compile.  :-

Post me here your L2Character.java and i will try to spot where you should add it...However in High Five there is checkDoCastConditions method, so i guess something similar should take place in your code.

Link to comment
Share on other sites

  • 0

It worked! I just had to change "return false" to "return;" because eclipse accused : void method cannot return a value.

 

But I dont get the message you added to the code: sendPacket(ActionFailed.STATIC_PACKET);

Maybe because I changed that "return false"? The char cant use the skill on itself now, but the system doesnt send any message.

 

Thank you Solomon!

Link to comment
Share on other sites

  • 0

+       case 17://Force Burst

+      pl.sendMessage("Incorrect Target");
+      sendPacket(ActionFailed.STATIC_PACKET);
+      return false;

 

If you want to show a message...

Link to comment
Share on other sites

  • 0

+       case 17://Force Burst

+      pl.sendMessage("Incorrect Target");

+      sendPacket(ActionFailed.STATIC_PACKET);

+      return false;

 

If you want to show a message...

Alright thank you very much for your help! really =D

Link to comment
Share on other sites

  • 0

Alright thank you very much for your help! really =D

No problem...Consider hitting the "Mark Solved" button under my post in order to make it easier-to-find from other people :)

Link to comment
Share on other sites

  • 0

Something like that will be more stable 

if (this instanceof L2PcInstance)
{
	L2PcInstance player = (L2PcInstance) this;
	if (player.getTarget() != null && player.getTarget() == player)
	    if (skill.getSkillType() == SkillType.CHARGEDAM)
	    {
	    	player.sendMessage("message");
	    	return;
	    }	
}

but if you just wanted these 2 then take solomun's code its working ;)

Edited by melron
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Posts

    • Their innovative approach combines cutting-edge technology with expert insights to create resumes that truly stand out. As I explored their website https://skillroads.com/ , I was impressed by the user-friendly interface and the seamless process of using their AI Resume Writer tool. With just a few clicks, I was able to generate a professional resume tailored to my skills and experiences. Skillroads' commitment to excellence and their utilization of AI technology make them a standout choice for anyone looking to enhance their career prospects with a compelling resume.
    • We are giving out promo codes for 3GBs for testing Asocks proxy. All you need to do is post a reply in this thread.
    • Slim X Keto Gummies Slim X Keto Gummies Weight loss is everyone’s hassle those days. Many humans combat with themselves to reduce off their greater weight however couldn’t get a result. This demotivates a number of them and they will lose preference of dropping weight. Overweight reasons many health-associated issues that might create troubles for your ordinary life. If you observed that your every day exercise or a few tablets can also furthermore need to make you shed pounds in a brief fraction of time. Then this isn't always flow that will help you solely. You want to perform a piece detail that is useful for you frame as well. You want to begin following keto fast as possible. It is the super form of  however it can restriction your flavor buds however doesn’t restriction your eating. It allows you to consume however limits to a few form of food. But to cope with keto flu and to offer hundreds of power there’s a supplement.   https://atozsupplement.com/slim-x-keto-gummies/ https://www.facebook.com/slimxketogummies/ https://slimxketogummies.wixsite.com/slim-x-keto-gummies/ https://slim-x-keto-gummies.hp.peraichi.com/ https://slim-x-keto-gummies.jimdosite.com/ https://slim-x-keto-gummies.yolasite.com/ https://slim-x-keto-gummies.company.site/ https://slim-x-keto-gummies.webflow.io/ https://github.com/slim-x-keto-gummies https://slim-x-keto-gummies.tilda.ws/
    • GRAND OPENING  19.04.2024 OPEN BETA TEST  15.04.2024 - 18.04.2024     RATES XP/SP - x3 Adena Drop Chance - x2 Adena Drop Amount - x1 Drop Chance - x2 Drop Amount - x1 Spoil Chance - x2 Spoil Amount - x1 Raidboss Drop Chance - x5 Raidboss Drop Amount - x1 Quest Chance - x1 Quest Reward - x1   FEATURES 1. Added NPC Buffer with basic buffs (duration 60m). 2. Added Mana Drugs and Greater Mana Drugs, which work like Healing Potions. 3. Added skills "Summon Mana Drug" & "Summon Greater Mana Drug" to Elven and Shillen Elders. 4. Basic Mana Drugs can be bought in Grocery Store. 5. Blade Dancer and Sword Singer have both, Dances and Songs from Second Profession. 6. No need duals for dances from Second Profession 7. Increase Weight Limit +30% 8. Increase Inventory Slots from 80 to 120 9. Set Raidboss's respawn 24h +/- 30 minutes. 10. Remake monsters spawns. 11. Olympiad Period - 2 weeks. 12. Change Queen Ant, Core, Orfen, Zaken lvl to 75. 13. Increase Epic Jewelery Bonus. -Ring of Core +2 INT/WIT/MEN -Earring of Orfen +2 STR/DEX/CON     website - https://www.primeinterlude.com  facebook - https://www.facebook.com/profile.php?id=61550083156269 discord - https://discord.gg/2T7nTTz2Gt   Promo Video
  • Topics

×
×
  • Create New...