Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local function monsterTurn(self, completion)
- transition.to(self, {time=1000, onComplete=completion}) -- whatever actual things take care of the action here
- end
- local function newMonster()
- return {TakeTurn = monsterTurn}
- end
- local allMonsters = {}
- for i=1,3 do
- allMonsters[i] = newMonster()
- end
- local function dmTurn(event)
- if event.choice ~= "dm" then return end
- local monstersThisTurn = {}
- for -, monster in ipairs(allMonsters) do
- monstersThisTurn[i], monstersThisTurn[monster] = monster, i
- end
- local function finishMonsterTurn(monster)
- local i = monstersThisTurn[monster]
- monstersThisTurn[monster] = nil
- table.remove(monstersThisTurn, i)
- if monstersThisTurn[1] then
- monstersThisTurn[1]:TakeTurn(finishMonsterTurn)
- else
- Runtime:dispatchEvent{name='Turn'; choice='Player'}
- end
- end
- monstersThisTurn[1]:TakeTurn(finishMonsterTurn)
- end
- Runtime:addEventListener('Turn', dmTurn)
Advertisement
Add Comment
Please, Sign In to add comment