summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/abyss.cc
Commit message (Collapse)AuthorAgeFilesLines
* Apply recent commits to 0.4, including Matthew's evil zoo fix.j-p-e-g2008-07-091-1/+0
| | | | | | | Now how do I change the properties to native again? git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup-0.4@6465 c06c8d41-db1a-0410-9941-cceddc491573
* Apply Abyss unlinked item fix and the changes to the starting equipmentj-p-e-g2008-07-081-5/+20
| | | | | | | to 0.4. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup-0.4@6456 c06c8d41-db1a-0410-9941-cceddc491573
* Another clean up, and add some new weapon speech.j-p-e-g2008-07-071-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6439 c06c8d41-db1a-0410-9941-cceddc491573
* Fix 2011722: Reallow targetting beams such that you may be hit. (There'sj-p-e-g2008-07-061-14/+12
| | | | | | | | | | | | | a new prompt now, but don't prompt a second time if you already confirmed another one before.) Fix some issues when creating items in the Abyss during GDT_GAME_START. This may or may not have played a role in 2008976. Lower spawning rate in the Abyss during GDT_GAME_START (10% spawning chance instead of guaranteed spawning per 5 turns). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6434 c06c8d41-db1a-0410-9941-cceddc491573
* Add a function x_chance_in_y(x,y) to replace the variousj-p-e-g2008-07-061-1/+1
| | | | | | | | random2(y) < x checks, e.g. x_chance_in_y(weight, totalweight). This should make things a bit more readable. Apply it to a number of files. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6428 c06c8d41-db1a-0410-9941-cceddc491573
* Disallow vampires from draining summoned creatures to be consistent withj-p-e-g2008-07-041-7/+9
| | | | | | | | | | | | | summoned creatures being incapable of bleeding on the floor. This makes things more difficult for Vampires; on the other hand there was a (more or less) recent change that lets them regain 1 hp *per turn* when draining corpses. We might also increase the duration of blood potions... Apart from that, various clean-ups. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6393 c06c8d41-db1a-0410-9941-cceddc491573
* Fix bug introduced in r6347 (oops): igrd wasn't being cleaned when moving.haranp2008-07-021-6/+2
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6356 c06c8d41-db1a-0410-9941-cceddc491573
* Oops, wasn't properly shifting sanctuary center when doing an Abysszelgadis2008-07-021-4/+8
| | | | | | | area shift. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6355 c06c8d41-db1a-0410-9941-cceddc491573
* Many code cleanups, mostly involving using stack_iterator andharanp2008-07-021-43/+14
| | | | | | | radius_iterator instead of the previous setup. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6347 c06c8d41-db1a-0410-9941-cceddc491573
* When doing an Abyss area shift try to preserve Sanctuary, unless thezelgadis2008-07-021-0/+33
| | | | | | | | | | | | center of Sanctuary is outside of the area being preserved during the shift, in which case get rid of it. When doing an Abyss teleport into a totally new Abyss area remove sanctuary so the player can lay down a new on immediately, since the old one will be completely gone. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6316 c06c8d41-db1a-0410-9941-cceddc491573
* For Tiles, use some of the other wall types in the Abyss as well to makej-p-e-g2008-07-011-11/+23
| | | | | | | it more interesting. The rest is mostly clean-up. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6307 c06c8d41-db1a-0410-9941-cceddc491573
* Implement the rest of the starting set changes. I sure hope I got all ofj-p-e-g2008-07-011-2/+2
| | | | | | | them. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6303 c06c8d41-db1a-0410-9941-cceddc491573
* Add yet more miscellaneous minor fixes.dolorous2008-06-301-4/+4
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6258 c06c8d41-db1a-0410-9941-cceddc491573
* Enable Chaos Knights of Lugonu starting out in the Abyss.j-p-e-g2008-06-301-22/+52
| | | | | | | | | | | | | | | | | | | I've marked these characters with GDT_GAME_START, so that * the player starts out on an altar to Lugonu * there's an exit back to the Dungeon near-by * returning into the Dungeon always places them into the entry vault on level 1 * no abyssal runes are ever generated * item generation matches that of level 1 * monster spawn rates are that of the orb run to enforce a quick return into the Dungeon Once the player returns to the Dungeon (via an exit or with Lugonu's first power) char_direction is properly set to GDT_DESCENDING and from then on the game continues as if they had started in the Dungeon. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6245 c06c8d41-db1a-0410-9941-cceddc491573
* Improve performance by only checking whether there are lava or deepj-p-e-g2008-06-121-1/+1
| | | | | | | | | | | | | water grids nearby if the player recently moved (or restarted a game) and if a non-adjacent monster tries to reach the player. Remove now unneeded lua code (was used for the old pickup.lua) and make monsters switch away from ranged weapons when engaging you in melee. If a monster will still insist on hitting you with a sling it's a sure sign said sling is cursed (doesn't autoID, though). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5755 c06c8d41-db1a-0410-9941-cceddc491573
* Clean-up (renaming static methods and comments) in a number of files.j-p-e-g2008-06-101-61/+63
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5703 c06c8d41-db1a-0410-9941-cceddc491573
* Enable environmental effects (like lava generating black smoke) in the Abysszelgadis2008-06-091-0/+3
| | | | | | | as soon as the area is generated. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5618 c06c8d41-db1a-0410-9941-cceddc491573
* Preserve the floor properties around the player when doing an Abysszelgadis2008-06-081-0/+16
| | | | | | | area_shift() so that blood-splatter won't seem to appear out of nowehre. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5616 c06c8d41-db1a-0410-9941-cceddc491573
* Enable pathfinding for patrolling monsters who lost their patrol point.j-p-e-g2008-06-071-1/+1
| | | | | | | | | | | | | | | | | | | | | Fixed patrol definitions in maps not actually working. Tested both by teleporting the minotaur in a labyrinth. About 50 turns later it arrived back in its lair. :) Since the minotaur proved to have a high magic resistance, it had plenty of time to loot the stash at the labyrinth entrance once I'd woken it before I finally managed to teleport it away (in wizmode you can force monsters not noticing you). This resulted in "A minotaur, wielding the demon trident "Suyn Oma", and wearing a heavily runed ring mail." o_O It had also picked up a scroll and a wand. Ouch... (but cool!) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5536 c06c8d41-db1a-0410-9941-cceddc491573
* Create random blood spatter in the Abyss and Pandemonium (FR 1986241).j-p-e-g2008-06-071-27/+31
| | | | | | | | | | | | | How it works: * Pick 12 random grids on the map and make them bloody. * Recursively and with decreasing chances, allow their neighbours to get spattered as well. I think the effect is rather nice but the numbers might need to be tweaked anyway. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5533 c06c8d41-db1a-0410-9941-cceddc491573
* Abyssal rune tedium reduction:dshaligram2008-05-261-6/+51
| | | | | | | | | - Abyssal rune generation chances rise with turns spent in the Abyss (in the current visit, not cumulative). - Lugonu followers get better abyssal rune odds faster. - Abyssal rune generation is stopped after one rune is picked up, re-enabled if rune is lost in the Abyss. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5267 c06c8d41-db1a-0410-9941-cceddc491573
* Fix 1941612: Zapping wands known to be empty shouldn't cost a turn, butj-p-e-g2008-05-211-45/+50
| | | | | | | | | | | | | | empty wands with unknown charges should cost a turn. Experimentally add a "Really fire through friendly creature?" prompt when a beam tracer passes through a friend. This currently uses the existing monster tracer and probably has huge problems because of this. In any case, it appears to only work sometimes, though consistently for wands in my testing, possibly because the range is fixed (?) when compared to spells. (This is part of FR 1962548.) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5171 c06c8d41-db1a-0410-9941-cceddc491573
* Cleaned up monster generation functions, separate monster zombie type from ↵dshaligram2008-05-051-6/+6
| | | | | | | | | monster number. May be buggy. Allow hydra zombies (they currently do not get the right number of heads). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4872 c06c8d41-db1a-0410-9941-cceddc491573
* Fix 1945348: Lugonu's Corruption attempting to "preserve" other altars.j-p-e-g2008-04-181-3/+9
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4327 c06c8d41-db1a-0410-9941-cceddc491573
* Apply Horst von Brand's (first) patch 1887488: gcc-4.3 compile failures.j-p-e-g2008-04-141-15/+16
| | | | | | | I'm not sure what to do about the rest of that tracker item. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4233 c06c8d41-db1a-0410-9941-cceddc491573
* Add minor cosmetic fixes.dolorous2008-04-071-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4085 c06c8d41-db1a-0410-9941-cceddc491573
* Prevent shafts from being created in corridors, at least untilj-p-e-g2008-03-291-4/+2
| | | | | | | | | | | | | | | | | around dungeon level 7. Rename ROCK_STAIRS to ESCAPE_HATCH, as well as the corresponding function, since I think that the escape hatches are such a cool concept that we won't be going back, and the current coding name is a bit confusing. Clean up dungeon.cc. I'll probably have to add stuff into our new conventions file as I've been making up a lot of new rules in trying to make the code more readable. (Rules concerning nested brackets, and function indentation, etc.) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3927 c06c8d41-db1a-0410-9941-cceddc491573
* New Zot levels, courtesy Lemuel (David).dshaligram2008-01-121-1/+1
| | | | | | | | | | Added more control when specifying draconians in maps (any yellow draconian, green draconian knight, any nonbase red draconian, any base draconian, etc.). Fixed crash when dragon or draconian breathes and the player is unarmed. Replaced magic number 250 in monster creation with enum constant MONS_PROGRAM_BUG. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3253 c06c8d41-db1a-0410-9941-cceddc491573
* Tile support for Lugonu's corruption ability.ennewalker2008-01-051-0/+15
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3208 c06c8d41-db1a-0410-9941-cceddc491573
* Items can now fall through shaft traps (trap doors). The code is ratherzelgadis2007-12-031-0/+2
| | | | | | | | | | | | | | simplistic, and it's not currently possible to make a "baited" shaft; also, there is no threshold weight, so even a single dart will open up (and thus reveal) a shaft trap. Breaks savefile compatibility. Monsters which fall through a shaft now show up 100% of the time on the player's next visit to the shaft's destination level. Also, the monster is placed close to the spot where the player would end up if s/he went through the same shaft. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2988 c06c8d41-db1a-0410-9941-cceddc491573
* Place altar to Lugonu randomly, not necessarily in LOS.dshaligram2007-10-301-4/+34
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2678 c06c8d41-db1a-0410-9941-cceddc491573
* Fixed Lugonu's Corruption, remaining cases of truncated monster shouts.dshaligram2007-10-111-3/+18
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2437 c06c8d41-db1a-0410-9941-cceddc491573
* Applying dolorous' latest patch (1806451), mostlyj-p-e-g2007-10-081-1/+1
| | | | | | | | | correcting typos in the comments and changing Xom stimulation from 256 to 255 (as the function apparently cannot handle that). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2384 c06c8d41-db1a-0410-9941-cceddc491573
* Made Xom be smarter about being amused at losing/missing runes, andzelgadis2007-10-021-26/+17
| | | | | | | | | | | | | | | | | made Xom also be amused at runes being destroyed. Related changes: * Keep track of which items have ever been held by the player with ISFLAG_BEEN_IN_INV. * item_was_destroyed() is called when an item is destroyed (as in dropped in lava, not destroy_item() being called), and item_was_lost() is called if the item was lost (i.e., being left behind in the Abyss). * Keeps track of the number of runes that the character has collected, and how many have been left in the Halls of Zot. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2300 c06c8d41-db1a-0410-9941-cceddc491573
* This commit breaks save file compatability.zelgadis2007-09-301-0/+146
| | | | | | | | | | | | | | | | | | | | | | | | | Lots of new things that amuse/stimulate Xom, and a few things which don't amuse him as much anymore. Among the new things is a corpse turning into a skeleton while butchering it; if this is too harsh to do just for Xom's amusement (previously turning into a skeleton while butchering was an ignored case and still produced chunks of flesh) it can be changed back. Also, if a Xom worshiper draws the Blank card, Xom makes it act like a Xom card, since a plain old Blank card is boring. Keep track of which branch the Orb is in, if the player isn't carrying it. Keep track of how/why the player ended up in a particular level type (Abyss, Pan, etc). Changed most "a distortion effect" cause strings for distortion caused tranlsocation miscast effects to something more specific. Added new wizard commands 'C' to curse or uncruse an item, and 'Ctrl-A' to re-generate the Abyss. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2256 c06c8d41-db1a-0410-9941-cceddc491573
* Split off portions of externs.h and enum.h into other files. Thezelgadis2007-09-151-1/+3
| | | | | | | | | | | | | crawl_environment, player and monsters classes have been left in externs.h, which necessitates that all of the enums references by those classes stay in enums.h, since you can't forward declare an enum. However, it's a start. Also, portions of misc.{cc,h} have been split off into traps.{cc,h}, place.{cc,h} and terrain.{cc,h} git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2095 c06c8d41-db1a-0410-9941-cceddc491573
* Increase initial flood of neutral monsters when invoking Corruption.dshaligram2007-08-181-3/+3
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2017 c06c8d41-db1a-0410-9941-cceddc491573
* Fixed crash when using travel to waypoint or Lugonu's Corruption on a leveldshaligram2007-08-181-0/+2
| | | | | | with a Lua marker. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2016 c06c8d41-db1a-0410-9941-cceddc491573
* Fixed map marker crashes.dshaligram2007-08-171-6/+6
| | | | | | Reduced size of Pan demon bands summoned post-Orb (cbus). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2010 c06c8d41-db1a-0410-9941-cceddc491573
* Give Lugonu Banishment and Corruption. I've left the old Bend Space in, becausedshaligram2007-08-111-1/+296
| | | | | | | | | | | | | | | | | | | | there needs to be an invocation that can train Invocations, and Banishment is too costly to use for everyday training. Corruption is still a first-cut, needs more work and playtesting: - Terrain modification is one-time only. Creeping modification requires too much savegame magic. - The monsters gated in during the corruption effect are occasionally hostile, but mostly neutral. Neutrals will attack hostile monsters and also pets, but will leave other neutrals and the player alone (in general). A neutral that wants to go somewhere, but finds the player in the way will still take a swing at the player. - Beams are still not fixed to handle neutrals correctly (so neutrals do not target and shoot right yet), will fix soon. Breaks save compatibility. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1990 c06c8d41-db1a-0410-9941-cceddc491573
* Fix off-by-one bug in Abyssal altar generation (dolorous.)haranp2007-06-291-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1692 c06c8d41-db1a-0410-9941-cceddc491573
* Some cleanup of Abyss generation code.haranp2007-06-231-49/+30
| | | | | | | Beogh altars can now be found in the Abyss. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1628 c06c8d41-db1a-0410-9941-cceddc491573
* [1738010] Stash-tracker now also tracks traps and other dungeon features.dshaligram2007-06-171-2/+4
| | | | | | | | Changed env.grid to dungeon_feature_type. (The special-level builder still stores map characters directly into env.grid and then translates them to features.) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1592 c06c8d41-db1a-0410-9941-cceddc491573
* Added support for Unicode characters in the map display with ncursesw (enableddshaligram2007-06-071-8/+1
| | | | | | | | | | | | by setting UNICODE_GLYPHS=y in makefile.unix). Removed the (1,1) offset between map and grid. Both map and grid are now in sync. Store object indexes instead of raw characters in env.map so that players can change charsets and have the display update immediately. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1552 c06c8d41-db1a-0410-9941-cceddc491573
* [1699948] Allow changing the viewport size if you're using a larger terminaldshaligram2007-06-041-6/+3
| | | | | | | | | than 80x24. Also allow moving the PC around the viewport without scrolling the viewport if the viewport is large enough. This is not tested on DOS and Windows yet. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1524 c06c8d41-db1a-0410-9941-cceddc491573
* Moved items() into a separate makeitem file.haranp2007-04-211-0/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1340 c06c8d41-db1a-0410-9941-cceddc491573
* Spatial distortion heals blink frogs.dshaligram2007-03-191-4/+4
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1062 c06c8d41-db1a-0410-9941-cceddc491573
* s/Lucy/Lugonu/.dshaligram2007-03-191-3/+3
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1060 c06c8d41-db1a-0410-9941-cceddc491573
* Banished uniques (including ghosts) will now be sent to the Abyss. Banisheddshaligram2007-03-181-27/+36
| | | | | | | | | | | | | | | | | non-uniques may also get the Abyss treatment if they clear a HD roll. Crawl tries very hard not to lose banished monsters, preserving them across Abyss shifts and teleports, and saving them on the transit list when the player escapes the Abyss. Breaks savefile compatibility. Toned down Vehumet and wizardry boosts a touch. Fixed bugginess where player could get aux unarmed attacks on a monster that just teleported away (by weapon of distortion). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1052 c06c8d41-db1a-0410-9941-cceddc491573
* Fixed 1642577, tag wasn't being closed for troll mutations.haranp2007-01-231-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@875 c06c8d41-db1a-0410-9941-cceddc491573