⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 magic.pas

📁 继续更新AFT源代码 现在解决了无法登陆游戏的问题 用0504的dbserver就可以登陆了 去掉了绿字广告 降低内存占用HOO 去掉了大量的验证问题
💻 PAS
📖 第 1 页 / 共 5 页
字号:
      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 + -