; KeeperFX Creature Model Configuration file
; file version 0.33

; Note that most of the creature parameters are affected by creature level.
; For every level above 1, they are raised by 35%.

[attributes]
; Name is the creature identifier which should be used in level script
; Note that this file name must match the name here
Name = IMP
; Language-specific name of the creature, as index in translation strings file
NameTextID = 259
; Amount of health points a creature have; ranged 1..10000
Health = 100
; When a creature health falls below requirement, the creature refuse work and go to sleep.
; In battle, it will priorize using the Heal spell when available.
; Also a computer player will pick the creatureand place it in lair. This works for 
; autonomous computer players and for assistance players.
; The value is scaled 0..255, where 0 means never heal and 255 means heal even if small
; fraction of health was lost. Should be larger than CriticalHealthPercentage in rules.cfg.
HealRequirement = 20
; When a creature health falls below threshold, it means he could use healing. If an idle creature
; has Heal spell available, it will try to use it when below the treshold. Creatures sleeping
; to heal up, will stop sleeping when they go above the treshold.
; The value is scaled 0..255, like HealRequirement. HealThreshold needs to be larger or equal than HealRequirement
HealThreshold = 200
; Strength is equal to the amount of melee combat damage a creature makes.
Strength = 5
; Percentage of damage points absorbed by creature armour.
; Scaled 0..200, where 0 is no absorption and 200 is 80% absorption.
; Value of armour is increased by 25% by the protect spell.
; It does not increase with experience, and can never exceed 80%.
Armour = 5
; Dexterity influences the odds for successful attack. It is scaled 0..255.
; If it is higher than attacked creature defence, then odds are higher than 50%.
; Every 26 points of difference between shooter dexterity and victim defence gives
; ~10% to the odds. Also, odds can never get higher than 88% or lower than 12%.
Dexterity = 60
; Wounded fear set to 101 will make creature escape from any combat other than
; protecting heart, or a combat with single creature of the same kind.
; This special value works the same way regardless of creature tendencies.
; Smaller value will make the creature escape if it has less than given percentage
; of health left (0-never escape, 100-escape even if no health is lost).
FearWounded = 101
; Fear of stronger creatures - how many times the enemy has to be stronger in order
; for the creature to escape. Value of 100 will make the creature fear an enemy with
; same strength, 200 will make it fear enemies which are twice as strong, etc.
; It uses melee damage, calculated based on strength, luck and creature level.
; The proper range of this value is 100..30000 %.
FearStronger = 800
; FearStronger values are based on Melee damage and Health, so spells and abilities
; are ignored. To compensate, units with good skills get a bonus factor. 
; Both fear and intimidation are multiplied by FearsomeFactor before they are used.
; A value of 100 leaves it unchanged, 200 will make it appear twice as strong, etc.
; The proper range of this value is 10..10000 %.
FearsomeFactor = 100
; Defence influences the odds for blocking an enemy attack. It is scaled 0..255.
; It is used to counter dexterity. Details are provided in the dexterity explanation above.
Defence = 7
; Luck is the chance of inflicting double damage or getting half damage from hit.
; It is ranged 0..100, and it's constant - doesn't change with experience level.
Luck = 0
; Amount of health points regenerated every RecoveryFrequency turns when sleeping in lair.
; Note that the amount is scaled with creature level - so always the same part of creature
; health is regenerated. Default value of RecoveryFrequency is 10 turns.
Recovery = 0
; Amount of health points regenerated every RecoveryFrequency turns when Toking. It is
; what creatures do without HealRequirement or LairSize, so Imps.
TokingRecovery = 10
HungerRate = 0
HungerFill = 0
LairSize = 0
; Amount of damage points inflicted when a creature walks on lava slabs.
; Setting this to 0 will make the creature immune to lava.
HurtByLava = 2
BaseSpeed = 96
GoldHold = 500
; Creature image size - XY and YZ
Size = 200 256
AttackPreference = MELEE
; Amount of gold the creature takes at payday.
Pay = 0
HeroVsKeeperCost = 0
SlapsToKill = 20
CreatureLoyalty = 0
LoyaltyLevel = 0
DamageToBoulder = 30
; Creature thing size - XY and YZ; one cube is 256x256
ThingSize = 256 512
; The object the creature will create to use as a lair. Object needs to be configured correctly in objects.cfg too.
LairObject = LAIR_IMP
; Creature properties
;   BLEEDS - the creature leaves blood when is hit, slapped, dying or being injured in any way
;   UNAFFECTED_BY_WIND - the creature isn't pushed back by Wind spell
;   IMMUNE_TO_GAS - the creature isn't injured by Gas Traps and Farts
;   HUMANOID_SKELETON - the creature leaves a skeleton if left in prison to die
;   PISS_ON_DEAD - creature feels urge to piss on nearby dead bodies
;   FLYING - creature normally isn't touching ground when moving and can move up and down
;   SEE_INVISIBLE - creature has natural ability which works like Sight spell
;   PASS_LOCKED_DOORS - creature can move through locked doors and won't fight with doors
;   SPECIAL_DIGGER - creature can dig and perform other dungeon tasks
;   ARACHNID - creature is kind of spider
;   DIPTERA - creature is kind of fly
;   LORD - creature is lord of the land, usually arrives to level as final boss, and at arrival
;       you can hear "beware, the lord of the land approaches"
;   SPECTATOR - creature is just a spectator for multiplayer games
;   EVIL - creature has evil nature
;   NEVER_CHICKENS - creature isn't affected by Chicken spell
;   IMMUNE_TO_BOULDER - when boulder trap hits the creature, falls apart without dealing any damage
;   NO_CORPSE_ROTTING - Creature body can't be taken to rot on graveyard and will disappear quickly
;   NO_ENMHEART_ATTCK - Creature won't attack enemy dungeon heart on sight
;   TREMBLING_FAT - Creature is so fat that ground trembles when it falls
;   FEMALE - Creature is a female, does female sounds and has female name
;   INSECT - Creature is an insect (note that DIPTERA and ARACHNID creatures should also have INSECT set explicitly)
;   ONE_OF_KIND - Only one creature of that kind may exist on a specific map. Creature name is set to kind name.
;   NO_IMPRISONMENT - Creature cannot be stunned for prison.
;   IMMUNE_TO_DISEASE - Creature cannot get diseased.
;   ILLUMINATED - A bright light will shine from the Creature.
;   ALLURING_SCVNGR - When scavenging will give the keeper a portal boost compared to rival keepers.

Properties = BLEEDS SPECIAL_DIGGER EVIL NO_ENMHEART_ATTCK NO_CORPSE_ROTTING

[attraction]
; Rooms required to attract the creature from entrance, and number of slabs which is needed (max 3 rooms).
; Order of the rooms here affects chances of attraction - if the room in first slot is large, it greatly
; increases attraction chance. If 2nd slot room is large, it adds half the attraction points the first slot would.
; Third slot gives 1/3 points. Sometimes you may want to leave first slot empty to make attraction more stable.
EntranceRoom = NULL NULL NULL
RoomSlabsRequired = 0 0 0
; Base chance of attraction. This value, added to room attractiveness and divided by sum of scores for
; all creatures, determines the chance of the creature of this model being attracted from entrance pool.
; Standard value is 10, range is 0..1000. 
BaseEntranceScore = 2
; Determines the amount of scavenge points required for a first lv1 creature of this kind to be scavenged.
; The amount of points required to scavenge next creature is a multiplication of this value.
ScavengeRequirement = 0
; Time after which the creature reacts to torturing by enemy, by either revealing information
; or converting to enemy.
TortureTime = 50

[annoyance]
; How many anger points are generated while doing various tasks
EatFood = 0
WillNotDoJob = 0
InHand = 0
NoLair = 0
NoHatchery = 0
WokenUp = 0
StandingOnDeadEnemy = 0
Sulking = 0
NoSalary = 0
Slapped = 0
StandingOnDeadFriend = 0
InTorture = 0
InTemple = 0
Sleeping = 0
GotWage = 0
WinBattle = 0
; Game turns required without training and the annoyance level
Untrained = 0 0
OthersLeaving = 0
; Annoyance caused by performing stressful jobs.
; Value of 0 will disable annoyance by stressful job.
JobStress = 0
; Annoyance caused by going postal during a primary job.
; Creature goes postal if other creatures, which wouldn't normally
; select that job, have been assigned to do it.
; In that case, the target is attacked and forced to evacuate,
; and attacker working in the room gains annoyance.
; Value of 0 will cause the creature never go postal.
GoingPostal = 0
Queue = 0
; The creature starts battle with this unit if they meet in the lair.
; Will avoid sharing lairs if possible. Up to 5 creature types.
LairEnemy = NULL
; Amount of annoyance which makes the creature angry; 0 will make creature never get angry
AnnoyLevel = 0
AngerJobs =

[senses]
; Hearing distance of a creature, in subtiles
Hearing = 5
EyeHeight = 256
FieldOfView = 1024
; Eye lens used to show possession view; see lenses.cfg for details
EyeEffect = NULL
; Speed of turning around; determines how many degrees a creature can rotate
; itself on a single game turn; scaled 1..180 degrees
MaxAngleChange = 25

[appearance]
WalkingAnimSpeed = 96
; Pitch used when making footstep sounds
FootstepPitch = 100
VisualRange = 5
; Index of the half-transparent swipe appearing when using melee combat in possession
PossessSwipeIndex = 1
; The way of dying if there are no special circumstances to select another death kind
NaturalDeathKind = NORMAL
; Place where a shot fired by the creature originates, relative to creature position
ShotOrigin = 0 0 256
; Effect or EffectElement(on negative numbers) which replaces the creature corpse when it disappears
CorpseVanishEffect = -63
; Position of the 'PowerGrab' sprite relative to the hand sprite when picked up
PickUpOffset = -2 46 0 0
; Position of the status sprites showing creature mood or activity
StatusOffset = 128

[experience]
; Creature spells (instance names), and the creature level at which they're given (max 10)
; Instances are defined in creature.cfg; an instance may fire a shot, cast spell or do other action
Powers = FIRST_PERSON_DIG SWING_WEAPON_SWORD SPEED NULL NULL NULL NULL NULL NULL TELEPORT
PowersLevelRequired = 1 1 3 0 0 0 0 0 0 10
; Training values required to reach higher creature levels
LevelsTrainValues = 2500 3500 5000 6500 8500 10500 13000 16000 20000
;Growing beyond max level - training cost, new creature type(accepts ANY_CREATURE for random) and its level
GrowUp = 0 NULL 0
; Gaining experience from sleeping - slab required near lair and amount of experience
; It is enough if one slab of given type exists anywhere next to the room slab, and all
; creatures inside get the bonus.
; See terrain.cfg for a list of slab names
SleepExperience = HARD 0
ExperienceForHitting = 1
; Level at which the creature gains the ability to resurrect, at one lower xp level
Rebirth = 0

[jobs]
; The jobs a creature selects for itself if given a choice. The creature selects primary job,
; unless there is no way to perform such job - in that case, it takes secondary job
PrimaryJobs = DIG
SecondaryJobs =
; Jobs which a creature won't do, even if assigned, unless the 'Obey' power is active.
NotDoJobs =
; Jobs which a creature can do, but doesn't really like. Doing these jobs makes the creature
; irritated, increasing its anger over time.
StressfulJobs =
; Amount of points produced by the creature while doing certain jobs, and gold cost
; generated by doing such job.
TrainingValue = 1
TrainingCost = 10
ScavengeValue = 0
ScavengerCost = 0
ResearchValue = 0
ManufactureValue = 0
; Chance of selecting training with another creature instead
; of training with just the mechanical training post. 0..100%. 
PartnerTraining = 0

[sprites]
; The following are indices of graphics sprites used to draw the creature.
; Graphics sprites are animations made from images, shown while performing various
; tasks. Linked to from 'Graphics' field of instances in creature.cfg. Numbers from sprites-32
Stand = 556
;Walking
Ambulate = 554
;Dragging an object, only used by workers.
Drag = 566
Attack = 558
;The animation used for digging and tunneling, but also for pissing on corpses and roaring when psycho
Dig = 558
;Imps can smoke to heal up, other units do not. It uses the smoke and relax animations.
Smoke = 568
Relax = 562
;Claiming floors and rooms, reinforcing walls.
PrettyDance = 564
GotHit = 560
;Dangling in the Hand of Evil.
PowerGrab = 574
;Reaction to being slapped. Some creatures have animations.
GotSlapped = 576
Celebrate = 564
Sleep = 556
EatChicken = 556
;Being tortured. 48 is generic.
Torture = 56
;Used when moaning, when assigned to a job it cannot do or in prison.
Scream = 570
;Dying/unconscious. Last frame is dead.
DropDead = 572
;Gib animation (from meteor/freeze). All units use 946.
DeadSplat = 946
;Unused and unknown.
GFX18 = 10
;Creature portrait. So an image, not a sprite/animation. Numbers from gui1
QuerySymbol = 154
;Creature icon. So an image, not a sprite/animation. Numbers from gui2
HandSymbol = 222
;Unused, seems to be alternate portrait list.
GFX21 = 10

[sounds]
;The first value is the index; the second value is the count
Foot = 9 4
Hit = 490 3
Happy = 488 1
Sad = 489 1
Hurt = 490 3
Die = 493 2
Hang = 495 1
Drop = 496 1
Torture = 497 3
Slap = 490 3
Fight = 485 3
