Corrections

This commit is contained in:
Atemo 2023-10-29 19:20:49 +01:00
parent 3f30991efa
commit 4825842ef2
4 changed files with 8 additions and 16 deletions

View File

@ -10099,6 +10099,8 @@
export_constant(UNT_SWIFTTRAP); export_constant(UNT_SWIFTTRAP);
export_constant(UNT_FLAMETRAP); export_constant(UNT_FLAMETRAP);
export_constant(UNT_HYUN_ROKS_BREEZE);
export_constant(UNT_GD_LEADERSHIP); export_constant(UNT_GD_LEADERSHIP);
export_constant(UNT_GD_GLORYWOUNDS); export_constant(UNT_GD_GLORYWOUNDS);
export_constant(UNT_GD_SOULCOLD); export_constant(UNT_GD_SOULCOLD);

View File

@ -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)); sc_start(src, src, SC_SHIELD_POWER, 100, skill_lv, skill_get_time(skill_id, skill_lv));
break; break;
case DK_DRAGONIC_AURA: case DK_DRAGONIC_AURA:
case IG_GRAND_JUDGEMENT:
clif_skill_nodamage(src, bl, skill_id, skill_lv, 1); clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
skill_attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag); 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)); 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); type = skill_get_sc(skill_id);
tsc = status_get_sc(bl); tsc = status_get_sc(bl);
tsce = (tsc && type != SC_NONE)?tsc->getSCE(type):NULL; tsce = (tsc && type != SC_NONE)?tsc->getSCE(type):NULL;
status_change *sc = status_get_sc(src);
if (src!=bl && type > SC_NONE && if (src!=bl && type > SC_NONE &&
CHK_ELEMENT((i = skill_get_ele(skill_id, skill_lv))) && i > ELE_NEUTRAL && 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; return 1;
} }
status_change* sc = status_get_sc(src);
if( sc && tsc ) if( sc && tsc )
{ {
if( !sc->getSCE(SC_MARIONETTE) && !tsc->getSCE(SC_MARIONETTE2) ) 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)); sc_start(src, bl, type, 100, skill_lv, skill_get_time2(skill_id, skill_lv));
} else { } else {
uint16 climax_lv = 0, splash_size = skill_get_splash(skill_id, skill_lv); 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)) if (sc && sc->getSCE(SC_CLIMAX))
climax_lv = sc->getSCE(SC_CLIMAX)->val1; 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 ABC_ABYSS_DAGGER:
case BO_EXPLOSIVE_POWDER: case BO_EXPLOSIVE_POWDER:
{ {
status_change *sc = status_get_sc(src);
int starget = BL_CHAR|BL_SKILL; int starget = BL_CHAR|BL_SKILL;
if (skill_id == SR_HOWLINGOFLION) 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_SUMMONWB:
case WL_SUMMONSTONE: case WL_SUMMONSTONE:
{ {
status_change *sc = status_get_sc(src);
if (sc == nullptr) if (sc == nullptr)
break; 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_LERADS_DEW:
case WM_UNLIMITED_HUMMING_VOICE: case WM_UNLIMITED_HUMMING_VOICE:
if( flag&1 ) { // These affect to to all party members near the caster. 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) ) { 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)); 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) { 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. if (sc && sc->getSCE(SC_CURSEDCIRCLE_ATKER)) // Should only remove after the skill had been casted.
status_change_end(src,SC_CURSEDCIRCLE_ATKER); status_change_end(src,SC_CURSEDCIRCLE_ATKER);
} }

View File

@ -33,8 +33,8 @@ class status_change;
#define MAX_SKILL_LEVEL 13 /// Max Skill Level (for skill_db storage) #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_MOBSKILL_LEVEL 100 /// Max monster skill level (on skill usage)
#define MAX_SKILL_CRIMSON_MARKER 3 /// Max Crimson Marker targets (RL_C_MARKER) #define MAX_SKILL_CRIMSON_MARKER 3 /// Max Crimson Marker targets (RL_C_MARKER)
#define SKILL_NAME_LENGTH 31 /// Max Skill Name length #define SKILL_NAME_LENGTH 40 /// Max Skill Name length
#define SKILL_DESC_LENGTH 31 /// Max Skill Desc 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 /// Used with tracking the hitcount of Earthquake for skills that can avoid the first attack
#define NPC_EARTHQUAKE_FLAG 0x800 #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); enum sc_type skill_get_sc(int16 skill_id);
void skill_reveal_trap_inarea(struct block_list *src, int range, int x, int y); 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_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 /// Variable name of copied skill by Plagiarism
#define SKILL_VAR_PLAGIARISM "CLONE_SKILL" #define SKILL_VAR_PLAGIARISM "CLONE_SKILL"

View File

@ -14859,14 +14859,12 @@ TIMER_FUNC(status_change_timer){
if (sce->val4-- > 0) { if (sce->val4-- > 0) {
int i = skill_get_splash(SH_KI_SUL_RAMPAGE, sce->val1); int i = skill_get_splash(SH_KI_SUL_RAMPAGE, sce->val1);
int lv = 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; i += 2;
lv += skill_get_max(SH_KI_SUL_RAMPAGE); lv += skill_get_max(SH_KI_SUL_RAMPAGE);
} }
clif_skill_nodamage(bl, bl, SH_KI_SUL_RAMPAGE, lv, 1); clif_skill_nodamage(bl, bl, SH_KI_SUL_RAMPAGE, lv, 1);
map_foreachinrange(skill_area_sub, bl, i, BL_CHAR, 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);
bl, SH_KI_SUL_RAMPAGE, lv, tick, BCT_PARTY | SD_SPLASH | 1, skill_castend_nodamage_id);
sc_timer_next(1000 + tick); sc_timer_next(1000 + tick);
return 0; return 0;
} }