summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--conf-tmpl/battle/battle.conf4
-rw-r--r--conf-tmpl/battle/misc.conf4
-rw-r--r--conf-tmpl/battle/monster.conf4
-rw-r--r--conf-tmpl/battle/pet.conf4
-rw-r--r--conf-tmpl/battle/skill.conf4
-rw-r--r--conf-tmpl/battle/status.conf4
-rw-r--r--src/map/mob.c6
-rw-r--r--src/map/skill.c2
9 files changed, 21 insertions, 13 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index d216141a6..1aa09400b 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,8 @@ 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/12/21
+ * Added back cropping the attack delay to attack motion for those weird mobs
+ that have a aDelay less than their aMotion time. [Skotlex]
* Added a 1-node cache to db. Removed party_cache and guild_cache since
now the database has a cache.
* Fixed "warning: comparison is always false due to limited range of data type"
diff --git a/conf-tmpl/battle/battle.conf b/conf-tmpl/battle/battle.conf
index 58daf1e4f..c951746e7 100644
--- a/conf-tmpl/battle/battle.conf
+++ b/conf-tmpl/battle/battle.conf
@@ -19,8 +19,8 @@
//Note 2: All rates are in percents, 100 would mean 100%, 200
// would mean 200%, etc
//Note 3: Value is not limited to 60K (see below)
-//Note 4: Use bitmask values to specify who is affected
-// (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
+//Note 4: Use bitmask values (add to build setting). When no bit values are given,
+// assume character types bits (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
// Other Information:
// All options are limited to a max of 60K (aprox) which is 600%
// or 60secs as appropiate.
diff --git a/conf-tmpl/battle/misc.conf b/conf-tmpl/battle/misc.conf
index cddeb0d8b..f8f37ad7a 100644
--- a/conf-tmpl/battle/misc.conf
+++ b/conf-tmpl/battle/misc.conf
@@ -19,8 +19,8 @@
//Note 2: All rates are in percents, 100 would mean 100%, 200
// would mean 200%, etc
//Note 3: Value is not limited to 60K (see below)
-//Note 4: Use bitmask values to specify who is affected
-// (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
+//Note 4: Use bitmask values (add to build setting). When no bit values are given,
+// assume character types bits (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
// Other Information:
// All options are limited to a max of 60K (aprox) which is 600%
// or 60secs as appropiate.
diff --git a/conf-tmpl/battle/monster.conf b/conf-tmpl/battle/monster.conf
index e3ef417eb..925dae3b8 100644
--- a/conf-tmpl/battle/monster.conf
+++ b/conf-tmpl/battle/monster.conf
@@ -19,8 +19,8 @@
//Note 2: All rates are in percents, 100 would mean 100%, 200
// would mean 200%, etc
//Note 3: Value is not limited to 60K (see below)
-//Note 4: Use bitmask values to specify who is affected
-// (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
+//Note 4: Use bitmask values (add to build setting). When no bit values are given,
+// assume character types bits (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
// Other Information:
// All options are limited to a max of 60K (aprox) which is 600%
// or 60secs as appropiate.
diff --git a/conf-tmpl/battle/pet.conf b/conf-tmpl/battle/pet.conf
index 9d3f8cfaa..3372fbe57 100644
--- a/conf-tmpl/battle/pet.conf
+++ b/conf-tmpl/battle/pet.conf
@@ -19,8 +19,8 @@
//Note 2: All rates are in percents, 100 would mean 100%, 200
// would mean 200%, etc
//Note 3: Value is not limited to 60K (see below)
-//Note 4: Use bitmask values to specify who is affected
-// (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
+//Note 4: Use bitmask values (add to build setting). When no bit values are given,
+// assume character types bits (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
// Other Information:
// All options are limited to a max of 60K (aprox) which is 600%
// or 60secs as appropiate.
diff --git a/conf-tmpl/battle/skill.conf b/conf-tmpl/battle/skill.conf
index 233069a85..8c7d00e17 100644
--- a/conf-tmpl/battle/skill.conf
+++ b/conf-tmpl/battle/skill.conf
@@ -19,8 +19,8 @@
//Note 2: All rates are in percents, 100 would mean 100%, 200
// would mean 200%, etc
//Note 3: Value is not limited to 60K (see below)
-//Note 4: Use bitmask values to specify who is affected
-// (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
+//Note 4: Use bitmask values (add to build setting). When no bit values are given,
+// assume character types bits (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
// Other Information:
// All options are limited to a max of 60K (aprox) which is 600%
// or 60secs as appropiate.
diff --git a/conf-tmpl/battle/status.conf b/conf-tmpl/battle/status.conf
index f34ab1a54..a4a156518 100644
--- a/conf-tmpl/battle/status.conf
+++ b/conf-tmpl/battle/status.conf
@@ -19,8 +19,8 @@
//Note 2: All rates are in percents, 100 would mean 100%, 200
// would mean 200%, etc
//Note 3: Value is not limited to 60K (see below)
-//Note 4: Use bitmask values to specify who is affected
-// (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
+//Note 4: Use bitmask values (add to build setting). When no bit values are given,
+// assume character types bits (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
// Other Information:
// All options are limited to a max of 60K (aprox) which is 600%
// or 60secs as appropiate.
diff --git a/src/map/mob.c b/src/map/mob.c
index f38a5d3ac..7405fc7ec 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -3308,6 +3308,9 @@ static int mob_readdb(void)
status->aspd_rate = 1000;
status->adelay = atoi(str[27]);
status->amotion = atoi(str[28]);
+ //If the attack animation is longer than the delay, the client crops the attack animation!
+ if (status->adelay < status->amotion)
+ status->adelay = status->amotion;
status->dmotion=atoi(str[29]);
if(battle_config.monster_damage_delay_rate != 100)
status->dmotion = status->dmotion*battle_config.monster_damage_delay_rate/100;
@@ -4008,6 +4011,9 @@ static int mob_read_sqldb(void)
status->aspd_rate = 1000;
status->adelay = TO_INT(27);
status->amotion = TO_INT(28);
+ //If the attack animation is longer than the delay, the client crops the attack animation!
+ if (status->adelay < status->amotion)
+ status->adelay = status->amotion;
status->dmotion = TO_INT(29);
if(battle_config.monster_damage_delay_rate != 100)
status->dmotion = status->dmotion*battle_config.monster_damage_delay_rate/100;
diff --git a/src/map/skill.c b/src/map/skill.c
index c69ecbaeb..33e02296a 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2167,7 +2167,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
*------------------------------------------
*/
static int skill_area_temp[8];
-static int skill_unit_temp[24]; /* For storing skill_unit ids as players move in/out of them. [Skotlex] */
+static int skill_unit_temp[64]; /* For storing skill_unit ids as players move in/out of them. [Skotlex] */
static int skill_unit_index=0; //Well, yeah... am too lazy to pass pointers around :X
typedef int (*SkillFunc)(struct block_list *, struct block_list *, int, int, unsigned int, int);
int skill_area_sub (struct block_list *bl, va_list ap)