Thief:The Metal Age Only
Putting Fire Elementals in Thief:The Metal Age
(This should only be attempted by someone who thinks they know what they are doing)

You need a copy of thief dark/gold for this.
Files needed off the thief dark/gold are the schema files and the sound files for the fire elementals. If you don't have the schema files then here is the schema file for the fire elemental.

The sound files are in a zip file called snd.crf in the thief dark/gold directory, the schema files are in a zip on one of the disks for thief gold. You need to create a directory called snd in the thief2 directory, then extract the sound files for the fire elemental, the files will appear in a directory call thief2/snd/ElemFire.

You also need the thief2 schema files, these files are in a zip on one of the thief metal disks, create a directory in the thief2 directory called schema, and extract the thief 2 schema files to this directory, then copy the fire.sch to the thief2 schema directory. In the thief2 schema directory open the file envsound.spc with notepad and add ElemFire to the line of the tag CreatureType, should look like this:

Then save file and close it. Then in the thief2 schema directory open the file speech.spc with notepad and add to the bottom of the file voice vair and voice vfire should look like this:
Then save file and close it.

Unless you've already done this you need a custom gam file, copy the dark.gam file and call it your custom name. Then copy the thief level you want to add the custom gam file to incase you screw it all up. Then open the mission file in dromed, and add the custom gam file to the mission file by typing set_gamesys "filename".gam in the command line box in the bottom righthand side of the editor and press return, the name of the custom gam file should appear where the dark.gam file name was in the editor. Save the mission file and exit dromed. Run dromed and open the mission file, type reload_schemas (all the thief:the metal age schemas must be in the schema directory) in the command line box, if you haven't screwed it up somewhere dromed wont crash. Then save the gam file, not the mission file. Exit dromed and re-run dromed and load mission file.

The thief dark/gold Fire Elemental uses a Metaproperty that doesn't exit in the thief2 dark.gam file, so you need to create this first. Open Object Hierarchy and select MetaProperties from the drop down menu.
Open Vulnerabilities by clicking on the plus sign next to the word. Highlight Vulnerabilities, and press the add button, type ColdDamage in New Object Name box, then click on OK.
Highlight the ColdDamage metaproperty and press the edit button. Press the Add button and select Act/React - Receptron from menu. Click on add button the get the behavior box. Select FireStim from the Stimulus drop down box, in the Object box type the n number of the ColdDamage(n) it will be a negative number eg. -1234. Select the Max Intensity box and put -0.1 in it, click the No Min box to get a tick in it. In the effect drop down box select Damage Object. In the Target Object click on the Me circle to put a dot in it, in the Agent Object click on the Source circle to put a dot in it.
Click on the Edit Effect button, Damage Type is 0, Use stimulus as type is true put a tick in the box, Multiply By -1.00, Then Add 0. Click on OK button. The click on the ok button twice on the Behaviour box, then close everything but the Object Hierarchy.

Creating the Fire Elemental
In the Object Hierarchy in the drop down select Archetypes, open Physical, open Creature, Click on Creature to highlight it, then click the Add Button, in the New Object Name box type Elemental, then press ok button. Select Elemental from list and click the edit button.

Add AI/AI Core/Uses doors and leave a false (empty box no tick)
Add AI/AI Core/Movement: max speed: 2.50
Add AI/AI Core/Movement: z offset: 5.00
Add Engine Features/FrobInfo
    World Action [None]
    Inv Action Move, FocusScript
    Tool Action [None]
Add Game/Damage Model/Max Hit Points: 12
Add Game/Damage Model/Hit Points: 12
Add Act/React - Receptron
    Add Behavior
    Stimulus ToxicStim
    Object Elemental(n) n=number of object
    Min Intensity 0
    Max Intensity 0
    No Min True (tick in box)
    No Max True (tick in box)
    Effect Abort
Add Act/React - Receptron
    Add Behavior
    Stimulus PokeStim
    Object Elemental(n) n=number of object
    Min Intensity 0
    Max Intensity 0
    No Min False (no tick in box)
    No Max True (tick in box)
    Effect Amplify
        Multiply by: 0.20
        Then add: 0.00
click on done button

Highlight Elemental click on Add button, type FireElemental in New Object Name box and click on OK button, highlight FireElemental and click on Edit button.

Add AI/Ranged Combat/Ranged Combat
    Minimum Distance 10
    Ideal Distance 25
    Firing Delay 1.75
    Cover Desire Low
    Decay Speed 0.00
    Fire While Moving Very Often
    Contain Projectile False
Add AI/AI Core/Uses doors: False (AI wont open doors)
Add AI/AI Core/Vision description:
(Vision detection arcs of the AI)

the only thing that needs to be edited on this is the z offset box which is set to 0, to get to the top of the Vision menu, use the Taskbar and Start Menu properties accessed by right clicking on the menu bar at the bottom of the windows desktop and highlighting the properties option. Then click on the Auto Hide box and then the Apply button, this should move the top of the vision menu into view.
Add AI/AI Core/Movement: max speed: 1.75
Add AI/AI Core/AI: Elemental
(type Elemental this sets the AI of the object from the motiondb.bin file)
Add Dark GameSys/FlashInvuln: True
(Stops flashbombs from having any effect on the AI)
Add Schema/Class Tags: CreatureType ElemFire
(sounds the elemental makes)
Add Speech/Voice: vfire
(used by the AI to make the sounds set in Schema)
Add Tweq/ModelState
    AnimS On
    MiscS [None]
    Cur Time 0
    Frame# 0
Add Tweq/ScaleState all set to [None]
Add Tweq/Models
(animation settings of the surface of the AI)
    Halt Continue
    AnimC [None]
    MiscC Random
    CurveC [None]
    Rate 100
    Model 0 fire1
    Model 1 fire2
    Model 2 fire3
(animation settings of the surface of the AI)
Add Tweq/Scale
    Halt Destroy Obj
    AnimC Sim
    MiscC [None]
    CurveC [None]
    Primary Axis 0
    x rate-low-high X 0 Y 0 Z 1
    y rate-low-high X 0 Y 0 Z 1
    z rate-low-high X 0 Y 0 Z 1
Add Game/Damage Model/Max Hit Points: 10
Add Game/Damage Model/Hit Points: 10
Add Physics/Model/Attributes
    Gravity % 0.00
    Mass 30.0
    Density 0.40
    Elasticity 1.00
    Base Friction 0.40
    COG Offset X 0 Y 0 Z 0
    Rotation Axes [None]
    Rest Axes [None]
Add Physics/Model/Type
    Type Sphere
    # Submodels 1
    Remove on Sleep False
    Special False
Add P/Position
    Location X 0 Y 0 Z 0
    Heading 0
    Pitch 0
    Bank 0
Add Renderer/Transparency (alpha): 0.30
(0.00 is invisible)
Add Renderer/Dynamic Light: 60
(this in thief dark/gold is represented by the self Lit option, but it doesn't exist in the thief metal option list, so dynamic light was used instead)
Add Renderer/Extra Light:
    Amount (-1... 1) 0.60
    Additive? False
Add S/Scripts (delete all the other scripts in there)
    Script 0 FireElemental
    Don't Inherit False
Add Shape/Model Name: fire1
(this is not a mesh but an object, and is still in the obj.crf file that came with thief metal, so you dont have to copy it from the thief dark/gold files)

Add Act/React- Receptron
Add Behavior
    Stimulus FireStim
    Object FireElemental(n)
    Min Intensity 2
    Max Intensity 0
    No Min False
    No Max True
    Effect Damage Object
        Damage Type: 0
        Use Stimulus as type: True
        Multiply By: -1.00
        Then Add: 2
    Target Object Me
    Agent Object Source
Add Behavior
(A gas arrow will damage a Fire Elemental but may not kill it)
    Stimulus KOGas
    Object FireElemental(n)
    Min Intensity 0
    Max Intensity 0
    No Min False
    No Max True
    Effect Damage Object
        Damage Type: 0
        Use Stimulus as type: True
        Multiply By: 1.00
        Then Add: 0
    Target Object Me
    Agent Object Source

Add Behavior
(This allows you to kill a Fire Elemental with a water arrow)
    Stimulus WaterStim
    Object FireElemental(n)
    Min Intensity 0
    Max Intensity 0
    No Min False
    No Max True
    Effect Damage Object
        Damage Type: 0
        Use Stimulus as type: True
        Multiply By: 3.00
        Then Add: 0
    Target Object Me
    Agent Object Source

Add Behavior
(Shooting a Fire Elemental with a Fire Arrow will strengthen it, up to its maximum hit points)
    Stimulus FireStim
    Object FireElemental(n)
    Min Intensity 0
    Max Intensity 0
    No Min True
    No Max False
    Effect Damage Object
        Damage Type: 0
        Use Stimulus as type: True
        Multiply By: -5.00
        Then Add: 0
    Target Object Me
    Agent Object Source

Add Behavior
(Burrick breath will damage a Fire Elemental)
    Stimulus Stench
    Object FireElemental(n)
    Min Intensity 0
    Max Intensity 0
    No Min False
    No Max True
    Effect Damage Object
        Damage Type: 0
        Use Stimulus as type: True
        Multiply By: 1.00
        Then Add: 0
    Target Object Me
    Agent Object Source
Add Metaproperty/Vulnerabilities/ColdDamage
(the one you made earlier)
Close everything in the Object Hierarchy and the Object Hierarchy and save the custom gam file, because you add the links next and that can cause dromed to crash if you get it wrong. Open Object Hierarchy and open the FireElemental for editing.


Add Links/AIProjectile
    Add AIProjectile
    From FireElemental
    To firebolt
click ok
highlight ID number of AIProjectile, then click on Data Button
Link Data
    Constraint Type None
    Constraint Data 0
    Targeting Method Straight-Line
    Selection Desire Very High
    Firing Delay 0.00
    Ammo 0
    Burst Count 0
    Accuracy High
    Leads Target True
    Launch Joint N/A
(its an object not a mesh so it doesn't have a mesh joint) Click ok, then ok in links box
Add Links/Corpse
    Add Corpse
    From FireElemental
    To ElementalExplode
Close Everything to Object Hierarchy
open Projectile/CritterShots/firebolt/ElementalSummon
Add Links/Corpse
    Add Corpse
    From ElementalSummon
    To FireElemental
Click ok, then ok in links box
Close Everything to Object Hierarchy
open SFX/FireFX/FireParticleFX/FireElementalFX/ElemSparkz
Add Links/ParticleAttachment
    Add ParticleAttachment
    From ElemSparkz
    To FireElemental
Data
    Type Object
    vhot # 0
    joint N/A
    submod # 0
Close Everything to Object Hierarchy
open SFX/FireFX/FireParticleFX/FireElementalFX/ElemSmoke
Add Links/ParticleAttachment
    Add ParticleAttachment
    From ElemSmoke
    To FireElemental
Data
    Type Object
    vhot # 0
    joint N/A
    submod # 0
Close Everything to Object Hierarchy
open SFX/FireFX/FireParticleFX/FireElementalFX/FireElementalYellow
Add Links/ParticleAttachment
    Add ParticleAttachment
    From FireElementalYellow
    To FireElemental
Data
    Type Object
    vhot # 0
    joint N/A
    submod # 0
Links in fire elemental should look like this.
Close everything in the Object Hierarchy and the Object Hierarchy and save the custom gam file.
Fire Elemental in game.
Fire Elemental in game.

Advanced Menu