summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-place.cc
Commit message (Collapse)AuthorAgeFilesLines
* Allow toadstools on tiles Fedhas worshipers are standing onCharles Otto2010-01-171-3/+8
| | | | | Mostly this is so that decomposition can work on corpses the player is standing on. Update the decomposition ability description accordingly.
* Specialcase mimics and dancing weapons in tilenum initialisation.Johanna Ploog2010-01-161-6/+5
|
* Fix for bug 438: when drawing Dance, and probably creating dancing weaponsHaran Pilpel2010-01-161-0/+5
| | | | | | | | in other ways too, we would call _maybe_init_tilenum_props, which tries to get the basetile for the dancing weapon, which crashes because we haven't given it the weapon yet (this was all happening in create_monster().) This is a major hack; someone more familiar with tiles should fix this better.
* Add new props value "tile_num" and use it for randomized monster tiles.Johanna Ploog2010-01-151-7/+18
| | | | | | | | | | | | | | | | Monsters that have several variant tiles will now get a random value written into tile_num at creation, so when their tile gets drawn one of the set is picked, but always the same one. In practise, this is currently only used for slaves and toadstools. Other monsters that have variant tiles, such as ugly things, kraken tentacles, or slimes creatures, are handled specially. Generally, such differences should be small and flavourful. The greater the threat of a given monster the more important it is that the player will recognize it immediately. (Of course, this restriction does not hold if the tile actually transport information as is the case for ugly things' colours etc.)
* When the slave monster is placed, sometimes make it use the new tile.Johanna Ploog2010-01-141-3/+16
| | | | This should lead to a more flavourful look of Pikel's slave band.
* Trim unnecessary #includes.Adam Borowski2010-01-131-1/+0
|
* Make merged slime creatures light green, acid blobs light cyan.Adam Borowski2010-01-131-0/+2
| | | | | | You can override that, both the colour and the glyph. The code is exceedingly hairy (the check is tripled!), thanks to glyphs sometimes stored as character:colour, sometimes as type:colour.
* And let single centaurs spawn in Shoals. (Greensnark, sorear)Jude Brown2010-01-081-1/+1
| | | | | This keeps with the current "Greek" theme of Shoals. Single monsters are certainly more desirable than packs in this context.
* Add snapping turtles, alligator snapping turtles and sea snakes to the ↵Darshan Shaligram2010-01-081-1/+2
| | | | | | Shoals, remove yaktaurs, centaurs and stone giants. Snapping turtles get reaching attacks. Sea snakes get strong venom.
* Don't allow NPC merfolk to submerge (sirens and mermaids can still submerge).Darshan Shaligram2010-01-011-3/+0
|
* Implement fish corpses and kraken zombies.Stefan O'Rear2009-12-301-1/+3
|
* Give Shoals huts a guard of shoals monsters, remove plants from Shoals ↵Darshan Shaligram2009-12-301-1/+1
| | | | random gen - the terrain builder will place lots of plants as scenery anyway.
* Give boss merfolk small bands of regular merfolk as lackeys.Darshan Shaligram2009-12-301-3/+34
|
* Give Ilsuiw a more interesting band.Darshan Shaligram2009-12-291-3/+8
|
* Rename MF_CREATED_FRIENDLY to MF_NO_REWARD, since that's all it's used for ↵Stefan O'Rear2009-12-281-2/+2
| | | | these days.
* Move and tweak Mislead code.Jude Brown2009-12-281-0/+4
| | | | | Newly placed monsters during the mislead status are also given a mislead_as monster type.
* Add sixfirhies to summon_any_demon(), with a 3% chance in the middle tier.Adam Borowski2009-12-221-2/+3
|
* Make mimics hold the item they're mimicking, instead of fragile hacks with ↵Adam Borowski2009-12-151-0/+11
| | | | saving RNG state.
* Make orb run demons seek the player.Robert Vollmert2009-12-101-0/+1
| | | | | | | Commit c2a93a39 fixed a bug where all randomly spawned monsters were generated aware of the player. However, for the pan run demons, having them seek the player is probably a good idea, so I'm reactivating this explicitly.
* Don't make monsters that are generated hostile seek the player.Robert Vollmert2009-12-061-5/+1
| | | | | | | Randomly spawned monsters were previously being alerted to the player position on generation, by code that was apparently intended to make summons aware of the player. Those will still attack the player if in view however by the ME_EVAL.
* Check proximity when placing band members.Robert Vollmert2009-12-061-0/+10
| | | | | | Previously, only the band leader was placed away from the player with PROX_AWAY_FROM_PLAYER. The solution isn't too elegant, but works for now.
* Correct monster placement proximity check radius.Robert Vollmert2009-12-061-1/+2
|
* Apply extra_monster_flags earlier to fix "comes into view" errors.Jude Brown2009-12-051-0/+3
| | | | | | | | | | | Rebranded monsters (ie, "kobold name:Durwent name_replace") who are created with Lua and dgn.create_monster while the player is resting will generate a "XYZ comes into view" warning message. However, as this message is triggered by handle_seen_interrupt, which is triggered before the additional flags are applied, it will disregard MF_NAME_SUFFIX, MF_NAME_REPLACE, MF_NAME_ADJECTIVE, etc. Applying these flags earlier fixes this.
* New monster: giant leech (Eronarn).Jude Brown2009-12-021-0/+3
| | | | | | | | | A blood-sucking amphibious 'w'-glyph. It also submerges, much like swamp worms, but will follow you onto dry land. It has a tile, but after a quick play through of Swamp and using wizard mode to create some, it's quite difficult to see. Hopefully someone can improve the tile for me!
* Rename "firedrake" to "fire drake".Jude Brown2009-12-021-1/+1
| | | | | | This brings it in line with all the other "drake" monsters: "swamp drake", "death drake", etc. I don't believe this change is contentious, and I hopefully haven't broken tiles build.
* Reduce dependency on travel.hMatthew Cline2009-11-291-0/+1
| | | | | | | | Removed inclusion of travel.h from most .h files to reduce the number of .cc files dependant on it. This involved moving the level_pos declaration to externs.h, moving the flood_find template to it's own header file, and moving two typedefs from travel.h to travel_defs.h because typedefs can't be forward declared (argh).
* Make RANDOM_MONSTER work properly in portal vaults.Jude Brown2009-11-281-4/+9
| | | | | | | | When the random monster list isn't set in a portal vault, it generates MONS_PROGRAM_BUGS. Instead of doing this, pick random monsters from where you entered the portal vault from. Hopefully this code doesn't cause any bugs.
* Remove header includes from mon-place.h.Robert Vollmert2009-11-271-0/+3
|
* Remove unnecessary header-header includes.Robert Vollmert2009-11-271-0/+1
|
* Re-roll random HP after adjusting HD in monster specs.Jude Brown2009-11-271-0/+12
|
* New tags for monster specs: "hd" and "hp". (kilobyte)Jude Brown2009-11-271-0/+9
| | | | | | Both values override the default class values. Placing "rat hd:20" will generate a rat with a hit dice of 20, while placing "rat hp:20" will set its hp to 20.
* Don't crash for Beogh dancing weapons in cloudsMatthew Cline2009-11-231-0/+7
| | | | | | | | create_monster(), when trying to avoid placing Beogh wrath dancing weapons into dangerous clouds, would crash because the dummy dancing weapon it created didn't have it's demon_ghost setup. See bug #17.
* Don't issue erroneous seen-interrupts during level generation.Robert Vollmert2009-11-211-1/+1
| | | | | | | | | | There was a check against you.can_see() in _place_monster_aux which took place on the new level, while player position and LOS were still on the old level. Aside from possible other bugs, this was apparent in the tutorial, which occasionally told the player about such monsters.
* define_monster(): init ghost_demon for some monsMatthew Cline2009-11-201-7/+0
| | | | | | | | Move setting up of mons.ghost for pandemonium lords to define_monster(), and also have define_monster() do some default initialization for (very) ugly things and player ghosts, so that a simple define_monster() will generate something valid to be displayed in the monster lookup menu (?/M).
* Fix the last missing instances of the unclean/chaotic split.David Lawrence Ramsey2009-11-201-1/+1
|
* Set manticores' number of spike volleys in the proper place.David Lawrence Ramsey2009-11-191-5/+1
|
* Flatten header dependencies a bit.Robert Vollmert2009-11-171-1/+2
| | | | | | This removes a couple of unnecessary includes from header files. I may have missed adding some tiles includes.
* Split monster_pathfind out into mon-pathfind.cc.Robert Vollmert2009-11-161-527/+5
|
* Make Pikel's slaves actually slaves (new monster).Jude Brown2009-11-161-4/+2
| | | | | Identical stats to a normal human, but start with an animal skin and a different description. They should probably spawn with a weapon too.
* Make Pikel's band a static four humans.Jude Brown2009-11-161-1/+1
| | | | | | This counters the issue of him giving enough EXP for four humans plus himself on death, but the possibility of as few as only one human spawning.
* Make good gods properly object to placed unholy monsters again.David Lawrence Ramsey2009-11-141-1/+1
|
* mon-place.cc: assert if summoner is dead...Matthew Cline2009-11-131-1/+3
| | | | ... and mg.non_actor_summoner is empty.
* Clean up Pikel band code, name them "slaves", then "freed slaves".Jude Brown2009-11-141-2/+4
| | | | | | | | | | As per kilobyte's suggestion on c-r-d, Pikel's humans are named "slave" until they are released from bondage on Pikel's death, in which case they're called "freed slave". Also clean up the Pikel band neutralisation code: instead of assuming that all human monsters that are band members are Pikel's band, store a value in monsters.props that signifies them as such.
* mon-place.cc: don't blame if summoner is deadMatthew Cline2009-11-131-1/+4
| | | | | | The Fire Storm spell could kill the summoner before the fire vortexes could be placed, in which case trying to do blame annotation would cause assertions.
* 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.
* No XP for Pikel's slavesStefan O'Rear2009-11-131-0/+9
|
* Certain bands, mostly uniques, credit leader for killsStefan O'Rear2009-11-131-7/+45
|
* Add a little variety in summoned by tagsStefan O'Rear2009-11-131-3/+19
|
* Remove obsoleted los.h includes.Robert Vollmert2009-11-131-1/+0
|
* Replace observe_cell by you.see_cell.Robert Vollmert2009-11-131-2/+2
|