Fourth class olympiad matches according to player category.
This commit is contained in:
parent
cbc117b371
commit
e1734d9970
@ -24,6 +24,7 @@ import java.util.Set;
|
|||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
|
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||||
import com.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
import com.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -106,7 +107,7 @@ public class OlympiadManager
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
final Set<Integer> classed = _classBasedRegisters.get(getClassGroup(noble));
|
||||||
if ((classed != null) && classed.contains(objId))
|
if ((classed != null) && classed.contains(objId))
|
||||||
{
|
{
|
||||||
if (showMessage)
|
if (showMessage)
|
||||||
@ -199,7 +200,7 @@ public class OlympiadManager
|
|||||||
{
|
{
|
||||||
if (player.isOnEvent())
|
if (player.isOnEvent())
|
||||||
{
|
{
|
||||||
player.sendMessage("You can't join olympiad while participating on TvT Event.");
|
player.sendMessage("You can't join olympiad while participating on an Event.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,7 +219,7 @@ public class OlympiadManager
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
_classBasedRegisters.computeIfAbsent(player.getBaseClass(), k -> ConcurrentHashMap.newKeySet()).add(charId);
|
_classBasedRegisters.computeIfAbsent(getClassGroup(player), k -> ConcurrentHashMap.newKeySet()).add(charId);
|
||||||
player.sendPacket(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_FOR_THE_OLYMPIAD_WAITING_LIST_FOR_A_CLASS_BATTLE);
|
player.sendPacket(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_FOR_THE_OLYMPIAD_WAITING_LIST_FOR_A_CLASS_BATTLE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -292,7 +293,7 @@ public class OlympiadManager
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
final Set<Integer> classed = _classBasedRegisters.get(getClassGroup(noble));
|
||||||
if ((classed != null) && classed.remove(objId))
|
if ((classed != null) && classed.remove(objId))
|
||||||
{
|
{
|
||||||
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
||||||
@ -321,7 +322,7 @@ public class OlympiadManager
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_classBasedRegisters.getOrDefault(player.getBaseClass(), Collections.emptySet()).remove(objId);
|
_classBasedRegisters.getOrDefault(getClassGroup(player), Collections.emptySet()).remove(objId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getCountOpponents()
|
public int getCountOpponents()
|
||||||
@ -333,4 +334,48 @@ public class OlympiadManager
|
|||||||
{
|
{
|
||||||
protected static final OlympiadManager _instance = new OlympiadManager();
|
protected static final OlympiadManager _instance = new OlympiadManager();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int getClassGroup(L2PcInstance player)
|
||||||
|
{
|
||||||
|
if (player.isInCategory(CategoryType.SIXTH_TIR_GROUP))
|
||||||
|
{
|
||||||
|
return 1001;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_SIGEL_GROUP))
|
||||||
|
{
|
||||||
|
return 1002;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_OTHEL_GROUP))
|
||||||
|
{
|
||||||
|
return 1003;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_FEOH_GROUP))
|
||||||
|
{
|
||||||
|
return 1004;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_IS_GROUP))
|
||||||
|
{
|
||||||
|
return 1005;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_EOLH_GROUP))
|
||||||
|
{
|
||||||
|
return 1006;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_WYNN_GROUP))
|
||||||
|
{
|
||||||
|
return 1007;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_YR_GROUP))
|
||||||
|
{
|
||||||
|
return 1008;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.ERTHEIA_FOURTH_CLASS_GROUP))
|
||||||
|
{
|
||||||
|
return 1009;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return player.getBaseClass();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ import java.util.Set;
|
|||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
|
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||||
import com.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
import com.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -106,7 +107,7 @@ public class OlympiadManager
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
final Set<Integer> classed = _classBasedRegisters.get(getClassGroup(noble));
|
||||||
if ((classed != null) && classed.contains(objId))
|
if ((classed != null) && classed.contains(objId))
|
||||||
{
|
{
|
||||||
if (showMessage)
|
if (showMessage)
|
||||||
@ -199,7 +200,7 @@ public class OlympiadManager
|
|||||||
{
|
{
|
||||||
if (player.isOnEvent())
|
if (player.isOnEvent())
|
||||||
{
|
{
|
||||||
player.sendMessage("You can't join olympiad while participating on TvT Event.");
|
player.sendMessage("You can't join olympiad while participating on an Event.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,7 +219,7 @@ public class OlympiadManager
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
_classBasedRegisters.computeIfAbsent(player.getBaseClass(), k -> ConcurrentHashMap.newKeySet()).add(charId);
|
_classBasedRegisters.computeIfAbsent(getClassGroup(player), k -> ConcurrentHashMap.newKeySet()).add(charId);
|
||||||
player.sendPacket(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_FOR_THE_OLYMPIAD_WAITING_LIST_FOR_A_CLASS_BATTLE);
|
player.sendPacket(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_FOR_THE_OLYMPIAD_WAITING_LIST_FOR_A_CLASS_BATTLE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -292,7 +293,7 @@ public class OlympiadManager
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
final Set<Integer> classed = _classBasedRegisters.get(getClassGroup(noble));
|
||||||
if ((classed != null) && classed.remove(objId))
|
if ((classed != null) && classed.remove(objId))
|
||||||
{
|
{
|
||||||
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
||||||
@ -321,7 +322,7 @@ public class OlympiadManager
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_classBasedRegisters.getOrDefault(player.getBaseClass(), Collections.emptySet()).remove(objId);
|
_classBasedRegisters.getOrDefault(getClassGroup(player), Collections.emptySet()).remove(objId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getCountOpponents()
|
public int getCountOpponents()
|
||||||
@ -333,4 +334,48 @@ public class OlympiadManager
|
|||||||
{
|
{
|
||||||
protected static final OlympiadManager _instance = new OlympiadManager();
|
protected static final OlympiadManager _instance = new OlympiadManager();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int getClassGroup(L2PcInstance player)
|
||||||
|
{
|
||||||
|
if (player.isInCategory(CategoryType.SIXTH_TIR_GROUP))
|
||||||
|
{
|
||||||
|
return 1001;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_SIGEL_GROUP))
|
||||||
|
{
|
||||||
|
return 1002;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_OTHEL_GROUP))
|
||||||
|
{
|
||||||
|
return 1003;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_FEOH_GROUP))
|
||||||
|
{
|
||||||
|
return 1004;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_IS_GROUP))
|
||||||
|
{
|
||||||
|
return 1005;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_EOLH_GROUP))
|
||||||
|
{
|
||||||
|
return 1006;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_WYNN_GROUP))
|
||||||
|
{
|
||||||
|
return 1007;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_YR_GROUP))
|
||||||
|
{
|
||||||
|
return 1008;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.ERTHEIA_FOURTH_CLASS_GROUP))
|
||||||
|
{
|
||||||
|
return 1009;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return player.getBaseClass();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ import java.util.Set;
|
|||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
|
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||||
import com.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
import com.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -106,7 +107,7 @@ public class OlympiadManager
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
final Set<Integer> classed = _classBasedRegisters.get(getClassGroup(noble));
|
||||||
if ((classed != null) && classed.contains(objId))
|
if ((classed != null) && classed.contains(objId))
|
||||||
{
|
{
|
||||||
if (showMessage)
|
if (showMessage)
|
||||||
@ -199,7 +200,7 @@ public class OlympiadManager
|
|||||||
{
|
{
|
||||||
if (player.isOnEvent())
|
if (player.isOnEvent())
|
||||||
{
|
{
|
||||||
player.sendMessage("You can't join olympiad while participating on TvT Event.");
|
player.sendMessage("You can't join olympiad while participating on an Event.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,7 +219,7 @@ public class OlympiadManager
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
_classBasedRegisters.computeIfAbsent(player.getBaseClass(), k -> ConcurrentHashMap.newKeySet()).add(charId);
|
_classBasedRegisters.computeIfAbsent(getClassGroup(player), k -> ConcurrentHashMap.newKeySet()).add(charId);
|
||||||
player.sendPacket(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_FOR_THE_OLYMPIAD_WAITING_LIST_FOR_A_CLASS_BATTLE);
|
player.sendPacket(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_FOR_THE_OLYMPIAD_WAITING_LIST_FOR_A_CLASS_BATTLE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -292,7 +293,7 @@ public class OlympiadManager
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
final Set<Integer> classed = _classBasedRegisters.get(getClassGroup(noble));
|
||||||
if ((classed != null) && classed.remove(objId))
|
if ((classed != null) && classed.remove(objId))
|
||||||
{
|
{
|
||||||
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
||||||
@ -321,7 +322,7 @@ public class OlympiadManager
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_classBasedRegisters.getOrDefault(player.getBaseClass(), Collections.emptySet()).remove(objId);
|
_classBasedRegisters.getOrDefault(getClassGroup(player), Collections.emptySet()).remove(objId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getCountOpponents()
|
public int getCountOpponents()
|
||||||
@ -333,4 +334,48 @@ public class OlympiadManager
|
|||||||
{
|
{
|
||||||
protected static final OlympiadManager _instance = new OlympiadManager();
|
protected static final OlympiadManager _instance = new OlympiadManager();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int getClassGroup(L2PcInstance player)
|
||||||
|
{
|
||||||
|
if (player.isInCategory(CategoryType.SIXTH_TIR_GROUP))
|
||||||
|
{
|
||||||
|
return 1001;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_SIGEL_GROUP))
|
||||||
|
{
|
||||||
|
return 1002;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_OTHEL_GROUP))
|
||||||
|
{
|
||||||
|
return 1003;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_FEOH_GROUP))
|
||||||
|
{
|
||||||
|
return 1004;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_IS_GROUP))
|
||||||
|
{
|
||||||
|
return 1005;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_EOLH_GROUP))
|
||||||
|
{
|
||||||
|
return 1006;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_WYNN_GROUP))
|
||||||
|
{
|
||||||
|
return 1007;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_YR_GROUP))
|
||||||
|
{
|
||||||
|
return 1008;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.ERTHEIA_FOURTH_CLASS_GROUP))
|
||||||
|
{
|
||||||
|
return 1009;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return player.getBaseClass();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ import java.util.Set;
|
|||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
|
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||||
import com.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
import com.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -106,7 +107,7 @@ public class OlympiadManager
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
final Set<Integer> classed = _classBasedRegisters.get(getClassGroup(noble));
|
||||||
if ((classed != null) && classed.contains(objId))
|
if ((classed != null) && classed.contains(objId))
|
||||||
{
|
{
|
||||||
if (showMessage)
|
if (showMessage)
|
||||||
@ -199,7 +200,7 @@ public class OlympiadManager
|
|||||||
{
|
{
|
||||||
if (player.isOnEvent())
|
if (player.isOnEvent())
|
||||||
{
|
{
|
||||||
player.sendMessage("You can't join olympiad while participating on TvT Event.");
|
player.sendMessage("You can't join olympiad while participating on an Event.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,7 +219,7 @@ public class OlympiadManager
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
_classBasedRegisters.computeIfAbsent(player.getBaseClass(), k -> ConcurrentHashMap.newKeySet()).add(charId);
|
_classBasedRegisters.computeIfAbsent(getClassGroup(player), k -> ConcurrentHashMap.newKeySet()).add(charId);
|
||||||
player.sendPacket(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_FOR_THE_OLYMPIAD_WAITING_LIST_FOR_A_CLASS_BATTLE);
|
player.sendPacket(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_FOR_THE_OLYMPIAD_WAITING_LIST_FOR_A_CLASS_BATTLE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -292,7 +293,7 @@ public class OlympiadManager
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
final Set<Integer> classed = _classBasedRegisters.get(getClassGroup(noble));
|
||||||
if ((classed != null) && classed.remove(objId))
|
if ((classed != null) && classed.remove(objId))
|
||||||
{
|
{
|
||||||
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
||||||
@ -321,7 +322,7 @@ public class OlympiadManager
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_classBasedRegisters.getOrDefault(player.getBaseClass(), Collections.emptySet()).remove(objId);
|
_classBasedRegisters.getOrDefault(getClassGroup(player), Collections.emptySet()).remove(objId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getCountOpponents()
|
public int getCountOpponents()
|
||||||
@ -333,4 +334,48 @@ public class OlympiadManager
|
|||||||
{
|
{
|
||||||
protected static final OlympiadManager _instance = new OlympiadManager();
|
protected static final OlympiadManager _instance = new OlympiadManager();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int getClassGroup(L2PcInstance player)
|
||||||
|
{
|
||||||
|
if (player.isInCategory(CategoryType.SIXTH_TIR_GROUP))
|
||||||
|
{
|
||||||
|
return 1001;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_SIGEL_GROUP))
|
||||||
|
{
|
||||||
|
return 1002;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_OTHEL_GROUP))
|
||||||
|
{
|
||||||
|
return 1003;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_FEOH_GROUP))
|
||||||
|
{
|
||||||
|
return 1004;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_IS_GROUP))
|
||||||
|
{
|
||||||
|
return 1005;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_EOLH_GROUP))
|
||||||
|
{
|
||||||
|
return 1006;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_WYNN_GROUP))
|
||||||
|
{
|
||||||
|
return 1007;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_YR_GROUP))
|
||||||
|
{
|
||||||
|
return 1008;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.ERTHEIA_FOURTH_CLASS_GROUP))
|
||||||
|
{
|
||||||
|
return 1009;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return player.getBaseClass();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ import java.util.Set;
|
|||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
|
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||||
import com.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
import com.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -106,7 +107,7 @@ public class OlympiadManager
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
final Set<Integer> classed = _classBasedRegisters.get(getClassGroup(noble));
|
||||||
if ((classed != null) && classed.contains(objId))
|
if ((classed != null) && classed.contains(objId))
|
||||||
{
|
{
|
||||||
if (showMessage)
|
if (showMessage)
|
||||||
@ -199,7 +200,7 @@ public class OlympiadManager
|
|||||||
{
|
{
|
||||||
if (player.isOnEvent())
|
if (player.isOnEvent())
|
||||||
{
|
{
|
||||||
player.sendMessage("You can't join olympiad while participating on TvT Event.");
|
player.sendMessage("You can't join olympiad while participating on an Event.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,7 +219,7 @@ public class OlympiadManager
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
_classBasedRegisters.computeIfAbsent(player.getBaseClass(), k -> ConcurrentHashMap.newKeySet()).add(charId);
|
_classBasedRegisters.computeIfAbsent(getClassGroup(player), k -> ConcurrentHashMap.newKeySet()).add(charId);
|
||||||
player.sendPacket(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_FOR_THE_OLYMPIAD_WAITING_LIST_FOR_A_CLASS_BATTLE);
|
player.sendPacket(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_FOR_THE_OLYMPIAD_WAITING_LIST_FOR_A_CLASS_BATTLE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -292,7 +293,7 @@ public class OlympiadManager
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
final Set<Integer> classed = _classBasedRegisters.get(getClassGroup(noble));
|
||||||
if ((classed != null) && classed.remove(objId))
|
if ((classed != null) && classed.remove(objId))
|
||||||
{
|
{
|
||||||
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
||||||
@ -321,7 +322,7 @@ public class OlympiadManager
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_classBasedRegisters.getOrDefault(player.getBaseClass(), Collections.emptySet()).remove(objId);
|
_classBasedRegisters.getOrDefault(getClassGroup(player), Collections.emptySet()).remove(objId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getCountOpponents()
|
public int getCountOpponents()
|
||||||
@ -333,4 +334,48 @@ public class OlympiadManager
|
|||||||
{
|
{
|
||||||
protected static final OlympiadManager _instance = new OlympiadManager();
|
protected static final OlympiadManager _instance = new OlympiadManager();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int getClassGroup(L2PcInstance player)
|
||||||
|
{
|
||||||
|
if (player.isInCategory(CategoryType.SIXTH_TIR_GROUP))
|
||||||
|
{
|
||||||
|
return 1001;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_SIGEL_GROUP))
|
||||||
|
{
|
||||||
|
return 1002;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_OTHEL_GROUP))
|
||||||
|
{
|
||||||
|
return 1003;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_FEOH_GROUP))
|
||||||
|
{
|
||||||
|
return 1004;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_IS_GROUP))
|
||||||
|
{
|
||||||
|
return 1005;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_EOLH_GROUP))
|
||||||
|
{
|
||||||
|
return 1006;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_WYNN_GROUP))
|
||||||
|
{
|
||||||
|
return 1007;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_YR_GROUP))
|
||||||
|
{
|
||||||
|
return 1008;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.ERTHEIA_FOURTH_CLASS_GROUP))
|
||||||
|
{
|
||||||
|
return 1009;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return player.getBaseClass();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,6 +24,7 @@ import java.util.Set;
|
|||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
import com.l2jmobius.Config;
|
import com.l2jmobius.Config;
|
||||||
|
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||||
import com.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
import com.l2jmobius.gameserver.instancemanager.AntiFeedManager;
|
||||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||||
import com.l2jmobius.gameserver.network.SystemMessageId;
|
import com.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
@ -106,7 +107,7 @@ public class OlympiadManager
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
final Set<Integer> classed = _classBasedRegisters.get(getClassGroup(noble));
|
||||||
if ((classed != null) && classed.contains(objId))
|
if ((classed != null) && classed.contains(objId))
|
||||||
{
|
{
|
||||||
if (showMessage)
|
if (showMessage)
|
||||||
@ -199,7 +200,7 @@ public class OlympiadManager
|
|||||||
{
|
{
|
||||||
if (player.isOnEvent())
|
if (player.isOnEvent())
|
||||||
{
|
{
|
||||||
player.sendMessage("You can't join olympiad while participating on TvT Event.");
|
player.sendMessage("You can't join olympiad while participating on an Event.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,7 +219,7 @@ public class OlympiadManager
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
_classBasedRegisters.computeIfAbsent(player.getBaseClass(), k -> ConcurrentHashMap.newKeySet()).add(charId);
|
_classBasedRegisters.computeIfAbsent(getClassGroup(player), k -> ConcurrentHashMap.newKeySet()).add(charId);
|
||||||
player.sendPacket(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_FOR_THE_OLYMPIAD_WAITING_LIST_FOR_A_CLASS_BATTLE);
|
player.sendPacket(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_FOR_THE_OLYMPIAD_WAITING_LIST_FOR_A_CLASS_BATTLE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -292,7 +293,7 @@ public class OlympiadManager
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
final Set<Integer> classed = _classBasedRegisters.get(getClassGroup(noble));
|
||||||
if ((classed != null) && classed.remove(objId))
|
if ((classed != null) && classed.remove(objId))
|
||||||
{
|
{
|
||||||
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
||||||
@ -321,7 +322,7 @@ public class OlympiadManager
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_classBasedRegisters.getOrDefault(player.getBaseClass(), Collections.emptySet()).remove(objId);
|
_classBasedRegisters.getOrDefault(getClassGroup(player), Collections.emptySet()).remove(objId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getCountOpponents()
|
public int getCountOpponents()
|
||||||
@ -333,4 +334,48 @@ public class OlympiadManager
|
|||||||
{
|
{
|
||||||
protected static final OlympiadManager _instance = new OlympiadManager();
|
protected static final OlympiadManager _instance = new OlympiadManager();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int getClassGroup(L2PcInstance player)
|
||||||
|
{
|
||||||
|
if (player.isInCategory(CategoryType.SIXTH_TIR_GROUP))
|
||||||
|
{
|
||||||
|
return 1001;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_SIGEL_GROUP))
|
||||||
|
{
|
||||||
|
return 1002;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_OTHEL_GROUP))
|
||||||
|
{
|
||||||
|
return 1003;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_FEOH_GROUP))
|
||||||
|
{
|
||||||
|
return 1004;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_IS_GROUP))
|
||||||
|
{
|
||||||
|
return 1005;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_EOLH_GROUP))
|
||||||
|
{
|
||||||
|
return 1006;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_WYNN_GROUP))
|
||||||
|
{
|
||||||
|
return 1007;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.SIXTH_YR_GROUP))
|
||||||
|
{
|
||||||
|
return 1008;
|
||||||
|
}
|
||||||
|
else if (player.isInCategory(CategoryType.ERTHEIA_FOURTH_CLASS_GROUP))
|
||||||
|
{
|
||||||
|
return 1009;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return player.getBaseClass();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user