diff options
-rw-r--r-- | src/Sequence/Contact/Archetypes.hs | 45 | ||||
-rw-r--r-- | src/Sequence/Contact/Tests.hs | 2 | ||||
-rw-r--r-- | src/Sequence/Contact/Types/Internal.hs | 42 | ||||
-rw-r--r-- | src/Sequence/Utils.hs | 2 |
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 | |||
847 | doppelgä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) |