/// /// /// module PlayBegins { export var rulebook = new Rulebook("Play Begins"); export var LOAD_FAILED = false; let startingRoom; export function execute () { rulebook.execute({}); } export function setStartingRoom (room : Room) { if (startingRoom != undefined) { console.warn("[InitialRoom] Multiple requests for starting room, please check.", startingRoom, room); } startingRoom = room; } export let PutPlayerIntoFirstRoom = rulebook.createAndAddRule({ name : "Place player into initial room", firstPriority : Rule.PRIORITY_HIGHEST, priority : Rule.PRIORITY_MEDIUM, code : () => { if (WorldState.player.getRoom() != undefined) { console.debug(Rulebook.getIndentation() + "[InitialRoom] Player already in a room.", WorldState.player.getRoom()); } else { startingRoom.place(WorldState.player); } } }); export var RunEmptyTurnSequenceRule = new Rule ({ name : "Run Empty Turn Sequence Rule", firstPriority : Rule.PRIORITY_LOWEST, priority : Rule.PRIORITY_LOWEST, code : (rulebook2 : RulebookRunner) => { TurnSequence.execute(); } }); rulebook.addRule(RunEmptyTurnSequenceRule); } module MachineBegins { export let RunPlayBegins = MachineBegins.rulebook.createAndAddRule({ firstPriority : Rule.PRIORITY_LOW, name : "Run Play Begins", code : () => { PlayBegins.execute(); } }); }