ScarrFace Posted November 15, 2019 Group: Members Topic Count: 17 Topics Per Day: 0.01 Content Count: 66 Reputation: 0 Joined: 10/23/19 Last Seen: August 28, 2024 Share Posted November 15, 2019 (edited) 1. i will cast devo to my party member and defender on 2. enemy player hit my pt member - " works fine " 3. but when i cast my devo skill again to my pt member the defender reduce damage gone but the icon defender skill and the effect of slow still there anyone can help me to fix this? Thank you! Edited November 15, 2019 by ScarrFace Quote Link to comment Share on other sites More sharing options...
0 ScarrFace Posted December 20, 2019 Group: Members Topic Count: 17 Topics Per Day: 0.01 Content Count: 66 Reputation: 0 Joined: 10/23/19 Last Seen: August 28, 2024 Author Share Posted December 20, 2019 bump. anyone i need help to solve this problem. On 3/2/2020 at 5:42 PM, Eros said: I also encounter this error. i hope one of the dev or moderator solve this problem. still bug exist in latest git bump Quote Link to comment Share on other sites More sharing options...
0 Eros Posted March 2, 2020 Group: Members Topic Count: 76 Topics Per Day: 0.02 Content Count: 202 Reputation: 2 Joined: 07/09/12 Last Seen: June 7, 2023 Share Posted March 2, 2020 I also encounter this error. Quote Link to comment Share on other sites More sharing options...
0 danfernando24 Posted March 14, 2020 Group: Members Topic Count: 3 Topics Per Day: 0.00 Content Count: 11 Reputation: 1 Joined: 10/30/13 Last Seen: 18 hours ago Share Posted March 14, 2020 up having the same issue Quote Link to comment Share on other sites More sharing options...
0 mhielo12 Posted April 7, 2020 Group: Members Topic Count: 23 Topics Per Day: 0.01 Content Count: 114 Reputation: 4 Joined: 08/28/14 Last Seen: April 10 Share Posted April 7, 2020 up for this help Quote Link to comment Share on other sites More sharing options...
0 budek Posted September 12, 2021 Group: Members Topic Count: 19 Topics Per Day: 0.00 Content Count: 46 Reputation: 3 Joined: 01/11/14 Last Seen: December 15, 2021 Share Posted September 12, 2021 Does the fix for this already released? Quote Link to comment Share on other sites More sharing options...
0 BeWan Posted September 13, 2021 Group: Members Topic Count: 20 Topics Per Day: 0.01 Content Count: 403 Reputation: 249 Joined: 07/04/19 Last Seen: 19 hours ago Share Posted September 13, 2021 20 hours ago, budek said: Does the fix for this already released? Quote Link to comment Share on other sites More sharing options...
0 Dissidia Posted August 21, 2022 Group: Members Topic Count: 155 Topics Per Day: 0.03 Content Count: 535 Reputation: 23 Joined: 11/19/11 Last Seen: June 8, 2023 Share Posted August 21, 2022 If I know the fix, I will help the dev here. 1 1 Quote Link to comment Share on other sites More sharing options...
0 agamanaros Posted January 28 Group: Members Topic Count: 15 Topics Per Day: 0.00 Content Count: 46 Reputation: 0 Joined: 03/26/16 Last Seen: Friday at 07:07 AM Share Posted January 28 Hello everyone, I'm currently working on a custom fix for an issue with the Devotion skill and its interaction with Defender on my private server. After numerous tests, I've run into a roadblock that I can't seem to resolve. The problem is that on the first cast of Devotion while Defender is active, the party member receiving Devotion does not inherit the Defender buff. For the buff to apply, I need to deactivate and reactivate Defender after casting Devotion. This behavior is inconsistent and problematic during gameplay, particularly when the party member is dispelled by Clown or Professor. Even if I recast Devotion immediately, Defender is not inherited until I toggle it off and on again. Here are the key tests I've performed: Initial Devotion with Defender Active: The party member does not receive the Defender buff on the first cast. Toggling Defender Off and On: After manually toggling Defender, the party member successfully inherits the buff. Post-Dispel Scenario: If the party member is dispelled, reapplying Devotion alone does not reinstate Defender; I need to recast Defender first. I have tried integrating various code adjustments, including forced status updates and reapplications, but the issue persists. If anyone has encountered a similar problem or has suggestions on how to ensure Defender properly inherits on the first Devotion cast, I would greatly appreciate the assistance. Thanks in advance for your help! This is my status.cpp BEFORE: case SC_DEVOTION: { struct block_list *d_bl; struct status_change *d_sc; if( (d_bl = map_id2bl(val1)) && (d_sc = status_get_sc(d_bl)) && d_sc->count ) { // Inherits Status From Source const enum sc_type types[] = { SC_AUTOGUARD, SC_DEFENDER, SC_REFLECTSHIELD, SC_ENDURE }; int i = (map_flag_gvg2(bl->m) || map_getmapflag(bl->m, MF_BATTLEGROUND))?2:3; while( i >= 0 ) { enum sc_type type2 = types[i]; if( d_sc->data[type2] ) status_change_start(d_bl, bl, type2, 10000, d_sc->data[type2]->val1, 0, 0, (type2 == SC_REFLECTSHIELD ? 1 : 0), skill_get_time(status_sc2skill(type2),d_sc->data[type2]->val1), (type2 == SC_DEFENDER) ? SCSTART_NOAVOID : SCSTART_NOAVOID|SCSTART_NOICON); i--; } } break; } And this is my status.cpp AFTER: case SC_DEVOTION: { struct block_list *d_bl; struct status_change *d_sc; // Get the devotion target (party member) and their status change structure if ((d_bl = map_id2bl(val1)) && (d_sc = status_get_sc(d_bl)) && d_sc->count) { struct status_change *src_sc = status_get_sc(bl); // Paladin's status changes if (src_sc) { // Check if Paladin has Defender active if (src_sc->data[SC_DEFENDER]) { // Get the level of Paladin's Defender int defender_level = src_sc->data[SC_DEFENDER]->val1; // Check if the devoted target already has Defender if (!d_sc->data[SC_DEFENDER]) { // Apply Defender to the devotion target on the first cast status_change_start( d_bl, bl, SC_DEFENDER, 10000, defender_level, 0, 0, 0, skill_get_time(status_sc2skill(SC_DEFENDER), defender_level), SCSTART_NOAVOID ); } else { // If target already has Defender, update the timer and level struct status_change_entry *sce = d_sc->data[SC_DEFENDER]; if (sce->timer != INVALID_TIMER) { // If the timer is active, update the Defender level and reset the timer delete_timer(sce->timer, status_change_timer); } sce->val1 = defender_level; // Update Defender level sce->timer = add_timer( gettick() + skill_get_time(status_sc2skill(SC_DEFENDER), defender_level), status_change_timer, d_bl->id, SC_DEFENDER ); } } // Check and apply other buffs (Autoguard, Reflectshield, Endure) const enum sc_type types[] = { SC_AUTOGUARD, SC_REFLECTSHIELD, SC_ENDURE }; int i = 0; while (i < sizeof(types)/sizeof(types[0])) { enum sc_type type = types[i]; if (src_sc->data[type]) { struct status_change_entry *sce = src_sc->data[type]; int level = sce->val1; // Get the level of the buff // Check if the target already has the status if (!d_sc->data[type]) { // Apply the status to the target (1st time cast) status_change_start( d_bl, bl, type, 10000, level, 0, 0, (type == SC_REFLECTSHIELD ? 1 : 0), skill_get_time(status_sc2skill(type), level), SCSTART_NOAVOID ); } else { // Update the status on target (for all buffs except Defender) struct status_change_entry *target_sce = d_sc->data[type]; target_sce->val1 = level; if (target_sce->timer != INVALID_TIMER) { delete_timer(target_sce->timer, status_change_timer); } target_sce->timer = add_timer( gettick() + skill_get_time(status_sc2skill(type), level), status_change_timer, d_bl->id, type ); } } i++; } } } break; } Quote Link to comment Share on other sites More sharing options...
Question
ScarrFace
1. i will cast devo to my party member and defender on
2. enemy player hit my pt member - " works fine "
3. but when i cast my devo skill again to my pt member the defender reduce damage gone but the icon defender skill and the effect of slow still there
anyone can help me to fix this? Thank you!
Edited by ScarrFaceLink to comment
Share on other sites
8 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.