From 1cf2dd59c542ca0f5dfc7fa67847c14fdb6b193e Mon Sep 17 00:00:00 2001 From: RagnarokNova Date: Fri, 23 Jan 2015 00:20:36 -0800 Subject: [PATCH 1/3] Light of Regene Due to the way the source handles hom intimacy, 251 actually sets intimacy to 2 (Hate with a passion). The two extra 0s make it the appropriate value. --- src/map/skill.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/map/skill.c b/src/map/skill.c index bd1b904a65..b4dbfab7e4 100755 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -10171,7 +10171,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case MH_LIGHT_OF_REGENE: //self if(hd) { sc_start2(src, src, type, 100, skill_lv, hd->homunculus.level, skill_get_time(skill_id, skill_lv)); - hd->homunculus.intimacy = 251; //change to neutral (can't be cast if < 750) + hd->homunculus.intimacy = 25100; //change to neutral (can't be cast if < 750) if(sd) clif_send_homdata(sd, SP_INTIMATE, hd->homunculus.intimacy); //refresh intimacy info skill_blockhomun_start(hd, skill_id, skill_get_cooldown(skill_id, skill_lv)); } From e2ae91db0ead517e42b26dcdbf66b78a2f527fdd Mon Sep 17 00:00:00 2001 From: RagnarokNova Date: Fri, 23 Jan 2015 00:33:15 -0800 Subject: [PATCH 2/3] Made Light of Regene work. Straight up copied the code from Pyroclastic, as the original skill code for Light of Regen was not applying the status effect to the player. Seems to work just fine, not sure if that second sc_start2 can just be deleted. --- src/map/skill.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/map/skill.c b/src/map/skill.c index b4dbfab7e4..f1eea1a83b 100755 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -10170,6 +10170,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui break; case MH_LIGHT_OF_REGENE: //self if(hd) { + struct block_list *s_bl = battle_get_master(src); + if(s_bl) sc_start2(src, s_bl, type, 100, skill_lv, hd->homunculus.level, skill_get_time(skill_id, skill_lv)); sc_start2(src, src, type, 100, skill_lv, hd->homunculus.level, skill_get_time(skill_id, skill_lv)); hd->homunculus.intimacy = 25100; //change to neutral (can't be cast if < 750) if(sd) clif_send_homdata(sd, SP_INTIMATE, hd->homunculus.intimacy); //refresh intimacy info From 198d230f2bbc7905d8e7ce7b45c4de2b48e2eb43 Mon Sep 17 00:00:00 2001 From: RagnarokNova Date: Fri, 23 Jan 2015 02:30:53 -0800 Subject: [PATCH 3/3] Update skill.c Follow-up according to Cydh's comment. --- src/map/skill.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/map/skill.c b/src/map/skill.c index f1eea1a83b..e94631f53a 100755 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -10171,7 +10171,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case MH_LIGHT_OF_REGENE: //self if(hd) { struct block_list *s_bl = battle_get_master(src); - if(s_bl) sc_start2(src, s_bl, type, 100, skill_lv, hd->homunculus.level, skill_get_time(skill_id, skill_lv)); + if(s_bl) sc_start(src, s_bl, type, 100, skill_lv, skill_get_time(skill_id, skill_lv)); sc_start2(src, src, type, 100, skill_lv, hd->homunculus.level, skill_get_time(skill_id, skill_lv)); hd->homunculus.intimacy = 25100; //change to neutral (can't be cast if < 750) if(sd) clif_send_homdata(sd, SP_INTIMATE, hd->homunculus.intimacy); //refresh intimacy info