summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dgnevent.h
Commit message (Collapse)AuthorAgeFilesLines
* Make ctrl-attacking a wall not waste a turn.elliptic2013-04-141-2/+2
| | | | | This removes wall_hit trigger capabilities and the single vault that used it. There are plenty of other ways of triggering events.
* Use unique_ptr instead of auto_ptr (emulated for non-C++11).Adam Borowski2012-08-281-1/+1
| | | | | | This stops the tons of warnings, while allowing building for both old and new C++ standards. And if we wanted to use shared_ptr or something, now we can without being ambiguous.
* Use std namespace.Raphael Langella2012-08-261-3/+3
| | | | | | | | | | | | | I had to rename distance() (in coord.h) to distance2() because it conflicts with the STL function to compare 2 iterators. Not a bad change given how it returns the square of the distance anyway. I also had to rename the message global variable (in message.cc) to buffer. I tried to fix and improve the coding style has much as I could, but I probably missed a few given how huge and tedious it is. I also didn't touch crawl-gdb.py, and the stuff in prebuilt, rltiles/tool and util/levcomp.*, because I have no clue about those.
* Make file headers doxygen-friendly, drop useless fields.Adam Borowski2011-03-281-5/+4
| | | | | | | "File:" is shown in your editor's status bar. "Written by:" was used only for the first person who changed a file. We got git for that now, and pre-DCSS history is so woefully inaccurate it doesn't really matter.
* Make pressure plates call Lua markers when stepped on.Adam Borowski2010-10-201-1/+3
|
* Get rid of some more insidious longs.Adam Borowski2010-10-041-2/+2
| | | | | | | | | | Especially constructs like: long foo = x.props[].get_int() can get you by surprise on 32 bit arches -- even worse now that most devs are on amd64. Item flags I typedeffed as iflags_t, as it's likely we'll have to extend it soon, yet defining it as uint64_t now would be misleading since there are so many places it's used in a 32 bit manner.
* Bring sanity to enums by making them diffable/patchable.Adam Borowski2010-06-081-1/+1
|
* Changed structs that acted like classes to classesIxtli2010-05-041-4/+0
| | | | | Anything that had more than constructors, const or static member functions, or operator definitions were considered acting like classes.
* Add a Dungeon event for low-HP warning.Jude Brown2010-04-231-1/+2
| | | | Also includes relevant Lua coding for use in maps/tutorial, etc.
* New events: door opened, closed. Lua marker for door restriction.Jude Brown2010-01-181-1/+4
| | | | | | | | | | | The events are triggered whenever a door is opened or closed by the player, or opened by a monster (monsters can never close doors). These events can be used by Triggerables. The RestrictDoor Lua marker restricts monsters from opening doors unless the player has already opened them. In combination with teleport restriction, this allows wandering monsters to not interfere with loot chambers. Obviously, the uses of this should be limited.
* Observerable/observer-ish pattern for Lua markersMatthew Cline2009-10-221-1/+9
| | | | | | | | | | A new framework for Lua markers, similar to the observable/observer design pattern, which decouples the thing being activated from the thing watching for the activating condition. This makes it easier to create new types of Lua markers which are triggered by dungeon events, and easier to add new triggering conditions to already existing marker types. Currently only ChangeFlags (clua/lm_flags.lua) and MonsterOnTrigger (clua/lm_monst.lua) use it.
* Split actors and env from externs.h.Robert Vollmert2009-10-211-0/+1
|
* Split dgn_lib out of luadgn.cc; rename luadgn to dlua.Robert Vollmert2009-10-191-1/+1
|
* Drop obsolete CVS last-committed headers ($Author$).Adam Borowski2009-10-061-3/+0
|
* C code for Chapayev's and Eino's request for a wall mounted "switch": if thezelgadis2009-08-191-1/+2
| | | | | | | | | | | | player takes a swing at a solid grid (ctrl-direction at it), or it's hit by a solid-ish beam (normal thrown item, Magic Dart, etc), then a "wall hit" dungeon event will be issued for that square; a Lua marker can listen to that event to implement a switch/lever/button. No Lua glue or Lua convenience classes yet. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10573 c06c8d41-db1a-0410-9941-cceddc491573
* Ditch baroque dgnevent veto mechanism in favour of marker-property-based ↵dshaligram2008-11-251-4/+1
| | | | | | veto, which is trivial to extend. Also fix turn loss when trying to use a toll portal without enough gold. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7611 c06c8d41-db1a-0410-9941-cceddc491573
* Ziggurat portals charge gold for entry.dshaligram2008-11-251-2/+13
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7610 c06c8d41-db1a-0410-9941-cceddc491573
* Add whitespace fixes.dolorous2008-09-281-5/+5
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7054 c06c8d41-db1a-0410-9941-cceddc491573
* [1923246] Item pickup marker moves itself when the item it's guarding is ↵dshaligram2008-03-311-3/+7
| | | | | | apported. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3976 c06c8d41-db1a-0410-9941-cceddc491573
* [Bug 1907221] Add "Modified for Crawl Reference" statement and author to aj-p-e-g2008-03-081-1/+2
| | | | | | | | huge number of files. Also correct file name comments. No coding changes. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3539 c06c8d41-db1a-0410-9941-cceddc491573
* Added fog machine Lua map markers. Needs a C interface to make it usablezelgadis2007-10-181-5/+6
| | | | | | | | | | | | | | | 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
* Added svn properties svn:keywords and svn:eol-style to files which werezelgadis2007-10-031-1/+1
| | | | | | | missing them. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2301 c06c8d41-db1a-0410-9941-cceddc491573
* This change moves the logic for when a level or branch prohibitszelgadis2007-09-191-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | teleport control from the C++ code into the vault .des files. This is done with the additions of two things: * Changeable, persistent per-level and per-branch flags which affect game play. * Dungeon events for the killing of monsters, picking up of objects and changing of features. The current level and branch flags are for teleport control prevention, making a level unmappable (like the Abyss or a Labyrinth), and preventing magic mapping from working (like the Abyss or a Labyrinth). Some related changes: * The new .des header KMASK allows for dungeon grid masks like no_monster_gen to be applied to specific symbols rather than the entire vault. * If the wizard mapping command (&{) is used in a place which is unmappable, it will ask if you wish to force the area to be mappable (so you can see what an entire Labyrinth or Abyss level looks like without having to hack the source). * A new wizard-mode level-map command, 'T', will teleport the player to wherever the cursor is pointing. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2146 c06c8d41-db1a-0410-9941-cceddc491573
* Handle dungeon event listeners correctly when shifting terrain.dshaligram2007-07-291-0/+3
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1948 c06c8d41-db1a-0410-9941-cceddc491573
* Replaced timed markers with Lua markers. Breaks save compatibility.dshaligram2007-07-261-1/+4
| | | | | | KFEAT: feature names are now as in the dungeon_feature_type enum. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1930 c06c8d41-db1a-0410-9941-cceddc491573
* Updated level-design.txt.dshaligram2007-07-211-0/+105
Moved map markers to mapmark.cc. Added support for timer markers that remove a feature after a certain timeout. Need to hook up messaging to Lua. Added bazaars (need more bazaar layouts). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1899 c06c8d41-db1a-0410-9941-cceddc491573