Hide creator_ip from non-admins

Hides `creator_ip` attribute in @examine command from non-admins
(i.e. Builders).
This commit is contained in:
Alexander Yakovlev 2023-01-11 13:52:00 +07:00
parent cd464ce40e
commit 7881903b7e
Signed by: oreolek
GPG Key ID: 8D24103F5EE2A6C0
2 changed files with 18 additions and 0 deletions

View File

@ -0,0 +1,14 @@
from evennia.commands.default.building import CmdExamine
class CmdCustomExamine(CmdExamine):
def format_attributes(self, obj):
caller = self.caller
output = "\n "
for attr in obj.db_attributes.all():
if attr.db_key == "creator_ip" and not caller.permissions.check("Admin"):
continue
output += self.format_single_attribute(attr)
output += "\n "
if output.strip():
# we don't want just an empty line
return output

View File

@ -23,6 +23,7 @@ from evennia.contrib.grid.ingame_map_display import MapDisplayCmdSet
from evennia.contrib.grid import simpledoor
from lib.rpsystem.rpsystem import RPSystemCmdSet
from evennia.contrib.game_systems.clothing import ClothedCharacterCmdSet
from commands.cmdcustomexamine import CmdCustomExamine
class CharacterCmdSet(default_cmds.CharacterCmdSet):
@ -65,6 +66,9 @@ class CharacterCmdSet(default_cmds.CharacterCmdSet):
# Clothing: wear
self.add(ClothedCharacterCmdSet())
# Overrides @examine
self.add(CmdCustomExamine())
class AccountCmdSet(default_cmds.AccountCmdSet):
"""
This is the cmdset available to the Account at all times. It is