Adding in the pow command again. It should be noted that the whole information display system needs a rewrite. Perhaps one command for player and a few for faction?

This commit is contained in:
Olof Larsson
2013-04-25 17:17:23 +02:00
parent 21c7742dcb
commit 71bf3e9f72
5 changed files with 61 additions and 0 deletions

View File

@ -45,6 +45,8 @@ public enum Perm
OFFICER_ANY("officer.any"),
OPEN("open"),
PERM("perm"),
POWER("power"),
POWER_ANY("power.any"),
POWERBOOST("powerboost"),
PROMOTE("promote"),
RELATION("relation"),

View File

@ -31,6 +31,7 @@ public class CmdFactions extends FCommand
public CmdFactionsMoney cmdFactionsMoney = new CmdFactionsMoney();
public CmdFactionsOpen cmdFactionsOpen = new CmdFactionsOpen();
public CmdFactionsPerm cmdFactionsPerm = new CmdFactionsPerm();
public CmdFactionsPower cmdFactionsPower = new CmdFactionsPower();
public CmdFactionsPowerBoost cmdFactionsPowerBoost = new CmdFactionsPowerBoost();
public CmdFactionsPromote cmdFactionsPromote = new CmdFactionsPromote();
public CmdFactionsRelationAlly cmdFactionsRelationAlly = new CmdFactionsRelationAlly();
@ -61,6 +62,7 @@ public class CmdFactions extends FCommand
this.addSubCommand(HelpCommand.get());
this.addSubCommand(this.cmdFactionsList);
this.addSubCommand(this.cmdFactionsShow);
this.addSubCommand(this.cmdFactionsPower);
this.addSubCommand(this.cmdFactionsJoin);
this.addSubCommand(this.cmdFactionsLeave);
this.addSubCommand(this.cmdFactionsHome);

View File

@ -0,0 +1,36 @@
package com.massivecraft.factions.cmd;
import com.massivecraft.factions.Perm;
import com.massivecraft.factions.cmd.arg.ARUPlayer;
import com.massivecraft.factions.cmd.req.ReqFactionsEnabled;
import com.massivecraft.factions.entity.UPlayer;
import com.massivecraft.mcore.cmd.req.ReqHasPerm;
public class CmdFactionsPower extends FCommand
{
public CmdFactionsPower()
{
this.addAliases("power", "pow");
this.addOptionalArg("player", "you");
this.addRequirements(ReqFactionsEnabled.get());
this.addRequirements(ReqHasPerm.get(Perm.POWER.node));
}
@Override
public void perform()
{
// Args
UPlayer target = this.arg(0, ARUPlayer.getStartAny(sender), usender);
if (target == null) return;
// Perm
if (target != usender && ! Perm.POWER_ANY.has(sender, true)) return;
double powerBoost = target.getPowerBoost();
String boost = (powerBoost == 0.0) ? "" : (powerBoost > 0.0 ? " (bonus: " : " (penalty: ") + powerBoost + ")";
msg("%s<a> - Power / Maxpower: <i>%.2f / %.2f %s", target.describeTo(usender, true), target.getPower(), target.getPowerMax(), boost);
}
}

View File

@ -373,6 +373,21 @@ public class UPlayer extends SenderEntity<UPlayer> implements EconomyParticipato
return power;
}
public int getPowerMaxRounded()
{
return (int) Math.round(this.getPowerMax());
}
public int getPowerMinRounded()
{
return (int) Math.round(this.getPowerMin());
}
public int getPowerMaxUniversalRounded()
{
return (int) Math.round(this.getPowerMaxUniversal());
}
// RAW
public double getDefaultPower()