Jump to content
  • 0

Landprotector on pnuema


Sergardo

Question


  • Group:  Members
  • Topic Count:  64
  • Topics Per Day:  0.02
  • Content Count:  148
  • Reputation:   0
  • Joined:  03/06/15
  • Last Seen:  

how to remove pnuema on landprotector?

im using latest trunk rathena

thx

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  54
  • Topics Per Day:  0.03
  • Content Count:  112
  • Reputation:   9
  • Joined:  09/22/19
  • Last Seen:  

On 7/11/2020 at 11:43 PM, Sergardo said:

how to remove pnuema on landprotector?

im using latest trunk rathena

thx

According to this code in skill.cpp, pnuema already doesn't work on land protector (iRO wiki says the same thing):
 

	switch (skill_id) {
		case AL_PNEUMA: //Pneuma doesn't work even if just one cell overlaps with Land Protector
			if(g_skill_id == SA_LANDPROTECTOR)
				break;

If you want it to disappear on land protector, perhaps try one or more of these:
Adding it to the return null list here in skill.cpp (look for the first part of the code, I've added it to the bottom):
 

	case WM_SEVERE_RAINSTORM:
	case SO_WATER_INSIGNIA:
	case SO_FIRE_INSIGNIA:
	case SO_WIND_INSIGNIA:
	case SO_EARTH_INSIGNIA:
	case AL_PNEUMA:
		if( map_getcell(src->m, x, y, CELL_CHKLANDPROTECTOR) )
			return NULL;

Or look for first part of this code in skill.cpp and add pneuma right before the break like I've done:
 

	switch (skill_id) {
		case SA_LANDPROTECTOR:
			if( unit->group->skill_id == SA_LANDPROTECTOR ) {//Check for offensive Land Protector to delete both. [Skotlex]
				(*alive) = 0;
				skill_delunit(unit);
				return 1;
			}
			//It deletes everything except traps and barriers
			if ((!(skill_get_inf2(unit->group->skill_id)&(INF2_TRAP)) && !(skill_get_inf3(unit->group->skill_id)&(INF3_NOLP))) || unit->group->skill_id == WZ_FIREPILLAR || unit->group->skill_id == GN_HELLS_PLANT) {
				if (skill_get_unit_flag(unit->group->skill_id)&UF_RANGEDSINGLEUNIT) {
					if (unit->val2&UF_RANGEDSINGLEUNIT)
						skill_delunitgroup(unit->group);			
				} else
					skill_delunit(unit);
				return 1;
			}
				if( unit->group->skill_id == AL_PNEUMA ) {
				(*alive) = 0;
				skill_delunit(unit);
				return 1;}
			break;


 

  • Upvote 1
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...