Jump to content
  • 0

Question

Posted (edited)

i have heal panalty when 2 healers in same party (cardinal - shillien - evas)

i need to remove this penalty and make it 2 healer in same pt no heal penalty cardinal-evas or cardinal shillien...

cardinal with cardinal should have heal penalty.. or 3 healers 

https://pastebin.com/Yrnpbquc

 

sorry for my bad english

 

Edited by testaroaverta

7 answers to this question

Recommended Posts

  • 0
Posted

if (party.getMembers().stream().filter(k -> k.getClassId() == (ClassId.CARDINAL)).count() >= 2)

 

you better make the party allow only 2 healers maximum , its better because many ppl will get trolled if you only make healing power lower without notifications etc...

  • 0
Posted (edited)

Edit and introduce getClassId() checks here :

 

        if (activeChar.getParty() != null) {
            for (L2PcInstance player : activeChar.getParty().getPartyMembers()) {
                if (player != null && player.isHealerClass()
                        && !player.isInStance()) {
                    healers++;
 
                    if (minus != 2
                            && (player.getPvpFlag() != 0 || player.getKarma() > 0
                        minus = 2;
                }
            }
        }

 

 

There are no easy ways to do it, so it gonna be messy if your point is to checks all classes.

Edited by Tryskell
  • 0
Posted
17 minutes ago, Tryskell said:

Edit and introduce getClassId() checks here :

 

        if (activeChar.getParty() != null) {
            for (L2PcInstance player : activeChar.getParty().getPartyMembers()) {
                if (player != null && player.isHealerClass()
                        && !player.isInStance()) {
                    healers++;
 
                    if (minus != 2
                            && (player.getPvpFlag() != 0 || player.getKarma() > 0
                        minus = 2;
                }
            }
        }

 

 

There are no easy ways to do it, so it gonna be messy if your point is to checks all classes.

 

not really. its not as messy as it seems

 

image.thumb.png.62c5dd427c3eb64d27545e0bf17033af.png

 

reuse canClassIdJoin on:

L2PcInstance@addSubClass

L2PcInstance@modifySubClass

L2PcInstance@setActiveClass

 

The above codes are battle tested on my live server, you can thank me later 🙂

  • 0
Posted
4 hours ago, xdem said:

 

not really. its not as messy as it seems

 

image.thumb.png.62c5dd427c3eb64d27545e0bf17033af.png

 

reuse canClassIdJoin on:

L2PcInstance@addSubClass

L2PcInstance@modifySubClass

L2PcInstance@setActiveClass

 

The above codes are battle tested on my live server, you can thank me later 🙂

 

Well, calling 6 times (for 2nd and 3rd classes) a method is what I would call messy :).

 

You can eventually put parameter as "ClassId..." to cut the calls.

 

Also, in your exemple canClassIdJoin can be

 

return getMemberCount(classId) < classId.getPartyLimit();

 

  • 0
Posted
6 hours ago, Tryskell said:

 

Well, calling 6 times (for 2nd and 3rd classes) a method is what I would call messy :).

 

You can eventually put parameter as "ClassId..." to cut the calls.

 

Also, in your exemple canClassIdJoin can be

 

return getMemberCount(classId) < classId.getPartyLimit();

 

 

my canClassIdJoin has more lines which I removed for the sake of this example

Guest
This topic is now closed to further replies.
×
×
  • Create New...