⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dog.htm

📁 Quake 的 各 种 文 档 格 式 说 明
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<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>() &gt; 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> &lt; -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>() &gt; 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 &gt; <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 &lt; <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 &lt; 80)
		return FALSE;
		
	<b>if</b> (d &gt; 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 + -