summaryrefslogtreecommitdiffstats
path: root/crawl-ref
Commit message (Collapse)AuthorAgeFilesLines
* Information on our git-hooksMatthew Cline2009-11-016-0/+1317
| | | | Local copies of the git hooks, plus intructions on how to change them.
* Use lm_trig.lua instead of lm_func. lua for msgsMatthew Cline2009-11-014-16/+74
| | | | | Start of triggerable/function_machine merger: use triggerable class TriggerableMessage for messages instead of message_machine.
* lm_trig.lua: Handle player_move, player_losMatthew Cline2009-11-011-0/+17
| | | | DgnTriggerer now handles the dungeon event player_move and player_los.
* lm_trig.lua: event() uses method dispatchMatthew Cline2009-11-011-39/+50
| | | | | Use a method-dispatch type mechanism to deal with the different types of dungeon events, rather than a long series of "elseif"s.
* git-config.txt: how to list all current optionsMatthew Cline2009-11-011-0/+2
|
* Let Cb slow down ghoul decay. Make the message about biology appropiate for ↵Adam Borowski2009-11-022-27/+38
| | | | undead.
* beam.cc: bug #2890126: cancel from exploding ammoMatthew Cline2009-11-011-3/+5
| | | | | | | Tracer beams which used special_explosion didn't fold beam_cancelled from the special explosion back into the beam proper, making it so that if you cancelled out from firing an exploding ammo because the explosion would catch you, it would still fire anyways.
* mapdef.cc: add new(ish) ammo brandsMatthew Cline2009-11-011-0/+7
| | | | Let item specs understand the new(ish) brands "chaos" through "silver".
* Remove unused function from geom2d.cc.Robert Vollmert2009-11-011-8/+0
|
* Some changes to the reflection details.Robert Vollmert2009-11-011-15/+25
| | | | | | | | | | | | | | | | | In particular, don't flatten outer corners, so air elementalists aren't hurt too badly. Also, start special casing rays that pass through corners, though they don't currently work the way I want for diagonals. Should now be usable including reflections. TODO - Diagonal wall reflections, both for corner rays and diagonal corridors. - Reenable chaos beam munging. - Fix test/los_maps.lua. It would be easy to make the test pass, but I should really work out what the result should be first. - Generally clean up reflections code -- it's a mess.
* Permit rays to go from diamond directly to diamond.Robert Vollmert2009-11-012-3/+3
| | | | | | | Also recenter the cardinal direction rays. Before, we didn't have centered rays going straight north/south or east/west, which was awkward for shift-firing.
* Implement reflection (except for the diagonal corridor case).Robert Vollmert2009-11-013-13/+148
| | | | | | | | | Reflection is modelled on diamond-shaped features, with gaps filled in as far as they don't affect LOS. Working on a case by case analysis: After normalization, a ray leaves cell * through the south-east diamond face. Then determine the line of reflection in each case.
* Simplify geom2d ray advance code.Robert Vollmert2009-11-013-46/+31
|
* Add a bunch of ASSERTs to ray.cc.Robert Vollmert2009-11-014-3/+55
|
* Change ray_def bouncing interface.Robert Vollmert2009-11-013-3/+9
| | | | | | | For one, rename ray_def::advance_and_bounce to ray_def::bounce. Then, pass a grid of bools for adjacent cells which states which cells are considered solid (reflecting).
* Some geom2d changes.Robert Vollmert2009-11-013-14/+34
| | | | | 1. Add function to reflect vector at a line. 2. Implement scalar multiplication as external operator.
* Make nextcell and movehalfcell methods of geom::ray.Robert Vollmert2009-11-013-25/+29
| | | | | Seems sensible given they modify the ray, even if it's not really something intrinsic to a ray.
* Comment bolt::bounce and bolt::reflect.Robert Vollmert2009-11-011-0/+5
|
* ray_def introductory comment.Robert Vollmert2009-11-011-2/+10
|
* Change corner handling.Robert Vollmert2009-11-014-7/+54
| | | | | | | | ray_def should now deal with hitting corners gracefully, though the raycasting will still discard such rays. If a ray hits a corner between two diamonds, it will stay there, and calling ray_def::pos will arbitrarily give one of the squares -- this is not optimal, but these rays shouldn't usually show up anyway.
* Adapt l_los.cc to new ray_def and reenable.Robert Vollmert2009-11-011-28/+27
|
* Adapt los.cc to new ray_defs.Robert Vollmert2009-11-011-74/+55
| | | | | | | | | | | * Adapt los_ray. * Register rays using geom::ray. * Change cellray comparison functions (remove slope_diff which I didn't understand, add first_diag which prefers rays that start on diagonals for easier meph cloud targetting) The rays that are actually being cast may need changing. For now, rays that hit diamond corners are simply discarded.
* Replace ray_def by a version using "diamond rays".Robert Vollmert2009-11-012-212/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | Think of the map tiled with squares (the cells). Previously, a ray was blocked by any part of an opaque cell except the very corners (to allow looking through diagonal maps -- we can move through those after all). In the new version, the rays are the same, but a dungeon feature is only considered to occupy the the central "diamond": convex hull of the mid points of the edges. The corners of the diamond are considered part of the feature, so vertically or horizontally adjacent walls still block. This has some effect on LOS: It's a bit more permissive on diagonals and around corners. The main advantage is that most rays will now have a footprint (the sequence of cells it passes through) that is like the old anti-aliased rays, without requiring any ray munging. TODO: * Make sure we don't hang because of stopping at a corner. * Implement proper bouncing. * Reenable setting/getting degrees for chaos beams.
* Simplify geom2d.cc to stop at corners.Robert Vollmert2009-11-011-19/+6
| | | | | Remove the unsure fudging. This does introduce the possiblity of hanging in place.
* Add simple 2d geometry library.Robert Vollmert2009-11-013-0/+234
| | | | | Its point is to allow intersecting rays with grid lines and advancing rays from one cell to the next.
* Remove get/set_degrees from ray_def.Robert Vollmert2009-11-012-46/+0
| | | | These were used by the temporarily disabled chaos beams.
* Remove ray antialiasing.Robert Vollmert2009-11-015-56/+18
| | | | | | | | | | | | | | | | | | | | | | Previously, rays were always cut short at corners: If a ray really went like ..... @**.. ..*** ..... it was cut short (for find_ray/targetting/shooting purposes) to ..... @*... ..*** ..... Note that a wall at the removed cell would still block the given ray! This makes ray footprint length matter, so rays are sorted to prefer those that pass through fewer cells. However, this gives quite a few ugly beams, in particular around corners.
* Disable l_los.cc.Robert Vollmert2009-11-011-0/+10
| | | | Disabling the LOS lua bindings while ray.h changes.
* Temporarily disable chaos beam fudging.Robert Vollmert2009-11-011-0/+2
| | | | The new ray_def won't have set/get_degrees for a while.
* Special case source==target in num_feats_between.Robert Vollmert2009-11-012-0/+5
| | | | | This was causing a crash through monsters::mon_see_cell. Also special case monster position there.
* Add minor cosmetic fixes.David Lawrence Ramsey2009-11-011-8/+7
|
* Add various color-related fixes.David Lawrence Ramsey2009-11-016-38/+35
|
* Fix an assertion failure triggered via is_hasty_itemCharles Otto2009-11-011-2/+2
|
* Give evil_items a higher priority in menu_coloursCharles Otto2009-11-011-62/+62
| | | | | | Move the line for evil_items higher up in menu_colours.txt so that artefact weapons with evil brands, the lantern of shadows, haste items etc. get colored as evil for the appropriate gods.
* Lantern of shadows conduct issues (eronarn)Charles Otto2009-11-011-1/+20
| | | | | ID the lantern of shadows when it first creatures a shadow, consider that first shadow an unintentional act for conduct purposes.
* Proper weights for big baddie maps, plus a comment tweak.Eino Keskitalo2009-11-011-2/+3
| | | | Signed-off-by: Eino Keskitalo <evktalo@users.sourceforge.net>
* New sewer map, plus some tweaks.Eino Keskitalo2009-11-011-32/+66
| | | | | | Consolidated the various setup functions into one call. Also fix a typo'ed glyph in sewer_big_baddie. The new map has a giant slug. Signed-off-by: Eino Keskitalo <evktalo@users.sourceforge.net>
* Move checks for a player or monster's being chaotic into anotherDavid Lawrence Ramsey2009-11-0111-52/+53
| | | | convenience function in the actor interface.
* Stop Feawn's item coloring from leaking information (eronarn)Charles Otto2009-11-011-1/+1
| | | | Unidentified evil items were getting flagged as disliked by Feawn.
* New Volcano, tweak Collapsing Caverns.Jude Brown2009-11-011-16/+126
| | | | | | | | Collapsing Caverns now places some smoke after collapsing one of the entrances. New Volcano: Overflowing lava lake. A lake surrounded by a scattering of loot, and every (max 20) turns, the lake overflows. Eventually, it will fill the cavern, destroy all the loot, and temporarily strand the player. The lava will recede, however, offering a way out. Signed-off-by: Darshan Shaligram <dshaligram@users.sourceforge.net>
* Simplify.David Lawrence Ramsey2009-11-012-6/+6
|
* Update silver ammo's description to account for its damaging chaotics.David Lawrence Ramsey2009-11-011-2/+2
|
* Tweak Trove loot weights.Jude Brown2009-11-011-15/+15
|
* Volcano alterations: change map, fix FunctionMachine.Jude Brown2009-11-011-45/+53
| | | | | | Collapsing Caverns Volcano map now in line with original design (all chambers and possible treasures visible, though threat not). It also now uses synchronised FunctionMachines, meaning that saving and reloadnig does not collapse all entrances. Signed-off-by: Darshan Shaligram <dshaligram@users.sourceforge.net>
* Access shopping list via '$'Matthew Cline2009-11-013-7/+154
| | | | | | If you have anything on your shopping list, pressing '$' will display it as a menu. You can then select a thing from the menu, either to travel to it or examine it, like with the stash tracker menu.
* Lua distance bindings, Volcano tweaks, FogMachine message tweaks.Jude Brown2009-11-014-29/+76
| | | | | | | | | | New binding for coord.cc's distance functions (dgn.distance(x1, y1, x2, y2)), lua function "point_in_radius", accepts two dgn.point functions and a radius and returns true if point1 is in radius around point2. Extensive tweaks to FogMachine warning messages: most now accept a "see function" as the final parameter, which should take two parameters: an x and a y. The function should return true if the player can "see" this point. Finally, tweaks to Volcanoes: utilise see_function and dgn.point_in_radius to provide better warning for lake. Utilise greensnark's new slave/master system for chaining FogMachines together in Bunker and Village. Signed-off-by: Darshan Shaligram <dshaligram@users.sourceforge.net>
* Make silver ammo apply extra hurt to chaotic beings as well. The additional ↵Eino Keskitalo2009-11-011-4/+4
| | | | | | creatures affected are ugly things, giant orange brains, shining eyes, pulsating lumps and most notably orbs of fire. Signed-off-by: Eino Keskitalo <evktalo@users.sourceforge.net>
* Some useful information on gitMatthew Cline2009-11-014-0/+692
|
* Split up monstuff.ccMatthew Cline2009-11-0136-9615/+9820
| | | | | | | A lot of monstuff.cc was moved into mon-abil.cc (monster abilities), mon-act.cc (the main monster loop), mon-behv.cc (monster behaviour) and mon-cast.cc (monster spells). mstuff2.cc was completely merged into other files.
* Simplify branch check in new vault.David Ploog2009-11-011-1/+1
|