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

📄 enforcer.htm

📁 Quake 的 各 种 文 档 格 式 说 明
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<html><head><title>enforcer.qc</title></head><body bgcolor="#C0F0D0">
<base target=examine>
<pre>
<i>/*
==============================================================================

SOLDIER / PLAYER

==============================================================================
*/</i>


<b>$</b><a href="qc-mdl.htm#s_cd">cd</a> <b>/raid/quake/id1/models/enforcer</b>
<b>$</b><a href="qc-mdl.htm#s_origin">origin</a> <b>0 -6 24</b>
<b>$</b><a href="qc-mdl.htm#s_base">base</a> <b>base		</b>
<b>$</b><a href="qc-mdl.htm#s_skin">skin</a> <b>skin</b>

<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>stand1 stand2 stand3 stand4 stand5 stand6 stand7</b>

<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>walk1 walk2 walk3 walk4 walk5 walk6 walk7 walk8 walk9 walk10</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>walk11 walk12 walk13 walk14 walk15 walk16</b>

<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>run1 run2 run3 run4 run5 run6 run7 run8</b>

<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>attack1 attack2 attack3 attack4 attack5 attack6</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>attack7 attack8 attack9 attack10</b>

<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>death1 death2 death3 death4 death5 death6 death7 death8</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>death9 death10 death11 death12 death13 death14</b>

<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>fdeath1 fdeath2 fdeath3 fdeath4 fdeath5 fdeath6 fdeath7 fdeath8</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>fdeath9 fdeath10 fdeath11</b>

<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>paina1 paina2 paina3 paina4</b>

<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>painb1 painb2 painb3 painb4 painb5</b>

<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>painc1 painc2 painc3 painc4 painc5 painc6 painc7 painc8</b>

<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>paind1 paind2 paind3 paind4 paind5 paind6 paind7 paind8</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>paind9 paind10 paind11 paind12 paind13 paind14 paind15 paind16</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>paind17 paind18 paind19</b>


<a href="qc-types.htm#void">void</a>() <b>Laser_Touch</b><a name="Laser_Touch">=</a>
{
	<b>local</b> <a href="qc-types.htm#vector">vector</a> org;
	
	<b>if</b> (<a href="qc-glob.htm#other">other</a> == <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_owner">owner</a>)
		<b>return</b>;		<i>// don't explode on owner</i>

	<b>if</b> (<a href="qc-built.htm#pointcontents">pointcontents</a>(<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_origin">origin</a>) == <a href="qc-defs.htm#CONTENT_SKY">CONTENT_SKY</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#sound">sound</a> (<a href="qc-glob.htm#self">self</a>, <a href="qc-defs.htm#CHAN_WEAPON">CHAN_WEAPON</a>, <b>"enforcer/enfstop.wav"</b>, 1, <a href="qc-defs.htm#ATTN_STATIC">ATTN_STATIC</a>);
	org = <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_origin">origin</a> - 8*<a href="qc-built.htm#normalize">normalize</a>(<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_velocity">velocity</a>);

	<b>if</b> (<a href="qc-glob.htm#other">other</a>.<a href="qc-enty.htm#dot_health">health</a>)
	{
		<a href="weapons.htm#SpawnBlood">SpawnBlood</a> (org, <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_velocity">velocity</a>*0.2, 15);
		<a href="combat.htm#T_Damage">T_Damage</a> (<a href="qc-glob.htm#other">other</a>, <a href="qc-glob.htm#self">self</a>, <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_owner">owner</a>, 15);
	}
	<b>else</b>
	{
		<a href="qc-netf.htm#WriteByte">WriteByte</a> (<a href="qc-net.htm#MSG_BROADCAST">MSG_BROADCAST</a>, <a href="qc-net.htm#SVC_TEMPENTITY">SVC_TEMPENTITY</a>);
		<a href="qc-netf.htm#WriteByte">WriteByte</a> (<a href="qc-net.htm#MSG_BROADCAST">MSG_BROADCAST</a>, <a href="defs.htm#TE_GUNSHOT">TE_GUNSHOT</a>);
		<a href="qc-netf.htm#WriteCoord">WriteCoord</a> (<a href="qc-net.htm#MSG_BROADCAST">MSG_BROADCAST</a>, org_x);
		<a href="qc-netf.htm#WriteCoord">WriteCoord</a> (<a href="qc-net.htm#MSG_BROADCAST">MSG_BROADCAST</a>, org_y);
		<a href="qc-netf.htm#WriteCoord">WriteCoord</a> (<a href="qc-net.htm#MSG_BROADCAST">MSG_BROADCAST</a>, org_z);
	}
	
	<a href="qc-built.htm#remove">remove</a>(<a href="qc-glob.htm#self">self</a>);	
};

<a href="qc-types.htm#void">void</a>(<a href="qc-types.htm#vector">vector</a> org, <a href="qc-types.htm#vector">vector</a> vec) <b>LaunchLaser</b><a name="LaunchLaser">=</a>
{
	<b>local</b>	<a href="qc-types.htm#vector">vector</a>	vec;
		
	<b>if</b> (<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_classname">classname</a> == <b>"monster_enforcer"</b>)
		<a href="qc-built.htm#sound">sound</a> (<a href="qc-glob.htm#self">self</a>, <a href="qc-defs.htm#CHAN_WEAPON">CHAN_WEAPON</a>, <b>"enforcer/enfire.wav"</b>, 1, <a href="qc-defs.htm#ATTN_NORM">ATTN_NORM</a>);

	vec = <a href="qc-built.htm#normalize">normalize</a>(vec);
	
	<a href="defs.htm#newmis">newmis</a> = <a href="qc-built.htm#spawn">spawn</a>();
	<a href="defs.htm#newmis">newmis</a>.<a href="qc-enty.htm#dot_owner">owner</a> = <a href="qc-glob.htm#self">self</a>;
	<a href="defs.htm#newmis">newmis</a>.<a href="qc-enty.htm#dot_movetype">movetype</a> = <a href="qc-defs.htm#MOVETYPE_FLY">MOVETYPE_FLY</a>;
	<a href="defs.htm#newmis">newmis</a>.<a href="qc-enty.htm#dot_solid">solid</a> = <a href="qc-defs.htm#SOLID_BBOX">SOLID_BBOX</a>;
	<a href="defs.htm#newmis">newmis</a>.<a href="qc-enty.htm#dot_effects">effects</a> = <a href="qc-defs.htm#EF_DIMLIGHT">EF_DIMLIGHT</a>;

	<a href="qc-built.htm#setmodel">setmodel</a> (<a href="defs.htm#newmis">newmis</a>, <b>"progs/laser.mdl"</b>);
	<a href="qc-built.htm#setsize">setsize</a> (<a href="defs.htm#newmis">newmis</a>, '0 0 0', '0 0 0');		

	<a href="qc-built.htm#setorigin">setorigin</a> (<a href="defs.htm#newmis">newmis</a>, org);

	<a href="defs.htm#newmis">newmis</a>.<a href="qc-enty.htm#dot_velocity">velocity</a> = vec * 600;
	<a href="defs.htm#newmis">newmis</a>.<a href="qc-enty.htm#dot_angles">angles</a> = <a href="qc-built.htm#vectoangles">vectoangles</a>(<a href="defs.htm#newmis">newmis</a>.<a href="qc-enty.htm#dot_velocity">velocity</a>);

	<a href="defs.htm#newmis">newmis</a>.<a href="qc-enty.htm#dot_nextthink">nextthink</a> = <a href="qc-glob.htm#time">time</a> + 5;
	<a href="defs.htm#newmis">newmis</a>.<a href="qc-enty.htm#dot_think">think</a> = <a href="subs.htm#SUB_Remove">SUB_Remove</a>;
	<a href="defs.htm#newmis">newmis</a>.<a href="qc-enty.htm#dot_touch">touch</a> = <a href="enforcer.htm#Laser_Touch">Laser_Touch</a>;
};



<a href="qc-types.htm#void">void</a>() <b>enforcer_fire</b><a name="enforcer_fire">=</a>
{
	<b>local</b> <a href="qc-types.htm#vector">vector</a> org;

	<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_effects">effects</a> = <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_effects">effects</a> | <a href="qc-defs.htm#EF_MUZZLEFLASH">EF_MUZZLEFLASH</a>;
	<a href="qc-built.htm#makevectors">makevectors</a> (<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_angles">angles</a>);
	
	org = <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_origin">origin</a> + <a href="qc-built.htm#v_forward">v_forward</a> * 30 + <a href="qc-built.htm#v_right">v_right</a> * 8.5 + '0 0 16';

	<a href="enforcer.htm#LaunchLaser">LaunchLaser</a>(org, <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>);
};

<i>//============================================================================</i>

<a href="qc-types.htm#void">void</a>() <b>enf_stand1</b><a name="enf_stand1">=</a>[	$stand1,	enf_stand2	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_stand2</b><a name="enf_stand2">=</a>[	$stand2,	enf_stand3	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_stand3</b><a name="enf_stand3">=</a>[	$stand3,	enf_stand4	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_stand4</b><a name="enf_stand4">=</a>[	$stand4,	enf_stand5	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_stand5</b><a name="enf_stand5">=</a>[	$stand5,	enf_stand6	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_stand6</b><a name="enf_stand6">=</a>[	$stand6,	enf_stand7	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_stand7</b><a name="enf_stand7">=</a>[	$stand7,	<a href="enforcer.htm#enf_stand1">enf_stand1</a>	] {<a href="ai.htm#ai_stand">ai_stand</a>();};

<a href="qc-types.htm#void">void</a>() <b>enf_walk1</b><a name="enf_walk1">=</a>[	$walk1 ,	enf_walk2	] {
<b>if</b> (<a href="qc-built.htm#random">random</a>() &lt; 0.2)
	<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>"enforcer/idle1.wav"</b>, 1, <a href="qc-defs.htm#ATTN_IDLE">ATTN_IDLE</a>);
<a href="ai.htm#ai_walk">ai_walk</a>(2);};
<a href="qc-types.htm#void">void</a>() <b>enf_walk2</b><a name="enf_walk2">=</a>[	$walk2 ,	enf_walk3	] {<a href="ai.htm#ai_walk">ai_walk</a>(4);};
<a href="qc-types.htm#void">void</a>() <b>enf_walk3</b><a name="enf_walk3">=</a>[	$walk3 ,	enf_walk4	] {<a href="ai.htm#ai_walk">ai_walk</a>(4);};
<a href="qc-types.htm#void">void</a>() <b>enf_walk4</b><a name="enf_walk4">=</a>[	$walk4 ,	enf_walk5	] {<a href="ai.htm#ai_walk">ai_walk</a>(3);};
<a href="qc-types.htm#void">void</a>() <b>enf_walk5</b><a name="enf_walk5">=</a>[	$walk5 ,	enf_walk6	] {<a href="ai.htm#ai_walk">ai_walk</a>(1);};
<a href="qc-types.htm#void">void</a>() <b>enf_walk6</b><a name="enf_walk6">=</a>[	$walk6 ,	enf_walk7	] {<a href="ai.htm#ai_walk">ai_walk</a>(2);};
<a href="qc-types.htm#void">void</a>() <b>enf_walk7</b><a name="enf_walk7">=</a>[	$walk7 ,	enf_walk8	] {<a href="ai.htm#ai_walk">ai_walk</a>(2);};
<a href="qc-types.htm#void">void</a>() <b>enf_walk8</b><a name="enf_walk8">=</a>[	$walk8 ,	enf_walk9	] {<a href="ai.htm#ai_walk">ai_walk</a>(1);};
<a href="qc-types.htm#void">void</a>() <b>enf_walk9</b><a name="enf_walk9">=</a>[	$walk9 ,	enf_walk10	] {<a href="ai.htm#ai_walk">ai_walk</a>(2);};
<a href="qc-types.htm#void">void</a>() <b>enf_walk10</b><a name="enf_walk10">=</a>[	$walk10,	enf_walk11	] {<a href="ai.htm#ai_walk">ai_walk</a>(4);};
<a href="qc-types.htm#void">void</a>() <b>enf_walk11</b><a name="enf_walk11">=</a>[	$walk11,	enf_walk12	] {<a href="ai.htm#ai_walk">ai_walk</a>(4);};
<a href="qc-types.htm#void">void</a>() <b>enf_walk12</b><a name="enf_walk12">=</a>[	$walk12,	enf_walk13	] {<a href="ai.htm#ai_walk">ai_walk</a>(1);};
<a href="qc-types.htm#void">void</a>() <b>enf_walk13</b><a name="enf_walk13">=</a>[	$walk13,	enf_walk14	] {<a href="ai.htm#ai_walk">ai_walk</a>(2);};
<a href="qc-types.htm#void">void</a>() <b>enf_walk14</b><a name="enf_walk14">=</a>[	$walk14,	enf_walk15	] {<a href="ai.htm#ai_walk">ai_walk</a>(3);};
<a href="qc-types.htm#void">void</a>() <b>enf_walk15</b><a name="enf_walk15">=</a>[	$walk15,	enf_walk16	] {<a href="ai.htm#ai_walk">ai_walk</a>(4);};
<a href="qc-types.htm#void">void</a>() <b>enf_walk16</b><a name="enf_walk16">=</a>[	$walk16,	<a href="enforcer.htm#enf_walk1">enf_walk1</a>	] {<a href="ai.htm#ai_walk">ai_walk</a>(2);};

<a href="qc-types.htm#void">void</a>() <b>enf_run1</b><a name="enf_run1">=</a>[	$run1  ,	enf_run2	] {
<b>if</b> (<a href="qc-built.htm#random">random</a>() &lt; 0.2)
	<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>"enforcer/idle1.wav"</b>, 1, <a href="qc-defs.htm#ATTN_IDLE">ATTN_IDLE</a>);
<a href="ai.htm#ai_run">ai_run</a>(18);};
<a href="qc-types.htm#void">void</a>() <b>enf_run2</b><a name="enf_run2">=</a>[	$run2  ,	enf_run3	] {<a href="ai.htm#ai_run">ai_run</a>(14);};
<a href="qc-types.htm#void">void</a>() <b>enf_run3</b><a name="enf_run3">=</a>[	$run3  ,	enf_run4	] {<a href="ai.htm#ai_run">ai_run</a>(7);};
<a href="qc-types.htm#void">void</a>() <b>enf_run4</b><a name="enf_run4">=</a>[	$run4  ,	enf_run5	] {<a href="ai.htm#ai_run">ai_run</a>(12);};
<a href="qc-types.htm#void">void</a>() <b>enf_run5</b><a name="enf_run5">=</a>[	$run5  ,	enf_run6	] {<a href="ai.htm#ai_run">ai_run</a>(14);};
<a href="qc-types.htm#void">void</a>() <b>enf_run6</b><a name="enf_run6">=</a>[	$run6  ,	enf_run7	] {<a href="ai.htm#ai_run">ai_run</a>(14);};
<a href="qc-types.htm#void">void</a>() <b>enf_run7</b><a name="enf_run7">=</a>[	$run7  ,	enf_run8	] {<a href="ai.htm#ai_run">ai_run</a>(7);};
<a href="qc-types.htm#void">void</a>() <b>enf_run8</b><a name="enf_run8">=</a>[	$run8  ,	<a href="enforcer.htm#enf_run1">enf_run1</a>	] {<a href="ai.htm#ai_run">ai_run</a>(11);};

<a href="qc-types.htm#void">void</a>() <b>enf_atk1</b><a name="enf_atk1">=</a>[	$attack1,	enf_atk2	] {<a href="fight.htm#ai_face">ai_face</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_atk2</b><a name="enf_atk2">=</a>[	$attack2,	enf_atk3	] {<a href="fight.htm#ai_face">ai_face</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_atk3</b><a name="enf_atk3">=</a>[	$attack3,	enf_atk4	] {<a href="fight.htm#ai_face">ai_face</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_atk4</b><a name="enf_atk4">=</a>[	$attack4,	enf_atk5	] {<a href="fight.htm#ai_face">ai_face</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_atk5</b><a name="enf_atk5">=</a>[	$attack5,	enf_atk6	] {<a href="fight.htm#ai_face">ai_face</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_atk6</b><a name="enf_atk6">=</a>[	$attack6,	enf_atk7	] {<a href="enforcer.htm#enforcer_fire">enforcer_fire</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_atk7</b><a name="enf_atk7">=</a>[	$attack7,	enf_atk8	] {<a href="fight.htm#ai_face">ai_face</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_atk8</b><a name="enf_atk8">=</a>[	$attack8,	enf_atk9	] {<a href="fight.htm#ai_face">ai_face</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_atk9</b><a name="enf_atk9">=</a>[	$attack5,	enf_atk10	] {<a href="fight.htm#ai_face">ai_face</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_atk10</b><a name="enf_atk10">=</a>[	$attack6,	enf_atk11	] {<a href="enforcer.htm#enforcer_fire">enforcer_fire</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_atk11</b><a name="enf_atk11">=</a>[	$attack7,	enf_atk12	] {<a href="fight.htm#ai_face">ai_face</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_atk12</b><a name="enf_atk12">=</a>[	$attack8,	enf_atk13	] {<a href="fight.htm#ai_face">ai_face</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_atk13</b><a name="enf_atk13">=</a>[	$attack9,	enf_atk14	] {<a href="fight.htm#ai_face">ai_face</a>();};
<a href="qc-types.htm#void">void</a>() <b>enf_atk14</b><a name="enf_atk14">=</a>[	$attack10,	<a href="enforcer.htm#enf_run1">enf_run1</a>	] {<a href="fight.htm#ai_face">ai_face</a>();
<a href="subs.htm#SUB_CheckRefire">SUB_CheckRefire</a> (<a href="enforcer.htm#enf_atk1">enf_atk1</a>);
};

<a href="qc-types.htm#void">void</a>() <b>enf_paina1</b><a name="enf_paina1">=</a>[	$paina1,	enf_paina2	] {};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -