diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-08-04 13:15:07 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2007-08-04 13:15:07 +0000 |
commit | 40e2d7d94c4dff6c8e9a0b31139d86adcbb91e7c (patch) | |
tree | ad874947291db76da968d20c26cdc6507dccf13b /crawl-ref/source/effects.cc | |
parent | 80c38b0682f61fc2901af257cc115676bacc9bde (diff) | |
download | crawl-ref-40e2d7d94c4dff6c8e9a0b31139d86adcbb91e7c.tar.gz crawl-ref-40e2d7d94c4dff6c8e9a0b31139d86adcbb91e7c.zip |
Part two of godly changes.
Trog's abilities Might and Haste have been replaced with
Regeneration (Trog's Hand) and summoning (Brothers in Arms).
Right now, berserking summonings don't behave as intended
as they'd rather follow the player than attack a monster
closer to them. Also, they should disappear when Berserk
runs out.
God gifts of Trog and Okawaru are now tweaked towards damage
(Trog) or accuracy (Oki). In general, gifts no longer need
praying to appear. Right now, this means that they're more
likely (I think), so the gift timeout numbers will probably
have to be changed.
I've also done the much-needed update of tutorial.cc, so
that it now gives correct information about praying, saccing
and escape hatches.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1962 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/effects.cc')
-rw-r--r-- | crawl-ref/source/effects.cc | 45 |
1 files changed, 38 insertions, 7 deletions
diff --git a/crawl-ref/source/effects.cc b/crawl-ref/source/effects.cc index 66ce66797d..7df469dd70 100644 --- a/crawl-ref/source/effects.cc +++ b/crawl-ref/source/effects.cc @@ -1316,6 +1316,21 @@ bool acquirement(object_class_type class_wanted, int agent) default: break; } + + int plusmod = random2(4); + // more damage, less accuracy + if (agent == GOD_TROG) + { + thing.plus -= plusmod; + thing.plus2 += plusmod; + } + // more accuracy, less damage + else if (agent == GOD_OKAWARU) + { + thing.plus += plusmod; + thing.plus2 -= plusmod; + } + } else if (thing.base_type == OBJ_ARMOUR && !is_fixed_artefact( thing )) @@ -1497,18 +1512,22 @@ void yell(void) mpr("What do you say?", MSGCH_PROMPT); mprf(" ! - %s", cap_shout.c_str()); - mpr(" a - Order allies to attack a monster"); - if (!(you.prev_targ == MHITNOT || you.prev_targ == MHITYOU)) + if (!you.duration[DUR_BERSERKER]) { - struct monsters *target = &menv[you.prev_targ]; + mpr(" a - Order allies to attack a monster"); - if (mons_near(target) && player_monster_visible(target)) + if (!(you.prev_targ == MHITNOT || you.prev_targ == MHITYOU)) { - mpr(" p - Order allies to attack your previous target"); - targ_prev = true; + struct monsters *target = &menv[you.prev_targ]; + + if (mons_near(target) && player_monster_visible(target)) + { + mpr(" p - Order allies to attack your previous target"); + targ_prev = true; + } } - } + } mprf(" Anything else - Stay silent%s", one_chance_in(20)? " (and be thought a fool)" : ""); @@ -1524,6 +1543,12 @@ void yell(void) return; case 'a': + if (you.duration[DUR_BERSERKER]) + { + canned_msg(MSG_TOO_BERSERK); + return; + } + mpr("Gang up on whom?", MSGCH_PROMPT); direction( targ, DIR_TARGET, TARG_ENEMY ); @@ -1544,6 +1569,12 @@ void yell(void) break; case 'p': + if (you.duration[DUR_BERSERKER]) + { + canned_msg(MSG_TOO_BERSERK); + return; + } + if (targ_prev) { mons_targd = you.prev_targ; |