Jump to content
  • 0

2 Healer Same party


testaroaverta

Question

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
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

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...

Link to comment
Share on other sites

  • 0

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
Link to comment
Share on other sites

  • 0
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 🙂

Link to comment
Share on other sites

  • 0
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();

 

Link to comment
Share on other sites

  • 0
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

Link to comment
Share on other sites

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