* command (command:move): Minor cosmetic fix for the move command
help text.
* mudpy.py (User.replace_old_connections): Fixed a crash in
connection replacement detection where stale sockets without an
associated account would trigger an exception.
[command:move]
action = command_move(actor, parameters)
description = Move in a specific direction.
-help = You move in a direction by entering:$(eol) move north
+help = You move in a direction by entering:$(eol)$(eol) move north
[command:quit]
action = command_quit(actor)
prompt = $(red)Closing your previous connection...$(nrm)$(eol)
[menu:entering_account_name]
-description = $(red) :;$(bld)%$(nrm)$(red). $(bld)%S%$(nrm)$(red); $(bld)%$(eol)$(nrm)$(red)t$(bld)S@@@@@ G@S$(nrm)$(red); $(bld)G@@$(nrm)$(red)t .$(bld)G@$(nrm)$(red)t$(eol)$(bld)%@@@@@@ $(nrm)$(red);$(bld)@@@@G @@@$(nrm)$(red). .t$(bld)SG@% $(nrm)$(red);$(bld)S$(nrm)$(red)t;.$(eol);$(bld)@@@@@S G@@@G @@G $(nrm)$(red): :$(bld)@@@@$(nrm)$(red): t$(bld)@ $(nrm)$(red):;$(eol).$(bld)@@@@@% $(nrm)$(red):$(bld)@@@G @@@@@$(nrm)$(red). :$(bld)@@@@ S@@$(nrm)$(red): . .$(bld)%G@@$(nrm)$(red); .$(eol) $(bld)@@@@@$(nrm)$(red); $(bld)G@@G $(nrm)$(red):;; .;$(bld)S@@S%%$(nrm)$(red): . .$(bld)%SS $(nrm)$(red).$(bld)@@@%$(nrm)$(red).$(bld)G@@S$(nrm)$(red): ;$(bld)@S $(nrm)$(red)t$(bld)@@@@ $(nrm)$(red);$(bld)@G$(eol) G@@@@$(nrm)$(red)::$(bld)@@S $(nrm)$(red):$(bld)@$(nrm)$(red)t.$(bld)@@G $(nrm)$(red).$(bld)@G $(nrm)$(red);$(bld)@S$(nrm)$(red);$(bld)G@G @@@S%$(nrm)$(red); $(bld)S@@@S $(nrm)$(red);$(bld)@@@S S@@@G$(eol) %@@@@ S@S G@@S$(nrm)$(red)t$(bld)@G $(nrm)$(red):$(bld)@$(nrm)$(red)t $(bld)@@@$(nrm)$(red);:$(bld)@G @@@ $(nrm)$(red)t$(bld)GGG%$(nrm)$(red);. :$(bld)@@@$(nrm)$(red): ;$(bld)@GS$(nrm)$(red)t:$(eol) ;$(bld)@@@@$(nrm)$(red).$(bld)@S $(nrm)$(red). .$(bld)@@$(nrm)$(red)t $(bld)GG $(nrm)$(red);$(bld)@$(nrm)$(red). ;$(bld)@G$(nrm)$(red). $(bld)SG @@% @@@$(nrm)$(red)t .$(bld)@@@ @@@S$(eol) $(nrm)$(red).$(bld)@@@G%@S@G SG$(nrm)$(red). .$(bld)G $(nrm)$(red)t$(bld)@ GS @$(nrm)$(red):: $(bld)@@$(nrm)$(red): ;$(bld)%S@SSS @@% $(nrm)$(red):t$(bld)%GGSG$(eol) @@@GS$(nrm)$(red):$(bld)@@@$(nrm)$(red). .$(bld)S $(nrm)$(red):t$(bld)S@@% tt $(nrm)$(red):t .;$(bld)%G@@@% G@ %@@@S @@$(nrm)$(red). $(bld)%@@@G$(eol) G@@S $(nrm)$(red)t$(bld)@@% $(nrm)$(red)::t$(bld)%SSGGG@% %$(nrm)$(red). .::;;;tt$(bld)%%$(nrm)$(red); $(bld)GS $(nrm)$(red);$(bld)S%$(nrm)$(red);: $(bld)@G $(nrm)$(red);$(bld)S$(nrm)$(red)t;.$(eol) $(bld)%@@$(nrm)$(red): $(bld)S@@ S S$(nrm)$(red): $(bld)G$(nrm)$(red);$(eol) ;$(bld)@@$(nrm)$(red). $(bld)G@$(nrm)$(red); t $(bld)t %$(eol) GS $(nrm)$(red).$(bld)S% $(nrm)$(red). . :$(eol) $(bld)%$(nrm)$(red)t :$(bld)t$(eol) $(nrm)$(red);: :. $(bld)$(grn)Aeons ago, in a time long since forgotten, this land was fair$(eol) $(nrm)$(red).. ; $(bld)$(grn)and peaceful, governed by harmony and untouched by despair...$(eol)$(eol) $(red)But then the evil came.$(eol)$(eol) $(blk)[ http://katarsis.mudpy.org/ ]$(nrm)
+description = $(red) :;$(bld)%$(nrm)$(red). $(bld)%S%$(nrm)$(red); $(bld)%$(eol)$(nrm)$(red)t$(bld)S@@@@@ G@S$(nrm)$(red); $(bld)G@@$(nrm)$(red)t .$(bld)G@$(nrm)$(red)t$(eol)$(bld)%@@@@@@ $(nrm)$(red);$(bld)@@@@G @@@$(nrm)$(red). .t$(bld)SG@% $(nrm)$(red);$(bld)S$(nrm)$(red)t;.$(eol);$(bld)@@@@@S G@@@G @@G $(nrm)$(red): :$(bld)@@@@$(nrm)$(red): t$(bld)@ $(nrm)$(red):;$(eol).$(bld)@@@@@% $(nrm)$(red):$(bld)@@@G @@@@@$(nrm)$(red). :$(bld)@@@@ S@@$(nrm)$(red): . .$(bld)%G@@$(nrm)$(red); .$(eol) $(bld)@@@@@$(nrm)$(red); $(bld)G@@G $(nrm)$(red):;; .;$(bld)S@@S%%$(nrm)$(red): . .$(bld)%SS $(nrm)$(red).$(bld)@@@%$(nrm)$(red).$(bld)G@@S$(nrm)$(red): ;$(bld)@S $(nrm)$(red)t$(bld)@@@@ $(nrm)$(red);$(bld)@G$(eol) G@@@@$(nrm)$(red)::$(bld)@@S $(nrm)$(red):$(bld)@$(nrm)$(red)t.$(bld)@@G $(nrm)$(red).$(bld)@G $(nrm)$(red);$(bld)@S$(nrm)$(red);$(bld)G@G @@@S%$(nrm)$(red); $(bld)S@@@S $(nrm)$(red);$(bld)@@@S S@@@$(eol) %@@@@ S@S G@@S$(nrm)$(red)t$(bld)@G $(nrm)$(red):$(bld)@$(nrm)$(red)t $(bld)@@@$(nrm)$(red);:$(bld)@G @@@ $(nrm)$(red)t$(bld)GGG%$(nrm)$(red);. :$(bld)@@@$(nrm)$(red): ;$(bld)@GS$(nrm)$(red)t:$(eol) ;$(bld)@@@@$(nrm)$(red).$(bld)@S $(nrm)$(red). .$(bld)@@$(nrm)$(red)t $(bld)GG $(nrm)$(red);$(bld)@$(nrm)$(red). ;$(bld)@G$(nrm)$(red). $(bld)SG @@% @@@$(nrm)$(red)t .$(bld)@@@ @@@S$(eol) $(nrm)$(red).$(bld)@@@G%@S@G SG$(nrm)$(red). .$(bld)G $(nrm)$(red)t$(bld)@ GS @$(nrm)$(red):: $(bld)@@$(nrm)$(red): ;$(bld)%S@SSS @@% $(nrm)$(red):t$(bld)%GGSG$(eol) @@@GS$(nrm)$(red):$(bld)@@@$(nrm)$(red). .$(bld)S $(nrm)$(red):t$(bld)S@@% tt $(nrm)$(red):t .;$(bld)%G@@@% G@ %@@@S @@$(nrm)$(red). $(bld)%@@@$(eol) G@@S $(nrm)$(red)t$(bld)@@% $(nrm)$(red)::t$(bld)%SSGGG@% %$(nrm)$(red). .::;;;tt$(bld)%%$(nrm)$(red); $(bld)GS $(nrm)$(red);$(bld)S%$(nrm)$(red);: $(bld)@G $(nrm)$(red);$(bld)S$(nrm)$(red)t;.$(eol) $(bld)%@@$(nrm)$(red): $(bld)S@@ S S$(nrm)$(red): $(bld)G$(nrm)$(red);$(eol) ;$(bld)@@$(nrm)$(red). $(bld)G@$(nrm)$(red); t $(bld)t %$(eol) GS $(nrm)$(red).$(bld)S% $(nrm)$(red). . :$(eol) $(bld)%$(nrm)$(red)t :$(bld)t$(eol) $(nrm)$(red);: :. $(bld)$(grn)Aeons ago, in a time long since forgotten, this land was fair$(eol) $(nrm)$(red).. ; $(bld)$(grn)and peaceful, governed by harmony and untouched by despair...$(eol)$(eol) $(red)But then the evil came.$(eol)$(eol) $(blk)[ http://katarsis.mudpy.org/ ]$(nrm)
error_bad_name = Your account name needs to contain only digits (0-9) and letters (a-z).
prompt = Identify yourself:
for old_user in universe.userlist:
# the name is the same but it's not us
- if old_user.account.get("name") == self.account.get("name") and old_user is not self:
+ if hasattr(old_user, "account") and old_user.account.get("name") == self.account.get("name") and old_user is not self:
# make a note of it
log("User " + self.account.get("name") + " reconnected--closing old connection to " + old_user.address + ".", 2)