Index: src/map/battle.c
===================================================================
--- src/map/battle.c (revision 24)
+++ src/map/battle.c (revision 1)
@@ -138,5 +138,5 @@
 }
 
-// _??[WÌx
+// _E?[WÌx
 struct delay_damage {
 	struct block_list *src;
@@ -265,5 +265,5 @@
 
 /*==========================================
- * _??[W?Å?IvZ
+ * _E?[W?Å?IvZ
  *------------------------------------------*/
 int battle_calc_damage(struct block_list *src,struct block_list *bl,int damage,int div_,int skill_num,int skill_lv,int flag)
@@ -370,28 +370,4 @@
 				if (--(sce->val3) <= 0) //We make it work like Safety Wall, even though it only blocks 1 time.
 					status_change_end(bl, SC_KAUPE, -1);
-			return 0;
-		}
-		
-		//Display red flashing aura effect of Adept Blood Lust [Brain]
-		if(sc->data[SC_LUST] && damage > 0){
-			clif_specialeffect(bl, 548, AREA);
-			if(rand()%100 < 10) clif_specialeffect(bl, 455, AREA); //Red Lightnings, 1/10 attacks will show to prevent spam
-		};
-		//Display blue flashing aura effect of Warlock Overwhelming Evil [Brain]
-		if(sc->data[SC_OVERWHELMING] && damage > 0)
-			clif_specialeffect(bl, 73, AREA);
- //AT Field is Irrelevant, I believe.
-		// AT-Field [Brainstorm]
-		if(sc->data[SC_ATFIELD] &&
-			rand()%100 < sc->data[SC_ATFIELD]->val2)
-		{	//Blocks all skills.
-			clif_specialeffect(bl, 438, AREA);
-			//Shouldn't end until Breaker's non-weapon part connects.
-			if (skill_num == ASC_BREAKER ||
-				skill_num == LK_SPIRALPIERCE ||
-				skill_num == CG_ARROWVULCAN ||
-				skill_num == SN_SHARPSHOOTING)
-				if (--sc->data[SC_ATFIELD]->val3 <= 0) //We make it work like Safety Wall
-				status_change_end(bl, SC_ATFIELD, -1);
 			return 0;
 		}
@@ -627,5 +603,5 @@
 
 /*==========================================
- * ?Cû_??[W
+ * ?Cû_E?[W
  *------------------------------------------*/
 int battle_addmastery(struct map_session_data *sd,struct block_list *target,int dmg,int type)
@@ -639,6 +615,5 @@
 
 	if((skill = pc_checkskill(sd,AL_DEMONBANE)) > 0 &&
-		target->type == BL_MOB && //This bonus doesnt work against players.
-		(battle_check_undead(status->race,status->def_ele) || status->race==RC_DEMON) )
+		(status->race==RC_UNDEAD || status->race==RC_DEMON) )
 		damage += (skill*(int)(3+(sd->status.base_level+1)*0.05));	// submitted by orn
 		//damage += (skill * 3);
@@ -649,8 +624,4 @@
 			damage += sd->status.str;
 	}
-//AMIDOINITRITE?! V seems okay.	
-	//Warlock Touch of Corruption (Mage-Monster Killer passive skill) [Brainstorm]
-	if((skill = pc_checkskill(sd,WL_CORRUPTION)) > 0 && target->type==BL_MOB )
-		damage += (skill * (status->int_/10));
 
 	if(type == 0)
@@ -1328,7 +1299,4 @@
 			switch( skill_num )
 			{
-				case NC_DEATHHAND: // Necro Death Hand [Brain]
-					skillratio += -25+25*skill_lv; //I wonder if it will accept that?
-					break;
 				case SM_BASH:
 					skillratio += 30*skill_lv;
@@ -1746,5 +1714,5 @@
 				vit_def = def2/2 + (vit_def>0?rand()%vit_def:0);
 				
-				if((battle_check_undead(sstatus->race,sstatus->def_ele) || sstatus->race==RC_DEMON) && //This bonus already doesnt work vs players
+				if((sstatus->race==RC_UNDEAD || sstatus->race==RC_DEMON) &&
 					src->type == BL_MOB && (skill=pc_checkskill(tsd,AL_DP)) > 0)
 					vit_def += skill*(int)(3 +(tsd->status.base_level+1)*0.04);   // submitted by orn
@@ -2219,7 +2187,5 @@
 		{	//Calc base damage according to skill
 			case AL_HEAL:
-			case PR_BENEDICTIO: //Accidentally deleted the :, replaced it. No difference, so dont worry about this.
-			case AD_DARKHEAL: // Adept Dark Heal
-			//Is this a good place for dark heal, i wonder? Seems fine though.
+			case PR_BENEDICTIO:
 				ad.damage = skill_calc_heal(src, target, skill_lv)/2;
 				break;
@@ -2340,32 +2306,4 @@
 						skillratio += 100 +100*skill_lv +100*(skill_lv/2);
 						break;
-						
-//NOTE: All the skills below here did NOT work before, may have been a stupid mistake but this is for reference.
-					case NC_DRAINLIFE: // Necro Drain Life [Brain]
-						skillratio += 25*skill_lv;
-						break;
-					case WL_HELLFIRE: // Warlock Hellfire [Brain]
-						skillratio += 25*skill_lv;
-						break;
-					case WL_SHADOWBURN: // Warlock Shadow Burn [Brain]
-						skillratio += 20*skill_lv;
-						break;
-					case WL_CURSEDOOM: // Warlock Curse of Doom [Brain]
-						skillratio += 400 + 300*skill_lv; //max 20*matk dmg after 60 seconds
-						break;
-					case WL_SEARING: // Warlock Searing Pain [Brain]
-						if(status_get_sc(target)->data[SC_SEARING])
-							skillratio = 10*pc_checkskill(sd,WL_SEARING);//10% * skilllv
-						break; //Else 100% Matk
-					case WL_IMMOLATE: // Warlock Immolate [Brain]
-						if(status_get_sc(target)->data[SC_IMMOLATE])
-							skillratio += 10*pc_checkskill(sd,WL_SEARING);//100% +10 * searing lv
-						else skillratio += -20 + 20*skill_lv;// Else 80% + 20% * skill lv
-						break;
-					case WL_CONFLAGRATE: // Warlock Conflagrate [Brain]
-						skillratio += 100 + 60*skill_lv + //damage bonus from other fire skills
-							10*pc_checkskill(sd,WL_SEARING) + 10*pc_checkskill(sd,WL_IMMOLATE);
-						break;
-
 				}
 
@@ -2438,12 +2376,5 @@
 		if (!(nk&NK_NO_ELEFIX))
 			ad.damage=battle_attr_fix(src, target, ad.damage, s_ele, tstatus->def_ele, tstatus->ele_lv);
-//Take this into account for errors. It looks out of place/outdated but I will not look further into it until I know.
-		if(skill_num == WL_SHADOWBURN) { // Warlock Shadow Burn [Brain]
-			// This is where we calculate the secondary damage
-			if(ad.damage<1) ad.damage=1;
-			struct Damage md = battle_calc_misc_attack(src,target,skill_num,skill_lv, mflag);
-			if(md.damage<1) md.damage=1;
-			ad.damage += md.damage;
-		}
+
 		if (sd && !(nk&NK_NO_CARDFIX_ATK)) {
 			short t_class = status_get_class(target);
@@ -2511,5 +2442,5 @@
 
 /*==========================================
- * »ÌŒ_??[WvZ
+ * »ÌŒ_E?[WvZ
  *------------------------------------------*/
 struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *target,int skill_num,int skill_lv,int mflag)
@@ -2645,16 +2576,5 @@
 	case NPC_EVILLAND:
 		md.damage = (skill_lv>6)?666:skill_lv*100;
-//Why the hell is this supposed to be above the break?
-	case WL_SHADOWBURN: // Warlock ShadowBurn dark element damage [Brain]
-		s_ele = ELE_DARK;
-		md.damage = ((300 + 20*skill_lv)/100)*((sstatus->int_*(rand()%300+500))/100); //Fixed between min and max matk for now
 		break;
-		
-// Wouldn't this work better?
-
-/*	case WL_SHADOWBURN: // Warlock ShadowBurn dark element damage [Brain]
-		s_ele = ELE_DARK;
-		md.damage = ((300 + 20*skill_lv)/100)*((sstatus->int_*(rand()%300+500))/100); //Fixed between min and max matk for now
-break;*/
 	}
 
@@ -2750,5 +2670,5 @@
 }
 /*==========================================
- * _??[WvZê??p
+ * _E?[WvZê?E?p
  *------------------------------------------*/
 struct Damage battle_calc_attack(int attack_type,struct block_list *bl,struct block_list *target,int skill_num,int skill_lv,int count)
@@ -2843,20 +2763,4 @@
 	if (sd->sp_vanish_rate && rand()%1000 < sd->sp_vanish_rate)
 		status_percent_damage(&sd->bl, tbl, 0, (unsigned char)sd->sp_vanish_per, false);
-//I don't know about this. But it looks like it fits fine
-	// Adept Blood Pact drains 5% damage per hit [FlavioJS/Brain]
-	if( pc_checkskill(sd, AD_BLOODPACT) > 0 )
-		thp += battle_calc_drain(rdamage,1000,5);
-
-	// Warlock Soul Steal drains 1%*skilllv damage per hit [Brain]
-	if( pc_checkskill(sd, WL_SOULSTEAL) > 0 )
-		tsp += battle_calc_drain(rdamage,1000,pc_checkskill(sd,WL_SOULSTEAL));
-	// Warlock Touch of Corruption burns 1%*skilllv damage as SP per hit [Brain]
-	if( pc_checkskill(sd, WL_CORRUPTION) > 0 ) {// This is the opener, whoops lol.
-		int corrupt_sp;
-		corrupt_sp = battle_calc_drain(rdamage,1000,pc_checkskill(sd,WL_CORRUPTION));
-		if(status_damage(NULL, tbl, 0, corrupt_sp, 0, 3))
-			rhp += corrupt_sp;//If SP damage was caused, increase HP damage too
-	}// Where does this bracket open?
-
 	if (!thp && !tsp) return;
 
@@ -2868,5 +2772,5 @@
 
 /*==========================================
- * Ê?í?U??ÜÆß
+ * Ê?EU?E?ÜÆß
  *------------------------------------------*/
 enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* target, unsigned int tick, int flag)
@@ -3082,17 +2986,5 @@
 	return wd.dmg_lv;
 }
-//new battle check code, i speculate it. But it looks like it just calls other races and elements into one big one.
-int battle_check_living(int race,int element)// Living creature check [Brain]
-{
-	if(element == ELE_UNDEAD || race == RC_UNDEAD // Undead element and race check
-		|| race == RC_DEMON			// Demon race check
-		|| race == RC_FORMLESS			// Formless race check
-		|| element == ELE_GHOST){		// Ghost element check
-		return 0;
-	}
-	else {
-	return 1;
-	}
-}
+
 int battle_check_undead(int race,int element)
 {
@@ -3241,4 +3133,15 @@
 				strip_enemy = 0;
 			}
+			// Sketchy - begin
+		if (sd->state.god && t_bl != s_bl && s_bl->type == BL_PC && ((TBL_PC*)s_bl)->state.demon && map[m].flag.hostile) {
+		state |= BCT_ENEMY;
+		strip_enemy = 0;
+		}
+
+		if (sd->state.demon && t_bl != s_bl && s_bl->type == BL_PC && ((TBL_PC*)s_bl)->state.god && map[m].flag.hostile) {
+		state |= BCT_ENEMY;
+		strip_enemy = 0;
+		}
+		// Sketchy -end
 			break;
 		}
@@ -3809,10 +3712,5 @@
 	{ "auction_feeperhour",                 &battle_config.auction_feeperhour,              12000,  0,      INT_MAX,        },
 	{ "auction_maximumprice",               &battle_config.auction_maximumprice,            500000000, 0,   MAX_ZENY,       },
-//battle conf declarations, does this mean we add new lines to battle.conf?
-	//Vanaheim battle settings [Brainstorm]
-	{ "necro_retaliation",                  &battle_config.necro_retaliation,               1,      0,      1,              },
-	{ "disp_summon_stats",                  &battle_config.disp_summon_stats,               0,      0,      1,              },
 	{ "gm_viewequip_min_lv",                &battle_config.gm_viewequip_min_lv,             0,      0,      99,             },
-	{ "homunculus_auto_vapor",              &battle_config.homunculus_auto_vapor,           0,      0,      1,              },
 };
 
