From 4825842ef2493e30f8184d28e52dbc9338ae462d Mon Sep 17 00:00:00 2001 From: Atemo Date: Sun, 29 Oct 2023 19:20:49 +0100 Subject: [PATCH] Corrections --- src/map/script_constants.hpp | 2 ++ src/map/skill.cpp | 11 +---------- src/map/skill.hpp | 5 +++-- src/map/status.cpp | 6 ++---- 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/map/script_constants.hpp b/src/map/script_constants.hpp index abcd4cde58..c4da95606b 100644 --- a/src/map/script_constants.hpp +++ b/src/map/script_constants.hpp @@ -10099,6 +10099,8 @@ export_constant(UNT_SWIFTTRAP); export_constant(UNT_FLAMETRAP); + export_constant(UNT_HYUN_ROKS_BREEZE); + export_constant(UNT_GD_LEADERSHIP); export_constant(UNT_GD_GLORYWOUNDS); export_constant(UNT_GD_SOULCOLD); diff --git a/src/map/skill.cpp b/src/map/skill.cpp index 91b2fc90fa..d965fb37f1 100755 --- a/src/map/skill.cpp +++ b/src/map/skill.cpp @@ -5222,7 +5222,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint sc_start(src, src, SC_SHIELD_POWER, 100, skill_lv, skill_get_time(skill_id, skill_lv)); break; case DK_DRAGONIC_AURA: - case IG_GRAND_JUDGEMENT: clif_skill_nodamage(src, bl, skill_id, skill_lv, 1); skill_attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag); sc_start(src, src, SC_DRAGONIC_AURA, 100, skill_lv, skill_get_time(skill_id,skill_lv)); @@ -7261,6 +7260,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui type = skill_get_sc(skill_id); tsc = status_get_sc(bl); tsce = (tsc && type != SC_NONE)?tsc->getSCE(type):NULL; + status_change *sc = status_get_sc(src); if (src!=bl && type > SC_NONE && CHK_ELEMENT((i = skill_get_ele(skill_id, skill_lv))) && i > ELE_NEUTRAL && @@ -7609,8 +7609,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui return 1; } - status_change* sc = status_get_sc(src); - if( sc && tsc ) { if( !sc->getSCE(SC_MARIONETTE) && !tsc->getSCE(SC_MARIONETTE2) ) @@ -7981,7 +7979,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui sc_start(src, bl, type, 100, skill_lv, skill_get_time2(skill_id, skill_lv)); } else { uint16 climax_lv = 0, splash_size = skill_get_splash(skill_id, skill_lv); - status_change *sc = status_get_sc(src); if (sc && sc->getSCE(SC_CLIMAX)) climax_lv = sc->getSCE(SC_CLIMAX)->val1; @@ -8522,7 +8519,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case ABC_ABYSS_DAGGER: case BO_EXPLOSIVE_POWDER: { - status_change *sc = status_get_sc(src); int starget = BL_CHAR|BL_SKILL; if (skill_id == SR_HOWLINGOFLION) @@ -11126,8 +11122,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case WL_SUMMONWB: case WL_SUMMONSTONE: { - status_change *sc = status_get_sc(src); - if (sc == nullptr) break; @@ -11637,7 +11631,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui case WM_LERADS_DEW: case WM_UNLIMITED_HUMMING_VOICE: if( flag&1 ) { // These affect to to all party members near the caster. - status_change *sc = status_get_sc(src); if( sc && sc->getSCE(type) ) { sc_start2(src,bl,type,100,skill_lv,pc_checkskill(sd, WM_LESSON),skill_get_time(skill_id,skill_lv)); } @@ -12909,8 +12902,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui } if (skill_id != SR_CURSEDCIRCLE && skill_id != NPC_SR_CURSEDCIRCLE) { - status_change *sc = status_get_sc(src); - if (sc && sc->getSCE(SC_CURSEDCIRCLE_ATKER)) // Should only remove after the skill had been casted. status_change_end(src,SC_CURSEDCIRCLE_ATKER); } diff --git a/src/map/skill.hpp b/src/map/skill.hpp index 077fe8c959..c7b2be70c8 100644 --- a/src/map/skill.hpp +++ b/src/map/skill.hpp @@ -33,8 +33,8 @@ class status_change; #define MAX_SKILL_LEVEL 13 /// Max Skill Level (for skill_db storage) #define MAX_MOBSKILL_LEVEL 100 /// Max monster skill level (on skill usage) #define MAX_SKILL_CRIMSON_MARKER 3 /// Max Crimson Marker targets (RL_C_MARKER) -#define SKILL_NAME_LENGTH 31 /// Max Skill Name length -#define SKILL_DESC_LENGTH 31 /// Max Skill Desc length +#define SKILL_NAME_LENGTH 40 /// Max Skill Name length +#define SKILL_DESC_LENGTH 40 /// Max Skill Desc length /// Used with tracking the hitcount of Earthquake for skills that can avoid the first attack #define NPC_EARTHQUAKE_FLAG 0x800 @@ -2795,6 +2795,7 @@ void skill_combo(struct block_list* src,struct block_list *dsrc, struct block_li enum sc_type skill_get_sc(int16 skill_id); void skill_reveal_trap_inarea(struct block_list *src, int range, int x, int y); int skill_get_time3(struct map_data *mapdata, uint16 skill_id, uint16 skill_lv); +int skill_area_sub(struct block_list *bl, va_list ap); /// Variable name of copied skill by Plagiarism #define SKILL_VAR_PLAGIARISM "CLONE_SKILL" diff --git a/src/map/status.cpp b/src/map/status.cpp index 477debb73c..8b077e1b34 100644 --- a/src/map/status.cpp +++ b/src/map/status.cpp @@ -14859,14 +14859,12 @@ TIMER_FUNC(status_change_timer){ if (sce->val4-- > 0) { int i = skill_get_splash(SH_KI_SUL_RAMPAGE, sce->val1); int lv = sce->val1; - if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) - { + if ((sd && pc_checkskill(sd, SH_COMMUNE_WITH_KI_SUL)) || (sc && sc->getSCE(SC_TEMPORARY_COMMUNION))) { i += 2; lv += skill_get_max(SH_KI_SUL_RAMPAGE); } clif_skill_nodamage(bl, bl, SH_KI_SUL_RAMPAGE, lv, 1); - map_foreachinrange(skill_area_sub, bl, i, BL_CHAR, - bl, SH_KI_SUL_RAMPAGE, lv, tick, BCT_PARTY | SD_SPLASH | 1, skill_castend_nodamage_id); + map_foreachinrange(skill_area_sub, bl, i, BL_CHAR, bl, SH_KI_SUL_RAMPAGE, lv, tick, BCT_PARTY | SD_SPLASH | 1, skill_castend_nodamage_id); sc_timer_next(1000 + tick); return 0; }