Actually the filename of the def file is not what makes it different. It's the contents of that file that's important.
All you need to do is reference the entity definition for the cyberdemon and make some modifications only to the key/value pairs you'd like to change.
Here's the cyberdemon's entity definition...
Code:
entityDef monster_boss_cyberdemon {
"inherit" "monster_default"
"editor_mins" "-90 -90 0"
"editor_maxs" "90 90 300"
"scriptobject" "monster_boss_cyberdemon"
"model" "monster_boss_cyberdemon"
"ragdoll" "monster_boss_cyberdemon"
"size" "100 100 300"
"use_aas" "aas_cyberdemon"
"team" "1"
"rank" "3"
"health" "4000"
"mass" "1000"
"def_projectile" "projectile_cyber_rocket"
"fov" "120"
"attack_cone" "120"
"attack_accuracy" "2"
"melee_range" "95"
"combat_chatter_min" "2"
"combat_chatter_max" "4"
"af_push_moveables" "1"
"def_kickdamage" "melee_cyberdemon_kick"
"big_monster" "1" // makes his bounding box non-solid to other monsters
"smokeParticleSystem1" "cyber_barrel_smoke"
"smokeParticleSystem2" "cyber_backfire1"
"smokeParticleSystem3" "cyber_backfire2"
"smokeParticleSystem4" "cyber_backfire3"
"smokeParticleSystem5" "cyber_mouth_fire"
"smokeParticleSystem6" "cyber_mouth_fire_L"
"smokeParticleSystem7" "cyber_mouth_fire_R"
"smokeParticleSystem8" "cyber_rfoot_dust"
"smokeParticleSystem9" "cyber_lfoot_dust"
"damage_zone head" "*Neck"
"damage_zone chest" "*Waist -*Rshldr -*Lshldr -*Neck"
"damage_zone left_arm" "*Lshldr"
"damage_zone right_arm" "*Rshldr"
"damage_scale head" "1"
"pain_threshold" "150"
"finalBoss" "1"
"focus_align_time" "0"
"head_focus_rate" "0.05"
"head_look" "1"
"bone_focus" "Barrel"
"look_min" "-90 -120 0"
"look_max" "25 120 0"
"look_joint Waist" "0.4 0.4 0.4"
"look_joint Chest" "0.4 0.4 0.4"
"look_joint Head" "0.2 0.2 0.2"
"look_joint Rshldr" "0.1 0.2 0.1"
"look_joint Relbow" "0.1 0.2 0.1"
"turn_rate" "75"
"ik_numLegs" "2"
"ik_footSize" "20"
"ik_minWaistAnkleDist" "50"
"ik_footUpTrace" "32"
"ik_footDownTrace" "128"
"ik_waist" "Body"
"ik_hip1" "Lupleg"
"ik_hip2" "Rupleg"
"ik_knee1" "Lloleg"
"ik_knee2" "Rloleg"
"ik_ankle1" "Lankle_r"
"ik_ankle2" "Rankle_r"
"ik_dir1" "Lknee"
"ik_dir2" "Rknee"
"ik_foot1" "cyber_lfoot_dust"
"ik_foot2" "cyber_rfoot_dust"
"snd_sight1" "monster_boss_cyberdemon_sight1"
"snd_chatter" "monster_boss_cyberdemon_chatter"
"snd_chatter_combat" "monster_boss_cyberdemon_chatter_combat"
"snd_pain" "monster_boss_cyberdemon_pain"
"snd_attackmissile" "monster_boss_cyberdemon_attackmissile"
"snd_footstep" "monster_boss_cyberdemon_step"
}
So, you'd have an entity definition like so...
Code:
entityDef monster_boss_cyberdemon_tough {
"inherit" "monster_boss_cyberdemon"
"health" "4000"
"def_projectile" "projectile_cyber_rocket_tough"
"finalBoss" "0"
}
entityDef projectile_cyber_rocket_tough {
"inherit" "projectile_cyber_rocket"
"def_damage" "damage_CyberrocketDirect_tough"
"def_splash_damage" "damage_CyberRocketSplash_tough"
}
entityDef damage_CyberrocketDirect_tough {
"inherit" "damage_CyberrocketDirect"
"damage" "80"
"push" "4000"
}
entityDef damage_CyberRocketSplash {
"inherit" "damage_CyberRocketSplash_tough"
"damage" "80"
"radius" "80"
"push" "10000"
}