📄 actor.pas
字号:
unit Actor;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grobal2, DxDraws, CliUtil, magiceff, Wil, ClFunc;
const
MAXACTORSOUND = 3;
CMMX = 150;
CMMY = 200;
HUMANFRAME = 600;
MONFRAME = 280;
EXPMONFRAME = 360;
SCULMONFRAME = 440;
ZOMBIFRAME = 430;
MERCHANTFRAME = 60;
MAXSAY = 5;
// MON1_FRAME =
// MON2_FRAME =
RUN_MINHEALTH = 10;
DEFSPELLFRAME = 10;
FIREHIT_READYFRAME = 6; //堪拳搬 矫傈 橇贰烙
MAGBUBBLEBASE = 3890;
MAGBUBBLESTRUCKBASE = 3900;
MAXWPEFFECTFRAME = 5;
WPEFFECTBASE = 3750;
EFFECTBASE = 0;
type
//动作定义
TActionInfo = record
start : word; // 开始帧
frame : word; // 帧数
skip : word; // 跳过的帧数
ftime : word; // 每帧的延迟时间(毫秒)
usetick : byte; // 荤侩平, 捞悼 悼累俊父 荤侩凳
end;
PTActionInfo = ^TActionInfo;
//玩家的动作定义
THumanAction = record
ActStand: TActionInfo; //1
ActWalk: TActionInfo; //8
ActRun: TActionInfo; //8
ActRushLeft: TActionInfo;
ActRushRight: TActionInfo;
ActWarMode: TActionInfo; //1
ActHit: TActionInfo; //6
ActHeavyHit: TActionInfo; //6
ActBigHit: TActionInfo; //6
ActFireHitReady: TActionInfo; //6
ActSpell: TActionInfo; //6
ActSitdown: TActionInfo; //1
ActStruck: TActionInfo; //3
ActDie: TActionInfo; //4
end;
PTHumanAction = ^THumanAction;
TMonsterAction = record
ActStand: TActionInfo; //1
ActWalk: TActionInfo; //8
ActAttack: TActionInfo; //6
ActCritical: TActionInfo; //6
ActStruck: TActionInfo; //3
ActDie: TActionInfo; //4
ActDeath: TActionInfo;
end;
PTMonsterAction = ^TMonsterAction;
const
//人类动作定义
//每个人物每个级别每个性别共600幅图
//设级别=L,性别=S,则开始帧=L*600+600*S
HA: THumanAction = ( //开始帧 有效帧 跳过帧 每帧延迟
ActStand: (start: 0; frame: 4; skip: 4; ftime: 200; usetick: 0);
ActWalk: (start: 64; frame: 6; skip: 2; ftime: 90; usetick: 2);
ActRun: (start: 128; frame: 6; skip: 2; ftime: 120; usetick: 3);
ActRushLeft: (start: 128; frame: 3; skip: 5; ftime: 120; usetick: 3);
ActRushRight:(start: 131; frame: 3; skip: 5; ftime: 120; usetick: 3);
ActWarMode:(start: 192; frame: 1; skip: 0; ftime: 200; usetick: 0);
//ActHit: (start: 200; frame: 5; skip: 3; ftime: 140; usetick: 0);
ActHit: (start: 200; frame: 6; skip: 2; ftime: 85; usetick: 0);
ActHeavyHit:(start: 264; frame: 6; skip: 2; ftime: 90; usetick: 0);
ActBigHit: (start: 328; frame: 8; skip: 0; ftime: 70; usetick: 0);
ActFireHitReady: (start: 192; frame: 6; skip: 4; ftime: 70; usetick: 0);
ActSpell: (start: 392; frame: 6; skip: 2; ftime: 60; usetick: 0);
ActSitdown:(start: 456; frame: 2; skip: 0; ftime: 300; usetick: 0);
ActStruck: (start: 472; frame: 3; skip: 5; ftime: 70; usetick: 0);
ActDie: (start: 536; frame: 4; skip: 4; ftime: 120; usetick: 0)
);
MA10: TMonsterAction = ( //每个动作8帧
ActStand: (start: 0; frame: 4; skip: 4; ftime: 200; usetick: 0);
ActWalk: (start: 64; frame: 6; skip: 2; ftime: 120; usetick: 3);
ActAttack: (start: 128; frame: 4; skip: 4; ftime: 150; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 192; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 208; frame: 4; skip: 4; ftime: 140; usetick: 0);
ActDeath: (start: 272; frame: 1; skip: 0; ftime: 0; usetick: 0);
);
MA11: TMonsterAction = ( //每个动作10帧
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 120; usetick: 3);
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 10; skip: 0; ftime: 140; usetick: 0);
ActDeath: (start: 340; frame: 1; skip: 0; ftime: 0; usetick: 0);
);
MA12: TMonsterAction = ( //每个动作8帧,每个动作8个方向,共7种动作
ActStand: (start: 0; frame: 4; skip: 4; ftime: 200; usetick: 0);
ActWalk: (start: 64; frame: 6; skip: 2; ftime: 120; usetick: 3);
ActAttack: (start: 128; frame: 6; skip: 2; ftime: 150; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 192; frame: 2; skip: 0; ftime: 150; usetick: 0);
ActDie: (start: 208; frame: 4; skip: 4; ftime: 160; usetick: 0);
ActDeath: (start: 272; frame: 1; skip: 0; ftime: 0; usetick: 0);
);
MA13: TMonsterAction = ( //侥牢檬
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 10; frame: 8; skip: 2; ftime: 160; usetick: 0); //殿厘...
ActAttack: (start: 30; frame: 6; skip: 4; ftime: 120; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 110; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 130; frame: 10; skip: 0; ftime: 120; usetick: 0);
ActDeath: (start: 20; frame: 9; skip: 0; ftime: 150; usetick: 0); //见澜..
);
MA14: TMonsterAction = ( //秦榜 坷付
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 10; skip: 0; ftime: 120; usetick: 0);
ActDeath: (start: 340; frame: 10; skip: 0; ftime: 100; usetick: 0); //归榜牢版快(家券)
);
MA15: TMonsterAction = ( //档尝带瘤绰 坷付
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 10; skip: 0; ftime: 120; usetick: 0);
ActDeath: (start: 1; frame: 1; skip: 0; ftime: 100; usetick: 0);
);
MA16: TMonsterAction = ( //啊胶筋绰 备单扁
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 160; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 4; skip: 6; ftime: 160; usetick: 0);
ActDeath: (start: 0; frame: 1; skip: 0; ftime: 160; usetick: 0);
);
MA17: TMonsterAction = ( //官迭波府绰 各
ActStand: (start: 0; frame: 4; skip: 6; ftime: 60; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 10; skip: 0; ftime: 100; usetick: 0);
ActDeath: (start: 340; frame: 1; skip: 0; ftime: 140; usetick: 0); //
);
MA19: TMonsterAction = ( //快搁蓖 (磷绰芭 弧府磷澜)
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 10; skip: 0; ftime: 140; usetick: 0);
ActDeath: (start: 340; frame: 1; skip: 0; ftime: 140; usetick: 0); //
);
MA20: TMonsterAction = ( //磷菌促 混酒唱绰 粱厚)
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 120; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 10; skip: 0; ftime: 100; usetick: 0);
ActDeath: (start: 340; frame: 10; skip: 0; ftime: 170; usetick: 0); //促矫 混酒唱扁
);
MA21: TMonsterAction = ( //国笼
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0); //
ActAttack: (start: 10; frame: 6; skip: 4; ftime: 120; usetick: 0); //国 惯荤
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 20; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 30; frame: 10; skip: 0; ftime: 160; usetick: 0);
ActDeath: (start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0); //
);
MA22: TMonsterAction = ( //籍惑阁胶磐(堪家措厘,堪家厘焙)
ActStand: (start: 80; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 160; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 240; frame: 6; skip: 4; ftime: 100; usetick: 0); //
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 320; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 340; frame: 10; skip: 0; ftime: 160; usetick: 0);
ActDeath: (start: 0; frame: 6; skip: 4; ftime: 170; usetick: 0); //籍惑踌澜
);
MA23: TMonsterAction = ( //林付空
ActStand: (start: 20; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 100; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 180; frame: 6; skip: 4; ftime: 100; usetick: 0); //
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 260; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 280; frame: 10; skip: 0; ftime: 160; usetick: 0);
ActDeath: (start: 0; frame: 20; skip: 0; ftime: 100; usetick: 0); //籍惑踌澜
);
MA24: TMonsterAction = ( //傈哎, 傍拜 2啊瘤
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start:240; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActStruck: (start: 320; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 340; frame: 10; skip: 0; ftime: 140; usetick: 0);
ActDeath: (start: 420; frame: 1; skip: 0; ftime: 140; usetick: 0); //
);
MA25: TMonsterAction = ( //瘤匙空
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 70; frame: 10; skip: 0; ftime: 200; usetick: 3); //殿厘
ActAttack: (start: 20; frame: 6; skip: 4; ftime: 120; usetick: 0); //流立傍拜
ActCritical:(start: 10; frame: 6; skip: 4; ftime: 120; usetick: 0); //刀魔傍拜(盔芭府)
ActStruck: (start: 50; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 60; frame: 10; skip: 0; ftime: 200; usetick: 0);
ActDeath: (start: 0; frame: 0; skip: 0; ftime: 140; usetick: 0); //
);
MA26: TMonsterAction = ( //己巩,
ActStand: (start: 0; frame: 1; skip: 7; ftime: 200; usetick: 0);
ActWalk: (start: 0; frame: 0; skip: 0; ftime: 160; usetick: 0); //殿厘...
ActAttack: (start: 56; frame: 6; skip: 2; ftime: 500; usetick: 0); //凯扁
ActCritical:(start: 64; frame: 6; skip: 2; ftime: 500; usetick: 0); //摧扁
ActStruck: (start: 0; frame: 4; skip: 4; ftime: 100; usetick: 0);
ActDie: (start: 24; frame: 10; skip: 0; ftime: 120; usetick: 0);
ActDeath: (start: 0; frame: 0; skip: 0; ftime: 150; usetick: 0); //见澜..
);
MA27: TMonsterAction = ( //己寒
ActStand: (start: 0; frame: 1; skip: 7; ftime: 200; usetick: 0);
ActWalk: (start: 0; frame: 0; skip: 0; ftime: 160; usetick: 0); //殿厘...
ActAttack: (start: 0; frame: 0; skip: 0; ftime: 250; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 250; usetick: 0);
ActStruck: (start: 0; frame: 0; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 0; frame: 10; skip: 0; ftime: 120; usetick: 0);
ActDeath: (start: 0; frame: 0; skip: 0; ftime: 150; usetick: 0); //见澜..
);
MA28: TMonsterAction = ( //脚荐 (函脚 傈)
ActStand: (start: 80; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 160; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 0; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 10; skip: 0; ftime: 120; usetick: 0);
ActDeath: (start: 0; frame: 10; skip: 0; ftime: 100; usetick: 0); //殿厘..
);
MA29: TMonsterAction = ( //脚荐 (函脚 饶)
ActStand: (start: 80; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 160; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 240; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start: 0; frame: 10; skip: 0; ftime: 100; usetick: 0);
ActStruck: (start: 320; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 340; frame: 10; skip: 0; ftime: 120; usetick: 0);
ActDeath: (start: 0; frame: 10; skip: 0; ftime: 100; usetick: 0); //殿厘..
);
MA50: TMonsterAction = (
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActAttack: (start: 30; frame: 10; skip: 0; ftime: 150; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActDie: (start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActDeath: (start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
);
WORDER: Array[0..1, 0..599] of byte = ( //第一维是性别,第二维是动作图片索引
( //巢磊
//站
0,0,0,0,0,0,0,0, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1, 0,0,0,0,0,0,0,0, 0,0,0,0,1,1,1,1,
0,0,0,0,1,1,1,1, 0,0,0,0,1,1,1,1,
//走
0,0,0,0,0,0,0,0, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,1,
0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,1,
//跑
0,0,0,0,0,0,0,0, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1, 0,0,1,1,1,1,1,1, 0,0,1,1,1,0,0,1,
0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,1,
//war葛靛
0,1,1,1,0,0,0,0,
//击
1,1,1,0,0,0,1,1, 1,1,1,0,0,0,0,0, 1,1,1,0,0,0,0,0,
1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,0,0,0,0,0,
0,0,0,0,0,0,0,0, 1,1,1,1,0,0,1,1,
//击 2
0,1,1,0,0,0,1,1, 0,1,1,0,0,0,1,1, 1,1,1,0,0,0,0,0,
1,1,1,0,0,1,1,1, 1,1,1,1,1,1,1,1, 0,1,1,1,1,1,1,1,
0,0,0,1,1,1,0,0, 0,1,1,1,1,0,1,1,
//击3
1,1,0,1,0,0,0,0, 1,1,0,0,0,0,0,0, 1,1,1,1,1,0,0,0,
1,1,0,0,1,0,0,0, 1,1,1,0,0,0,0,1, 0,1,1,0,0,0,0,0,
0,0,0,0,1,1,1,0, 1,1,1,1,1,0,0,0,
//付过
0,0,0,0,0,0,1,1, 0,0,0,0,0,0,1,1, 0,0,0,0,0,0,1,1,
1,0,0,0,0,1,1,1, 1,1,1,1,1,1,1,1, 0,1,1,1,1,1,1,1,
0,0,1,1,0,0,1,1, 0,0,0,1,0,0,1,1,
//澵扁
0,0,1,0,1,1,1,1, 1,1,0,0,0,1,0,0,
//嘎扁
0,0,0,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1, 0,0,0,1,1,1,1,1, 0,0,0,1,1,1,1,1,
0,0,0,1,1,1,1,1, 0,0,0,1,1,1,1,1,
//静矾咙
0,0,1,1,1,1,1,1, 0,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1, 0,0,0,1,1,1,1,1, 0,0,0,1,1,1,1,1,
0,0,0,1,1,1,1,1, 0,0,0,1,1,1,1,1
),
(
//沥瘤
0,0,0,0,0,0,0,0, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1, 0,0,0,0,0,0,0,0, 0,0,0,0,1,1,1,1,
0,0,0,0,1,1,1,1, 0,0,0,0,1,1,1,1,
//叭扁
0,0,0,0,0,0,0,0, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,1,
0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,1,
//顿扁
0,0,0,0,0,0,0,0, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1, 0,0,1,1,1,1,1,1, 0,0,1,1,1,0,0,1,
0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,1,
//war葛靛
1,1,1,1,0,0,0,0,
//傍拜
1,1,1,0,0,0,1,1, 1,1,1,0,0,0,0,0, 1,1,1,0,0,0,0,0,
1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,0,0,0,0,0,
0,0,0,0,0,0,0,0, 1,1,1,1,0,0,1,1,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -