summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregor Kleen <pngwjpgh@users.noreply.github.com>2016-07-06 19:36:55 +0200
committerGregor Kleen <pngwjpgh@users.noreply.github.com>2016-07-06 19:36:55 +0200
commit19d149e2acbe08f411c9686eb645e249d324b24c (patch)
treeb1126d26c7c4b972df7c1853ee533325b05026b7
parent635e2dac8e4db3f0d785537d55002540ae2aaa11 (diff)
download2017-01-16_17:13:37-19d149e2acbe08f411c9686eb645e249d324b24c.tar
2017-01-16_17:13:37-19d149e2acbe08f411c9686eb645e249d324b24c.tar.gz
2017-01-16_17:13:37-19d149e2acbe08f411c9686eb645e249d324b24c.tar.bz2
2017-01-16_17:13:37-19d149e2acbe08f411c9686eb645e249d324b24c.tar.xz
2017-01-16_17:13:37-19d149e2acbe08f411c9686eb645e249d324b24c.zip
additional archetypes
-rw-r--r--src/Sequence/Contact/Archetypes.hs69
1 files changed, 68 insertions, 1 deletions
diff --git a/src/Sequence/Contact/Archetypes.hs b/src/Sequence/Contact/Archetypes.hs
index 3340102..6c13738 100644
--- a/src/Sequence/Contact/Archetypes.hs
+++ b/src/Sequence/Contact/Archetypes.hs
@@ -39,14 +39,19 @@ instance Argument Entity GameState where
39 arg = return . fmap (flip (set eStats) def) . flip Map.lookup archetypes . CI.mk 39 arg = return . fmap (flip (set eStats) def) . flip Map.lookup archetypes . CI.mk
40 40
41archetypes :: Map (CI String) Stats 41archetypes :: Map (CI String) Stats
42archetypes = [ ("Mensch", human) 42archetypes = [ ("Requisite", prop)
43 , ("Spieler", player)
44
45 , ("Mensch", human)
43 , ("Hund", dog) 46 , ("Hund", dog)
44 , ("Delfin", dolphin) 47 , ("Delfin", dolphin)
45 , ("Kind von Mu", childOfMu) 48 , ("Kind von Mu", childOfMu)
46 49
47 , ("Milizenschläger", milizenschlaeger) 50 , ("Milizenschläger", milizenschlaeger)
51 , ("Warlord", warlord)
48 , ("Kindersoldat", kindersoldat) 52 , ("Kindersoldat", kindersoldat)
49 , ("Passant", passant) 53 , ("Passant", passant)
54 , ("Großer Hund", grosserHund)
50 ] 55 ]
51 56
52cTable :: Ord v => [(Integer, Integer, v)] -> Table v 57cTable :: Ord v => [(Integer, Integer, v)] -> Table v
@@ -93,6 +98,27 @@ damageMods = [ Modifier "Schmerz" $ damageMod sTotalDamage sPainTolerance
93vitBar :: Ratio Int -> Traversal' Stats (Formula Stats) 98vitBar :: Ratio Int -> Traversal' Stats (Formula Stats)
94vitBar prop = sMaxVitality . mapping (scaled prop) 99vitBar prop = sMaxVitality . mapping (scaled prop)
95 100
101prop = Prop
102 { _sSeqEpsilon = False
103
104 , _sHitzones = []
105 , _sArmor = const def
106 , _sCripple = const def
107
108 , _sDamage = const 0
109 , _sFatigue = 0
110
111 , _sPainShock = def
112 , _sFatigueShock = def
113
114 , _sSequence = Nothing
115
116 , _sExtraSkills = []
117 , _sModifiers = []
118 }
119
120player = prop { _sSeqEpsilon = True }
121
96human = Humanoid 122human = Humanoid
97 { _sAStrength = vStrength 123 { _sAStrength = vStrength
98 , _sAEndurance = vEndurance 124 , _sAEndurance = vEndurance
@@ -417,6 +443,20 @@ childOfMu = human
417 & sSeqVal +~ d 10 443 & sSeqVal +~ d 10
418 & sPainTolerance -~ vMass `quot'` 2 444 & sPainTolerance -~ vMass `quot'` 2
419 445
446grosserHund = dog
447 & sAStrength .~ 5
448 & sAEndurance .~ 8
449 & sAMass .~ 4
450 & sAReflexes .~ 9
451 & sAMobility .~ 12
452 & sADexterity .~ 1
453 & sAIntelligence .~ 1
454 & sACharisma .~ 1
455 & sAPerception .~ 6
456 & sAWillpower .~ 3
457 & sSBiting +~ 6
458 & sSSearching +~ 15
459
420milizenschlaeger = human 460milizenschlaeger = human
421 & sAStrength .~ 7 461 & sAStrength .~ 7
422 & sAEndurance .~ 6 462 & sAEndurance .~ 6
@@ -447,6 +487,33 @@ milizenschlaeger = human
447 armor "Torso" Explosive = 7 487 armor "Torso" Explosive = 7
448 armor _ _ = 0 488 armor _ _ = 0
449 489
490warlord = human
491 & sAStrength .~ 8
492 & sAEndurance .~ 8
493 & sAMass .~ 10
494 & sAReflexes .~ 6
495 & sAMobility .~ 7
496 & sADexterity .~ 5
497 & sAIntelligence .~ 5
498 & sACharisma .~ 7
499 & sAPerception .~ 5
500 & sAWillpower .~ 9
501 & sSFirearms +~ 87
502 & sSUnarmedMelee +~ 36
503 & sSArmedMelee +~ 30
504 & sSThrownWeapons +~ 10
505 & sSStealth +~ 33
506 & sSLeadership +~ 50
507 & sSWheeled +~ 36
508 & sSHovercraft +~ 28
509 & sArmor .~ armor
510 where
511 armor "Torso" Ballistic = 14
512 armor "Torso" Piercing = 4
513 armor "Torso" Blunt = 6
514 armor "Torso" Explosive = 2
515 armor _ _ = 0
516
450kindersoldat = human 517kindersoldat = human
451 & sAStrength .~ 4 518 & sAStrength .~ 4
452 & sAEndurance .~ 4 519 & sAEndurance .~ 4