Did you ever notice zombie parts in T2fix 1.27? Jax64 digged in RES/object and found nice looking zombie part assets and applied them in a gamesys.dml.
I liked this, so I was thinking about a dml to change zombie parts - but without additional object creation as the gamesys.dml in T2fix does.
Here's my effort as demo mission (just a cow). The gamesys.dml is included, renamed to dark.gam.dml
-You can use this dml for FM creation at any time in building process of a FM.
-Known issues: Object model will change when a earth stim intensity will be received. This works mostly, but not on huge mixed zombie hordes with all three zombie types.
If you throw flashbombs in mixed zombie bulks, my change model system might not work correctly. In this case, Jax64 setup is better.
-A helper object will be created if a zombie will be destroyed. The objects are bloodstrains (bloodstrain1-3), which will vanish after some time. If you do not like this, there are invisible
helper objects already created in the gamesys.dml (bloodstrain1a, 2a, 3a) which can replace the other helper objects. To change this, just rename the object creation receptron of the zombie types.
1. First step: load the dml with command: dbmod_load for loading dmls even with cows
edit dromed.cfg and add this line at the bottom: "apply_dbmods 1" (without quotes)
2. If "apply_dbmods 1" will be added: A gamesys.dml requires a gam, cow won't work. So save your mission as mis and gam. After installing the dml, you can save it as cow (or mis+gam) again. The content of the dml will be saved.
3. Rename the dml as you like. Same name as the gam you are using.
An example: Install the super zombie mission "Brawl in the Tombs". Put the gamesys.dml into the FM folder and rename
it to "JohnD.gam.dml". His gamesys is "JohnD.gam". Understood? Load the mission, jump to object 487 and have some fun with a noise arrow.
4. You can put the gamesys dml in the root folder or in a FM folder.
dml code again. Save it a txt file and rename it as "mygam.gam.dml"
Code:
DML1//Create Custom Zombie Part Assets in T2//mygam.gam.dml
//Helper Objects
//Bloodtrail1
CreateArch "bloodstain" "bloodtrail1a"
{
+ObjProp "ModelName"
{
"" "blsplat2"
}
// Renderer->Render Type
+ObjProp "RenderType"
{
"" "Not Rendered"
}
}
+StimSource "bloodtrail1" "EarthStim"
{
Intensity 2
Propagator "Radius"
{
Life
{
"Flags" "Destroy Object on Completion"
"Period" 5000
"Max Firings" 1
"Intensity Slope" 0.00
}
Shape
{
"Radius" 20.00
"Flags" "[None]"
"Dispersion" "None"
}
}
}
//Bloodtrail2
CreateArch "bloodstain" "bloodtrail2a"
{
+ObjProp "ModelName"
{
"" "blsplat2"
}
// Renderer->Render Type
+ObjProp "RenderType"
{
"" "Not Rendered"
}
}
+StimSource "bloodtrail2" "EarthStim"
{
Intensity 4
Propagator "Radius"
{
Life
{
"Flags" "Destroy Object on Completion"
"Period" 5000
"Max Firings" 1
"Intensity Slope" 0.00
}
Shape
{
"Radius" 20.00
"Flags" "[None]"
"Dispersion" "None"
}
}
}
//bloodtrail3
CreateArch "bloodstain" "bloodtrail3a"
{
+ObjProp "ModelName"
{
"" "blsplat2"
}
// Renderer->Render Type
+ObjProp "RenderType"
{
"" "Not Rendered"
}
}
+StimSource "bloodtrail3" "EarthStim"
{
Intensity 6
Propagator "Radius"
{
Life
{
"Flags" "Destroy Object on Completion"
"Period" 5000
"Max Firings" 1
"Intensity Slope" 0.00
}
Shape
{
"Radius" 20.00
"Flags" "[None]"
"Dispersion" "None"
}
}
}
//Metaproperties
CreateArch "MetaProperty" "ZombiePing"
CreateArch "ZombiePing" "Z-Zombie"
CreateArch "ZombiePing" "Z-FemZombie"
CreateArch "ZombiePing" "Z-FreshZombie"
CreateArch "Z-Zombie" "Z-ZombieNull"
+Receptron "Z-ZombieNull" "EarthStim"
{
Min 3
Max 5
Target Me
Effect "destroy_obj"
}
CreateArch "Z-FemZombie" "Z-FemZombieNull"
+Receptron "Z-FemZombieNull" "EarthStim"
{
Min 1
Max 3
Target Me
Effect "destroy_obj"
}
CreateArch "Z-FreshZombie" "Z-FreshZombieNull"
+Receptron "Z-FemZombieNull" "EarthStim"
{
Min 5
Max 7
Target Me
Effect "destroy_obj"
}
//Zombie emit helper object//check "target" gamesys numbers:
// bloodtrail1a for Zombie
// bloodtrail2a for FemZombie
// bloodtrail3a for FreshZombie
//is always the same in dark.gam but might be different in a custom gamesys
+Receptron "Zombie" "FireStim"
{
Min None
Max None
Target -2371
Agent Me
Effect "create_obj"
{
"Position" 0.00, 1.00, 0.00
"Heading" 0.00
"Pitch" 0.00
"Bank" 0.00
}
}
+Receptron "Zombie" "LightBright"
{
Min None
Max None
Target -2371
Agent Me
Effect "create_obj"
{
"Position" 0.00, 1.00, 0.00
"Heading" 0.00
"Pitch" 0.00
"Bank" 0.00
}
}
+Receptron "Zombie" "HolyStim"
{
Min None
Max None
Target -2371
Agent Me
Effect "create_obj"
{
"Position" 0.00, 1.00, 0.00
"Heading" 0.00
"Pitch" 0.00
"Bank" 0.00
}
}
+Receptron "FreshZombie" "FireStim"
{
Min None
Max None
Target -2267
Agent Me
Effect "create_obj"
{
"Position" 0.00, 1.00, 0.00
"Heading" 0.00
"Pitch" 0.00
"Bank" 0.00
}
}
+Receptron "FreshZombie" "LightBright"
{
Min None
Max None
Target -2267
Agent Me
Effect "create_obj"
{
"Position" 0.00, 1.00, 0.00
"Heading" 0.00
"Pitch" 0.00
"Bank" 0.00
}
}
+Receptron "FreshZombie" "HolyStim"
{
Min None
Max None
Target -2267
Agent Me
Effect "create_obj"
{
"Position" 0.00, 1.00, 0.00
"Heading" 0.00
"Pitch" 0.00
"Bank" 0.00
}
}
+Receptron "FemZombie" "FireStim"
{
Min None
Max None
Target -2370
Agent Me
Effect "create_obj"
{
"Position" 0.00, -1.00, 0.00
"Heading" 0.00
"Pitch" 0.00
"Bank" 0.00
}
}
+Receptron "FemZombie" "LightBright"
{
Min None
Max None
Target -2370
Agent Me
Effect "create_obj"
{
"Position" 0.00, -1.00, 0.00
"Heading" 0.00
"Pitch" 0.00
"Bank" 0.00
}
}
+Receptron "FemZombie" "HolyStim"
{
Min None
Max None
Target -2370
Agent Me
Effect "create_obj"
{
"Position" 0.00, -1.00, 0.00
"Heading" 0.00
"Pitch" 0.00
"Bank" 0.00
}
}
//Zombie Parts and rest axis
+ObjProp "ZomTorso" "PhysAttr"
{
"Gravity %" 100.00
"Mass" 55.00
"Density" 1.00
"Elasticity" 0.00
"Base Friction" 0.00
"COG Offset" 0.00, 0.00, 0.00
"Climbable Sides" "[None]"
"Flags" "[None]"
"Rotation Axes" "X Axis, Y Axis, Z Axis"
"Rest Axes" "+X Axis, +Z Axis, -X Axis, -Z Axis"
}
+ObjProp "ZomArm" "PhysAttr"
{
"Gravity %" 100.00
"Mass" 30.00
"Density" 1.00
"Elasticity" 1.00
"Base Friction" 0.00
"COG Offset" 0.00, 0.00, 0.00
"Climbable Sides" "[None]"
"Flags" "[None]"
"Rotation Axes" "X Axis, Y Axis, Z Axis"
"Rest Axes" "+X Axis, -Y Axis"
}
//ZombieParts
+Receptron "ZomHead" "EarthStim"
{
Min 1
Max 3
Target Me
Effect "set_model"
{
"Model Name" "zom2a"
}
}
++Receptron "ZomHead" "EarthStim"
{
Min 3
Max 5
Target Me
Effect "set_model"
{
"Model Name" "zom3a"
}
}
++Receptron "ZomHead" "EarthStim"
{
Min 5
Max 7
Target Me
Effect "set_model"
{
"Model Name" "zom1a"
}
}
++MetaProp "ZomArm" "Z-ZombieNull"
++MetaProp "ZomArm" "Z-FemZombienull"
+Receptron "ZomArm" "EarthStim"
{
Min 5
Max 7
Target Me
Effect "set_model"
{
"Model Name" "zom1f"
}
}
+Receptron "ZomArm+Hand" "EarthStim"
{
Min 1
Max 3
Target Me
Effect "set_model"
{
"Model Name" "zom2c"
}
}
++Receptron "ZomArm+Hand" "EarthStim"
{
Min 3
Max 5
Target Me
Effect "set_model"
{
"Model Name" "zom3c"
}
}
++Receptron "ZomArm+Hand" "EarthStim"
{
Min 5
Max 7
Target Me
Effect "set_model"
{
"Model Name" "zom1d"
}
}
+MetaProp "ZomFoot" "Z-ZombieNull"
++MetaProp "ZomFoot" "Z-FemZombienull"
++Receptron "ZomFoot" "EarthStim"
{
Min 5
Max 7
Target Me
Effect "set_model"
{
"Model Name" "zom1f"
}
}
+MetaProp "ZomHand" "Z-ZombieNull"
++Receptron "ZomHand" "EarthStim"
{
Min 5
Max 7
Target Me
Effect "set_model"
{
"Model Name" "zom1c"
}
}
++Receptron "ZomHand" "EarthStim"
{
Min 1
Max 3
Target Me
Effect "set_model"
{
"Model Name" "zom2d"
}
}
+MetaProp "ZomLeg" "Z-FemZombienull"
++MetaProp "ZomLeg" "Z-FreshZombieNull"
++Receptron "ZomLeg" "EarthStim"
{
Min 3
Max 5
Target Me
Effect "set_model"
{
"Model Name" "zom3e"
}
}
+Receptron "ZomLeg+Foot" "EarthStim"
{
Min 3
Max 5
Target Me
Effect "set_model"
{
"Model Name" "zom3f"
}
}
++Receptron "ZomLeg+Foot" "EarthStim"
{
Min 1
Max 3
Target Me
Effect "set_model"
{
"Model Name" "zom2e"
}
}
++Receptron "ZomLeg+Foot" "EarthStim"
{
Min 5
Max 7
Target Me
Effect "set_model"
{
"Model Name" "zom1f"
}
}
+Receptron "ZomPelvis+Thigh" "EarthStim"
{
Min 1
Max 3
Target Me
Effect "set_model"
{
"Model Name" "zom2e"
}
}
++Receptron "ZomPelvis+Thigh" "EarthStim"
{
Min 3
Max 5
Target Me
Effect "set_model"
{
"Model Name" "zom3d"
}
}
++Receptron "ZomPelvis+Thigh" "EarthStim"
{
Min 5
Max 7
Target Me
Effect "set_model"
{
"Model Name" "zom1e"
}
}
+Receptron "ZomTorso" "EarthStim"
{
Min 1
Max 3
Target Me
Effect "set_model"
{
"Model Name" "zom2b"
}
}
++Receptron "ZomTorso" "EarthStim"
{
Min 3
Max 5
Target Me
Effect "set_model"
{
"Model Name" "zom3b"
}
}
++Receptron "ZomTorso" "EarthStim"
{
Min 5
Max 7
Target Me
Effect "set_model"
{
"Model Name" "zom1b"
}
}
+MetaProp "ZomUpperArm" "Z-FemZombienull"
++MetaProp "ZomUpperArm" "Z-FreshZombieNull"
+Receptron "ZomUpperArm" "EarthStim"
{
Min 3
Max 5
Target Me
Effect "set_model"
{
"Model Name" "zom3f"
}
}
//other bloodtrails
+StimSource "bloodtrail1a" "EarthStim"
{
Intensity 2
Propagator "Radius"
{
Life
{
"Flags" "Destroy Object on Completion"
"Period" 5000
"Max Firings" 1
"Intensity Slope" 0.00
}
Shape
{
"Radius" 20.00
"Flags" "[None]"
"Dispersion" "None"
}
}
}
+StimSource "bloodtrail2a" "EarthStim"
{
Intensity 4
Propagator "Radius"
{
Life
{
"Flags" "Destroy Object on Completion"
"Period" 5000
"Max Firings" 1
"Intensity Slope" 0.00
}
Shape
{
"Radius" 20.00
"Flags" "[None]"
"Dispersion" "None"
}
}
}
+StimSource "bloodtrail3a" "EarthStim"
{
Intensity 2
Propagator "Radius"
{
Life
{
"Flags" "Destroy Object on Completion"
"Period" 5000
"Max Firings" 1
"Intensity Slope" 0.00
}
Shape
{
"Radius" 20.00
"Flags" "[None]"
"Dispersion" "None"
}
}
}