亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? magiceff.pas

?? 解元 傳奇2客戶端delphi源程序
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
unit magiceff;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grobal2, DxDraws, CliUtil, ClFunc, HUtil32, WIl;


const
   MG_READY       = 10;
   MG_FLY         = 6;
   MG_EXPLOSION   = 10;
   READYTIME  = 120;
   EXPLOSIONTIME = 100;
   FLYBASE = 10;
   EXPLOSIONBASE = 170;
   //EFFECTFRAME = 260;
   MAXMAGIC = 10;
   FLYOMAAXEBASE = 447;
   THORNBASE = 2967;
   ARCHERBASE = 2607;
   ARCHERBASE2 = 272; //2609;

   FLYFORSEC = 500;
   FIREGUNFRAME = 6;

   MAXEFFECT = 31;
   EffectBase: array[0..MAXEFFECT-1] of integer = (
      0,             //0  拳堪厘
      200,           //1  雀汗賤
      400,           //2  陛礙拳堪厘
      600,           //3  鞠楷賤
      0,           //4  八堡
      900,           //5  拳堪淺
      920,           //6  拳堪規葷
      940,           //7  汾牢厘 //矯傈瓤苞絕瀾
      20,            //8  礙拜,  Magic2
      940,           //9  氣混拌 //矯傈瓤苞絕瀾
      940,           //10 措瘤盔齲 //矯傈瓤苞絕瀾
      940,           //11 措瘤盔齲付 //矯傈瓤苞絕瀾
      0,          //12 絹八賤
      1380,          //13 搬拌
      1500,          //14 歸榜捧磊家券, 家券賤
      1520,          //15 籃腳賤
      940,           //16 措籃腳
      1560,          //17 傈扁面拜
      1590,          //18 鑒埃撈悼
      1620,          //19 瘤凱厘
      1650,          //20 拳堪氣慣
      1680,          //21 措籃竅(傈扁欺嚨)
      0,           //22 館巋八過
      0,           //23 堪拳搬
      0,           //24 公怕焊
      3960,          //25 漚扁頗楷
      1790,          //26 措雀汗賤
      0,            //27 腳薦家券  Magic2
      3880,          //28 林賤狼阜
      3920,          //29 葷磊辣雀
      3840          //30 葫汲淺
   );
   MAXHITEFFECT = 5;
   HitEffectBase: array[0..MAXHITEFFECT-1] of integer = (
      800,           //0, 絹八賤
      1410,          //1 絹八賤
      1700,          //2 館巋八過
      3480,          //3 堪拳搬, 矯累
      3390          //4 堪拳搬 館婁烙
   );


   MAXMAGICTYPE = 12;

type
   TMagicType = (mtReady,           mtFly,            mtExplosion,
                 mtFlyAxe,          mtFireWind,       mtFireGun,
                 mtLightingThunder, mtThunder,        mtExploBujauk,
                 mtBujaukGroundEffect, mtKyulKai,     mtFlyArrow);

   TUseMagicInfo = record
      ServerMagicCode: integer;
      MagicSerial: integer;
      Target: integer; //recogcode
      EffectType: TMagicType;
      EffectNumber: integer;
      TargX: integer;
      TargY: integer;
      Recusion: Boolean;
      AniTime: integer;
   end;
   PTUseMagicInfo = ^TUseMagicInfo;

   TMagicEff = class
      Active: Boolean;
      ServerMagicId: integer;
      MagOwner: TObject;
      TargetActor: TObject;
      ImgLib: TWMImages;
      EffectBase: integer;
      MagExplosionBase: integer;
      px, py: integer;
      RX, RY: integer;  // 甘狼 諒釬肺 券魂茄 諒釬
      Dir16, OldDir16: byte;
      TargetX, TargetY: integer;   //鷗百狼 膠農赴 諒釬
      TargetRx, TargetRy: integer; //鷗百狼 甘 諒釬
      FlyX, FlyY, OldFlyX, OldFlyY: integer; //泅犁 諒釬
      FlyXf, FlyYf: Real;
      Repetition: Boolean; //局聰皋撈記 館汗
      FixedEffect: Boolean;  //絆瀝 局聰皋矯記
      MagicType: integer;
      NextEffect: TMagicEff;
      ExplosionFrame: integer;
      NextFrameTime: integer;
      Light: integer;
   private
      start, curframe, frame: integer;
      frametime: longword;
      starttime:  longword;
      repeattime: longword; //館汗 局聰皋撈記 矯埃 (-1: 拌加)
      steptime: longword;
      fireX, fireY: integer;
      firedisX, firedisY, newfiredisX, newfiredisY: integer;
      FireMyselfX, FireMyselfY: integer;
      prevdisx, prevdisy: integer; //朝酒啊綽 瓤苞狼 格釬客狼 芭府
   protected
      procedure GetFlyXY (ms: integer; var fx, fy: integer);
   public
      constructor Create (id, effnum, sx, sy, tx, ty: integer; mtype: TMagicType; Recusion: Boolean; anitime: integer);
      destructor Destroy; override;
      function  Run: Boolean; dynamic; //false:場車瀾.
      function  Shift: Boolean; dynamic;
      procedure DrawEff (surface: TDirectDrawSurface); dynamic;
   end;

   TFlyingAxe = class (TMagicEff)
      FlyImageBase: integer;
      ReadyFrame: integer;
   public
      constructor Create (id, effnum, sx, sy, tx, ty: integer; mtype: TMagicType; Recusion: Boolean; anitime: integer);
      procedure DrawEff (surface: TDirectDrawSurface); override;
   end;

   TFlyingArrow = class (TFlyingAxe)
   public
      procedure DrawEff (surface: TDirectDrawSurface); override;
   end;

   TCharEffect = class (TMagicEff)
   public
      constructor Create (effbase, effframe: integer; target: TObject);
      function  Run: Boolean; override; //false:場車瀾.
      procedure DrawEff (surface: TDirectDrawSurface); override;
   end;

   TMapEffect = class (TMagicEff)
   public
      RepeatCount: integer;
      constructor Create (effbase, effframe: integer; x, y: integer);
      function  Run: Boolean; override; //false:場車瀾.
      procedure DrawEff (surface: TDirectDrawSurface); override;
   end;

   TScrollHideEffect = class (TMapEffect)
   public
      constructor Create (effbase, effframe: integer; x, y: integer; target: TObject);
      function  Run: Boolean; override;
   end;

   TLightingEffect = class (TMagicEff)
   public
      constructor Create (effbase, effframe: integer; x, y: integer);
      function  Run: Boolean; override;
   end;

   TFireNode = record
      x: integer;
      y: integer;
      firenumber: integer;
   end;

   TFireGunEffect = class (TMagicEff)
   public
      OutofOil: Boolean;
      firetime: longword;
      FireNodes: array[0..FIREGUNFRAME-1] of TFireNode;
      constructor Create (effbase, sx, sy, tx, ty: integer);
      function  Run: Boolean; override;
      procedure DrawEff (surface: TDirectDrawSurface); override;
   end;

   TThuderEffect = class (TMagicEff)
   public
      constructor Create (effbase, tx, ty: integer; target: TObject);
      procedure DrawEff (surface: TDirectDrawSurface); override;
   end;

   TLightingThunder = class (TMagicEff)
   public
      constructor Create (effbase, sx, sy, tx, ty: integer; target: TObject);
      procedure DrawEff (surface: TDirectDrawSurface); override;
   end;

   TExploBujaukEffect = class (TMagicEff)
   public
      constructor Create (effbase, sx, sy, tx, ty: integer; target: TObject);
      procedure DrawEff (surface: TDirectDrawSurface); override;
   end;

   TBujaukGroundEffect = class (TMagicEff)
   public
      MagicNumber: integer;
      BoGroundEffect: Boolean;
      constructor Create (effbase, magicnumb, sx, sy, tx, ty: integer);
      function  Run: Boolean; override;
      procedure DrawEff (surface: TDirectDrawSurface); override;
   end;

   procedure GetEffectBase (mag, mtype: integer; var wimg: TWMImages; var idx: integer);


implementation

uses
   ClMain, Actor, SoundUtil;


procedure GetEffectBase (mag, mtype: integer; var wimg: TWMImages; var idx: integer);
//function  GetEffectBase (mag, mtype: integer): integer;
begin
   wimg := nil;
   idx := 0;
   case mtype of
      0:  //老館利牢 付過 矯累 橇貳烙
         begin
            case mag of
               8,  //礙拜
               27: //腳薦家券
                  begin
                     wimg := FrmMain.WMagic2;
                     if mag in [0..MAXEFFECT-1] then
                        idx := EffectBase[mag];
                  end;
               else
                  begin
                     wimg := FrmMain.WMagic;
                     if mag in [0..MAXEFFECT-1] then
                        idx := EffectBase[mag];
                  end;
            end;
         end;
      1: //八過 瓤苞
         begin
            wimg := FrmMain.WMagic;
            if mag in [0..MAXHITEFFECT-1] then begin
               idx := HitEffectBase[mag];
            end;
         end;
   end;
end;

constructor TMagicEff.Create (id, effnum, sx, sy, tx, ty: integer; mtype: TMagicType; Recusion: Boolean; anitime: integer);
var
   tax, tay: integer;
begin
   ImgLib := FrmMain.WMagic;  //扁夯
   case mtype of
      mtReady:
         begin
         end;
      mtFly,
      mtBujaukGroundEffect,
      mtExploBujauk:
         begin
            start := 0;
            frame := 6;
            curframe := start;
            FixedEffect := FALSE;
            Repetition := Recusion;
            ExplosionFrame := 10;
         end;
      mtExplosion,
      mtThunder,
      mtLightingThunder:
         begin
            start := 0;
            frame := -1;
            ExplosionFrame := 10;
            curframe := start;
            FixedEffect := TRUE;
            Repetition := FALSE;
         end;
      mtFlyAxe:
         begin
            start := 0;
            frame := 3;
            curframe := start;
            FixedEffect := FALSE;
            Repetition := Recusion;
            ExplosionFrame := 3;
         end;
      mtFlyArrow:
         begin
            start := 0;
            frame := 1;
            curframe := start;
            FixedEffect := FALSE;
            Repetition := Recusion;
            ExplosionFrame := 1;
         end;
   end;
   ServerMagicId := id; //輯滾狼 ID
   EffectBase := effnum;
   TargetX := tx;   // "   target x
   TargetY := ty;   // "   target y
   fireX := sx;     //金 困摹
   fireY := sy;     //
   FlyX := sx;      //朝酒啊絆 樂綽 困摹
   FlyY := sy;
   OldFlyX := sx;
   OldFlyY := sy;
   FlyXf := sx;
   FlyYf := sy;
   FireMyselfX := Myself.RX*UNITX + Myself.ShiftX;
   FireMyselfY := Myself.RY*UNITY + Myself.ShiftY;
   MagExplosionBase := EffectBase + EXPLOSIONBASE;
   light := 1;

   if fireX <> TargetX then tax := abs(TargetX-fireX)
   else tax := 1;
   if fireY <> TargetY then tay := abs(TargetY-fireY)
   else tay := 1;
   if abs(fireX-TargetX) > abs(fireY-TargetY) then begin
      firedisX := Round((TargetX-fireX) * (500 / tax));
      firedisY := Round((TargetY-fireY) * (500 / tax));
   end else begin
      firedisX := Round((TargetX-fireX) * (500 / tay));
      firedisY := Round((TargetY-fireY) * (500 / tay));
   end;

   NextFrameTime := 50;
   frametime := GetTickCount;
   starttime := GetTickCount;
   steptime := GetTickCount;
   RepeatTime := anitime;
   Dir16 := GetFlyDirection16 (sx, sy, tx, ty);
   OldDir16 := Dir16;
   NextEffect := nil;
   Active := TRUE;
   prevdisx := 99999;
   prevdisy := 99999;
end;

destructor TMagicEff.Destroy;
begin
   inherited Destroy;
end;

function  TMagicEff.Shift: Boolean;
   function OverThrough (olddir, newdir: integer): Boolean;
   begin
      Result := FALSE;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本丶国产丶欧美色综合| 午夜欧美视频在线观看| 综合电影一区二区三区 | 制服丝袜国产精品| 久久奇米777| 夜夜亚洲天天久久| 成人av综合在线| 久久影院午夜片一区| 亚洲午夜激情av| 成人午夜电影久久影院| 日韩欧美久久久| 婷婷一区二区三区| 日本久久精品电影| 丁香天五香天堂综合| 日本韩国一区二区| 国产欧美一区二区在线| 日韩精品一级中文字幕精品视频免费观看 | 国产a级毛片一区| 欧美一区二区三区在线观看| 夜夜揉揉日日人人青青一国产精品| 成人午夜免费视频| 久久久不卡影院| 国产一区二区在线影院| 日韩一区二区电影| 日韩av电影免费观看高清完整版在线观看| 97精品国产露脸对白| 欧美国产日本韩| 盗摄精品av一区二区三区| 久久久久久久综合色一本| 精品一区免费av| 久久久久国产精品人| 国产suv一区二区三区88区| 久久婷婷国产综合国色天香| 精品一区二区影视| 精品99一区二区| 韩国av一区二区三区在线观看| 26uuu国产在线精品一区二区| 免费美女久久99| 欧美mv日韩mv国产网站app| 精品一区二区免费| 国产亚洲女人久久久久毛片| 丁香婷婷综合激情五月色| 日韩美女啊v在线免费观看| 91美女视频网站| 亚洲国产精品一区二区www在线 | 无码av中文一区二区三区桃花岛| 日本精品一级二级| 五月婷婷欧美视频| 日韩一区二区三免费高清| 日本va欧美va瓶| 国产午夜精品久久久久久免费视| 成人v精品蜜桃久久一区| 亚洲一区二区三区精品在线| 日韩一区二区三区电影| 国产精品亚洲午夜一区二区三区 | 国产精品乱码一区二区三区软件| 成人午夜精品在线| 一级特黄大欧美久久久| 日韩午夜中文字幕| av影院午夜一区| 天天影视色香欲综合网老头| 欧美成人福利视频| 不卡视频在线看| 日韩综合一区二区| 国产欧美精品国产国产专区| 欧美最猛黑人xxxxx猛交| 精品一区二区三区免费播放| 国产精品国产三级国产a| 欧美精品aⅴ在线视频| 国产综合色在线| 亚洲成a人片在线不卡一二三区| 精品久久久久香蕉网| 一本一道久久a久久精品| 久久99久久99小草精品免视看| 国产精品日日摸夜夜摸av| 欧美精品第一页| 99精品久久99久久久久| 久久精品免费观看| 亚洲高清免费观看| 国产精品婷婷午夜在线观看| 91精品国产麻豆国产自产在线| 成人福利视频网站| 久久国产精品99久久人人澡| 亚洲精品视频在线观看免费| 2020国产成人综合网| 欧美日韩中文字幕一区| 北岛玲一区二区三区四区| 久久国产精品免费| 亚洲不卡一区二区三区| 最近日韩中文字幕| 国产日韩精品一区二区三区在线| 欧美日韩国产精品自在自线| 99久久777色| 高清不卡在线观看| 韩国视频一区二区| 奇米一区二区三区| 三级欧美韩日大片在线看| 亚洲欧美激情视频在线观看一区二区三区| 久久综合久色欧美综合狠狠| 911精品国产一区二区在线| 91久久久免费一区二区| av爱爱亚洲一区| 懂色av中文一区二区三区| 国模套图日韩精品一区二区| 免费观看一级特黄欧美大片| 日韩电影在线一区| 日韩av电影免费观看高清完整版在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲欧洲av在线| 国产精品萝li| 国产精品传媒入口麻豆| 国产精品久线观看视频| 亚洲国产精品精华液ab| 国产亚洲一区二区三区四区| 国产校园另类小说区| 久久精品男人天堂av| 国产欧美一区二区精品忘忧草 | 日韩女优av电影在线观看| 欧美一区二区三区视频在线观看 | 欧美一a一片一级一片| 色婷婷一区二区三区四区| 91影院在线免费观看| 91丨九色丨国产丨porny| 一本久道中文字幕精品亚洲嫩| 91蜜桃婷婷狠狠久久综合9色| 99国产精品久久久久久久久久| caoporn国产精品| 色婷婷国产精品| 欧美日韩国产片| 欧美电影免费观看高清完整版在线| 日韩精品一区二区三区中文不卡 | 91精选在线观看| 亚洲精品在线三区| 国产拍欧美日韩视频二区| 亚洲免费观看高清完整版在线观看| 一区二区三区国产| 人人精品人人爱| 国产宾馆实践打屁股91| 色综合久久天天| 在线播放视频一区| 久久久蜜桃精品| 亚洲精选视频在线| 青青草国产精品亚洲专区无| 国产一区二区成人久久免费影院| 粉嫩13p一区二区三区| 欧美视频精品在线观看| 欧美α欧美αv大片| 综合电影一区二区三区| 日本视频免费一区| 成人av免费在线| 在线播放日韩导航| 中文字幕欧美一| 肉肉av福利一精品导航| 国产成人亚洲综合a∨猫咪| 91福利在线播放| 久久久不卡网国产精品一区| 夜夜爽夜夜爽精品视频| 国产精品99久久久久久有的能看| 色婷婷亚洲婷婷| 国产亚洲va综合人人澡精品| 午夜日韩在线电影| 成人sese在线| 精品伦理精品一区| 亚洲一区二区免费视频| 国产成+人+日韩+欧美+亚洲| 欧美一区二区三区日韩| 综合婷婷亚洲小说| 国产乱对白刺激视频不卡| 欧美日韩精品一区视频| 国产精品久久网站| 久久av中文字幕片| 欧美视频一二三区| 亚洲日穴在线视频| 国产精品一区二区黑丝| 欧美男生操女生| 一区二区三区在线免费观看| 国产成人三级在线观看| 日韩欧美另类在线| 天堂在线亚洲视频| 欧美在线观看禁18| 自拍偷拍亚洲综合| gogo大胆日本视频一区| 国产亚洲精品精华液| 卡一卡二国产精品 | 9191国产精品| 亚洲伊人伊色伊影伊综合网| av亚洲精华国产精华精华| 国产日产欧美一区| 精品亚洲免费视频| 这里只有精品电影| 日韩精品一级二级| 3d动漫精品啪啪一区二区竹菊| 亚洲一区免费在线观看| 在线中文字幕一区| 亚洲午夜激情av| 欧美丰满嫩嫩电影| 欧美96一区二区免费视频| 欧美精选一区二区| 日韩精品五月天| 日韩一区二区麻豆国产|