function callback.main_mons_die(data, triggerable, triggerer, marker, ev)
  data.mons_num = data.mons_num + 1
  crawl.mpr("This is monster number: " .. data.mons_num .. ".")
  if data.mons_num == dgn.persist.num_mons then
    crawl.mpr("You have killed all " .. dgn.persist.num_mons .. " monsters.")
  else
    return
  end
end

{{
  local choice_prompt = TriggerableFunction:new{func="callback.arena_choice"}
  local kill_mons = TriggerableFunction:new{func="callback.main_mons_die" ,
        repeated = false , data={mons_num=0} }
  choice_prompt:add_triggerer(DgnTriggerer:new {type="entered_level"})
  kill_mons:add_triggerer(DgnTriggerer:new {type="monster_dies" , target = "ogre"})
  lua_marker("<", choice_prompt)
  lua_marker("g", props_marker{ monster = 1 })
  lua_marker("g", kill_mons)
}}

Add a code snippet to your website: www.paste.org