module RPGEngine.Data.Default -- Everything is exported where import RPGEngine.Data (Entity (..), Game (..), Item (..), Layout, Player (..), Level (..), State (..), Physical (..), Direction (..)) import RPGEngine.Input.Core (ListSelector(..)) ------------------------------ Defaults ------------------------------ defaultEntity :: Entity defaultEntity = Entity { entityId = "", entityX = 0, entityY = 0, entityName = "Default", entityDescription = "", entityActions = [], entityValue = Prelude.Nothing, entityHp = Prelude.Nothing, direction = Stay } defaultItem :: Item defaultItem = Item { itemId = "", itemX = 0, itemY = 0, itemName = "Default", itemDescription = "", itemActions = [], itemValue = Prelude.Nothing, useTimes = Prelude.Nothing } defaultLayout :: Layout defaultLayout = [ [Blocked, Blocked, Blocked, Blocked, Blocked], [Blocked, Entrance, Walkable, Exit, Blocked], [Blocked, Blocked, Blocked, Blocked, Blocked] ] defaultLevel :: Level defaultLevel = Level { layout = defaultLayout, index = [ (0, 0, Blocked), (0, 1, Blocked), (0, 2, Blocked), (1, 0, Blocked), (1, 1, Entrance), (1, 2, Blocked), (2, 0, Blocked), (2, 1, Walkable), (2, 2, Blocked), (3, 0, Blocked), (3, 1, Exit), (3, 2, Blocked), (4, 0, Blocked), (4, 1, Blocked), (4, 2, Blocked) ], items = [], entities = [] } defaultPlayer :: Player defaultPlayer = Player { -- playerHp = Prelude.Nothing, -- Compares to infinity playerHp = Just 50, inventory = [ Item{ itemId = "key", itemX = 0, itemY = 0, itemName = "Epic key", itemDescription = "MyKey", itemActions = [], itemValue = Nothing, useTimes = Nothing }, Item{ itemId = "dagger", itemX = 0, itemY = 0, itemName = "My dagger", itemDescription = "dagger", itemActions = [], itemValue = Nothing, useTimes = Nothing }], position = (0, 0), showInventory = False, showHp = True } defaultSelector :: ListSelector defaultSelector = ListSelector { selection = 0, selected = False }