home
·
contact
·
privacy
projects
/
plomrogue
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b6c6c07
)
7DRL: Let animals proliferate on all open map cells, not just soil.
author
Christian Heller
<c.heller@plomlompom.de>
Fri, 13 Mar 2015 05:26:20 +0000
(06:26 +0100)
committer
Christian Heller
<c.heller@plomlompom.de>
Fri, 13 Mar 2015 05:26:20 +0000
(06:26 +0100)
roguelike-server
patch
|
blob
|
history
diff --git
a/roguelike-server
b/roguelike-server
index 792b7c4f47db887b5593b49c256b37b55d1b4ef8..d1a3a0adebc092705415e80f8ce5943023d8a361 100755
(executable)
--- a/
roguelike-server
+++ b/
roguelike-server
@@
-990,23
+990,31
@@
def thingproliferation(t, prol_map):
selected randomly.
"""
# 7DRL: success increments God's mood
selected randomly.
"""
# 7DRL: success increments God's mood
- # 7DRL:
Things
proliferate only on ":" ground.
+ # 7DRL:
Plants (no TT_LIFEPOINTS)
proliferate only on ":" ground.
prolscore = world_db["ThingTypes"][t["T_TYPE"]]["TT_PROLIFERATE"]
if prolscore and (1 == prolscore or 1 == (rand.next() % prolscore)):
candidates = []
for dir in [directions_db[key] for key in directions_db]:
mv_result = mv_yx_in_dir_legal(dir, t["T_POSY"], t["T_POSX"])
prolscore = world_db["ThingTypes"][t["T_TYPE"]]["TT_PROLIFERATE"]
if prolscore and (1 == prolscore or 1 == (rand.next() % prolscore)):
candidates = []
for dir in [directions_db[key] for key in directions_db]:
mv_result = mv_yx_in_dir_legal(dir, t["T_POSY"], t["T_POSX"])
- if mv_result[0] and ord(":") == prol_map[mv_result[1] # #
+ pos = mv_result[1] * world_db["MAP_LENGTH"] + mv_result[2]
+ if mv_result[0] and \
+ (ord(":") == prol_map[pos] # #
+ or (world_db["ThingTypes"][t["T_TYPE"]]["TT_LIFEPOINTS"] # #
+ and ord(".") == prol_map[pos])):
# if mv_result[0] and ord(".") == prol_map[mv_result[1]
# if mv_result[0] and ord(".") == prol_map[mv_result[1]
- * world_db["MAP_LENGTH"]
- + mv_result[2]]:
+
#
* world_db["MAP_LENGTH"]
+
#
+ mv_result[2]]:
candidates.append((mv_result[1], mv_result[2]))
if len(candidates):
i = rand.next() % len(candidates)
id = id_setter(-1, "Things")
newT = new_Thing(t["T_TYPE"], (candidates[i][0], candidates[i][1]))
world_db["Things"][id] = newT
candidates.append((mv_result[1], mv_result[2]))
if len(candidates):
i = rand.next() % len(candidates)
id = id_setter(-1, "Things")
newT = new_Thing(t["T_TYPE"], (candidates[i][0], candidates[i][1]))
world_db["Things"][id] = newT
- world_db["GOD_MOOD"] += 1 # #
+ animacy = world_db["ThingTypes"][t["T_TYPE"]]["TT_LIFEPOINTS"] # #
+ if animacy: # #
+ world_db["GOD_MOOD"] += animacy # #
+ else: # #
+ world_db["GOD_MOOD"] += 1 # #
if (world_db["FAVOR_STAGE"] > 0 # #
and t["T_TYPE"] == world_db["PLANT_0"]): # #
world_db["GOD_FAVOR"] += 5 # #
if (world_db["FAVOR_STAGE"] > 0 # #
and t["T_TYPE"] == world_db["PLANT_0"]): # #
world_db["GOD_FAVOR"] += 5 # #