home
·
contact
·
privacy
projects
/
plomrogue2
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d3167bc
)
Add some safeguards against stupid map protection decisions.
author
Christian Heller
<c.heller@plomlompom.de>
Fri, 20 Nov 2020 00:32:38 +0000
(
01:32
+0100)
committer
Christian Heller
<c.heller@plomlompom.de>
Fri, 20 Nov 2020 00:32:38 +0000
(
01:32
+0100)
plomrogue/commands.py
patch
|
blob
|
history
diff --git
a/plomrogue/commands.py
b/plomrogue/commands.py
index 1df56bc4ed49ce36bd6e1cecd723f24f0997a2ba..843bcfe844ca509b5f3ee354f192e62df0affa91 100644
(file)
--- a/
plomrogue/commands.py
+++ b/
plomrogue/commands.py
@@
-106,6
+106,8
@@
def cmd_SET_TILE_CONTROL(game, yx, control_char, connection_id):
raise GameError('need to be logged in for this')
if not game.sessions[connection_id]['status'] == 'admin':
raise GameError('need to be admin for this')
raise GameError('need to be logged in for this')
if not game.sessions[connection_id]['status'] == 'admin':
raise GameError('need to be admin for this')
+ if not control_char in game.map_control_passwords.keys():
+ raise GameError('no password set for this tile class')
big_yx, little_yx = player.fov_stencil.source_yxyx(yx)
map_control = game.get_map(big_yx, 'control')
map_control[little_yx] = control_char
big_yx, little_yx = player.fov_stencil.source_yxyx(yx)
map_control = game.get_map(big_yx, 'control')
map_control[little_yx] = control_char
@@
-118,6
+120,8
@@
def cmd_SET_MAP_CONTROL_PASSWORD(game, tile_class, password, connection_id):
raise GameError('need to be logged in for this')
if not game.sessions[connection_id]['status'] == 'admin':
raise GameError('need to be admin for this')
raise GameError('need to be logged in for this')
if not game.sessions[connection_id]['status'] == 'admin':
raise GameError('need to be admin for this')
+ if tile_class == '.':
+ raise GameError('tile class "." must remain unprotected')
game.map_control_passwords[tile_class] = password
game.changed = True
cmd_SET_MAP_CONTROL_PASSWORD.argtypes = 'char string'
game.map_control_passwords[tile_class] = password
game.changed = True
cmd_SET_MAP_CONTROL_PASSWORD.argtypes = 'char string'