summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-chimera.cc
Commit message (Collapse)AuthorAgeFilesLines
* Separate 'permanent' and 'temporary' monster hit diceNicholas Feinberg2014-07-131-1/+1
| | | | As part of a wider scheme to make draining temporary.
* Refactor pairs of asserts to ASSERT_RANGE.Adam Borowski2013-11-161-4/+2
| | | | More readable, and failures give more informative messages.
* Refactor ASSERT(a && b) againBrendan Hickey2013-11-151-2/+4
| | | | | | This commit converts ASSERT(a && b) to ASSERT(a); ASSERT(b); Assertions of the form !(a && b) are left intact, since there isn't an obvious readability gain over (!a || !b).
* Move mons_is_stationary() to struct actor.Adam Borowski2013-09-131-1/+1
| | | | Simplifies code in a number of places, and also fixes a few tree-moving bugs.
* Revert "Bye bye clinging."Raphael Langella2013-08-121-1/+4
| | | | | | | | | | | | | Clinging might be a minor feature, but it's a distinguishing one, it's thematic and it's working quite well. Player/monster symmetry has never been a goal, so it seems dubious to invoke it as the reason to throw away all the work that has been put into clinging. We can always say that the player turns into a different kind of spider which is unable to cling for some reason. This reverts commit bdc56382eacf7af1b2330dc6444916d368741fec. This reverts commit d689486464fcaaac025a6f469ab69674a2f4d173. This reverts commit 1addaaf8ee92de5060fdb436f93251843abd2035.
* Bye bye clinging.Adam Borowski2013-07-101-4/+1
| | | | | | | | | | | With player clinging removed, monster doesn't make much sense. Note that I personally somehow like clinging -- even if it's rarely useful except early on, it was quite harmless. However, I'm strongly against having players and monsters inconsistent when there's no very good reason. Thus, reverting this and MarvinPA's change is an option. Just please keep or revert them together.
* Properly set chimera speed and flightPete Hurst2013-07-021-8/+6
| | | | | Since these values are now controlled by the ghost structure, the logic for setting and retrieving them has changed.
* Change chimera to use ghost_demon object and implement resistsPete Hurst2013-07-011-23/+53
| | | | | Currently resists are additive between the three different parts. Also the chimera now gets SInv if one of the parts has it.
* Fixed ineffectual statementsPete Hurst2013-06-241-3/+3
|
* Give chimera proper AC/EVPete Hurst2013-06-241-1/+6
| | | | | | Previously it was taking the (dummy) AC/EV from the MONS_CHIMERA base class. Now it takes it from the first part and possibly the EV from spider legs.
* Let all chimera properly use spellsPete Hurst2013-06-231-0/+7
| | | | | | The MF_SPELLCASTER flag wasn't getting set for subsequent parts, so no matter what book they had they weren't using it (unless the first monster happened to be a spellcaster).
* Implement chimera legsPete Hurst2013-06-231-3/+24
| | | | | | | This allows the chimera to take the legs of one of their parts. This can give them the base speed of the legs monster, also enables clinging, and for jumping spiders, will flavour a self-blink as a jump instead of a blink.
* Let place: syntax work for chimeraPete Hurst2013-06-231-0/+8
| | | | | | This allows e.g.: place:Zot:5 chimera
* Let chimera wings affect its speedPete Hurst2013-06-231-0/+7
| | | | | If parts 2 or 3 have wings, take an average of the winged monster's speed and the base monster's speed.
* Allow random chimera to be created with MONS syntaxPete Hurst2013-06-231-14/+73
| | | | | | | | | | This enables a MONS spec to just be "chimera" and three depth- appropriate monsters will be used. This can produce bizarre results but might be useful. It should also allows things like "place:Zot:5 chimera vs place:Pan chimera" in Arena. The filters could be refined further to allow random chimera to not be completely ridiculous.
* Don't give chimeras the colour of the base monster.Neil Moore2013-06-221-0/+1
| | | | | | | I like the effect, but it causes collisions with other H monsters. Apparently it was unintentional. It has been suggested to put chimeras on 'Q', or to make them flicker between all the base type colours; that would avoid this problem.
* Handle chimera noisesPete Hurst2013-06-211-0/+6
| | | | | | | | | | | | | | | | | In monster data it changes to S_RANDOM; this is fine for most purposes for which this is used, e.g. determining whether or not a monster is silent. In handle_monster_shouts itself, the shout type is substituted for the shout of one of the constituent parts. There is a question mark over do_mon_str_replacements -- in most of the places it's called from, chimera are irrelevant, and when it's called from handle_monster_shouts the shout type we already determined is passed in. So there shouldn't be any strange cases, unless perhaps someone made something new that used sentient monsters as chimera components. Would need to refactor mons_shouts to accept a monster instead of a monster_type to make this any better.
* Construct chimera spell books more sensiblyPete Hurst2013-06-211-18/+24
| | | | | | | | | | Rather than filling any available slots with any old spells, this uses the misc slots for potential bolt spells, and correctly copies spells from special slots (enchant, self-ench, emergency). This provides for situations like bear chimera using berserk properly as an escape spell.
* Support spell lists of 2nd and 3rd chimera partsPete Hurst2013-06-211-0/+21
|
* Allow chimera to fly if any base creatures are wingedPete Hurst2013-06-211-7/+22
|
* Allow chimera to be battyPete Hurst2013-06-211-0/+28
| | | | | If they have a batty component they'll now have bat wings.
* Improve chimera descriptionsPete Hurst2013-06-211-2/+2
| | | | | Comma-separated the short description, and clarified the three-headed situation.
* Implement Chimeric monstersPete Hurst2013-06-211-0/+67
After creating the monster, the make_chimera function in mon-chimera.cc can be used to set its component creatures.