したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

【Weiss】技術的なスレ

8077:2003/03/26(水) 01:10 ID:qWxOwy7w
129://Blitz beat
begin
if MTargetType = 1 then begin
MMode := 0;
goto ExitSkill; //PK不可
end;
ts := AData;
if (ts = nil) or (ts.HP = 0) then begin
MMode := 0;
goto ExitSkill;
end;
//if tm.Mob.IndexOf(IntToStr(tc.MTarget)) = -1 then goto ExitSkill;
//射程チェック
if (abs(tc.Point.X - ts.Point.X) > tl.Range) or (abs(tc.Point.Y - ts.Point.Y) > tl.Range) then begin
if MTick + 500 < Tick then MMode := 0;
goto ExitSkill;
end;
pcnt := 0;
//ダメージ算出
if tc.Skill[128].Lv <> 0 then begin
dmg[0] := tc.Skill[128].Data.Data1[Skill[128].Lv] ;
end else begin
dmg[0] := 0
end;
dmg[0] := dmg[0] + (((tc.param[4]) div 10) + ((tc.param[3]) div 2)) * 2 + 80;
dmg[0] := dmg[0] * tc.MUseLV;

//属性相性補正入れて(´ロ`;)

if dmg[0] < 0 then dmg[0] := 0; //魔法攻撃での回復は未実装
//パケ送信
SendCSkillAtk(tm, tc, ts, Tick, dmg[0], tc.MUseLV);
SkillProcessType := 1;
xy := ts.Point;
//ダメージ算出2
for j1 := xy.Y div 8 - 2 to xy.Y div 8 + 2 do begin
for i1 := xy.X div 8 - 2 to xy.X div 8 + 2 do begin
//for k1 := 0 to tm.Block[i1][j1].Mob.Count - 1 do begin
k1 := 0;
while (k1 >= 0) and (k1 < tm.Block[i1][j1].Mob.Count) do begin
ts1 := tm.Block[i1][j1].Mob.Objects[k1] as TMob;
if (ts <> ts1) and (abs(ts1.Point.X - xy.X) <= 1) and (abs(ts1.Point.Y - xy.Y) <= 1) then begin
if tc.Skill[128].Lv <> 0 then begin
dmg[0] := tc.Skill[128].Data.Data1[Skill[128].Lv] ;
end else begin
dmg[0] := 0
end;
dmg[0] := dmg[0] + (((tc.param[4]) div 10) + ((tc.param[3]) div 2)) * 2 + 80;
dmg[0] := dmg[0] * tc.MUseLV;

//属性相性補正入れて(´ロ`;)
SendCSkillAtk(tm, tc, ts1, Tick, dmg[0], tc.MUseLV);
//ダメージ処理
DamageProcess1(tm, tc, ts1, dmg[0], Tick);
end;
Inc(k1);
end;
end;
end;
end;

手動ブリッツできたっぽいです(´ヮ`;)
これとほぼ同じ処理を通常攻撃の後に入れれば自動ブリッツいけそうな気がしますがどうなんでしょう


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板