summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/abl-show.cc2
-rw-r--r--crawl-ref/source/acr.cc5
-rw-r--r--crawl-ref/source/dat/lair.des80
-rw-r--r--crawl-ref/source/debug.cc25
-rw-r--r--crawl-ref/source/debug.h1
-rw-r--r--crawl-ref/source/fight.cc7
-rw-r--r--crawl-ref/source/monplace.cc21
-rw-r--r--crawl-ref/source/player.cc24
-rw-r--r--crawl-ref/source/religion.cc13
9 files changed, 112 insertions, 66 deletions
diff --git a/crawl-ref/source/abl-show.cc b/crawl-ref/source/abl-show.cc
index e693b3f8da..a3d18c9dae 100644
--- a/crawl-ref/source/abl-show.cc
+++ b/crawl-ref/source/abl-show.cc
@@ -280,7 +280,7 @@ static const ability_def Ability_List[] =
{ ABIL_NEMELEX_STACK_DECK, "Stack Deck", 5, 0, 150, 6, ABFLAG_NONE },
// Beogh
- { ABIL_BEOGH_SMITING, "Smiting", 3, 0, 50, 2, ABFLAG_NONE },
+ { ABIL_BEOGH_SMITING, "Smiting", 3, 0, 80, 4, ABFLAG_NONE },
{ ABIL_BEOGH_RECALL_ORCISH_FOLLOWERS, "Recall Orcish Followers", 2, 0, 50, 0, ABFLAG_NONE },
// These six are unused "evil" god abilities:
diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc
index c8e75f5b61..8b518d2eff 100644
--- a/crawl-ref/source/acr.cc
+++ b/crawl-ref/source/acr.cc
@@ -559,11 +559,14 @@ static void handle_wizard_command( void )
blink(); // wizards can always blink
break;
- case '\"':
case '~':
wizard_interlevel_travel();
break;
+ case '"':
+ debug_list_monsters();
+ break;
+
case 'd':
case 'D':
level_travel(1);
diff --git a/crawl-ref/source/dat/lair.des b/crawl-ref/source/dat/lair.des
index c7ea824bf8..a88b1adaf2 100644
--- a/crawl-ref/source/dat/lair.des
+++ b/crawl-ref/source/dat/lair.des
@@ -324,46 +324,46 @@ ENDMAP
# common version in float.des -evk
# doesn't work yet?
-#NAME: onia_ninara_012_swampy_vault_shoal
-#TAGS: no_pool_fixup no_monster_gen
-#ORIENT: float
-#SHUFFLE: AB@
-#SUBST: A : x, B : x
-#SUBST: D = .:30 W
-#KFEAT: E = w:20 . / x / w:50 W / w:30 w / ~
-#KFEAT: F = w:150 w / w:70 W / ~ / . / x
-#FEAT: G = x / . / w / W
-#KFEAT: H = . / W
-#KMONS: D = Plant / w:200 nothing
-#KMONS: E = w:2 slime creature / swamp worm / giant blowfly / w:2 giant mosquito / w:1 electrical eel / w:1000 nothing
-#KMONS: F = w:2 slime creature / swamp worm / giant blowfly / w:2 giant mosquito / w:2 electrical eel / w:1000 nothing
-#KMONS: H = swamp drake / swamp dragon / hydra / w:20 nothing
-#KITEM: H = any good_item / any potion / w:20 nothing / gold
-#DEPTH: Shoal
-#MAP
-# wwwwwwwwwwwwwwwwwww.wwwwwwwwwwwwwwwww
-#wwwwwwwwwwwwwwwwwww...wwwwwwwwwwwwwwwww
-#wwwwwwxxxxxxxxxxxxxx@xxxxxxxxxxxxwwwwww
-#wwwwxxxxxGGGxxxxxxGEDEExxxxGGxxxxxxwwww
-#wwwxxxxGHHFFGGGGFFFEEDEEGGFFFxxGGxxxwww
-#wwwxxFFFHHFFFFFGFFFFEEDEEFFFFFFFFGxxwww
-#wwwxGGFFFFDDEEFFFFFEEDEEFFFFFFFFFFGxwww
-#wwwxxGFFFFEEDDEEFFEEDEEFFFEEEFFFFGxxwww
-#wwwxGFFFFFFFEEDEEEDDEEEEEEEDDEEEFFGxwww
-#wwwxGGFFFFFFFEEDEDEEEEEEEDDEEDDDEEDBwww
-#wwwxxGFFFFFFFFEEDEDDEDDDDEEEEEEEDDxxwww
-#wwwxxxGFFFFFFEEDEEEEDEEEEEFFFFFFFFxxwww
-#wwwxxxxFFFFFEEDEEFFFFDDFFFFFFFFFGGGxwww
-#wwwxxxGFFFFEEDEEFFFFFFEDEFFFFFFFxxxxwww
-#wwwxGGFFFFFFDEEFFFFFFFFEDFFFFFFGGxxwwww
-#wwwxGFFFFFFEEDEEFFFFFFFFEDEFFFGxxxwwwww
-#wwwxxGxxxGFEEDEEFFFFGGGFFHHHGxxxxwwwwww
-#wwwwxxxxxxGFEEDEEGGxxxxxGFHGxxxxxwwwwww
-#wwwwwwxxxxxGFDEGGxxxxwxxxxxGxxxxxwwwwww
-#wwwwwwwwxxxxxAxxxxxxwwwxxxxxxxwwwwwwwww
-#wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
-# wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
-#ENDMAP
+NAME: onia_ninara_012_swampy_vault_shoal
+TAGS: no_pool_fixup no_monster_gen
+ORIENT: float
+SHUFFLE: AB@
+SUBST: A : x, B : x
+SUBST: D = .:30 W
+KFEAT: E = w:20 . / x / w:50 W / w:30 w / ~
+KFEAT: F = w:150 w / w:70 W / ~ / . / x
+KFEAT: G = x / . / w / W
+KFEAT: H = . / W
+KMONS: D = Plant / w:200 nothing
+KMONS: E = w:2 slime creature / swamp worm / giant blowfly / w:2 giant mosquito / w:1 electrical eel / w:1000 nothing
+KMONS: F = w:2 slime creature / swamp worm / giant blowfly / w:2 giant mosquito / w:2 electrical eel / w:1000 nothing
+KMONS: H = swamp drake / swamp dragon / hydra / w:20 nothing
+KITEM: H = any good_item / any potion / w:20 nothing / gold
+DEPTH: Shoal
+MAP
+ wwwwwwwwwwwwwwwwwww.wwwwwwwwwwwwwwwww
+wwwwwwwwwwwwwwwwwww...wwwwwwwwwwwwwwwww
+wwwwwwxxxxxxxxxxxxxx@xxxxxxxxxxxxwwwwww
+wwwwxxxxxGGGxxxxxxGEDEExxxxGGxxxxxxwwww
+wwwxxxxGHHFFGGGGFFFEEDEEGGFFFxxGGxxxwww
+wwwxxFFFHHFFFFFGFFFFEEDEEFFFFFFFFGxxwww
+wwwxGGFFFFDDEEFFFFFEEDEEFFFFFFFFFFGxwww
+wwwxxGFFFFEEDDEEFFEEDEEFFFEEEFFFFGxxwww
+wwwxGFFFFFFFEEDEEEDDEEEEEEEDDEEEFFGxwww
+wwwxGGFFFFFFFEEDEDEEEEEEEDDEEDDDEEDBwww
+wwwxxGFFFFFFFFEEDEDDEDDDDEEEEEEEDDxxwww
+wwwxxxGFFFFFFEEDEEEEDEEEEEFFFFFFFFxxwww
+wwwxxxxFFFFFEEDEEFFFFDDFFFFFFFFFGGGxwww
+wwwxxxGFFFFEEDEEFFFFFFEDEFFFFFFFxxxxwww
+wwwxGGFFFFFFDEEFFFFFFFFEDFFFFFFGGxxwwww
+wwwxGFFFFFFEEDEEFFFFFFFFEDEFFFGxxxwwwww
+wwwxxGxxxGFEEDEEFFFFGGGFFHHHGxxxxwwwwww
+wwwwxxxxxxGFEEDEEGGxxxxxGFHGxxxxxwwwwww
+wwwwwwxxxxxGFDEGGxxxxwxxxxxGxxxxxwwwwww
+wwwwwwwwxxxxxAxxxxxxwwwxxxxxxxwwwwwwwww
+wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
+ENDMAP
##############################################################################
# Branch ends: Shoal, Slime Pit, Snake Pit, Swamp
diff --git a/crawl-ref/source/debug.cc b/crawl-ref/source/debug.cc
index 28e0754399..54abcab342 100644
--- a/crawl-ref/source/debug.cc
+++ b/crawl-ref/source/debug.cc
@@ -461,6 +461,31 @@ void wizard_interlevel_travel()
wizard_go_to_level(pos);
}
+void debug_list_monsters()
+{
+ std::string mons = "Monsters: ";
+ int nfound = 0;
+ for (int i = 0; i < MAX_MONSTERS; ++i)
+ {
+ const monsters *m = &menv[i];
+ if (!m->alive())
+ continue;
+
+ const std::string mname = m->name(DESC_PLAIN, true);
+ std::string news = (nfound++? ", " : "") + mname;
+ if (news.length() + mons.length() >= (unsigned) get_number_of_cols() - 1)
+ {
+ mpr(mons.c_str());
+ mons.clear();
+ news = mname;
+ }
+ mons += news;
+ }
+ if (!mons.empty())
+ mpr(mons.c_str());
+ mprf("%d monsters", nfound);
+}
+
#endif
#ifdef WIZARD
diff --git a/crawl-ref/source/debug.h b/crawl-ref/source/debug.h
index e597b8104a..6e0073eb30 100644
--- a/crawl-ref/source/debug.h
+++ b/crawl-ref/source/debug.h
@@ -149,6 +149,7 @@ void debug_fight_statistics( bool use_init_defaults, bool defence = false );
void debug_make_trap( void );
void debug_make_shop( void );
void debug_set_stats( void );
+void debug_list_monsters();
void debug_card();
diff --git a/crawl-ref/source/fight.cc b/crawl-ref/source/fight.cc
index b242901b06..620e314ddf 100644
--- a/crawl-ref/source/fight.cc
+++ b/crawl-ref/source/fight.cc
@@ -999,9 +999,12 @@ int melee_attack::player_apply_weapon_bonuses(int damage)
if (get_equip_race(*weapon) == ISFLAG_ORCISH
&& you.species == SP_HILL_ORC)
{
- if (you.religion == GOD_BEOGH && !you.penance[GOD_BEOGH])
+ if (you.religion == GOD_BEOGH && !you.penance[GOD_BEOGH]
+ && (you.piety > 80 || coinflip()))
+ {
damage++;
-
+ }
+
if (coinflip())
damage++;
}
diff --git a/crawl-ref/source/monplace.cc b/crawl-ref/source/monplace.cc
index a6ef07c3f1..115a9c28ab 100644
--- a/crawl-ref/source/monplace.cc
+++ b/crawl-ref/source/monplace.cc
@@ -135,10 +135,20 @@ static bool need_super_ood(int lev_mons)
&& one_chance_in(5000));
}
+/*
static bool need_moderate_ood(int lev_mons)
{
- return (env.turns_on_level > 700 - lev_mons * 117
- && one_chance_in(50));
+ return (env.turns_on_level > 700 - lev_mons * 117? one_chance_in(40) :
+ one_chance_in(50));
+}
+*/
+
+static int fuzz_mons_level(int level)
+{
+ int fuzz = random2avg(11, 5);
+ if (fuzz > 5)
+ level += fuzz - 5;
+ return (level);
}
bool place_monster(int &id, int mon_type, int power, beh_type behaviour,
@@ -177,13 +187,16 @@ bool place_monster(int &id, int mon_type, int power, beh_type behaviour,
if (player_in_branch( BRANCH_MAIN_DUNGEON )
&& lev_mons < 28)
{
+ lev_mons = fuzz_mons_level(lev_mons);
+
// potentially nasty surprise, but very rare
if (need_super_ood(lev_mons))
lev_mons += random2(12);
// slightly out of depth monsters are more common:
- if (need_moderate_ood(lev_mons))
- lev_mons += random2(5);
+ // [ds] Replaced with a fuzz above for a more varied mix.
+ //if (need_moderate_ood(lev_mons))
+ // lev_mons += random2(5);
if (lev_mons > 27)
lev_mons = 27;
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index f43b2cdcd3..f8ae87e9ee 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -1521,22 +1521,22 @@ int player_AC(void)
racial_bonus++;
else
racial_bonus += 2;
-
+
// an additional bonus for Beogh worshippers
if (you.religion == GOD_BEOGH && !you.penance[GOD_BEOGH])
{
- if (you.piety >= 120)
- racial_bonus *= 6;
- else if (you.piety >= 100)
- racial_bonus *= 5;
- else if (you.piety >= 75)
- racial_bonus *= 4;
- else if (you.piety >= 50)
- racial_bonus *= 3;
- else if (you.piety >= 30)
- racial_bonus *= 2;
+ if (you.piety >= 185)
+ racial_bonus += racial_bonus * 3;
+ else if (you.piety >= 160)
+ racial_bonus += racial_bonus * 5 / 2;
+ else if (you.piety >= 120)
+ racial_bonus += racial_bonus * 2;
+ else if (you.piety >= 80)
+ racial_bonus += racial_bonus * 3 / 2;
+ else if (you.piety >= 40)
+ racial_bonus += racial_bonus;
else
- racial_bonus += 1;
+ racial_bonus += racial_bonus / 2;
}
}
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index 4707696e41..90474958fc 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -1425,16 +1425,17 @@ void gain_piety(int pgn)
snprintf(info, INFO_SIZE, "You can now %s.", pmsg);
god_speaks(you.religion, info);
}
- learned_something_new(TUT_NEW_ABILITY);
- }
- if (you.religion == GOD_BEOGH)
- {
- // every piety level change also affects AC from orcish gear
- you.redraw_armour_class = 1;
+ learned_something_new(TUT_NEW_ABILITY);
}
}
}
+ if (you.religion == GOD_BEOGH)
+ {
+ // every piety level change also affects AC from orcish gear
+ you.redraw_armour_class = 1;
+ }
+
if ( you.piety > 160 && old_piety <= 160 &&
(you.religion == GOD_SHINING_ONE || you.religion == GOD_ZIN ||
you.religion == GOD_LUGONU) && you.num_gifts[you.religion] == 0 )