📄 dog.htm
字号:
<html><head><title>dog.qc</title></head><body bgcolor="#C0F0D0">
<base target=examine>
<pre>
<i>/*
==============================================================================
DOG
==============================================================================
*/</i>
<b>$</b><a href="qc-mdl.htm#s_cd">cd</a> <b>/raid/quake/id1/models/dog</b>
<b>$</b><a href="qc-mdl.htm#s_origin">origin</a> <b>0 0 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>attack1 attack2 attack3 attack4 attack5 attack6 attack7 attack8</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>death1 death2 death3 death4 death5 death6 death7 death8 death9</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>deathb1 deathb2 deathb3 deathb4 deathb5 deathb6 deathb7 deathb8</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>deathb9</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>pain1 pain2 pain3 pain4 pain5 pain6</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>painb1 painb2 painb3 painb4 painb5 painb6 painb7 painb8 painb9 painb10</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>painb11 painb12 painb13 painb14 painb15 painb16</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>run1 run2 run3 run4 run5 run6 run7 run8 run9 run10 run11 run12</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>leap1 leap2 leap3 leap4 leap5 leap6 leap7 leap8 leap9</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>stand1 stand2 stand3 stand4 stand5 stand6 stand7 stand8 stand9</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>walk1 walk2 walk3 walk4 walk5 walk6 walk7 walk8</b>
<a href="qc-types.htm#void">void</a>() <a href="dog.htm#dog_leap1">dog_leap1</a>;
<a href="qc-types.htm#void">void</a>() <a href="dog.htm#dog_run1">dog_run1</a>;
<i>/*
================
dog_bite
================
*/</i>
<a href="qc-types.htm#void">void</a>() <b>dog_bite</b><a name="dog_bite">=</a>
{
<b>local</b> <a href="qc-types.htm#vector">vector</a> delta;
<b>local</b> <a href="qc-types.htm#float">float</a> ldmg;
<b>if</b> (!<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_enemy">enemy</a>)
<b>return</b>;
<a href="fight.htm#ai_charge">ai_charge</a>(10);
<b>if</b> (!<a href="combat.htm#CanDamage">CanDamage</a> (<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_enemy">enemy</a>, <a href="qc-glob.htm#self">self</a>))
<b>return</b>;
delta = <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>;
<b>if</b> (<a href="qc-built.htm#vlen">vlen</a>(delta) > 100)
<b>return</b>;
ldmg = (<a href="qc-built.htm#random">random</a>() + <a href="qc-built.htm#random">random</a>() + <a href="qc-built.htm#random">random</a>()) * 8;
<a href="combat.htm#T_Damage">T_Damage</a> (<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_enemy">enemy</a>, <a href="qc-glob.htm#self">self</a>, <a href="qc-glob.htm#self">self</a>, ldmg);
};
<a href="qc-types.htm#void">void</a>() <b>Dog_JumpTouch</b><a name="Dog_JumpTouch">=</a>
{
<b>local</b> <a href="qc-types.htm#float">float</a> ldmg;
<b>if</b> (<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_health">health</a> <= 0)
<b>return</b>;
<b>if</b> (<a href="qc-glob.htm#other">other</a>.<a href="qc-enty.htm#dot_takedamage">takedamage</a>)
{
<b>if</b> ( <a href="qc-built.htm#vlen">vlen</a>(<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_velocity">velocity</a>) > 300 )
{
ldmg = 10 + 10*<a href="qc-built.htm#random">random</a>();
<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>, ldmg);
}
}
<b>if</b> (!<a href="qc-built.htm#checkbottom">checkbottom</a>(<a href="qc-glob.htm#self">self</a>))
{
<b>if</b> (<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_flags">flags</a> & <a href="defs.htm#FL_ONGROUND">FL_ONGROUND</a>)
{ <i>// jump randomly to not get hung up</i>
<i>//dprint ("popjump\n");</i>
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_touch">touch</a> = <a href="subs.htm#SUB_Null">SUB_Null</a>;
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_think">think</a> = <a href="dog.htm#dog_leap1">dog_leap1</a>;
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_nextthink">nextthink</a> = <a href="qc-glob.htm#time">time</a> + 0.1;
<i>// self.velocity_x = (random() - 0.5) * 600;</i>
<i>// self.velocity_y = (random() - 0.5) * 600;</i>
<i>// self.velocity_z = 200;</i>
<i>// self.flags = self.flags - FL_ONGROUND;</i>
}
<b>return</b>; <i>// not on ground yet</i>
}
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_touch">touch</a> = <a href="subs.htm#SUB_Null">SUB_Null</a>;
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_think">think</a> = <a href="dog.htm#dog_run1">dog_run1</a>;
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_nextthink">nextthink</a> = <a href="qc-glob.htm#time">time</a> + 0.1;
};
<a href="qc-types.htm#void">void</a>() <b>dog_stand1</b><a name="dog_stand1">=</a>[ $stand1, dog_stand2 ] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>dog_stand2</b><a name="dog_stand2">=</a>[ $stand2, dog_stand3 ] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>dog_stand3</b><a name="dog_stand3">=</a>[ $stand3, dog_stand4 ] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>dog_stand4</b><a name="dog_stand4">=</a>[ $stand4, dog_stand5 ] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>dog_stand5</b><a name="dog_stand5">=</a>[ $stand5, dog_stand6 ] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>dog_stand6</b><a name="dog_stand6">=</a>[ $stand6, dog_stand7 ] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>dog_stand7</b><a name="dog_stand7">=</a>[ $stand7, dog_stand8 ] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>dog_stand8</b><a name="dog_stand8">=</a>[ $stand8, dog_stand9 ] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>dog_stand9</b><a name="dog_stand9">=</a>[ $stand9, <a href="dog.htm#dog_stand1">dog_stand1</a> ] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>dog_walk1</b><a name="dog_walk1">=</a>[ $walk1 , dog_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>"dog/idle.wav"</b>, 1, <a href="qc-defs.htm#ATTN_IDLE">ATTN_IDLE</a>);
<a href="ai.htm#ai_walk">ai_walk</a>(8);};
<a href="qc-types.htm#void">void</a>() <b>dog_walk2</b><a name="dog_walk2">=</a>[ $walk2 , dog_walk3 ] {<a href="ai.htm#ai_walk">ai_walk</a>(8);};
<a href="qc-types.htm#void">void</a>() <b>dog_walk3</b><a name="dog_walk3">=</a>[ $walk3 , dog_walk4 ] {<a href="ai.htm#ai_walk">ai_walk</a>(8);};
<a href="qc-types.htm#void">void</a>() <b>dog_walk4</b><a name="dog_walk4">=</a>[ $walk4 , dog_walk5 ] {<a href="ai.htm#ai_walk">ai_walk</a>(8);};
<a href="qc-types.htm#void">void</a>() <b>dog_walk5</b><a name="dog_walk5">=</a>[ $walk5 , dog_walk6 ] {<a href="ai.htm#ai_walk">ai_walk</a>(8);};
<a href="qc-types.htm#void">void</a>() <b>dog_walk6</b><a name="dog_walk6">=</a>[ $walk6 , dog_walk7 ] {<a href="ai.htm#ai_walk">ai_walk</a>(8);};
<a href="qc-types.htm#void">void</a>() <b>dog_walk7</b><a name="dog_walk7">=</a>[ $walk7 , dog_walk8 ] {<a href="ai.htm#ai_walk">ai_walk</a>(8);};
<a href="qc-types.htm#void">void</a>() <b>dog_walk8</b><a name="dog_walk8">=</a>[ $walk8 , <a href="dog.htm#dog_walk1">dog_walk1</a> ] {<a href="ai.htm#ai_walk">ai_walk</a>(8);};
<a href="qc-types.htm#void">void</a>() <b>dog_run1</b><a name="dog_run1">=</a>[ $run1 , dog_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>"dog/idle.wav"</b>, 1, <a href="qc-defs.htm#ATTN_IDLE">ATTN_IDLE</a>);
<a href="ai.htm#ai_run">ai_run</a>(16);};
<a href="qc-types.htm#void">void</a>() <b>dog_run2</b><a name="dog_run2">=</a>[ $run2 , dog_run3 ] {<a href="ai.htm#ai_run">ai_run</a>(32);};
<a href="qc-types.htm#void">void</a>() <b>dog_run3</b><a name="dog_run3">=</a>[ $run3 , dog_run4 ] {<a href="ai.htm#ai_run">ai_run</a>(32);};
<a href="qc-types.htm#void">void</a>() <b>dog_run4</b><a name="dog_run4">=</a>[ $run4 , dog_run5 ] {<a href="ai.htm#ai_run">ai_run</a>(20);};
<a href="qc-types.htm#void">void</a>() <b>dog_run5</b><a name="dog_run5">=</a>[ $run5 , dog_run6 ] {<a href="ai.htm#ai_run">ai_run</a>(64);};
<a href="qc-types.htm#void">void</a>() <b>dog_run6</b><a name="dog_run6">=</a>[ $run6 , dog_run7 ] {<a href="ai.htm#ai_run">ai_run</a>(32);};
<a href="qc-types.htm#void">void</a>() <b>dog_run7</b><a name="dog_run7">=</a>[ $run7 , dog_run8 ] {<a href="ai.htm#ai_run">ai_run</a>(16);};
<a href="qc-types.htm#void">void</a>() <b>dog_run8</b><a name="dog_run8">=</a>[ $run8 , dog_run9 ] {<a href="ai.htm#ai_run">ai_run</a>(32);};
<a href="qc-types.htm#void">void</a>() <b>dog_run9</b><a name="dog_run9">=</a>[ $run9 , dog_run10 ] {<a href="ai.htm#ai_run">ai_run</a>(32);};
<a href="qc-types.htm#void">void</a>() <b>dog_run10</b><a name="dog_run10">=</a>[ $run10 , dog_run11 ] {<a href="ai.htm#ai_run">ai_run</a>(20);};
<a href="qc-types.htm#void">void</a>() <b>dog_run11</b><a name="dog_run11">=</a>[ $run11 , dog_run12 ] {<a href="ai.htm#ai_run">ai_run</a>(64);};
<a href="qc-types.htm#void">void</a>() <b>dog_run12</b><a name="dog_run12">=</a>[ $run12 , <a href="dog.htm#dog_run1">dog_run1</a> ] {<a href="ai.htm#ai_run">ai_run</a>(32);};
<a href="qc-types.htm#void">void</a>() <b>dog_atta1</b><a name="dog_atta1">=</a>[ $attack1, dog_atta2 ] {<a href="fight.htm#ai_charge">ai_charge</a>(10);};
<a href="qc-types.htm#void">void</a>() <b>dog_atta2</b><a name="dog_atta2">=</a>[ $attack2, dog_atta3 ] {<a href="fight.htm#ai_charge">ai_charge</a>(10);};
<a href="qc-types.htm#void">void</a>() <b>dog_atta3</b><a name="dog_atta3">=</a>[ $attack3, dog_atta4 ] {<a href="fight.htm#ai_charge">ai_charge</a>(10);};
<a href="qc-types.htm#void">void</a>() <b>dog_atta4</b><a name="dog_atta4">=</a>[ $attack4, dog_atta5 ] {
<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/dattack1.wav"</b>, 1, <a href="qc-defs.htm#ATTN_NORM">ATTN_NORM</a>);
<a href="dog.htm#dog_bite">dog_bite</a>();};
<a href="qc-types.htm#void">void</a>() <b>dog_atta5</b><a name="dog_atta5">=</a>[ $attack5, dog_atta6 ] {<a href="fight.htm#ai_charge">ai_charge</a>(10);};
<a href="qc-types.htm#void">void</a>() <b>dog_atta6</b><a name="dog_atta6">=</a>[ $attack6, dog_atta7 ] {<a href="fight.htm#ai_charge">ai_charge</a>(10);};
<a href="qc-types.htm#void">void</a>() <b>dog_atta7</b><a name="dog_atta7">=</a>[ $attack7, dog_atta8 ] {<a href="fight.htm#ai_charge">ai_charge</a>(10);};
<a href="qc-types.htm#void">void</a>() <b>dog_atta8</b><a name="dog_atta8">=</a>[ $attack8, <a href="dog.htm#dog_run1">dog_run1</a> ] {<a href="fight.htm#ai_charge">ai_charge</a>(10);};
<a href="qc-types.htm#void">void</a>() <b>dog_leap1</b><a name="dog_leap1">=</a>[ $leap1, dog_leap2 ] {<a href="fight.htm#ai_face">ai_face</a>();};
<a href="qc-types.htm#void">void</a>() <b>dog_leap2</b><a name="dog_leap2">=</a>[ $leap2, dog_leap3 ]
{
<a href="fight.htm#ai_face">ai_face</a>();
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_touch">touch</a> = <a href="dog.htm#Dog_JumpTouch">Dog_JumpTouch</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>);
<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>.<a href="qc-enty.htm#dot_origin_z">origin_z</a> + 1;
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_velocity">velocity</a> = <a href="qc-built.htm#v_forward">v_forward</a> * 300 + '0 0 200';
<b>if</b> (<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_flags">flags</a> & <a href="defs.htm#FL_ONGROUND">FL_ONGROUND</a>)
<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_flags">flags</a> = <a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_flags">flags</a> - <a href="defs.htm#FL_ONGROUND">FL_ONGROUND</a>;
};
<a href="qc-types.htm#void">void</a>() <b>dog_leap3</b><a name="dog_leap3">=</a>[ $leap3, dog_leap4 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_leap4</b><a name="dog_leap4">=</a>[ $leap4, dog_leap5 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_leap5</b><a name="dog_leap5">=</a>[ $leap5, dog_leap6 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_leap6</b><a name="dog_leap6">=</a>[ $leap6, dog_leap7 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_leap7</b><a name="dog_leap7">=</a>[ $leap7, dog_leap8 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_leap8</b><a name="dog_leap8">=</a>[ $leap8, dog_leap9 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_leap9</b><a name="dog_leap9">=</a>[ $leap9, <a href="dog.htm#dog_leap9">dog_leap9</a> ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_pain1</b><a name="dog_pain1">=</a>[ $pain1 , dog_pain2 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_pain2</b><a name="dog_pain2">=</a>[ $pain2 , dog_pain3 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_pain3</b><a name="dog_pain3">=</a>[ $pain3 , dog_pain4 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_pain4</b><a name="dog_pain4">=</a>[ $pain4 , dog_pain5 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_pain5</b><a name="dog_pain5">=</a>[ $pain5 , dog_pain6 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_pain6</b><a name="dog_pain6">=</a>[ $pain6 , <a href="dog.htm#dog_run1">dog_run1</a> ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_painb1</b><a name="dog_painb1">=</a>[ $painb1 , dog_painb2 ] {};
<a href="qc-types.htm#void">void</a>() <b>dog_painb2</b><a name="dog_painb2">=</a>[ $painb2 , dog_painb3 ] {};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -