summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spl-util.cc
Commit message (Collapse)AuthorAgeFilesLines
* Add lm_props.lua and appry recent commits.j-p-e-g2008-07-111-2/+2
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/branches/stone_soup-0.4@6494 c06c8d41-db1a-0410-9941-cceddc491573
* Remove some of my infamous debugging statements (I keep forgettingj-p-e-g2008-07-061-1/+0
| | | | | | | | | them!) and move the new pdf files around, renaming contact.pdf to README.pdf since it's the shorter version of readme.txt, also capitalized now. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6435 c06c8d41-db1a-0410-9941-cceddc491573
* Fix 2011722: Reallow targetting beams such that you may be hit. (There'sj-p-e-g2008-07-061-0/+1
| | | | | | | | | | | | | 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-16/+5
| | | | | | | | 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
* Only apply targeting via monster list to spells and such wherej-p-e-g2008-07-021-4/+6
| | | | | | | targeting monsters is actually needed. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6338 c06c8d41-db1a-0410-9941-cceddc491573
* Bug 2005002: Allow friendly and neutral-good monsters to cast spells while inzelgadis2008-06-291-0/+31
| | | | | | | | | sanctuary, and allow hostile and neutral monsters to cast spells once outside of sanctuary as long as it won't harm anything inside of sanctuary. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6205 c06c8d41-db1a-0410-9941-cceddc491573
* Misc. minor cleanups. (Yes, a huge amount of them but still...)j-p-e-g2008-06-261-4/+4
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6146 c06c8d41-db1a-0410-9941-cceddc491573
* Outsource the tutorial descriptions of skills, and make them searchablej-p-e-g2008-06-181-2/+3
| | | | | | | | | | | | in the database. Apply Zaba's patch to view skills from the skill menu ('m'). The melee, ranged and magic skills currently only have really generic descriptions shamelessly copied from the tutorial. There's a front end function get_skill_description that appends extra information like what types of unarmed attacks the current character is capable of (kicking, clawing, punching, ...) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5955 c06c8d41-db1a-0410-9941-cceddc491573
* Remove my stupid debugging mprs (whoops), fix eyes only staring at thej-p-e-g2008-06-171-1/+0
| | | | | | | player when fleeing and make oklob plants spit again (BR 1995290) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5921 c06c8d41-db1a-0410-9941-cceddc491573
* Fix mephitic cloud allowing no self-targetting. (BR1995505)j-p-e-g2008-06-171-0/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5920 c06c8d41-db1a-0410-9941-cceddc491573
* Clean-up (renaming static methods and comments) in a number of files.j-p-e-g2008-06-101-40/+40
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5703 c06c8d41-db1a-0410-9941-cceddc491573
* Changed spell_by_name() so that even if partial matches are allowed,zelgadis2008-06-081-0/+5
| | | | | | | exact matches are still prefered over partial matches. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5591 c06c8d41-db1a-0410-9941-cceddc491573
* Fix a recent bug of mine that blocked the friendly fire prompts.j-p-e-g2008-06-021-1/+1
| | | | | | | | | | | | | | | | | | Fix 1943573: Weird message order when attacking charmed monsters. Fix 1826896: NOTE_ID could have line breaks in mid-word Modify the "This feature has more information" hint to mention mouseclicking for Tiles players rather than 'v' like for purists. Oh, and when trying to look into BR 1952908 (buggy trap in the Abyss) I found that traps can be generated in the Abyss after all. I don't know when that was changed but the last time I checked I remember seeing something like "if (level == ABYSS) return false" in a "Can there be traps here?" check. Is my memory playing tricks on me or was that really changed, and if so, was it intentional? git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5445 c06c8d41-db1a-0410-9941-cceddc491573
* Mention named orcs' base type in the monster descriptions.j-p-e-g2008-05-251-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5231 c06c8d41-db1a-0410-9941-cceddc491573
* Fix monsters capable of LOS attack behind glass walls being ignored.j-p-e-g2008-05-201-13/+17
| | | | | | | | | | | Fix monsters behind glass walls being autotargetted for spells that need a path. Fix spacing in spl-data.h, and add some comments about commenting to coding_conventions.txt. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5148 c06c8d41-db1a-0410-9941-cceddc491573
* Add whitespace fixes.dolorous2008-04-201-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4399 c06c8d41-db1a-0410-9941-cceddc491573
* Fixes to compile with Visual C++. Moved direct.cc and direct.h to directn.* ↵dshaligram2008-04-191-1/+1
| | | | | | to avoid conflict with VC++ direct.h header. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4390 c06c8d41-db1a-0410-9941-cceddc491573
* Slime:6 teleport control is enabled even if you kill the royal jelly ↵dshaligram2008-04-011-3/+3
| | | | | | off-level (sorear). TC is also enabled when banishing the royal jelly, which is a bit cheesy... git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4026 c06c8d41-db1a-0410-9941-cceddc491573
* Fixed spell name cache asserting on invalid spells.dshaligram2008-04-011-15/+22
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4017 c06c8d41-db1a-0410-9941-cceddc491573
* Filter out SPELL_NO_SPELL from fleeing monster decisions (redundant in ↵dshaligram2008-04-011-4/+3
| | | | | | trunk, but the checks do no harm). seekspell now asserts when it's asked for a bad spell. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4015 c06c8d41-db1a-0410-9941-cceddc491573
* Fix 1869850: Targeting now respects mimics' (un)known status correctly,j-p-e-g2008-03-311-1/+1
| | | | | | | | | | | | | | | | | so that * and / work for unknown ones, and + and - for known ones. Also, mimics become known if you hit them since the resulting message ("moderately damaged" or "looks slightly unstable") will give that away anyway. Implement the first part of FR 1903048: Added a range parameter to direction(), so that when targeting for weapons of reaching we can check whether a monster is within the range of 2 squares (grid_distance). Does not handle submerged monsters. Eventually, this could be used to also limit max range for certain spells (Freeze, I'm looking at you!) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3995 c06c8d41-db1a-0410-9941-cceddc491573
* "?/" can now be used to look up items. A side effect of this is thatzelgadis2007-12-061-4/+28
| | | | | | | | | | | | | item descriptions have been moved to dat/descript/items.txt and dat/descript/unident.txt. STL maps are now used to look up exact matches for the names of monsters, features and spells, so that looking them up with "?/" won't get too slow if there's a large descriptions DB and each key has to be tested if its a monster/spell/etc. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3009 c06c8d41-db1a-0410-9941-cceddc491573
* Spell changes: strengthened stone arrow and the storms, weakened bolts of ↵dshaligram2007-10-251-4/+10
| | | | | | | | fire and cold, and crystal spear. (Re)allow partial spell names when using &Z in wizmode. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2543 c06c8d41-db1a-0410-9941-cceddc491573
* Added fog machine Lua map markers. Needs a C interface to make it usablezelgadis2007-10-181-30/+54
| | | | | | | | | | | | | | | in level generation. Clouds now have a "spread rate" field, which by default uses the same per-cloud-type rate as before (normal spread rate for steam, grey smoke and black smoke, no spreading for other cloud types). Might want to make the spread rate decrease as the cloud spreads (currently it remains unchanged). Added new dungeon event type "entered level", to complement "entering level". git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2489 c06c8d41-db1a-0410-9941-cceddc491573
* Refix &Z crash-fix, which didn't actually fix the crash. :Pdshaligram2007-10-051-13/+7
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2335 c06c8d41-db1a-0410-9941-cceddc491573
* Fixed segfault when using &Z (bobbens).dshaligram2007-10-051-11/+8
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2334 c06c8d41-db1a-0410-9941-cceddc491573
* ?/ now asks if you want to describe a monster, spell, or feature, andzelgadis2007-09-241-0/+24
| | | | | | | | | | | | | | | | | | | filters out matches if they aren't of the desired type. If there's more than one match, after selecting a match to look at, exiting from the description will return you to the menu, rather than to the dungeon. If you've asked for monsters, you can toggle sorting of the menu between alphabetical and by aproximated monster toughness (this probably still needs some work, since it seems to say that ordinary worms are tougher than brain worms). Only the monster symbol is coloured when showing a menu of monsters to describe. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2185 c06c8d41-db1a-0410-9941-cceddc491573
* Introduces three new wall types, translucent versions of the normalzelgadis2007-09-191-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rock wall, stone wall and permanent rock wall. These are for use in vaults, and are never randomly generated. Magically translucent versions of the normal wall types are used, rather than glass, so we don't have to figure out how glass would react to things like digging and Shatter, but can re-use the code for the normal wall types. I've tried to fix all the places where the old code assumes that any square which is visible to the player has no walls between it and the player, but I've probably missed lots; this will require a lot of play testing before its ready for non-developers. viewwindow() now has two calls to losight(), the second one determining what squares would be visible if all translucent walls were made transparent, so that there's a quick way to see if there's any translucent walls between the player and a square. This second call to losight() doesn't cause any noticeable slowdown for me, but it might on an older system. Other than viewwindow() making a second call to losight(), there shouldn't be any changes to game-play or game-logic if there aren't any translucent walls around. The wizard blinking command (&b) has been changed so that it ignores all normal restrictions except for needing to see the target square and not landing on monsters; if the player lands on a wall square it's changed to floor. Wizard blinking also doesn't increase magical contamination. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2145 c06c8d41-db1a-0410-9941-cceddc491573
* Split off portions of externs.h and enum.h into other files. Thezelgadis2007-09-151-0/+4
| | | | | | | | | | | | | 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
* Applied Enne's fix to 1795522: "show_beam shouldn't workj-p-e-g2007-09-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | when just looking..." While I was at it, I also added another parameter needs_path that is set to false for spells that can be applied directly to a target (SPFLAG_GRID, SPFLAG_TARGET) such as Smiting, Conjure Flame or Freezing Cloud, so for these the initial beam path doesn't show, even if the option should be set to true. Note "initial beam path" - you can still toggle it to show the path anyway. For cases such as this we might enforce not drawing the path but there would have to be some kind of feedback, so the player doesn't go crazy trying to toggle the option. ;) I'll probably do it later, once I've found a way to give the information. Or would that be too spoily, in any case? git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2091 c06c8d41-db1a-0410-9941-cceddc491573
* Lots and lots of type safety.haranp2007-07-081-4/+6
| | | | | | | | Caught a bug in the definition of shadows (isn't it lucky that BLACK == MST_NO_SPELLS?) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1788 c06c8d41-db1a-0410-9941-cceddc491573
* Implemented 1715578: pressing '!' in the Z? screen toggles betweenharanp2007-06-291-21/+19
| | | | | | | showing schools/success and hunger/power. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1693 c06c8d41-db1a-0410-9941-cceddc491573
* Spell power strings now reflect power caps.haranp2007-05-071-12/+15
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1413 c06c8d41-db1a-0410-9941-cceddc491573
* Type safety, cast cleanups, etc.haranp2007-05-011-8/+9
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1401 c06c8d41-db1a-0410-9941-cceddc491573
* Fixed surges being all wrong (1705614.)haranp2007-04-231-1/+1
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1345 c06c8d41-db1a-0410-9941-cceddc491573
* More code cleanups and type safety.haranp2007-04-141-31/+11
| | | | | | | Fixed a semi-bug (undefined behaviour) in undead_cannot_memorise(). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1302 c06c8d41-db1a-0410-9941-cceddc491573
* Added ice statues.dshaligram2007-04-091-26/+36
| | | | | | | | | | Monster spells now use spell_type instead of the old mon_spell_type. Fixed buggy behaviour when banished from Labyrinth. DGL_WHEREIS was not including current time, fixed. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1275 c06c8d41-db1a-0410-9941-cceddc491573
* Updated build instructions for DOS, Windows, Linux.dshaligram2007-04-051-1/+2
| | | | | | | | | | | | | | | | | Fixed targeting for Sandblast, Bone Shards, verified that targeting works okay for all spells (woof). Updated level layouts with more random features (David). Made makefile.unix default to using flex instead of lex. Tweaked beam names for dragon breath. s/Paralyze/Paralyse/ Don't show current target for direction-only targeting. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1222 c06c8d41-db1a-0410-9941-cceddc491573
* Cleaned up clouds and threw out the foo_MON values from the cloud enum. Thedshaligram2007-03-221-28/+31
| | | | | | | | | | | creator of the cloud is now remembered with the cloud, so kills from friendlies' poison clouds are credited appropriately. Increased MAX_CLOUDS to 180. Breaks save compatibility. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1076 c06c8d41-db1a-0410-9941-cceddc491573
* Move spell targeting before miscast check. Not everything is moved - spellsdshaligram2007-03-141-2/+8
| | | | | | | | | | with weird targeting (like Conjure Flame) still target after the miscast check. Tweaked targeting prompt slightly. Don't dock turn for zapping non-wand. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1039 c06c8d41-db1a-0410-9941-cceddc491573
* Kill hard tabs.dshaligram2007-03-061-1/+1
| | | | | | redraw_dexterity now implies redraw_evasion. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@987 c06c8d41-db1a-0410-9941-cceddc491573
* Minor direction cleanups (mainly messaging.)haranp2007-01-261-5/+0
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@888 c06c8d41-db1a-0410-9941-cceddc491573
* direction() cleanup, stage 2: look_around is gone, everything unifiedharanp2007-01-251-1/+1
| | | | | | | | | | | | into a single function (well, two.) Since '>' is taken, '!' is now used for requesting that the beam stop short at a specific point. However, this is currently buggy: ' ', '.' and '!' all do the same thing for now - the beam will *always* stop right there. Fixing this will need a bit of hacking at the zapping functions. Don't worry, it'll get done. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@887 c06c8d41-db1a-0410-9941-cceddc491573
* Stage 1 of the direction() rewrite.haranp2007-01-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | I am committing this even though it isn't complete yet, because: (a) it's good enough now that I like it better than the old version (b) feedback and testing is badly needed. Direction selection has been redone and is no longer modal. You now use the normal arrow or vi keys to move around. If you want to select a direction, as opposed to a specific target square, use the Shift- versions of the movement keys. This might not work with arrow keys on some systems; it's hard for me to check on my own system. Most of the other keys should work, but I'm not sure I've got them all. ';', '+', '-', '.', ' ' (== '.'), 't', 'f', 'p' all work. 'x' (from the main screen) still calls look_around(), not the new direction code, so you have some room to compare. The confirm_* options are now meaningless and will be removed shortly. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@880 c06c8d41-db1a-0410-9941-cceddc491573
* Merged stone_soup r15:451 into trunk.dshaligram2006-11-221-9/+53
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@452 c06c8d41-db1a-0410-9941-cceddc491573
* Add a metric ton of compiler warnings to the Xcode project, and cleannlanza2006-08-131-1/+1
| | | | | | | | | | | up the source accordingly. At some point these warnings should be merged into the makefile system, but I don't have the will to merge them into the 3451351235 individual makefiles at the moment. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@12 c06c8d41-db1a-0410-9941-cceddc491573
* Clean up a mistake in the SVN import.nlanza2006-08-131-0/+786
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10 c06c8d41-db1a-0410-9941-cceddc491573