; KeeperFX Game Rules Configuration file
; file version 0.38
; Note that changing .cfg files will NOT affect saved games - only newly started maps.

[game]
; Amount of gold stored in undigged vein slab
GoldPerGoldBlock = 1024
; Amount of gold stored in pots at start of level
PotOfGoldHolds = 250
; Amount of gold stored in chests at start of level
ChestGoldHold = 500
; Amount of gold stored in bags at start of level
BagGoldHold = 100
; Amount of gold stored in piles at start of level
GoldPileValue = 200
; Max gold per pile
GoldPileMaximum = 1024
; Max amount of gold stored in gold hoard in treasury
GoldPerHoard = 2000
FoodLifeOutOfHatchery = 500
DeathMatchStatueReapperTime = 200
DeathMatchObjectReapperTime = 500
DoubleClickSpeed = 6
DoorOpenFor = 50
BoulderReduceHealthSlap = 18
BoulderReduceHealthWall = 6
BoulderReduceHealthRoom = 6
; Gold mining speed from gems, in percentage compared to mining gold blocks
GemEffectiveness = 17
; Game turns between pay days
PayDayGap = 10000
; How fast pay day comes percentage 
PayDaySpeed = 100
SlabCollapseTime = 100
; How many game turns between the heart recovering health
DungeonHeartHealTime = 8
; How much health the heart recovers. Or loses when negative
DungeonHeartHealHealth = 4
HeroDoorWaitTime = 200
RoomSellGoldBackPercent = 50
DoorSellValuePercent = 100
TrapSellValuePercent = 100
PlaceTrapsOnSubtiles = 0
; Allied players cast Call to Arms for free on each others land
AlliesShareCta = 0
; Allied players can drop units on each others land
AlliesShareDrop = 0
; Allied players share map vision, which is removed as soon as alliance is broken
AlliesShareVision = 0
MaxThingsInHand = 8
; Possible Classic Bugs: RESURRECT_FOREVER OVERFLOW_8BIT CLAIM_ROOM_ALL_THINGS RESURRECT_REMOVED NO_HAND_PURGE_ON_DEFEAT MUST_OBEY_KEEPS_NOT_DO_JOBS BREAK_NEUTRAL_WALLS ALWAYS_TUNNEL_TO_RED FULLY_HAPPY_WITH_GOLD FAINTED_IMMUNE_TO_BOULDER REBIRTH_KEEPS_SPELLS STUN_FRIENDLY_UNITS PASSIVE_NEUTRALS NEUTRAL_TORTURE_CONVERTS
PreserveClassicBugs = 

[computer]
; Maximum health percentage when creatures are considered to be put to temple to cure of disease
DiseaseHPTemplePercentage = 100

[creatures]
RecoveryFrequency = 10
FightMaxHate = 200
FightBorderline = 0
FightMaxLove = -200
BodyRemainsFor = 2000
FightHateKillValue = -2
FleeZoneRadius = 1536
GameTurnsInFlee = 200
GameTurnsUnconscious = 2000
; Chance enemy creature gets stunned for prison, when possible, 0..100
StunEvilEnemyChance = 100
; Chance enemy hero gets stunned for prison, when possible, 0..100
StunGoodEnemyChance = 100
; Amount of health below which the creature ignores its other needs
; except hunger and immediately goes to lair to heal itself, 0..99
CriticalHealthPercentage = 13

[magic]
HoldAudienceTime = 500
ArmagedonTeleportYourTimeGap = 5
ArmagedonTeleportEnemyTimeGap = 10
ArmegeddonTeleportNeutrals = 0
ArmegeddonCountDown = 500
ArmegeddonDuration = 4000
DiseaseTransferPercentage = 15
DiseaseLosePercentageHealth = 8
; Turns between health drop due to disease, 1..255
DiseaseLoseHealthTime = 250
MinDistanceForTeleport = 20
CollapseDungeonDamage = 15
TurnsPerCollapseDungeonDamage = 4
PowerHandGoldGrabAmount = 100
; Percentage of spell area effect range used when inflicting friendly fire
; This only affects values of AreaDamage, standard damage is not modified by it 
; Scaled 0..1000, where 100 is the value which makes friendly and enemy fire equal
FriendlyFightAreaRangePercent = 33
; Percentage of area effect damage inflicted when friendly creatures are attacked 
; This only affects values of AreaDamage, standard damage is not modified by it 
; Scaled 0..1000, where 100 is the value which makes friendly and enemy fire equal
FriendlyFightAreaDamagePercent = 33

[rooms]  
ScavengeCostFrequency = 64
; Whether creatures on level which belong to good player can be scavenged, 0/1
ScavengeGoodAllowed = 1
; Whether creatures on level which belong to neutral player can be scavenged, 0/1
ScavengeNeutralAllowed = 1
; Amount of game turns a creature which was praying is protected from
; enemy scavenging after leaving the temple, 0..10000000
TempleScavengeProtectionTime = 1000
TrainCostFrequency = 64
; Max level the training room can be used to train to. Set to 0 for no limit.
TrainingRoomMaxLevel = 0
; When the enemy has been broken during torture, it might die right
; away. The unit will turn into a ghost or a corpse. This defines
; the probability of death, 0..100
TortureDeathChance = 0
; When the broken enemy does not die from torture, it can either reveal
; information or change its ownership; this defines the probability
; of converting and ending the torture, 0..100
TortureConvertChance = 33
; Escape from prison is possible if it is next to an enemy slab; this defines
; the amount of game turns between a chance for breaking from jail 1..10000000
TimeBetweenPrisonBreak = 400
; How long a creature must continously sit in jail to start getting break chances
TimeSpentInPrisonWithoutBreak = 2400
; The chance of breaking from a prison, if all conditions towards the break are met
PrisonBreakChance = 50
; Chance of a dying torture victim becoming undead, 0..100
GhostConvertChance = 100
ArmoryTime = 2000
WorkshopTime = 2500
ObservatoryTime = 250
ObservatoryGenerate = 3
DefaultGenerateSpeed = 350
DefaultMaxCreaturesGenerateEntrance = 200
DefaultNeutralEntranceLevel = 9
BarrackTime = 100
BarrackMaxPartySize = 8
FoodGenerationSpeed = 2000
; Prisoner becoming skeleton chance, 0..100%
PrisonSkeletonChance = 100
BodiesForVampire = 10
GraveyardConvertTime = 300

[workers]  
; Amount of hit points a single slab of a room has; used to compute
; complete amount of hit points of a room, which have to be depleted
; for the room to be taken over by enemy diggers
HitsPerSlab = 2
ImpJobNotSoClose = 4
ImpJobFarAway = 10
ImpGenerateTime = 50
ImproveArea = 31
; Damage did by Imp while digging - to its own slabs, and other slabs
DefaultImpDigDamage = 1
DefaultImpDigOwnDamage = 2
PerImpGoldDigSize = 30
; Experience imps gain from working
ImpWorkExperience = 0

[health]  
HungerHealthLoss = 50
GameTurnsPerHungerHealthLoss = 400
FoodHealthGain = 50
PrisonHealthGain = 50
GameTurnsPerPrisonHealthGain = 400
TortureHealthLoss = 50
GameTurnsPerTortureHealthLoss = 400

[research]
; Research order - type, kind and points needed for every research
; Kind: MAGIC, ROOM, CREATURE
Research = MAGIC POWER_HAND             250
Research = MAGIC POWER_POSSESS          500
Research = MAGIC POWER_SLAP             500
Research = MAGIC POWER_IMP             1000
Research = ROOM  TREASURE              1000
Research = ROOM  LAIR                  1000
Research = ROOM  GARDEN                1000
Research = ROOM  TRAINING              1000
Research = ROOM  RESEARCH              1000
Research = MAGIC POWER_SIGHT           3800
Research = ROOM  BRIDGE                4600
Research = MAGIC POWER_SPEED           5700
Research = MAGIC POWER_OBEY            6000
Research = ROOM  GUARD_POST            6700
Research = MAGIC POWER_CALL_TO_ARMS    7400
Research = ROOM  WORKSHOP              9000
Research = MAGIC POWER_CONCEAL         9400
Research = ROOM  BARRACKS             12000
Research = MAGIC POWER_HOLD_AUDIENCE  11000
Research = ROOM  PRISON               20000
Research = MAGIC POWER_CAVE_IN        25000
Research = ROOM  TORTURE              20000
Research = MAGIC POWER_HEAL_CREATURE  14000
Research = ROOM  TEMPLE               25000
Research = MAGIC POWER_LIGHTNING      15000
Research = ROOM  GRAVEYARD            25000
Research = MAGIC POWER_PROTECT        15000
Research = ROOM  SCAVENGER            27500
Research = MAGIC POWER_CHICKEN        20000
Research = MAGIC POWER_DISEASE        20000
Research = MAGIC POWER_ARMAGEDDON    100000
Research = MAGIC POWER_DESTROY_WALLS 750000

[sacrifices]
; Sacrifice recipes - Be careful, avoid conflicts! Possible commands are:
; MkCreature, MkGoodHero, NegSpellAll, PosSpellAll, NegUniqFunc, PosUniqFunc.
; First the result, then up to six ingredients. To disable a sacrifice, put
; a ";" before it - this will turn it into comment.
; Original Dungeon Keeper sacrifices
MkCreature =  BILE_DEMON         SPIDER SPIDER SPIDER
MkCreature =  HORNY              TROLL BILE_DEMON DARK_MISTRESS
PosUniqFunc = COMPLETE_RESEARCH  FLY FLY
PosUniqFunc = COMPLETE_MANUFACTR BUG BUG
NegSpellAll = SPELL_DISEASE      VAMPIRE VAMPIRE
MkCreature =  SORCEROR           FLY SPIDER
MkCreature =  DARK_MISTRESS      BUG SPIDER
NegSpellAll = SPELL_CHICKEN      BILE_DEMON BILE_DEMON
PosUniqFunc = CHEAPER_IMPS       IMP
;NegUniqFunc = COSTLIER_IMPS      TUNNELLER
NegUniqFunc = ALL_CREATRS_ANGRY  HORNY
NegUniqFunc = KILL_ALL_CHICKENS  GHOST
; KeeperFX specific sacrifices
MkGoodHero =  SKELETON           SKELETON SKELETON
MkCreature =  TENTACLE           TROLL SPIDER
MkCreature =  HELL_HOUND         DRAGON FLY
PosSpellAll = SPELL_SPEED        FLY HELL_HOUND
PosSpellAll = SPELL_INVISIBILITY TROLL FLY
PosSpellAll = SPELL_HEAL         ORC SPIDER
PosSpellAll = SPELL_REBOUND      DARK_MISTRESS BUG
PosSpellAll = SPELL_ARMOUR       BILE_DEMON BUG
PosSpellAll = SPELL_FLIGHT       DEMONSPAWN FLY
NegSpellAll = SPELL_FREEZE       VAMPIRE SPIDER
NegSpellAll = SPELL_SLOW         VAMPIRE DEMONSPAWN
; Extra sacrifices - disabled for some reason
;MkGoodHero = AVATAR             KNIGHT SAMURAI WIZARD GIANT MONK
