📄 magic.pas
字号:
nPower:= PlayObject.GetAttackPower (GetPower(MPow(UserMagic)) + LoWord(PlayObject.m_WAbil.SC) * 2,
SmallInt(HiWord(PlayObject.m_WAbil.SC)-LoWord(PlayObject.m_WAbil.SC)) * 2 + 1);
if MagBigHealing(PlayObject,nPower,nTargetX,nTargetY) then boTrain:=True;
end;
SKILL_SINSU{30}: begin //00494476 //召唤神兽
boSpellFail:=True;
if CheckAmulet(PlayObject,2,1,nAmuletIdx) then begin
UseAmulet(PlayObject,2,1,nAmuletIdx);
{
if BaseObject.m_UseItems[U_ARMRINGL].Dura >= 500 then Dec(BaseObject.m_UseItems[U_ARMRINGL].Dura,500)
else BaseObject.m_UseItems[U_ARMRINGL].Dura:=0;
BaseObject.SendMsg(BaseObject,RM_DURACHANGE,5,BaseObject.m_UseItems[U_ARMRINGL].Dura,BaseObject.m_UseItems[U_ARMRINGL].DuraMax,0,'');
}
// if (UserMagic.MagicInfo.wMagicId = 30) and not PlayObject.sub_4DD704 then begin
if MagMakeSinSuSlave(PlayObject,UserMagic) then begin
boTrain:=True;
end;
// if PlayObject.MakeSlave(g_Config.sDogz,UserMagic.btLevel,1,10 * 24 * 60 * 60) <> nil then
// boTrain:=True;
// end;
boSpellFail:=False;
end;
end;
SKILL_SHIELD{31}: begin //魔法盾 00493D15
if PlayObject.MagBubbleDefenceUp(UserMagic.btLevel,GetPower(GetRPow(PlayObject.m_WAbil.MC) + 15)) then
boTrain:=True;
end;
SKILL_KILLUNDEAD{32}:begin //00493A97 圣言术
if PlayObject.IsProperTarget (TargeTBaseObject) then begin
if MagTurnUndead(PlayObject,TargeTBaseObject,nTargetX,nTargetY,UserMagic.btLevel) then
boTrain:=True;
end;
end;
SKILL_SNOWWIND{33}: begin //00493C43 冰咆哮
if MagBigExplosion(PlayObject,
PlayObject.GetAttackPower(GetPower(MPow(UserMagic)) + LoWord(PlayObject.m_WAbil.MC),SmallInt(HiWord(PlayObject.m_WAbil.MC)-LoWord(PlayObject.m_WAbil.MC))+ 1),
0,
nTargetX,
nTargetY,
g_Config.nSnowWindRange{1},0) then
boTrain:=True;
end;
SKILL_UNAMYOUNSUL{65}: begin //解毒术 群体
{ if TargeTBaseObject = nil then begin
TargeTBaseObject:=PlayObject;
nTargetX:=PlayObject.m_nCurrX;
nTargetY:=PlayObject.m_nCurrY;
end; }
if Random(11) < UserMagic.btLevel * 2 + 4 then begin // Random(3) - (UserMagic.btLevel*2 + 3) < 0
if MagGroupjd(PlayObject,nTargetX,nTargetY) then boTrain:=True;
end;
end;
SKILL_WINDTEBO{37狮子吼}: if MagWindTebo(PlayObject,UserMagic) then boTrain:=True;
//冰焰
(* SKILL_MABE{36}: begin
with PlayObject do begin
nPower:= GetAttackPower (GetPower(MPow(UserMagic)) + LoWord(m_WAbil.MC),
SmallInt(HiWord(m_WAbil.MC)-LoWord(m_WAbil.MC)) + 1);
end;
if MabMabe(PlayObject,TargeTBaseObject,nPower,UserMagic.btLevel,nTargetX,nTargetY) then
boTrain:=True;
end; *)
SKILL_GROUPLIGHTENING{53 五雷轰}: begin
if MagGroupLightening(PlayObject,UserMagic,nTargetX, nTargetY,TargeTBaseObject,boSpellFire) then
boTrain:=True;
end;
54 : begin //冰旋风
if MagGroupwind(PlayObject,UserMagic,nTargetX, nTargetY,TargeTBaseObject,boSpellFire) then
boTrain:=True;
end;
SKILL_GROUPAMYOUNSUL{38 群体施毒术}: begin
if MagGroupAmyounsul(PlayObject,UserMagic,nTargetX, nTargetY,TargeTBaseObject) then
boTrain:=True;
end;
SKILL_GROUPDEDING{39 地钉}: begin
if MagGroupDeDing(PlayObject,UserMagic,nTargetX, nTargetY,TargeTBaseObject) then
boTrain:=True;
end;
SKILL_40: begin //双龙斩
end;
{ SKILL_37: begin // 麻痹
if MagGroupMb(PlayObject,UserMagic,nTargetX, nTargetY,TargeTBaseObject) then
boTrain:=True;
end; }
SKILL_42: begin //护身真气
if MagADDABILITY(PlayObject,UserMagic.btLevel,0) then boTrain:=True;
end;
SKILL_43: begin //破空剑
end;
//法师
SKILL_44: begin //结冰掌
if MagHbFireBall(PlayObject,UserMagic,nTargetX, nTargetY,TargeTBaseObject) then boTrain:=True;
end;
{ SKILL_45: begin //灭天火
if PlayObject.IsProperTarget (TargeTBaseObject) then begin
if (Random(10) >= TargeTBaseObject.m_nAntiMagic) then begin
nPower:= PlayObject.GetAttackPower (GetPower(MPow(UserMagic)) + LoWord(PlayObject.m_WAbil.MC),
SmallInt(HiWord(PlayObject.m_WAbil.MC)-LoWord(PlayObject.m_WAbil.MC))+ 1);
if TargeTBaseObject.m_btLifeAttrib = LA_UNDEAD then
nPower:=ROUND(nPower * 1.5);
PlayObject.SendDelayMsg(PlayObject,RM_DELAYMAGIC,nPower,MakeLong(nTargetX,nTargetY),2,Integer(TargeTBaseObject),'',600);
if TargeTBaseObject.m_btRaceServer >= RC_ANIMAL then
boTrain:=True;
end else TargeTBaseObject:=nil
end else TargeTBaseObject:=nil;
end; }
{ SKILL_46: begin //分身术
boTrain:=True;
end;
}
//道士
{ SKILL_48: begin //气功波
if MagPushArround(PlayObject,UserMagic.btLevel) > 0 then boTrain:=True;
end;
}
// SKILL_49: begin //净化术
// boTrain:=True;
// end;
SKILL_50: begin //风火轮
if PlayObject.Magfenghuo(UserMagic.btLevel,GetPower(GetRPow(PlayObject.m_WAbil.MC) + 15)) then
boTrain:=True;
end;
{ SKILL_51: begin //
boTrain:=True;
end; }
// SKILL_52: begin //
// boTrain:=True;
// end;
SKILL_61: begin //金刚护体
if MagADDABILITY(PlayObject,UserMagic.btLevel,1) then boTrain:=True;
end;
SKILL_63: begin //
boTrain:=True;
end;
SKILL_64: begin //神光术 //群体解麻痹 解诅咒
if Random(11) < UserMagic.btLevel * 2 + 4 then begin // Random(3) - (UserMagic.btLevel*2 + 3) < 0
if MagGroupsg(PlayObject,nTargetX,nTargetY) then boTrain:=True;
end;
end;
SKILL_66: begin //强化骷髅术
boSpellFail:=True;
if CheckAmulet(PlayObject,2,1,nAmuletIdx) then begin
UseAmulet(PlayObject,2,1,nAmuletIdx);
{
if BaseObject.m_UseItems[U_ARMRINGL].Dura >= 500 then Dec(BaseObject.m_UseItems[U_ARMRINGL].Dura,500)
else BaseObject.m_UseItems[U_ARMRINGL].Dura:=0;
BaseObject.SendMsg(BaseObject,RM_DURACHANGE,5,BaseObject.m_UseItems[U_ARMRINGL].Dura,BaseObject.m_UseItems[U_ARMRINGL].DuraMax,0,'');
}
// if (UserMagic.MagicInfo.wMagicId = 30) and not PlayObject.sub_4DD704 then begin
if MagMakePowerSlave(PlayObject,UserMagic) then begin
boTrain:=True;
end;
// if PlayObject.MakeSlave(g_Config.sDogz,UserMagic.btLevel,1,10 * 24 * 60 * 60) <> nil then
// boTrain:=True;
// end;
boSpellFail:=False;
end;
end;
SKILL_68:begin // 法之魄
boTrain:=True;
end;
SKILL_69:begin // 兽灵术
boTrain:=True;
end;
SKILL_70:begin //风影盾
if MagADDABILITY(PlayObject,UserMagic.btLevel,2) then boTrain:=True;
end;
SKILL_71:begin //狂龙紫电
if PlayObject.IsProperTarget (TargeTBaseObject) then begin
if (Random(10) >= TargeTBaseObject.m_nAntiMagic) then begin
nPower:= PlayObject.GetAttackPower (GetPower(MPow(UserMagic)) + LoWord(PlayObject.m_WAbil.MC),
SmallInt(HiWord(PlayObject.m_WAbil.MC)-LoWord(PlayObject.m_WAbil.MC))+ 1);
if TargeTBaseObject.m_btLifeAttrib = LA_UNDEAD then
nPower:=ROUND(nPower * 1.5);
// nPower:=ROUND(nPower * 1.5);
PlayObject.SendDelayMsg(PlayObject,RM_DELAYMAGIC,nPower,MakeLong(nTargetX,nTargetY),2,Integer(TargeTBaseObject),'',600);
if TargeTBaseObject.m_btRaceServer >= RC_ANIMAL then
boTrain:=True;
end else TargeTBaseObject:=nil
end else TargeTBaseObject:=nil;
end;
SKILL_72:begin //心灵召唤 道士
if MagbaobaoMove(PlayObject,TargeTBaseObject,UserMagic.btLevel) then
boTrain:=True;
end;
SKILL_73:begin //流星火雨
nPower:= PlayObject.GetAttackPower(GetPower(MPow(UserMagic)) + LoWord(PlayObject.m_WAbil.MC),SmallInt(HiWord(PlayObject.m_WAbil.MC)-LoWord(PlayObject.m_WAbil.MC))+ 1);
// nPower:=nPower * 2;
if MagBigExplosion(PlayObject,
nPower,
GetPower(10) + (Word(GetRPow(PlayObject.m_WAbil.MC)) shr 1),
nTargetX,
nTargetY,
g_Config.nSnowWindRange{1},73) then
boTrain:=True;
end;
74:begin // 擒龙手
if MagMonMove(PlayObject,TargeTBaseObject,UserMagic.btLevel) then // begin
boTrain:=True;
// boSpellFire:= false;
// end else boSpellFire:= true;
end;
SKILL77, SKILL_75,SKILL_35 :begin //遁地 化身蝙蝠 移形换影
if MagSpyMove(PlayObject, nTargetX,nTargetY,UserMagic.btLevel,UserMagic.MagicInfo.wMagicId) then begin
boTrain:=True;
boSpellFire:= false;
end else boSpellFail:=true;
end;
SKILL78:begin //怒斩天下 //战战
if MagYSzhskill78(PlayObject,nTargetX,nTargetY,TargeTBaseObject,UserMagic.btLevel,GetPower(MPow(UserMagic))) then begin
boTrain:=True;
end ;
PlayObject.Ysplayer.nyuanqi:=0;
PlayObject.Ysplayer.SendDefMessage(38417,0,0,100,0,'');
end;
79:begin //天怒惊雷 法法
nPower:= PlayObject.GetAttackPower (GetPower(MPow(UserMagic)) + LoWord(PlayObject.m_WAbil.MC),
SmallInt(HiWord(PlayObject.m_WAbil.MC)-LoWord(PlayObject.m_WAbil.MC))+ 1);
if MagYSzhskill79(PlayObject,nTargetX,nTargetY,TargeTBaseObject,UserMagic.btLevel,nPower) then begin
boTrain:=True;
end;
PlayObject.Ysplayer.nyuanqi:=0;
PlayObject.Ysplayer.SendDefMessage(38417,0,0,100,0,'');
end;
80:begin //天女散花 道道
nPower:= PlayObject.GetAttackPower (GetPower(MPow(UserMagic)) + LoWord(PlayObject.m_WAbil.SC),
SmallInt(HiWord(PlayObject.m_WAbil.SC)-LoWord(PlayObject.m_WAbil.SC))+ 1);
if MagYSzhskill80(PlayObject,nTargetX,nTargetY,TargeTBaseObject,UserMagic.btLevel,nPower) then begin
boTrain:=True;
end;
PlayObject.Ysplayer.nyuanqi:=0;
PlayObject.Ysplayer.SendDefMessage(38417,0,0,100,0,'');
end;
81:begin //迷光烈焰 战法
if MagYSzhskill81(PlayObject,nTargetX,nTargetY,TargeTBaseObject,UserMagic.btLevel,GetPower(MPow(UserMagic))) then begin
boTrain:=True;
end;
PlayObject.Ysplayer.nyuanqi:=0;
PlayObject.Ysplayer.SendDefMessage(38417,0,0,100,0,'');
end;
83:begin //火毒攻心剑 //战道 地面效果 26
if MagYSzhskill83(PlayObject,nTargetX,nTargetY,TargeTBaseObject,UserMagic.btLevel,GetPower(MPow(UserMagic))) then begin
boTrain:=True;
end;
PlayObject.Ysplayer.nyuanqi:=0;
PlayObject.Ysplayer.SendDefMessage(38417,0,0,100,0,'');
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -