Skip to content

Commit

Permalink
Legacy ruleset matches original game better (#3472)
Browse files Browse the repository at this point in the history
Fixes #3466

Changes:

- Lvl10 keeper powers, set to bugged values for legacy
- Strength caps instead of overflows with the bug mode
- Sight uses the correct power value
- Defense value not in fact capped to 255
- Firebomb/meteor emulates the 'no explode on creature impact' bug
- Arrow not strength based
- Luck stats divided by 2.55 to compensate for difference in luck calculation between dk1 and fx (/100 instead of /255).
- Reverted stat changes from legacy that were to compensate for above issues
- Added some extra (original) stats to legacy that are different in FX

---------

Co-authored-by: elemanzer <[email protected]>
  • Loading branch information
Loobinex and elemanzer authored Oct 9, 2024
1 parent c0f8bf0 commit 123e68d
Show file tree
Hide file tree
Showing 43 changed files with 233 additions and 118 deletions.
74 changes: 37 additions & 37 deletions config/fxdata/magic.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -1440,8 +1440,8 @@ PanelTabIndex = 0
SoundSamples = 0
; Sound sample played when casting the power.
SoundPlayed = 0
; Power strength at each overload level.
Power = 0 0 0 0 0 0 0 0 0
; Power strength at each overload level. Final level only used by creatures.
Power = 0 0 0 0 0 0 0 0 0 0
; Power cost at each overload level.
Cost = 0 0 0 0 0 0 0 0 0
; How long the power remains in effect in game turns.
Expand Down Expand Up @@ -1499,7 +1499,7 @@ PointerSprites = 0
PanelTabIndex = 0
SoundSamples = 0
SoundPlayed = 0
Power = 0 0 0 0 0 0 0 0 0
Power = 0 0 0 0 0 0 0 0 0 0
Cost = 0 0 0 0 0 0 0 0 0
Castability = ANYWHERE OWNED_CRTRS CUSTODY_CRTRS ALL_FOOD ALL_GOLD
Artifact = SPELLBOOK_HOE
Expand All @@ -1518,7 +1518,7 @@ PointerSprites = 80
PanelTabIndex = 2
SoundSamples = 831
SoundPlayed = 0
Power = 0 0 0 0 0 0 0 0 0
Power = 0 0 0 0 0 0 0 0 0 0
Cost = 150 150 150 150 150 150 150 150 150
Castability = OWNED_GROUND
Artifact = SPELLBOOK_IMP
Expand All @@ -1537,7 +1537,7 @@ PointerSprites = 0
PanelTabIndex = 5
SoundSamples = 834
SoundPlayed = 58
Power = 0 0 0 0 0 0 0 0 0
Power = 0 0 0 0 0 0 0 0 0 0
Cost = 25 0 0 0 0 0 0 0 0
Duration = 18
Castability = ALL_GROUND OWNED_CRTRS BOUND_CRTRS
Expand All @@ -1557,7 +1557,7 @@ PointerSprites = 0
PanelTabIndex = 0
SoundSamples = 0
SoundPlayed = 75
Power = 0 0 0 0 0 0 0 0 0
Power = 0 0 0 0 0 0 0 0 0 0
Cost = 0 0 0 0 0 0 0 0 0
Duration = 500
Castability = ALL_GROUND OWNED_CRTRS BOUND_CRTRS CUSTODY_CRTRS OWNED_BOULDERS OWNED_FOOD
Expand All @@ -1577,7 +1577,7 @@ PointerSprites = 136
PanelTabIndex = 3
SoundSamples = 828
SoundPlayed = 51
Power = 576 640 704 768 832 896 960 1024 1088
Power = 576 640 704 768 832 896 960 1024 1088 1088
Cost = 50 60 70 80 90 100 110 120 130
Castability = ANYWHERE UNREVEALED
Artifact = SPELLBOOK_SOE
Expand All @@ -1597,7 +1597,7 @@ PanelTabIndex = 6
SoundSamples = 826
; 870, 84 or 871, and 872 are alternatives fanfares.
SoundPlayed = 83
Power = 10 15 20 25 30 35 40 45 50
Power = 10 15 20 25 30 35 40 45 50 50
Cost = 1 2 3 4 5 6 7 8 9
Duration = 1
Castability = ALL_GROUND
Expand All @@ -1617,7 +1617,7 @@ PointerSprites = 120
PanelTabIndex = 9
SoundSamples = 837
SoundPlayed = 927
Power = 0 5 6 7 8 9 10 11 12
Power = 0 5 6 7 8 9 10 11 12 12
Cost = 1000 1200 1400 1600 1800 2000 2200 2400 2600
Duration = 100
Castability = ALL_GROUND REVEALED_TEMP
Expand All @@ -1637,8 +1637,8 @@ PointerSprites = 104
PanelTabIndex = 10
SoundSamples = 829
SoundPlayed = 37
Power = 80 120 160 210 280 360 480 680 950
Cost = 300 400 500 600 700 800 900 1000 1200
Power = 80 120 160 210 280 360 480 680 950 950
Cost = 300 400 500 600 700 800 900 1000 1200
Duration = 16
Castability = ALL_GROUND OWNED_CRTRS ALLIED_CRTRS BOUND_CRTRS CUSTODY_CRTRS
Artifact = SPELLBOOK_HEAL
Expand All @@ -1658,7 +1658,7 @@ PointerSprites = 0
PanelTabIndex = 8
SoundSamples = 830
SoundPlayed = 58
Power = 0 0 0 0 0 0 0 0 0
Power = 0 0 0 0 0 0 0 0 0 0
Cost = 1000 0 0 0 0 0 0 0 0
Castability = ANYWHERE UNREVEALED
Artifact = SPELLBOOK_HLDAUD
Expand All @@ -1677,7 +1677,7 @@ PointerSprites = 88
PanelTabIndex = 11
SoundSamples = 833
SoundPlayed = 55
Power = 3 4 5 7 9 12 14 16 30
Power = 3 4 5 7 9 12 14 16 30 30
Cost = 600 1200 1300 1700 1800 2000 2200 2400 3000
Cooldown = 20
Castability = ALL_GROUND REVEALED_TEMP NEEDS_DELAY
Expand All @@ -1698,8 +1698,8 @@ PanelTabIndex = 4
SoundSamples = 838
; 938 is an alternative power speed sound.
SoundPlayed = 38
Power = 300 400 500 600 700 800 900 1000 1100
Cost = 100 200 300 400 500 600 700 800 900
Power = 300 400 500 600 700 800 900 1000 1100 1100
Cost = 100 200 300 400 500 600 700 800 900
Castability = ALL_GROUND OWNED_CRTRS ALLIED_CRTRS BOUND_CRTRS CUSTODY_CRTRS
Artifact = SPELLBOOK_SPDC
Properties =
Expand All @@ -1718,8 +1718,8 @@ PointerSprites = 112
PanelTabIndex = 12
SoundSamples = 825
SoundPlayed = 153
Power = 300 400 500 600 700 800 900 1000 1100
Cost = 100 200 300 400 500 600 700 800 900
Power = 300 400 500 600 700 800 900 1000 1100 1100
Cost = 100 200 300 400 500 600 700 800 900
Castability = ALL_GROUND OWNED_CRTRS ALLIED_CRTRS BOUND_CRTRS
Artifact = SPELLBOOK_PROT
Properties =
Expand All @@ -1738,8 +1738,8 @@ PointerSprites = 48
PanelTabIndex = 7
SoundSamples = 832
SoundPlayed = 154
Power = 300 400 500 600 700 800 900 1000 1100
Cost = 100 200 300 400 500 600 700 800 900
Power = 300 400 500 600 700 800 900 1000 1100 1100
Cost = 100 200 300 400 500 600 700 800 900
Castability = ALL_GROUND OWNED_CRTRS ALLIED_CRTRS BOUND_CRTRS
Artifact = SPELLBOOK_CONCL
Properties =
Expand All @@ -1758,7 +1758,7 @@ PointerSprites = 64
PanelTabIndex = 14
SoundSamples = 835
SoundPlayed = 59
Power = 300 400 500 600 700 800 900 1000 1100
Power = 300 400 500 600 700 800 900 1000 1100 1100
Cost = 7000 7200 7400 7600 7800 8000 8200 8400 9000
Castability = OWNED_GROUND ALLIED_GROUND ENEMY_CRTRS CUSTODY_CRTRS
Artifact = SPELLBOOK_DISEASE
Expand All @@ -1778,7 +1778,7 @@ PointerSprites = 56
PanelTabIndex = 13
SoundSamples = 827
SoundPlayed = 109
Power = 300 350 400 450 500 550 600 650 1000
Power = 300 350 400 450 500 550 600 650 1000 1000
Cost = 1200 1300 1400 1500 1600 1700 1800 1900 3000
Duration = 10
Castability = OWNED_GROUND ALLIED_GROUND ENEMY_CRTRS CUSTODY_CRTRS
Expand All @@ -1799,7 +1799,7 @@ PointerSprites = 72
PanelTabIndex = 16
SoundSamples = 839
SoundPlayed = 73
Power = 0 1 2 3 4 5 6 7 8
Power = 0 1 2 3 4 5 6 7 8 8
Cost = 10000 12000 14000 16000 18000 20000 22000 24000 26000
Castability = ALL_TALL CLAIMABLE
Artifact = SPELLBOOK_DWAL
Expand All @@ -1818,7 +1818,7 @@ PointerSprites = 182
PanelTabIndex = 18
SoundSamples = 0
SoundPlayed = 0
Power = 40 60 80 100 120 140 160 180 200
Power = 40 60 80 100 120 140 160 180 200 200
Cost = 2000 2100 2200 2300 2400 2500 2600 2700 2800
Cooldown = 30
Castability = ALL_GROUND ONLY_DIGGERS OWNED_CRTRS BOUND_CRTRS NEEDS_DELAY
Expand All @@ -1839,7 +1839,7 @@ PointerSprites = 96
PanelTabIndex = 1
SoundSamples = 836
SoundPlayed = 39
Power = 0 0 0 0 0 0 0 0 0
Power = 0 0 0 0 0 0 0 0 0 0
Cost = 0 0 0 0 0 0 0 0 0
Castability = ALL_GROUND OWNED_CRTRS OWNED_FOOD
Artifact = SPELLBOOK_POSS
Expand All @@ -1858,7 +1858,7 @@ PointerSprites = 0
PanelTabIndex = 15
SoundSamples = 824
SoundPlayed = 180
Power = 0 0 0 0 0 0 0 0 0
Power = 0 0 0 0 0 0 0 0 0 0
Cost = 60000 0 0 0 0 0 0 0 0
Castability = ANYWHERE UNREVEALED
Artifact = SPELLBOOK_ARMG
Expand All @@ -1877,7 +1877,7 @@ PointerSprites = 0
PanelTabIndex = 0
SoundSamples = 0
SoundPlayed = 0
Power = 0 0 0 0 0 0 0 0 0
Power = 0 0 0 0 0 0 0 0 0 0
Cost = 0 0 0 0 0 0 0 0 0
Castability = ANYWHERE OWNED_CRTRS CUSTODY_CRTRS
Artifact = NULL
Expand All @@ -1896,7 +1896,7 @@ PointerSprites = 0
PanelTabIndex = 0
SoundSamples = 0
SoundPlayed = 0
Power = 0 0 0 0 0 0 0 0 0
Power = 0 0 0 0 0 0 0 0 0 0
Cost = 0 0 0 0 0 0 0 0 0
Castability = OWNED_GROUND UNCLMD_GROUND ALL_GOLD
Artifact = NULL
Expand All @@ -1915,7 +1915,7 @@ PointerSprites = 0
PanelTabIndex = 0
SoundSamples = 0
SoundPlayed = 109
Power = 0 0 0 0 0 0 0 0 0
Power = 0 0 0 0 0 0 0 0 0 0
Cost = 0 0 0 0 0 0 0 0 0
Castability = ANYWHERE OWNED_FOOD
Artifact = NULL
Expand All @@ -1935,8 +1935,8 @@ PanelTabIndex = 28
SoundSamples = 0
SoundPlayed = 926
; Because Rebound is now linked to the creature spell all the levels share the same power by default, with 'general_expand' you have to change these values however you like.
Power = 250 250 250 250 250 250 250 250 250
Cost = 100 200 300 400 500 600 700 800 900
Power = 250 250 250 250 250 250 250 250 250 250
Cost = 100 200 300 400 500 600 700 800 900
Castability = ALL_GROUND OWNED_CRTRS ALLIED_CRTRS BOUND_CRTRS
Artifact = SPELLBOOK_RBND
Properties =
Expand All @@ -1957,7 +1957,7 @@ PanelTabIndex = 29
SoundSamples = 0
SoundPlayed = 50
; Because Freeze is now linked to the creature spell all the levels share the same power by default, with 'general_expand' you have to change these values however you like.
Power = 125 125 125 125 125 125 125 125 125
Power = 125 125 125 125 125 125 125 125 125 125
Cost = 1250 1375 1500 1625 1750 1875 2000 2125 2250
Cooldown = 20
Castability = OWNED_GROUND ALLIED_GROUND UNCLMD_GROUND NEUTRL_GROUND ENEMY_CRTRS CUSTODY_CRTRS NEEDS_DELAY
Expand All @@ -1981,8 +1981,8 @@ PanelTabIndex = 20
SoundSamples = 0
SoundPlayed = 50
; Because Slow is now linked to the creature spell all the levels share the same power by default, with 'general_expand' you have to change these values however you like.
Power = 500 500 500 500 500 500 500 500 500
Cost = 100 200 300 400 500 600 700 800 900
Power = 500 500 500 500 500 500 500 500 500 500
Cost = 100 200 300 400 500 600 700 800 900
Castability = ALL_GROUND ENEMY_CRTRS CUSTODY_CRTRS
Artifact = SPELLBOOK_SLOW
Properties =
Expand All @@ -2004,8 +2004,8 @@ PanelTabIndex = 22
SoundSamples = 0
SoundPlayed = 953
; Because Flight is now linked to the creature spell all the levels share the same power by default, with 'general_expand' you have to change these values however you like.
Power = 750 750 750 750 750 750 750 750 750
Cost = 100 200 300 400 500 600 700 800 900
Power = 750 750 750 750 750 750 750 750 750 750
Cost = 100 200 300 400 500 600 700 800 900
Castability = ALL_GROUND OWNED_CRTRS ALLIED_CRTRS BOUND_CRTRS
Artifact = SPELLBOOK_FLGT
Properties =
Expand All @@ -2025,8 +2025,8 @@ PointerSprites = 336
PanelTabIndex = 19
SoundSamples = 0
SoundPlayed = 923
Power = 576 640 704 768 832 896 960 1024 1088
Cost = 100 200 300 400 500 600 700 800 900
Power = 576 640 704 768 832 896 960 1024 1088 1088
Cost = 100 200 300 400 500 600 700 800 900
Castability = ALL_GROUND OWNED_CRTRS ALLIED_CRTRS BOUND_CRTRS
Artifact = SPELLBOOK_VSN
Properties =
Expand Down
19 changes: 19 additions & 0 deletions levels/legacy_cfgs/creature.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ RangeIncreaseOnExp = 2
DexterityIncreaseOnExp = 35
DefenseIncreaseOnExp = 35

[instance16]
Name = SLOW
ResetTime = 550
FPResetTime = 500

[instance19]
Name = MISSILE
FPResetTime = 2
Expand All @@ -20,7 +25,21 @@ Name = FLAME_BREATH
FPTime = 1
FPActionTime = 1

[instance22]
Name = WIND
ResetTime = 1200

[instance23]
Name = LIGHT
ResetTime = 8
FPResetTime = 3

[instance26]
Name = GRENADE
ResetTime = 60
FPResetTime = 20

[instance30]
Name = DIG
ForceVisibility = 0

44 changes: 44 additions & 0 deletions levels/legacy_cfgs/magic.cfg
Original file line number Diff line number Diff line change
@@ -1,6 +1,50 @@
; KeeperFX Partial Magic Configuration file version 1.0 for Legacy maps and campaigns, by Mefistotelis.
; Note that it is partial config file - do not replace global config with this file.

[shot2]
Name = SHOT_FIREBOMB
Damage = 100
AreaDamage = 0 160 255

[shot12]
Name = SHOT_DRAIN
Properties = REBOUND_IMMUNE WIND_IMMUNE LIFE_DRAIN FIXED_DAMAGE

[shot14]
Name = SHOT_ARROW
Damage = 30
Properties =

[shot15]
Name = SHOT_BOULDER
Health = 210

[spell21]
Name = SPELL_SIGHT
SpellPower = POWER_SIGHT

[power5]
Name = POWER_SIGHT
Spell = SPELL_SIGHT
Power = 576 640 704 768 832 896 960 1024 1088 1

[power8]
Name = POWER_HEAL_CREATURE
Power = 80 120 160 190 220 270 290 340 500 1000
Cost = 300 400 500 600 700 800 900 1000 1100

[power11]
Name = POWER_SPEED
Power = 300 400 500 600 700 800 900 1000 1100 100

[power12]
Name = POWER_PROTECT
Power = 300 400 500 600 700 800 900 1000 1100 100

[power13]
Name = POWER_CONCEAL
Power = 300 400 500 600 700 800 900 1000 1100 7000

[power15]
Name = POWER_CHICKEN
Power = 300 350 400 450 500 550 600 650 1000 1000
4 changes: 4 additions & 0 deletions levels/legacy_cfgs/rules.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ DiseaseHPTemplePercentage = 50

[magic]
ArmageddonTeleportNeutrals = 1
DiseaseTransferPercentage = 25
DiseaseLosePercentageHealth = 10
DiseaseLoseHealthTime = 400
CollapseDungeonDamage = 10
FriendlyFightAreaRangePercent = 5
FriendlyFightAreaDamagePercent = 100

Expand Down
23 changes: 23 additions & 0 deletions levels/legacy_cfgs/trapdoor.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
; KeeperFX Partial Traps and Doors Configuration file version 1.0 for Legacy maps and campaigns.
; Note that it is partial config file - do not replace global config with this file.

[door2]
Name = BRACED
Health = 750

[door3]
Name = STEEL
Health = 1500

[door4]
Name = MAGIC
Health = 3000

[trap1]
Name = BOULDER
Health = 210

[trap4]
Name = LIGHTNING
Shots = 8

Loading

0 comments on commit 123e68d

Please sign in to comment.