Овера нет, сделал под лост.
Faction
Код:
package org.mmocore.gameserver.model.actor.instances.player;
/**
* @author PointerRage
*
*/
public enum Faction {
None,
Good,
Evil,
Pewpew;
}
Player
Код:
private Faction faction = Faction.None;
public Faction getFaction() {
return faction;
}
EffectCallFaction
Код:
package org.mmocore.gameserver.skills.effects;
import org.mmocore.gameserver.model.Effect;
import org.mmocore.gameserver.model.GameObjectsStorage;
import org.mmocore.gameserver.model.Player;
import org.mmocore.gameserver.model.actor.instances.player.Faction;
import org.mmocore.gameserver.stats.Env;
import org.mmocore.gameserver.utils.Location;
/**
* @author PointerRage
*
*/
public class EffectCallFaction extends Effect {
protected EffectCallFaction(Env env, EffectTemplate template) {
super(env, template);
}
@Override
public void onStart() {
super.onStart();
final Player caster = _effector.getPlayer();
if(caster == null || caster.getFaction() == Faction.None) {
return;
}
final Faction faction = caster.getFaction();
for(Player player : GameObjectsStorage.getPlayers()) {
if(player == caster || !player.isOnline()) {
continue;
}
if(player.getFaction() != faction) {
continue;
}
player.teleToLocation(Location.findAroundPosition(caster, 16, 64), caster.getReflection());
}
}
@Override
protected boolean onActionTime() {
return false;
}
}