| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
.cc, moving its contents into the new stepdown.cc and strings.cc.
(The latter also got many donations from libutil.h.)
Down with stuff! Up the new flesh!
|
| |
|
|
|
|
| |
The only place it was used.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
...by moving bloodspatter functions into their own file.
Death to misc.cc! Long live the new file hierarchy!
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
"This chunk gives you less nutrition" is not a very interesting effects,
and most of the time the only real effect is that you have to press 'e' a
few more times. If chunks on the whole are too common (which in the
current food environment is very hard to define) monsters in general can
give fewer chunks, or chunks can be less nutritious; no reason to make
some monsters special.
A good deal of code is still around because of the other less-nutrition
case, non-ghoul saprovores eating rotten chunks.
|
|
|
|
| |
Or of any other monster with M_NO_SKELETON.
|
|
|
|
|
|
|
|
|
| |
A good deal of functions move to the two new files, mon-poly and
mon-message. Of the others, some go to where they are used, some to
mon-util, and a few are made member methods of monster.
This probably breaks Xcode compilation, and I'm not able to test
the changes I made to MSVC that will (hopefully) keep it working.
|
| |
|
|
|
|
|
|
|
| |
Toting around an unbranded weapon just to be able to swap to it
is no fun, and not even that much more of a difficulty; maybe it
just means getting pain out takes 0.7 more turns or so. You still
can't overwrite artefacts, of course.
|
|
|
|
|
| |
Wieldability, usefulness of butchery and chunks, tile wield tip, and
monster food pickup.
|
| |
|
|
|
|
|
|
|
| |
...when berserking.
Should also prevent the wonderful message "No God
forces you to slow down."
|
|
|
|
|
| |
Some of them were missing the /** (or /*!) that makes doxygen consider
the comment in the first place.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Item inventory weights (based on item mass) generally don't lead to
meaningful decisions that justify the inventory juggling and interface
problems that come from having burden states. The 52-slot limit is a
better system for limiting inventory and providing inventory-related
decisions because it's not so fine-grained and doesn't require the
player to examine weights for each slot. Work is ongoing to improve
the slot system by consolidating food types and handling strategic
consumables in a different way.
|
| |
|
|
|
|
|
|
| |
A) It doesn't really promote interesting decisions
B) If desirable, it could be moved to a new mutation
|
|
|
|
| |
And replace them with DBL_MAX, which could theoretically be as low as 1e37.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When you strip away the fundamentally broken tension mechanic, you're
left with a species that is essentially "Hill Orcs WITH FIRE". No effort
has come forward with code to fix either aspect of them despite the
length of time they've been around in trunk, and the code is littered
with a very large number of special cases in their presence.
Current lava orcs should be able to finish their games fine, but new
starts are disallowed.
There are a couple of bits I've left present but which will have no
function for the moment, mostly related to interactions with lava (as
there are a couple of species proposals floating around that benefit
from having those interactions).
|
|
|
|
| |
There's probably a bunch more obsolete code for this still lying around.
|
|
|
|
|
|
|
| |
Because getting trampled into your own clouds is terrible.
Also disables this when under penance, which was an oversight for the
former.
|
|
|
|
|
|
| |
Trying to pick up a consumable while under Gozag penance occasionally
turns the consumable to a small amount of gold - more likely with higher
value items.
|
|
|
|
|
|
|
|
|
| |
Pay half the value of items in one of three randomly generated shops to
generate that shop on a level that can generate shops that you haven't
visited yet. This shop appears on the Overview screen with a darkened
level name so you know exactly where it appeared, and is announced (and
its location marked) when you arrive on the level so long as you are
still following Gozag at the time.
|
|
|
|
|
| |
They were so annoying they were removed from holy zigs, reducing their
appearnces to just a few vaults.
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the case of rings/amulets that identified themselves when they
had an effect, the player would want to try to put themselves in
a position where the item would identify, which was techincally
optimal but quite annoying. There were a few items that never
would identify, but on the whole it's not worth keeping around
the behavior just for them.
The ID code is pretty confusing and it's quite possible the
implementation is not ideal or there are actual bugs.
|
|
|
|
|
|
|
| |
It was something that was almost never relevant but that cluttered
up the code regardless. If it were to be more relevant that would
not really be a good thing since a chance for instadeath is rather
bad design.
|
|
|
|
| |
This could cause autopickup to burden the player with no prompt.
|
|
|
|
|
|
|
| |
Move calc_hp() to player.cc, and fix all but a couple instances where
you.hp is changed directly to use set_hp() instead. We'll eventually
just move these functions to inline methods for the player class, but
this reorganization will do for now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously "lethally poisoned" often didn't actually mean the poison would
be lethal if you rested it off, since it didn't take into account natural
regeneration. This made a lot of the poison display useless in many
situations.
This commit adds functions poison_is_lethal() and poison_survival(), the
latter of which returns the expected lowest that your HP will go based on
your current poison level and regeneration rate. This function is
occasionally off by one, hopefully always in the direction of surviving
with one more HP than expected... so occasionally "lethal" poison will
just leave you at 1 HP.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Partly this is to (somewhat) make the Abyss a little easier. Teleports
still take longer than orbrun teleports to kick in on average, and
in general letting the player know what an action will do is a good
thing.
But the main reason is that, due to maprot, same-area abyss teleports
are a pretty awful interface screw. You are prevented from remembering
what monsters were around (this was quite annoying when being marked
was more common in the abyss), and though you can see for one second
what direction you came from, immediately after the screen refreshes
and you can't anymore.
Possibly this could lead to improving/removing altogether maprot.
|
|
|
|
|
|
| |
The enum values were never checked in any code relating to chivalry,
except to see that a value wasn't 0 (ie it was a forbidden stab).
A recent bug arose from the bad naming, too.
|
|
|
|
| |
(And print an appropriate message)
|
|
|
|
|
|
|
|
| |
[It had much the same problems as racial weapons, with only very slightly more
significant effects. Some of the old effects of racial armour could potentially
be rethought and made into a new armour ego. Beogh still gives a (slightly
smaller than before) bonus for armour use, without the orcish requirement.
-MarvinPA]
|
|
|
|
| |
Get all your evokables in once place, folks!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most pathfinding checks assumed that the only thing a monster
would be trying to path towards was the player, even though this
was frequently untrue (either hostile monsters targeting player allies
or friendly monsters trying to reach other monsters). A few bugs
existed as a result of this:
When monsters without ranged attacks would check the reachability of
their foe, they would check the reachability of the player instead,
regardless of what was shooting at them or whether the player was
even involved in the battle. This meant that melee-only monsters
would flee from ranged attacks in the arena (where the player is
understandably never reachable) and also could show up occasionally in
normal play - such as retreating from an oklob fort if the player
is behind water.
I expect there are a few other bugs related to similar assumptions,
but moreover, allowing monsters to use proper pathfinding to non-player
foes likely improves ally intelligence somewhat.
As always with fiddly monster behavioral code, there is a non-trivial
chance that some important side-effect has been overlooked, but initial
testing looks good.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently if you melee an "object" (according to mons_is_object()) such
as a conjured ball lightning, you get a penance warning if worshiping
TSO. This is a "bad attack" and should give a prompt, but will not cause
penance. This commit fixes this by making the necessary call to
god_hates_attacking_friend() to determine if penance would occur. This
also fixes the case when you attack allies/followers under beogh, which
currently doesn't give a penance warning (although it does give a bad
attack warning).
This commit also cleans up is_unchivalric_attack() so that attacking an
object is not reported as unchivalric and attacking a friend that your
god doesn't hate for you attack isn't reported as UCAT_ALLY. These seem
to both be technicalities at this point, but they should avoid some
confusion if conducts change or new gods appear.
|
|
|
|
|
|
|
|
| |
Add an extra step in _create_monster_hide to automatically identify
chopped dragon and troll hides. Hides are already always generated as +0
uncursed, so identifying them automatically removes both a spoiler and an
unnecessary step of forcing the player to wear or ?identify dragon
armours that they have created specifically to enter a trove.
|
|
|
|
|
| |
The full typed "yes" probably isn't necessary with the addition of the
extra warning and colouring of the message.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The prompt to hit an enslaved creature differs very little regardless of
your god, even if it would cause penance with that god. This patch makes
such attacks require yes_or_no like walking into a Zot trap instead of
yesno, and explicitly states that it will cause penance with your god.
For reference, only betrayal attacks under Okawaru and the good gods,
attacking neutral creatures under Elyvilon or TSO, unchivalric attacks
under TSO, and plant betrayal under Fedhas is affected; attacks with
brands offensive to your god are not, and neither are attacks which
only cause piety loss.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most particularly this applies to water, when cannot be bloodied. But
it seems curious that sharks have a gimmick that involves reacting to
blood, when combat in their native terrain can never produce anyway. Since
there are good reasons not to recolor water red all the time, instead
merely trigger blood scent when blood would otherwise have been created,
but do not bloody the square itself.
Something similar could arguably be done for Ignite Blood, though I am
uncertain of the implications of creating massive clouds of steam whenever
you fight over water.
|
|
|
|
|
| |
Sometimes, they're there to emphasize a break between two sections of code,
which is good. In a majority of cases, though, they're just inconsistent.
|
|
|
|
|
| |
Games saved with a perma-seal should fix themselves on player's next
turn when run_environment_effects is called.
|
|
|
|
|
| |
This caused crashes, and was weird: a closed door would appear out of
nowhere.
|