quake4-sdk/Definition File Examples/monster_slimy_lobber.def

112 lines
4.0 KiB
Modula-2
Raw Normal View History

2007-06-15 00:00:00 +00:00
//------------------------------------------------
// SDK Example Content
// Slimy Lobber
//
// Compare the entries in this def file to those of the monster_slimy_transfer
// (def/ai/monster_slimy_transfer.def) as an example of how to implement new
// monsters and monster attacks using only existing AI code.
//
// aweldon Nov 05
//------------------------------------------------
model model_monster_slimy_lobber
{
inherit model_monster_slimy_transfer // Use Slimy Transfer mesh and anims as base.
// Lobbing anim -----------------------------------------------------------------------------------------
anim lob models/monsters/slimy_transfer/attack01.md5anim // Use existing melee anim
{
frame 1,13,27,36,57 sound snd_flesh // Use pre-existing sounds
frame 19 ai_attack melee r_wrist // Throw at appropriate frame
frame 19 fx fx_lob r_wrist
}
}
entityDef damage_lobber_grenade
{
// These values are copied from the monster_gunner .def file and seem to work ok.
"inherit" "damage_monster_base"
"knockback" "0"
"damage" "60"
"push" "10000"
"tv_scale" "0.7"
"tv_time" "4200"
}
entityDef damage_lobber_grenade_splash
{
// These values are copied from the monster_gunner .def file and seem to work ok.
"inherit" "damage_monster_base"
"knockback" "0"
"damage" "80"
"radius" "200"
"push" "10000"
"tv_scale" "0.7"
"tv_time" "4200"
}
entityDef projectile_lobber_bit
{
"inherit" "projectile_gunner_grenade" // inherit defaults from the Gunner grenade
"fuse" "3" //shorten the fuse
"detonate_on_actor" "1" // Explode when hitting directly
"model" "models/gibs/head_pork.lwo" // New 'grenade' model (brraaaaaaainnnnns...)
"fx_fly" "effects/impact/impact_flesh.fx" // When flying, play the impact effect. Admittedly not the best effect for this purpose.
"fx_detonate" "effects/monsters/gib.fx" // Use the splatty gib effect for 'explosions'
"fx_impact" "effects/monsters/gib.fx" // Use the splatty gib effect for 'explosions'
"def_splash_damage" "damage_lobber_grenade_splash" // Use damage def specified above
"def_damage" "damage_lobber_grenade" // Use damage def specified above
"speed" "500" // Adjust speed
"angular_velocity" "0 -900 200" // Give a nudge up and towards center.
"bounce" "15" // Make with the bouncing
"contact_friction" "1" // Reduced friction for better bounce behavior
"delay_splash" "0" // Splash damage effects are instantaneous
"snd_ricochet" "failedtransfer_flesh" // Fleshy sound on bounce
}
// New EntityDef
entityDef monster_slimy_lobber
{
"inherit" "monster_slimy_transfer" // Inherit from the Slimy Transfer
// --------------------------------- Actions ------------------------------------
"action_meleeAttack" "1" // Leave this enabled, we'll replace it with our lobbing attack
"action_meleeAttack_anim" "lob" // 'New' anim on melee attack
"action_meleeAttack_minrange" "80" // Minimum distance (in units) for attack.
"action_meleeAttack_maxrange" "512" // Maximum distance (in units) for attack.
"action_meleeAttack_blendFrames" "6" // Blend frames on attack
"action_meleeAttack_rate" ".5" // Rate of attack
"action_vomitAttack" "1" // Keep the vomit attack enabled
"action_vomitAttack_minrange" "0" // Minimum distance (in units) for attack.
"action_vomitAttack_maxrange" "128" // Maximum distance (in units) for attack.
// --------------------------------- Body ------------------------------------
"model" "model_monster_slimy_lobber" // Use our new ModelDef from above
// --------------------------------- Combat ----------------------------------
"health" "75" // Beef these guys up a bit
"painThreshold" "40" // Can take more damage before playing pain anims
"def_attack_melee" "projectile_lobber_bit" // Change melee attack to our new projectile
"fx_lob" "effects/impact/impact_flesh.fx" // Effect to play when lobbing (added on frame commands above)
}