Jump to content
  • 0

How do I go about modifying Signum Crucis (Acolyte's skill) to make it affect other monsters?


popochun

Question


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  5
  • Reputation:   0
  • Joined:  06/30/20
  • Last Seen:  

As the title says, What I'm attempting is how do I go about changing Acolyte's skill Signum Crucis to reduce all monster's defense instead of just Undead's and Demon's? I am currently looking at a section of this skill in src/map/skill.cpp and I can't seem to find where exactly does it perform a check whether monsters on screen are Undead/Demon or not. If anyone could point me to the right direction I would greatly appreciate it. 

Here's the snippet of where I think modification should be made (again, not sure if this is correct or not)

case AL_CRUCIS:
		if (flag&1)
			sc_start(src,bl,type, 23+skill_lv*4 +status_get_lv(src) -status_get_lv(bl), skill_lv,skill_get_time(skill_id,skill_lv));
		else {
			map_foreachinallrange(skill_area_sub, src, skill_get_splash(skill_id, skill_lv), BL_CHAR,
				src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill_castend_nodamage_id);
			clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
		}
		break;

 

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 2

  • Group:  Members
  • Topic Count:  8
  • Topics Per Day:  0.00
  • Content Count:  64
  • Reputation:   40
  • Joined:  03/26/12
  • Last Seen:  

in status.cpp

Find:

		case SC_SIGNUMCRUCIS:
			// Only affects demons and undead element (but not players)
			if((!undead_flag && status->race!=RC_DEMON) || bl->type == BL_PC)
				return 0;
			break;

Change To:

		case SC_SIGNUMCRUCIS:
			// Now affects all monsters (but not players)
			if(bl->type == BL_PC)
				return 0;
			break;

 

  • MVP 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  5
  • Reputation:   0
  • Joined:  06/30/20
  • Last Seen:  

16 hours ago, joecalis said:

in status.cpp

Find:

		case SC_SIGNUMCRUCIS:
			// Only affects demons and undead element (but not players)
			if((!undead_flag && status->race!=RC_DEMON) || bl->type == BL_PC)
				return 0;
			break;

Change To:

		case SC_SIGNUMCRUCIS:
			// Now affects all monsters (but not players)
			if(bl->type == BL_PC)
				return 0;
			break;

 

This is perfect! Thank you so much.

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...