mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
Fixed bug in @batchcommand (Resolves Issue 287). Also updated @dig to again handle deleting ranges of dbrefs (with or without # in front).
This commit is contained in:
parent
86a44ab84d
commit
4dff822764
5 changed files with 14 additions and 12 deletions
|
|
@ -43,11 +43,11 @@
|
|||
# everything in this block will be appended to the beginning of
|
||||
# all other #CODE blocks when they are executed.
|
||||
|
||||
from ev import create, search
|
||||
from ev import create_object, search_object
|
||||
from game.gamesrc.objects.examples import red_button
|
||||
from game.gamesrc.objects import baseobjects
|
||||
from ev import Object
|
||||
|
||||
limbo = search.objects('Limbo', global_search=True)[0]
|
||||
limbo = search_object('Limbo')[0]
|
||||
|
||||
|
||||
#CODE (create red button)
|
||||
|
|
@ -59,7 +59,7 @@ limbo = search.objects('Limbo', global_search=True)[0]
|
|||
# won't be able to be deleted in debug mode.
|
||||
|
||||
# create a red button in limbo
|
||||
red_button = create.create_object(red_button.RedButton, key="Red button",
|
||||
red_button = create_object(red_button.RedButton, key="Red button",
|
||||
location=limbo, aliases=["button"])
|
||||
|
||||
# we take a look at what we created
|
||||
|
|
@ -76,8 +76,8 @@ caller.msg("A %s was created." % red_button.key)
|
|||
# the python variables we assign to must match the ones given in the
|
||||
# header for the system to be able to delete them afterwards during a
|
||||
# debugging run.
|
||||
table = create.create_object(baseobjects.Object, key="Table", location=limbo)
|
||||
chair = create.create_object(baseobjects.Object, key="Chair", location=limbo)
|
||||
table = create_object(Object, key="Table", location=limbo)
|
||||
chair = create_object(Object, key="Chair", location=limbo)
|
||||
|
||||
string = "A %s and %s were created. If debug was active, they were deleted again."
|
||||
caller.msg(string % (table, chair))
|
||||
|
|
|
|||
|
|
@ -392,7 +392,7 @@ class CmdBatchCode(MuxCommand):
|
|||
# un in-process (will block)
|
||||
for inum in range(len(codes)):
|
||||
# loop through the batch file
|
||||
if not batch_cmd_exec(caller):
|
||||
if not batch_code_exec(caller):
|
||||
return
|
||||
step_pointer(caller, 1)
|
||||
# clean out the safety cmdset and clean out all other temporary attrs.
|
||||
|
|
|
|||
|
|
@ -545,7 +545,7 @@ class CmdDestroy(MuxCommand):
|
|||
if not obj:
|
||||
self.caller.msg(" (Objects to destroy must either be local or specified with a unique dbref.)")
|
||||
return ""
|
||||
if not "override" in self.switches and obj.dbid == int(settings.CHARACTER_DEFAULT_HOME):
|
||||
if not "override" in self.switches and obj.dbid == int(settings.CHARACTER_DEFAULT_HOME.lstrip("#")):
|
||||
return "\nYou are trying to delete CHARACTER_DEFAULT_HOME. If you want to do this, use the /override switch."
|
||||
objname = obj.name
|
||||
if not obj.access(caller, 'delete'):
|
||||
|
|
@ -572,10 +572,10 @@ class CmdDestroy(MuxCommand):
|
|||
for objname in self.lhslist:
|
||||
if '-' in objname:
|
||||
# might be a range of dbrefs
|
||||
dmin, dmax = [utils.dbref(part) for part in objname.split('-', 1)]
|
||||
dmin, dmax = [utils.dbref(part, reqhash=False) for part in objname.split('-', 1)]
|
||||
if dmin and dmax:
|
||||
for dbref in range(int(dmin),int(dmax+1)):
|
||||
string += delobj(str(dbref))
|
||||
string += delobj("#" + str(dbref))
|
||||
else:
|
||||
string += delobj(objname)
|
||||
else:
|
||||
|
|
|
|||
|
|
@ -801,7 +801,7 @@ class ObjectDB(TypedObject):
|
|||
"""
|
||||
# Gather up everything that thinks this is its location.
|
||||
objs = ObjectDB.objects.filter(db_location=self)
|
||||
default_home_id = int(settings.CHARACTER_DEFAULT_HOME)
|
||||
default_home_id = int(settings.CHARACTER_DEFAULT_HOME.lstrip("#"))
|
||||
try:
|
||||
default_home = ObjectDB.objects.get(id=default_home_id)
|
||||
if default_home.dbid == _GA(self, "dbid"):
|
||||
|
|
|
|||
|
|
@ -284,12 +284,14 @@ def pypath_to_realpath(python_path, file_ending='.py'):
|
|||
return "%s%s" % (path, file_ending)
|
||||
return path
|
||||
|
||||
def dbref(dbref):
|
||||
def dbref(dbref, reqhash=True):
|
||||
"""
|
||||
Converts/checks if input is a valid dbref Valid forms of dbref
|
||||
(database reference number) are either a string '#N' or
|
||||
an integer N. Output is the integer part.
|
||||
"""
|
||||
if reqhash and not (isinstance(dbref, basestring) and dbref.startswith("#")):
|
||||
return None
|
||||
if isinstance(dbref, basestring):
|
||||
dbref = dbref.lstrip('#')
|
||||
try:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue