Page 1 of 1

Raid curse

Posted: Sun May 24, 2009 7:28 pm
by MKas
Hi,
how to disable raid curse?

Re: Raid curse

Posted: Mon May 25, 2009 6:02 am
by Zealar
<set name="power" val="100"/> => <set name="power" val="0"/>

Code: Select all

<skill id="4515" levels="1" name="Raid Curse">  <set name="target" val="TARGET_ONE"/>  <set name="skillType" val="PARALYZE"/>  <set name="isDebuff" val="true"/>  <set name="operateType" val="OP_ACTIVE"/>  <set name="power" val="100"/> <!-- Base Land Rate -->  <set name="isMagic" val="true"/>  <set name="castRange" val="1500"/>  <set name="effectRange" val="2000"/>  <for>    <effect name="Petrification" time="120" val="0" stackOrder="120" stackType="turn_stone"/>  </for></skill> <skill id="4215" levels="1" name="Raid Curse">  <set name="target" val="TARGET_ONE"/>  <set name="skillType" val="MUTE"/>  <set name="isDebuff" val="true"/>  <set name="operateType" val="OP_ACTIVE"/>  <set name="power" val="100"/> <!-- Base Land Rate -->  <set name="castRange" val="1500"/>  <set name="effectRange" val="2000"/>  <for>    <effect name="SilenceMagicPhysical" time="3600" val="0" stackOrder="3600" stackType="silence_all"/>  </for></skill>

Re: Raid curse

Posted: Sun May 31, 2009 4:24 am
by Nunyas
That doesn't seem to work... with that value set to 0 I still get raid cursed; all the numeric parameters set to 0 I essentially get cursed just long enough to interrupt spell casting. If I remove the curses all together, I end up with Bosses 9 levels lower than me that are invulnerable to my attacks (all hits are for 0 damage) and won't attack back, and I spam the heck out of my stdout.log because of the missing skill.

I run a server just for my closest friends. So, there's never more than 5 of us on at any given time. WIth a population this small we need to be able to disable raid curses all together so we can equip our characters for tougher encounters without resorting to database "cheats"...

I'm not looking to make the raid bosses "easy", but I would like for my friends and I to be able to kill lower level bosses when we need to... I thought about changing their levels in the database, but I think that will massively screw up the XP gained for the kills...


Is there anything else we need to tweak to allow us to kill lower level bosses?

Re: Raid curse

Posted: Sun May 31, 2009 8:20 am
by Zealar
- <for>
- <effect name="Petrification" time="120" val="0" stackOrder="120" stackType="turn_stone"/>
- </for>

Re: Raid curse

Posted: Sun May 31, 2009 6:12 pm
by Nunyas
Maybe I'm not getting it....

This is what I have:

Code: Select all

<skill id="4215" levels="1" name="Raid Curse">   <set name="target" val="TARGET_ONE"/>   <set name="skillType" val="MUTE"/>   <set name="isDebuff" val="true"/>   <set name="operateType" val="OP_ACTIVE"/>   <set name="power" val="100"/> <!-- Base Land Rate -->   <set name="castRange" val="1500"/>   <set name="effectRange" val="2000"/><!--   <for>     <effect name="SilenceMagicPhysical" time="3600" val="0" stackOrder="3600" stackType="silence_all"/>   </for> --></skill> <skill id="4515" levels="1" name="Raid Curse">   <set name="target" val="TARGET_ONE"/>   <set name="skillType" val="PARALYZE"/>   <set name="isDebuff" val="true"/>   <set name="operateType" val="OP_ACTIVE"/>   <set name="power" val="100"/> <!-- Base Land Rate -->   <set name="isMagic" val="true"/>   <set name="castRange" val="1500"/>   <set name="effectRange" val="2000"/> <!--  <for>     <effect name="Petrification" time="120" val="0" stackOrder="120" stackType="turn_stone"/>   </for> --></skill>
After reading your last post, I commented out the <for> sections. This results in no "Raid Curse". However, the Raid Boss and its minions are invulnerable to my attacks and do not respond to my attacks.

I've also tried replacing the Raid Curse information with a vampiric buff, but that ALSO results in the 9 levels lower Raid Bosses not taking damage from me and not responding to me.

After all the stuff I've done to the Raid Curse skills, I'm beginning to think there's something hard coded to prevent the killing of 9lvl lower raid bosses. Or maybe I need to edit the Raid Boss level "skill" too?

Re: Raid curse

Posted: Sun May 31, 2009 7:10 pm
by Zealar
Try this.

Code: Select all

 Index: D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/L2Character.java===================================================================--- D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/L2Character.java  (revision 3107)+++ D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/L2Character.java  (working copy)@@ -37,7 +37,6 @@ import net.sf.l2j.gameserver.ai.L2CharacterAI; import net.sf.l2j.gameserver.datatables.DoorTable; import net.sf.l2j.gameserver.datatables.MapRegionTable;-import net.sf.l2j.gameserver.datatables.SkillTable; import net.sf.l2j.gameserver.datatables.MapRegionTable.TeleportWhereType; import net.sf.l2j.gameserver.handler.ISkillHandler; import net.sf.l2j.gameserver.handler.SkillHandler;@@ -5148,27 +5147,7 @@            // Check Raidboss attack            // Character will be petrified if attacking a raid that's more            // than 8 levels lower-           if (target.isRaid())-           {-               int level = 0;-               if (this instanceof L2PcInstance)-                   level = getLevel();-               else if (this instanceof L2Summon)-                   level = ((L2Summon)this).getOwner().getLevel(); -               if (level > target.getLevel() + 8)-               {-                   L2Skill skill = SkillTable.getInstance().getInfo(4515, 1);--                   if (skill != null)-                       skill.getEffects(target, this);-                   else-                       _log.warning("Skill 4515 at level 1 is missing in DP.");--                   damage = 0; // prevents messing up drop calculation-               }-           }-            sendDamageMessage(target, damage, false, crit, miss);             // If L2Character target is a L2PcInstance, send a system message@@ -6355,45 +6334,9 @@                    // Set some values inside target's instance for later use                    L2Character target = (L2Character) trg; -                   // Check Raidboss attack and-                   // check buffing chars who attack raidboss. Results in mute.-                   L2Character targetsAttackTarget = null;-                   L2Character targetsCastTarget = null;-                   if (target.hasAI())-                   {-                       targetsAttackTarget = target.getAI().getAttackTarget();-                       targetsCastTarget = target.getAI().getCastTarget();-                   }-                   if (-                           (target.isRaid() && getLevel() > target.getLevel() + 8)-                           ||-                           (!skill.isOffensive() && targetsAttackTarget != null && targetsAttackTarget.isRaid() -                                   && targetsAttackTarget.getAttackByList().contains(target) // has attacked raid-                                   && getLevel() > targetsAttackTarget.getLevel() + 8)-                           ||-                           (!skill.isOffensive() && targetsCastTarget != null && targetsCastTarget.isRaid() -                                   && targetsCastTarget.getAttackByList().contains(target) // has attacked raid-                                   && getLevel() > targetsCastTarget.getLevel() + 8)-                   )-                   {-                       if (skill.isMagic())-                       {-                           L2Skill tempSkill = SkillTable.getInstance().getInfo(4215, 1);-                           if(tempSkill != null)-                               tempSkill.getEffects(target, this);-                           else-                               _log.warning("Skill 4215 at level 1 is missing in DP.");-                       }-                       else-                       {-                           L2Skill tempSkill = SkillTable.getInstance().getInfo(4515, 1);-                           if(tempSkill != null)-                               tempSkill.getEffects(target, this);-                           else-                               _log.warning("Skill 4515 at level 1 is missing in DP.");-                       }-                       return;-                   }+++                                         // Check if over-hit is possible                    if(skill.isOverhit())  

Re: Raid curse

Posted: Mon Jun 01, 2009 6:54 pm
by Nunyas
alright I'll give that a go. Thanks for all the help so far!

Re: Raid curse

Posted: Wed Jun 03, 2009 1:48 am
by Nunyas
good stuff! That did the trick! I just hand edited the code my first try to see if it works. It works perfectly! Thanks! :)


I spent most of today creating a diff/patch file that will apply my settings to all the server config files including this one. I was running into all kinds of weird stuff creating the patch file for this file. Things like Eclipse being unable to apply the last two edits to the file, to completely ignoring the last two edits. I had to crank up Beyond Compare to dump a diff file that Eclipse would read correctly.

In the end, I got it working thanks to your help!

THANK YOU!

Re: Raid curse

Posted: Wed Jun 03, 2009 8:39 am
by slash2
if a high lvl (+9) player hit a boss or is hited by boss (agro like QA and Zaken) then the drop will be null... idk if this happens with all bosses...

Re: Raid curse

Posted: Wed Jun 03, 2009 5:47 pm
by Nunyas
That actually sounds normal. If you read the Raid Boss description when you target one, it says that it will not drop loot if a character 9 levels higher than the Raid Boss attacks.

If you want to change this behavior, then you will need to edit the source code in accordance with the changes listed earlier in this thread.

Re: Raid curse

Posted: Wed Jun 03, 2009 8:59 pm
by slash2
no, i'm talking about a bug. if a char 9lvl+ is hitted by boss or player 9lvl+ is hitting boss (not killing) then drop become null (no drop). this bug is since ct2.1 or I don't remeber... I'm sure l2j dev know what i'm talikng about.

example:
a lvl80 char comming at QA. QA is hitting that player lvl80 since is agro boss; and then a lvl 40 player is comming and is kill QA; well QA will not drop anything... same for Zaken! and maybe for all rb's

like i said: if a boss is hitted or hit a +9lvl char, then bb drop

Re: Raid curse

Posted: Thu Jun 04, 2009 2:17 pm
by kotk
Here is a quick and dirty fix, was posted in the old forums.

Code: Select all

UPDATE npc SET level = '85' where type = 'L2RaidBoss' or type = 'L2Minion';

Re: Raid curse

Posted: Fri Jun 05, 2009 8:09 am
by thrydwolf
Good evening all. I have read these posts and I am making the assumption that these changes have to be made in the source code and then compiled? I have searched through all the .java/.properties/.cfg/.config/.xml/.py files and unable to find any similar code. I am pretty new to coding, and would rather not go that route if possible.

I run a small server that only has 2-3 players at a time. Exp is only x3 and we would not like to set all the RB to lvl 85 as a solution, as we are currently around 30 and looking to take on lvl 20 Raid Bosses. I would love to configure Raid Bosses to be killed at any level and still give normal drops.

Gracia Final Server
Server Version= 3137
Datapack Version= 6222

Is there anyway to modify this by way of the database or any of the config files from the unstable releases? Or can these changes only be done from the source code before compiling?

Thank you in advance for your advice. I greatly appreciate any you can offer.

Re: Raid curse

Posted: Fri Jun 05, 2009 9:05 am
by thrydwolf
Well I went and did some testing, and found that changing all the Raid Boss and Minion levels to 85 does NOT affect their HP/MP/Def and other stats. So that solution if functional. It is a bit inconvenient because you have to have a separate spreadsheet or webpage to look up their true levels when you run across a RB, but not a big deal.

Sorry for posting before fully exploring all options. Thank you and happy Raiding :)