Make /store nicer.

This commit is contained in:
UnknownShadow200 2016-04-20 23:07:04 +10:00
parent 935290cd7d
commit 2f128bedd8
5 changed files with 36 additions and 9 deletions

View File

@ -35,8 +35,9 @@ namespace MCGalaxy.Commands {
if (message == "") {
foreach (Item item in Economy.Items) {
if (!item.Enabled) continue;
item.OnStoreCommand(p);
item.OnStoreOverview(p);
}
Player.SendMessage(p, "%HUse %T/store [item] %Hto see more information about that item.");
return;
}

View File

@ -44,6 +44,8 @@ namespace MCGalaxy.Eco {
string message, string[] args);
protected internal abstract void OnSetupCommand(Player p, string[] args);
protected internal abstract void OnStoreOverview(Player p);
protected internal abstract void OnStoreCommand(Player p);
@ -117,9 +119,13 @@ namespace MCGalaxy.Eco {
}
}
protected internal override void OnStoreOverview(Player p) {
Player.SendMessage(p, Name + " - costs %f" + Price + " %3" + Server.moneys);
}
protected internal override void OnStoreCommand(Player p) {
string plural = Name[Name.Length - 1] == 's' ? Name : Name + "s";
Player.SendMessage(p, plural + " cost %f" + Price + " %3" + Server.moneys + " %Seach");
Player.SendMessage(p, "Syntax: %T/buy " + Name + " [value]");
Player.SendMessage(p, "Costs %f" + Price + " %3" + Server.moneys + " %Seach time the item is bought.");
}
}
}

View File

@ -225,6 +225,10 @@ namespace MCGalaxy.Eco {
}
}
protected internal override void OnStoreOverview(Player p) {
Player.SendMessage(p, "Maps - see /store maps");
}
protected internal override void OnStoreCommand(Player p) {
Player.SendMessage(p, "%aAvailable maps to buy:");
if (Presets.Count == 0) {

View File

@ -25,10 +25,10 @@ namespace MCGalaxy.Eco {
public sealed class RankItem : Item {
public RankItem() {
Aliases = new [] { "rank", "ranks" };
Aliases = new [] { "rank", "ranks", "rankup" };
}
public override string Name { get { return "Rank"; } }
public override string Name { get { return "Rankup"; } }
public string MaxRank = Group.findPerm(LevelPermission.AdvBuilder).name;
@ -118,11 +118,21 @@ namespace MCGalaxy.Eco {
Player.SendMessage(p, "Supported actions: enable, disable, price [rank] [pcost], maxrank [rank]"); break;
}
}
protected internal override void OnStoreOverview(Player p) {
Group maxrank = Group.Find(MaxRank);
if (p.group.Permission >= maxrank.Permission) {
Player.SendMessage(p, "Rankup - &calready at max rank."); return;
}
Rank rnk = NextRank(p);
Player.SendMessage(p, "Rankup to " + rnk.group.color + rnk.group.name + " %S- costs &f" + rnk.price + " &3" + Server.moneys);
}
protected internal override void OnStoreCommand(Player p) {
Group maxrank = Group.Find(MaxRank);
Player.SendMessage(p, "%fThe maximum buyable rank is: " + maxrank.color + maxrank.name);
Player.SendMessage(p, "%cRanks purchased will be bought in order.");
Player.SendMessage(p, "Syntax: %T/buy rankup");
Player.SendMessage(p, "%fThe max buyable rank is: " + maxrank.color + maxrank.name);
Player.SendMessage(p, "%cYou can only buy ranks one at a time, in sequential order.");
foreach (Rank rnk in RanksList) {
Player.SendMessage(p, rnk.group.color + rnk.group.name + " costs &f" + rnk.price + " &3" + Server.moneys);

View File

@ -27,7 +27,7 @@ namespace MCGalaxy.Eco {
Price = 1;
}
public override string Name { get { return "Blocks"; } }
public override string Name { get { return "10Blocks"; } }
protected override void OnBuyCommand(Player p, string message, string[] args) {
byte count = 1;
@ -40,8 +40,14 @@ namespace MCGalaxy.Eco {
}
p.Game.BlocksLeft += 10 * count;
MakePurchase(p, Price * count, "%3Blocks: " + (10 * count));
MakePurchase(p, Price * count, "%310Blocks: " + (10 * count));
}
protected internal override void OnStoreCommand(Player p) {
Player.SendMessage(p, "Syntax: %T/buy 10blocks [num]");
Player.SendMessage(p, "Increases the blocks you are able to place by 10 * [num].");
Player.SendMessage(p, "Costs %f" + Price + " * [num] %3" + Server.moneys);
}
}
public sealed class QueueLevelItem : SimpleItem {