1{ 2id: "dungeon_save_door", 3dies_on_inactive: false, 4zorder: -2, 5on_interact: "[sound('DoorOpen.ogg'), animation('open'), fire_event(level.player, 'start_interact')]", 6on_talk: "[ 7 animation('close'), 8 fire_event(level.player, 'end_interact'), 9 10 save_game(), 11 checkpoint_game(), 12 13 transient_speech_dialog(level.player, [~The game has been saved.~])]", 14on_end_close_anim: "animation('normal')", 15on_cancel_interaction: "if(animation in ['open', 'ajar'], animation('close'))", 16on_end_open_anim: "animation('ajar')", 17on_end_normal_anim: "animation('normal')", 18on_end_ajar_anim: "animation('ajar')", 19editor_info: { 20 category: "buildings, portals", 21 var: [ 22 { 23 name: "dest_level", 24 type: "level", 25 }, 26 { 27 name: "dest_door", 28 type: "label", 29 info: "dest_level", 30 }, 31 ], 32}, 33animation: [ 34 { 35 "@base": true, 36 image: "props/dungeon-save-door.png", 37 pad: 0, 38 palettes: "@include data/palettes.cfg:dungeon_palettes", 39 }, 40 { 41 interact_area: "all", 42 id: "normal", 43 rect: [0,0,31,63], 44 frames: 1, 45 duration: 10000000, 46 }, 47 { 48 id: "open", 49 rect: [0,0,31,63], 50 frames: 5, 51 duration: 3, 52 events: "14:enter", 53 }, 54 { 55 id: "close", 56 rect: [0,0,31,63], 57 frames: 5, 58 duration: 3, 59 play_backwards: true, 60 }, 61 { 62 id: "visualopen", 63 rect: [0,0,31,63], 64 frames: 5, 65 duration: 4, 66 reverse: true, 67 }, 68 { 69 id: "ajar", 70 rect: [128,0,159,63], 71 frames: 1, 72 duration: 10000000, 73 }, 74], 75} 76