summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-07-12 09:33:21 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-07-12 09:33:21 +0000
commit74c498a25a9ea3e5d03a41e6cc0e9822e94d5c9c (patch)
treee9690d2a18f9f1c94881fab0e77a710bfd130388 /crawl-ref
parent19c5f0f487097c52311565adcc12546c703e0a79 (diff)
downloadcrawl-ref-74c498a25a9ea3e5d03a41e6cc0e9822e94d5c9c.tar.gz
crawl-ref-74c498a25a9ea3e5d03a41e6cc0e9822e94d5c9c.zip
Beogh balancing:
- Cut Beogh's racial armour bonus. - Reduced weapon damage bonus by 50% at low piety. - Increased smiting food and piety cost. The piety cost may still be too low given how easy it is to gain Beogh piety. Tweaked monster generation, which had become too bland. Reintroduced shoal vault (onia_ninara_012_swampy_vault_shoal) which seems to work now. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1844 c06c8d41-db1a-0410-9941-cceddc491573
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 )