- Added back cropping the attack delay to attack motion for those weird mobs that have a aDelay less than their aMotion time.

- Made the Note 4 comment clearer in the battle config files.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9548 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2006-12-21 14:18:48 +00:00
parent 45036c5c06
commit 6e34fdb6ed
9 changed files with 21 additions and 13 deletions

View File

@ -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. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/12/21 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 * Added a 1-node cache to db. Removed party_cache and guild_cache since
now the database has a cache. now the database has a cache.
* Fixed "warning: comparison is always false due to limited range of data type" * Fixed "warning: comparison is always false due to limited range of data type"

View File

@ -19,8 +19,8 @@
//Note 2: All rates are in percents, 100 would mean 100%, 200 //Note 2: All rates are in percents, 100 would mean 100%, 200
// would mean 200%, etc // would mean 200%, etc
//Note 3: Value is not limited to 60K (see below) //Note 3: Value is not limited to 60K (see below)
//Note 4: Use bitmask values to specify who is affected //Note 4: Use bitmask values (add to build setting). When no bit values are given,
// (1: Pc, 2: Mob, 4: Pet, 8: Homonculus) // assume character types bits (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
// Other Information: // Other Information:
// All options are limited to a max of 60K (aprox) which is 600% // All options are limited to a max of 60K (aprox) which is 600%
// or 60secs as appropiate. // or 60secs as appropiate.

View File

@ -19,8 +19,8 @@
//Note 2: All rates are in percents, 100 would mean 100%, 200 //Note 2: All rates are in percents, 100 would mean 100%, 200
// would mean 200%, etc // would mean 200%, etc
//Note 3: Value is not limited to 60K (see below) //Note 3: Value is not limited to 60K (see below)
//Note 4: Use bitmask values to specify who is affected //Note 4: Use bitmask values (add to build setting). When no bit values are given,
// (1: Pc, 2: Mob, 4: Pet, 8: Homonculus) // assume character types bits (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
// Other Information: // Other Information:
// All options are limited to a max of 60K (aprox) which is 600% // All options are limited to a max of 60K (aprox) which is 600%
// or 60secs as appropiate. // or 60secs as appropiate.

View File

@ -19,8 +19,8 @@
//Note 2: All rates are in percents, 100 would mean 100%, 200 //Note 2: All rates are in percents, 100 would mean 100%, 200
// would mean 200%, etc // would mean 200%, etc
//Note 3: Value is not limited to 60K (see below) //Note 3: Value is not limited to 60K (see below)
//Note 4: Use bitmask values to specify who is affected //Note 4: Use bitmask values (add to build setting). When no bit values are given,
// (1: Pc, 2: Mob, 4: Pet, 8: Homonculus) // assume character types bits (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
// Other Information: // Other Information:
// All options are limited to a max of 60K (aprox) which is 600% // All options are limited to a max of 60K (aprox) which is 600%
// or 60secs as appropiate. // or 60secs as appropiate.

View File

@ -19,8 +19,8 @@
//Note 2: All rates are in percents, 100 would mean 100%, 200 //Note 2: All rates are in percents, 100 would mean 100%, 200
// would mean 200%, etc // would mean 200%, etc
//Note 3: Value is not limited to 60K (see below) //Note 3: Value is not limited to 60K (see below)
//Note 4: Use bitmask values to specify who is affected //Note 4: Use bitmask values (add to build setting). When no bit values are given,
// (1: Pc, 2: Mob, 4: Pet, 8: Homonculus) // assume character types bits (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
// Other Information: // Other Information:
// All options are limited to a max of 60K (aprox) which is 600% // All options are limited to a max of 60K (aprox) which is 600%
// or 60secs as appropiate. // or 60secs as appropiate.

View File

@ -19,8 +19,8 @@
//Note 2: All rates are in percents, 100 would mean 100%, 200 //Note 2: All rates are in percents, 100 would mean 100%, 200
// would mean 200%, etc // would mean 200%, etc
//Note 3: Value is not limited to 60K (see below) //Note 3: Value is not limited to 60K (see below)
//Note 4: Use bitmask values to specify who is affected //Note 4: Use bitmask values (add to build setting). When no bit values are given,
// (1: Pc, 2: Mob, 4: Pet, 8: Homonculus) // assume character types bits (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
// Other Information: // Other Information:
// All options are limited to a max of 60K (aprox) which is 600% // All options are limited to a max of 60K (aprox) which is 600%
// or 60secs as appropiate. // or 60secs as appropiate.

View File

@ -19,8 +19,8 @@
//Note 2: All rates are in percents, 100 would mean 100%, 200 //Note 2: All rates are in percents, 100 would mean 100%, 200
// would mean 200%, etc // would mean 200%, etc
//Note 3: Value is not limited to 60K (see below) //Note 3: Value is not limited to 60K (see below)
//Note 4: Use bitmask values to specify who is affected //Note 4: Use bitmask values (add to build setting). When no bit values are given,
// (1: Pc, 2: Mob, 4: Pet, 8: Homonculus) // assume character types bits (1: Pc, 2: Mob, 4: Pet, 8: Homonculus)
// Other Information: // Other Information:
// All options are limited to a max of 60K (aprox) which is 600% // All options are limited to a max of 60K (aprox) which is 600%
// or 60secs as appropiate. // or 60secs as appropiate.

View File

@ -3308,6 +3308,9 @@ static int mob_readdb(void)
status->aspd_rate = 1000; status->aspd_rate = 1000;
status->adelay = atoi(str[27]); status->adelay = atoi(str[27]);
status->amotion = atoi(str[28]); 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]); status->dmotion=atoi(str[29]);
if(battle_config.monster_damage_delay_rate != 100) if(battle_config.monster_damage_delay_rate != 100)
status->dmotion = status->dmotion*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->aspd_rate = 1000;
status->adelay = TO_INT(27); status->adelay = TO_INT(27);
status->amotion = TO_INT(28); 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); status->dmotion = TO_INT(29);
if(battle_config.monster_damage_delay_rate != 100) if(battle_config.monster_damage_delay_rate != 100)
status->dmotion = status->dmotion*battle_config.monster_damage_delay_rate/100; status->dmotion = status->dmotion*battle_config.monster_damage_delay_rate/100;

View File

@ -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_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 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); 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) int skill_area_sub (struct block_list *bl, va_list ap)