LambdaHack-0.2.6: LambdaHack/Content/PlaceKind.hs
-- | Rooms, halls and passages for LambdaHack.
module Content.PlaceKind ( cdefs ) where
import Game.LambdaHack.CDefs
import Game.LambdaHack.Content.PlaceKind
cdefs :: CDefs PlaceKind
cdefs = CDefs
{ getSymbol = psymbol
, getName = pname
, getFreq = pfreq
, validate = pvalidate
, content =
[rect, pillar, pillarC, pillar3, colonnade, colonnadeW]
}
rect, pillar, pillarC, pillar3, colonnade, colonnadeW :: PlaceKind
rect = PlaceKind -- Valid for any nonempty area, hence low frequency.
{ psymbol = 'r'
, pname = "room"
, pfreq = [("rogue", 100)]
, pcover = CStretch
, pfence = FNone
, ptopLeft = [ "--"
, "|."
]
}
pillar = PlaceKind
{ psymbol = 'p'
, pname = "pillar room"
, pfreq = [("rogue", 1000)]
, pcover = CStretch
, pfence = FNone
, ptopLeft = [ "-----"
, "|...."
, "|.O.."
, "|...."
, "|...."
]
}
pillarC = pillar
{ ptopLeft = [ "-----"
, "|O..."
, "|...."
, "|...."
, "|...."
]
}
pillar3 = pillar
{ pfreq = [("rogue", 100)] -- Feels a bit intrusive with so many pillars.
, ptopLeft = [ "-----"
, "|O.O."
, "|...."
, "|O..."
, "|...."
]
}
colonnade = PlaceKind
{ psymbol = 'c'
, pname = "colonnade"
, pfreq = [("rogue", 500)]
, pcover = CAlternate
, pfence = FFloor
, ptopLeft = [ "O."
, ".O"
]
}
colonnadeW = colonnade
{ ptopLeft = [ "O."
, ".."
]
}