module Content.ItemKindOrgan
( organs
) where
import Prelude ()
import Game.LambdaHack.Core.Prelude
import Game.LambdaHack.Content.ItemKind
import Game.LambdaHack.Core.Dice
import Game.LambdaHack.Definition.Ability
import Game.LambdaHack.Definition.Color
import Game.LambdaHack.Definition.Defs
import Game.LambdaHack.Definition.Flavour
organs :: [ItemKind]
organs :: [ItemKind]
organs =
[ItemKind
fist, ItemKind
foot, ItemKind
hookedClaw, ItemKind
smallClaw, ItemKind
snout, ItemKind
smallJaw, ItemKind
jaw, ItemKind
largeJaw, ItemKind
antler, ItemKind
horn, ItemKind
rhinoHorn, ItemKind
tentacle, ItemKind
thorn, ItemKind
boilingFissure, ItemKind
arsenicFissure, ItemKind
sulfurFissure, ItemKind
beeSting, ItemKind
sting, ItemKind
venomTooth, ItemKind
venomFang, ItemKind
screechingBeak, ItemKind
largeTail, ItemKind
hugeTail, ItemKind
armoredSkin, ItemKind
bark, ItemKind
eye3, ItemKind
eye6, ItemKind
eye8, ItemKind
vision6, ItemKind
vision12, ItemKind
vision16, ItemKind
nostril, ItemKind
ear3, ItemKind
ear6, ItemKind
ear8, ItemKind
rattleOrgan, ItemKind
insectMortality, ItemKind
sapientBrain, ItemKind
animalBrain, ItemKind
speedGland5, ItemKind
speedGland10, ItemKind
scentGland, ItemKind
boilingVent, ItemKind
arsenicVent, ItemKind
sulfurVent, ItemKind
bonusHP, ItemKind
braced, ItemKind
asleep, ItemKind
impressed]
[ItemKind] -> [ItemKind] -> [ItemKind]
forall a. [a] -> [a] -> [a]
++ [ItemKind
tooth, ItemKind
lash, ItemKind
noseTip, ItemKind
lip, ItemKind
torsionRight, ItemKind
torsionLeft, ItemKind
pupil]
fist, foot, hookedClaw, smallClaw, snout, smallJaw, jaw, largeJaw, antler, horn, rhinoHorn, tentacle, thorn, boilingFissure, arsenicFissure, sulfurFissure, beeSting, sting, venomTooth, venomFang, screechingBeak, largeTail, hugeTail, armoredSkin, bark, eye3, eye6, eye8, vision6, vision12, vision16, nostril, ear3, ear6, ear8, rattleOrgan, insectMortality, sapientBrain, animalBrain, speedGland5, speedGland10, scentGland, boilingVent, arsenicVent, sulfurVent, bonusHP, braced, asleep, impressed :: ItemKind
tooth, lash, noseTip, lip, torsionRight, torsionLeft, pupil :: ItemKind
fist :: ItemKind
fist = $WItemKind :: Char
-> Text
-> Freqs ItemKind
-> [Flavour]
-> Dice
-> Rarity
-> Text
-> Int
-> Dice
-> [Aspect]
-> [Effect]
-> [(GroupName ItemKind, CStore)]
-> Text
-> ItemKind
ItemKind
{ isymbol :: Char
isymbol = ','
, iname :: Text
iname = "fist"
, ifreq :: Freqs ItemKind
ifreq = [("fist", 100)]
, iflavour :: [Flavour]
iflavour = [Color] -> [Flavour]
zipPlain [Color
Red]
, icount :: Dice
icount = 2
, irarity :: Rarity
irarity = [(1, 1)]
, iverbHit :: Text
iverbHit = "punch"
, iweight :: Int
iweight = 2000
, idamage :: Dice
idamage = 4 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = [Flag -> Aspect
SetFlag Flag
Durable, Flag -> Aspect
SetFlag Flag
Meleeable]
, ieffects :: [Effect]
ieffects = []
, idesc :: Text
idesc = "Simple but effective."
, ikit :: [(GroupName ItemKind, CStore)]
ikit = []
}
= ItemKind
fist
{ iname :: Text
iname = "foot"
, ifreq :: Freqs ItemKind
ifreq = [("foot", 50)]
, iverbHit :: Text
iverbHit = "kick"
, idamage :: Dice
idamage = 4 Int -> Int -> Dice
`d` 1
, idesc :: Text
idesc = "A weapon you can still use if disarmed."
}
hookedClaw :: ItemKind
hookedClaw = ItemKind
fist
{ iname :: Text
iname = "hooked claw"
, ifreq :: Freqs ItemKind
ifreq = [("hooked claw", 50)]
, icount :: Dice
icount = 2
, iverbHit :: Text
iverbHit = "hook"
, idamage :: Dice
idamage = 2 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = Dice -> Aspect
Timeout (12 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
- 1 Int -> Int -> Dice
`dL` 3)
Aspect -> [Aspect] -> [Aspect]
forall a. a -> [a] -> [a]
: ItemKind -> [Aspect]
iaspects ItemKind
fist
, ieffects :: [Effect]
ieffects = [GroupName ItemKind -> Dice -> Effect
toOrganBad "slowed" 2]
, idesc :: Text
idesc = "A curved talon."
}
smallClaw :: ItemKind
smallClaw = ItemKind
fist
{ iname :: Text
iname = "small claw"
, ifreq :: Freqs ItemKind
ifreq = [("small claw", 50)]
, iverbHit :: Text
iverbHit = "slash"
, idamage :: Dice
idamage = 2 Int -> Int -> Dice
`d` 1
, idesc :: Text
idesc = "A pearly spike."
}
snout :: ItemKind
snout = ItemKind
fist
{ iname :: Text
iname = "snout"
, ifreq :: Freqs ItemKind
ifreq = [("snout", 10)]
, icount :: Dice
icount = 1
, iverbHit :: Text
iverbHit = "bite"
, idamage :: Dice
idamage = 2 Int -> Int -> Dice
`d` 1
, idesc :: Text
idesc = "Sensitive and wide-nostrilled."
}
smallJaw :: ItemKind
smallJaw = ItemKind
fist
{ iname :: Text
iname = "small jaw"
, ifreq :: Freqs ItemKind
ifreq = [("small jaw", 20)]
, icount :: Dice
icount = 1
, iverbHit :: Text
iverbHit = "rip"
, idamage :: Dice
idamage = 3 Int -> Int -> Dice
`d` 1
, idesc :: Text
idesc = "Filled with small, even teeth."
}
jaw :: ItemKind
jaw = ItemKind
fist
{ iname :: Text
iname = "jaw"
, ifreq :: Freqs ItemKind
ifreq = [("jaw", 20)]
, icount :: Dice
icount = 1
, iverbHit :: Text
iverbHit = "rip"
, idamage :: Dice
idamage = 5 Int -> Int -> Dice
`d` 1
, idesc :: Text
idesc = "Delivers a powerful bite."
}
largeJaw :: ItemKind
largeJaw = ItemKind
fist
{ iname :: Text
iname = "large jaw"
, ifreq :: Freqs ItemKind
ifreq = [("large jaw", 100)]
, icount :: Dice
icount = 1
, iverbHit :: Text
iverbHit = "crush"
, idamage :: Dice
idamage = 10 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = [Dice -> Aspect
Timeout (Dice -> Aspect) -> Dice -> Aspect
forall a b. (a -> b) -> a -> b
$ 2 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 2]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ ItemKind -> [Aspect]
iaspects ItemKind
fist
, idesc :: Text
idesc = "Enough to swallow anything in a single gulp."
}
antler :: ItemKind
antler = ItemKind
fist
{ iname :: Text
iname = "antler"
, ifreq :: Freqs ItemKind
ifreq = [("antler", 100)]
, icount :: Dice
icount = 2
, iverbHit :: Text
iverbHit = "ram"
, idamage :: Dice
idamage = 4 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = [ Dice -> Aspect
Timeout (Dice -> Aspect) -> Dice -> Aspect
forall a b. (a -> b) -> a -> b
$ 3 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ (1 Int -> Int -> Dice
`d` 3) Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
* 3
, Skill -> Dice -> Aspect
AddSkill Skill
SkArmorMelee 10 ]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ ItemKind -> [Aspect]
iaspects ItemKind
fist
, ieffects :: [Effect]
ieffects = [ThrowMod -> Effect
PushActor (Int -> Int -> Int -> ThrowMod
ThrowMod 100 50 1)]
, idesc :: Text
idesc = ""
}
horn :: ItemKind
horn = ItemKind
fist
{ iname :: Text
iname = "horn"
, ifreq :: Freqs ItemKind
ifreq = [("horn", 100)]
, icount :: Dice
icount = 2
, iverbHit :: Text
iverbHit = "impale"
, idamage :: Dice
idamage = 5 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = [ Skill -> Dice -> Aspect
AddSkill Skill
SkHurtMelee 10
, Skill -> Dice -> Aspect
AddSkill Skill
SkArmorMelee 10 ]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ ItemKind -> [Aspect]
iaspects ItemKind
fist
, idesc :: Text
idesc = "Sharp and long, for defence or attack."
}
rhinoHorn :: ItemKind
rhinoHorn = ItemKind
fist
{ iname :: Text
iname = "ugly horn"
, ifreq :: Freqs ItemKind
ifreq = [("rhino horn", 100)]
, icount :: Dice
icount = 1
, iverbHit :: Text
iverbHit = "gore"
, idamage :: Dice
idamage = 5 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = [Dice -> Aspect
Timeout 5, Skill -> Dice -> Aspect
AddSkill Skill
SkHurtMelee 20]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ ItemKind -> [Aspect]
iaspects ItemKind
fist
, ieffects :: [Effect]
ieffects = [Effect
Impress, Effect
Yell]
, idesc :: Text
idesc = "Very solid, considering it has the same composition as fingernails."
}
tentacle :: ItemKind
tentacle = ItemKind
fist
{ iname :: Text
iname = "tentacle"
, ifreq :: Freqs ItemKind
ifreq = [("tentacle", 50)]
, icount :: Dice
icount = 4
, iverbHit :: Text
iverbHit = "slap"
, idamage :: Dice
idamage = 4 Int -> Int -> Dice
`d` 1
, idesc :: Text
idesc = "Damp and dextrous."
}
thorn :: ItemKind
thorn = ItemKind
fist
{ iname :: Text
iname = "thorn"
, ifreq :: Freqs ItemKind
ifreq = [("thorn", 100)]
, icount :: Dice
icount = 2 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 3
, iverbHit :: Text
iverbHit = "puncture"
, idamage :: Dice
idamage = 2 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = [Flag -> Aspect
SetFlag Flag
Meleeable]
, ieffects :: [Effect]
ieffects = [Text -> Effect
VerbNoLonger "be not so thorny any more"]
, idesc :: Text
idesc = "Sharp yet brittle."
}
boilingFissure :: ItemKind
boilingFissure = ItemKind
fist
{ iname :: Text
iname = "fissure"
, ifreq :: Freqs ItemKind
ifreq = [("boiling fissure", 100)]
, icount :: Dice
icount = 5 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 5
, iverbHit :: Text
iverbHit = "hiss at"
, idamage :: Dice
idamage = 1 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = [ Skill -> Dice -> Aspect
AddSkill Skill
SkHurtMelee 20
, Flag -> Aspect
SetFlag Flag
Meleeable ]
, ieffects :: [Effect]
ieffects = [ Int -> Int -> CStore -> GroupName ItemKind -> Effect
DropItem 1 1 CStore
COrgan "condition"
, Text -> Effect
VerbNoLonger "widen the crack, releasing pressure" ]
, idesc :: Text
idesc = "A deep crack to the underworld."
}
arsenicFissure :: ItemKind
arsenicFissure = ItemKind
boilingFissure
{ iname :: Text
iname = "fissure"
, ifreq :: Freqs ItemKind
ifreq = [("arsenic fissure", 100)]
, icount :: Dice
icount = 3 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 3
, idamage :: Dice
idamage = 2 Int -> Int -> Dice
`d` 1
, ieffects :: [Effect]
ieffects = [ GroupName ItemKind -> Dice -> Effect
toOrganBad "parsimonious" (5 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 3)
, Text -> Effect
VerbNoLonger "stop exuding stupefying vapours" ]
, idesc :: Text
idesc = ""
}
sulfurFissure :: ItemKind
sulfurFissure = ItemKind
boilingFissure
{ iname :: Text
iname = "fissure"
, ifreq :: Freqs ItemKind
ifreq = [("sulfur fissure", 100)]
, icount :: Dice
icount = 2 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 2
, idamage :: Dice
idamage = 0
, ieffects :: [Effect]
ieffects = [ Int -> Effect
RefillHP 5
, Text -> Effect
VerbNoLonger "run out of the healing fumes" ]
, idesc :: Text
idesc = ""
}
beeSting :: ItemKind
beeSting = ItemKind
fist
{ iname :: Text
iname = "bee sting"
, ifreq :: Freqs ItemKind
ifreq = [("bee sting", 100)]
, icount :: Dice
icount = 1
, iverbHit :: Text
iverbHit = "sting"
, idamage :: Dice
idamage = 0
, iaspects :: [Aspect]
iaspects = [ Skill -> Dice -> Aspect
AddSkill Skill
SkArmorMelee 200, Skill -> Dice -> Aspect
AddSkill Skill
SkArmorRanged 45
, Flag -> Aspect
SetFlag Flag
Meleeable ]
, ieffects :: [Effect]
ieffects = [Dice -> Effect
Paralyze 6, Int -> Effect
RefillHP 4]
, idesc :: Text
idesc = "Painful, but beneficial."
}
sting :: ItemKind
sting = ItemKind
fist
{ iname :: Text
iname = "sting"
, ifreq :: Freqs ItemKind
ifreq = [("sting", 100)]
, icount :: Dice
icount = 1
, iverbHit :: Text
iverbHit = "inject"
, idamage :: Dice
idamage = 1 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = [Dice -> Aspect
Timeout (Dice -> Aspect) -> Dice -> Aspect
forall a b. (a -> b) -> a -> b
$ 10 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
- 1 Int -> Int -> Dice
`dL` 4, Skill -> Dice -> Aspect
AddSkill Skill
SkHurtMelee 40]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ ItemKind -> [Aspect]
iaspects ItemKind
fist
, ieffects :: [Effect]
ieffects = [GroupName ItemKind -> Dice -> Effect
toOrganBad "retaining" (3 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 3)]
, idesc :: Text
idesc = "Painful, debilitating and harmful."
}
venomTooth :: ItemKind
venomTooth = ItemKind
fist
{ iname :: Text
iname = "venom tooth"
, ifreq :: Freqs ItemKind
ifreq = [("venom tooth", 100)]
, icount :: Dice
icount = 2
, iverbHit :: Text
iverbHit = "bite"
, idamage :: Dice
idamage = 1 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = Dice -> Aspect
Timeout (7 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
- 1 Int -> Int -> Dice
`dL` 3)
Aspect -> [Aspect] -> [Aspect]
forall a. a -> [a] -> [a]
: ItemKind -> [Aspect]
iaspects ItemKind
fist
, ieffects :: [Effect]
ieffects = [GroupName ItemKind -> Dice -> Effect
toOrganBad "slowed" (3 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 3)]
, idesc :: Text
idesc = "A chilling numbness spreads from its bite."
}
venomFang :: ItemKind
venomFang = ItemKind
fist
{ iname :: Text
iname = "venom fang"
, ifreq :: Freqs ItemKind
ifreq = [("venom fang", 100)]
, icount :: Dice
icount = 2
, iverbHit :: Text
iverbHit = "bite"
, idamage :: Dice
idamage = 0
, iaspects :: [Aspect]
iaspects = Dice -> Aspect
Timeout (10 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
- 1 Int -> Int -> Dice
`dL` 5)
Aspect -> [Aspect] -> [Aspect]
forall a. a -> [a] -> [a]
: ItemKind -> [Aspect]
iaspects ItemKind
fist
, ieffects :: [Effect]
ieffects = [GroupName ItemKind -> Effect
toOrganNoTimer "poisoned"]
, idesc :: Text
idesc = "Dripping with deadly venom."
}
screechingBeak :: ItemKind
screechingBeak = ItemKind
fist
{ iname :: Text
iname = "screeching beak"
, ifreq :: Freqs ItemKind
ifreq = [("screeching beak", 100)]
, icount :: Dice
icount = 1
, iverbHit :: Text
iverbHit = "peck"
, idamage :: Dice
idamage = 3 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = Dice -> Aspect
Timeout (7 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
- 1 Int -> Int -> Dice
`dL` 3)
Aspect -> [Aspect] -> [Aspect]
forall a. a -> [a] -> [a]
: ItemKind -> [Aspect]
iaspects ItemKind
fist
, ieffects :: [Effect]
ieffects = [GroupName ItemKind -> Dice -> Effect
Summon "scavenger" (Dice -> Effect) -> Dice -> Effect
forall a b. (a -> b) -> a -> b
$ 1 Int -> Int -> Dice
`dL` 3]
, idesc :: Text
idesc = "Both a weapon and a beacon, calling more scavengers to the meal."
}
largeTail :: ItemKind
largeTail = ItemKind
fist
{ iname :: Text
iname = "large tail"
, ifreq :: Freqs ItemKind
ifreq = [("large tail", 50)]
, icount :: Dice
icount = 1
, iverbHit :: Text
iverbHit = "knock"
, idamage :: Dice
idamage = 7 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = [Dice -> Aspect
Timeout (Dice -> Aspect) -> Dice -> Aspect
forall a b. (a -> b) -> a -> b
$ 2 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 2, Skill -> Dice -> Aspect
AddSkill Skill
SkHurtMelee 20]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ ItemKind -> [Aspect]
iaspects ItemKind
fist
, ieffects :: [Effect]
ieffects = [ThrowMod -> Effect
PushActor (Int -> Int -> Int -> ThrowMod
ThrowMod 200 50 1)]
, idesc :: Text
idesc = "Almost as long as the trunk."
}
hugeTail :: ItemKind
hugeTail = ItemKind
largeTail
{ iname :: Text
iname = "huge tail"
, ifreq :: Freqs ItemKind
ifreq = [("huge tail", 50)]
, iverbHit :: Text
iverbHit = "upend"
, iaspects :: [Aspect]
iaspects = [Dice -> Aspect
Timeout (Dice -> Aspect) -> Dice -> Aspect
forall a b. (a -> b) -> a -> b
$ 3 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 2, Skill -> Dice -> Aspect
AddSkill Skill
SkHurtMelee 20]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ ItemKind -> [Aspect]
iaspects ItemKind
fist
, ieffects :: [Effect]
ieffects = [ThrowMod -> Effect
PushActor (Int -> Int -> Int -> ThrowMod
ThrowMod 400 50 1)]
, idesc :: Text
idesc = "Slow but immensely heavy."
}
armoredSkin :: ItemKind
armoredSkin = $WItemKind :: Char
-> Text
-> Freqs ItemKind
-> [Flavour]
-> Dice
-> Rarity
-> Text
-> Int
-> Dice
-> [Aspect]
-> [Effect]
-> [(GroupName ItemKind, CStore)]
-> Text
-> ItemKind
ItemKind
{ isymbol :: Char
isymbol = ','
, iname :: Text
iname = "armored skin"
, ifreq :: Freqs ItemKind
ifreq = [("armored skin", 100)]
, iflavour :: [Flavour]
iflavour = [Color] -> [Flavour]
zipPlain [Color
Red]
, icount :: Dice
icount = 1
, irarity :: Rarity
irarity = [(1, 1)]
, iverbHit :: Text
iverbHit = "bash"
, iweight :: Int
iweight = 2000
, idamage :: Dice
idamage = 0
, iaspects :: [Aspect]
iaspects = [ Skill -> Dice -> Aspect
AddSkill Skill
SkArmorMelee 30, Skill -> Dice -> Aspect
AddSkill Skill
SkArmorRanged 15
, Flag -> Aspect
SetFlag Flag
Durable ]
, ieffects :: [Effect]
ieffects = []
, idesc :: Text
idesc = "Homemade armour is just as good."
, ikit :: [(GroupName ItemKind, CStore)]
ikit = []
}
bark :: ItemKind
bark = ItemKind
armoredSkin
{ iname :: Text
iname = "bark"
, ifreq :: Freqs ItemKind
ifreq = [("bark", 100)]
, idesc :: Text
idesc = ""
}
eye :: Int -> ItemKind
eye :: Int -> ItemKind
eye n :: Int
n = ItemKind
armoredSkin
{ iname :: Text
iname = "eye"
, ifreq :: Freqs ItemKind
ifreq = [(Text -> GroupName ItemKind
forall a. Text -> GroupName a
toGroupName (Text -> GroupName ItemKind) -> Text -> GroupName ItemKind
forall a b. (a -> b) -> a -> b
$ "eye" Text -> Text -> Text
<+> Int -> Text
forall a. Show a => a -> Text
tshow Int
n, 100)]
, icount :: Dice
icount = 2
, iverbHit :: Text
iverbHit = "glare at"
, iaspects :: [Aspect]
iaspects = [ Skill -> Dice -> Aspect
AddSkill Skill
SkSight (Int -> Dice
intToDice Int
n)
, Flag -> Aspect
SetFlag Flag
Durable ]
, idesc :: Text
idesc = "A piercing stare."
}
eye3 :: ItemKind
eye3 = Int -> ItemKind
eye 3
eye6 :: ItemKind
eye6 = Int -> ItemKind
eye 6
eye8 :: ItemKind
eye8 = Int -> ItemKind
eye 8
vision :: Int -> ItemKind
vision :: Int -> ItemKind
vision n :: Int
n = ItemKind
armoredSkin
{ iname :: Text
iname = "vision"
, ifreq :: Freqs ItemKind
ifreq = [(Text -> GroupName ItemKind
forall a. Text -> GroupName a
toGroupName (Text -> GroupName ItemKind) -> Text -> GroupName ItemKind
forall a b. (a -> b) -> a -> b
$ "vision" Text -> Text -> Text
<+> Int -> Text
forall a. Show a => a -> Text
tshow Int
n, 100)]
, iverbHit :: Text
iverbHit = "visualize"
, iaspects :: [Aspect]
iaspects = [ Skill -> Dice -> Aspect
AddSkill Skill
SkSight (Int -> Dice
intToDice Int
n)
, Flag -> Aspect
SetFlag Flag
Durable ]
, idesc :: Text
idesc = ""
}
vision6 :: ItemKind
vision6 = Int -> ItemKind
vision 6
vision12 :: ItemKind
vision12 = Int -> ItemKind
vision 12
vision16 :: ItemKind
vision16 = Int -> ItemKind
vision 16
nostril :: ItemKind
nostril = ItemKind
armoredSkin
{ iname :: Text
iname = "nostril"
, ifreq :: Freqs ItemKind
ifreq = [("nostril", 100)]
, icount :: Dice
icount = 2
, iverbHit :: Text
iverbHit = "snuff"
, iaspects :: [Aspect]
iaspects = [ Skill -> Dice -> Aspect
AddSkill Skill
SkSmell 1
, Flag -> Aspect
SetFlag Flag
Durable ]
, idesc :: Text
idesc = ""
}
ear :: Int -> ItemKind
ear :: Int -> ItemKind
ear n :: Int
n = ItemKind
armoredSkin
{ iname :: Text
iname = "ear"
, ifreq :: Freqs ItemKind
ifreq = [(Text -> GroupName ItemKind
forall a. Text -> GroupName a
toGroupName (Text -> GroupName ItemKind) -> Text -> GroupName ItemKind
forall a b. (a -> b) -> a -> b
$ "ear" Text -> Text -> Text
<+> Int -> Text
forall a. Show a => a -> Text
tshow Int
n, 100)]
, icount :: Dice
icount = 2
, iverbHit :: Text
iverbHit = "overhear"
, iaspects :: [Aspect]
iaspects = [ Skill -> Dice -> Aspect
AddSkill Skill
SkHearing (Int -> Dice
intToDice Int
n)
, Flag -> Aspect
SetFlag Flag
Durable ]
, idesc :: Text
idesc = ""
}
ear3 :: ItemKind
ear3 = Int -> ItemKind
ear 3
ear6 :: ItemKind
ear6 = Int -> ItemKind
ear 6
ear8 :: ItemKind
ear8 = Int -> ItemKind
ear 8
rattleOrgan :: ItemKind
rattleOrgan = ItemKind
armoredSkin
{ iname :: Text
iname = "rattle"
, ifreq :: Freqs ItemKind
ifreq = [("rattle", 100)]
, iverbHit :: Text
iverbHit = "announce"
, iaspects :: [Aspect]
iaspects = [ Dice -> Aspect
Timeout (Dice -> Aspect) -> Dice -> Aspect
forall a b. (a -> b) -> a -> b
$ 10 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ (1 Int -> Int -> Dice
`d` 3) Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
* 10
, Flag -> Aspect
SetFlag Flag
Periodic, Flag -> Aspect
SetFlag Flag
Durable ]
, ieffects :: [Effect]
ieffects = [Effect
Yell, Int -> Effect
RefillCalm 5]
, idesc :: Text
idesc = ""
}
insectMortality :: ItemKind
insectMortality = ItemKind
armoredSkin
{ iname :: Text
iname = "insect mortality"
, ifreq :: Freqs ItemKind
ifreq = [("insect mortality", 100)]
, iverbHit :: Text
iverbHit = "age"
, iaspects :: [Aspect]
iaspects = [ Skill -> Dice -> Aspect
AddSkill Skill
SkAggression 2
, Dice -> Aspect
Timeout (Dice -> Aspect) -> Dice -> Aspect
forall a b. (a -> b) -> a -> b
$ 30 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ (1 Int -> Int -> Dice
`d` 3) Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
* 10
, Flag -> Aspect
SetFlag Flag
Periodic, Flag -> Aspect
SetFlag Flag
Durable ]
, ieffects :: [Effect]
ieffects = [Int -> Effect
RefillHP (-1), Effect
Yell]
, idesc :: Text
idesc = ""
}
sapientBrain :: ItemKind
sapientBrain = ItemKind
armoredSkin
{ iname :: Text
iname = "sapient brain"
, ifreq :: Freqs ItemKind
ifreq = [("sapient brain", 100)]
, iverbHit :: Text
iverbHit = "outbrain"
, iaspects :: [Aspect]
iaspects = [Skill -> Dice -> Aspect
AddSkill Skill
sk 1 | Skill
sk <- [Skill
SkMove .. Skill
SkApply]]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ [Skill -> Dice -> Aspect
AddSkill Skill
SkMove 4]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ [Skill -> Dice -> Aspect
AddSkill Skill
SkAlter 4]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ [Skill -> Dice -> Aspect
AddSkill Skill
SkWait 2]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ [Skill -> Dice -> Aspect
AddSkill Skill
SkApply 1]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ [Flag -> Aspect
SetFlag Flag
Durable]
, idesc :: Text
idesc = ""
}
animalBrain :: ItemKind
animalBrain = ItemKind
armoredSkin
{ iname :: Text
iname = "animal brain"
, ifreq :: Freqs ItemKind
ifreq = [("animal brain", 100)]
, iverbHit :: Text
iverbHit = "blank"
, iaspects :: [Aspect]
iaspects = [Skill -> Dice -> Aspect
AddSkill Skill
sk 1 | Skill
sk <- [Skill
SkMove .. Skill
SkApply]]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ [Skill -> Dice -> Aspect
AddSkill Skill
SkMove 4]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ [Skill -> Dice -> Aspect
AddSkill Skill
SkAlter 2]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ [Skill -> Dice -> Aspect
AddSkill Skill
SkWait 2]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ [Skill -> Dice -> Aspect
AddSkill Skill
SkDisplace (-1)]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ [Skill -> Dice -> Aspect
AddSkill Skill
SkMoveItem (-1)]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ [Skill -> Dice -> Aspect
AddSkill Skill
SkProject (-1)]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ [Flag -> Aspect
SetFlag Flag
Durable]
, idesc :: Text
idesc = ""
}
speedGland :: Int -> ItemKind
speedGland :: Int -> ItemKind
speedGland n :: Int
n = ItemKind
armoredSkin
{ iname :: Text
iname = "speed gland"
, ifreq :: Freqs ItemKind
ifreq = [(Text -> GroupName ItemKind
forall a. Text -> GroupName a
toGroupName (Text -> GroupName ItemKind) -> Text -> GroupName ItemKind
forall a b. (a -> b) -> a -> b
$ "speed gland" Text -> Text -> Text
<+> Int -> Text
forall a. Show a => a -> Text
tshow Int
n, 100)]
, iverbHit :: Text
iverbHit = "spit at"
, iaspects :: [Aspect]
iaspects = [ Skill -> Dice -> Aspect
AddSkill Skill
SkSpeed (Dice -> Aspect) -> Dice -> Aspect
forall a b. (a -> b) -> a -> b
$ Int -> Dice
intToDice Int
n
, Dice -> Aspect
Timeout (Dice -> Aspect) -> Dice -> Aspect
forall a b. (a -> b) -> a -> b
$ Int -> Dice
intToDice (100 Int -> Int -> Int
forall a. Integral a => a -> a -> a
`div` Int
n)
, Flag -> Aspect
SetFlag Flag
Periodic, Flag -> Aspect
SetFlag Flag
Durable ]
, ieffects :: [Effect]
ieffects = [Int -> Effect
RefillHP 1]
, idesc :: Text
idesc = ""
}
speedGland5 :: ItemKind
speedGland5 = Int -> ItemKind
speedGland 5
speedGland10 :: ItemKind
speedGland10 = Int -> ItemKind
speedGland 10
scentGland :: ItemKind
scentGland = ItemKind
armoredSkin
{ iname :: Text
iname = "scent gland"
, ifreq :: Freqs ItemKind
ifreq = [("scent gland", 100)]
, icount :: Dice
icount = 10 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 3
, iverbHit :: Text
iverbHit = "spray at"
, iaspects :: [Aspect]
iaspects = [ Dice -> Aspect
Timeout (Dice -> Aspect) -> Dice -> Aspect
forall a b. (a -> b) -> a -> b
$ (1 Int -> Int -> Dice
`d` 3) Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
* 10
, Flag -> Aspect
SetFlag Flag
Periodic, Flag -> Aspect
SetFlag Flag
Fragile ]
, ieffects :: [Effect]
ieffects = [ Text -> Effect
VerbNoLonger "look spent"
, Effect
ApplyPerfume
, GroupName ItemKind -> Effect
Explode "distressing odor" ]
, idesc :: Text
idesc = ""
}
boilingVent :: ItemKind
boilingVent = ItemKind
armoredSkin
{ iname :: Text
iname = "vent"
, ifreq :: Freqs ItemKind
ifreq = [("boiling vent", 100)]
, iflavour :: [Flavour]
iflavour = [Color] -> [Flavour]
zipPlain [Color
Blue]
, iverbHit :: Text
iverbHit = "menace"
, iaspects :: [Aspect]
iaspects = [ Dice -> Aspect
Timeout (Dice -> Aspect) -> Dice -> Aspect
forall a b. (a -> b) -> a -> b
$ (2 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 3) Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
* 5
, Flag -> Aspect
SetFlag Flag
Periodic, Flag -> Aspect
SetFlag Flag
Durable ]
, ieffects :: [Effect]
ieffects = [Int -> Effect
RefillHP 2, GroupName ItemKind -> Effect
Explode "boiling water"]
, idesc :: Text
idesc = ""
}
arsenicVent :: ItemKind
arsenicVent = ItemKind
armoredSkin
{ iname :: Text
iname = "vent"
, ifreq :: Freqs ItemKind
ifreq = [("arsenic vent", 100)]
, iflavour :: [Flavour]
iflavour = [Color] -> [Flavour]
zipPlain [Color
Cyan]
, iverbHit :: Text
iverbHit = "menace"
, iaspects :: [Aspect]
iaspects = [ Dice -> Aspect
Timeout (Dice -> Aspect) -> Dice -> Aspect
forall a b. (a -> b) -> a -> b
$ (2 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 3) Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
* 5
, Flag -> Aspect
SetFlag Flag
Periodic, Flag -> Aspect
SetFlag Flag
Durable ]
, ieffects :: [Effect]
ieffects = [Int -> Effect
RefillHP 2, GroupName ItemKind -> Effect
Explode "sparse shower"]
, idesc :: Text
idesc = ""
}
sulfurVent :: ItemKind
sulfurVent = ItemKind
armoredSkin
{ iname :: Text
iname = "vent"
, ifreq :: Freqs ItemKind
ifreq = [("sulfur vent", 100)]
, iflavour :: [Flavour]
iflavour = [Color] -> [Flavour]
zipPlain [Color
BrYellow]
, iverbHit :: Text
iverbHit = "menace"
, iaspects :: [Aspect]
iaspects = [ Dice -> Aspect
Timeout (Dice -> Aspect) -> Dice -> Aspect
forall a b. (a -> b) -> a -> b
$ (2 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 3) Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
* 5
, Flag -> Aspect
SetFlag Flag
Periodic, Flag -> Aspect
SetFlag Flag
Durable ]
, ieffects :: [Effect]
ieffects = [Int -> Effect
RefillHP 2, GroupName ItemKind -> Effect
Explode "dense shower"]
, idesc :: Text
idesc = ""
}
bonusHP :: ItemKind
bonusHP = ItemKind
armoredSkin
{ isymbol :: Char
isymbol = 'H'
, iname :: Text
iname = "bonus HP"
, ifreq :: Freqs ItemKind
ifreq = [("bonus HP", 1)]
, iflavour :: [Flavour]
iflavour = [Color] -> [Flavour]
zipPlain [Color
BrBlue]
, iverbHit :: Text
iverbHit = "intimidate"
, iweight :: Int
iweight = 0
, iaspects :: [Aspect]
iaspects = [Skill -> Dice -> Aspect
AddSkill Skill
SkMaxHP 1]
, idesc :: Text
idesc = "Growing up in a privileged background gave you the training and the discrete garment accessories that improve your posture and resilience."
}
braced :: ItemKind
braced = ItemKind
armoredSkin
{ isymbol :: Char
isymbol = 'B'
, iname :: Text
iname = "braced"
, ifreq :: Freqs ItemKind
ifreq = [("braced", 1)]
, iflavour :: [Flavour]
iflavour = [Color] -> [Flavour]
zipPlain [Color
BrGreen]
, iverbHit :: Text
iverbHit = "brace"
, iweight :: Int
iweight = 0
, iaspects :: [Aspect]
iaspects = [ Skill -> Dice -> Aspect
AddSkill Skill
SkArmorMelee 50, Skill -> Dice -> Aspect
AddSkill Skill
SkArmorRanged 25
, Skill -> Dice -> Aspect
AddSkill Skill
SkHearing 10
, Flag -> Aspect
SetFlag Flag
Condition ]
, idesc :: Text
idesc = "Apart of increased resilience to attacks, being braced protects from displacement by foes and other forms of forced translocation, e.g., pushing or pulling."
}
asleep :: ItemKind
asleep = ItemKind
armoredSkin
{ isymbol :: Char
isymbol = 'S'
, iname :: Text
iname = "asleep"
, ifreq :: Freqs ItemKind
ifreq = [("asleep", 1)]
, iflavour :: [Flavour]
iflavour = [Color] -> [Flavour]
zipPlain [Color
BrGreen]
, icount :: Dice
icount = 5
, iverbHit :: Text
iverbHit = "slay"
, iweight :: Int
iweight = 0
, iaspects :: [Aspect]
iaspects = [Skill -> Dice -> Aspect
AddSkill Skill
sk (-1) | Skill
sk <- [Skill
SkMove .. Skill
SkApply]]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ [ Skill -> Dice -> Aspect
AddSkill Skill
SkMelee 1, Skill -> Dice -> Aspect
AddSkill Skill
SkAlter 1, Skill -> Dice -> Aspect
AddSkill Skill
SkWait 1
, Skill -> Dice -> Aspect
AddSkill Skill
SkSight (-3), Skill -> Dice -> Aspect
AddSkill Skill
SkArmorMelee (-10)
, Flag -> Aspect
SetFlag Flag
Condition ]
, idesc :: Text
idesc = "Sleep helps to regain health, albeit extremely slowly. Being asleep makes you vulnerable, with gradually diminishing effects as the slumber wears off over several turns. Any non-idle action, not only combat but even yawning or stretching removes a sizable portion of the sleepiness."
}
impressed :: ItemKind
impressed = ItemKind
armoredSkin
{ isymbol :: Char
isymbol = 'I'
, iname :: Text
iname = "impressed"
, ifreq :: Freqs ItemKind
ifreq = [("impressed", 1), ("condition", 1)]
, iflavour :: [Flavour]
iflavour = [Color] -> [Flavour]
zipPlain [Color
BrRed]
, iverbHit :: Text
iverbHit = "confuse"
, iweight :: Int
iweight = 0
, iaspects :: [Aspect]
iaspects = [ Skill -> Dice -> Aspect
AddSkill Skill
SkMaxCalm (-1)
, Flag -> Aspect
SetFlag Flag
Fragile
, Flag -> Aspect
SetFlag Flag
Condition ]
, ieffects :: [Effect]
ieffects = [ Effect -> Effect
OnSmash (Effect -> Effect) -> Effect -> Effect
forall a b. (a -> b) -> a -> b
$ Text -> Effect
verbMsgLess "impressed"
, Effect -> Effect
OnSmash (Effect -> Effect) -> Effect -> Effect
forall a b. (a -> b) -> a -> b
$ Text -> Effect
verbMsgNoLonger "impressed" ]
, idesc :: Text
idesc = "Being impressed by one's adversary sounds like fun, but on battlefield it equals treason. Almost. Throw in depleted battle calm and it leads to mindless desertion outright."
}
tooth :: ItemKind
tooth = ItemKind
fist
{ iname :: Text
iname = "tooth"
, ifreq :: Freqs ItemKind
ifreq = [("tooth", 20)]
, icount :: Dice
icount = 3
, iverbHit :: Text
iverbHit = "nail"
, idamage :: Dice
idamage = 2 Int -> Int -> Dice
`d` 1
, idesc :: Text
idesc = ""
}
lash :: ItemKind
lash = ItemKind
fist
{ iname :: Text
iname = "lash"
, ifreq :: Freqs ItemKind
ifreq = [("lash", 100)]
, icount :: Dice
icount = 1
, iverbHit :: Text
iverbHit = "lash"
, idamage :: Dice
idamage = 3 Int -> Int -> Dice
`d` 1
, idesc :: Text
idesc = ""
}
noseTip :: ItemKind
noseTip = ItemKind
fist
{ iname :: Text
iname = "tip"
, ifreq :: Freqs ItemKind
ifreq = [("nose tip", 50)]
, icount :: Dice
icount = 1
, iverbHit :: Text
iverbHit = "poke"
, idamage :: Dice
idamage = 2 Int -> Int -> Dice
`d` 1
, idesc :: Text
idesc = ""
}
lip :: ItemKind
lip = ItemKind
fist
{ iname :: Text
iname = "lip"
, ifreq :: Freqs ItemKind
ifreq = [("lip", 10)]
, icount :: Dice
icount = 1
, iverbHit :: Text
iverbHit = "lap"
, idamage :: Dice
idamage = 1 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = Dice -> Aspect
Timeout (3 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 2)
Aspect -> [Aspect] -> [Aspect]
forall a. a -> [a] -> [a]
: ItemKind -> [Aspect]
iaspects ItemKind
fist
, ieffects :: [Effect]
ieffects = [GroupName ItemKind -> Dice -> Effect
toOrganBad "weakened" (2 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`dL` 3)]
, idesc :: Text
idesc = ""
}
torsionRight :: ItemKind
torsionRight = ItemKind
fist
{ iname :: Text
iname = "right torsion"
, ifreq :: Freqs ItemKind
ifreq = [("right torsion", 100)]
, icount :: Dice
icount = 1
, iverbHit :: Text
iverbHit = "twist"
, idamage :: Dice
idamage = 13 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = [Dice -> Aspect
Timeout (Dice -> Aspect) -> Dice -> Aspect
forall a b. (a -> b) -> a -> b
$ 5 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 5, Skill -> Dice -> Aspect
AddSkill Skill
SkHurtMelee 20]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ ItemKind -> [Aspect]
iaspects ItemKind
fist
, ieffects :: [Effect]
ieffects = [GroupName ItemKind -> Dice -> Effect
toOrganBad "slowed" (3 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 3)]
, idesc :: Text
idesc = ""
}
torsionLeft :: ItemKind
torsionLeft = ItemKind
fist
{ iname :: Text
iname = "left torsion"
, ifreq :: Freqs ItemKind
ifreq = [("left torsion", 100)]
, icount :: Dice
icount = 1
, iverbHit :: Text
iverbHit = "untwist"
, idamage :: Dice
idamage = 13 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = [Dice -> Aspect
Timeout (Dice -> Aspect) -> Dice -> Aspect
forall a b. (a -> b) -> a -> b
$ 5 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 5, Skill -> Dice -> Aspect
AddSkill Skill
SkHurtMelee 20]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ ItemKind -> [Aspect]
iaspects ItemKind
fist
, ieffects :: [Effect]
ieffects = [GroupName ItemKind -> Dice -> Effect
toOrganBad "weakened" (3 Dice -> Dice -> Dice
forall a. Num a => a -> a -> a
+ 1 Int -> Int -> Dice
`d` 3)]
, idesc :: Text
idesc = ""
}
pupil :: ItemKind
pupil = ItemKind
fist
{ iname :: Text
iname = "pupil"
, ifreq :: Freqs ItemKind
ifreq = [("pupil", 100)]
, icount :: Dice
icount = 1
, iverbHit :: Text
iverbHit = "gaze at"
, idamage :: Dice
idamage = 1 Int -> Int -> Dice
`d` 1
, iaspects :: [Aspect]
iaspects = [Skill -> Dice -> Aspect
AddSkill Skill
SkSight 12, Dice -> Aspect
Timeout 12]
[Aspect] -> [Aspect] -> [Aspect]
forall a. [a] -> [a] -> [a]
++ ItemKind -> [Aspect]
iaspects ItemKind
fist
, ieffects :: [Effect]
ieffects = [Int -> Int -> CStore -> GroupName ItemKind -> Effect
DropItem 1 Int
forall a. Bounded a => a
maxBound CStore
COrgan "condition", Int -> Effect
RefillCalm (-10)]
, idesc :: Text
idesc = ""
}