summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-03-19 14:26:18 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-03-19 14:26:18 +0000
commit74ae138565e885a23924781703a50a49a901b9a6 (patch)
tree8e54b8864d570359314a4df5a292adfc5d743b8c /src/map
parent90e11bb615a4df66fcc3b538fffe6595bca05015 (diff)
downloadhercules-74ae138565e885a23924781703a50a49a901b9a6.tar.gz
hercules-74ae138565e885a23924781703a50a49a901b9a6.tar.bz2
hercules-74ae138565e885a23924781703a50a49a901b9a6.tar.xz
hercules-74ae138565e885a23924781703a50a49a901b9a6.zip
- Corrected Warp Portal not sending the map names with the .gat extension.
- Probably corrected Disarm's strip animation. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10029 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r--src/map/skill.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 20e30c79f..63916b8f1 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1352,7 +1352,8 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
rate = 3*skilllv;
if (sstatus->dex > tstatus->dex)
rate += (sstatus->dex - tstatus->dex)/5;
- skill_strip_equip(bl, EQP_WEAPON, rate, skilllv, skill_get_time(skillid,skilllv));
+ if (skill_strip_equip(bl, EQP_WEAPON, rate, skilllv, skill_get_time(skillid,skilllv)))
+ clif_skill_nodamage(src,bl,skillid,skilllv,1);
break;
}
@@ -1576,8 +1577,9 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list *
skilllv = dstsd->autospell2[i].lv?dstsd->autospell2[i].lv:1;
if (skilllv < 0) skilllv = 1+rand()%(-skilllv);
- rate = ((sd && !sd->state.arrow_atk) || (status_get_range(src)<=2)) ?
- dstsd->autospell2[i].rate : dstsd->autospell2[i].rate / 2;
+ rate = dstsd->autospell2[i].rate;
+ if (attack_type&BF_LONG)
+ rate>>=1;
if (skillnotok(skillid, dstsd))
continue;
@@ -6069,10 +6071,17 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, int s
case AL_WARP:
if(sd) {
- clif_skill_warppoint(sd,skillid,skilllv,mapindex_id2name(sd->status.save_point.map),
- (skilllv>1 && sd->status.memo_point[0].map)?mapindex_id2name(sd->status.memo_point[0].map):"",
- (skilllv>2 && sd->status.memo_point[1].map)?mapindex_id2name(sd->status.memo_point[1].map):"",
- (skilllv>3 && sd->status.memo_point[2].map)?mapindex_id2name(sd->status.memo_point[2].map):"");
+ char memo[4][MAP_NAME_LENGTH] = {"", "", "", ""};
+ snprintf(memo[0], MAP_NAME_LENGTH, "%s.gat", mapindex_id2name(sd->status.save_point.map));
+ if (skilllv>1 && sd->status.memo_point[0].map)
+ snprintf(memo[1], MAP_NAME_LENGTH, "%s.gat", mapindex_id2name(sd->status.memo_point[0].map));
+ if (skilllv>2 && sd->status.memo_point[1].map)
+ snprintf(memo[2], MAP_NAME_LENGTH, "%s.gat", mapindex_id2name(sd->status.memo_point[1].map));
+ if (skilllv>3 && sd->status.memo_point[2].map)
+ snprintf(memo[3], MAP_NAME_LENGTH, "%s.gat", mapindex_id2name(sd->status.memo_point[2].map));
+
+ clif_skill_warppoint(sd,skillid,skilllv,
+ memo[0],memo[1],memo[2],memo[3]);
}
break;