cder Posted April 29, 2020 Group: Members Topic Count: 36 Topics Per Day: 0.01 Content Count: 96 Reputation: 0 Joined: 08/06/18 Last Seen: June 8, 2021 Share Posted April 29, 2020 I would like to know how you could change the damage of abilities when entering the bg maps, for example: from 200% to 100% sonic blow, from 200% to 150% "storm gust" Quote Link to comment Share on other sites More sharing options...
1 Naruto Posted April 30, 2020 Group: Members Topic Count: 20 Topics Per Day: 0.01 Content Count: 416 Reputation: 74 Joined: 05/16/19 Last Seen: January 24, 2021 Share Posted April 30, 2020 4 hours ago, cder said: I don't understand you well this time @Naruto, however I know how to deal with "skill_damage_db.txt", but what I want to do is put an "if (bg)" in the "src" skills, Example 1: I want to change the time that the skill lasts "Install Trap" to last less time in the bg, and more time on normal maps, understand? Example 2: Or the percentage that the ability to throw potion will heal outside the bg and on maps ...... Hmm its a bit different from hercules ( Ive never actually used these tags on rathena but...) // Ashura Strike still has slide effect in GVG if ((mbl == src || (!map_flag_gvg2(src->m) && !map_getmapflag(src->m, MF_BATTLEGROUND))) && unit_movepos(src, mbl->x + x, mbl->y + y, 1, 1)) { clif_blown(src); clif_spiritball(src); } } break; So you got your list of these in the map.h Spoiler /** * Check if map is GVG maps exclusion for item, skill, and status restriction check (regardless of agit_flag status) * @param mapdata: Map Data * @return True on success or false otherwise * @author Cydh */ inline bool mapdata_flag_gvg2_no_te(struct map_data *mapdata) { if (mapdata == nullptr) return false; if (mapdata->flag[MF_GVG] || mapdata->flag[MF_GVG_CASTLE]) return true; return false; } /// Backwards compatibility inline bool map_flag_vs(int16 m) { if (m < 0) return false; struct map_data *mapdata = &map[m]; return mapdata_flag_vs(mapdata); } inline bool map_flag_vs2(int16 m) { if (m < 0) return false; struct map_data *mapdata = &map[m]; return mapdata_flag_vs2(mapdata); } inline bool map_flag_gvg(int16 m) { if (m < 0) return false; struct map_data *mapdata = &map[m]; return mapdata_flag_gvg(mapdata); } inline bool map_flag_gvg2(int16 m) { if (m < 0) return false; struct map_data *mapdata = &map[m]; return mapdata_flag_gvg2(mapdata); } inline bool map_flag_ks(int16 m) { if (m < 0) return false; struct map_data *mapdata = &map[m]; return mapdata_flag_ks(mapdata); } inline bool map_flag_gvg2_te(int16 m) { if (m < 0) return false; struct map_data *mapdata = &map[m]; return mapdata_flag_gvg2_te(mapdata); } inline bool map_flag_gvg2_no_te(int16 m) { if (m < 0) return false; struct map_data *mapdata = &map[m]; return mapdata_flag_gvg2_no_te(mapdata); } and your mapflags Spoiler MF_INVALID = -1, MF_MIN = 0, MF_NOMEMO = 0, MF_NOTELEPORT, MF_NOSAVE, MF_NOBRANCH, MF_NOPENALTY, MF_NOZENYPENALTY, MF_PVP, MF_PVP_NOPARTY, MF_PVP_NOGUILD, MF_GVG, MF_GVG_NOPARTY, //10 MF_NOTRADE, MF_NOSKILL, MF_NOWARP, MF_PARTYLOCK, MF_NOICEWALL, MF_SNOW, MF_FOG, MF_SAKURA, MF_LEAVES, //MF_RAIN, //20 - No longer available, keeping here just in case it's back someday. [Ind] // 21 free MF_NOGO = 22, MF_CLOUDS, MF_CLOUDS2, MF_FIREWORKS, MF_GVG_CASTLE, MF_GVG_DUNGEON, MF_NIGHTENABLED, MF_NOBASEEXP, MF_NOJOBEXP, //30 MF_NOMOBLOOT, MF_NOMVPLOOT, MF_NORETURN, MF_NOWARPTO, MF_PVP_NIGHTMAREDROP, MF_RESTRICTED, MF_NOCOMMAND, MF_NODROP, MF_JEXP, MF_BEXP, //40 MF_NOVENDING, MF_LOADEVENT, MF_NOCHAT, MF_NOEXPPENALTY, MF_GUILDLOCK, MF_TOWN, MF_AUTOTRADE, MF_ALLOWKS, MF_MONSTER_NOTELEPORT, MF_PVP_NOCALCRANK, //50 MF_BATTLEGROUND, MF_RESET, MF_NOMAPCHANNELAUTOJOIN, MF_NOUSECART, MF_NOITEMCONSUMPTION, MF_NOSUNMOONSTARMIRACLE, MF_NOMINEEFFECT, MF_NOLOCKON, MF_NOTOMB, MF_SKILL_DAMAGE, //60 MF_NOCOSTUME, MF_GVG_TE_CASTLE, MF_GVG_TE, MF_HIDEMOBHPBAR, MF_NOLOOT, MF_NOEXP, MF_PRIVATEAIRSHIP_SOURCE, MF_PRIVATEAIRSHIP_DESTINATION, MF_SKILL_DURATION, MF_MAX using the format mentioned in extremity fist you can fit any of these together to limit what you want 1 Quote Link to comment Share on other sites More sharing options...
1 kodkodkub Posted April 29, 2020 Group: Members Topic Count: 15 Topics Per Day: 0.00 Content Count: 81 Reputation: 18 Joined: 07/18/16 Last Seen: October 24, 2020 Share Posted April 29, 2020 13 minutes ago, cder said: I would like to know how you could change the damage of abilities when entering the bg maps, for example: from 200% to 100% sonic blow, from 200% to 150% "storm gust" you can adjust damage at import\skill_damage_db.txt 1 Quote Link to comment Share on other sites More sharing options...
0 cder Posted April 29, 2020 Group: Members Topic Count: 36 Topics Per Day: 0.01 Content Count: 96 Reputation: 0 Joined: 08/06/18 Last Seen: June 8, 2021 Author Share Posted April 29, 2020 3 hours ago, kodkodkub said: you can adjust damage at import\skill_damage_db.txt 2 hours ago, Naruto said: just gotta add a if (gvg) map condition to the top of the src , whereever your trying to modify theres a bunch already Congratulations to the two answers, at first I was looking for something similar to the "Naruto" answer, I think it can be edited more specifically, but the "skill_damage_db.txt" mode is very simple, but I want to have the way that the "Naruto" posted, I didn't find any "if (gvg)" in my "src" documents, but is it possible to put in one of the skills of "battle.cpp" without conflict in the compilation and is this mode really functional ?? @Naruto Quote Link to comment Share on other sites More sharing options...
0 kodkodkub Posted April 29, 2020 Group: Members Topic Count: 15 Topics Per Day: 0.00 Content Count: 81 Reputation: 18 Joined: 07/18/16 Last Seen: October 24, 2020 Share Posted April 29, 2020 If you're talking about "Skill Damage"skill_damage_db.txt is your if else or whatever condition it made for you to adjust the damage easily, you dont need to edit src which need recompile just @reloadskilldb Ex. Sonic Blow 100% Damage skill_damage_db.txt : set -50% in GVG *Result* : Sonic Blow 50% damage in GVG so it's working like if(map == GVG) Sonic Blow Damage Ratio = Sonic Blow Damage Ratio / 2 *Result* : Sonic Blow 50% damage in GVG same result but more simple 1 Quote Link to comment Share on other sites More sharing options...
0 Naruto Posted April 29, 2020 Group: Members Topic Count: 20 Topics Per Day: 0.01 Content Count: 416 Reputation: 74 Joined: 05/16/19 Last Seen: January 24, 2021 Share Posted April 29, 2020 51 minutes ago, cder said: Congratulations to the two answers, at first I was looking for something similar to the "Naruto" answer, I think it can be edited more specifically, but the "skill_damage_db.txt" mode is very simple, but I want to have the way that the "Naruto" posted, I didn't find any "if (gvg)" in my "src" documents, but is it possible to put in one of the skills of "battle.cpp" without conflict in the compilation and is this mode really functional ?? @Naruto Maybe but i dont work here Could make an invisible item bonus , pretty sure theres one for gvg damage specifically just gotta add a if (gvg) map condition to the top of the src , whereever your trying to modify theres a bunch already Quote Link to comment Share on other sites More sharing options...
0 cder Posted April 29, 2020 Group: Members Topic Count: 36 Topics Per Day: 0.01 Content Count: 96 Reputation: 0 Joined: 08/06/18 Last Seen: June 8, 2021 Author Share Posted April 29, 2020 1 hour ago, kodkodkub said: If you're talking about "Skill Damage"skill_damage_db.txt is your if else or whatever condition it made for you to adjust the damage easily, you dont need to edit src which need recompile just @reloadskilldb Ex. Sonic Blow 100% Damage skill_damage_db.txt : set -50% in GVG *Result* : Sonic Blow 50% damage in GVG so it's working like if(map == GVG) Sonic Blow Damage Ratio = Sonic Blow Damage Ratio / 2 *Result* : Sonic Blow 50% damage in GVG same result but more simple I already understood this, however it is limited to what I want so it may be that I need to change it in the "src" 1 hour ago, Naruto said: Maybe but i dont work here Could make an invisible item bonus , pretty sure theres one for gvg damage specifically Can I use "if (bg)" instead of "if (gvg)", because in skill_damage_db, you have this option ... Quote Link to comment Share on other sites More sharing options...
0 Naruto Posted April 29, 2020 Group: Members Topic Count: 20 Topics Per Day: 0.01 Content Count: 416 Reputation: 74 Joined: 05/16/19 Last Seen: January 24, 2021 Share Posted April 29, 2020 1 hour ago, cder said: I already understood this, however it is limited to what I want so it may be that I need to change it in the "src" Can I use "if (bg)" instead of "if (gvg)", because in skill_damage_db, you have this option ... Pretty sure that thing is really buggy ... some things dont necessarly balance the way they should like on ashura strike, but i mean it still does its job // 1 - Normal (the maps that aren't classified as these maps below) // 2 - PVP // 4 - GVG // 8 - Battlegrounds // 16 - 'skill_damage' mapflag looks like thats not how your supposed to be writing it at all and its like the old database with the whole 0x000000 thing for equipment requirements So to increase damage in PvP GvG and BG maps you would write 14 (8 + 4 + 2) 1 Quote Link to comment Share on other sites More sharing options...
0 cder Posted April 30, 2020 Group: Members Topic Count: 36 Topics Per Day: 0.01 Content Count: 96 Reputation: 0 Joined: 08/06/18 Last Seen: June 8, 2021 Author Share Posted April 30, 2020 (edited) I don't understand you well this time @Naruto, however I know how to deal with "skill_damage_db.txt", but what I want to do is put an "if (bg)" in the "src" skills, Example 1: I want to change the time that the skill lasts "Install Trap" to last less time in the bg, and more time on normal maps, understand? Example 2: Or the percentage that the ability to throw potion will heal outside the bg and on maps ...... Edited April 30, 2020 by cder Quote Link to comment Share on other sites More sharing options...
0 cder Posted May 2, 2020 Group: Members Topic Count: 36 Topics Per Day: 0.01 Content Count: 96 Reputation: 0 Joined: 08/06/18 Last Seen: June 8, 2021 Author Share Posted May 2, 2020 On 30/04/2020 at 08:30, Naruto said: Hmm, é um pouco diferente de Hércules (eu nunca usei essas tags em Rathena, mas ...) Então você tem sua lista no map.h Revelar conteúdo oculto /** * Check if map is GVG maps exclusion for item, skill, and status restriction check (regardless of agit_flag status) * @param mapdata: Map Data * @return True on success or false otherwise * @author Cydh */ inline bool mapdata_flag_gvg2_no_te(struct map_data *mapdata) { if (mapdata == nullptr) return false; if (mapdata->flag[MF_GVG] || mapdata->flag[MF_GVG_CASTLE]) return true; return false; } /// Backwards compatibility inline bool map_flag_vs(int16 m) { if (m < 0) return false; struct map_data *mapdata = &map[m]; return mapdata_flag_vs(mapdata); } inline bool map_flag_vs2(int16 m) { if (m < 0) return false; struct map_data *mapdata = &map[m]; return mapdata_flag_vs2(mapdata); } inline bool map_flag_gvg(int16 m) { if (m < 0) return false; struct map_data *mapdata = &map[m]; return mapdata_flag_gvg(mapdata); } inline bool map_flag_gvg2(int16 m) { if (m < 0) return false; struct map_data *mapdata = &map[m]; return mapdata_flag_gvg2(mapdata); } inline bool map_flag_ks(int16 m) { if (m < 0) return false; struct map_data *mapdata = &map[m]; return mapdata_flag_ks(mapdata); } inline bool map_flag_gvg2_te(int16 m) { if (m < 0) return false; struct map_data *mapdata = &map[m]; return mapdata_flag_gvg2_te(mapdata); } inline bool map_flag_gvg2_no_te(int16 m) { if (m < 0) return false; struct map_data *mapdata = &map[m]; return mapdata_flag_gvg2_no_te(mapdata); } e seus mapflags Revelar conteúdo oculto MF_INVALID = -1, MF_MIN = 0, MF_NOMEMO = 0, MF_NOTELEPORT, MF_NOSAVE, MF_NOBRANCH, MF_NOPENALTY, MF_NOZENYPENALTY, MF_PVP, MF_PVP_NOPARTY, MF_PVP_NOGUILD, MF_GVG, MF_GVG_NOPARTY, // 10 MF_NOTRADE, MF_NOSKILL, MF_NOWARP, MF_PARTYLOCK, MF_NOICEWALL, MF_SNOW, MF_FOG, MF_SAKURA, MF_LEAVES, // MF_RAIN, // 20 - Não está mais disponível, mantendo aqui apenas no caso de voltar algum dia. [Ind] // 21 livres MF_NOGO = 22, MF_CLOUDS, MF_CLOUDS2, MF_FIREWORKS, MF_GVG_CASTLE, MF_GVG_DUNGEON, MF_NIGHTENABLED, MF_NOBASEEXP, MF_NOJOBEXP, // 30 MF_NOMOBLOOT, MF_NOMVPLOOT, MF_NORETURN, MF_NOWARPTO, MF_PVP_NIGHTMAREDROP, MF_RESTRICTED, MF_NOCOMMAND, MF_NODROP, MF_JEXP, MF_BEXP, // 40 MF_NOVENDING, MF_LOADEVENT, MF_NOCHAT, MF_NOEXPPENALTY, MF_GUILDLOCK, MF_TOWN, MF_AUTOTRADE, MF_ALLOWKS, MF_MONSTER_NOTELEPORT, MF_PVP_NOCALCRANK, // 50 MF_BATTLEGROUND, MF_RESET, MF_NOMAPCHANNELAUTOJOIN, MF_NOUSECART, MF_NOITEMCONSUMPTION, MF_NOSUNMOONSTARMIRACLE, MF_NOMINEEFFECT, MF_NOLOCKON, MF_NOTOMB, MF_SKILL_DAMAGE, // 60 MF_NOCOSTUME, MF_GVG_TE_CASTLE, MF_GVG_TE, MF_HIDEMOBHPBAR, MF_NOLOOT, MF_NOEXP, MF_PRIVATEAIRSHIP_SOURCE, MF_PRIVATEAIRSHIP_DESTINATION, MF_SKILL_DURATION, MF_MAX usando o formato mencionado no punho extremo, você pode encaixar qualquer um deles para limitar o que deseja Nice, Thx.... close topic Quote Link to comment Share on other sites More sharing options...
Question
cder
I would like to know how you could change the damage of abilities when entering the bg maps, for example: from 200% to 100% sonic blow, from 200% to 150% "storm gust"
Link to comment
Share on other sites
9 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.