Building: Event List
Updated at Sat Apr 11 21:00:02 2026
batch_vend
lay_in_room
lay
before_lay
before_died
before_jump_mount
killing_allowed
before_wield
unwield
unhold
minican
minicreate
mission_check
after_jump_standing
after_stop_dragging
exit_invisible
after_smashed
state
after_post
before_heal
after_heal
wild_name
wild_name_over
wild_name_under
wild_desc
wild_exit
wild_desc_near
wild_desc_near_plural
wild_desc_far
wild_desc_far_plural
wild_desc_same
wild_desc_same_all
wild_desc_over
wild_desc_under
get_dragging_verb
get_riding_verb
effect_get_hallucination
effect_get_colour_override
before_describe_light
describe_light_outdoors
describe_container
hazardsuit
get_name_in_shop
get_min_rank
get_offer
wound
stock_list
temp_stock_list
mplex
random_name
before_ranks
calc_level
verb
action
kicked_off_stool
get_trading_inventory
get_trading_inventory_name
schema
lib
lib
primitives
targets
helpers
verb
verb
try_lift
allowed_on_ship
get_hospital
get_lighting
use_fuel
get_save_location
move
after_look_in
after_observed
Traps Proper
| trap | o1 | o2 | o3 | txt | docs |
| reset | |||||
| deplete_airsupply | air supply | if return 1 to prevent standard airsupply depletion from occurring. | |||
| before_wander | wandered | dest | return 1 if we won't wander there | ||
| hourly | object experiencing time change | room in which time is changing | called when local planetary time advances an hour | ||
| daylight_change | room in which daylight changes should be described | called on outdoor rooms with gravity when local planetary time advances an hour. Return 1 to suppress further light change messages | |||
| mog_speech | mog template | speech being said by pl | return a string to alter /pl/'s speech. | ||
| format_currency | currency | return a formatted currency string, event.long_form==whether to use the long (wordy) form. | |||
| before_respawn | program | deck | Called before holo-death causes endprogram. return 1 to avert endprogram. | ||
| after_died | victim | corpse | after corpse created; mobile is now in 'dead'; etc | ||
| get_plural_name | object we want a plural name for | return the plural name to give, if any. Note that /pl/ isn't set to anything useful. Trap is const-exec'd... no side effects allowed. | |||
| get_name | object we want a name for | return the name to give, if any. Note that /pl/ isn't set to anything useful. Trap is const-exec'd... no side effects allowed. | |||
| get_plural_long | object we want a plural long name for | return the plural long name to give, if any. Note that /pl/ isn't set to anything useful. Trap is const-exec'd... no side effects allowed. | |||
| get_long | object we want a long name for | return the long name to give, if any. Note that /pl/ isn't set to anything useful. Trap is const-exec'd... no side effects allowed. | |||
| before_jam_comms | jammer | Called before communication attempt. | |||
| spacesuit | spacesuit | return 1 to let this object protect its wearer against vacuum | |||
| spacesuit | spacesuit | return 1 to let this object protect its wearer against vacuum | |||
| radiationsuit | radiationsuit | return 1 to let this object protect its wearer against vacuum | |||
| airsupply | air supply | return 0 to prevent this object supplying air. | |||
| minidestroy | minimission template | minimission instance | called just before a minimission instance is destroyed | ||
| mission_available | the mission object | the player being shown to | return 1 to indicate that the mission should not be visible on the board or acceptable by the player | ||
| after_leave | old room | new room | just after 'look'. | ||
| after_entry | new room | old room | just after 'look'. | ||
| after_go | thing moving | new room | just after 'look'. | ||
| after_moved | new room | return 1 to abort | |||
| arrival | everything in destination | old room | just after 'look'. | ||
| should_bar | possible barrer | new room | exit | return 1 to bar. | |
| before_bar | barrer | new room | if return 1 then we won't bar, otherwise we will. | ||
| after_bar | barrer | new room | after the %M stops %m from going %s message. | ||
| before_long_drop | room falling into | if return 1 to abort long drop handling. | |||
| before_parachute | parachute | room falling to | if return 1 to act as a parachute. | ||
| parachuted_into | room falling into | parachute | room fallen from | called after landing but before parachute trap. Return 1 to stop parachute functioning | |
| parachute | parachute | room fallen from | called after landing, return 1 to stop death checks and messaging. | ||
| long_drop | room falling into | room fallen from | called after landing, return 1 to stop death checks and messaging. | ||
| after_parachute | parachute | called after everything. | |||
| after_reset | |||||
| after_reset | |||||
| drop_in_pit | object being pitted | the pit | after messaging. called on contents of containers too. | ||
| batch_discard_in_here | this room | before anything other than droppability testing, return 1 to abort | |||
| batch_drop_in_here | this room | before anything other than droppability testing, return 1 to abort | |||
| drop_in_here | this room | object being dropped | before anything other than droppability testing, return 1 to abort | ||
| drop | object being dropped | this room | return 1 to abort | ||
| throw | missile | this room | return 1 to abort | ||
| before_throw_at | missile | target | return 1 to abort | ||
| before_thrown_with | target | missile | return 1 to abort | ||
| before_pit | object about to be pitted | the pit | return 1 to abort. not recursive - doesn't get called on objects inside containers that are to be pitted. | ||
| before_remove | clothing | after it is known to be worn, and not under any other clothing that needs removing first. return 1 to abort | |||
| after_remove | clothing | after worn and messaging | |||
| after_drop_in_here | this room | object being dropped | after drop messaging before additional messaging and special checks | ||
| after_throw | missile | after messaging, before specials | |||
| after_throw_at | missile | target | after messaging before specials | ||
| after_thrown_with | target | missile | after messaging before specials | ||
| after_drop | object dropped | after messaging, before specials | |||
| after_place | after messaging, before specials | ||||
| after_drop_on | object being dropped on | object dropped | room being dropped in | after messaging, before specials | |
| before_smashed | fragile object | return 1 to not break | |||
| before_smash_on | floor or target of throw | fragile object | room where breakage is occurring | return 1 not to break fragile object | |
| after_wield | weapon | after wielding but before 'you hold x in your y hand' messaging | |||
| after_hold | item | after holding but before 'you hold x in your y hand' messaging | |||
| after_unwield | weapon | after everything in wield/unwield, also triggered internally by set_owner and quitting with undefined messaging order. Coder beware! | |||
| after_unhold | item | after everything in hold/unhold, also triggered internally by set_owner and quitting with undefined messaging order. Coder beware! | |||
| act | object or mobile an action has been done on | ||||
| before_act_in | location action was performed in | target of action | action prop | action text | |
| mounted_act | object or mobile an action has been done on | action prop | |||
| before_act_held | who possession | target of action | action prop | action text | |
| before_act | object or mobile an action has been done on | ||||
| before_act | object or mobile an action has been done on | txt==action being performed, after validity checking but before messaging, return 1 to abort action handling | |||
| act_in | location action was performed in | target of action | action prop | action text | |
| act_seen | object observing action | ||||
| try_commline | commline object | sender | return 1 or "You can't use that commline because we hate you" to stop | ||
| join_combat | mobile that wants to join in | attacker | victim | return either attacker or victim to start fighting them | |
| before_join_friendly | mobile that wants to join in | mobile it wants to attack | mobile it will be helping | return true to not join in fight on side of same nation | |
| before_combat_kill | victim | before combat ends, messaging and corpse creation | |||
| fight_over | attacker | after a fight has finished however | |||
| after_slain | victim | after mobile killed in combat | |||
| wounded | victim | only triggered by non-fatal wounds with damage greater than zero | |||
| wounded | victim | only triggered by non-fatal wounds with damage greater than zero | |||
| unjust | victim | return 1 if player killing o1 would be ok | |||
| before_fight_in_room | room fight is starting in | victim | before fight starts. return 1 to stop fight | ||
| kill | victim | before fight started. o1 can be an object, o2 is the weapon, or nil, o3 is the second weapon, if any. | |||
| before_opponent_flee | opponent | flee direction | before player flees. return 1 to prevent fleeing | ||
| tell | the mobile | return 1 to not do any more searching | |||
| telldefault | the mobile | return 1 to suppress normal telldefault response | |||
| hear | the object that heard | the text heard | called on every object resursively in pl->owner(), including pl and its contents. Currently works for'say' and 'yell'. Objects in airless containers hear nothing, objects in soundproof containers don't hear noises from outside. | ||
| before_say | this room | text to say | return 1 doesn't say it | ||
| say | this room | text said | return 1 to prevent tell or after_sayto trap handling | ||
| after_sayto | target | text said | return 1 to prevent handling the sayto as a tell | ||
| ignore_for_dynreset | all objects in zone we want to reset now | return 1 to tell dynresetter to ignore this object (like the noreset flag). | |||
| before_dynreset | all objects in zone we want to reset now | return 1 to hold up the reset. | |||
| before_effect_spawn | effect template | source of effec being spawned | called before any effect objects are created of modified. Return 1 to abort spawning process. | ||
| effect_combine | effect template | source of effect being combined | called when combining a new prefab effect instance with an old one | ||
| effect_spawn | effect template | new effect object | source of the effect | called when spawning a prefab effect | |
| effect_timeout | effect target | effect object | source of the effect | return 1 to prevent default effect tidyup procedure | |
| effect | effect object | effect object | source of the effect | called on an active effect every mud 'tick'. return 1 to timeout effect | |
| before_wear | clothing | after already wearing check. return 1 to abort. | |||
| after_wear | clothing | after worn and messaging | |||
| sit_in_room | room | before anything; return 1 to abort | |||
| before_go_on | before messaging, | ||||
| before_sit | the seat | before messaging, return 1 to abort | |||
| go_on | after messaging, before fragility handling, return 1 to abort | ||||
| sit | the seat | after messaging, before fragility handling, return 1 to abort | |||
| lie_in_room | room | before anything; return 1 to abort | |||
| before_lie | the bed | before messaging, return 1 to abort | |||
| sit | the bed | after messaging, before fragility handling, return 1 to abort | |||
| after_sleep | room slept in | after everything | |||
| before_stand | the floor or other object we are about to stand on | return 1 to abort | |||
| after_stand | |||||
| before_drag | potential draggable object | return 1 to abort | |||
| after_drag | the dragged object | ||||
| before_mount | potential mount | return 1 to abort | |||
| after_mount | the mount | ||||
| before_dismount | the mount | return 1 to abort | |||
| after_dismount | the former mount | ||||
| before_hold | item | before most things, return 1 to abort | |||
| release | item | before messaging, return 1 to abort calls to release or hold commands. not triggered by throw, drop, disp, etc | |||
| release | item | before messaging, return 1 to abort calls to release or hold commands. not triggered by throw, drop, disp, etc | |||
| after_discovered | object being discovered | object examined to cause discovery | |||
| examine | thing examined | before "You examine..." messages, return 1 to abort | |||
| before_examine | thing examined | after "You examine...", you are wearing messages, but before main desc ; return 1 to abort | |||
| before_show_desc | thing examined | instead of printing the 'desc' when examined. returning 1 averts that, but will still print clothes etc. | |||
| after_show_desc | thing examined | after desc displayed but before clothing, contents, etc. Return 1 to hide those. | |||
| after_examine | thing examined | after everything | |||
| follow | |||||
| after_followed | leader | after everything, including CanLeader or player check | |||
| leave | |||||
| after_left | former leader | called after pl has stopped following o1 | |||
| before_pour | from | into | called before messaging and checks. return 1 to abort pouring. | ||
| after_fill | container | source | called after everything including fluid object updating. | ||
| before_fountain | fountain | container to fill | called before messaging. return 1 to abort filling. | ||
| before_fill | container to fill | source | called before messaging or source-fluid checks but after basic validity checking. return 1 to abort filling. | ||
| newbie_start | their nation | return 1 to not clone default newbie kit for them | |||
| newbie_start | their nation | return 1 to not clone default newbie kit for them | |||
| get_shortdesc | return the short description to give, if any. | ||||
| before_descibe_light | room | Triggered before any lighting messages are sent. Return a string describing the light to suppress any further description | |||
| descibe_light_outdoors | room | Triggered on outdoor rooms after any lit objects are described. Return a string describing the light to suppress any further description | |||
| before_room_desc | room | before room desc printed. return 1 to not print room desc (but can't suppress daylight). don't use pl:send, as text will appear out of order to the player... use a room_desc trap for that instead | |||
| room_desc | room | return a string to override room description. don't use pl:send, as text will appear out of order to the player | |||
| after_room_desc | room | after room desc and daylight status printed. return a string to send text to the player, don't use pl:send as it will appear out of order | |||
| accept | mission object | ||||
| before_accept | mission object | board | return 1 to prevent acceptance | ||
| consume | what eaten | before everything, return 1 to abort | |||
| before_fountain | fountain | before someone uses a fountain. if on container, being drunken from. return 1 to abort. | |||
| after_consume | |||||
| before_consume_wearing | item of clothing | before any edibility checking, messaging. return 1 to prevent any consumption. | |||
| get | object getting | before any checking, messaging. return 1 to abort. | |||
| before_getfrom | table or container | object being taken | return 1 to abort | ||
| handle | object gotten | after an object has been picked up in any way, or been given. | |||
| after_get | object gotten | after everything | |||
| after_getfrom | table or container | object that was taken | |||
| before_steal | object to steal | victim | return 1 to abort | ||
| after_steal | object stolen | ||||
| before_paid | mobile paid | the currency | before messaging/cash transfer, return 1 to abort | ||
| after_paid | mobile paid | the currency | |||
| after_shown_to | object | mobile | return 1 if we saw it. | ||
| shown_mission | mobile | mission | return 0 to not want to see the mission. If you return 1, mission_shown will not be called. | ||
| mission_shown | mission | mobile | return 0 to not want to see the mission. | ||
| after_shown | mobile | object | return 0 to not want to see. | ||
| given | gift | mobile | after basic validity checking. return 1 to abort | ||
| give | mobile | gift | after basic validity checking. return 1 to abort | ||
| after_given | gift | mobile | after object given; return 1 to suppress an auto-give-back | ||
| after_give | mobile | gift | after object given; return 1 to suppress an auto-give-back | ||
| empty | container | before openness checking; return 1 to abort | |||
| before_poured_upon | onto | from | called before messaging. return 1 to abort pouring. | ||
| after_emptied | contents object | container | called after movement into new location, etc | ||
| after_empty | container | only called if something was actually emptied | |||
| light | object | before anything; return 1 to abort | |||
| extinguish | object | before anything; return 1 to abort | |||
| before_puton | table | object you are putting on it | called whether or not o1 is a table, return 1 to abort | ||
| before_putupon | object | table | called whether or not o2 is a table, return 1 to abort | ||
| after_puton | table | object you have put on it | |||
| after_putupon | object you have put on it | table | |||
| after_place | object dropped | after messaging, before specials | |||
| put | object | container | called whether or not o2 is a container, return 1 to abort | ||
| contain | container | object | called whether or not o1 is a container, return 1 to abort | ||
| after_put | object | container | called after everything | ||
| after_contain | container | object | called after everything | ||
| before_displace | room and every object in from room | destination | before we are about to move. return 1 to abort | ||
| before_dive | current loc | destination loc | return 1 to abort dive | ||
| before_surface | current loc | destination loc | return 1 to abort surface | ||
| get_cost | shopkeeper | item | return a number to override the default cost of /item/ | ||
| before_trade | shop | shopkeeper | return 1 to abort the list process | ||
| wont_sellto | object | shopkeeper | return 1 (or a string for a reason) to not be allowed to sell. Invoked by list as well as buy. Must be silent. Trap is const-exec'd... no side effects allowed. | ||
| sell | shopkeeper | object offered | if the shopkeeper wants the item, return 1 and set !offered on o2 to the offer, if he doesn't want it, just return 1 | ||
| before_sold | object | shopkeeper | if the shopkeeper wants the item, return 1 and set !offered on o2 to the offer, if he doesn't want it, just return 1 | ||
| after_sell | shopkeeper | item | return 2 to NOT RESTOCK this item | ||
| after_sold | object | shopkeeper | return 1 to NOT VANISH the object and not stock the shop with this object; return 2 to merely not stock the item | ||
| preview | item being previewed | shopkeeper | return 1 to hide display of object's description | ||
| after_preview | item being previewed | shopkeeper | after object's description shown but before 'abilities' line. return 1 to hide abilities | ||
| vend_to_other | shopkeeper | person buying for | template | return 1 to abort, return a string to abort and use as tell message | |
| bought_for | person being bought for | template | shopkeeper | return 1 to allow and suppress messaging | |
| buy_for | template | person buying for | shopkeeper | return 1 to allow and suppress messaging | |
| buy | template | shopkeeper | return 1 to abort. before anything is actually cloned. set !virtrade to 1 on o1 if you want it to not actually clone the items, but to do the paying thing. | ||
| before_vend | shopkeeper | object to buy | return 1 to abort. | ||
| bought | actual item | shopkeeper | return 1 if you don't want the shopkeeper to 'give' item to player | ||
| vend | shopkeeper | actual item | return 1 if you don't want the shopkeeper to 'give' item to player | ||
| after_bought | template bought | shopkeeper | after everything but before object removed from stock | ||
| after_buy | shopkeeper | template bought | after everything but before object removed from stock | ||
| after_bought_for | person who was bought for | template | shopkeeper | after everything | |
| before_traverse | exit or door | before everything, including door openness checking. Return a string to send any messaging or return 1. Either aborts traversal, wandering or routefinding. Trap is const-exec'd... no side effects allowed. | |||
| before_try_traverse | traverser | exit or door | before everything except before_traverse, including door openness checking. Return a string to send any messaging or return 1. Either aborts traversal, wandering or routefinding. Trap is const-exec'd... no side effects allowed. | ||
| try_traverse | traverser | exit or door | before door openness checking. Return a string to send any messaging or return 1. Either aborts traversal. | ||
| traverse | exit or door | called after door and confined space checking. Return a string to send any messaging or return 1. Either aborts traversal. | |||
| before_moved | new room | exit followed | return 1 to abort | ||
| before_depart | every object in from room | destination | before we are about to move. return 1 to abort. | ||
| before_go | thing moving | new room | before we are about to move. return 1 to abort. | ||
| before_leave | old room | new room | before we are about to move. return 1 to abort. | ||
| before_entry | new room | old room | before we are about to move. return 1 to abort. | ||
| after_party_entry | new room | old room | after all party has arrived | ||
| after_party_leave | old room | new room | after all party has arrived | ||
| party_arrival | every object in dest | old room | after all party has arrived | ||
| after_party_moved | new room | return 1 to abort | |||
| before_try_unlock | object we want to lock | return 1 to abort. before everything, including testing that it is locked | |||
| before_unlock | object to be unlocking | return 1 to abort | |||
| before_try_lock | object we want to lock | return 1 to abort. before everything, including testing that it is unlocked | |||
| before_lock | object to be locking | return 1 to abort | |||
| after_lock | object locked | ||||
| before_try_open | object we want to open | return 1 to abort. before everything, including testing that it is even openable | |||
| before_try_close | object we want to close | return 1 to abort. before everything, including testing that it is even closeable | |||
| open | object to open | return 1 to abort. if o1=='other' of the object really being opened, o2==the real object, and return 1 doesn't abort. | |||
| close | object to close | return 1 to abort. if o1=='other' of the object really being closed, o2==the real object, and return 1 doesn't abort. | |||
| after_open | object opened | ||||
| after_component_opened | composite object | component object | |||
| after_close | object closed | ||||
| after_component_opened | composite object | component object | |||
| before_inject | object to inject | thing to inject into | return 1 to not give error | ||
| inject | object to inject | return 1 to not give error message | |||
| push | object to move | return 1 to abort | |||
| push | return 1 to abort | ||||
| press | return 1 to abort | ||||
| push_mount | object being mounted by someone who has been pushed | the person themself | return 1 to abort | ||
| push_upon | object target is upon | person being pushed | return 1 to abort | ||
| combine | an object | another object | called both ways; return 1 to abort | ||
| tie | object | object to | return 1 to abort | ||
| untie | object | return 1 to abort | |||
| clean | return 1 to abort | ||||
| dig | room | return 1 to abort | |||
| wilderness | the default wilderness object | the new wilderness room being described | the wilderness template being used | only ever used on wilderness_default | |
| wild_create | the zone object | the wilderness that has just had a description made from it | probably before exits are made. | ||
| wild_terrain_create | the new wilderness room | called after all wilderness logic has completed | |||
| before_screenreader_map | player owner or zone it belongs to | called before before_map, return 1 to not do any further map handling | |||
| before_map | player owner or zone it belongs to | return 1 to not do any further map handling | |||
| after_discard_in_room | the room | after a discard | |||
| ship_landed | passenger or cargo | ship | place it landed | called before the door has opened. | |
| landed | ship | place it landed | called before the door has opened. | ||
| landed_here | place ship landed | ship | called before the door has opened. | ||
| after_ship_landed | passenger or cargo | ship | place it landed | called after the door has opened and LeaveShip flagged mobiles have left. | |
| after_landed | ship | place it landed | called after the door has opened. | ||
| after_landed_here | place ship landed | ship | called after the door has opened. | ||
| before_takeoff | ship | before doors close, return 1 to abort takeoff and reschedule in 5 seconds time | |||
| after_takeoff | ship | place it took off from | |||
| start_program | a holo object | called on every holoobject when created | |||
| before_start_program | a holo program | called before any objects clone but after crystal inserted, return 1 to abort program start. crystal will not be altered or removed | |||
| after_startprogram | the instance of the holo container | Called after the green glow, but before they 'look' | |||
| before_endprogram | program | deck | If you return 1, doesn't let player end program, just moves them to the deck. | ||
| before_insert_crystal | slot | crystal | After valid crystal checks. Return 1 to abort | ||
| before_crystal_inserted | program | crystal | After valid crystal checks. Return 1 to abort | ||
| caught_smuggling | contraband item | customs officer | smuggler destination | return 1 to smuggle this item safely | |
| caught_smuggler | customs officer | contraband item | smuggler destination | return 1 to ignore this smuggling attempt | |
| after_caught_smuggling | contraband item | customs officer | smuggler destination | return 1 to not be punished and suppress messaging, return 2 to allow past as well | |
| after_caught_smuggler | customs officer | contraband item | smuggler destination | return 1 to not be punished and suppress messaging, return 2 to allow past as well | |
| pressurise | room being pressurised | called on members of a roomgroup being pressurised | |||
| depressurise | room being depressurised | called on members of a roomgroup being depressurised | |||
| depressurise | room being depressurised | called on members of a roomgroup being depressurised | |||
| charge | object mounted | thing charged | return 1 if you handled it. | ||
| climb | object to climb | return 1 to abort | |||
| cut | object to cut | object to cut with or weapon or nil | return 1 to abort | ||
| after_deposit | banker mobile | currency object for type of currency being handled | |||
| jump_mount | object that you are mounting | return 1 to abort | |||
| jump_over | object that you are jumping over | return 1 to allow | |||
| jump_into | object that you are jumping into | return 1 to allow | |||
| jump_on | object to jump on | return 1 to abort | |||
| jump_standing | object that you are standing upon | return 1 to abort | |||
| jump | room you are in | return 1 to abort | |||
| jump_standing | object that you are standing upon | return 1 to abort | |||
| kick | target | return 1 to abort | |||
| after_kick | target | ||||
| lift | object to lift | return 1 to abort | |||
| pull | object to pull | return 1 to abort | |||
| rent | the room someone tried to rent in | return 1 if you handled it | |||
| sign | object to sign on | return 1 to abort | |||
| swing | object to swing on | return 1 to abort | |||
| trap | |||||
| turn | object to turn | return 1 to abort | |||
| after_withdraw | banker mobile | currency object for type of currency being handled |
Undocumented or Unused Traps
after_component_closedbatch_vend
lay_in_room
lay
before_lay
before_died
before_jump_mount
killing_allowed
before_wield
unwield
unhold
minican
minicreate
mission_check
after_jump_standing
after_stop_dragging
exit_invisible
after_smashed
state
after_post
before_heal
after_heal
wild_name
wild_name_over
wild_name_under
wild_desc
wild_exit
wild_desc_near
wild_desc_near_plural
wild_desc_far
wild_desc_far_plural
wild_desc_same
wild_desc_same_all
wild_desc_over
wild_desc_under
get_dragging_verb
get_riding_verb
effect_get_hallucination
effect_get_colour_override
before_describe_light
describe_light_outdoors
describe_container
hazardsuit
get_name_in_shop
get_min_rank
get_offer
wound
stock_list
temp_stock_list
mplex
random_name
before_ranks
calc_level
verb
action
kicked_off_stool
get_trading_inventory
get_trading_inventory_name
schema
lib
lib
primitives
targets
helpers
verb
verb
try_lift
allowed_on_ship
get_hospital
get_lighting
use_fuel
get_save_location
move
after_look_in
after_observed