Index: src/map/status.c
===================================================================
--- src/map/status.c (revision 22)
+++ src/map/status.c (revision 24)
@@ -130,5 +130,6 @@
 	set_sc( NPC_SILENCEATTACK , SC_SILENCE   , SI_BLANK    , SCB_NONE );
 	set_sc( DC_WINKCHARM      , SC_CONFUSION , SI_BLANK    , SCB_NONE );
-	set_sc( AD_PWFEAR	 , SC_FEAR	  , SI_HALLUCINATION , SCB_SPEED ); //Fear Status by [Brainstorm]
+	//the visual effect is HALLUCINATION?!
+	set_sc( AD_PWFEAR         , SC_FEAR      , SI_HALLUCINATION , SCB_SPEED ); //Fear Status by [Brainstorm]
 	set_sc( NPC_BLINDATTACK   , SC_BLIND     , SI_BLANK    , SCB_HIT|SCB_FLEE );
 	set_sc( LK_HEADCRUSH      , SC_BLEEDING  , SI_BLEEDING , SCB_REGEN );
@@ -408,31 +409,30 @@
 	set_sc( GD_BATTLEORDER       , SC_BATTLEORDERS    , SI_BLANK           , SCB_STR|SCB_INT|SCB_DEX );
 	set_sc( GD_REGENERATION      , SC_REGENERATION    , SI_BLANK           , SCB_REGEN );
-
+	//Are we sure about this?
 	// Custom Jobs Skills [Brain]
-	add_sc( AD_PWBLIND	   , SC_BLIND);
-	add_sc( AD_PWFEAR		, SC_FEAR);
-	set_sc( AD_LUST		  , SC_LUST		, SI_JOINTBEAT	   , SCB_ASPD|SCB_BATK|SCB_WATK|SCB_REGEN);
-
-	set_sc( NC_DECREPIFY	 , SC_DECREPIFY	   , SI_BLEEDING	, SCB_SPEED|SCB_BATK|SCB_WATK|SCB_DEF2|SCB_MDEF2);
-	set_sc( NC_DARKMOON	  , SC_DARKMOON	, SI_MOON_COMFORT	, SCB_FLEE|SCB_HIT);
-	add_sc( NC_DARKMOON	  , SC_BLIND);
-	set_sc( NC_REQUIEM	   , SC_REQUIEM	 , SI_KAIZEL	  , SCB_BATK|SCB_WATK);
-	add_sc( NC_GHOULTOUCH	, SC_POISON);
-	set_sc( NC_PWSUFFER	  , SC_SUFFER	  , SI_BLANK	   , SCB_DEF|SCB_DEF2);
-	set_sc( NC_DEATHPACT	 , SC_DEATHPACT	   , SI_BIOMOBTRICKDEAD , SCB_DEF_ELE|SCB_REGEN);
+	add_sc( AD_PWBLIND           , SC_BLIND);
+	add_sc( AD_PWFEAR            , SC_FEAR);
+	set_sc( AD_LUST              , SC_LUST            , SI_JOINTBEAT       , SCB_ASPD|SCB_BATK|SCB_WATK|SCB_REGEN); 
+	set_sc( NC_DECREPIFY         , SC_DECREPIFY       , SI_BLEEDING        , SCB_SPEED|SCB_BATK|SCB_WATK|SCB_DEF2|SCB_MDEF2);
+	set_sc( NC_DARKMOON          , SC_DARKMOON        , SI_MOON_COMFORT    , SCB_FLEE|SCB_HIT);
+	add_sc( NC_DARKMOON          , SC_BLIND);
+	set_sc( NC_REQUIEM           , SC_REQUIEM         , SI_KAIZEL          , SCB_BATK|SCB_WATK);
+	add_sc( NC_GHOULTOUCH        , SC_POISON);
+	set_sc( NC_PWSUFFER          , SC_SUFFER          , SI_BLANK           , SCB_DEF|SCB_DEF2);
+	set_sc( NC_DEATHPACT         , SC_DEATHPACT       , SI_BIOMOBTRICKDEAD , SCB_DEF_ELE|SCB_REGEN);
 	
-	set_sc( WL_SEARING	   , SC_SEARING	 , SI_BLANK	   , SCB_NONE);
-	set_sc( WL_IMMOLATE	  , SC_IMMOLATE	, SI_BLANK	   , SCB_NONE);
-	add_sc( WL_SHADOWBURN	, SC_STUN);
-	set_sc( WL_PWAGONY	   , SC_AGONY	   , SI_BLANK	   , SCB_MDEF|SCB_MDEF2);
-	set_sc( WL_CURSETONGUES	  , SC_CURSETONGUES	, SI_SLOWCAST	, SCB_NONE);
-	set_sc( WL_CURSEDOOM	 , SC_DOOM		, SI_BLANK	   , SCB_NONE);
-	set_sc( WL_CURSEWEAKNESS	 , SC_CURSEWEAKNESS   , SI_STRIPWEAPON	 , SCB_BATK|SCB_WATK);
-	set_sc( WL_CURSEEXHAUST	  , SC_CURSEEXHAUST	, SI_CRITICALWOUND   , SCB_DEF|SCB_MDEF);
-	add_sc( WL_HOWLOFTERROR	  , SC_FEAR);
-	set_sc( WL_HOWLOFPAIN	, SC_PROVOKE	 , SI_PROVOKE	 , SCB_DEF|SCB_DEF2|SCB_BATK|SCB_WATK);
-	set_sc( WL_OVERWHELMING	  , SC_OVERWHELMING	, SI_ENERGYCOAT	  , SCB_DEF|SCB_MDEF|SCB_MATK|SCB_REGEN|SCB_DEF_ELE);
-	
-	set_sc( ALL_ATFIELD	  , SC_ATFIELD	 , SI_UTSUSEMI	,SCB_NONE);
+	set_sc( WL_SEARING           , SC_SEARING         , SI_BLANK           , SCB_NONE);
+	set_sc( WL_IMMOLATE          , SC_IMMOLATE        , SI_BLANK           , SCB_NONE);
+	add_sc( WL_SHADOWBURN        , SC_STUN);
+	set_sc( WL_PWAGONY           , SC_AGONY           , SI_BLANK           , SCB_MDEF|SCB_MDEF2);
+	set_sc( WL_CURSETONGUES      , SC_CURSETONGUES    , SI_SLOWCAST        , SCB_NONE);
+	set_sc( WL_CURSEDOOM         , SC_DOOM            , SI_BLANK           , SCB_NONE);
+	set_sc( WL_CURSEWEAKNESS     , SC_CURSEWEAKNESS   , SI_STRIPWEAPON     , SCB_BATK|SCB_WATK);
+	set_sc( WL_CURSEEXHAUST      , SC_CURSEEXHAUST    , SI_CRITICALWOUND   , SCB_DEF|SCB_MDEF);
+	add_sc( WL_HOWLOFTERROR      , SC_FEAR);
+	set_sc( WL_HOWLOFPAIN        , SC_PROVOKE         , SI_PROVOKE         , SCB_DEF|SCB_DEF2|SCB_BATK|SCB_WATK);
+	set_sc( WL_OVERWHELMING      , SC_OVERWHELMING    , SI_ENERGYCOAT      , SCB_DEF|SCB_MDEF|SCB_MATK|SCB_REGEN|SCB_DEF_ELE);
+//WTF IS THIS DOING HERE AT ALL?!	
+	set_sc( ALL_ATFIELD          , SC_ATFIELD         , SI_UTSUSEMI        ,SCB_NONE);
 
 
@@ -675,7 +675,8 @@
 			status_change_end(target,SC_WINKCHARM,-1);
 			status_change_end(target,SC_CONFUSION,-1);
-			//error... definately...
-			if (sc->data[SC_FEAR]) //Fear Status by [Brainstorm]
-			status_change_end(target, SC_FEAR, -1);
+/*+			if (sc->data[SC_FEAR]) //Fear Status by [Brainstorm]
++				status_change_end(target, SC_FEAR, -1);*/
+//Modifying the above...
+            status_change_end(target,SC_FEAR,-1);
 			status_change_end(target,SC_TRICKDEAD,-1);
 			status_change_end(target,SC_HIDING,-1);
@@ -689,4 +690,7 @@
 					status_change_end(target, SC_ENDURE, -1);
 			}
+			//May also work here... MAYBE
+//			if (sc->data[SC_FEAR]) //Fear Status by [Brainstorm]
+//				status_change_end(target, SC_FEAR, -1);
 			if ((sce=sc->data[SC_GRAVITATION]) && sce->val3 == BCT_SELF)
 			{
@@ -1226,6 +1230,4 @@
 }
 
-void status_calc_bl(struct block_list *bl, unsigned long flag);
-
 // Basic ASPD value
 int status_base_amotion_pc(struct map_session_data* sd, struct status_data* status)
@@ -1372,9 +1374,7 @@
 	if (md->master_id && md->special_state.ai>1)
 		flag|=16;
-
+// a flag o_O
 	if (md->master_id && md->special_state.ai)
-	flag|=32; //Adept/Necro/Warlock Summon Stats Bonus [Brainstorm]
-
-
+		flag|=32; //Adept/Necro/Warlock Summon Stats Bonus [Brainstorm]
 	if (!flag)
 	{ //No special status required.
@@ -1493,68 +1493,67 @@
 		status->aspd_rate -= 100*md->guardian_data->guardup_lv;
 	}
+//Gentlemen, prepare to error your ass off! =O Unless I fixed that thing wayyyy up thar ^
 	//Summon Bonus from Skills [Brainstorm]
 	if(flag&32)
 	{
-	mbl = map_id2bl(md->master_id);
-	if(mbl)
-	{
-		struct unit_data *ud = unit_bl2ud(mbl);
-		//Remove special AI when this is used by regular mobs.
-		if (mbl->type == BL_MOB && !((TBL_MOB*)mbl)->special_state.ai)
-		md->special_state.ai = 0;
-		
-		int master_lv = status_get_lv(mbl);
-		int skill_mastery = pc_checkskill((TBL_PC*)mbl,AD_SUMMONS);
-		int undead_mastery = pc_checkskill((TBL_PC*)mbl,NC_UNDEAD);
+		mbl = map_id2bl(md->master_id); //WTF?! Your mom! It's there you liar compiling bastard!
+		if(mbl)
+		{
+			struct unit_data *ud = unit_bl2ud(mbl);
+			//Remove special AI when this is used by regular mobs.
+			if (mbl->type == BL_MOB && !((TBL_MOB*)mbl)->special_state.ai)
+				md->special_state.ai = 0;
+			
+			int master_lv = status_get_lv(mbl);
+			int skill_mastery = pc_checkskill((TBL_PC*)mbl,AD_SUMMONS);
+			int undead_mastery = pc_checkskill((TBL_PC*)mbl,NC_UNDEAD);
 	
-		if (ud->skillid == AD_FAMILIAR)
-		{
-		status->max_hp += (skill_mastery*10) + (master_lv*10);
-		status->str += (master_lv) + (skill_mastery);
-		status->dex += (master_lv) + (skill_mastery);
-		status->agi += (master_lv) + (skill_mastery);
-		status->int_ += (master_lv) + (skill_mastery);
-		status->vit += (master_lv) + (skill_mastery);
-		status->luk += (master_lv) + (skill_mastery);
-		status->rhw.atk += (skill_mastery*3)
-			+ (status->str+((status->str/10)*(status->str/10))+(status->dex/5)+(status->luk/10));
-		status->rhw.atk2 += (skill_mastery*3)
-			+ (status->str+((status->str/10)*(status->str/10))+(status->dex/5)+(status->luk/10));
-		status->speed -= skill_mastery;
-		status->def += (master_lv)/10 + (skill_mastery);
-		status->mdef += (master_lv)/10 + (skill_mastery);
-		//These are not automatically recalculated
-		status->hit += (master_lv*2) + (skill_mastery);
-		status->flee += (master_lv*2) + (skill_mastery);
-		status->def2 += (master_lv) + (skill_mastery);
-		status->mdef2 += (master_lv) + (skill_mastery);
-		}	
-		else if(status->race==RC_UNDEAD)
-		{
-		status->max_hp += (undead_mastery*10) + (master_lv*2);
-		status->str += (undead_mastery*3) + (skill_mastery);
-		status->dex += (undead_mastery*3) + (skill_mastery);
-		status->agi += (undead_mastery*3) + (skill_mastery);
-		status->int_ += (undead_mastery*3) + (skill_mastery);
-		status->vit += (undead_mastery*3) + (skill_mastery);
-		status->luk += (undead_mastery*3) + (skill_mastery);
-		status->rhw.atk += (undead_mastery*3) + (skill_mastery*3)
-			+ (status->str+((status->str/10)*(status->str/10))+(status->dex/5)+(status->luk/10));
-		status->rhw.atk2 += (undead_mastery*3) + (skill_mastery*3)
-			+ (status->str+((status->str/10)*(status->str/10))+(status->dex/5)+(status->luk/10));
-		status->speed -= undead_mastery;
-		status->def += undead_mastery;
-		status->mdef += undead_mastery;
-		//These are not automatically recalculated
-		status->hit += (undead_mastery*3) + (skill_mastery);
-		status->flee += (undead_mastery*3) + (skill_mastery);
-		status->def2 += (undead_mastery*3) + (skill_mastery);
-		status->mdef2 += (undead_mastery*3) + (skill_mastery);
-		}
-	}
-	else ShowError("status_calc_mob: Monster summoned without a master at %s\n", map[md->bl.m].name);
-	}
-
-
+			if (ud->skillid == AD_FAMILIAR)
+			{
+				status->max_hp += (skill_mastery*10) + (master_lv*10);
+				status->str += (master_lv) + (skill_mastery);
+				status->dex += (master_lv) + (skill_mastery);
+				status->agi += (master_lv) + (skill_mastery);
+				status->int_ += (master_lv) + (skill_mastery);
+				status->vit += (master_lv) + (skill_mastery);
+				status->luk += (master_lv) + (skill_mastery);
+				status->rhw.atk += (skill_mastery*3)
+					+ (status->str+((status->str/10)*(status->str/10))+(status->dex/5)+(status->luk/10));
+				status->rhw.atk2 += (skill_mastery*3)
+					+ (status->str+((status->str/10)*(status->str/10))+(status->dex/5)+(status->luk/10));
+				status->speed -= skill_mastery;
+				status->def += (master_lv)/10 + (skill_mastery);
+				status->mdef += (master_lv)/10 + (skill_mastery);
+				//These are not automatically recalculated
+				status->hit += (master_lv*2) + (skill_mastery);
+				status->flee += (master_lv*2) + (skill_mastery);
+				status->def2 += (master_lv) + (skill_mastery);
+				status->mdef2 += (master_lv) + (skill_mastery);
+			}	
+			else if(status->race==RC_UNDEAD)
+			{
+				status->max_hp += (undead_mastery*10) + (master_lv*2);
+				status->str += (undead_mastery*3) + (skill_mastery);
+				status->dex += (undead_mastery*3) + (skill_mastery);
+				status->agi += (undead_mastery*3) + (skill_mastery);
+				status->int_ += (undead_mastery*3) + (skill_mastery);
+				status->vit += (undead_mastery*3) + (skill_mastery);
+				status->luk += (undead_mastery*3) + (skill_mastery);
+				status->rhw.atk += (undead_mastery*3) + (skill_mastery*3)
+					+ (status->str+((status->str/10)*(status->str/10))+(status->dex/5)+(status->luk/10));
+				status->rhw.atk2 += (undead_mastery*3) + (skill_mastery*3)
+					+ (status->str+((status->str/10)*(status->str/10))+(status->dex/5)+(status->luk/10));
+				status->speed -= undead_mastery;
+				status->def += undead_mastery;
+				status->mdef += undead_mastery;
+				//These are not automatically recalculated
+				status->hit += (undead_mastery*3) + (skill_mastery);
+				status->flee += (undead_mastery*3) + (skill_mastery);
+				status->def2 += (undead_mastery*3) + (skill_mastery);
+				status->mdef2 += (undead_mastery*3) + (skill_mastery);
+			}
+		}
+		else ShowError("status_calc_mob: Monster summoned without a master at %s\n", map[md->bl.m].name);
+	}
 	//Initial battle status
 	if (!first)
@@ -1745,5 +1744,4 @@
 	sd->delayrate=100;
 	sd->dsprate=100;
-	sd->speed_rate = 100;
 	sd->hprecov_rate = 100;
 	sd->sprecov_rate = 100;
@@ -1804,6 +1802,8 @@
 	status->aspd_rate = 1000;
 	status->ele_lv = 1;
+//	status->race = RC_DEMIHUMAN;
 	status->race = RC_DEMIHUMAN;// This define players default race to DEMIHUMAN [Brain]
 	if(pc_checkskill(sd,NC_PHYLACTERY)>0) status->def_ele = ELE_UNDEAD; //Phylactery turns you UNDEAD 1 instead of NEUTRAL
+
 
 	//zero up structures...
@@ -1860,4 +1860,5 @@
 		+ sizeof(sd->crit_atk_rate)
 		+ sizeof(sd->classchange)
+		+ sizeof(sd->speed_rate)
 		+ sizeof(sd->speed_add_rate)
 		+ sizeof(sd->aspd_add)
@@ -2042,6 +2043,4 @@
 	sd->perfect_hit += sd->perfect_hit_add;
 	sd->splash_range += sd->splash_add_range;
-	if(sd->speed_add_rate)	
-		sd->speed_rate += sd->speed_add_rate;
 
 	// Damage modifiers from weapon type
@@ -2096,6 +2095,5 @@
 		status->dex += skill;
 	if((skill=pc_checkskill(sd,WL_DEMONOLOGY))>0) //Warlock Demonology [Brain]
-	status->str += skill/2; //+1 str per 2 skill points
-
+		status->str += skill/2; //+1 str per 2 skill points
 
 	// Bonuses from cards and equipment as well as base stat, remember to avoid overflows.
@@ -2136,6 +2134,5 @@
 		status->max_hp += skill*200;
 	if((skill=pc_checkskill(sd,AD_PROFANE))>0) // Adept Profane Soul [Brain]
-	status->max_hp += status->max_hp * (skill*3)/100;
-
+		status->max_hp += status->max_hp * (skill*3)/100;
 
 	// Apply relative modifiers from equipment
@@ -2168,7 +2165,5 @@
 		status->max_sp += status->max_sp * 2*skill/100;
 	if((skill=pc_checkskill(sd,AD_PROFANE))>0) // Adept Profane Soul [Brain]
-	status->max_sp += sd->status.max_sp * (skill*3)/100;
-
-
+		status->max_sp += sd->status.max_sp * (skill*3)/100;
 	// Apply relative modifiers from equipment
 	if(sd->sprate < 0)
@@ -2263,6 +2258,7 @@
 		}
 	}
+	//right place?
 	if((skill=pc_checkskill(sd,AD_FERVOR))>0) // Adept Unholy Fevor [Brain]
-	status->hit += skill*2;
+		status->hit += skill*2;
 
 // ----- FLEE CALCULATION -----
@@ -2274,5 +2270,5 @@
 		status->flee += (skill*3)>>1;
 	if((skill=pc_checkskill(sd,AD_FERVOR))>0) // Adept Unholy Fevor [Brain]
-	status->flee += skill*2;
+		status->flee += skill*2;
 
 // ----- EQUIPMENT-DEF CALCULATION -----
@@ -2301,7 +2297,8 @@
 		status->mdef = cap_value(i, CHAR_MIN, CHAR_MAX);
 	}
+	//AMIDOINITRITE?
 	// Absolute modifiers from passive skills
 	if((skill=pc_checkskill(sd,AD_DARKFAITH))>0) // Adept Dark Faith [Brain]
-	status->mdef += 1*skill;
+		status->mdef += 1*skill;
 
 
@@ -2314,8 +2311,6 @@
 // ----- WALKING SPEED CALCULATION -----
 
-	if(sd->speed_rate < 0)
-		sd->speed_rate = 0;
-	if(sd->speed_rate != 100)
-		status->speed = status->speed*sd->speed_rate/100;
+	sd->speed_rate += sd->speed_add_rate;
+	status->speed += status->speed * sd->speed_rate/100;
 
 	// Relative modifiers from passive skills
@@ -2411,16 +2406,17 @@
 		sd->subrace[RC_DRAGON]+=skill;
 	}
-
+// Racial slurs =O
 	if((skill=pc_checkskill(sd,AD_DARKFAITH))>0) // Adept Dark Faith [Brain]
-	sd->subele[ELE_DARK] += skill*5;
+		sd->subele[ELE_DARK] += skill*5;
 	if((skill=pc_checkskill(sd,WL_DEMONOLOGY))>0 ){ //Warlock Demonology [Brain]
-	skill = skill*5;
-	sd->right_weapon.addrace[RC_DEMON]+=skill;
-	sd->magic_addrace[RC_DEMON]+=skill;
-	sd->subrace[RC_DEMON]+=skill;
+		skill = skill*5;
+		sd->right_weapon.addrace[RC_DEMON]+=skill;
+		sd->magic_addrace[RC_DEMON]+=skill;
+		sd->subrace[RC_DEMON]+=skill;
 	}
 	if((pc_checkskill(sd,NC_PHYLACTERY))>0){ // Necro Phylactery [Brain]
-	sd->subele[ELE_NEUTRAL] += 10;	//And increases neutral resistance by 10%
-	}
+		sd->subele[ELE_NEUTRAL] += 10;	//And increases neutral resistance by 10%
+	}
+
 
 
@@ -2448,6 +2444,5 @@
 		}
 		if(sd->sc.data[SC_DEATHPACT]) //Necro Death Pact [Brain]
-		sd->subele[ELE_NEUTRAL] += sd->sc.data[SC_DEATHPACT]->val2;
-
+			sd->subele[ELE_NEUTRAL] += sd->sc.data[SC_DEATHPACT]->val2;
 		if(sc->data[SC_ARMOR_ELEMENT])
 		{	//This status change should grant card-type elemental resist.
@@ -2605,18 +2600,4 @@
 	status->rhw.atk2 = status->str + hom->level;
 
-	/*Passive bonus from Wolf Mastery (will only take effect when first created or level up) [Brainstorm]
-	if((skill=pc_checkskill(hd->master,QHT_WOLFMASTERY)) > 0)
-	{
-	status->rhw.atk +=	skill * 3;
-	status->rhw.atk2 +=	skill * 3;
-	status->str +=	skill;
-	status->agi +=	skill;
-	status->vit +=	skill;
-	status->dex +=	skill;
-	status->int_ +=	skill;
-	status->luk +=	skill;
-	}*/
-
-
 	status->aspd_rate = 1000;
 
@@ -2785,5 +2766,5 @@
 		|| sc->data[SC_TRICKDEAD]
 		|| sc->data[SC_BLEEDING]
-		|| sc->data[SC_LUST]	// Adept Blood Lust, stops hp regen [Brain]
+		|| sc->data[SC_LUST]		// Adept Blood Lust, stops hp regen [Brain]
 		|| sc->data[SC_DEATHPACT]	// Necro Death Pact
 
@@ -2894,15 +2875,6 @@
 		if(status->speed < battle_config.max_walk_speed)
 			status->speed = battle_config.max_walk_speed;
-
-		if ((skill=pc_checkskill(sd,SA_FREECAST))>0) {
-			//Store casting walk speed for quick restoration. [Skotlex]
-			sd->prev_speed = status->speed * (175-5*skill)/100;
-			if(sd->ud.skilltimer != -1) { //Swap speed.
-				skill = status->speed;
-				status->speed = sd->prev_speed;
-				sd->prev_speed = skill;
-			}
-		}
-	}
+	}
+
 	if(flag&(SCB_ASPD|SCB_AGI|SCB_DEX)) {
 		flag|=SCB_ASPD;
@@ -2916,16 +2888,5 @@
 
 		status->amotion = cap_value(skill,battle_config.max_aspd,2000);
-
 		status->adelay = 2*status->amotion;
-		if ((skill=pc_checkskill(sd,SA_FREECAST))>0) {
-			//Store casting adelay for quick restoration. [Skotlex]
-			sd->prev_adelay = status->adelay*(150-5*skill)/100;
-			if(sd->ud.skilltimer != -1) { //Swap adelay.
-				skill = status->adelay;
-				status->adelay = sd->prev_adelay;
-				sd->prev_adelay = skill;
-			}
-		}
-
 	}
 
@@ -3567,11 +3528,10 @@
 		batk += 100;
 	if(sc->data[SC_LUST]) // Adept Blood Lust [Brain]
-	batk += batk * sc->data[SC_LUST]->val2/100;
+		batk += batk * sc->data[SC_LUST]->val2/100;
 	if(sc->data[SC_CURSEWEAKNESS]) // Warlock Curse of Weakness [Brain]
-	batk -= batk * sc->data[SC_CURSEWEAKNESS]->val2/100;
+		batk -= batk * sc->data[SC_CURSEWEAKNESS]->val2/100;
 	if(sc->data[SC_DECREPIFY]) // Necromancer Decrepify [Brain]
-	if(sc->data[SC_DECREPIFY]->val2>=2)
-		batk -= batk * 25/100;
-
+		if(sc->data[SC_DECREPIFY]->val2>=2)
+			batk -= batk * 25/100;
 	return (unsigned short)cap_value(batk,0,USHRT_MAX);
 }
@@ -3608,5 +3568,5 @@
 		}
 	}
-	if(sc->data[SC_BLOODLUST])
+	if(sc->data[SC_BLOODLUST])//WTF?!
 		watk += watk * sc->data[SC_BLOODLUST]->val2/100;
 	if(sc->data[SC_FLEET])
@@ -3617,17 +3577,16 @@
 		watk -= watk * sc->data[SC_STRIPWEAPON]->val2/100;
 	if(sc->data[SC_LUST]) // Adept Blood Lust [Brain]
-	watk += watk * sc->data[SC_LUST]->val2/100;
+		watk += watk * sc->data[SC_LUST]->val2/100;
 	if(sc->data[SC_REQUIEM]){	//Necro Requiem [Brain]
-	if(sc->data[SC_REQUIEM]->val2)
-		watk += sc->data[SC_REQUIEM]->val2*10;
-	if(sc->data[SC_REQUIEM]->val3)
-		watk -= sc->data[SC_REQUIEM]->val3*10;
-	}
+		if(sc->data[SC_REQUIEM]->val2)
+			watk += sc->data[SC_REQUIEM]->val2*10;
+		if(sc->data[SC_REQUIEM]->val3)
+			watk -= sc->data[SC_REQUIEM]->val3*10;
+	}//????
 	if(sc->data[SC_CURSEWEAKNESS]) // Warlock Curse of Weakness [Brain]
-	watk -= watk * sc->data[SC_CURSEWEAKNESS]->val2/100;
+		watk -= watk * sc->data[SC_CURSEWEAKNESS]->val2/100;
 	if(sc->data[SC_DECREPIFY]) // Necromancer Decrepify [Brain]
-	if(sc->data[SC_DECREPIFY]->val2>=2)
-		watk -= watk * 25/100;
-
+		if(sc->data[SC_DECREPIFY]->val2>=2)
+			watk -= watk * 25/100;
 
 	return (unsigned short)cap_value(watk,0,USHRT_MAX);
@@ -3650,6 +3609,5 @@
 		matk += matk * sc->data[SC_INCMATKRATE]->val1/100;
 	if(sc->data[SC_OVERWHELMING]) // Warlock Overwhelming Evil [Brain]
-	matk += matk * sc->data[SC_OVERWHELMING]->val2/100;
-
+		matk += matk * sc->data[SC_OVERWHELMING]->val2/100;
 
 	return (unsigned short)cap_value(matk,0,USHRT_MAX);
@@ -3700,10 +3658,9 @@
 		hit += 20; // RockmanEXE; changed based on updated [Reddozen]
 	if(sc->data[SC_DARKMOON]){	//Necro Dark Moon [Brain]
-	if(sc->data[SC_DARKMOON]->val2)
-		hit += sc->data[SC_DARKMOON]->val2;
-	if(sc->data[SC_DARKMOON]->val3)
-		hit -= sc->data[SC_DARKMOON]->val3;
-	}
-
+		if(sc->data[SC_DARKMOON]->val2)
+			hit += sc->data[SC_DARKMOON]->val2;
+		if(sc->data[SC_DARKMOON]->val3)
+			hit -= sc->data[SC_DARKMOON]->val3;
+	}
 	
 	return (short)cap_value(hit,1,SHRT_MAX);
@@ -3747,10 +3704,9 @@
 		flee += 10 + sc->data[SC_SPEED]->val1 * 10 ;
 	if(sc->data[SC_DARKMOON]){	//Necro Dark Moon [Brain]
-	if(sc->data[SC_DARKMOON]->val2)
-		flee += sc->data[SC_DARKMOON]->val2;
-	if(sc->data[SC_DARKMOON]->val3)
-		flee -= sc->data[SC_DARKMOON]->val3;
-	}
-
+		if(sc->data[SC_DARKMOON]->val2)
+			flee += sc->data[SC_DARKMOON]->val2;
+		if(sc->data[SC_DARKMOON]->val3)
+			flee -= sc->data[SC_DARKMOON]->val3;
+	}
 
 	return (short)cap_value(flee,1,SHRT_MAX);
@@ -3812,9 +3768,9 @@
 		def -= def * (sc->data[SC_FLING]->val2)/100;
 	if(sc->data[SC_SUFFER])	// Necro Power Word: Suffer [Brain]
-	def <<=1; // -25% def
+		def <<=1; // -25% def
 	if (sc->data[SC_CURSEEXHAUST]) // Warlock Curse of Exhaustion [Brain]
-	def -= sc->data[SC_CURSEEXHAUST]->val2;
+		def -= sc->data[SC_CURSEEXHAUST]->val2;
 	if (sc->data[SC_OVERWHELMING]) // Warlock Overwhelming Evil [Brain]
-	 def += sc->data[SC_OVERWHELMING]->val1;
+ 		def += sc->data[SC_OVERWHELMING]->val1;
 
 
@@ -3853,8 +3809,8 @@
 		def2 -= def2 * (sc->data[SC_FLING]->val3)/100;
 	if(sc->data[SC_SUFFER])	// Necro Power Word: Suffer [Brain]
-	def2 -= def2 * 25/100; // -25% def
+		def2 -= def2 * 25/100; // -25% def
 	if(sc->data[SC_DECREPIFY]) // Necromancer Decrepify [Brain]
-	if(sc->data[SC_DECREPIFY]->val2>=4)
-		def2 -= def2 * 25/100;
+		if(sc->data[SC_DECREPIFY]->val2>=4)
+			def2 -= def2 * 25/100;
 
 
@@ -3886,10 +3842,9 @@
 		mdef += 1; //Skill info says it adds a fixed 1 Mdef point.
 	if(sc->data[SC_AGONY])	 // Warlock Power Word: Agony [Brain]
-	mdef -= 25*mdef/100; // -25% mdef
+		mdef -= 25*mdef/100; // -25% mdef
 	if (sc->data[SC_CURSEEXHAUST]) // Warlock Curse of Exhaustion [Brain]
-	mdef -= sc->data[SC_CURSEEXHAUST]->val2;
+		mdef -= sc->data[SC_CURSEEXHAUST]->val2;
 	if (sc->data[SC_OVERWHELMING]) // Warlock Overwhelming Evil [Brain]
-	 mdef += sc->data[SC_OVERWHELMING]->val1;
-
+		mdef += sc->data[SC_OVERWHELMING]->val1;
 
 	return (signed char)cap_value(mdef,CHAR_MIN,CHAR_MAX);
@@ -3906,8 +3861,8 @@
 		mdef2 -= mdef2 * sc->data[SC_MINDBREAKER]->val3/100;
 	if(sc->data[SC_AGONY])	 // Warlock Power Word: Agony [Brain]
-	mdef2 -= mdef2 * 25/100; // -25% mdef
+		mdef2 -= mdef2 * 25/100; // -25% mdef
 	if(sc->data[SC_DECREPIFY]) // Necromancer Decrepify [Brain]
-	if(sc->data[SC_DECREPIFY]->val2>=5)
-		mdef2 -= mdef2 * 25/100;
+		if(sc->data[SC_DECREPIFY]->val2>=5)
+			mdef2 -= mdef2 * 25/100;
 
 
@@ -3917,7 +3872,12 @@
 static unsigned short status_calc_speed(struct block_list *bl, struct status_change *sc, int speed)
 {
+	TBL_PC* sd = BL_CAST(BL_PC, bl);
+
 	//Default speed coming in means there's no speed_rate adjustments. 
 	int new_speed = speed;
 	bool default_speed = (speed == DEFAULT_WALK_SPEED);
+
+	if( sd && sd->ud.skilltimer != -1 && pc_checkskill(sd,SA_FREECAST) > 0 )
+		speed = speed * (175 - 5 * pc_checkskill(sd,SA_FREECAST))/100;
 
 	if(!sc || !sc->count)
@@ -3964,6 +3924,6 @@
 			else if(sc->data[SC_WINDWALK])
 				new_speed -= new_speed * sc->data[SC_WINDWALK]->val3/100;
-		else if(sc->data[SC_FEAR]) //Fear Status by [Brainstorm]
-		new_speed -= new_speed * 25/100;
+			else if(sc->data[SC_FEAR]) //Fear Status by [Brainstorm]
+				new_speed -= new_speed * 25/100;
 
 		}
@@ -4011,6 +3971,5 @@
 		speed = speed * 100/75;
 	if(sc->data[SC_DECREPIFY]) // Necromancer Decrepify [Brain]
-	speed = speed * 100/75; //-25% walkspeed
-
+		speed = speed * 100/75; //-25% walkspeed
 	
 	return (short)cap_value(speed,10,USHRT_MAX);
@@ -4083,6 +4042,6 @@
 		else if(sc->data[SC_MADNESSCANCEL])
 			aspd_rate -= 200;
-	else if(sc->data[SC_LUST]) // Adept Blood Lust [Brain]
-		aspd_rate -= sc->data[SC_LUST]->val2*10;
+		else if(sc->data[SC_LUST]) // Adept Blood Lust [Brain]
+			aspd_rate -= sc->data[SC_LUST]->val2*10;
 
 	}
@@ -4180,8 +4139,7 @@
 		return sc->data[SC_ELEMENTALCHANGE]->val2;
 	if( sc->data[SC_DEATHPACT]) // Necro Death Pact [Brain]
-	return ELE_UNDEAD;
+		return ELE_UNDEAD;
 	if( sc->data[SC_OVERWHELMING]) // Warlock Overwhelming Evil [Brain]
-	return ELE_DARK;
-
+		return ELE_DARK;
 	return (unsigned char)cap_value(element,0,UCHAR_MAX);
 }
@@ -4203,7 +4161,7 @@
 		return sc->data[SC_ELEMENTALCHANGE]->val1;
 	if( sc->data[SC_DEATHPACT]) // Necro Death Pact [Brain]
-	return 1;
+		return 1;
 	if( sc->data[SC_OVERWHELMING]) // Warlock Overwhelming Evil [Brain]
-	return 1;
+		return 1;
 
 
@@ -4250,28 +4208,4 @@
 	}
 	return cap_value(mode,0,USHRT_MAX);
-}
-
-/*==========================================
- * Quick swap of adelay/speed when starting ending SA_FREECAST
- *------------------------------------------*/
-void status_freecast_switch(struct map_session_data *sd)
-{
-	struct status_data *status;
-	unsigned short b_speed,tmp;
-
-	status = &sd->battle_status;
-
-	b_speed = status->speed;
-
-	tmp = status->speed;
-	status->speed = sd->prev_speed;
-	sd->prev_speed = tmp;
-
-	tmp = status->adelay;
-	status->adelay = sd->prev_adelay;
-	sd->prev_adelay = tmp;
-
-	if(b_speed != status->speed)
-		clif_updatestatus(sd,SP_SPEED);
 }
 
@@ -4945,5 +4879,4 @@
 	case SC_ASSNCROS:
 	case SC_LUST: // Adept Blood Lust [Brain]
-
 		if (sc->data[SC_QUAGMIRE])
 			return 0;
@@ -5049,5 +4982,5 @@
 		 switch (type) {
 			case SC_BLESSING:
-			  if (status->race!=RC_UNDEAD && status->race!=RC_DEMON)
+			  if (!undead_flag && status->race!=RC_DEMON)
 				  break;
 			case SC_QUAGMIRE:
@@ -5063,13 +4996,14 @@
 			case SC_RICHMANKIM:
 			case SC_ROKISWEIL:
-		//New status [Brainstorm]
-		case SC_FEAR:
-		case SC_DECREPIFY:
-		case SC_DARKMOON:
-		case SC_REQUIEM:
-		case SC_CURSETONGUES:
-		case SC_CURSEWEAKNESS:
-		case SC_CURSEEXHAUST:
-
+ //Not sure if its the right place.
+			//New status [Brainstorm]
+			case SC_FEAR:
+			case SC_DECREPIFY:
+			case SC_DARKMOON:
+			case SC_REQUIEM:
+			case SC_CURSETONGUES:
+			case SC_CURSEWEAKNESS:
+			case SC_CURSEEXHAUST:
+//SC Fogwall Must have been added after he did this?
 			case SC_FOGWALL:
 				return 0;
@@ -5083,53 +5017,52 @@
 		//TO-DO Blessing and Agi up should do 1 damage against players on Undead Status, even on PvM
 		//but cannot be plagiarized (this requires aegis investigation on packets and official behavior) [Brainstorm]
-		if (status->race!=RC_UNDEAD && status->race!=RC_DEMON) {
+		if ((!undead_flag && status->race!=RC_DEMON) || bl->type == BL_PC) {
 			if (sc->data[SC_CURSE])
 				status_change_end(bl,SC_CURSE,-1);
 			if (sc->data[SC_STONE] && sc->opt1 == OPT1_STONE)
 				status_change_end(bl,SC_STONE,-1);
-		// Warlock Curses are canceled by blessing [Brain]
+//hell of a time finding this
+			// Warlock Curses are canceled by blessing [Brain]
+			if (sc->data[SC_CURSEWEAKNESS])
+				status_change_end(bl,SC_CURSEWEAKNESS,-1);
+			if (sc->data[SC_CURSETONGUES])
+				status_change_end(bl,SC_CURSETONGUES,-1);
+			if (sc->data[SC_CURSEEXHAUST])
+				status_change_end(bl,SC_CURSEEXHAUST,-1);
+			if (sc->data[SC_DOOM]) // This skill would be way funnier if we could igore this concept, no?
+				status_change_end(bl,SC_DOOM,-1);//But then people would abuse on WoEs
+		}
+		break;
+	case SC_CURSEWEAKNESS: // Warlock Curse of Weakness removes Impositio Manus [Brain]
+		if (sc->data[SC_IMPOSITIO])
+			status_change_end(bl,SC_IMPOSITIO,-1);
+		if (sc->data[SC_BLESSING]) //The opposite is also valid, curses cancel blessing [Brain]
+			status_change_end(bl,SC_BLESSING,-1);
+		break;
+	case SC_CURSETONGUES: // Warlock Curse of Tongues removes Suffragium [Brain]
+		if (sc->data[SC_SUFFRAGIUM])
+			status_change_end(bl,SC_SUFFRAGIUM,-1);
+		if (sc->data[SC_BLESSING])
+			status_change_end(bl,SC_BLESSING,-1);
+		break;
+	case SC_CURSEEXHAUST: // Warlock Curse of Exhaustion removes angelus [Brain]
+		if (sc->data[SC_ANGELUS])
+			status_change_end(bl,SC_ANGELUS,-1);
+	case SC_DOOM:
+		if (sc->data[SC_BLESSING])
+			status_change_end(bl,SC_BLESSING,-1);
+		break;
+	case SC_IMPOSITIO: // Impositio Manus removes Curse of Weakness [Brain]
 		if (sc->data[SC_CURSEWEAKNESS])
-		status_change_end(bl,SC_CURSEWEAKNESS,-1);
+			status_change_end(bl,SC_CURSEWEAKNESS,-1);
+		break;
+	case SC_SUFFRAGIUM: // Suffragium removes Curse of Tongues [Brain]
 		if (sc->data[SC_CURSETONGUES])
-		status_change_end(bl,SC_CURSETONGUES,-1);
+			status_change_end(bl,SC_CURSETONGUES,-1);
+		break;
+	case SC_ANGELUS: // Angelus removes Curse of Exhaustion [Brain]
 		if (sc->data[SC_CURSEEXHAUST])
-		status_change_end(bl,SC_CURSEEXHAUST,-1);
-		if (sc->data[SC_DOOM]) // This skill would be way funnier if we could igore this concept, no?
-		status_change_end(bl,SC_DOOM,-1);//But then people would abuse on WoEs
-
-		}
-		break;
-	case SC_CURSEWEAKNESS: // Warlock Curse of Weakness removes Impositio Manus [Brain]
-	if (sc->data[SC_IMPOSITIO])
-		status_change_end(bl,SC_IMPOSITIO,-1);
-	if (sc->data[SC_BLESSING]) //The opposite is also valid, curses cancel blessing [Brain]
-		status_change_end(bl,SC_BLESSING,-1);
-	break;
-	case SC_CURSETONGUES: // Warlock Curse of Tongues removes Suffragium [Brain]
-	if (sc->data[SC_SUFFRAGIUM])
-		status_change_end(bl,SC_SUFFRAGIUM,-1);
-	if (sc->data[SC_BLESSING])
-		status_change_end(bl,SC_BLESSING,-1);
-	break;
-	case SC_CURSEEXHAUST: // Warlock Curse of Exhaustion removes angelus [Brain]
-	if (sc->data[SC_ANGELUS])
-		status_change_end(bl,SC_ANGELUS,-1);
-	case SC_DOOM:
-	if (sc->data[SC_BLESSING])
-		status_change_end(bl,SC_BLESSING,-1);
-	break;
-	case SC_IMPOSITIO: // Impositio Manus removes Curse of Weakness [Brain]
-	if (sc->data[SC_CURSEWEAKNESS])
-		status_change_end(bl,SC_CURSEWEAKNESS,-1);
-	break;
-	case SC_SUFFRAGIUM: // Suffragium removes Curse of Tongues [Brain]
-	if (sc->data[SC_CURSETONGUES])
-		status_change_end(bl,SC_CURSETONGUES,-1);
-	break;
-	case SC_ANGELUS: // Angelus removes Curse of Exhaustion [Brain]
-	if (sc->data[SC_CURSEEXHAUST])
-		status_change_end(bl,SC_CURSEEXHAUST,-1);
-	break;
-
+			status_change_end(bl,SC_CURSEEXHAUST,-1);
+		break;
 	case SC_INCREASEAGI:
 		status_change_end(bl,SC_DECREASEAGI,-1);
@@ -5150,8 +5083,9 @@
 		status_change_end(bl,SC_TWOHANDQUICKEN,-1);
 		status_change_end(bl,SC_ONEHAND,-1);
+// may need tinkering
 		if(sc->data[SC_LUST])	// Adept Blood Lust [Brain]
-		status_change_end(bl,SC_LUST,-1);
-
-		break;
+			status_change_end(bl,SC_LUST,-1);
+		break;
+//may be in the wrong place.
 	case SC_ONEHAND:
 	  	//Removes the Aspd potion effect, as reported by Vicious. [Skotlex]
@@ -5211,12 +5145,4 @@
 		status_change_end(bl,SC_MADNESSCANCEL,-1);
 		break;
-	case SC_FREEZE: //Frozen status ends immolating AND searing status [Brain]
-	if(sc->data[SC_IMMOLATE])
-		status_change_end(bl,SC_IMMOLATE,-1);
-	case SC_IMMOLATE: // Warlock Immolate [Brain]
-	if(sc->data[SC_SEARING]) //Immolating status ends searing status
-		status_change_end(bl,SC_SEARING,-1);
-	break;
-
 	case SC_MADNESSCANCEL:
 		status_change_end(bl,SC_ADJUSTMENT,-1);
@@ -5227,5 +5153,12 @@
 		status_change_end(bl,SC_INCREASEAGI,-1);
 		break;
-		
+//Code has changed since this
+	case SC_FREEZE: //Frozen status ends immolating AND searing status [Brain]
+		if(sc->data[SC_IMMOLATE])
+			status_change_end(bl,SC_IMMOLATE,-1);
+	case SC_IMMOLATE: // Warlock Immolate [Brain]
+		if(sc->data[SC_SEARING]) //Immolating status ends searing status
+			status_change_end(bl,SC_SEARING,-1);
+		break;
 	}
 
@@ -5250,4 +5183,5 @@
 			case SC_SILENCE:
 			case SC_CONFUSION:
+   //Should Edit depending on the one that will work for the modified ver.
 			case SC_FEAR: //Fear Status by [Brainstorm]
 			case SC_BLIND:
@@ -5560,9 +5494,8 @@
 			clif_emotion(bl,1);
 			break;
-	case SC_FEAR: //Fear Status by [Brainstorm]
-		clif_emotion(bl,16); // e_wah
-		if(sd) tick /= 2;
-		break;
-
+		case SC_FEAR: //Fear Status by [Brainstorm]
+			clif_emotion(bl,16); // e_wah
+			if(sd) tick /= 2;
+			break;
 		case SC_BLEEDING:
 			val4 = tick/10000;
@@ -5941,13 +5874,14 @@
 			}
 			break;
-
-	case SC_ATFIELD: // AT-Field [Brainstorm]
-		val2 = 100; // 100% Block chance
-		val3 = 100; // Dodge 100 attacks total.
-		val4 = tick/1000;
-		tick = 1000;
-		break;
-
-
+			
+//WHAT RELEVENCE DOES THIS HAVE AT ALL DAMNIT?!
+		case SC_ATFIELD: // AT-Field [Brainstorm]
+			val2 = 100; // 100% Block chance
+			val3 = 100; // Dodge 100 attacks total.
+			val4 = tick/1000;
+			tick = 1000;
+			break;
+			
+			
 		case SC_COMBO:
 		{
@@ -5992,24 +5926,24 @@
 			break;
 		case SC_BLESSING:
-			if (status->race!=RC_UNDEAD && status->race!=RC_DEMON)
+			if ((!undead_flag && status->race!=RC_DEMON) || bl->type == BL_PC)
 				val2 = val1;
 			else
 				val2 = 0; //0 -> Half stat.
 			break;
-	case SC_REQUIEM: //Necro Requiem and Dark Moon [Brain]
-	case SC_DARKMOON:
-		if (undead_flag || status->race==RC_UNDEAD || status->race==RC_DEMON)
-		val2 = val1; //Demon and Undead get buffed
-		else if(status->race==RC_FORMLESS || status->def_ele==ELE_GHOST || bl->type == BL_PC)
-		{
-		val1 = 0; //No status change for Formless and Ghosts, and non-undead players
-		tick = 0; //Cancel status to not show requiem icon without a reason
-		}
-		else
-		val3 = val1; //Everything else (living) get negative status (requiem only)
-		break;
-	case SC_DECREPIFY: //Necro Decrepify [Brain]
-		val2 = val1;
-	break;
+		case SC_REQUIEM: //Necro Requiem and Dark Moon [Brain]
+		case SC_DARKMOON:
+			if (undead_flag || status->race==RC_UNDEAD || status->race==RC_DEMON)
+				val2 = val1; //Demon and Undead get buffed
+			else if(status->race==RC_FORMLESS || status->def_ele==ELE_GHOST || bl->type == BL_PC)
+			{
+				val1 = 0; //No status change for Formless and Ghosts, and non-undead players
+				tick = 0; //Cancel status to not show requiem icon without a reason
+			}
+			else
+				val3 = val1; //Everything else (living) get negative status (requiem only)
+			break;
+		case SC_DECREPIFY: //Necro Decrepify [Brain]
+			val2 = val1;
+		break;
 
 		case SC_TRICKDEAD:
@@ -6053,14 +5987,13 @@
 			val2 = 5*val1; //watk increase
 			break;
-	case SC_CURSEWEAKNESS: // Warlock Curse of Weakness [Brain]
-		val2 = 5*val1; //batk/watk decrease
-		break;
-	case SC_CURSEEXHAUST: // Warlock Curse of Exhaustion [Brain]
-		val2 = 2*val1; //def/mdef decrease
-		break;
-	case SC_CURSETONGUES: // Warlock Curse of Tongues [Brain]
-		val2 = 10*val1; //casttime increase
-		break;
-
+		case SC_CURSEWEAKNESS: // Warlock Curse of Weakness [Brain]
+			val2 = 5*val1; //batk/watk decrease
+			break;
+		case SC_CURSEEXHAUST: // Warlock Curse of Exhaustion [Brain]
+			val2 = 2*val1; //def/mdef decrease
+			break;
+		case SC_CURSETONGUES: // Warlock Curse of Tongues [Brain]
+			val2 = 10*val1; //casttime increase
+			break;
 		case SC_MELTDOWN:
 			val2 = 100*val1; //Chance to break weapon
@@ -6119,16 +6052,15 @@
 			break;
 		case SC_LUST: // Adept Blood Lust [Brain]
-		val2 = 5+3*val1; //Aspd/bAtk/wAtk change
-		val3 = tick>0?tick:1000; //Interval at which HP is drained.
-		break;
-	case SC_DEATHPACT: // Necro Death Pact [Brain]
-		val2 = 5*val1; //Neutral property resistance
-		val3 = tick>0?tick:10000; //Interval at which HP is drained.
-		break;
-	case SC_OVERWHELMING: // Warlock Overwhelming Evil [Brain]
-		val2 = 2*val1; //matk bonus
-		val3 = tick>0?tick:1000; //Interval at which SP is drained.
-		break;
-
+			val2 = 5+3*val1; //Aspd/bAtk/wAtk change
+			val3 = tick>0?tick:1000; //Interval at which HP is drained.
+			break;
+		case SC_DEATHPACT: // Necro Death Pact [Brain]
+			val2 = 5*val1; //Neutral property resistance
+			val3 = tick>0?tick:10000; //Interval at which HP is drained.
+			break;
+		case SC_OVERWHELMING: // Warlock Overwhelming Evil [Brain]
+			val2 = 2*val1; //matk bonus
+			val3 = tick>0?tick:1000; //Interval at which SP is drained.
+			break;
 		case SC_MINDBREAKER:
 			val2 = 20*val1; //matk increase.
@@ -6314,10 +6246,7 @@
 				unit_skillcastcancel(bl, 0);
 		break;
-
-	case SC_FEAR: //Fear Status by [Brainstorm]
-		unit_stop_attack(bl);
-	break;
-
-
+		case SC_FEAR: //Fear Status by [Brainstorm]
+			unit_stop_attack(bl);
+		break;
 	}
 
@@ -6765,7 +6694,7 @@
 			}
 			break;
-	case SC_SPLASHER:
-	case SC_DOOM: // Warlock Curse of Doom [Brain]
-	
+		case SC_SPLASHER:
+//Why is Doom here?
+		case SC_DOOM: // Warlock Curse of Doom [Brain]	
 			{
 				struct block_list *src=map_id2bl(sce->val3);
@@ -7135,21 +7064,19 @@
 		sc_timer_next(sce->val2+tick, status_change_timer, bl->id, data);
 		return 0;
-
 	case SC_LUST:	// Adept Blood Lust [Brain]
-	if(!status_charge(bl, status->max_hp/100, 0))
-		break; //Not enough HP to continue.
-	sc_timer_next(sce->val3+tick, status_change_timer, bl->id, data);
-	return 0;
+		if(!status_charge(bl, status->max_hp/100, 0))
+			break; //Not enough HP to continue.
+		sc_timer_next(sce->val3+tick, status_change_timer, bl->id, data);
+		return 0;
 	case SC_DEATHPACT:	// Necro Death Pact [Brain]
-	 // Drains 1 HP every second (status wont kill, but dying will cancel it)
-	status_charge(bl, 1, 0);
-	sc_timer_next(sce->val3+tick, status_change_timer, bl->id, data);
-	return 0;
+		 // Drains 1 HP every second (status wont kill, but dying will cancel it)
+		status_charge(bl, 1, 0);
+		sc_timer_next(sce->val3+tick, status_change_timer, bl->id, data);
+		return 0;
 	case SC_OVERWHELMING:	// Warlock Overwhelming Evil [Brain]
-	if(!status_charge(bl, 0, status->max_sp/100))
-		break; //Not enough SP to continue.
-	sc_timer_next(sce->val3+tick, status_change_timer, bl->id, data);
-	return 0;
-
+		if(!status_charge(bl, 0, status->max_sp/100))
+			break; //Not enough SP to continue.
+		sc_timer_next(sce->val3+tick, status_change_timer, bl->id, data);
+		return 0; 
 
 	case SC_CHASEWALK:
@@ -7387,9 +7314,9 @@
 		break;
 	case SC_DOOM: // Warlock Curse of Doom [Brain]
-	if((sce->val4 -= 500) > 0) {
-		sc_timer_next(500 + tick, status_change_timer, bl->id, data);
-		return 0;
-	}
-	break;
+		if((sce->val4 -= 500) > 0) {
+			sc_timer_next(500 + tick, status_change_timer, bl->id, data);
+			return 0;
+		}
+		break;
 
 	case SC_MARIONETTE:
@@ -7560,5 +7487,4 @@
 			case SC_MATKFOOD:
 			case SC_DOOM: // Warlock Curse of Doom [Brain]
-
 				continue;
 				
