summaryrefslogtreecommitdiff
path: root/src/Sequence
diff options
context:
space:
mode:
Diffstat (limited to 'src/Sequence')
-rw-r--r--src/Sequence/Contact/Archetypes.hs45
-rw-r--r--src/Sequence/Contact/Tests.hs2
-rw-r--r--src/Sequence/Contact/Types/Internal.hs42
-rw-r--r--src/Sequence/Utils.hs2
4 files changed, 91 insertions, 0 deletions
diff --git a/src/Sequence/Contact/Archetypes.hs b/src/Sequence/Contact/Archetypes.hs
index e54c50f..4e372ee 100644
--- a/src/Sequence/Contact/Archetypes.hs
+++ b/src/Sequence/Contact/Archetypes.hs
@@ -65,6 +65,8 @@ archetypes = [ ("Requisite", prop)
65 , ("Silkoid", rSilicoid) 65 , ("Silkoid", rSilicoid)
66 , ("Mega-Silikoid", megaSilicoid) 66 , ("Mega-Silikoid", megaSilicoid)
67 67
68 , ("Doppelgänger", doppelgänger)
69
68 , ("ATV", atv) 70 , ("ATV", atv)
69 , ("FAV", fav) 71 , ("FAV", fav)
70 , ("AUV", auv) 72 , ("AUV", auv)
@@ -841,3 +843,46 @@ megaSilicoid = silicoid
841 armor' Cold = return 14 843 armor' Cold = return 14
842 armor' Toxic = return 20 844 armor' Toxic = return 20
843 armor' Explosive = return 12 845 armor' Explosive = return 12
846
847doppelgänger = Doppelgänger
848 { _sAStrength = 18
849 , _sAEndurance = 25
850 , _sAMass = 5
851 , _sAReflexes = 10
852 , _sAMobility = 12
853 , _sADexterity = 4
854 , _sAIntelligence = 5
855 , _sACharisma = 0
856 , _sAPerception = 10
857 , _sAWillpower = 10
858
859 , _sSGrotesqueAssault = 85
860 , _sSStealth = 77
861 , _sSInterface = 20
862 , _sSSpacecraft = 75
863
864 , _sMaxVitality = 125
865 , _sSeqVal = 42 + d 10
866 , _sPainTolerance = 45
867 , _sFatigueTolerance = 50
868
869 , _sSeqEpsilon = False
870
871 , _sHitzones = []
872 , _sArmor = const def
873 , _sCripple = const def
874
875 , _sDamage = const 0
876 , _sFatigue = 0
877
878 , _sSequence = Nothing
879 , _sTimer = Nothing
880
881 , _sPainShock = def
882 , _sFatigueShock = def
883
884 , _sExtraSkills = []
885 , _sModifiers = damageMods
886
887 , _sEquipment = []
888 }
diff --git a/src/Sequence/Contact/Tests.hs b/src/Sequence/Contact/Tests.hs
index 561f5ad..d10819e 100644
--- a/src/Sequence/Contact/Tests.hs
+++ b/src/Sequence/Contact/Tests.hs
@@ -81,6 +81,8 @@ tests = do
81 , test "Zielerfassung" $ sSTargeting . skillTest 81 , test "Zielerfassung" $ sSTargeting . skillTest
82 , test "Verständnis" $ sSComprehension . skillTest 82 , test "Verständnis" $ sSComprehension . skillTest
83 83
84 , test "Grotesker Angriff" $ sSGrotesqueAssault . skillTest
85
84 , test "Zerfleischen" $ sSMauling . skillTest 86 , test "Zerfleischen" $ sSMauling . skillTest
85 , test "Ätzende Ausscheidung" $ sSExcreting . skillTest 87 , test "Ätzende Ausscheidung" $ sSExcreting . skillTest
86 ] 88 ]
diff --git a/src/Sequence/Contact/Types/Internal.hs b/src/Sequence/Contact/Types/Internal.hs
index 40bb65f..eaa1e19 100644
--- a/src/Sequence/Contact/Types/Internal.hs
+++ b/src/Sequence/Contact/Types/Internal.hs
@@ -313,3 +313,45 @@ data Stats = Prop
313 313
314 , _sEquipment :: Map (CI String) Dynamic 314 , _sEquipment :: Map (CI String) Dynamic
315 } 315 }
316 | Doppelgänger
317 { _sAStrength
318 , _sAEndurance
319 , _sAMass
320 , _sAReflexes
321 , _sAMobility
322 , _sADexterity
323 , _sAIntelligence
324 , _sACharisma
325 , _sAPerception
326 , _sAWillpower
327
328 , _sSGrotesqueAssault
329 , _sSStealth
330 , _sSInterface
331 , _sSSpacecraft
332
333 , _sMaxVitality
334 , _sSeqVal
335 , _sPainTolerance
336 , _sFatigueTolerance :: Formula Stats
337
338 , _sSeqEpsilon :: Bool
339
340 , _sHitzones :: Table Hitzone
341 , _sArmor :: Hitzone -> Armor
342 , _sCripple :: Hitzone -> ShockEffect
343
344 , _sDamage :: Hitzone -> Int
345 , _sFatigue :: Int
346
347 , _sSequence :: Maybe SeqVal
348 , _sTimer :: Maybe Timer
349
350 , _sPainShock :: ShockEffect
351 , _sFatigueShock :: ShockEffect
352
353 , _sExtraSkills :: Map (CI String) (FormulaM Stats Test)
354 , _sModifiers :: Set Modifier
355
356 , _sEquipment :: Map (CI String) Dynamic
357 }
diff --git a/src/Sequence/Utils.hs b/src/Sequence/Utils.hs
index eac71e9..f51bcd8 100644
--- a/src/Sequence/Utils.hs
+++ b/src/Sequence/Utils.hs
@@ -234,6 +234,8 @@ statAccessors = [ ("Stärke", preview sAStrength)
234 234
235 , ("Zerfleischen", preview sSMauling) 235 , ("Zerfleischen", preview sSMauling)
236 , ("Ätzende Ausscheidung", preview sSExcreting) 236 , ("Ätzende Ausscheidung", preview sSExcreting)
237
238 , ("Grotesker Angriff", preview sSGrotesqueAssault)
237 239
238 , ("Maximale Vitalität", preview sMaxVitality) 240 , ("Maximale Vitalität", preview sMaxVitality)
239 , ("Sequenzwert", preview sSeqVal) 241 , ("Sequenzwert", preview sSeqVal)