summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-10 19:57:47 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-10 19:57:47 +0000
commite50e157f6c854dcfde2765b9b5e7bf10a2200476 (patch)
treef61f917c83574db9986c218ac17c4b7c27fd8d9c
parent85bdc1dc6c13036984310f39428c82968ecffba7 (diff)
downloadhercules-e50e157f6c854dcfde2765b9b5e7bf10a2200476.tar.gz
hercules-e50e157f6c854dcfde2765b9b5e7bf10a2200476.tar.bz2
hercules-e50e157f6c854dcfde2765b9b5e7bf10a2200476.tar.xz
hercules-e50e157f6c854dcfde2765b9b5e7bf10a2200476.zip
- The on-place function won't be invoked on setting ground skills if the group's tick is greater than the current tick. As Buuyo pointed out, this should fix Sanctuary and Gospel taking effect inmediately instead of after "x" amount of ms as they should.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7601 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt4
-rw-r--r--src/map/skill.c6
2 files changed, 9 insertions, 1 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 0c2aee7fe..a6a69b7f4 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,10 @@ 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/07/10
+ * The on-place function won't be invoked on setting ground skills if the
+ group's tick is greater than the current tick. As Buuyo pointed out, this
+ should fix Sanctuary and Gospel taking effect inmediately instead of after
+ "x" amount of ms as they should. [Skotlex]
* Added login-char packet 0x2737. Sets all characters offline (login-server
side). [Skotlex]
* Cleaned up char server "set all offline" implementation to remove only
diff --git a/src/map/skill.c b/src/map/skill.c
index 7aad7d7e2..b31f8e93f 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -6445,7 +6445,11 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, int skillid,
group->state.magic_power = (flag&2 || (sc && sc->data[SC_MAGICPOWER].timer != -1)); //Store the magic power flag. [Skotlex]
group->state.ammo_consume = (sd && sd->state.arrow_atk); //Store if this skill needs to consume ammo.
group->state.song_dance = (unit_flag&(UF_DANCE|UF_SONG)); //Signals if this is a song/dance (does not counts duets)
-
+
+ //if tick is greater than current, do not invoke onplace function just yet. [Skotlex]
+ if (DIFF_TICK(group->tick, gettick()) > 100)
+ active_flag = 0;
+
if(skillid==HT_TALKIEBOX ||
skillid==RG_GRAFFITI){
group->valstr=(char *) aMallocA(MESSAGE_SIZE*sizeof(char));