octane-0.11.0: library/Octane/Data/Decals.hs
module Octane.Data.Decals (decals) where
import Data.Function ((&))
import qualified Data.Bimap as Bimap
import qualified Data.Text as StrictText
-- | A one-to-one mapping between decal IDs and their names.
decals :: Bimap.Bimap Int StrictText.Text
decals =
[ ("Backfire", backfireDecals)
, ("Breakout", breakoutDecals)
, ("Dominus", dominusDecals)
, ("Gizmo", gizmoDecals)
, ("Grog", grogDecals)
, ("Hotshot", hotshotDecals)
, ("Merc", mercDecals)
, ("Octane", octaneDecals)
, ("Paladin", paladinDecals)
, ("Ripper", ripperDecals)
, ("Road Hog", roadHogDecals)
, ("Scarab", scarabDecals)
, ("Takumi", takumiDecals)
, ("Venom", venomDecals)
, ("X-Devil", xDevilDecals)
, ("Zippy", zippyDecals)
]
& map (\ (body, values) -> values &
map (\ (v, k) -> (k, v ++ " [" ++ body ++ "]")))
& concat
& map (\ (k, v) -> (k, StrictText.pack v))
& Bimap.fromList
& Bimap.insert 0 (StrictText.pack "None")
backfireDecals :: [(String, Int)]
backfireDecals =
[ ("Flames", 288)
, ("Lightning", 289)
, ("Skulls", 290)
, ("Stars", 291)
, ("Stripes", 292)
, ("Tech", 293)
, ("Wings", 294)
]
breakoutDecals :: [(String, Int)]
breakoutDecals =
[ ("Flames", 295)
, ("Lightning", 296)
, ("Skulls", 297)
, ("Stars", 298)
, ("Stripes", 299)
, ("Tech", 300)
, ("Wings", 301)
]
dominusDecals :: [(String, Int)]
dominusDecals =
[ ("Flames", 504)
, ("Scorpions", 506) -- Skorpion
, ("Skulls", 507)
, ("Stripes", 508)
, ("Tats", 509) -- Tribal
, ("Wings", 510)
]
gizmoDecals :: [(String, Int)]
gizmoDecals =
[ ("Flames", 323)
, ("Lightning", 324)
, ("Skulls", 325)
, ("Stars", 326)
, ("Stripes", 327)
, ("Tech", 328)
, ("Wings", 329)
]
grogDecals :: [(String, Int)]
grogDecals =
[ ("Bomber", 674)
, ("Cyclops", 694)
, ("Lepus", 675) -- Bunny
, ("Stripes", 687)
, ("Tagged", 695)
, ("Tribal", 696)
]
hotshotDecals :: [(String, Int)]
hotshotDecals =
[ ("Flames", 337)
, ("Lightning", 338)
, ("Skulls", 339)
, ("Stars", 340)
, ("Stripes", 341)
, ("Tech", 342)
, ("Wings", 343)
]
mercDecals :: [(String, Int)]
mercDecals =
[ ("Dots", 344)
, ("Flames", 345)
, ("Lightning", 346)
, ("Skulls", 347)
, ("Stars", 348)
, ("Stripes", 349)
, ("Wings", 350)
]
octaneDecals :: [(String, Int)]
octaneDecals =
[ ("Flames", 302)
, ("Lightning", 303)
, ("Skulls", 304)
, ("Stars", 305)
, ("Stripes", 306)
, ("Tech", 307)
, ("Wings", 308)
]
paladinDecals :: [(String, Int)]
paladinDecals =
[ ("Flames", 309)
, ("Lightning", 310)
, ("Skulls", 311)
, ("Stars", 312)
, ("Stripes", 313)
, ("Tech", 314)
, ("Wings", 315)
]
ripperDecals :: [(String, Int)]
ripperDecals =
[ ("Bomber", 701) -- Sandgirl
, ("Flames", 669)
, ("Ockie", 700) -- Getkraken
, ("Shot Fox", 670) -- Kitsune
, ("Spikes", 671)
, ("Tribal", 672)
]
roadHogDecals :: [(String, Int)]
roadHogDecals =
[ ("Flames", 316)
, ("Lightning", 317)
, ("Skulls", 318)
, ("Stars", 319)
, ("Stripes", 320)
, ("Tech", 321) -- TechSplat
, ("Wings", 322)
]
scarabDecals :: [(String, Int)]
scarabDecals =
[ ("Bomani", 585) -- Clouds
, ("Derby Girl", 592) -- RollerDerby
, ("Flames", 591)
, ("Hearts", 586)
, ("Tiger", 587)
, ("Tribal", 588)
]
takumiDecals :: [(String, Int)]
takumiDecals =
[ ("Chaser", 503) -- Wisp
, ("Copycat", 497) -- Gato
, ("Crazy-8", 502) -- Technologic
, ("Gaki", 499) -- Ohai
, ("Reiko", 498) -- Nitrous
, ("Stripes", 501)
]
venomDecals :: [(String, Int)]
venomDecals =
[ ("Dots", 351)
, ("Flames", 352)
, ("Lightning", 353)
, ("Skulls", 354)
, ("Stripes", 355)
, ("Tagged", 356)
, ("Wings", 357)
]
xDevilDecals :: [(String, Int)]
xDevilDecals =
[ ("Flames", 330)
, ("Lightning", 331)
, ("Skulls", 332)
, ("Stars", 333)
, ("Stripes", 334)
, ("Tech", 335)
, ("Wings", 336)
]
zippyDecals :: [(String, Int)]
zippyDecals =
[ ("Caboodle", 589) -- HeckTec
, ("Callous", 590) -- MeanMachine
, ("Flames", 583)
, ("Hearts", 581)
, ("Leopard", 584)
, ("Tiger", 582)
]