📄 enforcer.htm
字号:
<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>() < 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>() < 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 + -