Jump to content
  • 0

R>Adjusting status damages guide


hyuna

Question


  • Group:  Members
  • Topic Count:  37
  • Topics Per Day:  0.01
  • Content Count:  144
  • Reputation:   4
  • Joined:  10/28/12
  • Last Seen:  

Hello everyone...I just wanna ask where do I adjust damages on status effects ( poison, bleeding, burning. etc)

Pls point out the path and the lines I have to edit...coz I cant find it on my own....THX

Link to comment
Share on other sites

4 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.01
  • Content Count:  949
  • Reputation:   174
  • Joined:  06/12/12
  • Last Seen:  

Just find their respective codes in src/map/status.c

 

For example, here's Burning's status formula


	case SC_BURNING:
		if( --(sce->val4) >= 0 ) {
			struct block_list *src = map_id2bl(sce->val3);
			int damage = 1000 + 3 * status_get_max_hp(bl) / 100; // Deals fixed (1000 + 3%*MaxHP)

			map_freeblock_lock();
			clif_damage(bl,bl,tick,0,0,damage,1,9,0); // Damage is like endure effect with no walk delay
			status_damage(src, bl, damage, 0, 0, 1);
			if( sc->data[type]) { // Target still lives. [LimitLine]
				sc_timer_next(2000 + tick, status_change_timer, bl->id, data);
			}
			map_freeblock_unlock();
			return 0;
		}
		break;

Change

int damage = 1000 + 3 * status_get_max_hp(bl) / 100; // Deals fixed (1000 + 3%*MaxHP)

To

int damage = 500 + 1 * status_get_max_hp(bl) / 100; // Deals fixed (500 + 1%*MaxHP)
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.01
  • Content Count:  949
  • Reputation:   174
  • Joined:  06/12/12
  • Last Seen:  

conf/battle/status.conf

// Adjustment for the natural rate of resistance from status changes.
// If 50, status defense is halved, and you need twice as much stats to block
// them (eg: 200 vit to completely block stun)
pc_status_def_rate: 100
mob_status_def_rate: 100
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  37
  • Topics Per Day:  0.01
  • Content Count:  144
  • Reputation:   4
  • Joined:  10/28/12
  • Last Seen:  

 

conf/battle/status.conf

// Adjustment for the natural rate of resistance from status changes.
// If 50, status defense is halved, and you need twice as much stats to block
// them (eg: 200 vit to completely block stun)
pc_status_def_rate: 100
mob_status_def_rate: 100

I dont mean this part...I meant adjusting damages from status effects like increasing poison damage not the resistance/chance of being inflicted...

 

example:

 

according to irowiki: 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Burning

Deals fixed (1000 + 3%*MaxHP) damage every 3 seconds.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

I want  to change it to (500 + 1%MaxHP)damage per second

 

something like that....

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  37
  • Topics Per Day:  0.01
  • Content Count:  144
  • Reputation:   4
  • Joined:  10/28/12
  • Last Seen:  

 

Just find their respective codes in src/map/status.c

 

For example, here's Burning's status formula


	case SC_BURNING:
		if( --(sce->val4) >= 0 ) {
			struct block_list *src = map_id2bl(sce->val3);
			int damage = 1000 + 3 * status_get_max_hp(bl) / 100; // Deals fixed (1000 + 3%*MaxHP)

			map_freeblock_lock();
			clif_damage(bl,bl,tick,0,0,damage,1,9,0); // Damage is like endure effect with no walk delay
			status_damage(src, bl, damage, 0, 0, 1);
			if( sc->data[type]) { // Target still lives. [LimitLine]
				sc_timer_next(2000 + tick, status_change_timer, bl->id, data);
			}
			map_freeblock_unlock();
			return 0;
		}
		break;

Change

int damage = 1000 + 3 * status_get_max_hp(bl) / 100; // Deals fixed (1000 + 3%*MaxHP)

To

int damage = 500 + 1 * status_get_max_hp(bl) / 100; // Deals fixed (500 + 1%*MaxHP)

thx...

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