summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dat/clua/lm_trig.lua
Commit message (Collapse)AuthorAgeFilesLines
* Let message_at_spot accept props; function_at_spot.Jude Brown2009-12-041-2/+12
|
* Allow reactivation of lua marker.Robert Vollmert2009-11-241-1/+2
| | | | | | | | | Failed reactivation was causing error messages on travel to off-level stashes, for example. _loadlev_populate_stair_distances reactivates all markers, so markers should probably handle reactivatiion gracefully. Not sure this is the correct way to handle things, however.
* Add "wall_hit" to possible DgnTriggerer types.Jude Brown2009-11-201-1/+9
|
* lm_trig.lua: monster_dies can look for "any"Matthew Cline2009-11-131-3/+3
|
* lm_trig.lua: monster_dies fix, slaved marker fixMatthew Cline2009-11-111-2/+2
| | | | | | | monster_dies now uses the full name of the monster, rather than the name of the monster's type. Fixed error with using slave markers.
* lm_trig.lua: "listen_to_slaves" not for globalsMatthew Cline2009-11-081-3/+13
| | | | | "listen_to_slaves" shouldn't apply to global events, only position-dependent events.
* item_pickup_change_flags: "auto" item nameMatthew Cline2009-11-081-6/+22
| | | | | | item_pickup_change_flags (and the underlying DgnTriggerable) can take the item name "auto", in which case it automatically picks the item placed on top of the marker.
* lm_trig.lua: Forgot to remove master listenerMatthew Cline2009-11-081-1/+4
|
* lm_trig.lua: Master markers can listen to slavesMatthew Cline2009-11-081-6/+50
| | | | | | Master markers can now listen to events happening at slave markers by setting the property "listen_to_slaves", and can only trigger at the slave marker which had the event by also setting "only_at_slave".
* Make TriggerableFunction's data parameter always a table.Jude Brown2009-11-071-4/+4
| | | | And make it use lmark.marshall_table and lmark.unmarshall_table instead.
* lm_trig.lua: turn and enter event, listenersMatthew Cline2009-11-071-9/+194
| | | | | | | | Triggerable now handles listeners, and DgnTriggerer now handles turn and entered_level events. For turn events, DgnTriggerer also handles randomized, repeating countdowns. Also added a TriggerableFunction class.
* lm_trig.lua: do_trigger(): simplifyMatthew Cline2009-11-041-20/+4
|
* Slave/master handling in the Triggerable classMatthew Cline2009-11-041-8/+119
| | | | | The Triggerable class can now handle master/slave marker logic. See dis_mu in hells.des for an example.
* Chained FogMachine convenience function, documentation, minor corrections.Bookofjude2009-11-031-1/+1
| | | | chained_fog_machine now performs relevant lmark.synchronized_markers modification to fog machines. Provided documentation for this. Cleaned up volcano.des, removed some unused functions and fixed some line lengths, other minor corrections.
* Use lm_trig.lua instead of lm_func. lua for msgsMatthew Cline2009-11-011-0/+66
| | | | | 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.
* Observerable/observer-ish pattern for Lua markersMatthew Cline2009-10-221-0/+352
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.