summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
Diffstat (limited to 'src/map')
-rw-r--r--src/map/script.c6
-rw-r--r--src/map/skill.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/map/script.c b/src/map/script.c
index 4198fdd55..3ee1f04c1 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -8122,6 +8122,12 @@ BUILDIN_FUNC(sc_end)
if( bl )
{
+ if( type == SC_ENDURE )
+ { //Required to terminate properly infinite endure.
+ struct status_change *sc = status_get_sc(bl);
+ struct status_change_entry *sce = sc?sc->data[type]:NULL;
+ if (sce) sce->val4 = 0;
+ }
if( type >= 0 )
status_change_end(bl, type, INVALID_TIMER);
else
diff --git a/src/map/skill.c b/src/map/skill.c
index 2e18aee59..efb9c6ee9 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -799,7 +799,8 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
if(sd && attack_type&BF_WEAPON &&
skillid != WS_CARTTERMINATION &&
skillid != AM_DEMONSTRATION &&
- skillid != CR_REFLECTSHIELD
+ skillid != CR_REFLECTSHIELD &&
+ skillid != ASC_BREAKER
){ //Trigger status effects
int i, type;
for(i=0; i < ARRAYLENGTH(sd->addeff) && sd->addeff[i].flag; i++)