diff options
-rw-r--r-- | Changelog-Trunk.txt | 3 | ||||
-rw-r--r-- | src/map/skill.c | 11 | ||||
-rw-r--r-- | src/map/status.c | 1 |
3 files changed, 10 insertions, 5 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index dd7d697d7..12ffac1f4 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,9 @@ Date Added AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. +09/11/04 + * All Songs/Dances now create a 3 second delay before Adaption can be used. [Inkfish] + * Fixed unit still not being able to move when fiberlock is removed by Magnetic Earth. [Inkfish] 09/11/02 * Rev. 14119 Added battle_config.mob_slave_keep_target config option (monster.conf) [L0ne_W0lf] - When yes (default) MVP slaves will always keep their prior targets. diff --git a/src/map/skill.c b/src/map/skill.c index 020f8dc27..c16eecdda 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -5947,6 +5947,9 @@ int skill_castend_id(int tid, unsigned int tick, int id, intptr data) sc->data[SC_SPIRIT]->val3 == ud->skillid && ud->skillid != WZ_WATERBALL) sc->data[SC_SPIRIT]->val3 = 0; //Clear bounced spell check. + + if( sc->data[SC_DANCING] && skill_get_inf2(ud->skillid)&INF2_SONG_DANCE && sd ) + skill_blockpc_start(sd,BD_ADAPTATION,3000); } if( sd && ud->skillid != SA_ABRACADABRA ) // Hocus-Pocus has just set the data so leave it as it is.[Inkfish] @@ -7208,7 +7211,7 @@ static int skill_unit_onplace (struct skill_unit *src, struct block_list *bl, un else if( sc ) { int sec = skill_get_time2(sg->skill_id,sg->skill_lv); - if( status_change_start(bl,type,10000,sg->skill_lv,sg->group_id,0,0,sec,8) ) + if( status_change_start(bl,type,10000,sg->skill_lv,1,sg->group_id,0,sec,8) ) { const struct TimerData* td = sc->data[type]?get_timer(sc->data[type]->timer):NULL; if( td ) @@ -7794,8 +7797,8 @@ int skill_unit_onout (struct skill_unit *src, struct block_list *bl, unsigned in type = status_skill2sc(sg->skill_id); sce = (sc && type != -1)?sc->data[type]:NULL; - if (bl->prev==NULL || !src->alive || //Need to delete the trap if the source died. - (status_isdead(bl) && sg->unit_id != UNT_ANKLESNARE && sg->unit_id != UNT_SPIDERWEB)) + if( bl->prev==NULL || + (status_isdead(bl) && sg->unit_id != UNT_ANKLESNARE && sg->unit_id != UNT_SPIDERWEB) ) //Need to delete the trap if the source died. return 0; switch(sg->unit_id){ @@ -7820,7 +7823,7 @@ int skill_unit_onout (struct skill_unit *src, struct block_list *bl, unsigned in struct block_list *target = map_id2bl(sg->val2); if (target && target==bl) { - if (sce && sce->val2 == sg->group_id) + if (sce && sce->val3 == sg->group_id) status_change_end(bl,type,-1); sg->limit = DIFF_TICK(tick,sg->tick)+1000; } diff --git a/src/map/status.c b/src/map/status.c index 36bacf47d..6d5733397 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -5841,7 +5841,6 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val case SC_SPIDERWEB: if( bl->type == BL_PC ) tick /= 2; - val1 = val2 = 1; break; case SC_ARMOR: //NPC_DEFENDER: |