Voxel Shop beta is live. Expect occasional bugs. Learn more
TW Extension - Dungeon
Private, party-based dungeon runs for your TypeWriter server, fixed or generated.
A TypeWriter extension by BTC Studio
A shared dungeon world means griefed chests, stolen mobs and parties walking into each other. Dungeon gives every party its own private run: its own world or world slot, time limit, chests, NPCs and mobs, with a clean exit that sends everybody back where they came from.
A dungeon is described by one Dungeon Instance entry. Players pick it in a global menu, join a lobby, mark themselves ready and are teleported in when the countdown ends. Staff and quests can also send a player straight in with an action or a command.
Two kinds of dungeon share the same runs, menus, chests, NPCs, mobs, events and facts:
typewriter reload or a Publish keeps the runs going, with their members, deadline, opened chests and spawned mobs. A server restart ends the runs.onEnter and onLeave triggers, modifiers, criteria and priority. An in-game editor places the nodes of the zone.onClear.dungeon_instance: define a dungeon: isolation, party size, time limit, costsdungeon_category: group dungeons for the global menudungeon_room_config: spawn point and room settingsdungeon_room: room zone with enter and leave triggersdungeon_loot_chest: loot chest of a dungeondungeon_mob_spawn: combat mobs of a room, spawned once per rundungeon_generator: assemble a layout for each run from a seeddungeon_room_pool: pool of rooms the generator can draw fromdungeon_room_template: saved structure of one roomdungeon_connector_type: door types that join two roomsdungeon_affix: modifiers applied to a generated rundungeon_global_menu: open the dungeon browser of a categorydungeon_party_menu: lobby menu of a dungeondungeon_enter: send a player into a rundungeon_leave: remove a player from their rundungeon_close: end a rundungeon_complete: complete the run and send members backdungeon_clear_room: declare a generated room cleareddungeon_spawn_mobs: spawn a wave of mobsloot_chest_trigger: trigger a loot cheston_dungeon_start: a run startson_dungeon_complete: a run is completedon_dungeon_room_enter: a player enters a roomon_dungeon_room_leave: a player leaves a roomon_dungeon_mob_death: a dungeon mob diesindungeon: is the player inside a dungeon?indungeon_instance: is the player inside a specific dungeon?dungeon_mobs_alive: dungeon mobs still alivedungeon_run_audience: players in a dungeon rundungeon_run_group: players of a dungeon run, as a groupdungeon_npc_instance: NPC shown only to the members of a rundungeon_artifact: statistics: attempts, completions, best timeactive_dungeon_instance_artifact: state of the runs, kept across reloads/typewriter dungeon enter | leave | close <instance>/typewriter dungeon global-menu <category> and /typewriter dungeon instance-menu <instance>/typewriter dungeon force-start <instance>: start your lobby without waiting for ready, the countdown or the group size/typewriter dungeon room <room> edit | addnode | removenode | removenodeat | save | cancel: the in-game room editortypewriter.dungeon.admin covers every command. Players need no permission to use the menus.%typewriter_dungeon_remaining%, %typewriter_dungeon_remaining_formatted%: time left in the player's run%typewriter_dungeon_players%, %typewriter_dungeon_max%, %typewriter_dungeon_list%: the party of the run%typewriter_dungeon_attempts%, %typewriter_dungeon_completions%, %typewriter_dungeon_best%: statistics of the playerplugins/Typewriter/extensions/ and restart.The documentation has the full walkthrough, including generated dungeons.