summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/monster.cc
Commit message (Collapse)AuthorAgeFilesLines
...
* Switch angels from using great maces to holy scourges.David Lawrence Ramsey2009-11-191-0/+3
| | | | | They'll do less damage, but their great speed and healing powers mean that they won't be weakened much.
* And update what monsters can wield one more time, in a better way.David Lawrence Ramsey2009-11-191-6/+24
| | | | | | Currently, there are no unclean weapons, and Fedhas gives no monsters as gifts that can wield weapons, but cover those cases anyway, just in case.
* Update what monsters can wield based on unholy/evil and unclean/chaotic.David Lawrence Ramsey2009-11-191-5/+9
|
* Split chaotic things into unclean and chaotic things.David Lawrence Ramsey2009-11-191-7/+28
| | | | | | | | | | Chaotic things are now shapeshifters, mutators, etc., while unclean things are diseasing things, rotting things, etc. Zin still hates both. As good gods treat both unholy and evil monsters as evil, he'll treat both unclean and chaotic monsters as chaotic. Note that silver will only do extra damage to chaotics, as before.
* Clean up rotting resistance checks, as they're effectively boolean.David Lawrence Ramsey2009-11-181-1/+1
|
* Count AF_DISEASE attacks as chaotic, to cover e.g. rotting hilks.David Lawrence Ramsey2009-11-181-1/+2
|
* Shaft trap behavior modified. They now are one-time use and pre-knowledge of ↵Alex MacDonald2009-11-181-1/+1
| | | | | | shaft traps (i.e. using them intentionally) will improve the chances of the player landing fewer levels away. Shaft traps also now randomly determine their destination. Monsters cannot follow the player through shaft traps. Signed-off-by: David Ploog <dploog@users.sourceforge.net>
* Flatten header dependencies a bit.Robert Vollmert2009-11-171-1/+4
| | | | | | This removes a couple of unnecessary includes from header files. I may have missed adding some tiles includes.
* Fixed monsters class unitialized memory propblemMatthew Cline2009-11-151-6/+7
| | | | | | The monsters constructor wasn't initializing the base_monster member, which led to a Valgrind unitialized memory warning in monsters::upgrade_type()
* Fix spore production always getting re-added (oops)Charles Otto2009-11-151-1/+5
| | | | | Fix a logical error preventing spore production from ever getting removed from a ballistomycete.
* Fix some arena asserts.Matthew Cline2009-11-151-0/+2
|
* Decrease the ballistomycete spawn timerCharles Otto2009-11-141-2/+1
| | | | Reduce the expected time to spore production to 100 (was 150).
* Move mtransit to mon-transit.Vsevolod Kozlov2009-11-141-1/+1
|
* Cut vorpal to 12.5% average (FR 2883704)Stefan O'Rear2009-11-131-1/+1
|
* New monster vault flags: name_descriptor, name_definite.Jude Brown2009-11-141-5/+9
| | | | | | This changes the mechanics of naming slightly, allowing you to give a monster a name that is a descriptor and will be treated with the usual articles (your, the, a, etc) rather than as a name. See documentation.
* Change ballistomycete spawn mechanics (again)Charles Otto2009-11-131-1/+12
| | | | | | | | | | | When a spore pops or a ballistomycete is killed randomly select a single ballisto to activate instead of activating the entire level's worth. Along with this, only deactivate the ballisto that produced a spore instead of deactivating the entire level. Rationale: since inactive ballistos don't interrupt travel anymore it's nicer from an interface perspective to keep most of the ballistos on the level inactive.
* Fix zombies/skeletons/... casting spells they could do during life.Adam Borowski2009-11-141-0/+3
| | | | | This was caused by bind_spell_flags() marking them as spellcasters when mcls was temporarily changed to the base type to get the stats.
* Put duplicated body weight calculations into actor::.Adam Borowski2009-11-131-32/+1
|
* Let unrandart shields have a melee_effect func, called on successful block.Adam Borowski2009-11-131-1/+3
|
* Replace observe_cell by you.see_cell.Robert Vollmert2009-11-131-5/+5
|
* Move duplicated can_hibernate code into actor.Jude Brown2009-11-131-25/+0
|
* Replace monster_index with monsters::mindex.Vsevolod Kozlov2009-11-131-3/+3
|
* Use monster_iterator in ballistomycete functionsCharles Otto2009-11-131-2/+2
| | | | Also some comment and whitespace changes.
* Messaging and code formatting (+comment) improvements.Charles Otto2009-11-131-3/+3
|
* Merge spore experiments branch.Charles Otto2009-11-131-7/+26
|\
| * Change ballistomycete spore mechanics againCharles Otto2009-11-121-13/+2
| | | | | | | | | | | | | | | | New status: if a ballistomycete or giant spore dies any ballistos on the level get +1 to a counter. Ballistos with a count higher than zero get spore production on a short (~150 turn) timer. When a spore is spawned (by a ballisto) the count of all ballistos on the level is decreased by 1.
| * Change the ballistomycete activation mechanicCharles Otto2009-11-111-2/+15
| | | | | | | | | | | | | | Give ballistomycetes a counter, when it's at zero they have the slow spawn rate (are considered inactive), when it's greater than zero they have the fast spawn rate. Killing a ballisto gives +1 to any others on the level, a ballisto spawning a spore subtracts 1 from its own counter
| * Give giant spores a chance of spawning ballistos while wanderingCharles Otto2009-11-111-11/+14
| | | | | | | | | | | | Give giant spores a chance of creating a ballistomycete when they move while wandering. This ability is on a timer, so they can't create more than 1 ballisto per 20 turns. Numbers may need tweaking.
| * Change ballistomycete spore spawning mechanicsCharles Otto2009-11-111-11/+25
| | | | | | | | | | | | | | | | | | | | Make spore production use a timer instead of a chance per turn. Give ballistomycetes 2 basic states, for now differentiated by glyph color. They start out magenta and have a slow spawn rate (1 per ~1500 turns), when a ballisto dies any others on the level become active, changing color to light red and spawning spores quickly (1 per ~150 turns)
* | Implement monster swiftness, and give it to GastronokStefan O'Rear2009-11-121-5/+14
| |
* | Monsters track who summoned themStefan O'Rear2009-11-121-0/+2
| |
* | Rename can_sleep/put_to_sleep to can_hibernate/hibernate.Jude Brown2009-11-121-3/+3
| | | | | | | | | | | | This reflects the fact that these functions are currently only used to player and monster ensorcelled hibernation/metabolic englaciation, and thus both check monster's cold resistance.
* | Add summoner and non_actor_summoner to mgen_dataStefan O'Rear2009-11-121-1/+2
| | | | | | | | | | Monsters now know who summoned them. This will be important later. Probably breaks something; saves are not one of them.
* | Rename SPELL_BACKLIGHT -> SPELL_CORONA, and relevant ZAP/BEAM/DUR.Jude Brown2009-11-121-5/+5
| |
* | Add a CrawlHashTable to monster objectsStefan O'Rear2009-11-121-1/+1
| |
* | Fix another monster_type == -1 check.Robert Vollmert2009-11-121-1/+1
| |
* | Crossbows of shocking, for everyone. Launchers of holy wrath, for dpeg's ↵Adam Borowski2009-11-121-0/+2
| | | | | | | | | | | | | | | | | | | | angels. Neither cause additional mulching of ammo, since both the charge and blessing is temporary. Blessing and reaping cancel each other. Holy wrath launchers are a lot weaker than silver ammo, but these two stack. Plus, they're permanent while ammo is scarce.
* | Rename monspeak/monplace/monstuff to mon-speak/place/stuff.Jude Brown2009-11-121-3/+3
|/ | | | | I'm pretty sure I've managed to replace every instance of a reference to these files, so I hopefully haven't missed anything.
* Properly split up unholy and evil items, reworking is_(unholy|evil)().David Lawrence Ramsey2009-11-101-3/+16
| | | | This is mainly for Fedhas, who hates the latter but not the former.
* Replace actor::is_unholy() with actor::undead_or_demonic().David Lawrence Ramsey2009-11-101-6/+6
|
* Add actor::undead_or_demonic() to check for those holiness types.David Lawrence Ramsey2009-11-101-0/+7
|
* Replace monsters::is_magic_user() withDavid Lawrence Ramsey2009-11-101-5/+0
| | | | | monsters::is_actual_spellcaster(), as it's simpler, and monsters with the "actual spells" flag should always have spells anyway.
* Replace mons_is_magic_user() with monsters::is_magic_user().David Lawrence Ramsey2009-11-101-0/+5
|
* Move monsters::is_shapeshifter() in monster.cc down to match monster.h.David Lawrence Ramsey2009-11-101-5/+5
|
* Make actor::heal return bool; move heal_monster to monsters::heal.Vsevolod Kozlov2009-11-101-4/+30
| | | | | | | | monsters::heal and heal_monster used to have slightly different logic for increasing maximum HP. Now the heal_monster logic is used everywhere. player::heal always returns true at the moment, but since its return value is never checked, that does not affect anything.
* Remove a few obsolete includes.Robert Vollmert2009-11-101-1/+0
| | | | Also add a few previously indirect includes.
* Split shouting and stealth code from view.cc.Robert Vollmert2009-11-101-0/+1
|
* Make Crazy Yiuf an actual unique, combining aspects of the Mad Roy FR.Jude Brown2009-11-101-1/+4
| | | | | | | Yiuf still only appears in his cottage (generated from D:2-7), still generates with a quarterstaff of chaos and a cloak, but is now randomly coloured at the start of the game, and has randomised speech. You leg down broken song!
* Adjust hell knights again.David Lawrence Ramsey2009-11-091-9/+0
| | | | | | | | | | | They only get hellfire resistance now (with the fire resistance that implies), and their spellbooks have been tweaked so that both contain evil spells: the first has Throw Flame added as a complement to the second's Bolt of Fire, and the second has Pain added as a complement to the first's Pain. Accordingly, the check for natural monsters' resisting hellfire has been removed from monsters::is_evil().
* Add an is_holy() function to the actor interface.David Lawrence Ramsey2009-11-091-9/+32
| | | | | | | | | | | | This is consistent with similar functions in that it checks not only for MH_HOLY holiness, but whether the monster is a priest of a good god (currently, there are none) and whether it uses holy spells (currently, there are none after the changes described below). Minor and Major Healing are now enchantments rather than holy spells. The beam code treats them as such; wands of healing aren't holy items the way e.g. wands of draining are evil items; and unholy monsters (among others, Lom Lobon!) can cast these spells.