Jump to content
  • 0
Sign in to follow this  
Ehwaz

Make Warmer can't heal Emperium

Question

Someone can help me make warmer can't heal Emperium.

i tried but not working

Edited by Hirist

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

in map/skill.c 

find

		case UNT_WARMER:
			{
				// It has effect on everything, including monsters, undead property and demon
				int hp = 0;
				if( ssc && ssc->data[SC_HEATER_OPTION] )
					hp = tstatus->max_hp * 3 * sg->skill_lv / 100;
				else
					hp = tstatus->max_hp * sg->skill_lv / 100;
				if( tstatus->hp != tstatus->max_hp )
					clif->skill_nodamage(&src->bl, bl, AL_HEAL, hp, 0);
				if( tsc && tsc->data[SC_AKAITSUKI] && hp )
					hp = ~hp + 1;
				status->heal(bl, hp, 0, 0);
				sc_start(ss, bl, type, 100, sg->skill_lv, sg->interval + 100);
			}

change to

 

		case UNT_WARMER:
			{
				struct mob_data *md = BL_CAST(BL_MOB, bl);
				if( md && md->class_ == MOBID_EMPELIUM )
				break;
				
				// It has effect on everything, including monsters, undead property and demon
				int hp = 0;
				if( ssc && ssc->data[SC_HEATER_OPTION] )
					hp = tstatus->max_hp * 3 * sg->skill_lv / 100;
				else
					hp = tstatus->max_hp * sg->skill_lv / 100;
				if( tstatus->hp != tstatus->max_hp )
					clif->skill_nodamage(&src->bl, bl, AL_HEAL, hp, 0);
				if( tsc && tsc->data[SC_AKAITSUKI] && hp )
					hp = ~hp + 1;
				status->heal(bl, hp, 0, 0);
				sc_start(ss, bl, type, 100, sg->skill_lv, sg->interval + 100);
			}

Share this post


Link to post
Share on other sites
  • 0

undifined 'hp';

i tried:

     struct mob_data *md = BL_CAST(BL_MOB, bl);
                if( md && md->class_ == MOBID_EMPELIUM )
                hp = 0;

 

got error

 

 error C2143: syntax error : missing ';' before 'type'
 error C2065: 'md' : undeclared identifier
 error C2223: left of '->class_' must point to struct/union
 
Edited by Hirist

Share this post


Link to post
Share on other sites
  • 0

Just do what @@Ridley say.

It'll work.

skill.c(12555): error C2143: syntax error : missing ';' before 'type'

skill.c(12557): error C2065: 'hp' : undeclared identifier
skill.c(12559): error C2065: 'hp' : undeclared identifier
skill.c(12561): error C2065: 'hp' : undeclared identifier
skill.c(12562): error C2065: 'hp' : undeclared identifier
skill.c(12563): error C2065: 'hp' : undeclared identifier
skill.c(12564): error C2065: 'hp' : undeclared identifier

I tried

Share this post


Link to post
Share on other sites
  • 0

I think the problem is your compiler, try this:

 

In 'map/skill.c'

Search for:

 

 

 

        case UNT_WARMER:
            {
                // It has effect on everything, including monsters, undead property and demon
                int hp = 0;
                if( ssc && ssc->data[SC_HEATER_OPTION] )
                    hp = tstatus->max_hp * 3 * sg->skill_lv / 100;
                else
                    hp = tstatus->max_hp * sg->skill_lv / 100;
                if( tstatus->hp != tstatus->max_hp )
                    clif->skill_nodamage(&src->bl, bl, AL_HEAL, hp, 0);
                if( tsc && tsc->data[SC_AKAITSUKI] && hp )
                    hp = ~hp + 1;
                status->heal(bl, hp, 0, 0);
                sc_start(ss, bl, type, 100, sg->skill_lv, sg->interval + 100);
            }
            break;

 


Replace:

 

 

 

        case UNT_WARMER:
            {
                // It has effect on everything, including monsters, undead property and demon
                int hp = 0;
 
                struct mob_data *md = BL_CAST(BL_MOB, bl);
                if (md && md->class_ == MOBID_EMPELIUM)
                    break;
 
                if( ssc && ssc->data[SC_HEATER_OPTION] )
                    hp = tstatus->max_hp * 3 * sg->skill_lv / 100;
                else
                    hp = tstatus->max_hp * sg->skill_lv / 100;
                if( tstatus->hp != tstatus->max_hp )
                    clif->skill_nodamage(&src->bl, bl, AL_HEAL, hp, 0);
                if( tsc && tsc->data[SC_AKAITSUKI] && hp )
                    hp = ~hp + 1;
                status->heal(bl, hp, 0, 0);
                sc_start(ss, bl, type, 100, sg->skill_lv, sg->interval + 100);
            }
            break;

 

 

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.