### Summary Converts ethics system to entity persistence and removes the persistence item. ### TODO 1. The enable/disable toggle doesn't propagate to all code that does Ethics checks (notoriety, pvp, etc). 2. We need commands to remove them from an ethic.
37 lines
No EOL
848 B
C#
37 lines
No EOL
848 B
C#
namespace Server.Ethics.Evil;
|
|
|
|
public sealed class UnholyShield : Power
|
|
{
|
|
public UnholyShield() =>
|
|
Definition = new PowerDefinition(
|
|
20,
|
|
"Unholy Shield",
|
|
"Velgo K'blac",
|
|
""
|
|
);
|
|
|
|
public override void BeginInvoke(Player from)
|
|
{
|
|
if (from.IsShielded)
|
|
{
|
|
from.Mobile.LocalOverheadMessage(
|
|
MessageType.Regular,
|
|
0x3B2,
|
|
false,
|
|
"You are already under the protection of an unholy shield."
|
|
);
|
|
return;
|
|
}
|
|
|
|
from.BeginShield();
|
|
|
|
from.Mobile.LocalOverheadMessage(
|
|
MessageType.Regular,
|
|
0x3B2,
|
|
false,
|
|
"You are now under the protection of an unholy shield."
|
|
);
|
|
|
|
FinishInvoke(from);
|
|
}
|
|
} |