summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/const.txt4
-rw-r--r--src/map/pc.c4
-rw-r--r--src/map/skill.c2
-rw-r--r--src/map/status.c3
-rw-r--r--src/map/status.h3
-rw-r--r--src/map/unit.c2
6 files changed, 12 insertions, 6 deletions
diff --git a/db/const.txt b/db/const.txt
index 7ab0cd438..c27ee4f4b 100644
--- a/db/const.txt
+++ b/db/const.txt
@@ -1254,6 +1254,10 @@ SC_SUPER_STAR 572
SC_OKTOBERFEST 573
SC_STRANGELIGHTS 574
SC_DECORATION_OF_MUSIC 575
+SC__MAELSTROM 576
+SC__CHAOS 577
+SC__FEINTBOMB_MASTER 578
+SC_FALLENEMPIRE 579
e_gasp 0
e_what 1
diff --git a/src/map/pc.c b/src/map/pc.c
index fb1fae2c7..1ab9b0e2e 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -8153,8 +8153,8 @@ bool pc_can_attack( struct map_session_data *sd, int target_id ) {
sd->sc.data[SC_TRICKDEAD] ||
(sd->sc.data[SC_SIREN] && sd->sc.data[SC_SIREN]->val2 == target_id) ||
sd->sc.data[SC_BLADESTOP] ||
- sd->sc.data[SC_DEEP_SLEEP] /*||
- sd->sc.data[SC_FALLENEMPIRE]TODO*/)
+ sd->sc.data[SC_DEEP_SLEEP] ||
+ sd->sc.data[SC_FALLENEMPIRE] )
return false;
return true;
diff --git a/src/map/skill.c b/src/map/skill.c
index 0b012f3a6..6aa4fe706 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1245,7 +1245,7 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
sc_start(src, bl, SC_STUN, 1 + skill_lv, skill_lv, skill->get_time(skill_id, skill_lv));
break;
case SR_FALLENEMPIRE:
- sc_start(src, bl, SC_STOP, 100, skill_lv, skill->get_time(skill_id, skill_lv));
+ sc_start(src, bl, SC_FALLENEMPIRE, 100, skill_lv, skill->get_time(skill_id, skill_lv));
break;
case SR_WINDMILL:
if( dstsd )
diff --git a/src/map/status.c b/src/map/status.c
index 9c25aadc7..7a9d8b747 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -636,7 +636,7 @@ void initChangeTables(void) {
**/
add_sc( SR_DRAGONCOMBO , SC_STUN );
add_sc( SR_EARTHSHAKER , SC_STUN );
- set_sc( SR_FALLENEMPIRE , SC_STOP/*SC_FALLENEMPIRE*/ , SI_FALLENEMPIRE , SCB_NONE );
+ set_sc( SR_FALLENEMPIRE , SC_FALLENEMPIRE , SI_FALLENEMPIRE , SCB_NONE );
set_sc( SR_CRESCENTELBOW , SC_CRESCENTELBOW , SI_CRESCENTELBOW , SCB_NONE );
set_sc_with_vfx( SR_CURSEDCIRCLE , SC_CURSEDCIRCLE_TARGET, SI_CURSEDCIRCLE_TARGET , SCB_NONE );
set_sc( SR_LIGHTNINGWALK , SC_LIGHTNINGWALK , SI_LIGHTNINGWALK , SCB_NONE );
@@ -9200,6 +9200,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
// Cancel cast when get status [LuzZza]
if (battle_config.sc_castcancel&bl->type)
unit->skillcastcancel(bl, 0);
+ case SC_FALLENEMPIRE:
case SC_WHITEIMPRISON:
unit->stop_attack(bl);
case SC_STOP:
diff --git a/src/map/status.h b/src/map/status.h
index bed0d9fbf..3beba35c4 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -712,7 +712,8 @@ typedef enum sc_type {
SC__CHAOS,
SC__FEINTBOMB_MASTER,
-
+ SC_FALLENEMPIRE,
+
SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
} sc_type;
diff --git a/src/map/unit.c b/src/map/unit.c
index 4290778e6..78a85ba3e 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -921,7 +921,7 @@ int unit_can_move(struct block_list *bl) {
|| (sc->data[SC_GOSPEL] && sc->data[SC_GOSPEL]->val4 == BCT_SELF) // cannot move while gospel is in effect
|| (sc->data[SC_BASILICA] && sc->data[SC_BASILICA]->val4 == bl->id) // Basilica caster cannot move
|| sc->data[SC_STOP]
- /*|| sc->data[SC_FALLENEMPIRE]TODO*/
+ || sc->data[SC_FALLENEMPIRE]
|| sc->data[SC_RG_CCONFINE_M]
|| sc->data[SC_RG_CCONFINE_S]
|| sc->data[SC_GS_MADNESSCANCEL]