This is a 2-room dungeon that shows two different ways to spawn a mimic. The first is the basic approach, which uses Script to call the setMimic method. The other uses a floor trigger to spawn a mimic with modified status (higher level and more hitpoints).
Code: Select all
-- This file has been generated by Dungeon Editor 2.2.4
--- level 1 ---
newMap{
name = "Mimic Room",
width = 32,
height = 32,
levelCoord = {0,0,0},
ambientTrack = "dungeon",
tiles = {
"dungeon_floor",
"dungeon_wall",
}
}
loadLayer("tiles", {
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
})
spawn("starting_location",15,15,1,0,"starting_location")
spawn("torch_holder",15,14,0,0,"torch_holder_1")
torch_holder_1.controller:setHasTorch(true)
spawn("torch_holder",21,14,0,0,"torch_holder_2")
torch_holder_2.controller:setHasTorch(true)
spawn("chest",19,15,3,0,"chest_1")
spawn("chest",24,15,3,0,"chest_2")
spawn("invisible_teleporter",26,15,3,0,"inv_portal")
inv_portal.teleporter:setTeleportTarget(1,24,15,0)
inv_portal.teleporter:setSpin("west")
inv_portal.teleporter:setTriggeredByParty(false)
inv_portal.teleporter:setTriggeredByMonster(true)
inv_portal.teleporter:setTriggeredByItem(false)
inv_portal.teleporter:setTriggeredBySpell(false)
inv_portal.controller:setInitialState("deactivate")
spawn("mimic",26,15,3,0,"mimic_1")
mimic_1.monster:setLevel(2)
mimic_1.monster:setHealth(800)
spawn("script_entity",21,12,0,0,"script_entity_1")
script_entity_1.script:setSource("chest_1.chest:setMimic(true); -- this runs when the level loads\
\
function TriggerMimic()\
\
\9local mChest = findEntity(\"chest_2\");\
\9\
\9if mChest ~= nil then\
\9\9mChest:destroy();\
\9\9inv_portal.controller:activate();\
\9end\
\
end")
spawn("floor_trigger",23,15,1,0,"floor_trigger_1")
floor_trigger_1.floortrigger:setTriggeredByParty(true)
floor_trigger_1.floortrigger:setTriggeredByMonster(false)
floor_trigger_1.floortrigger:setTriggeredByItem(false)
floor_trigger_1.floortrigger:setTriggeredByDigging(false)
floor_trigger_1.floortrigger:setDisableSelf(false)
floor_trigger_1.floortrigger:addConnector("onActivate", "script_entity_1", "TriggerMimic")