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

📄 demon.htm

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

DEMON

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


<b>$</b><a href="qc-mdl.htm#s_cd">cd</a> <b>/raid/quake/id1/models/demon3</b>
<b>$</b><a href="qc-mdl.htm#s_scale">scale</a> <b>0.8</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>base</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>stand10 stand11 stand12 stand13</b>

<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>walk1 walk2 walk3 walk4 walk5 walk6 walk7 walk8</b>

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

<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>leap1 leap2 leap3 leap4 leap5 leap6 leap7 leap8 leap9 leap10</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>leap11 leap12</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>death1 death2 death3 death4 death5 death6 death7 death8 death9</b>

<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>attacka1 attacka2 attacka3 attacka4 attacka5 attacka6 attacka7 attacka8</b>
<b>$</b><a href="qc-mdl.htm#s_frame">frame</a> <b>attacka9 attacka10 attacka11 attacka12 attacka13 attacka14 attacka15</b>

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

<a href="qc-types.htm#void">void</a>() <a href="demon.htm#Demon_JumpTouch">Demon_JumpTouch</a>;

<a href="qc-types.htm#void">void</a>() <b>demon1_stand1</b><a name="demon1_stand1">=</a>[	$stand1,	demon1_stand2	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>demon1_stand2</b><a name="demon1_stand2">=</a>[	$stand2,	demon1_stand3	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>demon1_stand3</b><a name="demon1_stand3">=</a>[	$stand3,	demon1_stand4	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>demon1_stand4</b><a name="demon1_stand4">=</a>[	$stand4,	demon1_stand5	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>demon1_stand5</b><a name="demon1_stand5">=</a>[	$stand5,	demon1_stand6	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>demon1_stand6</b><a name="demon1_stand6">=</a>[	$stand6,	demon1_stand7	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>demon1_stand7</b><a name="demon1_stand7">=</a>[	$stand7,	demon1_stand8	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>demon1_stand8</b><a name="demon1_stand8">=</a>[	$stand8,	demon1_stand9	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>demon1_stand9</b><a name="demon1_stand9">=</a>[	$stand9,	demon1_stand10	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>demon1_stand10</b><a name="demon1_stand10">=</a>[	$stand10,	demon1_stand11	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>demon1_stand11</b><a name="demon1_stand11">=</a>[	$stand11,	demon1_stand12	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>demon1_stand12</b><a name="demon1_stand12">=</a>[	$stand12,	demon1_stand13	] {<a href="ai.htm#ai_stand">ai_stand</a>();};
<a href="qc-types.htm#void">void</a>() <b>demon1_stand13</b><a name="demon1_stand13">=</a>[	$stand13,	<a href="demon.htm#demon1_stand1">demon1_stand1</a>	] {<a href="ai.htm#ai_stand">ai_stand</a>();};

<a href="qc-types.htm#void">void</a>() <b>demon1_walk1</b><a name="demon1_walk1">=</a>[	$walk1,		demon1_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>"demon/idle1.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>demon1_walk2</b><a name="demon1_walk2">=</a>[	$walk2,		demon1_walk3	] {<a href="ai.htm#ai_walk">ai_walk</a>(6);};
<a href="qc-types.htm#void">void</a>() <b>demon1_walk3</b><a name="demon1_walk3">=</a>[	$walk3,		demon1_walk4	] {<a href="ai.htm#ai_walk">ai_walk</a>(6);};
<a href="qc-types.htm#void">void</a>() <b>demon1_walk4</b><a name="demon1_walk4">=</a>[	$walk4,		demon1_walk5	] {<a href="ai.htm#ai_walk">ai_walk</a>(7);};
<a href="qc-types.htm#void">void</a>() <b>demon1_walk5</b><a name="demon1_walk5">=</a>[	$walk5,		demon1_walk6	] {<a href="ai.htm#ai_walk">ai_walk</a>(4);};
<a href="qc-types.htm#void">void</a>() <b>demon1_walk6</b><a name="demon1_walk6">=</a>[	$walk6,		demon1_walk7	] {<a href="ai.htm#ai_walk">ai_walk</a>(6);};
<a href="qc-types.htm#void">void</a>() <b>demon1_walk7</b><a name="demon1_walk7">=</a>[	$walk7,		demon1_walk8	] {<a href="ai.htm#ai_walk">ai_walk</a>(10);};
<a href="qc-types.htm#void">void</a>() <b>demon1_walk8</b><a name="demon1_walk8">=</a>[	$walk8,		<a href="demon.htm#demon1_walk1">demon1_walk1</a>	] {<a href="ai.htm#ai_walk">ai_walk</a>(10);};

<a href="qc-types.htm#void">void</a>() <b>demon1_run1</b><a name="demon1_run1">=</a>[	$run1,		demon1_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>"demon/idle1.wav"</b>, 1, <a href="qc-defs.htm#ATTN_IDLE">ATTN_IDLE</a>);
<a href="ai.htm#ai_run">ai_run</a>(20);};
<a href="qc-types.htm#void">void</a>() <b>demon1_run2</b><a name="demon1_run2">=</a>[	$run2,		demon1_run3	] {<a href="ai.htm#ai_run">ai_run</a>(15);};
<a href="qc-types.htm#void">void</a>() <b>demon1_run3</b><a name="demon1_run3">=</a>[	$run3,		demon1_run4	] {<a href="ai.htm#ai_run">ai_run</a>(36);};
<a href="qc-types.htm#void">void</a>() <b>demon1_run4</b><a name="demon1_run4">=</a>[	$run4,		demon1_run5	] {<a href="ai.htm#ai_run">ai_run</a>(20);};
<a href="qc-types.htm#void">void</a>() <b>demon1_run5</b><a name="demon1_run5">=</a>[	$run5,		demon1_run6	] {<a href="ai.htm#ai_run">ai_run</a>(15);};
<a href="qc-types.htm#void">void</a>() <b>demon1_run6</b><a name="demon1_run6">=</a>[	$run6,		<a href="demon.htm#demon1_run1">demon1_run1</a>	] {<a href="ai.htm#ai_run">ai_run</a>(36);};

<a href="qc-types.htm#void">void</a>() <b>demon1_jump1</b><a name="demon1_jump1">=</a>[	$leap1,		demon1_jump2	] {<a href="fight.htm#ai_face">ai_face</a>();};
<a href="qc-types.htm#void">void</a>() <b>demon1_jump2</b><a name="demon1_jump2">=</a>[	$leap2,		demon1_jump3	] {<a href="fight.htm#ai_face">ai_face</a>();};
<a href="qc-types.htm#void">void</a>() <b>demon1_jump3</b><a name="demon1_jump3">=</a>[	$leap3,		demon1_jump4	] {<a href="fight.htm#ai_face">ai_face</a>();};
<a href="qc-types.htm#void">void</a>() <b>demon1_jump4</b><a name="demon1_jump4">=</a>[	$leap4,		demon1_jump5	]
{
	<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="demon.htm#Demon_JumpTouch">Demon_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> * 600 + '0 0 250';
	<b>if</b> (<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_flags">flags</a> &amp; <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>demon1_jump5</b><a name="demon1_jump5">=</a>[	$leap5,		demon1_jump6	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_jump6</b><a name="demon1_jump6">=</a>[	$leap6,		demon1_jump7	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_jump7</b><a name="demon1_jump7">=</a>[	$leap7,		demon1_jump8	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_jump8</b><a name="demon1_jump8">=</a>[ 	$leap8,		demon1_jump9	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_jump9</b><a name="demon1_jump9">=</a>[ 	$leap9,		demon1_jump10	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_jump10</b><a name="demon1_jump10">=</a>[ 	$leap10,	<a href="demon.htm#demon1_jump1">demon1_jump1</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> + 3;
<i>// if three seconds pass, assume demon is stuck and jump again</i>
};

<a href="qc-types.htm#void">void</a>() <b>demon1_jump11</b><a name="demon1_jump11">=</a>[ 	$leap11,	demon1_jump12	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_jump12</b><a name="demon1_jump12">=</a>[ 	$leap12,	<a href="demon.htm#demon1_run1">demon1_run1</a>	] {};


<a href="qc-types.htm#void">void</a>() <b>demon1_atta1</b><a name="demon1_atta1">=</a>[	$attacka1,		demon1_atta2	] {<a href="fight.htm#ai_charge">ai_charge</a>(4);};
<a href="qc-types.htm#void">void</a>() <b>demon1_atta2</b><a name="demon1_atta2">=</a>[	$attacka2,		demon1_atta3	] {<a href="fight.htm#ai_charge">ai_charge</a>(0);};
<a href="qc-types.htm#void">void</a>() <b>demon1_atta3</b><a name="demon1_atta3">=</a>[	$attacka3,		demon1_atta4	] {<a href="fight.htm#ai_charge">ai_charge</a>(0);};
<a href="qc-types.htm#void">void</a>() <b>demon1_atta4</b><a name="demon1_atta4">=</a>[	$attacka4,		demon1_atta5	] {<a href="fight.htm#ai_charge">ai_charge</a>(1);};
<a href="qc-types.htm#void">void</a>() <b>demon1_atta5</b><a name="demon1_atta5">=</a>[	$attacka5,		demon1_atta6	] {<a href="fight.htm#ai_charge">ai_charge</a>(2); <a href="demon.htm#Demon_Melee">Demon_Melee</a>(200);};
<a href="qc-types.htm#void">void</a>() <b>demon1_atta6</b><a name="demon1_atta6">=</a>[	$attacka6,		demon1_atta7	] {<a href="fight.htm#ai_charge">ai_charge</a>(1);};
<a href="qc-types.htm#void">void</a>() <b>demon1_atta7</b><a name="demon1_atta7">=</a>[	$attacka7,		demon1_atta8	] {<a href="fight.htm#ai_charge">ai_charge</a>(6);};
<a href="qc-types.htm#void">void</a>() <b>demon1_atta8</b><a name="demon1_atta8">=</a>[	$attacka8,		demon1_atta9	] {<a href="fight.htm#ai_charge">ai_charge</a>(8);};
<a href="qc-types.htm#void">void</a>() <b>demon1_atta9</b><a name="demon1_atta9">=</a>[	$attacka9,		demon1_atta10] {<a href="fight.htm#ai_charge">ai_charge</a>(4);};
<a href="qc-types.htm#void">void</a>() <b>demon1_atta10</b><a name="demon1_atta10">=</a>[	$attacka10,		demon1_atta11] {<a href="fight.htm#ai_charge">ai_charge</a>(2);};
<a href="qc-types.htm#void">void</a>() <b>demon1_atta11</b><a name="demon1_atta11">=</a>[	$attacka11,		demon1_atta12] {<a href="demon.htm#Demon_Melee">Demon_Melee</a>(-200);};
<a href="qc-types.htm#void">void</a>() <b>demon1_atta12</b><a name="demon1_atta12">=</a>[	$attacka12,		demon1_atta13] {<a href="fight.htm#ai_charge">ai_charge</a>(5);};
<a href="qc-types.htm#void">void</a>() <b>demon1_atta13</b><a name="demon1_atta13">=</a>[	$attacka13,		demon1_atta14] {<a href="fight.htm#ai_charge">ai_charge</a>(8);};
<a href="qc-types.htm#void">void</a>() <b>demon1_atta14</b><a name="demon1_atta14">=</a>[	$attacka14,		demon1_atta15] {<a href="fight.htm#ai_charge">ai_charge</a>(4);};
<a href="qc-types.htm#void">void</a>() <b>demon1_atta15</b><a name="demon1_atta15">=</a>[	$attacka15,		<a href="demon.htm#demon1_run1">demon1_run1</a>] {<a href="fight.htm#ai_charge">ai_charge</a>(4);};

<a href="qc-types.htm#void">void</a>() <b>demon1_pain1</b><a name="demon1_pain1">=</a>[	$pain1,		demon1_pain2	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_pain2</b><a name="demon1_pain2">=</a>[	$pain2,		demon1_pain3	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_pain3</b><a name="demon1_pain3">=</a>[	$pain3,		demon1_pain4	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_pain4</b><a name="demon1_pain4">=</a>[	$pain4,		demon1_pain5	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_pain5</b><a name="demon1_pain5">=</a>[	$pain5,		demon1_pain6	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_pain6</b><a name="demon1_pain6">=</a>[	$pain6,		<a href="demon.htm#demon1_run1">demon1_run1</a>	] {};

<a href="qc-types.htm#void">void</a>(<a href="qc-types.htm#entity">entity</a> attacker, <a href="qc-types.htm#float">float</a> damage) <b>demon1_pain</b><a name="demon1_pain">=</a>
{
	<b>if</b> (<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_touch">touch</a> == <a href="demon.htm#Demon_JumpTouch">Demon_JumpTouch</a>)
		<b>return</b>;

	<b>if</b> (<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_pain_finished">pain_finished</a> &gt; <a href="qc-glob.htm#time">time</a>)
		<b>return</b>;

	<a href="qc-glob.htm#self">self</a>.<a href="qc-enty.htm#dot_pain_finished">pain_finished</a> = <a href="qc-glob.htm#time">time</a> + 1;
    <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>"demon/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>()*200 &gt; damage)
		<b>return</b>;		<i>// didn't flinch</i>
		
	<a href="demon.htm#demon1_pain1">demon1_pain1</a> ();
};

<a href="qc-types.htm#void">void</a>() <b>demon1_die1</b><a name="demon1_die1">=</a>[	$death1,		demon1_die2	] {
<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>"demon/ddeath.wav"</b>, 1, <a href="qc-defs.htm#ATTN_NORM">ATTN_NORM</a>);};
<a href="qc-types.htm#void">void</a>() <b>demon1_die2</b><a name="demon1_die2">=</a>[	$death2,		demon1_die3	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_die3</b><a name="demon1_die3">=</a>[	$death3,		demon1_die4	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_die4</b><a name="demon1_die4">=</a>[	$death4,		demon1_die5	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_die5</b><a name="demon1_die5">=</a>[	$death5,		demon1_die6	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_die6</b><a name="demon1_die6">=</a>[	$death6,		demon1_die7	]
{<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>;};
<a href="qc-types.htm#void">void</a>() <b>demon1_die7</b><a name="demon1_die7">=</a>[	$death7,		demon1_die8	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_die8</b><a name="demon1_die8">=</a>[	$death8,		demon1_die9	] {};
<a href="qc-types.htm#void">void</a>() <b>demon1_die9</b><a name="demon1_die9">=</a>[	$death9,		<a href="demon.htm#demon1_die9">demon1_die9</a> ] {};

<a href="qc-types.htm#void">void</a>() <b>demon_die</b><a name="demon_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; -80)
	{
		<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#ThrowHead">ThrowHead</a> (<b>"progs/h_demon.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/gib1.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/gib1.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/gib1.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="demon.htm#demon1_die1">demon1_die1</a> ();
};


<a href="qc-types.htm#void">void</a>() <b>Demon_MeleeAttack</b><a name="Demon_MeleeAttack">=</a>
{
	<a href="demon.htm#demon1_atta1">demon1_atta1</a> ();
};


<i>/*QUAKED monster_demon1 (1 0 0) (-32 -32 -24) (32 32 64) Ambush

*/</i>

<a href="qc-types.htm#void">void</a>() <b>monster_demon1</b><a name="monster_demon1">=</a>
{
	<b>if</b> (<a href="qc-glob.htm#deathmatch">deathmatch</a>)

⌨️ 快捷键说明

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