diff options
Diffstat (limited to 'crawl-ref')
-rw-r--r-- | crawl-ref/source/abl-show.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/acr.cc | 5 | ||||
-rw-r--r-- | crawl-ref/source/dat/lair.des | 80 | ||||
-rw-r--r-- | crawl-ref/source/debug.cc | 25 | ||||
-rw-r--r-- | crawl-ref/source/debug.h | 1 | ||||
-rw-r--r-- | crawl-ref/source/fight.cc | 7 | ||||
-rw-r--r-- | crawl-ref/source/monplace.cc | 21 | ||||
-rw-r--r-- | crawl-ref/source/player.cc | 24 | ||||
-rw-r--r-- | crawl-ref/source/religion.cc | 13 |
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 ) |