#W# Added [Status command for quick view of stat info.
This commit is contained in:
parent
cd687579f9
commit
0e3654fcbb
3 changed files with 123 additions and 12 deletions
104
Scripts/Commands/Player/Status.cs
Normal file
104
Scripts/Commands/Player/Status.cs
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Commands;
|
||||
using Server.Gumps;
|
||||
using Server.Mobiles;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Scripts.Commands
|
||||
{
|
||||
// ------- STATUS COMMAND REGISTRATION START
|
||||
public class StatusCommand
|
||||
{
|
||||
public static void Initialize()
|
||||
{
|
||||
// Registered at Player access level so everyone can use it
|
||||
CommandSystem.Register("Status", AccessLevel.Player, new CommandEventHandler(StatusCommand_OnCommand));
|
||||
}
|
||||
|
||||
[Usage("Status")]
|
||||
[Description("Opens a gump displaying detailed character status.")]
|
||||
private static void StatusCommand_OnCommand(CommandEventArgs e)
|
||||
{
|
||||
Mobile m = e.Mobile;
|
||||
|
||||
if (m is PlayerMobile)
|
||||
{
|
||||
// Closes any existing status gump to prevent spamming duplicates
|
||||
m.CloseGump(typeof(StatusGump));
|
||||
m.SendGump(new StatusGump((PlayerMobile)m));
|
||||
}
|
||||
}
|
||||
}
|
||||
// ------- STATUS COMMAND REGISTRATION END
|
||||
}
|
||||
|
||||
namespace Server.Gumps
|
||||
{
|
||||
// ------- STATUS GUMP UI START
|
||||
public class StatusGump : Gump
|
||||
{
|
||||
public StatusGump(PlayerMobile pm) : base(50, 50)
|
||||
{
|
||||
this.Closable = true;
|
||||
this.Disposable = true;
|
||||
this.Dragable = true;
|
||||
this.Resizable = false;
|
||||
|
||||
AddPage(0);
|
||||
|
||||
// Modern semi-transparent background (expanded height to 375 to fit Stat Cap)
|
||||
AddBackground(0, 0, 300, 375, 9270);
|
||||
AddAlphaRegion(10, 10, 280, 355);
|
||||
|
||||
// Gump Title
|
||||
AddLabel(75, 15, 1153, "CHARACTER STATUS");
|
||||
|
||||
int y = 55;
|
||||
int spacing = 25;
|
||||
|
||||
// --- ATTRIBUTES START ---
|
||||
AddLabel(20, y, 1153, "Attributes");
|
||||
y += spacing;
|
||||
|
||||
// Displays player's total stat cap limit
|
||||
AddLabel(30, y, 1152, String.Format("Stat Cap: {0}", pm.StatCap));
|
||||
y += spacing;
|
||||
|
||||
// Displays Raw Stat / Total Stat (including modifiers from spells/gear)
|
||||
AddLabel(30, y, 1152, String.Format("Strength: {0} / {1}", pm.RawStr, pm.Str));
|
||||
y += spacing;
|
||||
|
||||
AddLabel(30, y, 1152, String.Format("Dexterity: {0} / {1}", pm.RawDex, pm.Dex));
|
||||
y += spacing;
|
||||
|
||||
AddLabel(30, y, 1152, String.Format("Intelligence: {0} / {1}", pm.RawInt, pm.Int));
|
||||
y += spacing + 10;
|
||||
// --- ATTRIBUTES END ---
|
||||
|
||||
|
||||
// --- REPUTATION START ---
|
||||
AddLabel(20, y, 1153, "Reputation");
|
||||
y += spacing;
|
||||
|
||||
AddLabel(30, y, 1152, String.Format("Fame: {0}", pm.Fame));
|
||||
y += spacing;
|
||||
|
||||
AddLabel(30, y, 1152, String.Format("Karma: {0}", pm.Karma));
|
||||
y += spacing + 10;
|
||||
// --- REPUTATION END ---
|
||||
|
||||
|
||||
// --- SURVIVAL NEEDS START ---
|
||||
AddLabel(20, y, 1153, "Survival Needs");
|
||||
y += spacing;
|
||||
|
||||
AddLabel(30, y, 1152, String.Format("Hunger: {0}", pm.Hunger));
|
||||
y += spacing;
|
||||
|
||||
AddLabel(30, y, 1152, String.Format("Thirst: {0}", pm.Thirst));
|
||||
// --- SURVIVAL NEEDS END ---
|
||||
}
|
||||
}
|
||||
// ------- STATUS GUMP UI END
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue