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

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

?? magiceff.pas

?? 解元 傳奇2客戶端delphi源程序
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
      if abs(olddir-newdir) >= 2 then begin
         Result := TRUE;
         if ((olddir=0) and (newdir=15)) or ((olddir=15) and (newdir=0)) then
            Result := FALSE;
      end;
   end;
var
   i, rrx, rry, ms, stepx, stepy, newstepx, newstepy, nn: integer;
   tax, tay, shx, shy, passdir16: integer;
   crash: Boolean;
   stepxf, stepyf: Real;
begin
   Result := TRUE;
   if Repetition then begin
      if GetTickCount - steptime > longword(NextFrameTime) then begin
         steptime := GetTickCount;
         Inc (curframe);
         if curframe > start+frame-1 then
            curframe := start;
      end;
   end else begin
      if (frame > 0) and (GetTickCount - steptime > longword(NextFrameTime)) then begin
         steptime := GetTickCount;
         Inc (curframe);
         if curframe > start+frame-1 then begin
            curframe := start+frame-1;
            Result := FALSE;
         end;
      end;
   end;
   if (not FixedEffect) then begin

      crash := FALSE;
      if TargetActor <> nil then begin
         ms := GetTickCount - frametime;  //撈傈 瓤苞甫 弊赴饒 倔付唱 矯埃撈 汝范綽瘤?
         frametime := GetTickCount;
         //TargetX, TargetY 犁汲瀝
         PlayScene.ScreenXYfromMCXY (TActor(TargetActor).RX,
                                     TActor(TargetActor).RY,
                                     TargetX,
                                     TargetY);
         shx := (Myself.RX*UNITX + Myself.ShiftX) - FireMyselfX;
         shy := (Myself.RY*UNITY + Myself.ShiftY) - FireMyselfY;
         TargetX := TargetX + shx;
         TargetY := TargetY + shy;

         //貨肺款 鷗百闌 諒釬甫 貨肺 汲瀝茄促.
         if FlyX <> TargetX then tax := abs(TargetX-FlyX)
         else tax := 1;
         if FlyY <> TargetY then tay := abs(TargetY-FlyY)
         else tay := 1;
         if abs(FlyX-TargetX) > abs(FlyY-TargetY) then begin
            newfiredisX := Round((TargetX-FlyX) * (500 / tax));
            newfiredisY := Round((TargetY-FlyY) * (500 / tax));
         end else begin
            newfiredisX := Round((TargetX-FlyX) * (500 / tay));
            newfiredisY := Round((TargetY-FlyY) * (500 / tay));
         end;

         if firedisX < newfiredisX then firedisX := firedisX + _MAX(1, (newfiredisX - firedisX) div 10);
         if firedisX > newfiredisX then firedisX := firedisX - _MAX(1, (firedisX - newfiredisX) div 10);
         if firedisY < newfiredisY then firedisY := firedisY + _MAX(1, (newfiredisY - firedisY) div 10);
         if firedisY > newfiredisY then firedisY := firedisY - _MAX(1, (firedisY - newfiredisY) div 10);

         stepxf := (firedisX/700) * ms;
         stepyf := (firedisY/700) * ms;
         FlyXf := FlyXf + stepxf;
         FlyYf := FlyYf + stepyf;
         FlyX := Round (FlyXf);
         FlyY := Round (FlyYf);

         //規氫 犁汲瀝
       //  Dir16 := GetFlyDirection16 (OldFlyX, OldFlyY, FlyX, FlyY);
         OldFlyX := FlyX;
         OldFlyY := FlyY;
         //烹苞咯何甫 犬牢竅扁 困竅咯
         passdir16 := GetFlyDirection16 (FlyX, FlyY, TargetX, TargetY);

         //DebugOutStr (IntToStr(prevdisx) + ' ' + IntToStr(prevdisy) + ' / ' + IntToStr(abs(TargetX-FlyX)) + ' ' + IntToStr(abs(TargetY-FlyY)) + '   ' +
         //             IntToStr(firedisX) + '.' + IntToStr(firedisY) + ' ' +
         //             IntToStr(FlyX) + '.' + IntToStr(FlyY) + ' ' +
         //             IntToStr(TargetX) + '.' + IntToStr(TargetY));
         if ((abs(TargetX-FlyX) <= 15) and (abs(TargetY-FlyY) <= 15)) or
            ((abs(TargetX-FlyX) >= prevdisx) and (abs(TargetY-FlyY) >= prevdisy)) or
            OverThrough(OldDir16, passdir16) then begin
            crash := TRUE;
         end else begin
            prevdisx := abs(TargetX-FlyX);
            prevdisy := abs(TargetY-FlyY);
            //if (prevdisx <= 5) and (prevdisy <= 5) then crash := TRUE;
         end;
         OldDir16 := passdir16;

      end else begin
         ms := GetTickCount - frametime;  //瓤苞狼 矯累饒 倔付唱 矯埃撈 汝范綽瘤?

         rrx := TargetX - fireX;
         rry := TargetY - fireY;

         stepx := Round ((firedisX/900) * ms);
         stepy := Round ((firedisY/900) * ms);
         FlyX := fireX + stepx;
         FlyY := fireY + stepy;
      end;

      PlayScene.CXYfromMouseXY (FlyX, FlyY, Rx, Ry);

      if crash and (TargetActor <> nil) then begin
         FixedEffect := TRUE;  //氣慣
         start := 0;
         frame := ExplosionFrame;
         curframe := start;
         Repetition := FALSE;

         //磐瘤綽 葷款靛
         PlaySound (TActor(MagOwner).magicexplosionsound);

      end;
      //if not Map.CanFly (Rx, Ry) then
      //   Result := FALSE;
   end;
   if FixedEffect then begin
      if frame = -1 then frame := ExplosionFrame;
      if TargetActor = nil then begin
         FlyX := TargetX - ((Myself.RX*UNITX + Myself.ShiftX) - FireMyselfX);
         FlyY := TargetY - ((Myself.RY*UNITY + Myself.ShiftY) - FireMyselfY);
         PlayScene.CXYfromMouseXY (FlyX, FlyY, Rx, Ry);
      end else begin
         Rx := TActor(TargetActor).Rx;
         Ry := TActor(TargetActor).Ry;
         PlayScene.ScreenXYfromMCXY (Rx, Ry, FlyX, FlyY);
         FlyX := FlyX + TActor(TargetActor).ShiftX;
         FlyY := FlyY + TActor(TargetActor).ShiftY;
      end;
   end;
end;

procedure TMagicEff.GetFlyXY (ms: integer; var fx, fy: integer);
var
   rrx, rry, stepx, stepy: integer;
begin
   rrx := TargetX - fireX;
   rry := TargetY - fireY;

   stepx := Round ((firedisX/900) * ms);
   stepy := Round ((firedisY/900) * ms);
   fx := fireX + stepx;
   fy := fireY + stepy;
end;

function  TMagicEff.Run: Boolean;
begin
   Result := Shift;
   if Result then
      if GetTickCount - starttime > 10000 then //2000 then
         Result := FALSE
      else Result := TRUE;
end;

procedure TMagicEff.DrawEff (surface: TDirectDrawSurface);
var
   img: integer;
   d: TDirectDrawSurface;
   shx, shy: integer;
begin
   if Active and ((Abs(FlyX-fireX) > 15) or (Abs(FlyY-fireY) > 15) or FixedEffect) then begin

      shx := (Myself.RX*UNITX + Myself.ShiftX) - FireMyselfX;
      shy := (Myself.RY*UNITY + Myself.ShiftY) - FireMyselfY;

      if not FixedEffect then begin
         //朝酒啊綽芭
         img := EffectBase + FLYBASE + Dir16 * 10;
         d := ImgLib.GetCachedImage (img + curframe, px, py);
         if d <> nil then begin
            DrawBlend (surface,
                       FlyX + px - UNITX div 2 - shx,
                       FlyY + py - UNITY div 2 - shy,
                       d, 1);
         end;
      end else begin
         //磐瘤綽芭
         img := MagExplosionBase + curframe; //EXPLOSIONBASE;
         d := ImgLib.GetCachedImage (img, px, py);
         if d <> nil then begin
            DrawBlend (surface,
                       FlyX + px - UNITX div 2,
                       FlyY + py - UNITY div 2,
                       d, 1);
         end;
      end;
   end;
end;


{------------------------------------------------------------}

//      TFlyingAxe : 朝酒啊綽 檔嘗

{------------------------------------------------------------}


constructor TFlyingAxe.Create (id, effnum, sx, sy, tx, ty: integer; mtype: TMagicType; Recusion: Boolean; anitime: integer);
begin
   inherited Create (id, effnum, sx, sy, tx, ty, mtype, Recusion, anitime);
   FlyImageBase := FLYOMAAXEBASE;
   ReadyFrame := 65;
end;

procedure TFlyingAxe.DrawEff (surface: TDirectDrawSurface);
var
   img: integer;
   d: TDirectDrawSurface;
   shx, shy: integer;
begin
   if Active and ((Abs(FlyX-fireX) > ReadyFrame) or (Abs(FlyY-fireY) > ReadyFrame)) then begin

      shx := (Myself.RX*UNITX + Myself.ShiftX) - FireMyselfX;
      shy := (Myself.RY*UNITY + Myself.ShiftY) - FireMyselfY;

      if not FixedEffect then begin
         //朝酒啊綽芭
         img := FlyImageBase + Dir16 * 10;
         d := ImgLib.GetCachedImage (img + curframe, px, py);
         if d <> nil then begin
            //舅頗喉琺爹竅瘤 臼瀾
            surface.Draw (FlyX + px - UNITX div 2 - shx,
                          FlyY + py - UNITY div 2 - shy,
                          d.ClientRect, d, TRUE);
         end;
      end else begin
         {//瀝瘤, 檔嘗俊 嘛腮 葛嚼.
         img := FlyImageBase + Dir16 * 10;
         d := ImgLib.GetCachedImage (img, px, py);
         if d <> nil then begin
            //舅頗喉琺爹竅瘤 臼瀾
            surface.Draw (FlyX + px - UNITX div 2,
                          FlyY + py - UNITY div 2,
                          d.ClientRect, d, TRUE);
         end;  }
      end;
   end;
end;


{------------------------------------------------------------}

//      TFlyingArrow : 朝酒啊綽 拳混

{------------------------------------------------------------}


procedure TFlyingArrow.DrawEff (surface: TDirectDrawSurface);
var
   img: integer;
   d: TDirectDrawSurface;
   shx, shy: integer;
begin
//(**6巋菩摹
   if Active and ((Abs(FlyX-fireX) > 40) or (Abs(FlyY-fireY) > 40)) then begin
//*)
(**撈傈
   if Active then begin //and ((Abs(FlyX-fireX) > 65) or (Abs(FlyY-fireY) > 65)) then begin
//*)
      shx := (Myself.RX*UNITX + Myself.ShiftX) - FireMyselfX;
      shy := (Myself.RY*UNITY + Myself.ShiftY) - FireMyselfY;

      if not FixedEffect then begin
         //朝酒啊綽芭
         img := FlyImageBase + Dir16; // * 10;
         d := ImgLib.GetCachedImage (img + curframe, px, py);
//(**6巋菩摹
         if d <> nil then begin
            //舅頗喉琺爹竅瘤 臼瀾
            surface.Draw (FlyX + px - UNITX div 2 - shx,
                          FlyY + py - UNITY div 2 - shy - 46,
                          d.ClientRect, d, TRUE);
         end;
//**)
(***撈傈
         if d <> nil then begin
            //舅頗喉琺爹竅瘤 臼瀾
            surface.Draw (FlyX + px - UNITX div 2 - shx,
                          FlyY + py - UNITY div 2 - shy,
                          d.ClientRect, d, TRUE);
         end;
//**)
      end;
   end;
end;


{--------------------------------------------------------}

constructor TCharEffect.Create (effbase, effframe: integer; target: TObject);
begin
   inherited Create (111, effbase,
                     TActor(target).XX, TActor(target).YY,
                     TActor(target).XX, TActor(target).YY,
                     mtExplosion,
                     FALSE,
                     0);
   TargetActor := target;
   frame := effframe;
   NextFrameTime := 30;
end;

function  TCharEffect.Run: Boolean;
begin
   Result := TRUE;
   if GetTickCount - steptime > longword(NextFrameTime) then begin
      steptime := GetTickCount;
      Inc (curframe);
      if curframe > start+frame-1 then begin
         curframe := start+frame-1;
         Result := FALSE;
      end;
   end;
end;

procedure TCharEffect.DrawEff (surface: TDirectDrawSurface);
var
   d: TDirectDrawSurface;
begin
   if TargetActor <> nil then begin
      Rx := TActor(TargetActor).Rx;
      Ry := TActor(TargetActor).Ry;
      PlayScene.ScreenXYfromMCXY (Rx, Ry, FlyX, FlyY);
      FlyX := FlyX + TActor(TargetActor).ShiftX;
      FlyY := FlyY + TActor(TargetActor).ShiftY;
      d := ImgLib.GetCachedImage (EffectBase + curframe, px, py);
      if d <> nil then begin
         DrawBlend (surface,
                    FlyX + px - UNITX div 2,
                    FlyY + py - UNITY div 2,
                    d, 1);
      end;
   end;
end;


{--------------------------------------------------------}

constructor TMapEffect.Create (effbase, effframe: integer; x, y: integer);
begin
   inherited Create (111, effbase,
                     x, y,
                     x, y,
                     mtExplosion,
                     FALSE,
                     0);
   TargetActor := nil;
   frame := effframe;
   NextFrameTime := 30;
   RepeatCount := 0;
end;

function  TMapEffect.Run: Boolean;
begin
   Result := TRUE;
   if GetTickCount - steptime > longword(NextFrameTime) then begin

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久妇女6080 | 国产日韩欧美制服另类| 亚洲国产精品久久人人爱| 色美美综合视频| 亚洲综合在线第一页| 欧美三级乱人伦电影| 首页国产欧美久久| 欧美va亚洲va在线观看蝴蝶网| 麻豆精品一二三| 国产天堂亚洲国产碰碰| 91在线观看美女| 亚洲午夜电影在线| 91精品国产综合久久久久久漫画| 免费成人在线观看| 久久久亚洲午夜电影| 成人美女视频在线观看18| 综合在线观看色| 欧美视频一区二区三区四区 | 亚洲天堂精品视频| 欧美中文字幕久久| 久久精品国产99国产精品| 久久精品一区二区| 在线观看日韩一区| 久久超碰97人人做人人爱| 国产无遮挡一区二区三区毛片日本| 97se亚洲国产综合自在线不卡| 亚洲国产精品一区二区www在线| 日韩欧美高清一区| www.66久久| 日本三级亚洲精品| 亚洲欧洲日本在线| 欧美肥胖老妇做爰| 成年人午夜久久久| 日韩av二区在线播放| 亚洲国产精品黑人久久久| 欧美老年两性高潮| 成人午夜伦理影院| 男人的天堂亚洲一区| 国产精品乱人伦一区二区| 777久久久精品| 色综合视频在线观看| 韩国女主播成人在线观看| 一区二区三区毛片| 久久无码av三级| 欧美狂野另类xxxxoooo| 成人免费毛片嘿嘿连载视频| 日韩精品免费专区| 亚洲视频一区二区免费在线观看| 日韩欧美二区三区| 日本高清不卡在线观看| 精品一区二区在线看| 亚洲国产你懂的| **欧美大码日韩| 久久久久久亚洲综合影院红桃| 欧美天堂亚洲电影院在线播放| 高清成人在线观看| 男女男精品视频| 亚洲激情网站免费观看| 欧美高清在线一区二区| 精品日韩在线观看| 欧美丰满嫩嫩电影| 欧美日韩亚洲综合一区二区三区| 99re这里都是精品| 不卡的av网站| 欧美麻豆精品久久久久久| 波多野结衣亚洲一区| 懂色av一区二区三区免费观看| 久久国产麻豆精品| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲黄色免费电影| 亚洲免费观看高清完整版在线 | 99热精品一区二区| 国产.欧美.日韩| 国产99精品视频| 成人免费视频视频在线观看免费| 麻豆精品在线看| 捆绑调教一区二区三区| 久久成人免费网| 久久99精品一区二区三区| 免费观看日韩av| 久久69国产一区二区蜜臀 | 国精产品一区一区三区mba桃花 | 国产精品18久久久久| 精品一区二区日韩| 蜜桃一区二区三区在线| 久久国产欧美日韩精品| 狠狠色丁香久久婷婷综合_中| 国模少妇一区二区三区| 国产综合久久久久影院| 国产精品亚洲一区二区三区在线| 久久99久久99精品免视看婷婷| 国产乱码一区二区三区| 成人福利视频在线看| 91同城在线观看| 欧美疯狂性受xxxxx喷水图片| 日韩网站在线看片你懂的| 久久久久97国产精华液好用吗| 国产欧美日韩亚州综合| 亚洲欧美怡红院| 亚洲国产精品久久久久秋霞影院| 日韩专区在线视频| 国产一区二区毛片| heyzo一本久久综合| 在线日韩av片| 精品国产欧美一区二区| 国产亚洲欧美在线| 欧美一级片在线| wwwwww.欧美系列| 久久久99精品免费观看不卡| 久久免费电影网| 国产精品卡一卡二卡三| 中日韩av电影| 久久精品视频一区二区| 国产精品入口麻豆原神| 国产精品国产自产拍高清av王其| 18欧美亚洲精品| 洋洋av久久久久久久一区| 日韩理论在线观看| 久久精品国产久精国产爱| 国产麻豆精品一区二区| 成人高清在线视频| 欧美亚洲高清一区| 欧美一区二区三区免费在线看| 欧美一级一区二区| 亚洲国产精品ⅴa在线观看| 亚洲精品欧美激情| 三级亚洲高清视频| 国产精品一二三四区| 激情图片小说一区| 在线观看亚洲专区| 欧美成人官网二区| 国产精品乱人伦| 成人sese在线| 欧美日韩黄色一区二区| www国产成人免费观看视频 深夜成人网| 国产午夜精品久久| 亚洲一级二级在线| 99视频超级精品| 欧美一区二区在线看| 中文无字幕一区二区三区| 亚洲黄色录像片| 国产精品99久久久久久久女警| 欧美亚洲国产一区在线观看网站| www国产精品av| 亚洲精品欧美综合四区| 亚洲aaa精品| 91丝袜美女网| 久久综合狠狠综合久久综合88| 亚洲六月丁香色婷婷综合久久 | 成人妖精视频yjsp地址| 欧美视频精品在线观看| 精品国产在天天线2019| 亚洲一线二线三线久久久| 国产精品一区二区黑丝| 5858s免费视频成人| 中文字幕第一区第二区| 蜜桃一区二区三区四区| 97久久精品人人爽人人爽蜜臀| 久久久久国产精品厨房| 日韩av一级片| 色哟哟一区二区在线观看| 亚洲精品在线免费播放| 久草热8精品视频在线观看| 欧美色网站导航| 国产精品免费久久久久| 激情国产一区二区| 欧美精品视频www在线观看| 亚洲欧美偷拍另类a∨色屁股| 国产精品1区二区.| 717成人午夜免费福利电影| 亚洲欧美日韩中文字幕一区二区三区| 国产综合久久久久影院| 日韩视频一区二区三区在线播放 | 美女网站色91| 欧美亚洲精品一区| 国产精品三级av在线播放| 国产一本一道久久香蕉| 欧美一级xxx| 五月天久久比比资源色| 欧美r级电影在线观看| 日韩中文字幕1| 欧美区视频在线观看| 亚洲一区电影777| 成人自拍视频在线观看| 亚洲欧洲一区二区在线播放| 国产精品亚洲第一区在线暖暖韩国| 日韩欧美国产麻豆| 免费欧美日韩国产三级电影| 欧美日韩在线播放三区| 欧美a一区二区| 日韩欧美中文字幕一区| 日韩电影在线观看电影| 777午夜精品免费视频| 国产呦精品一区二区三区网站| 日韩三级电影网址| 激情深爱一区二区| 国产色91在线| 国产麻豆精品在线观看| 亚洲美女屁股眼交3| 在线观看视频一区|