97 lines
No EOL
2.3 KiB
Haskell
97 lines
No EOL
2.3 KiB
Haskell
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
|
|
} |