diff options
author | panikon <panikon@zoho.com> | 2014-02-19 17:10:57 -0300 |
---|---|---|
committer | panikon <panikon@zoho.com> | 2014-02-19 17:10:57 -0300 |
commit | c4a9dd3f2804b75c1d49b5ab58a3ba80ea4303c2 (patch) | |
tree | 53b779650a2821dc8bf2a9deb00d5a03890449fe /src/map/party.c | |
parent | 58544d7f610261a903b3e843a795efd7571b2d56 (diff) | |
parent | d0b9510cf0d7a47e53aa341462a1175326dfc09d (diff) | |
download | hercules-c4a9dd3f2804b75c1d49b5ab58a3ba80ea4303c2.tar.gz hercules-c4a9dd3f2804b75c1d49b5ab58a3ba80ea4303c2.tar.bz2 hercules-c4a9dd3f2804b75c1d49b5ab58a3ba80ea4303c2.tar.xz hercules-c4a9dd3f2804b75c1d49b5ab58a3ba80ea4303c2.zip |
Merge branch 'master' of https://github.com/HerculesWS/Hercules
Diffstat (limited to 'src/map/party.c')
-rw-r--r-- | src/map/party.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/map/party.c b/src/map/party.c index 9f144297d..cf5e7bbe3 100644 --- a/src/map/party.c +++ b/src/map/party.c @@ -841,7 +841,7 @@ int party_skill_check(struct map_session_data *sd, int party_id, uint16 skill_id case TK_COUNTER: //Increase Triple Attack rate of Monks. if((p_sd->class_&MAPID_UPPERMASK) == MAPID_MONK && pc->checkskill(p_sd,MO_TRIPLEATTACK)) { - sc_start4(&p_sd->bl,SC_SKILLRATE_UP,100,MO_TRIPLEATTACK, + sc_start4(&p_sd->bl,&p_sd->bl,SC_SKILLRATE_UP,100,MO_TRIPLEATTACK, 50+50*skill_lv, //+100/150/200% rate 0,0,skill->get_time(SG_FRIEND, 1)); } @@ -850,7 +850,7 @@ int party_skill_check(struct map_session_data *sd, int party_id, uint16 skill_id if((p_sd->class_&MAPID_UPPERMASK) == MAPID_STAR_GLADIATOR && sd->sc.data[SC_COUNTERKICK_READY] && pc->checkskill(p_sd,SG_FRIEND)) { - sc_start4(&p_sd->bl,SC_SKILLRATE_UP,100,TK_COUNTER, + sc_start4(&p_sd->bl,&p_sd->bl,SC_SKILLRATE_UP,100,TK_COUNTER, 50+50*pc->checkskill(p_sd,SG_FRIEND), //+100/150/200% rate 0,0,skill->get_time(SG_FRIEND, 1)); } @@ -1108,6 +1108,22 @@ int party_vforeachsamemap(int (*func)(struct block_list*,va_list), struct map_se return total; } +// Special check for Minstrel's and Wanderer's chorus skills. +int party_sub_count_chorus(struct block_list *bl, va_list ap) { + struct map_session_data *sd = (TBL_PC *)bl; + + if (sd->state.autotrade) + return 0; + + if (battle_config.idle_no_share && pc_isidle(sd)) + return 0; + + if ( (sd->class_&MAPID_THIRDMASK) != MAPID_MINSTRELWANDERER ) + return 0; + + return 1; +} + /** * Executes 'func' for each party member on the same map and within a 'range' cells area * @param func Function to execute @@ -1393,6 +1409,7 @@ void party_defaults(void) { party->share_loot = party_share_loot; party->send_dot_remove = party_send_dot_remove; party->sub_count = party_sub_count; + party->sub_count_chorus = party_sub_count_chorus; party->booking_register = party_booking_register; party->booking_update = party_booking_update; party->booking_search = party_booking_search; |