diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-11-20 17:25:05 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-11-20 17:25:05 +0000 |
commit | 386421a953a51e90fa56da5e294ecdac58647549 (patch) | |
tree | 12803313574bbb74967056a70d0b8362f4da2816 /src/map/clif.c | |
parent | 787638a2dbf76c57154b94f8e3fb2d758bee486c (diff) | |
download | hercules-386421a953a51e90fa56da5e294ecdac58647549.tar.gz hercules-386421a953a51e90fa56da5e294ecdac58647549.tar.bz2 hercules-386421a953a51e90fa56da5e294ecdac58647549.tar.xz hercules-386421a953a51e90fa56da5e294ecdac58647549.zip |
- Fixed itemskill variable being cleared before parsing the skill, this causes auto-casted teleport to fail to skip the skill menu. It is now cleared on castend_pos/id directly.
- The item skill/lv variables now use 0 as default to signal they aren't being used (instead of -1)
- Skills with state 'move_enable' will now do a "walk path" check between target cell/object and caster instead of a "shoot path" check, this would fix skills like snap or charge from letting you "teleport" across pits.
- Fixed a possible double map_addblock when hatching a pet egg right before going through a warp.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9275 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/clif.c')
-rw-r--r-- | src/map/clif.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index b268818ce..0d04d0bc3 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -9822,14 +9822,14 @@ void clif_parse_UseSkillToId(int fd, struct map_session_data *sd) { if(target_id<0 && -target_id == sd->bl.id) // for disguises [Valaris]
target_id = sd->bl.id;
- if (sd->skillitem >= 0 && sd->skillitem == skillnum) {
+ if (sd->skillitem == skillnum) {
if (skilllv != sd->skillitemlv)
skilllv = sd->skillitemlv;
unit_skilluse_id(&sd->bl, target_id, skillnum, skilllv);
return;
}
- sd->skillitem = sd->skillitemlv = -1;
+ sd->skillitem = sd->skillitemlv = 0;
if (skillnum == MO_EXTREMITYFIST) {
if ((sd->sc.data[SC_COMBO].timer == -1 ||
(sd->sc.data[SC_COMBO].val1 != MO_COMBOFINISH &&
@@ -9918,12 +9918,12 @@ void clif_parse_UseSkillToPosSub(int fd, struct map_session_data *sd, int skilll if (sd->invincible_timer != -1)
pc_delinvincibletimer(sd);
- if (sd->skillitem >= 0 && sd->skillitem == skillnum) {
+ if (sd->skillitem == skillnum) {
if (skilllv != sd->skillitemlv)
skilllv = sd->skillitemlv;
unit_skilluse_pos(&sd->bl, x, y, skillnum, skilllv);
} else {
- sd->skillitem = sd->skillitemlv = -1;
+ sd->skillitem = sd->skillitemlv = 0;
if ((lv = pc_checkskill(sd, skillnum)) > 0) {
if (skilllv > lv)
skilllv = lv;
|