📄 m_insane.pas
字号:
insane
==============================================================================
*/}
uses g_local;
var sound_fist: integer;
var sound_shake: integer;
var sound_moan: integer;
var sound_scream[8]: integer;
procedure insane_fist(self: edict_p);
procedure insane_shake(self: edict_p)
procedure insane_moan(self: edict_p)
procedure insane_scream (self: edict_p)
// below declarations eliminates the need for the forward void proc's in the C source
procedure insane_cross(self: edict_p)
procedure insane_walk(self: edict_p)
procedure insane_run(self: edict_p)
procedure insane_pain(self: edict_p; other: edict_p; kick: singke; damage: integer)
procedure insane_onground(self: edict_p)
procedure insane_checkdown(self: edict_t)
procedure insane_checkup(self: edict_p)
procedure insane_stand(self: edict_p)
procedure insane_dead(self: edict_p)
procedure insane_die(self: edict_p, inflictor: edict_p, attacker: edict_p, damage: integer, point: vec3_t)
procedure SP_misc_insane(self: edict_p)
implementation
type
mframe_t = record
aifunc : procedure(self : integer; dist : single);
dist : Single;
thinkfunc : procedure(self : edict_p);
end; { mframe_t }
mmove_t = record
firstframe : Integer;
lastframe :Integer;
frame : ^mframe_t;
endfunc : procedure(self : edict_p);
end; { mmove_t }
const
insane_frames_stand_normal : array [0..5] of mframe_t = (
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: insane_checkdown));
insane_move_stand_normal : mmove_t = (firstframe: FRAME_stand60; lastframe:FRAME_stand65; frame:@insane_frames_stand_normal,
endfunc: @insane_stand);
insane_frames_stand_insane : array [0..29] of mframe_t = (
(aifunc: aistand; dist: 0, thinkfunc: insane_shake),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: null),
(aifunc: aistand; dist: 0, thinkfunc: insane_checkdown));
insane_move_stand_insane : mmove_t = (firstframe: FRAME_stand65; lastframe:FRAME_stand94; frame:@insane_frames_stand_insane,
endfunc: @insane_stand);
insane_frames_uptodown : array [0..39] of mframe_t = (
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: insane_moan),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 2.7, thinkfunc: null),
(aifunc: aimove; dist: 4.1, thinkfunc: null),
(aifunc: aimove; dist: 6, thinkfunc: null),
(aifunc: aimove; dist: 7.6, thinkfunc: null),
(aifunc: aimove; dist: 3.6, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: insane_fist),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: insane_fist),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null));
insane_move_uptodown : mmove_t = (firstframe: FRAME_stand1; lastframe:FRAME_stand40; frame:@insane_frames_uptodown,
endfunc: @insane_onground);
insane_frames_downtoup : array [0..18] of mframe_t = (
(aifunc: aimove; dist: -0.7, thinkfunc: null), // 41
(aifunc: aimove; dist: -1.2, thinkfunc: null), // 42
(aifunc: aimove; dist: -1.5, thinkfunc: null), // 43
(aifunc: aimove; dist: -4.5, thinkfunc: null), // 44
(aifunc: aimove; dist: -3.5, thinkfunc: null), // 45
(aifunc: aimove; dist: -0.2, thinkfunc: null), // 46
(aifunc: aimove; dist: 0, thinkfunc: null), // 47
(aifunc: aimove; dist: -1.3, thinkfunc: null), //48
(aifunc: aimove; dist: -3, thinkfunc: null), // 49
(aifunc: aimove; dist: -2, thinkfunc: null), // 50
(aifunc: aimove; dist: 0, thinkfunc: null), // 51
(aifunc: aimove; dist: 0, thinkfunc: null), // 52
(aifunc: aimove; dist: 0, thinkfunc: null), // 53
(aifunc: aimove; dist: -3.3, thinkfunc: null), // 54
(aifunc: aimove; dist: 1.6, thinkfunc: null), // 55
(aifunc: aimove; dist: -0.3, thinkfunc: null), // 56
(aifunc: aimove; dist: 0, thinkfunc: null), //57
(aifunc: aimove; dist: 0, thinkfunc: null), //58
(aifunc: aimove; dist: 0, thinkfunc: null)); // 59
insane_move_downtoup : mmove_t = (firstframe: FRAME_stand41; lastframe:FRAME_stand59; frame:@insane_frames_downtoup,
endfunc: @insane_stand);
insane_frames_jumpdown : array [0..4] of mframe_t = (
(aifunc: aimove; dist: 0.2, thinkfunc: null),
(aifunc: aimove; dist: 11.5, thinkfunc: null),
(aifunc: aimove; dist: 5.1, thinkfunc: null),
(aifunc: aimove; dist: 7.1, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null));
insane_move_jumpdown: mmove_t = (firstframe: FRAME_stand96; lastframe:FRAME_stand100; frame:@insane_frames_jumpdown,
endfunc: @insane_onground);
insane_frames_down : array [0..60] of mframe_t = (
(aifunc: aimove; dist: 0, thinkfunc: null), // 100
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null), // 110
(aifunc: aimove; dist: -1.7, thinkfunc: null),
(aifunc: aimove; dist: -1.6, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: insane_fist),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null), // 120
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null), // 130
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: insane_moan),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null), // 140
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null), // 150
(aifunc: aimove; dist: 0.5, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: -0.2, thinkfunc: insane_scream),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0.2, thinkfunc: null),
(aifunc: aimove; dist: 0.4, thinkfunc: null),
(aifunc: aimove; dist: 0.6, thinkfunc: null),
(aifunc: aimove; dist: 0.8, thinkfunc: null),
(aifunc: aimove; dist: 0.7, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: insane_checkup)); // 160
insane_move_down: mmove_t = (firstframe: FRAME_stand100; lastframe:FRAME_stand160; frame:@insane_frames_down,
endfunc: @insane_onground);
insane_frames_walk_normal: array [0..12] of mframe_t = (
(aifunc: aiwalk; dist: 0, thinkfunc: insane_scream),
(aifunc: aiwalk; dist: 2.5, thinkfunc: null),
(aifunc: aiwalk; dist: 3.5, thinkfunc: null),
(aifunc: aiwalk; dist: 1.7, thinkfunc: null),
(aifunc: aiwalk; dist: 2.3, thinkfunc: null),
(aifunc: aiwalk; dist: 2.4, thinkfunc: null),
(aifunc: aiwalk; dist: 2.2, thinkfunc: null),
(aifunc: aiwalk; dist: 4.2, thinkfunc: null),
(aifunc: aiwalk; dist: 5.6, thinkfunc: null),
(aifunc: aiwalk; dist: 3.3, thinkfunc: null),
(aifunc: aiwalk; dist: 2.4, thinkfunc: null),
(aifunc: aiwalk; dist: 0.9, thinkfunc: null),
(aifunc: aiwalk; dist: 0, thinkfunc: null));
insane_move_walk_normal: mmove_t = (firstframe: FRAME_walk27; lastframe:FRAME_walk39; frame:@insane_frames_walk_normal,
endfunc: @insane_walk);
insane_move_run_normal: mmove_t = (firstframe: FRAME_walk27; lastframe:FRAME_walk39; frame:@insane_frames_walk_normal,
endfunc: @insane_run);
insane_frames_walk_insane: array [0..25] of mframe_t = (
(aifunc: aiwalk; dist: 0, thinkfunc: insane_scream), // walk 1
(aifunc: aiwalk; dist: 3.4, thinkfunc: null), // walk 2
(aifunc: aiwalk; dist: 3.6, thinkfunc: null), // walk 3
(aifunc: aiwalk; dist: 2.9, thinkfunc: null), // walk 4
(aifunc: aiwalk; dist: 2.2, thinkfunc: null), // walk 5
(aifunc: aiwalk; dist: 2.6, thinkfunc: null), // walk 6
(aifunc: aiwalk; dist: 0, thinkfunc: null), // walk 7
(aifunc: aiwalk; dist: 0.7, thinkfunc: null), // walk 8
(aifunc: aiwalk; dist: 4.8, thinkfunc: null), // walk 9
(aifunc: aiwalk; dist: 5.3, thinkfunc: null), // walk 10
(aifunc: aiwalk; dist: 1.1, thinkfunc: null), // walk 11
(aifunc: aiwalk; dist: 2, thinkfunc: null), // walk 12
(aifunc: aiwalk; dist: 0.5, thinkfunc: null), // walk 13
(aifunc: aiwalk; dist: 0, thinkfunc: null), // walk 14
(aifunc: aiwalk; dist: 0, thinkfunc: null), // walk 15
(aifunc: aiwalk; dist: 4.9, thinkfunc: null), // walk 16
(aifunc: aiwalk; dist: 6.7, thinkfunc: null), // walk 17
(aifunc: aiwalk; dist: 3.8, thinkfunc: null), // walk 18
(aifunc: aiwalk; dist: 2, thinkfunc: null), // walk 19
(aifunc: aiwalk; dist: 0.2, thinkfunc: null), // walk 20
(aifunc: aiwalk; dist: 0, thinkfunc: null), // walk 21
(aifunc: aiwalk; dist: 3.4, thinkfunc: null), // walk 22
(aifunc: aiwalk; dist: 6.4, thinkfunc: null), // walk 23
(aifunc: aiwalk; dist: 5, thinkfunc: null), // walk 24
(aifunc: aiwalk; dist: 1.8, thinkfunc: null), // walk 25
(aifunc: aiwalk; dist: 0, thinkfunc: null)); // walk 26
insane_move_walk_insane: mmove_t = (firstframe: FRAME_walk27; lastframe:FRAME_walk39; frame:@insane_frames_walk_insane,
endfunc: @insane_walk);
insane_move_run_insane: mmove_t = (firstframe: FRAME_walk27; lastframe:FRAME_walk39; frame:@insane_frames_walk_insane,
endfunc: @insane_run);
insane_frames_stand_pain: array [0..10] of mframe_t = (
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null));
insane_move_stand_pain: mmove_t = (firstframe: FRAME_st_pain2; lastframe:FRAME_st_pain12; frame:@insane_frames_stand_pain,
endfunc: @insane_run);
insane_frames_stand_death: array [0..16] of mframe_t = (
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null),
(aifunc: aimove; dist: 0, thinkfunc: null));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -