- Corrected KiriKage's range so it works correctly when used by non-players or when use weapon's range is used.
- Changed service for you's flags so it affects all players on range. - Corrected the skill animation for Absorb Spirits - Cleaned up a bit the implementation of how Gravity Field blocks the caster from moving. - Mob class-changing will fail if the new class is the same as the previous one. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9325 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
f8d95d14c7
commit
00409a92bb
@ -3,9 +3,15 @@ Date Added
|
|||||||
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
|
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.
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||||
|
|
||||||
|
2006/11/27
|
||||||
|
* Corrected the skill animation for Absorb Spirits [Skotlex]
|
||||||
|
* Cleaned up a bit the implementation of how Gravity Field blocks the
|
||||||
|
caster from moving. [Skotlex]
|
||||||
|
* Mob class-changing will fail if the new class is the same as the previous
|
||||||
|
one. [Skotlex]
|
||||||
2006/11/24
|
2006/11/24
|
||||||
* Homunc's min matk is now always equal to max matk [Skotlex]
|
* Homunc's min matk is now always equal to max matk [Skotlex]
|
||||||
* Fixed EDP's damage being 100% more than it should (should be 5x, not 6x
|
* Fixed EDP's damage being 100% more than it should (should be 4x, not 5x
|
||||||
on normal attacks) [Skotlex]
|
on normal attacks) [Skotlex]
|
||||||
* Self Destruction will only hit everyone and not just enemies when used by
|
* Self Destruction will only hit everyone and not just enemies when used by
|
||||||
mobs (non marine spheres) unless the map is a versus map. [Skotlex]
|
mobs (non marine spheres) unless the map is a versus map. [Skotlex]
|
||||||
|
@ -19,6 +19,11 @@
|
|||||||
-----
|
-----
|
||||||
|
|
||||||
========================
|
========================
|
||||||
|
11/27
|
||||||
|
* Corrected KiriKage's range so it works correctly when used by non-players
|
||||||
|
or when use weapon's range is used. [Skotlex]
|
||||||
|
* Changed service for you's flags so it affects all players on range.
|
||||||
|
[Skotlex]
|
||||||
11/26
|
11/26
|
||||||
* Updated Rachel Field mob stats and drops [Playtester]
|
* Updated Rachel Field mob stats and drops [Playtester]
|
||||||
* Updated selling price for some common drops [Playtester]
|
* Updated selling price for some common drops [Playtester]
|
||||||
|
@ -554,7 +554,7 @@
|
|||||||
527,0,6,4,-1,0,0,5,1,no,0,0,0,weapon,3 //NJ_TATAMIGAESHI#NJ_TATAMIGAESHI#
|
527,0,6,4,-1,0,0,5,1,no,0,0,0,weapon,3 //NJ_TATAMIGAESHI#NJ_TATAMIGAESHI#
|
||||||
528,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 //NJ_KASUMIKIRI#NJ_KASUMIKIRI#
|
528,-1,6,1,-1,0,0,10,1,no,0,0,0,weapon,0 //NJ_KASUMIKIRI#NJ_KASUMIKIRI#
|
||||||
529,7:9:11:13:15,6,2,0,1,0,5,1,no,0,0,0,none,0 //NJ_SHADOWJUMP#NJ_SHADOWJUMP#
|
529,7:9:11:13:15,6,2,0,1,0,5,1,no,0,0,0,none,0 //NJ_SHADOWJUMP#NJ_SHADOWJUMP#
|
||||||
530,-1,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 //NJ_KIRIKAGE#NJ_KIRIKAGE#
|
530,7:9:11:13:15,6,1,-1,0,0,5,1,no,0,0,0,weapon,0 //NJ_KIRIKAGE#NJ_KIRIKAGE#
|
||||||
531,0,6,4,0,1,0,5,1,no,0,0,0,none,7 //NJ_UTSUSEMI#NJ_UTSUSEMI#
|
531,0,6,4,0,1,0,5,1,no,0,0,0,none,7 //NJ_UTSUSEMI#NJ_UTSUSEMI#
|
||||||
532,0,6,4,0,1,0,10,1,yes,0,0,0,magic,0 //NJ_BUNSINJYUTSU#NJ_BUNSINJYUTSU#
|
532,0,6,4,0,1,0,10,1,yes,0,0,0,magic,0 //NJ_BUNSINJYUTSU#NJ_BUNSINJYUTSU#
|
||||||
533,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //NJ_NINPOU#NJ_NINPOU#
|
533,0,0,0,0,0,0,10,0,no,0,0,0,none,0 //NJ_NINPOU#NJ_NINPOU#
|
||||||
|
@ -73,7 +73,7 @@
|
|||||||
327,0xac, , 3, 0, -1,all, 0x120 //DC_HUMMING
|
327,0xac, , 3, 0, -1,all, 0x120 //DC_HUMMING
|
||||||
328,0xad, , 3, 0, -1,enemy, 0x100 //DC_DONTFORGETME
|
328,0xad, , 3, 0, -1,enemy, 0x100 //DC_DONTFORGETME
|
||||||
329,0xae, , 3, 0, -1,all, 0x120 //DC_FORTUNEKISS
|
329,0xae, , 3, 0, -1,all, 0x120 //DC_FORTUNEKISS
|
||||||
330,0xaf, , 3, 0, -1,party, 0x100 //DC_SERVICEFORYOU
|
330,0xaf, , 3, 0, -1,all, 0x120 //DC_SERVICEFORYOU
|
||||||
336,0xb2, , 0,-1, -1,noone, 0x000 //WE_CALLPARTNER
|
336,0xb2, , 0,-1, -1,noone, 0x000 //WE_CALLPARTNER
|
||||||
339,0x86, , -1, 0, 400,enemy, 0x000 //NPC_DARKGRANDCROSS
|
339,0x86, , -1, 0, 400,enemy, 0x000 //NPC_DARKGRANDCROSS
|
||||||
362,0xb4, , 0, 3, -1,all, 0x000 //HP_BASILICA
|
362,0xb4, , 0, 3, -1,all, 0x000 //HP_BASILICA
|
||||||
|
@ -7107,7 +7107,7 @@ int clif_guild_skillinfo(struct map_session_data *sd)
|
|||||||
WFIFOW(fd,c*37+12) = g->skill[i].lv;
|
WFIFOW(fd,c*37+12) = g->skill[i].lv;
|
||||||
WFIFOW(fd,c*37+14) = skill_get_sp(id,g->skill[i].lv);
|
WFIFOW(fd,c*37+14) = skill_get_sp(id,g->skill[i].lv);
|
||||||
WFIFOW(fd,c*37+16) = skill_get_range(id,g->skill[i].lv);
|
WFIFOW(fd,c*37+16) = skill_get_range(id,g->skill[i].lv);
|
||||||
malloc_tsetdword(WFIFOP(fd,c*37+18),0,24);
|
strncpy(WFIFOP(fd,c*37+18), skill_get_name(id), NAME_LENGTH);
|
||||||
if(g->skill[i].lv < guild_skill_get_max(id) && (sd == g->member[0].sd))
|
if(g->skill[i].lv < guild_skill_get_max(id) && (sd == g->member[0].sd))
|
||||||
up = 1;
|
up = 1;
|
||||||
else
|
else
|
||||||
|
@ -2315,6 +2315,9 @@ int mob_class_change (struct mob_data *md, int class_)
|
|||||||
if (mob_is_clone(md->class_))
|
if (mob_is_clone(md->class_))
|
||||||
return 0; //Clones
|
return 0; //Clones
|
||||||
|
|
||||||
|
if (md->class_ == class_)
|
||||||
|
return 0; //Nothing to change.
|
||||||
|
|
||||||
hp_rate = md->status.hp*100/md->status.max_hp;
|
hp_rate = md->status.hp*100/md->status.max_hp;
|
||||||
md->class_ = class_;
|
md->class_ = class_;
|
||||||
md->db = mob_db(class_);
|
md->db = mob_db(class_);
|
||||||
|
@ -3174,6 +3174,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
|
|||||||
if (unit_movepos(src, x, y, 0, 0))
|
if (unit_movepos(src, x, y, 0, 0))
|
||||||
clif_slide(src,src->x,src->y);
|
clif_slide(src,src->x,src->y);
|
||||||
}
|
}
|
||||||
|
if (sc && sc->data[SC_HIDING].timer != -1)
|
||||||
status_change_end(src, SC_HIDING, -1);
|
status_change_end(src, SC_HIDING, -1);
|
||||||
skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
|
skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
|
||||||
break;
|
break;
|
||||||
@ -3945,10 +3946,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
|
|||||||
i = 2 * dstmd->level;
|
i = 2 * dstmd->level;
|
||||||
mob_target(dstmd,src,0);
|
mob_target(dstmd,src,0);
|
||||||
}
|
}
|
||||||
if (i) {
|
if (i) status_heal(src, 0, i, 3);
|
||||||
clif_skill_nodamage(src,bl,skillid,skilllv,0);
|
clif_skill_nodamage(src,bl,skillid,skilllv,i?1:0);
|
||||||
status_heal(src, 0, i, 3);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AC_MAKINGARROW:
|
case AC_MAKINGARROW:
|
||||||
|
@ -5358,13 +5358,6 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
|
|||||||
|
|
||||||
case SC_GRAVITATION:
|
case SC_GRAVITATION:
|
||||||
val2 = 50*val1; //aspd reduction
|
val2 = 50*val1; //aspd reduction
|
||||||
if (val3 == BCT_SELF) {
|
|
||||||
struct unit_data *ud = unit_bl2ud(bl);
|
|
||||||
if (ud) {
|
|
||||||
ud->canmove_tick += tick;
|
|
||||||
ud->canact_tick += tick;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SC_HERMODE:
|
case SC_HERMODE:
|
||||||
@ -6171,13 +6164,6 @@ int status_change_end( struct block_list* bl , int type,int tid )
|
|||||||
sc_start4(bl, SC_REGENERATION, 100, 10,0,0,(RGN_HP|RGN_SP),
|
sc_start4(bl, SC_REGENERATION, 100, 10,0,0,(RGN_HP|RGN_SP),
|
||||||
skill_get_time(LK_BERSERK, sc->data[type].val1));
|
skill_get_time(LK_BERSERK, sc->data[type].val1));
|
||||||
break;
|
break;
|
||||||
case SC_GRAVITATION:
|
|
||||||
if (sc->data[type].val3 == BCT_SELF) {
|
|
||||||
struct unit_data *ud = unit_bl2ud(bl);
|
|
||||||
if (ud)
|
|
||||||
ud->canmove_tick = ud->canact_tick = gettick();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case SC_GOSPEL: //Clear the buffs from other chars.
|
case SC_GOSPEL: //Clear the buffs from other chars.
|
||||||
if (sc->data[type].val3) { //Clear the group.
|
if (sc->data[type].val3) { //Clear the group.
|
||||||
struct skill_unit_group *group = (struct skill_unit_group *)sc->data[type].val3;
|
struct skill_unit_group *group = (struct skill_unit_group *)sc->data[type].val3;
|
||||||
|
@ -699,6 +699,7 @@ int unit_can_move(struct block_list *bl)
|
|||||||
|| (sc->data[SC_CLOAKING].timer != -1 && //Need wall at level 1-2
|
|| (sc->data[SC_CLOAKING].timer != -1 && //Need wall at level 1-2
|
||||||
sc->data[SC_CLOAKING].val1 < 3 && !(sc->data[SC_CLOAKING].val4&1))
|
sc->data[SC_CLOAKING].val1 < 3 && !(sc->data[SC_CLOAKING].val4&1))
|
||||||
|| sc->data[SC_MADNESSCANCEL].timer != -1
|
|| sc->data[SC_MADNESSCANCEL].timer != -1
|
||||||
|
|| (sc->data[SC_GRAVITATION].timer != -1 && sc->data[SC_GRAVITATION].val3 == BCT_SELF)
|
||||||
))
|
))
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user