Changeset 22 for src/map/skill.c

Show
Ignore:
Timestamp:
07/02/08 22:46:07 (17 years ago)
Author:
jinshiro
Message:
 
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/map/skill.c

    r19 r22  
    821821                sc_start(bl,SC_CRITICALWOUND,100,skilllv,skill_get_time2(skillid,skilllv)); 
    822822                break; 
    823 <<<<<<< .mine 
    824823        case NC_GHOULTOUCH:     //Necro Ghoul Touch [Brain] 
    825824        if (battle_check_living(tstatus->race, tstatus->def_ele)) //Check if target is a living creature before proceed 
     
    851850        sc_start(bl,SC_STUN,6*skilllv,skilllv,skill_get_time(skillid,skilllv)); 
    852851        break;*/ 
    853 ======= 
    854                 //Custom Jobs (blackmagic) 
    855         case NC_GHOULTOUCH:     //Necro Ghoul Touch [Brain] 
    856                 if (battle_check_living(tstatus->race, tstatus->def_ele)) //Check if target is a living creature before proceed 
    857                         sc_start(bl,SC_POISON,10000,skilllv,skill_get_time2(skillid,skilllv)); 
    858                 break; 
    859         case NC_PWSUFFER:       //Necro Power Word: Suffer [Brain] 
    860         case WL_PWAGONY:        //Warlock Power Word: Agony [Brain] 
    861                 if (battle_check_living(tstatus->race, tstatus->def_ele)) //Check if target is a living creature before proceed 
    862                         sc_start(bl,skillid==NC_PWSUFFER?SC_SUFFER:SC_AGONY,1000,skilllv,skill_get_time2(skillid,skilllv)); 
    863                 break; 
    864         case WL_SEARING:        //Warlock Searing Pain [Brain] 
    865                 //The DoT is only initiated if target isnt burning already. 
    866                 if(!tsc->data[SC_SEARING] && !tsc->data[SC_IMMOLATE]) 
    867                         sc_start(bl,SC_SEARING,10000,skilllv,skill_get_time2(skillid,skilllv)); 
    868                 break; 
    869         case WL_IMMOLATE:       //Warlock Immolate [Brain] 
    870                 //The DoT is only initiated if target isnt in immolate, but must be in searing pain status 
    871                 if(tsc->data[SC_SEARING] && !tsc->data[SC_IMMOLATE]) 
    872                         sc_start(bl,SC_IMMOLATE,10000,skilllv,skill_get_time2(skillid,skilllv)); 
    873                 break; 
    874         case WL_SHADOWBURN:     //Warlock Shadow Burn [Brain] 
    875                 sc_start(bl,SC_STUN,10000,skilllv,skill_get_time(skillid,skilllv)); 
    876                 break; 
    877 //Custom Job End 
    878 >>>>>>> .r18 
    879852        } 
    880853 
     
    10741047                status_heal(src, 0, status_get_lv(bl)*(95+15*rate)/100, 2); 
    10751048        } 
    1076 <<<<<<< .mine 
    10771049 
    10781050        // Warlock Soul Steal [Brain] 
     
    10851057        status_heal(src, 0, status_get_lv(bl)*(90+10*rate)/100, 2); 
    10861058        if(rand()%100 < rate) skill_additem(src,src,15020,1); //Chance to "steal" the target soul 
    1087 ======= 
    1088 //Custom Jobs (blackmagic)       
    1089         // Warlock Soul Steal [Brain] 
    1090         if(sd && skillid && attack_type&BF_MAGIC && status_isdead(bl)  
    1091                 && !(skill_get_inf(skillid)&(INF_GROUND_SKILL|INF_SELF_SKILL)) 
    1092                 && (rate=pc_checkskill(sd,WL_SOULSTEAL))>0){// Wont work with area/ground spells (hellfire) 
    1093                 if (pc_issit(sd)) pc_setstand(sd); 
    1094                 clif_skill_nodamage(src,bl,WL_SOULSTEAL,rate,1); 
    1095                 clif_specialeffect(src, 253, AREA); // Absorb Mana effect on caster 
    1096                 status_heal(src, 0, status_get_lv(bl)*(90+10*rate)/100, 2); 
    1097                 if(rand()%100 < rate) skill_additem(src,src,15020,1); //Chance to "steal" the target soul 
    1098 >>>>>>> .r18 
    10991059        } 
    11001060 
     
    21912151                                        } 
    21922152                                        break; 
    2193 <<<<<<< .mine 
    21942153 
    21952154                case NC_PWSUFFER: //Necro Power Word: Suffer [Brain] 
     
    22262185                        break; 
    22272186 
    2228 ======= 
    2229                                         //Custom Jobs (blackmagic) 
    2230                                  
    2231                                 case NC_PWSUFFER: //Necro Power Word: Suffer [Brain] 
    2232                                         if (!status_isdead(target) && status_get_sc(target)->data[SC_SUFFER]){ 
    2233                                                 skill_attack(BF_MAGIC,src,src,target,skl->skill_id,skl->skill_lv,tick,skl->flag|SD_ANIMATION|SD_LEVEL); 
    2234                                                 clif_specialeffect(target, 180, AREA); //Shadow Hit Effect on target 
    2235                                                 if (skl->type>1 && !status_isdead(target)) 
    2236                                                         skill_addtimerskill(src,tick+3000,target->id,0,0,skl->skill_id,skl->skill_lv,skl->type-1,skl->flag|SD_ANIMATION); 
    2237                                         } 
    2238                                         break; 
    2239                                 case WL_SEARING: //Warlock Searing Pain [Brain] 
    2240                                         if (!status_isdead(target) && status_get_sc(target)->data[SC_SEARING]){ 
    2241                                                 skill_attack(BF_MAGIC,src,target,target,skl->skill_id,skl->skill_lv,tick,skl->flag|SD_ANIMATION|SD_LEVEL); 
    2242                                                 clif_specialeffect(target, 49, AREA); //Fire Hit Effect on target 
    2243                                                 if (skl->type>1 && !status_isdead(target)) 
    2244                                                         skill_addtimerskill(src,tick+3000,target->id,0,0,skl->skill_id,skl->skill_lv,skl->type-1,skl->flag|SD_ANIMATION); 
    2245                                         } 
    2246                                         break; 
    2247                                 case WL_IMMOLATE: //Warlock Immolate [Brain] 
    2248                                         if (!status_isdead(target) && status_get_sc(target)->data[SC_IMMOLATE]){ 
    2249                                                 skill_attack(BF_MAGIC,src,target,target,skl->skill_id,skl->skill_lv,tick,skl->flag|SD_ANIMATION|SD_LEVEL); 
    2250                                                 clif_specialeffect(target, 97, AREA); //Firepillar Hit Effect on target 
    2251                                                 if (skl->type>1 && !status_isdead(target)) 
    2252                                                         skill_addtimerskill(src,tick+3000,target->id,0,0,skl->skill_id,skl->skill_lv,skl->type-1,skl->flag|SD_ANIMATION); 
    2253                                         } 
    2254                                         break; 
    2255                                 case WL_PWAGONY: //Warlock Power Word: Agony [Brain] 
    2256                                         if (!status_isdead(target) && status_get_sc(target)->data[SC_AGONY]){ 
    2257                                                 skill_attack(BF_MAGIC,src,target,target,skl->skill_id,skl->skill_lv,tick,skl->flag|SD_ANIMATION|SD_LEVEL); 
    2258                                                 clif_specialeffect(target, 587, AREA); //Big Purple Flame Effect on target 
    2259                                                 if (skl->type>1 && !status_isdead(target)) 
    2260                                                         skill_addtimerskill(src,tick+3000,target->id,0,0,skl->skill_id,skl->skill_lv,skl->type-1,skl->flag|SD_ANIMATION); 
    2261                                         } 
    2262                                         break; 
    2263                                  
    2264                                         //Custom Job End 
    2265 >>>>>>> .r18 
    22662187                                default: 
    22672188                                        skill_attack(skl->type,src,src,target,skl->skill_id,skl->skill_lv,tick,skl->flag); 
     
    24842405        case MER_CRASH: 
    24852406                skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag); 
    2486 <<<<<<< .mine 
    24872407                break;*/ 
    24882408        case NC_GHOULTOUCH:     //Necro Ghoul Touch [Brain] 
     
    25022422        } 
    25032423        break; 
    2504 ======= 
    2505                 break; 
    2506                 //Custom Jobs (blackmagic) 
    2507          
    2508         case NC_GHOULTOUCH:     //Necro Ghoul Touch [Brain] 
    2509                 skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag); 
    2510                 clif_specialeffect(bl, 124, AREA); //Venom Dust Effect on target 
    2511                 break; 
    2512         case NC_DEATHHAND:      //Necro Death Hand [Brain] 
    2513                 skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag|SD_LEVEL);//Hide skill yell 
    2514                 clif_specialeffect(bl, 65, AREA); //Power absorb Effect on target 
    2515                 if (battle_check_living(tstatus->race, tstatus->def_ele)){ //Check if target is a living creature before proceed 
    2516                         int chance = (10+(skilllv*2)+(status_get_luk(src)-status_get_luk(bl))/5);  
    2517                         //10% chance + 2% per skilllv + (caster luk - target luk)/5 % 
    2518                                 if (rand()%100 < chance) { 
    2519                                         clif_skill_nodamage(src,bl,skillid,-1,flag|SD_LEVEL);//Hide skill yell 
    2520                                         status_percent_damage(src, bl, 100, 0, true); //Instant kill our target 
    2521                                 } else clif_skill_fail(sd,skillid,0,0); 
    2522                 } 
    2523                 break; 
    2524                 //Custom Job End 
    2525 >>>>>>> .r18 
    25262424 
    25272425 
     
    28602758                skill_attack(BF_MAGIC,src,src,bl,skillid,skilllv,tick,flag); 
    28612759                break; 
    2862 <<<<<<< .mine 
    28632760        case AD_DARKHEAL: // Adept Dark Heal [Brain] 
    28642761        clif_specialeffect(bl, 656, AREA); //Blinking Green Sprite Effect on target 
     
    29372834        else clif_skill_fail(sd,skillid,0,0); 
    29382835        break; 
    2939 ======= 
    2940                 //Custom Jobs (blackmagic) 
    2941 >>>>>>> .r18 
    2942  
    2943 <<<<<<< .mine 
    2944 ======= 
    2945          
    2946         case AD_DARKHEAL: // Adept Dark Heal [Brain] 
    2947                 clif_specialeffect(bl, 656, AREA); //Blinking Green Sprite Effect on target 
    2948                 skill_attack(BF_MAGIC,src,src,bl,skillid,skilllv,tick,flag); //Exception because we must add the effect manually =/ 
    2949                 break; 
    2950         case NC_PWSUFFER: //Necro Power Word: Suffer [Brain] 
    2951                 if(battle_check_living(tstatus->race,tstatus->def_ele)){ 
    2952                         skill_attack(BF_MAGIC,src,src,bl,skillid,skilllv,tick,flag); 
    2953                         clif_specialeffect(bl, 180, AREA); //Shadow hit Effect on target 
    2954                         clif_specialeffect(src, 454, AREA); //Black Cast Effect on caster 
    2955                         //If target is on suffering status already, just cause damage, no extra DoT 
    2956                         if(!status_get_sc(bl)->data[SC_SUFFER]) 
    2957                                 skill_addtimerskill(src,tick+3000,bl->id,0,0,skillid,skilllv,skilllv,flag); 
    2958                 } 
    2959                 else clif_skill_fail(sd,skillid,0,0); 
    2960                 break; 
    2961         case NC_DRAINLIFE: // Necromancer Drain Life [Brain] 
    2962                 { 
    2963                         int heal = skill_attack(BF_MAGIC, src, src, bl, skillid, skilllv, tick, flag)/2; 
    2964                         if (heal > 0 && (battle_check_living(tstatus->race,tstatus->def_ele))){ 
    2965                                 clif_skill_nodamage(NULL, src, AL_HEAL, heal, 1); 
    2966                                 status_heal(src, heal, 0, 0); 
    2967                         } 
    2968                 } 
    2969                 clif_specialeffect(bl, 180, AREA); //Shadow hit Effect on target 
    2970                 clif_specialeffect(src, 454, AREA); //Black Cast Effect on caster 
    2971                 break; 
    2972         case WL_SHADOWBOLT: // Warlock Shadowbolt [Brain] 
    2973                 clif_specialeffect(bl, 180, AREA); //Shadow hit Effect on target 
    2974                 clif_specialeffect(src, 454, AREA); //Black Cast Effect on caster 
    2975                 skill_attack(BF_MAGIC,src,src,bl,skillid,skilllv,tick,flag); //Again, the effect...cursed effects... 
    2976                 break; 
    2977         case WL_SHADOWBURN: // Warlock Shadow Burn [Brain] 
    2978                 clif_specialeffect(bl, 180, AREA); //Shadow hit Effect on target 
    2979                 clif_specialeffect(bl, 32, AREA); //Flame Engulf Effect on target 
    2980                 clif_specialeffect(src, 454, AREA); //Black Cast Effect on caster 
    2981                 skill_attack(BF_MAGIC,src,src,bl,skillid,skilllv,tick,flag); 
    2982                 break; 
    2983         case WL_SEARING: // Warlock Searing Pain [Brain] 
    2984                 clif_specialeffect(bl, 406, AREA); //Fire on Head Effect on target 
    2985                 clif_specialeffect(src, 55, AREA); //Red Cast Effect on caster 
    2986                 skill_attack(BF_MAGIC,src,src,bl,skillid,skilllv,tick,flag); 
    2987                 //if target is on searing status already, just cause damage, no extra DoT 
    2988                 if(!status_get_sc(bl)->data[SC_SEARING]) 
    2989                         skill_addtimerskill(src,tick+3000,bl->id,0,0,skillid,skilllv,4,flag); 
    2990                 break; 
    2991         case WL_CONFLAGRATE: // Warlock Conflagrate [Brain] 
    2992                 if(status_get_sc(bl)->data[SC_IMMOLATE]) { // Can only be casted if target is immolating status 
    2993                         clif_specialeffect(bl, 183, AREA); //Explosion Effect on target 
    2994                         clif_specialeffect(src, 55, AREA); //Red Cast Effect on caster 
    2995                         skill_attack(BF_MAGIC,src,src,bl,skillid,skilllv,tick,flag); 
    2996                         status_change_end(bl,SC_IMMOLATE,-1); //End Immolating status 
    2997                 } else clif_skill_fail(sd,skillid,0,0); 
    2998                 break; 
    2999         case WL_IMMOLATE: // Warlock Immolate [Brain] 
    3000                 clif_specialeffect(bl, 635, AREA); //Dragon Fire Effect on target 
    3001                 clif_specialeffect(src, 55, AREA); //Red Cast Effect on caster 
    3002                 skill_attack(BF_MAGIC,src,src,bl,skillid,skilllv,tick,flag); 
    3003                 //If Target is on searing pain status, will change immolating status instead 
    3004                 if(!status_get_sc(bl)->data[SC_IMMOLATE]) 
    3005                         skill_addtimerskill(src,tick+3000,bl->id,0,0,skillid,skilllv,5,flag); 
    3006                 break; 
    3007         case WL_CURSEDOOM: // Warlock Curse of Doom [Brain] 
    3008                 clif_specialeffect(bl, 183, AREA); //Explosion Effect on target 
    3009                 skill_attack(BF_MAGIC,src,bl,bl,skillid,skilllv,tick,flag|SD_ANIMATION); 
    3010                 break; 
    3011         case WL_PWAGONY: // Warlock Power Word: Agony [Brain] 
    3012                 if(battle_check_living(tstatus->race,tstatus->def_ele)){ 
    3013                         skill_attack(BF_MAGIC,src,src,bl,skillid,skilllv,tick,flag); 
    3014                         clif_specialeffect(bl, 587, AREA); //Big Purple Flame Effect on target 
    3015                         clif_specialeffect(src, 454, AREA); //Black Cast Effect on caster 
    3016                         //If target is on Agonizing status already, just cause damage, no extra DoT 
    3017                         if(!status_get_sc(bl)->data[SC_AGONY]) 
    3018                                 skill_addtimerskill(src,tick+3000,bl->id,0,0,skillid,skilllv,skilllv,flag); 
    3019                 } 
    3020                 else clif_skill_fail(sd,skillid,0,0); 
    3021                 break; 
    3022  
    3023                 //Custom Job End 
    3024 >>>>>>> .r18 
     2836 
    30252837 
    30262838        case NPC_MAGICALATTACK: 
     
    32283040        if(status_isdead(src)) 
    32293041                return 1; 
    3230 <<<<<<< .mine 
    3231  
    3232 ======= 
    3233 //Custom Jobs (blackmagic) 
    3234         /*if(src!=bl && status_isdead(bl) && skillid != ALL_RESURRECTION && skillid != PR_REDEMPTIO)*/ 
    3235         // Added DEATHPACT [Brain] 
    3236         //if(src!=bl && status_isdead(bl) && skillid != ALL_RESURRECTION && skillid != PR_REDEMPTIO) 
    3237 >>>>>>> .r18 
     3042 
    32383043        if(src!=bl && status_isdead(bl) && skillid != ALL_RESURRECTION && skillid != PR_REDEMPTIO && skillid != NC_DEATHPACT) 
    32393044                return 1; 
     
    32623067                        } 
    32633068                        break; 
    3264 <<<<<<< .mine 
    32653069        case AD_DARKHEAL:       // Adept Dark Heal [Brain] 
    32663070                // Only player casted spells can be offensive (copyed from AL_HEAL code above) 
     
    32773081                break; 
    32783082 
    3279 ======= 
    3280                         //Custom Jobs (blackmagic) 
    3281                  
    3282                 case AD_DARKHEAL:       // Adept Dark Heal [Brain] 
    3283                         // Only player casted spells can be offensive (copyed from AL_HEAL code above) 
    3284                         if (sd && (battle_check_living(tstatus->race,tstatus->def_ele)) //Check if target is a living creature 
    3285                                 && !pc_checkskill(dstsd,NC_PHYLACTERY) //Or he doesnt have Phylactery (non-perma undead) 
    3286                                 && !status_get_sc(bl)->data[SC_OVERWHELMING]) { //Or Overwhelming Evil is off (most cases) 
    3287                                 if (battle_check_target(src, bl, BCT_ENEMY) < 1) { 
    3288                                         //Offensive heal does not works on non-enemies. 
    3289                                         clif_skill_fail(sd,skillid,0,0); 
    3290                                         return 0; 
    3291                                 } 
    3292                                 return skill_castend_damage_id(src, bl, skillid, skilllv, tick, flag); 
    3293                         } 
    3294                         break; 
    3295                  
    3296                         //Custom Job End 
    3297 >>>>>>> .r18 
    32983083                case NPC_SMOKING: //Since it is a self skill, this one ends here rather than in damage_id. [Skotlex] 
    32993084                        return skill_castend_damage_id (src, bl, skillid, skilllv, tick, flag); 
     
    33253110                        if (status_isimmune(bl) || (dstmd && dstmd->class_ == MOBID_EMPERIUM)) 
    33263111                                heal=0; 
    3327 <<<<<<< .mine 
    33283112                // Profane Soul reduces the healed recieved by 3% per skilllv [Brain] 
    33293113                if(dstsd) { 
     
    33323116                if(pc_checkskill(dstsd,NC_PHYLACTERY)) heal = skilllv; 
    33333117                } 
    3334 ======= 
    3335                         //Custom Jobs (blackmagic) 
    3336                         // Profane Soul reduces the healed recieved by 3% per skilllv [Brain] 
    3337                         if(dstsd) { 
    3338                                 heal = heal * (100 - pc_checkskill(dstsd,AD_PROFANE)*3)/100; 
    3339                                 //Wont heal even if he got elemental armors [Brain] 
    3340                                 if(pc_checkskill(dstsd,NC_PHYLACTERY)) heal = skilllv; 
    3341                         } 
    3342                         //Custom Job End 
    3343 >>>>>>> .r18 
    33443118                        if (sd) { 
    33453119                                if ((i = pc_skillheal_bonus(sd, skillid))) 
     
    33773151                } 
    33783152                break; 
    3379 <<<<<<< .mine 
    33803153 
    33813154        case AD_DARKHEAL: // Adept Dark Heal [Brain] 
     
    33993172 
    34003173 
    3401 ======= 
    3402         //Custom Jobs (blackmagic) 
    3403          
    3404         case AD_DARKHEAL: // Adept Dark Heal [Brain] 
    3405                 { 
    3406                         int heal = skill_calc_heal(src, bl, skilllv); 
    3407                         if (status_isimmune(bl) || (dstmd && dstmd->class_ == MOBID_EMPERIUM)) 
    3408                                 heal=0; 
    3409                         if(battle_check_undead(tstatus->race,tstatus->def_ele) || tstatus->race==RC_UNDEAD // Check if our target is undead or demon 
    3410                                 || tstatus->race==RC_DEMON || pc_checkskill(dstsd,NC_PHYLACTERY)//Or has a phylactery 
    3411                                 || status_get_sc(bl)->data[SC_OVERWHELMING]) { //Or is on OverWhelm status, checking again... 
    3412                                 clif_skill_nodamage(src, bl, skillid, heal, 1); 
    3413                                 clif_skill_nodamage(NULL, bl, AL_HEAL, heal, 1); //Subtle way to show heal numbers AND effect =D 
    3414                                 status_heal(bl, heal, 0, 0); 
    3415                         } else { 
    3416                                 clif_skill_nodamage(src, bl, skillid, 0, 1); 
    3417                                 clif_skill_nodamage(NULL, bl, AL_HEAL, 0, 1); 
    3418                         } 
    3419                 clif_specialeffect(bl, 656, AREA); //Blinking Green Sprite Effect on target 
    3420                 } 
    3421                 break; 
    3422         //Custom Job End 
    3423 >>>>>>> .r18 
    34243174        case PR_REDEMPTIO: 
    34253175                if (sd && !(flag&1)) { 
     
    34793229                        { 
    34803230                                clif_skill_nodamage(src,bl,ALL_RESURRECTION,skilllv,1); //Both Redemptio and Res show this skill-animation. 
    3481 <<<<<<< .mine 
    34823231                                                if(skillid==NC_DEATHPACT) { // Necro Death Pact [Brain] 
    34833232                        clif_skill_nodamage(src, bl, skillid, skilllv, 
     
    34873236 
    34883237                                if(sd && dstsd && battle_config.resurrection_exp > 0) 
    3489 ======= 
    3490                                 //Custom Jobs (blackmagic) 
    3491                                 if(skillid==NC_DEATHPACT) { // Necro Death Pact [Brain] 
    3492                                         clif_skill_nodamage(src, bl, skillid, skilllv,  
    3493                                                 sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); 
    3494                                         break; 
    3495                                 } 
    3496                                 //Custom Job End 
    3497                                 if(sd && dstsd && battle_config.resurrection_exp > 0)  
    3498 >>>>>>> .r18 
    34993238                                { 
    35003239                                        int exp = 0,jexp = 0; 
     
    35143253                } 
    35153254                break; 
    3516 <<<<<<< .mine 
    3517 ======= 
    3518                 //Custom Jobs (blackmagic) 
    3519          
    3520         case AD_PWBLIND: // Adept Power Word: Blind [Brain] 
    3521                 if(!tsc->data[type]) { 
    3522                         clif_skill_nodamage(src, bl, skillid, skilllv,1); 
    3523                         if(sc_start(bl, type,(30 + skilllv * 10 + (status_get_lv(src) - sstatus->int_)/5), 
    3524                                 skilllv, skill_get_time(skillid,skilllv)))  
    3525                         { 
    3526                                 if(dstmd) mob_unlocktarget(dstmd,tick);  //Removes current target 
    3527                                 clif_specialeffect(bl, 379, AREA); //379.Soul Drain (2nd Part) 
    3528                                 break; 
    3529                         } 
    3530                 } else clif_skill_fail(sd,skillid,0,0); 
    3531                 break; 
    3532   
    3533         case AD_PWFEAR: // Adept Power Word: Fear [Brain] 
    3534                 if(!tsc->data[type]) { 
    3535                         clif_skill_nodamage(src, bl, skillid, skilllv,1); 
    3536                         if(dstsd) 
    3537                                 type = SC_CONFUSION; //Players cant be affected by SC_FEAR 
    3538                         if(sc_start(bl, type, (30 + skilllv * 10), skilllv, skill_get_time(skillid,skilllv))) 
    3539                         { 
    3540                                 clif_specialeffect(bl, 372, AREA); //372.Death 
    3541                                 unit_escape(bl, bl, 30); 
    3542                         } 
    3543                 } else clif_skill_fail(sd,skillid,0,0); 
    3544                 break; 
    3545         case WL_HOWLOFPAIN: // Warlock Howl of Pain [Brain] 
    3546                 //These must be here first or else the code wont execute them. 
    3547                 clif_specialeffect(src, 670, AREA); // Monster skill SCREAM effect on caster (no sound) 
    3548                 clif_soundeffectall(bl, "wraith_die.wav", 0, AREA); //Wraith Laugh Sound 
    3549                 if (flag & 1) { 
    3550                         //Check if target is a living creature AND a valid enemy 
    3551                         if (battle_check_target(src, bl, BCT_ENEMY) && battle_check_living(tstatus->race,tstatus->def_ele)) 
    3552                         { 
    3553                                 if(sc_start(bl,type,10+skilllv*10,skilllv,skill_get_time(skillid,skilllv))) 
    3554                                 { 
    3555                                         if(dstmd) //PROVOKE Effect on mobs 
    3556                                                 mob_target(dstmd,src,skill_get_range2(src,skillid,skilllv)); 
    3557                                         // Breaks Frozen and Sleep status 
    3558                                         if(tsc && tsc->count){ 
    3559                                                 if(tsc->data[SC_FREEZE]) 
    3560                                                         status_change_end(bl,SC_FREEZE,-1); 
    3561                                                 if(tsc->data[SC_SLEEP]) 
    3562                                                         status_change_end(bl,SC_SLEEP,-1); 
    3563                                         } 
    3564                                         clif_emotion(bl,6); //anger emote on target 
    3565                                         break; 
    3566                                 } else { //What will happen if the status fail: 
    3567                                         { 
    3568                                                 if (sd) //If is a player 
    3569                                                         clif_skill_fail(sd,skillid,0,0); 
    3570                                                 map_freeblock_unlock(); //Else is a mob 
    3571                                                 return 0; 
    3572                                         } 
    3573                                         unit_skillcastcancel(bl, 2); //In any case, will cancel casting 
    3574                                 } 
    3575                         } 
    3576                 } else { 
    3577                         map_foreachinrange(skill_area_sub, src, 
    3578                                 skill_get_splash(skillid, skilllv), BL_CHAR, 
    3579                                 src, skillid, skilllv, tick, flag|BCT_ENEMY|1, 
    3580                                 skill_castend_nodamage_id); 
    3581                         clif_skill_nodamage(src, bl, skillid, skilllv, 1); 
    3582                         map_freeblock_unlock(); 
    3583                         return 1; 
    3584                 } 
    3585                 break; 
    3586         case WL_HOWLOFTERROR: // Warlock Howl of Terror [Brain] 
    3587                 if (flag & 1) { 
    3588                         int rate; 
    3589                         //Check if target is a living creature AND a valid enemy 
    3590                         if (battle_check_target(src, bl, BCT_ENEMY) 
    3591                                 && battle_check_living(tstatus->race,tstatus->def_ele)) { 
    3592                                 rate = 10 + skilllv*5 + pc_checkskill(sd,AD_PWFEAR)*3; 
    3593                                 if(dstsd) {  
    3594                                         rate -= 10; // 10% less chance on players 
    3595                                         type = SC_CONFUSION; //Players cant be affected by SC_FEAR 
    3596                                 } 
    3597                                 if(sc_start(bl,type,rate,skilllv,skill_get_time(skillid,skilllv))) 
    3598                                         clif_specialeffect(bl, 372, AREA); //Same as PW: Fear 
    3599                         } 
    3600                 } else { 
    3601                         map_foreachinrange(skill_area_sub, src, 
    3602                                 skill_get_splash(skillid, skilllv), BL_CHAR, 
    3603                                 src, skillid, skilllv, tick, flag|BCT_ENEMY|1, 
    3604                                 skill_castend_nodamage_id); 
    3605                         clif_skill_nodamage(src, bl, skillid, skilllv, 1); 
    3606                 } 
    3607                 clif_specialeffect(src, 668, AREA); // Monster skill SCREAM effect on caster (with sound) 
    3608                 break; 
    3609 >>>>>>> .r18 
    36103255 
    36113256        case AD_PWBLIND: // Adept Power Word: Blind [Brain] 
     
    37163361                } 
    37173362                break; 
    3718 <<<<<<< .mine 
    3719  
    3720 ======= 
    3721         //Custom Jobs (blackmagic) 
    3722         case NC_DARKMOON: //Necro Dark Moon [Brain] 
    3723                 if (flag&1) { 
    3724                         //Check my enemies 
    3725                         if (battle_check_target(src, bl, BCT_ENEMY) && 
    3726                                 battle_check_living(tstatus->race,tstatus->def_ele)) 
    3727                         { 
    3728                                 if(sc_start(bl,SC_BLIND,50,skilllv,skill_get_time(skillid,skilllv))) 
    3729                                         clif_specialeffect(bl, 580, AREA); //Box of Rain effect on target 
    3730                         } 
    3731                         else { //Now my Party members 
    3732                                 if (sd == NULL || sd->status.party_id == 0 || (flag & 1)) { 
    3733         clif_skill_nodamage(bl,bl,skillid,skilllv, 
    3734                                         sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); 
    3735                                         clif_specialeffect(bl, 521, AREA); //Red Flashing Aura Sprite effect on target 
    3736                                 } else if (sd) { 
    3737                                         party_foreachsamemap(skill_area_sub, sd,skill_get_splash(skillid, skilllv), 
    3738                                                                                  src,skillid,skilllv,tick, flag|BCT_ALL|1,skill_castend_nodamage_id); 
    3739                                 } 
    3740                         } 
    3741                 } else { 
    3742                         map_foreachinrange(skill_area_sub, src, skill_get_splash(skillid, skilllv), BL_CHAR, 
    3743                                 src, skillid, skilllv, tick, flag|BCT_ALL|1, skill_castend_nodamage_id); 
    3744                         clif_skill_nodamage(src, bl, skillid, skilllv, 1); 
    3745                 } 
    3746                 clif_specialeffect(src, 407, AREA); //Soul Change Effect on caster 
    3747                 clif_soundeffectall(bl, "se_wolf1.wav", 0, AREA); //Wolf Howl Sound 
    3748                 break; 
    3749         case NC_REQUIEM: //Necro Requiem [Brain] 
    3750                 if (flag&1) { 
    3751                         //Check my enemies 
    3752                         if (battle_check_target(src, bl, BCT_ENEMY) && 
    3753                                         battle_check_living(tstatus->race,tstatus->def_ele)) 
    3754                         { 
    3755                                 if(sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))) 
    3756                                         clif_specialeffect(bl, 578, AREA); //Box of Curse effect on target 
    3757                         } 
    3758                         else { //Now my Party members 
    3759                                 if (sd == NULL || sd->status.party_id == 0 || (flag & 1)) { 
    3760                                         clif_skill_nodamage(bl,bl,skillid,skilllv, 
    3761                                         sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); 
    3762                                         clif_specialeffect(bl, 572, AREA); //Warmth Soul effect on target 
    3763                                 } else if (sd) { 
    3764                                         party_foreachsamemap(skill_area_sub, sd,skill_get_splash(skillid, skilllv), 
    3765                                                 src,skillid,skilllv,tick, flag|BCT_ALL|1,skill_castend_nodamage_id); 
    3766                                 } 
    3767                         } 
    3768                 } else { 
    3769                         map_foreachinrange(skill_area_sub, src, skill_get_splash(skillid, skilllv), BL_CHAR, 
    3770                                 src, skillid, skilllv, tick, flag|BCT_ALL|1, skill_castend_nodamage_id); 
    3771                         clif_skill_nodamage(src, bl, skillid, skilllv, 1); 
    3772                 } 
    3773                 int rnds = rand()%3; 
    3774                 switch(rnds) { 
    3775                         case 1: 
    3776                                 clif_soundeffectall(bl, "chant1.wav", 0, AREA); //Chanting Sound 
    3777                                 break; 
    3778                         case 2: 
    3779                                 clif_soundeffectall(bl, "chant2.wav", 0, AREA); //Chanting Sound 
    3780                                 break; 
    3781                         case 3: 
    3782                                 clif_soundeffectall(bl, "chant3.wav", 0, AREA); //Chanting Sound 
    3783                                 break; 
    3784                 } 
    3785                 break; 
    3786 >>>>>>> .r18 
     3363 
    37873364        case NC_DARKMOON: //Necro Dark Moon [Brain] 
    37883365        if (flag&1) { 
     
    41563733                        sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); 
    41573734                break; 
    4158 <<<<<<< .mine 
    41593735        case AD_LUST:   // Adept Blood Lust [Brain] 
    41603736        clif_specialeffect(src, 220, AREA); //Berserk Pot effect 
     
    42043780                sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); 
    42053781        break; 
    4206 ======= 
    4207         //Custom Jobs (blackmagic) 
    4208          
    4209         case AD_LUST:   // Adept Blood Lust [Brain] 
    4210                 clif_specialeffect(src, 220, AREA); //Berserk Pot effect 
    4211                 clif_specialeffect(src, 455, AREA); //Red Lightnings 
    4212                 clif_skill_nodamage(src,bl,skillid,skilllv, 
    4213                         sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); 
    4214                 break; 
    4215         case NC_DECREPIFY: //Necro Decrepify [Brain] 
    4216                 if(battle_check_living(tstatus->race,tstatus->def_ele)){ 
    4217                         clif_specialeffect(bl, 403, AREA); //Mind Breaker Effect on target 
    4218                         clif_specialeffect(src, 454, AREA); //Black Cast Effect on caster 
    4219                         clif_skill_nodamage(src,bl,skillid,skilllv, 
    4220                                 sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); 
    4221                 } 
    4222                 else clif_skill_fail(sd,skillid,0,0); 
    4223                 break; 
    4224         case WL_CURSEWEAKNESS: // Warlock Curse of Weakness [Brain] 
    4225                 clif_specialeffect(bl, 656, AREA); //Blinking Green Sprite effect on target 
    4226                 clif_specialeffect(src, 59, AREA); //Purple Cast Effect on caster 
    4227                 clif_skill_nodamage(src,bl,skillid,skilllv, 
    4228                         sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); 
    4229                 break; 
    4230         case WL_CURSEEXHAUST: // Warlock Curse of Exhaustion [Brain] 
    4231                 clif_specialeffect(bl, 135, AREA); //Ice Breaking effect on target 
    4232                 clif_specialeffect(src, 59, AREA); //Purple Cast Effect on caster 
    4233                 clif_skill_nodamage(src,bl,skillid,skilllv, 
    4234                         sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); 
    4235                 break; 
    4236         case WL_CURSETONGUES: // Warlock Curse of Tongues [Brain] 
    4237                 clif_specialeffect(bl, 72, AREA); //Spinning Lights effect on target 
    4238                 clif_specialeffect(src, 59, AREA); //Purple Cast Effect on caster 
    4239                 clif_skill_nodamage(src,bl,skillid,skilllv, 
    4240                         sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); 
    4241                 break; 
    4242         case WL_CURSEDOOM: // Warlock Curse of Doom (temp) [Brain] 
    4243                 if(!tsc->data[type]) { 
    4244                         clif_specialeffect(bl, 196, AREA); //Small Curse Reaper effect on target 
    4245                         clif_specialeffect(src, 59, AREA); //Purple Cast Effect on caster 
    4246                         clif_skill_nodamage(src,bl,skillid,skilllv, 
    4247                                 sc_start4(bl,type,100, 
    4248                                         skilllv,skillid,src->id,skill_get_time(skillid,skilllv),1000)); 
    4249                 } else clif_skill_fail(sd,skillid,0,0); 
    4250                 break; 
    4251         case WL_OVERWHELMING: // Warlock Overwhelming Evil [Brain] 
    4252                 clif_specialeffect(src, 348, AREA); //1000 Blades Trespassing effect on caster 
    4253                 clif_skill_nodamage(src,bl,skillid,skilllv, 
    4254                         sc_start(bl,type,100,skilllv,skill_get_time(skillid,skilllv))); 
    4255                 break; 
    4256          
    4257         //Custom Job End 
    4258 >>>>>>> .r18 
    42593782        case MG_SIGHT: 
    42603783        case AL_RUWACH: 
     
    44733996                clif_skill_nodamage(src,bl,skillid,skilllv,i?1:0); 
    44743997                break; 
    4475 <<<<<<< .mine 
    4476 ======= 
    4477                 //Custom Jobs (blackmagic) 
    4478          
    4479         case WL_DRAINSOUL: // Warlock Drain Soul [Brain] 
    4480                 i = 0; 
    4481                 if (dstsd && (sd == dstsd || map_flag_vs(src->m))) 
    4482                 {       //check if target is a player and we are in versus map 
    4483                         i = tstatus->max_sp * skilllv/100;//i = SkillLv% of player Max SP 
    4484                         if(dstsd->spiritball && (dstsd->class_&MAPID_BASEMASK)!=MAPID_GUNSLINGER) { 
    4485                                 i += dstsd->spiritball * 5;//will drain Monk Spirits and regain 5 SP per Spirit 
    4486                                 pc_delspiritball(dstsd,dstsd->spiritball,0); 
    4487                         } 
    4488                 } else if (dstmd && !(tstatus->mode&MD_BOSS) && battle_check_living(tstatus->race,tstatus->def_ele)) 
    4489                 {       // check if target is a monster and not a Boss 
    4490                         i = dstmd->level/5 * skilllv;//i = mob level/5 * Skill Lvl 
    4491                         mob_target(dstmd,src,0);//This will turn the mob agressive against the caster 
    4492                 } 
    4493                 if(i < skilllv) i = skilllv; //Minimum 1 sp per skill lvl 
    4494                 if (i) { 
    4495                         clif_specialeffect(src, 253, AREA); //Absorb Mana effect on caster 
    4496                         clif_specialeffect(bl, 52, AREA); //Lightning Hit effect on target 
    4497                         status_heal(src, 0, i, 3); //caster drains sp 
    4498                         status_zap(bl, 0, i*skilllv); //target lost sp equal to 1*SkillLv the amount drained 
    4499                 } 
    4500                 clif_skill_nodamage(src,bl,skillid,skilllv,i?1:0); 
    4501                 break; 
    4502                 //Custom Job End 
    4503 >>>>>>> .r18 
    45043998 
    45053999        case WL_DRAINSOUL: // Warlock Drain Soul [Brain] 
     
    65956089                        src->m, x-i, y-i, x+i,y+i,BL_SKILL); 
    65966090                break; 
    6597 <<<<<<< .mine 
    6598 ======= 
    6599                 //Custom Jobs (blackmagic) 
    6600         case WL_HELLFIRE: // Warlock Hellfire [Brain] 
    6601                 //clif_specialeffect(sd, 92, AREA); //Meteor Effect on caster, cant set on ground 
    6602                 clif_skill_poseffect(src,WZ_METEOR,skilllv,x,y,tick); //Meteor Effect 
    6603                 clif_skill_nodamage(src, src, skillid, 0, 1); //Lalala, just to show the skill yell correctly 
    6604                 clif_specialeffect(src, 55, AREA); //Red Cast Effect on caster 
    6605                 // Continue reading because skill_unitsetting is bellow 
    6606                 //Custom Job End 
    6607 >>>>>>> .r18 
    66086091 
    66096092        case WL_HELLFIRE: // Warlock Hellfire [Brain] 
     
    67736256                                md->deletetimer = add_timer (gettick() + skill_get_time(skillid,skilllv), mob_timer_delete, md->bl.id, 0); 
    67746257                                mob_spawn (md); //Now it is ready for spawning. 
    6775 <<<<<<< .mine 
    67766258                // @showsummon command implementation [Brainstorm] 
    67776259                if(sd->state.showsummon){ 
     
    67876269                } 
    67886270 
    6789 ======= 
    6790                                 //Custom Jobs (blackmagic) 
    6791                                 // @showsummon command implementation [Brainstorm] 
    6792                                 if(sd->state.showsummon){ 
    6793                                         char output[256]; 
    6794                                         sprintf(output, 
    6795                                                 "[Summon] HP : %d | STR : %d DEX : %d VIT : %d INT : %d AGI : %d LUK : %d", 
    6796                                                 md->status.max_hp,md->status.str,md->status.dex,md->status.vit,md->status.int_,md->status.agi,md->status.luk); 
    6797                                         clif_disp_onlyself(sd,output,strlen(output)); 
    6798                                         sprintf(output, 
    6799                                                 "[%s] ATK : %d~%d | DEF: %d+%d MDEF: %d+%d | HIT: %d FLEE: %d", 
    6800                                                 md->name,md->status.rhw.atk,md->status.rhw.atk2,md->status.def,md->status.def2,md->status.mdef,md->status.mdef2,md->status.hit,md->status.flee); 
    6801                                         clif_disp_onlyself(sd,output,strlen(output)); 
    6802                                 } 
    6803                                 //Custom Job End 
    6804 >>>>>>> .r18 
    6805                         } 
    6806                 } 
    6807                 break; 
    6808  
    6809 <<<<<<< .mine 
     6271                        } 
     6272                } 
     6273                break; 
     6274 
    68106275        case AD_FAMILIAR: // Adept Summon Familiar [Brain] 
    68116276        if( sd ) 
     
    68646329                int mob_class; 
    68656330                struct mob_data *md; 
    6866 ======= 
    6867                 //Custom Jobs (blackmagic)       
    6868         case AD_FAMILIAR: // Adept Summon Familiar [Brain] 
    6869                 if( sd ) 
    6870                 { 
    6871                         int id; 
    6872                         int mob_class; 
    6873                         struct mob_data* md; 
    6874   
    6875                         mob_class = pc_readglobalreg(sd, "ADEPT_FAMILIAR"); 
    6876                         if( mob_class == 0 ) 
    6877                         { 
    6878                                 mob_class = mob_get_random_id(4, 0x1, 0); 
    6879                                 pc_setglobalreg(sd, "ADEPT_FAMILIAR", mob_class); 
    6880                         } 
    6881                         id = mob_once_spawn(sd,src->m,src->x,src->y,"--en--",mob_class,1,""); 
    6882                         md = (struct mob_data *)map_id2bl(id); 
    6883                         if( md != NULL ) 
    6884                         { 
    6885                                 md->master_id = sd->bl.id; 
    6886                                 md->special_state.ai = 1; 
    6887                                 md->status.mode = md->status.mode|MD_AGGRESSIVE; 
    6888                                 status_calc_mob(md,0); //Recalc their stats based on passive bonus 
    6889                                 md->status.hp = md->status.max_hp; //Must be here or the code wont update it 
    6890                                 // @showsummon command implementation [Brainstorm] 
    6891                                 if(sd->state.showsummon){ 
    6892                                         char output[256]; 
    6893                                         sprintf(output, 
    6894                                                 "[Summon] HP : %d | STR : %d DEX : %d VIT : %d INT : %d AGI : %d LUK : %d", 
    6895                                                 md->status.max_hp,md->status.str,md->status.dex,md->status.vit,md->status.int_,md->status.agi,md->status.luk); 
    6896                                         clif_disp_onlyself(sd,output,strlen(output)); 
    6897                                         sprintf(output, 
    6898                                                 "[%s] ATK : %d~%d | DEF: %d+%d MDEF: %d+%d | HIT: %d FLEE: %d", 
    6899                                                 md->name,md->status.rhw.atk,md->status.rhw.atk2,md->status.def,md->status.def2,md->status.mdef,md->status.mdef2,md->status.hit,md->status.flee); 
    6900                                         clif_disp_onlyself(sd,output,strlen(output)); 
    6901                                 } 
    6902                                 md->deletetimer = add_timer(gettick() + skill_get_time(skillid,skilllv), mob_timer_delete, id, 0); 
    6903                         } 
    6904                 } 
    6905                 break; 
    6906         case NC_SKELETON: // Raise Skeleton [Brain] 
    6907         case NC_ARCHER: // Raise Archer Skeleton 
    6908         case NC_ZOMBIE: // Raise Zombie 
    6909         case NC_MUMMY: // Raise Mummy 
    6910         case NC_GHOST: // Raise Ghost 
    6911         case NC_SHADOW: // Raise Shadow 
    6912         case NC_WRAITH: // Raise Wraith 
    6913                 if( sd ) 
    6914                 { 
    6915                         static const int mob_skeleton[5]={ 3201, 3202, 3203, 3204, 3205 }; // Skeleton, Orc Skeleton, Soldier Skeleton, Pirate Skeleton, Skeleton General 
    6916                         static const int mob_archer[5]={ 3206, 3207, 3208, 3209, 3210 }; // Archer Skeleton, Firelock Soldier 
    6917                         static const int mob_zombie[5]={ 3211, 3212, 3213, 3214, 3215 }; // Zombie, Ghoul, Zombie Master 
    6918                         static const int mob_mummy[5]={ 3216, 3217, 3218, 3219, 3220 }; // Mummy, Ancient Mummy 
    6919                         static const int mob_ghost[5]={ 3221, 3222, 3223, 3224, 3225 }; // Whisper, Nightmare, Nightmare Terror 
    6920                         static const int mob_shadow[5]={ 3226, 3227, 3228, 3229, 3230 }; // Injustice, Raydric, Dullahan 
    6921                         static const int mob_wraith[5]={ 3231, 3232, 3233, 3234, 3235 }; // Wraith, Wraith Dead 
    6922                         int id; 
    6923                         int mob_class; 
    6924                         struct mob_data *md; 
    6925 >>>>>>> .r18 
    6926  
    6927 <<<<<<< .mine 
     6331 
    69286332                switch( skillid ) 
    69296333                { 
     
    69646368        } 
    69656369        break; 
    6966 ======= 
    6967                         switch( skillid ) 
    6968                         { 
    6969                                 case NC_SKELETON: mob_class = mob_skeleton[skilllv-1]; break; 
    6970                                 case NC_ARCHER:   mob_class = mob_archer[skilllv-1]; break; 
    6971                                 case NC_ZOMBIE:   mob_class = mob_zombie[skilllv-1]; break; 
    6972                                 case NC_MUMMY:    mob_class = mob_mummy[skilllv-1]; break; 
    6973                                 case NC_GHOST:    mob_class = mob_ghost[skilllv-1]; break; 
    6974                                 case NC_SHADOW:   mob_class = mob_shadow[skilllv-1]; break; 
    6975                                 case NC_WRAITH:   mob_class = mob_wraith[skilllv-1]; break; 
    6976                                 default: 
    6977                                         mob_class = 1002; // poring 
    6978                                         ShowDebug("skill_castend_pos2: undefined skill #%d used to raise mobs, defaulting to poring\n"); 
    6979                                         break; 
    6980                         } 
    6981                         id = mob_once_spawn(sd,src->m,src->x,src->y,"--ja--",mob_class,1,""); 
    6982                         if((md=(struct mob_data *)map_id2bl(id))) 
    6983                         { 
    6984                                 md->master_id=sd->bl.id; 
    6985                                 md->special_state.ai=1; 
    6986                                 md->status.mode=md->db->status.mode|MD_AGGRESSIVE; 
    6987                                 status_calc_mob(md,0); //Recalc their stats based on passive bonus 
    6988                                 md->status.hp = md->status.max_hp; //Must be here or the code wont update it 
    6989                                 // @showsummon command implementation [Brainstorm] 
    6990                                 if(sd->state.showsummon){ 
    6991                                         char output[256]; 
    6992                                         sprintf(output, 
    6993                                                 "[Summon] HP : %d | STR : %d DEX : %d VIT : %d INT : %d AGI : %d LUK : %d", 
    6994                                                 md->status.max_hp,md->status.str,md->status.dex,md->status.vit,md->status.int_,md->status.agi,md->status.luk); 
    6995                                         clif_disp_onlyself(sd,output,strlen(output)); 
    6996                                         sprintf(output, 
    6997                                                 "[%s] ATK : %d~%d | DEF: %d+%d MDEF: %d+%d | HIT: %d FLEE: %d", 
    6998                                                 md->name,md->status.rhw.atk,md->status.rhw.atk2,md->status.def,md->status.def2,md->status.mdef,md->status.mdef2,md->status.hit,md->status.flee); 
    6999                                         clif_disp_onlyself(sd,output,strlen(output)); 
    7000                                 } 
    7001                                 md->deletetimer = add_timer(gettick() + skill_get_time(skillid,skilllv), mob_timer_delete, id, 0); 
    7002                         } 
    7003                 } 
    7004                 break; 
    7005  
    7006  
    7007                 //Custom Job End 
    7008 >>>>>>> .r18 
    70096370 
    70106371 
     
    74216782        switch(skillid) 
    74226783        { 
    7423 <<<<<<< .mine 
    74246784        case WL_HELLFIRE: // Warlock Hellfire [Brain] 
    74256785        if(map_flag_vs(src->m)) target = BCT_ALL; 
    74266786        break; 
    7427 ======= 
    7428 //Custom Jobs (blackmagic) 
    7429         case WL_HELLFIRE: // Warlock Hellfire [Brain] 
    7430                 if(map_flag_vs(src->m)) target = BCT_ALL; 
    7431                 break; 
    7432 //Custom Job End 
    7433 >>>>>>> .r18 
    74346787        case MG_SAFETYWALL: 
    74356788                val2=skilllv+1; 
     
    80287381                                } 
    80297382                                if (status_isimmune(bl)) 
    8030 <<<<<<< .mine 
    80317383                                        heal = 0;       /* 黄金蟲カヌドヒヌル量 */ 
    80327384                // Profane Soul reduces the healed recieved by 3% per skilllv [Brain] 
     
    80377389                } 
    80387390 
    8039 ======= 
    8040                                         heal = 0;       /* 黁Eß蟲カヌドヒヌル量E*/ 
    8041                                 //Custom Jobs (blackmagic) 
    8042                                 // Profane Soul reduces the healed recieved by 3% per skilllv [Brain] 
    8043                                 if(tsd) { 
    8044                                         heal = heal * (100 - pc_checkskill(tsd,AD_PROFANE)*3)/100; 
    8045                                         //Wont heal even if he got elemental armors [Brain] 
    8046                                         if(pc_checkskill(tsd,NC_PHYLACTERY)) heal = sg->skill_lv; 
    8047                                 } 
    8048                                 //Custom Job End 
    8049 >>>>>>> .r18 
    80507391                                clif_skill_nodamage(&src->bl, bl, AL_HEAL, heal, 1); 
    80517392                                status_heal(bl, heal, 0, 0); 
     
    91058446                } 
    91068447                break; 
    9107 <<<<<<< .mine 
    91088448        case AD_FAMILIAR: //Adept Familiar [Flavio] 
    91098449        { 
     
    91548494        break; 
    91558495 
    9156 ======= 
    9157                 //Custom Jobs (blackmagic)       
    9158         case AD_FAMILIAR: //Adept Familiar [Flavio] 
    9159                 { 
    9160                         short familiar[1] ={ pc_readglobalreg(sd, "ADEPT_FAMILIAR") }; 
    9161                         int maxcount = skill_get_maxcount(skill,lv); 
    9162                         int count = 0; 
    9163                         count = mob_countslave_class(&sd->bl, 1, familiar ); 
    9164                         if( count >= maxcount ) 
    9165                         { 
    9166                                 clif_skill_fail(sd,skill,0,0); 
    9167                                 return 0; 
    9168                         } 
    9169                 } 
    9170                 break; 
    9171         case NC_SKELETON: // Raise Skeleton [Brain] 
    9172         case NC_ARCHER: // Raise Archer Skeleton 
    9173         case NC_ZOMBIE: // Raise Zombie 
    9174         case NC_MUMMY: // Raise Mummy 
    9175         case NC_GHOST: // Raise Ghost 
    9176         case NC_SHADOW: // Raise Shadow 
    9177         case NC_WRAITH: // Raise Wraith 
    9178                 {// corrigido o limite de spawns [Flavio] 
    9179                         short summon1[5]={ 3201, 3202, 3203, 3204, 3205 }; // Skeleton, Orc Skeleton, Soldier Skeleton, Pirate Skeleton, Skeleton General 
    9180                         short summon2[5]={ 3206, 3207, 3208, 3209, 3210 }; // Archer Skeleton, Firelock Soldier 
    9181                         short summon3[5]={ 3211, 3212, 3213, 3214, 3215 }; // Zombie, Ghoul, Zombie Master 
    9182                         short summon4[5]={ 3216, 3217, 3218, 3219, 3220 }; // Mummy, Ancient Mummy 
    9183                         short summon5[5]={ 3221, 3222, 3223, 3224, 3225 }; // Whisper, Nightmare, Nightmare Terror 
    9184                         short summon6[5]={ 3226, 3227, 3228, 3229, 3230 }; // Injustice, Raydric, Dullahan 
    9185                         short summon7[5]={ 3231, 3232, 3233, 3234, 3235 }; // Wraith, Wraith Dead 
    9186                         int maxcount = skill_get_maxcount(skill,lv); 
    9187                         int count = 0; 
    9188                         switch( skill ) 
    9189                         { 
    9190                         case NC_SKELETON: count = mob_countslave_class(&sd->bl, 5, summon1); break; 
    9191                         case NC_ARCHER: count = mob_countslave_class(&sd->bl, 5, summon2); break; 
    9192                         case NC_ZOMBIE: count = mob_countslave_class(&sd->bl, 5, summon3); break; 
    9193                         case NC_MUMMY: count = mob_countslave_class(&sd->bl, 5, summon4); break; 
    9194                         case NC_GHOST: count = mob_countslave_class(&sd->bl, 5, summon5); break; 
    9195                         case NC_SHADOW: count = mob_countslave_class(&sd->bl, 5, summon6); break; 
    9196                         case NC_WRAITH: count = mob_countslave_class(&sd->bl, 5, summon7); break; 
    9197                         } 
    9198                         if( count >= maxcount ) 
    9199                         { 
    9200                                 clif_skill_fail(sd,skill,0,0); 
    9201                                 return 0; 
    9202                         } 
    9203                 } 
    9204                 break; 
    9205                 //Custom Job End 
    9206 >>>>>>> .r18 
    92078496        case WZ_FIREPILLAR: // celest 
    92088497                if (lv <= 5)    // no gems required at level 1-5 
     
    96378926                        status_change_end(bl, SC_SUFFRAGIUM, -1); 
    96388927                } 
    9639 <<<<<<< .mine 
    96408928        if (sc->data[SC_DECREPIFY]) // Necro Decrepify [Brain] 
    96418929                if(sc->data[SC_DECREPIFY]->val2>=3) 
     
    96468934        } 
    96478935 
    9648 ======= 
    9649                 //Custom Jobs (blackmagic) 
    9650                  
    9651                 if (sc->data[SC_DECREPIFY]) // Necro Decrepify [Brain] 
    9652                         if(sc->data[SC_DECREPIFY]->val2>=3) 
    9653                                 time += time * 25/100; //+25% cast time 
    9654                 if (sc->data[SC_CURSETONGUES]) { //Warlock Curse of Tongues [Brain] 
    9655                         time += time * sc->data[SC_CURSETONGUES]->val2 / 100; 
    9656                         status_change_end(bl, SC_CURSETONGUES, -1); 
    9657                 } 
    9658                  
    9659                 //Custom Job End 
    9660 >>>>>>> .r18 
    96618936                if (sc->data[SC_MEMORIZE]) { 
    96628937                        time>>=1; 
     
    1245411729        return 0; 
    1245511730} 
    12456 <<<<<<< .mine 
    1245711731 
    1245811732int skill_additem(struct block_list* src, struct block_list *bl, int itemid, int amount)// ITEM GIVER [Brain] 
     
    1249311767        return 0; 
    1249411768} 
    12495 ======= 
    12496 //Custom Jobs (blackmagic) 
    12497 int skill_additem(struct block_list* src, struct block_list *bl, int itemid, int amount)// ITEM GIVER [Brain] 
    12498 { 
    12499         struct map_session_data *sd = NULL, *tsd = NULL; 
    12500  
    12501         nullpo_retr(1, src); 
    12502         nullpo_retr(1, bl);      
    12503  
    12504         if (src->m != bl->m) 
    12505                 return 1; 
    12506         if (bl->prev == NULL) 
    12507                 return 1; 
    12508         if (src->type == BL_PC) 
    12509                 sd = (struct map_session_data *)src; 
    12510         if (bl->type == BL_PC) 
    12511                 tsd = (struct map_session_data *)bl; 
    12512         if (status_isdead(bl)) 
    12513                 return 1; 
    12514  
    12515         int eflag; 
    12516         struct item item_tmp; 
    12517         struct block_list tbl; 
    12518          
    12519         memset(&item_tmp,0,sizeof(item_tmp)); 
    12520         memset(&tbl,0,sizeof(tbl)); 
    12521  
    12522         item_tmp.nameid = itemid; 
    12523         item_tmp.identify = 1; 
    12524         tbl.id = 0; 
    12525  
    12526         clif_takeitem(&sd->bl,&tbl); 
    12527         eflag = pc_additem(sd,&item_tmp,amount); 
    12528         if(eflag) { 
    12529                 clif_additem(sd,0,0,eflag); 
    12530                 map_addflooritem(&item_tmp,amount,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0); 
    12531         } 
    12532         return 0; 
    12533 } 
    12534 //Custom Job End>>>>>>> .r18