summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-project.cc
Commit message (Collapse)AuthorAgeFilesLines
* Remove stuffNicholas Feinberg2014-07-291-1/+1
| | | | | | | .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!
* Separate 'permanent' and 'temporary' monster hit diceNicholas Feinberg2014-07-131-1/+1
| | | | As part of a wider scheme to make draining temporary.
* Fix magical shields being unable to block most ranged attacks (#8772)Chris Campbell2014-07-091-2/+2
| | | | | | | | They checked that the player either had a shield equipped or had the bone plates mutation, so TSO's divine shield, Qazlal shielding and Condensation shield could all never block ranged attacks (except for those from ranged weapons, since those now follow the same codepath as melee attacks!).
* The great mon-stuff migration.Shmuale Mark2014-06-221-1/+0
| | | | | | | | | 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.
* Whitespace fix.Steve Melenchuk2014-06-061-1/+1
|
* Properly credit kills from reflected IOOD (#3941)Neil Moore2014-06-061-0/+17
|
* Rename BEAM_NUKE to BEAM_DEVASTATIONreaverb2014-06-051-1/+1
|
* Make Orbs of Destruction less crashyNicholas Feinberg2014-05-281-2/+6
|
* Boulder beetle verisimilitude (7988)Nicholas Feinberg2014-05-281-2/+4
|
* Blow up a couple of instances of blown up by.Steve Melenchuk2014-04-121-1/+1
| | | | Prevents "blown up by lich" (sic) and "blasted by (bolt of fire)".
* Move mon death stuff from mon-stuff.cc to mon-death.cc.Shmuale Mark2014-04-121-0/+1
| | | | | | | Touches a lot of files since their #includes have to be edited. (Pushing now since it shouldn't break anything and keeping it updated is nasty.)
* Make IOODs fizzle instead of exploding when colliding with low distanceChris Campbell2014-03-181-7/+28
| | | | | Orbs that have only travelled one square will just dissipate. Should prevent accidental self-explosion with the spell or the Orb card.
* Don't make visible orb/boulder collisions silent.Neil Moore2014-02-251-0/+6
| | | | | | The OOD explosion made noise, but less than the collision itself should have (radius-1 explosion makes 15 noise, out-of-view OOD collision 40). Boulder beetle collisions made no noise at all when visible to the player.
* Don't let Dryads walk through treesChris Campbell2013-12-031-1/+0
| | | | | | | | | | Being able to awaken trees and pull you next to them is a strong combination on its own, it's not necessary for them to also hide in the trees while doing so. Removes a lot of code for handling wall movement since rock worms are gone too, but leaves HT_ROCK - it appears that spatial maelstroms sort-of-use it (not sure if they actually need it, though).
* Remove rock worms.Adam Borowski2013-11-291-1/+1
|
* Replace `mpr(s, ch)` with `mprf(ch, s)`Adam Borowski2013-11-291-1/+1
| | | | | | | | | Also simplify quite a few cases. It turns out in >90% cases of non-literals the argument had .c_str(), which meant it was pointlessly malloc()ed and converted from and to std::string. I believe a sprintf is faster, so even the argument of miniscule speed-up doesn't apply.
* More formatting fixes for return (...);Neil Moore2013-11-151-1/+1
|
* Drop unnecessary parentheses from return statements.Adam Borowski2013-11-151-1/+1
|
* Fix a crash when a boulder beetle dies to its own first move.Adam Borowski2013-10-241-0/+3
| | | | | | Besides, why should they even get to start rolling if there's an enemy next to them? Isn't rolling damage supposed to require some space to gain momentum? They can keep biting when up close.
* Fix a crash if a boulder beetle dies due to damage it deals.Adam Borowski2013-09-301-1/+1
| | | | | In this case, this was an inner flame explosion, which we really should make a fineff.
* Don't let IOOD circle submerged creatures (#7520).Neil Moore2013-08-291-2/+3
|
* Store IOOD's caster in monster.summoner.Adam Borowski2013-08-251-3/+3
|
* Fix and clarify several cases of buggy boulder behaviourPete Hurst2013-04-111-10/+14
| | | | | | | | | | | Including #6900 - boulders reverting position after dispersal. Then there were several cases where code assumed mons_is_projectile checked rolling boulder beetles, but in fact it didn't. I added a monster::is_projectile() check which looks at both mons_is_projectile and mons_is_boulder, and called this from the relevant places. Several times mons_is_projectile is actually just required for an IOOD check. Also added support for catchup_move for boulders; previously they would be sat on the same square (not rolling) when you returned to a level no matter how long you'd been gone. This was omitted from the original implementation.
* Add formatting fixes.David Lawrence Ramsey2013-03-101-3/+5
|
* Fix strange interaction of boulder beetles and fluidsPete Hurst2013-03-101-1/+15
|
* Rename arcane familiar to battlesphere.elliptic2013-02-091-1/+1
| | | | | | | | The word "familiar" suggests a summon rather than a magical construct; this spell is much more like Conjure Ball Lightning than Call Canine Familiar. Since the suggestion "battlesphere" has met with great approval (or at least nobody has come up with better), let's use that.
* Allow IOODs to go past arcane familiars (like all other beams).Adam Borowski2013-02-031-1/+1
|
* Unify player and monster inaccuracy.Adam Borowski2012-10-261-4/+4
| | | | | Besides simplifying the code, this makes suppression apply to monster inacc, and also fixes monster IOOD being affected by an amulet worn by the player.
* Make most misc effects use victim->apply_ac().Adam Borowski2012-10-031-1/+1
| | | | | | | | | | | Airstrike, Tornado, spines, earth miscasts, Mi headbutts. In the case of Airstrike, this is a nerf by 0.5 points of damage on the average. Monster minotaur headbutts get a big buff as their attacker's (ie, usually your) AC is no longer applied as a constant, but as random2(1 + ac) like in other cases.
* Give pghosts and pillusions flawed IOODs.Adam Borowski2012-08-291-5/+15
| | | | | | They were players once, and thus couldn't possibly get the full version (per the spell's description). All other users are centuries old, or don't need books in the first place.
* Use std namespace.Raphael Langella2012-08-261-1/+1
| | | | | | | | | | | | | I had to rename distance() (in coord.h) to distance2() because it conflicts with the STL function to compare 2 iterators. Not a bad change given how it returns the square of the distance anyway. I also had to rename the message global variable (in message.cc) to buffer. I tried to fix and improve the coding style has much as I could, but I probably missed a few given how huge and tedious it is. I also didn't touch crawl-gdb.py, and the stuff in prebuilt, rltiles/tool and util/levcomp.*, because I have no clue about those.
* Remove duplicate "The orb of destruction hits you!" message.Steve Melenchuk2012-08-241-4/+0
| | | | | | | Apparently this was present on account of some inconsistencies in the beam code which have since been addressed. Fixes #6118.
* Prune duplicate-in-spirit message when rolling boulder beetle hits player.Steve Melenchuk2012-08-041-1/+1
| | | | | Previously, one would see "The boulder beetle hits you! The boulder beetle smashes into you!"; now one only sees the latter message.
* Make boulder beetles flee in the correct direction.elliptic2012-08-021-2/+4
|
* Fix the logic of boulder beetles stopping when rolling over stuff.Adam Borowski2012-07-181-3/+4
| | | | | | | | They'll continue iff the victim dies. They used to fail to stop, resulting in teleporting through people. Their internal idea of position was out of sync with reality, making them think they were on the actor they hit, rather than the place before.
* Add an article for the poor bugger a boulder smashes into.Adam Borowski2012-07-181-1/+1
| | | | Only "you" was correct there.
* Get rid of massive code duplication between iood and boulder beetles.Adam Borowski2012-07-181-309/+90
|
* Make being rolled over by a boulder beetle a separate ktyp.Adam Borowski2012-07-181-22/+14
| | | | | This allows us to make the obituary have a reasonable wording: beams are all about hitting stuff from afar, rolling boulders not so.
* Boulder beetles now spend energy when hitting something in boulder form.Steve Melenchuk2012-07-151-2/+5
| | | | | | | | This wasn't previously being accounted for properly, and was resulting in boulder beetles getting extra moves the turn after they stopped rolling. Fixes 0005839.
* Drop parentheses around scalar values in "return".Adam Borowski2012-07-051-29/+29
|
* Make feature renames local to a vault rather than the whole level.Adam Borowski2012-07-051-2/+2
| | | | | | | | For technical reasons (vault_placement), subvaults use renaming data of the top-level vault, this might be changed one day; that'd require a bit more writing but would allow different renames in different subvaults. TODO: "line of fire blocked by XXX".
* Allow monsters to wear rings and amulets.Steve Melenchuk2012-06-121-2/+4
|
* Fix message for death to one's own IOOD (sgrunt).Neil Moore2012-06-051-1/+1
|
* Drop pointless braces after if/for/while everywhere.Adam Borowski2012-04-201-4/+0
|
* Item effect -> player effect abstraction, part 1Ben Striegel2012-04-041-1/+1
| | | | There are a whole bunch of places in the code where effects on the player are determined by directly checking for whether a single item is equipped. For example, `wearing_amulet(AMU_STASIS)`. This commit abstracts all of these checks into actual effects, such as `player_effect_stasis()`, to more easily jive with checking for suppression. For some effects, especially resist mutation, more work still needs to be done to unify effect checking... but this suffices for the moment.
* Suppression aura effects, part 1Ben Striegel2012-04-041-1/+1
| | | | | | | | | | | This first round of suppression effects focuses solely on denying the player any advantages (and disadvantages!) from equipped magical items. Specifically, I searched for the following three strings in the source: "wearing", "player_equip", and "scan_artefact" and added a "you.suppressed()" clause to ensure that effects only apply outside of fields of magical suppression. There's a lot more to do, but this is a good start. Specifically, this addresses the most important aspect of the suppression aura, which is to deny the player any resists from items.
* Simplify and increase boulder beetle damageChris Campbell2012-04-041-3/+1
|
* Merge branch 'boulder_beetles'Chris Campbell2012-03-311-0/+305
|\
| * Whitespace/indentation fixesChris Campbell2012-03-281-8/+11
| |
| * Use HD to determine to-hit for shielding bouldersChris Campbell2012-03-281-1/+1
| |