testaroaverta Posted September 3, 2021 Posted September 3, 2021 (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 September 3, 2021 by testaroaverta
0 arm4729 Posted September 16, 2021 Posted September 16, 2021 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 Tryskell Posted September 18, 2021 Posted September 18, 2021 (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 September 18, 2021 by Tryskell
0 zemaitis Posted September 18, 2021 Posted September 18, 2021 Also dont forget to automatically leave party if player changes/adds a new subclass. Or when he learns a profession.
0 xdem Posted September 18, 2021 Posted September 18, 2021 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 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 Tryskell Posted September 18, 2021 Posted September 18, 2021 4 hours ago, xdem said: not really. its not as messy as it seems 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 xdem Posted September 18, 2021 Posted September 18, 2021 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
Question
testaroaverta
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
7 answers to this question
Recommended Posts