📄 dog.htm
字号:
<a href="qc-types.htm#void">void</a>() <b>dog_painb3</b><a name="dog_painb3">=</a>[ $painb3 , dog_painb4 ] {<a href="ai.htm#ai_pain">ai_pain</a>(4);};
<a href="qc-types.htm#void">void</a>() <b>dog_painb4</b><a name="dog_painb4">=</a>[ $painb4 , dog_painb5 ] {<a href="ai.htm#ai_pain">ai_pain</a>(12);};
<a href="qc-types.htm#void">void</a>() <b>dog_painb5</b><a name="dog_painb5">=</a>[ $painb5 , dog_painb6 ] {<a href="ai.htm#ai_pain">ai_pain</a>(12);};
<a href="qc-types.htm#void">void</a>() <b>dog_painb6</b><a name="dog_painb6">=</a>[ $painb6 , dog_painb7 ] {<a href="ai.htm#ai_pain">ai_pain</a>(2);};
<a href="qc-types.htm#void">void</a>() <b>dog_painb7</b><a name="dog_painb7">=</a>[ $painb7 , dog_painb8 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_painb8</b><a name="dog_painb8">=</a>[ $painb8 , dog_painb9 ] {<a href="ai.htm#ai_pain">ai_pain</a>(4);};
<a href="qc-types.htm#void">void</a>() <b>dog_painb9</b><a name="dog_painb9">=</a>[ $painb9 , dog_painb10 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_painb10</b><a name="dog_painb10">=</a>[ $painb10 , dog_painb11 ] {<a href="ai.htm#ai_pain">ai_pain</a>(10);};
<a href="qc-types.htm#void">void</a>() <b>dog_painb11</b><a name="dog_painb11">=</a>[ $painb11 , dog_painb12 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_painb12</b><a name="dog_painb12">=</a>[ $painb12 , dog_painb13 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_painb13</b><a name="dog_painb13">=</a>[ $painb13 , dog_painb14 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_painb14</b><a name="dog_painb14">=</a>[ $painb14 , dog_painb15 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_painb15</b><a name="dog_painb15">=</a>[ $painb15 , dog_painb16 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_painb16</b><a name="dog_painb16">=</a>[ $painb16 , <a href="dog.htm#dog_run1">dog_run1</a> ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_pain</b><a name="dog_pain">=</a>
{
<a href="qc-built.htm#sound">sound</a> (<a href="qc-glob.htm#self">self</a>, <a href="qc-defs.htm#CHAN_VOICE">CHAN_VOICE</a>, <b>"dog/dpain1.wav"</b>, 1, <a href="qc-defs.htm#ATTN_NORM">ATTN_NORM</a>);
<b>if</b> (<a href="qc-built.htm#random">random</a>() > 0.5)
<a href="dog.htm#dog_pain1">dog_pain1</a> ();
<b>else</b>
<a href="dog.htm#dog_painb1">dog_painb1</a> ();
};
<a href="qc-types.htm#void">void</a>() <b>dog_die1</b><a name="dog_die1">=</a>[ $death1, dog_die2 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_die2</b><a name="dog_die2">=</a>[ $death2, dog_die3 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_die3</b><a name="dog_die3">=</a>[ $death3, dog_die4 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_die4</b><a name="dog_die4">=</a>[ $death4, dog_die5 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_die5</b><a name="dog_die5">=</a>[ $death5, dog_die6 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_die6</b><a name="dog_die6">=</a>[ $death6, dog_die7 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_die7</b><a name="dog_die7">=</a>[ $death7, dog_die8 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_die8</b><a name="dog_die8">=</a>[ $death8, dog_die9 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_die9</b><a name="dog_die9">=</a>[ $death9, <a href="dog.htm#dog_die9">dog_die9</a> ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_dieb1</b><a name="dog_dieb1">=</a>[ $deathb1, dog_dieb2 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_dieb2</b><a name="dog_dieb2">=</a>[ $deathb2, dog_dieb3 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_dieb3</b><a name="dog_dieb3">=</a>[ $deathb3, dog_dieb4 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_dieb4</b><a name="dog_dieb4">=</a>[ $deathb4, dog_dieb5 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_dieb5</b><a name="dog_dieb5">=</a>[ $deathb5, dog_dieb6 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_dieb6</b><a name="dog_dieb6">=</a>[ $deathb6, dog_dieb7 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_dieb7</b><a name="dog_dieb7">=</a>[ $deathb7, dog_dieb8 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_dieb8</b><a name="dog_dieb8">=</a>[ $deathb8, dog_dieb9 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_dieb9</b><a name="dog_dieb9">=</a>[ $deathb9, <a href="dog.htm#dog_dieb9">dog_dieb9</a> ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_die</b><a name="dog_die">=</a>
{
<i>// check for gib</i>
<b>if</b> (<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_health">health</a> < -35)
{
<a href="qc-built.htm#sound">sound</a> (<a href="qc-glob.htm#self">self</a>, <a href="qc-defs.htm#CHAN_VOICE">CHAN_VOICE</a>, <b>"player/udeath.wav"</b>, 1, <a href="qc-defs.htm#ATTN_NORM">ATTN_NORM</a>);
<a href="player.htm#ThrowGib">ThrowGib</a> (<b>"progs/gib3.mdl"</b>, <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_health">health</a>);
<a href="player.htm#ThrowGib">ThrowGib</a> (<b>"progs/gib3.mdl"</b>, <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_health">health</a>);
<a href="player.htm#ThrowGib">ThrowGib</a> (<b>"progs/gib3.mdl"</b>, <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_health">health</a>);
<a href="player.htm#ThrowHead">ThrowHead</a> (<b>"progs/h_dog.mdl"</b>, <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_health">health</a>);
<b>return</b>;
}
<i>// regular death</i>
<a href="qc-built.htm#sound">sound</a> (<a href="qc-glob.htm#self">self</a>, <a href="qc-defs.htm#CHAN_VOICE">CHAN_VOICE</a>, <b>"dog/ddeath.wav"</b>, 1, <a href="qc-defs.htm#ATTN_NORM">ATTN_NORM</a>);
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_solid">solid</a> = <a href="qc-defs.htm#SOLID_NOT">SOLID_NOT</a>;
<b>if</b> (<a href="qc-built.htm#random">random</a>() > 0.5)
<a href="dog.htm#dog_die1">dog_die1</a> ();
<b>else</b>
<a href="dog.htm#dog_dieb1">dog_dieb1</a> ();
};
<i>//============================================================================</i>
<i>/*
==============
CheckDogMelee
Returns TRUE if a melee attack would hit right now
==============
*/</i>
<a href="qc-types.htm#float">float</a>() <b>CheckDogMelee</b><a name="CheckDogMelee">=</a>
{
<b>if</b> (enemy_range == <a href="defs.htm#RANGE_MELEE">RANGE_MELEE</a>)
{ <i>// FIXME: check canreach</i>
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_attack_state">attack_state</a> = <a href="defs.htm#AS_MELEE">AS_MELEE</a>;
return TRUE;
}
return FALSE;
};
<i>/*
==============
CheckDogJump
==============
*/</i>
<a href="qc-types.htm#float">float</a>() <b>CheckDogJump</b><a name="CheckDogJump">=</a>
{
<b>local</b> <a href="qc-types.htm#vector">vector</a> dist;
<b>local</b> <a href="qc-types.htm#float">float</a> d;
<b>if</b> (<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_origin_z">origin_z</a> + <a href="qc-glob.htm#self">self</a>.mins_z > <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_enemy">enemy</a>.<a href="qc-enty.htm#dot_origin_z">origin_z</a> + <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_enemy">enemy</a>.mins_z
+ 0.75 * <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_enemy">enemy</a>.<a href="qc-enty.htm#dot_size_z">size_z</a>)
return FALSE;
<b>if</b> (<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_origin_z">origin_z</a> + <a href="qc-glob.htm#self">self</a>.maxs_z < <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_enemy">enemy</a>.<a href="qc-enty.htm#dot_origin_z">origin_z</a> + <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_enemy">enemy</a>.mins_z
+ 0.25 * <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_enemy">enemy</a>.<a href="qc-enty.htm#dot_size_z">size_z</a>)
return FALSE;
dist = <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_enemy">enemy</a>.<a href="qc-enty.htm#dot_origin">origin</a> - <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_origin">origin</a>;
dist_z = 0;
d = <a href="qc-built.htm#vlen">vlen</a>(dist);
<b>if</b> (d < 80)
return FALSE;
<b>if</b> (d > 150)
return FALSE;
return TRUE;
};
<a href="qc-types.htm#float">float</a>() <b>DogCheckAttack</b><a name="DogCheckAttack">=</a>
{
<b>local</b> <a href="qc-types.htm#vector">vector</a> vec;
<i>// if close enough for slashing, go for it</i>
<b>if</b> (<a href="dog.htm#CheckDogMelee">CheckDogMelee</a> ())
{
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_attack_state">attack_state</a> = <a href="defs.htm#AS_MELEE">AS_MELEE</a>;
return TRUE;
}
<b>if</b> (<a href="dog.htm#CheckDogJump">CheckDogJump</a> ())
{
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_attack_state">attack_state</a> = <a href="defs.htm#AS_MISSILE">AS_MISSILE</a>;
return TRUE;
}
return FALSE;
};
<i>//===========================================================================</i>
<i>/*QUAKED monster_dog (1 0 0) (-32 -32 -24) (32 32 40) Ambush
*/</i>
<a href="qc-types.htm#void">void</a>() <b>monster_dog</b><a name="monster_dog">=</a>
{
<b>if</b> (<a href="qc-glob.htm#deathmatch">deathmatch</a>)
{
<a href="qc-built.htm#remove">remove</a>(<a href="qc-glob.htm#self">self</a>);
<b>return</b>;
}
<a href="qc-built.htm#precache_model">precache_model</a> (<b>"progs/h_dog.mdl"</b>);
<a href="qc-built.htm#precache_model">precache_model</a> (<b>"progs/dog.mdl"</b>);
<a href="qc-built.htm#precache_sound">precache_sound</a> (<b>"dog/dattack1.wav"</b>);
<a href="qc-built.htm#precache_sound">precache_sound</a> (<b>"dog/ddeath.wav"</b>);
<a href="qc-built.htm#precache_sound">precache_sound</a> (<b>"dog/dpain1.wav"</b>);
<a href="qc-built.htm#precache_sound">precache_sound</a> (<b>"dog/dsight.wav"</b>);
<a href="qc-built.htm#precache_sound">precache_sound</a> (<b>"dog/idle.wav"</b>);
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_solid">solid</a> = <a href="qc-defs.htm#SOLID_SLIDEBOX">SOLID_SLIDEBOX</a>;
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_movetype">movetype</a> = <a href="qc-defs.htm#MOVETYPE_STEP">MOVETYPE_STEP</a>;
<a href="qc-built.htm#setmodel">setmodel</a> (<a href="qc-glob.htm#self">self</a>, <b>"progs/dog.mdl"</b>);
<a href="qc-built.htm#setsize">setsize</a> (<a href="qc-glob.htm#self">self</a>, '-32 -32 -24', '32 32 40');
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_health">health</a> = 25;
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_th_stand">th_stand</a> = <a href="dog.htm#dog_stand1">dog_stand1</a>;
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_th_walk">th_walk</a> = <a href="dog.htm#dog_walk1">dog_walk1</a>;
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_th_run">th_run</a> = <a href="dog.htm#dog_run1">dog_run1</a>;
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_th_pain">th_pain</a> = <a href="dog.htm#dog_pain">dog_pain</a>;
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_th_die">th_die</a> = <a href="dog.htm#dog_die">dog_die</a>;
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_th_melee">th_melee</a> = <a href="dog.htm#dog_atta1">dog_atta1</a>;
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_th_missile">th_missile</a> = <a href="dog.htm#dog_leap1">dog_leap1</a>;
<a href="monsters.htm#walkmonster_start">walkmonster_start</a>();
};
</pre></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -