summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-08 19:05:35 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-08 19:05:35 +0000
commitf96f703a1252a0229b59a58951dc2ba55dd66736 (patch)
tree63aa2fb6be9ff2db4b6c715c4b50b5593bf18b43
parent13bd7f95bf5efb4e4acf274baf20636682ea4b58 (diff)
downloadhercules-f96f703a1252a0229b59a58951dc2ba55dd66736.tar.gz
hercules-f96f703a1252a0229b59a58951dc2ba55dd66736.tar.bz2
hercules-f96f703a1252a0229b59a58951dc2ba55dd66736.tar.xz
hercules-f96f703a1252a0229b59a58951dc2ba55dd66736.zip
- Added a check to handle Spider Web as a targetted skill. If there's more than one character on the targetted cell, a different one may get trapped, but it will mostly do as it is now.
- Added check to Asura so that it will move you to the target when it fails ONLY when you can cast the skill on the target (not stunned, asleep, target not hidden, etc) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8190 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt6
-rw-r--r--db/Changelog.txt2
-rw-r--r--db/skill_db.txt2
-rw-r--r--src/map/skill.c7
4 files changed, 13 insertions, 4 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 0ad477539..49315d29f 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,12 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/08/08
+ * Added a check to handle Spider Web as a targetted skill. If there's more
+ than one character on the targetted cell, a different one may get trapped,
+ but it will mostly do as it is now. [Skotlex]
+ * Added check to Asura so that it will move you to the target when it fails
+ ONLY when you can cast the skill on the target (not stunned, asleep, target
+ not hidden, etc) [Skotlex]
* Changed the map_freeblock_unlock code so that when there's an "already
free'd pointer" error, the memory manager will print out the invoking
function rather than map_freeblock_unlock, this should help fix it up next
diff --git a/db/Changelog.txt b/db/Changelog.txt
index 57f5ed4d1..ce8a6c8a7 100644
--- a/db/Changelog.txt
+++ b/db/Changelog.txt
@@ -19,6 +19,8 @@
-----
=========================
+08/08
+ * Made PF_FOGWALL a targetted skill. [Skotlex]
08/07
* Slightly increased drop rate of some low-level guns [Playtester]
- also lowered drop rate of Armor Charm to 0.01% again
diff --git a/db/skill_db.txt b/db/skill_db.txt
index 298ef3549..3df736ec4 100644
--- a/db/skill_db.txt
+++ b/db/skill_db.txt
@@ -425,7 +425,7 @@
402,9,6,1,0,1,0,5,1,no,0,0,0,none,0 //PF_MINDBREAKER#Mind Breaker#
403,0,0,4,0,1,0,1,1,yes,0,0,0,magic,0 //PF_MEMORIZE#Foresight#
404,9,6,2,2,1,0,5,1,yes,0,256,2,magic,0 //PF_FOGWALL#Blinding Mist#
-405,7,6,2,0,1,0,1,1,no,0,128,3,magic,0 //PF_SPIDERWEB#Fiber Lock#
+405,7,6,1,0,1,0,1,1,no,0,128,3,magic,0 //PF_SPIDERWEB#Fiber Lock#
406,0,6,4,-1,2,2,10,1,no,33,0,0,weapon,0 //ASC_METEORASSAULT#Meteor Assault#
407,0,6,4,0,1,0,1,0,no,0,0,0,none,0 //ASC_CDP#Create Deadly Poison#
408,9,6,4,0,1,0,1,1,yes,0,4,0,none,0 //WE_BABY#Baby#
diff --git a/src/map/skill.c b/src/map/skill.c
index 2b3301547..3c505eb81 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -3233,7 +3233,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
return skill_castend_damage_id (src, bl, skillid, skilllv, tick, flag);
default:
//Skill is actually ground placed.
- if (src == bl && skill_get_unit_id(skillid,0))
+ if ((src == bl || skillid == PF_SPIDERWEB) && skill_get_unit_id(skillid,0))
return skill_castend_pos2(src,bl->x,bl->y,skillid,skilllv,tick,0);
}
@@ -5768,8 +5768,9 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data)
if (sc->data[SC_BLADESTOP].timer != -1)
status_change_end(src,SC_BLADESTOP,-1);
}
- if (target && target->m == src->m)
- { //Move character to target anyway.
+ if (target && target->m == src->m &&
+ (tid == -1 || status_check_skilluse(src, target, ud->skillid, 1))
+ ) { //Move character to target anyway.
int dx,dy;
dx = target->x - src->x;
dy = target->y - src->y;