📄 m_berserk.pas
字号:
{----------------------------------------------------------------------------}
{ }
{ File(s): m_berserk.h }
{ }
{ Initial conversion by : Ben Watt (ben@delphigamedev.com) }
{ Initial conversion on : 11-March-2002 }
{ }
{ This file is part of the conversion of Quake2 source to Delphi. }
{ More information about this project can be found at: }
{ http://www.sulaco.co.za/quake2/ }
{ }
{ Copyright (C) 1997-2001 Id Software, Inc. }
{ }
{ This program is free software; you can redistribute it and/or }
{ modify it under the terms of the GNU General Public License }
{ as published by the Free Software Foundation; either version 2 }
{ of the License, or (at your option) any later version. }
{ }
{ This program is distributed in the hope that it will be useful, }
{ but WITHOUT ANY WARRANTY; without even the implied warranty of }
{ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. }
{ }
{ See the GNU General Public License for more details. }
{ }
{----------------------------------------------------------------------------}
{ Updated on : }
{ Updated by : }
{ }
{----------------------------------------------------------------------------}
{ * Still dependent (to compile correctly) on: }
{ 1.) g_local.h and game.h }
{----------------------------------------------------------------------------}
{ * TODO: }
{ 1.) test compilation with the above two units }
{----------------------------------------------------------------------------}
{
==============================================================================
BERSERK
==============================================================================
}
unit m_berserk;
interface
uses
g_main,
g_local;
const MODEL_SCALE = 1.000000;
var
sound_pain,
sound_die,
sound_idle,
sound_punch,
sound_sight,
sound_search : Integer;
procedure berserk_fidget(self : edict_p); cdecl;
procedure SP_monster_berserk(self : edict_p); cdecl;
implementation
uses
q_shared,
g_ai,
g_weapon,
g_local_add,
GameUnit,
g_misc,
g_utils,
game_add,
g_monster,
CPas;
// start m_berserk.h
// G:\quake2\baseq2\models/monsters/berserk
// This file generated by ModelGen - Do NOT Modify
const
FRAME_stand1 = 0;
FRAME_stand2 = 1;
FRAME_stand3 = 2;
FRAME_stand4 = 3;
FRAME_stand5 = 4;
FRAME_standb1 = 5;
FRAME_standb2 = 6;
FRAME_standb3 = 7;
FRAME_standb4 = 8;
FRAME_standb5 = 9;
FRAME_standb6 = 10;
FRAME_standb7 = 11;
FRAME_standb8 = 12;
FRAME_standb9 = 13;
FRAME_standb10 = 14;
FRAME_standb11 = 15;
FRAME_standb12 = 16;
FRAME_standb13 = 17;
FRAME_standb14 = 18;
FRAME_standb15 = 19;
FRAME_standb16 = 20;
FRAME_standb17 = 21;
FRAME_standb18 = 22;
FRAME_standb19 = 23;
FRAME_standb20 = 24;
FRAME_walkc1 = 25;
FRAME_walkc2 = 26;
FRAME_walkc3 = 27;
FRAME_walkc4 = 28;
FRAME_walkc5 = 29;
FRAME_walkc6 = 30;
FRAME_walkc7 = 31;
FRAME_walkc8 = 32;
FRAME_walkc9 = 33;
FRAME_walkc10 = 34;
FRAME_walkc11 = 35;
FRAME_run1 = 36;
FRAME_run2 = 37;
FRAME_run3 = 38;
FRAME_run4 = 39;
FRAME_run5 = 40;
FRAME_run6 = 41;
FRAME_att_a1 = 42;
FRAME_att_a2 = 43;
FRAME_att_a3 = 44;
FRAME_att_a4 = 45;
FRAME_att_a5 = 46;
FRAME_att_a6 = 47;
FRAME_att_a7 = 48;
FRAME_att_a8 = 49;
FRAME_att_a9 = 50;
FRAME_att_a10 = 51;
FRAME_att_a11 = 52;
FRAME_att_a12 = 53;
FRAME_att_a13 = 54;
FRAME_att_b1 = 55;
FRAME_att_b2 = 56;
FRAME_att_b3 = 57;
FRAME_att_b4 = 58;
FRAME_att_b5 = 59;
FRAME_att_b6 = 60;
FRAME_att_b7 = 61;
FRAME_att_b8 = 62;
FRAME_att_b9 = 63;
FRAME_att_b10 = 64;
FRAME_att_b11 = 65;
FRAME_att_b12 = 66;
FRAME_att_b13 = 67;
FRAME_att_b14 = 68;
FRAME_att_b15 = 69;
FRAME_att_b16 = 70;
FRAME_att_b17 = 71;
FRAME_att_b18 = 72;
FRAME_att_b19 = 73;
FRAME_att_b20 = 74;
FRAME_att_b21 = 75;
FRAME_att_c1 = 76;
FRAME_att_c2 = 77;
FRAME_att_c3 = 78;
FRAME_att_c4 = 79;
FRAME_att_c5 = 80;
FRAME_att_c6 = 81;
FRAME_att_c7 = 82;
FRAME_att_c8 = 83;
FRAME_att_c9 = 84;
FRAME_att_c10 = 85;
FRAME_att_c11 = 86;
FRAME_att_c12 = 87;
FRAME_att_c13 = 88;
FRAME_att_c14 = 89;
FRAME_att_c15 = 90;
FRAME_att_c16 = 91;
FRAME_att_c17 = 92;
FRAME_att_c18 = 93;
FRAME_att_c19 = 94;
FRAME_att_c20 = 95;
FRAME_att_c21 = 96;
FRAME_att_c22 = 97;
FRAME_att_c23 = 98;
FRAME_att_c24 = 99;
FRAME_att_c25 = 100;
FRAME_att_c26 = 101;
FRAME_att_c27 = 102;
FRAME_att_c28 = 103;
FRAME_att_c29 = 104;
FRAME_att_c30 = 105;
FRAME_att_c31 = 106;
FRAME_att_c32 = 107;
FRAME_att_c33 = 108;
FRAME_att_c34 = 109;
FRAME_r_att1 = 110;
FRAME_r_att2 = 111;
FRAME_r_att3 = 112;
FRAME_r_att4 = 113;
FRAME_r_att5 = 114;
FRAME_r_att6 = 115;
FRAME_r_att7 = 116;
FRAME_r_att8 = 117;
FRAME_r_att9 = 118;
FRAME_r_att10 = 119;
FRAME_r_att11 = 120;
FRAME_r_att12 = 121;
FRAME_r_att13 = 122;
FRAME_r_att14 = 123;
FRAME_r_att15 = 124;
FRAME_r_att16 = 125;
FRAME_r_att17 = 126;
FRAME_r_att18 = 127;
FRAME_r_attb1 = 128;
FRAME_r_attb2 = 129;
FRAME_r_attb3 = 130;
FRAME_r_attb4 = 131;
FRAME_r_attb5 = 132;
FRAME_r_attb6 = 133;
FRAME_r_attb7 = 134;
FRAME_r_attb8 = 135;
FRAME_r_attb9 = 136;
FRAME_r_attb10 = 137;
FRAME_r_attb11 = 138;
FRAME_r_attb12 = 139;
FRAME_r_attb13 = 140;
FRAME_r_attb14 = 141;
FRAME_r_attb15 = 142;
FRAME_r_attb16 = 143;
FRAME_r_attb17 = 144;
FRAME_r_attb18 = 145;
FRAME_slam1 = 146;
FRAME_slam2 = 147;
FRAME_slam3 = 148;
FRAME_slam4 = 149;
FRAME_slam5 = 150;
FRAME_slam6 = 151;
FRAME_slam7 = 152;
FRAME_slam8 = 153;
FRAME_slam9 = 154;
FRAME_slam10 = 155;
FRAME_slam11 = 156;
FRAME_slam12 = 157;
FRAME_slam13 = 158;
FRAME_slam14 = 159;
FRAME_slam15 = 160;
FRAME_slam16 = 161;
FRAME_slam17 = 162;
FRAME_slam18 = 163;
FRAME_slam19 = 164;
FRAME_slam20 = 165;
FRAME_slam21 = 166;
FRAME_slam22 = 167;
FRAME_slam23 = 168;
FRAME_duck1 = 169;
FRAME_duck2 = 170;
FRAME_duck3 = 171;
FRAME_duck4 = 172;
FRAME_duck5 = 173;
FRAME_duck6 = 174;
FRAME_duck7 = 175;
FRAME_duck8 = 176;
FRAME_duck9 = 177;
FRAME_duck10 = 178;
FRAME_fall1 = 179;
FRAME_fall2 = 180;
FRAME_fall3 = 181;
FRAME_fall4 = 182;
FRAME_fall5 = 183;
FRAME_fall6 = 184;
FRAME_fall7 = 185;
FRAME_fall8 = 186;
FRAME_fall9 = 187;
FRAME_fall10 = 188;
FRAME_fall11 = 189;
FRAME_fall12 = 190;
FRAME_fall13 = 191;
FRAME_fall14 = 192;
FRAME_fall15 = 193;
FRAME_fall16 = 194;
FRAME_fall17 = 195;
FRAME_fall18 = 196;
FRAME_fall19 = 197;
FRAME_fall20 = 198;
FRAME_painc1 = 199;
FRAME_painc2 = 200;
FRAME_painc3 = 201;
FRAME_painc4 = 202;
FRAME_painb1 = 203;
FRAME_painb2 = 204;
FRAME_painb3 = 205;
FRAME_painb4 = 206;
FRAME_painb5 = 207;
FRAME_painb6 = 208;
FRAME_painb7 = 209;
FRAME_painb8 = 210;
FRAME_painb9 = 211;
FRAME_painb10 = 212;
FRAME_painb11 = 213;
FRAME_painb12 = 214;
FRAME_painb13 = 215;
FRAME_painb14 = 216;
FRAME_painb15 = 217;
FRAME_painb16 = 218;
FRAME_painb17 = 219;
FRAME_painb18 = 220;
FRAME_painb19 = 221;
FRAME_painb20 = 222;
FRAME_death1 = 223;
FRAME_death2 = 224;
FRAME_death3 = 225;
FRAME_death4 = 226;
FRAME_death5 = 227;
FRAME_death6 = 228;
FRAME_death7 = 229;
FRAME_death8 = 230;
FRAME_death9 = 231;
FRAME_death10 = 232;
FRAME_death11 = 233;
FRAME_death12 = 234;
FRAME_death13 = 235;
FRAME_deathc1 = 236;
FRAME_deathc2 = 237;
FRAME_deathc3 = 238;
FRAME_deathc4 = 239;
FRAME_deathc5 = 240;
FRAME_deathc6 = 241;
FRAME_deathc7 = 242;
FRAME_deathc8 = 243;
// end m_berserk.h
procedure berserk_sight(self, other : edict_p); cdecl;
begin
gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0);
end;
procedure berserk_search(self : edict_p); cdecl;
begin
gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0);
end;
const
berserk_frames_stand : Array[0..4] of mframe_t =
((aifunc:ai_stand; dist:0; thinkfunc:berserk_fidget),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil));
berserk_move_stand : mmove_t =
(firstframe:FRAME_stand1; lastframe:FRAME_stand5; frame:@berserk_frames_stand; endfunc:nil);
procedure berserk_stand(self : edict_p); cdecl;
begin
self.monsterinfo.currentmove := @berserk_move_stand;
end;
const
berserk_frames_stand_fidget : Array[0..19] of mframe_t =
((aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
(aifunc:ai_stand; dist:0; thinkfunc:nil),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -