summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <notind@gmail.com>2013-06-27 10:31:45 -0700
committershennetsind <notind@gmail.com>2013-06-27 10:31:45 -0700
commit41f3f0b6ce99a0c69f7ccf8f08dd29e3b45b8e76 (patch)
treea887102241901ea102fe8a0ec041c02def4bb4af
parentf98484699e820d8a6cd2eb656244a9178b1ecc61 (diff)
parent0d2cb05e7ded96c694bfe768c3c97e3c5b3615ec (diff)
downloadhercules-41f3f0b6ce99a0c69f7ccf8f08dd29e3b45b8e76.tar.gz
hercules-41f3f0b6ce99a0c69f7ccf8f08dd29e3b45b8e76.tar.bz2
hercules-41f3f0b6ce99a0c69f7ccf8f08dd29e3b45b8e76.tar.xz
hercules-41f3f0b6ce99a0c69f7ccf8f08dd29e3b45b8e76.zip
Merge pull request #53 from MatiasSW/ensemble
Ensemble Songs
-rw-r--r--src/map/party.c7
-rw-r--r--src/map/status.c9
2 files changed, 15 insertions, 1 deletions
diff --git a/src/map/party.c b/src/map/party.c
index 306c68e3e..154f84207 100644
--- a/src/map/party.c
+++ b/src/map/party.c
@@ -585,7 +585,12 @@ int party_member_withdraw(int party_id, int account_id, int char_id)
if( p->instances )
instance->check_kick(sd);
}
-
+ if (sd && sd->sc.data[SC_DANCING]) {
+ status_change_end(&sd->bl, SC_DANCING, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_DRUMBATTLE, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_NIBELUNGEN, INVALID_TIMER);
+ status_change_end(&sd->bl, SC_SIEGFRIED, INVALID_TIMER);
+ }
return 0;
}
diff --git a/src/map/status.c b/src/map/status.c
index 97fed4ceb..dc5d5c5bd 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -6586,6 +6586,15 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
undead_flag = battle->check_undead(status->race,status->def_ele);
//Check for inmunities / sc fails
switch (type) {
+ case SC_DRUMBATTLE:
+ case SC_NIBELUNGEN:
+ case SC_INTOABYSS:
+ case SC_SIEGFRIED:
+ if( bl->type == BL_PC) {
+ struct map_session_data *sd = BL_CAST(BL_PC,bl);
+ if (!sd->status.party_id) return 0;
+ }
+ break;
case SC_ANGRIFFS_MODUS:
case SC_GOLDENE_FERSE:
if ((type==SC_GOLDENE_FERSE && sc->data[SC_ANGRIFFS_MODUS])