kyeme 71 Posted February 10, 2014 Suggestion regarding map zone debuff flag. This is to remove the EFFECT inside of a map that have Zone Flag. Example: When you enter the map, the Energy Coat Buff (like SC_END SC_ENERGYCOAT) will be removed, and the GD_LEADERSHIP will not work even if you are beside the Guild Master. removed_status: { MG_ENERGYCOAT: true HP_ASSUMPTIO: true GD_GLORYGUILD: true GD_LEADERSHIP: true GD_GLORYWOUNDS: true GD_SOULCOLD: true GD_HAWKEYES: true } Thanks 2 evilpuncker and JulioCF reacted to this Quote Share this post Link to post Share on other sites
Brynner 34 Posted February 10, 2014 +10 for this. Quote Share this post Link to post Share on other sites
AnnieRuru 957 Posted February 10, 2014 (edited) ...and the GD_LEADERSHIP will not work even if you are beside the Guild Master.I believe this would belongs to disabled_skills: SC_END SC_ENERGYCOAT can be done in npc scripting too to add inside map_zone_db ... hmm... nice idea actually then there is no need to add so many OnPCLoadMapEvent with sc_end sc_*** on so many maps (zones = many maps in group) Edited February 10, 2014 by AnnieRuru Quote Share this post Link to post Share on other sites
Ind 945 Posted February 10, 2014 interesting...I wonder, would it be the same result if instead of a removed_status column we instead checked what status are inflicted by a skill and then cancel these on warp? e.g. MG_ENERGYCOAT is blocked in prontera, so if you warp in prontera with SC_ENERGYCOAT it cancels it -- item-inflicted status would still the proposed column however since there is current way to tell what status a disabled_item inflicts Quote Share this post Link to post Share on other sites
AnnieRuru 957 Posted February 10, 2014 (edited) Ind, using your method will probably need to write the code in a very messy way I counter-suggest change into disable_status: { SC_ENERGYCOAT: true }if SC_ENERGYCOAT is being calculated in these zones, the bonus stats/effect is not calculated (but icon is still there) implement in this way should be fast and clean EDIT: or maybe I'm going off-topic ... hahaha Edited February 10, 2014 by AnnieRuru Quote Share this post Link to post Share on other sites
Ind 945 Posted February 10, 2014 Ind, using your method will probably need to write the code in a very messy wayTo use the disabled_skills info, it'd be like (just drafted) int i, type; for(i = 0; i < map->list[sd->bl.m].zone->disabled_skills_count; i++) { if( (type = status->skill2sc(map->list[sd->bl.m].zone->disabled_skills[i]->nameid) ) && sd->sc.data[type] ) { status_change_end(&sd->bl, type, INVALID_TIMER); } }I think what I'm proposing would be more like a bugfix than related to this suggestion, since without it if you have assumptio blocked in prontera you can get inside with the effect by casting it before warping... if SC_ENERGYCOAT is being calculated in these zones, the bonus stats/effect is not calculated (but icon is still there) implement in this way should be fast and clean wouldn't it be confusing to users to maintain the icon? (I'd say it'd be interesting however since it'd mean once you leave the map/zone the effect would resume) 2 AnnieRuru and Gerz reacted to this Quote Share this post Link to post Share on other sites
AnnieRuru 957 Posted February 10, 2014 (edited) (...once you leave the map/zone the effect would resume)ok my previous idea was sux... change it into sc_end SC_ENERGYCOAT when the player step in the map then inside status->change_start function, inside these zones will return 0, and the icon wouldn't be there ... sounds easy though Edited February 10, 2014 by AnnieRuru Quote Share this post Link to post Share on other sites
kyeme 71 Posted February 10, 2014 ...and the GD_LEADERSHIP will not work even if you are beside the Guild Master.I believe this would belongs to disabled_skills: The Passive Skills like GD_LEADERSHIP is not working in "disabled_skills" interesting...I wonder, would it be the same result if instead of a removed_status column we instead checked what status are inflicted by a skill and then cancel these on warp? e.g. MG_ENERGYCOAT is blocked in prontera, so if you warp in prontera with SC_ENERGYCOAT it cancels it -- item-inflicted status would still the proposed column however since there is current way to tell what status a disabled_item inflicts In my opinion, Its not applicable to set the disabled_skill as removed_status, because it will affect the Official behaviour like the skill Assumptio. Official: Its not possible to use or cast HP_ASSUMPTIO in the castle but the SC_ASSUMPTIO is possible while you're still in the castle. Quote Share this post Link to post Share on other sites
AnnieRuru 957 Posted February 10, 2014 (edited) The Passive Skills like GD_LEADERSHIP is not working in "disabled_skills"then make a bug report for it from my understanding, currently disabled_skills only disable active skill from casting to fix this bug, status_calc_pc should have an additional check when calculating bonuses from passive skills . . EDIT: yeah tested, I have disabled_skills: AC_OWL: "PLAYER" doesn't work, as I still have +10 dex . . hmm ... set_sc( GD_LEADERSHIP , SC_LEADERSHIP , SI_BLANK , SCB_STR ); set_sc( GD_GLORYWOUNDS , SC_GLORYWOUNDS , SI_BLANK , SCB_VIT ); set_sc( GD_SOULCOLD , SC_SOULCOLD , SI_BLANK , SCB_AGI ); set_sc( GD_HAWKEYES , SC_HAWKEYES , SI_BLANK , SCB_DEX );actually they have their own SC_ .... Edited February 10, 2014 by AnnieRuru Quote Share this post Link to post Share on other sites
Gerz 7 Posted February 10, 2014 (I'd say it'd be interesting however since it'd mean once you leave the map/zone the effect would resume) i like this way >_< +100 Quote Share this post Link to post Share on other sites