summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dat/clua/luamark.lua
Commit message (Collapse)AuthorAgeFilesLines
* MonPropsMarker: set hash properties on monstersMatthew Cline2009-11-131-0/+1
| | | | | | A marker class which will take the monster on top of it, set any number entries in that monster's props CrawslHashTable member, and then disappear.
* Remove lm_func.lua and FunctionMachines.Jude Brown2009-11-071-1/+0
| | | | | These have been replaced TriggerableFunctions, which provide much more flexibility.
* lmark.synchronized_markers(): apply one marker's effects to multiple points ↵Darshan Shaligram2009-10-311-1/+2
| | | | | | | | | | | | | | | simultaneously. synchronized_markers() takes a marker, and a list of method names to override, and returns a set of markers that fire simultaneously, to allow, say, fog machines that fire at random intervals, but always fire in unison. lm_mslav.lua has details. volcano.des has an example volcano entry vault that uses this. Allow fetching a list of Lua markers/marker positions by property value. Renamed dgn.find_marker_prop -> dgn.find_marker_position_by_prop. s/helper/listener/ for fog machine listeners.
* FunctionMachines: call a specified Lua function when certain conditions are ↵Jude Brown2009-10-251-0/+1
| | | | | | | | met. Conditions currently are "random" (every random(min, max) turns), "turns" (every turns turns), "in_los" (when you.see_cell(marker:pos())), "player_at" (when you're standing on the marker). Needs merge with lm_trig.lua. Signed-off-by: Darshan Shaligram <dshaligram@users.sourceforge.net>
* Observerable/observer-ish pattern for Lua markersMatthew Cline2009-10-221-0/+2
| | | | | | | | | | 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.
* Lua marker to create monsters on triggeringMatthew Cline2009-10-161-0/+1
| | | | | | | | | New lua marker MonsterOnTrigger, which creates a monster when the triggering condition is met (which currently only includes a monster dying). Use it in the dis_mu Dis:7 vault to turn all of the iron statues into iron golems when Dispater dies.
* Clean up TimedMarker to inherit from OneWayStair. Breaks saves.dshaligram2008-11-251-6/+6
| | | | git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7608 c06c8d41-db1a-0410-9941-cceddc491573
* If a map marker has the property "connected_exclude" then it will bezelgadis2008-07-081-0/+1
| | | | | | | | | | excluded from find_connected_xyz() unless it's the starting square. Used in the "Evil zoo" mini-vault (minivault_9) so that each door opens and closes separately rather than all of them forming a huge gate which opens all at once. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6461 c06c8d41-db1a-0410-9941-cceddc491573
* Added fog machine Lua map markers. Needs a C interface to make it usablezelgadis2007-10-181-0/+1
| | | | | | | | | | | | | | | 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
* This change moves the logic for when a level or branch prohibitszelgadis2007-09-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Reworked Bazaars as a special case of portal vaults. The level-type is nowdshaligram2007-07-271-6/+3
| | | | | | | | | | | | | called portal vault. The dungeon builder bases its behaviour on the level_type_name, which must be set as the "dst" property on the portal leading to the bazaar/portal vault. Added WELCOME: directive to .des files to allow maps to specify a welcome message when the player enters the level (only relevant to encompass maps). Readjusted kenku flight speed. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1941 c06c8d41-db1a-0410-9941-cceddc491573
* Replaced timed markers with Lua markers. Breaks save compatibility.dshaligram2007-07-261-0/+88
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