* Added enumeration RC2_* for mob data 'race2' (bugreport:4561).

- Fixed race2-related bonus arrays using RC_MAX, rather than race2 maximum (since r6221, related r1277).
- Fixed bSubRace2 lacking bounds check (since r1257).
- Fixed bSubRace2 being documented as bSPSubRace2 (since r1257).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14480 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
ai4rei 2010-11-21 16:20:26 +00:00
parent f91b018810
commit 103e46fdab
9 changed files with 32 additions and 7 deletions

View File

@ -3,6 +3,9 @@ Date Added
2010/11/21 2010/11/21
* Added msinttypes (rev. 26, http://msinttypes.googlecode.com/svn/trunk/) portability framework for Visual C++ compilers (related bugreport:4059). [Ai4rei] * Added msinttypes (rev. 26, http://msinttypes.googlecode.com/svn/trunk/) portability framework for Visual C++ compilers (related bugreport:4059). [Ai4rei]
* Added 64-bit variants of the socket and buffer I/O macros. [Ai4rei] * Added 64-bit variants of the socket and buffer I/O macros. [Ai4rei]
* Added enumeration RC2_* for mob data 'race2' (bugreport:4561). [Ai4rei]
- Fixed race2-related bonus arrays using RC_MAX, rather than race2 maximum (since r6221, related r1277).
- Fixed bSubRace2 lacking bounds check (since r1257).
2010/11/20 2010/11/20
* Fixed @doom and @doommap spamming packets for the visual effect on invoker unnecessarily over whole map and server respectively. The effect is now displayed on each killed character (bugreport:871, since r311). [Ai4rei] * Fixed @doom and @doommap spamming packets for the visual effect on invoker unnecessarily over whole map and server respectively. The effect is now displayed on each killed character (bugreport:871, since r311). [Ai4rei]
* Fixed login-server account engine initialization not getting checked, whether it succeeds or not (bugreport:4361, since r12700, related r13000). [Ai4rei] * Fixed login-server account engine initialization not getting checked, whether it succeeds or not (bugreport:4361, since r12700, related r13000). [Ai4rei]

View File

@ -8,6 +8,9 @@
1475 Equestrian's Spear: NEED INFO. 1475 Equestrian's Spear: NEED INFO.
13005 Angelic Wing Dagger: NEED INFO. 13005 Angelic Wing Dagger: NEED INFO.
======================= =======================
2010/11/21
* Rev. 14480 Added enumeration RC2_* to const.txt for mob data 'race2' (bugreport:4561). [Ai4rei]
- Fixed bSubRace2 being documented as bSPSubRace2 (since r1257).
2010/11/19 2010/11/19
* Rev. 14474 Item Database bugfixing. [L0ne_W0lf] * Rev. 14474 Item Database bugfixing. [L0ne_W0lf]
- Fixed equip locations and view IDs for some headgears. (bugreport:4336) - Fixed equip locations and view IDs for some headgears. (bugreport:4336)

View File

@ -487,6 +487,14 @@ RC_Boss 10
RC_NonBoss 11 RC_NonBoss 11
RC_NonDemiHuman 12 RC_NonDemiHuman 12
RC2_None 0
RC2_Goblin 1
RC2_Kobold 2
RC2_Orc 3
RC2_Golem 4
RC2_Guardian 5
RC2_Ninja 6
BF_WEAPON 0x0001 BF_WEAPON 0x0001
BF_MAGIC 0x0002 BF_MAGIC 0x0002
BF_MISC 0x0004 BF_MISC 0x0004

View File

@ -285,7 +285,7 @@ bonus2 bSPRegenRate,n,x; Gain n SP every x milliseconds
bonus2 bSPLossRate,n,x; Lose n SP every x milliseconds bonus2 bSPLossRate,n,x; Lose n SP every x milliseconds
bonus2 bExpAddRace,n,x; Increase exp gained by x% vs. enemies of race n bonus2 bExpAddRace,n,x; Increase exp gained by x% vs. enemies of race n
bonus2 bSPGainRace,n,x; When killing a monster of race n by physical attack gain x amount of sp bonus2 bSPGainRace,n,x; When killing a monster of race n by physical attack gain x amount of sp
bonus2 bSPSubRace2,n,x; Damage x% reduction from enemies of race n bonus2 bSubRace2,n,x; Damage x% reduction from enemies of race n
(Check db/mob_race2_db.txt) (Check db/mob_race2_db.txt)
bonus2 bAddMonsterDropItemGroup,n,x; x% chance to get an item of group type n when you kill a monster bonus2 bAddMonsterDropItemGroup,n,x; x% chance to get an item of group type n when you kill a monster

View File

@ -210,6 +210,17 @@ enum {
RC_MAX RC_MAX
}; };
enum {
RC2_NONE = 0,
RC2_GOBLIN,
RC2_KOBOLD,
RC2_ORC,
RC2_GOLEM,
RC2_GUARDIAN,
RC2_NINJA,
RC2_MAX
};
enum { enum {
ELE_NEUTRAL=0, ELE_NEUTRAL=0,
ELE_WATER, ELE_WATER,

View File

@ -4349,7 +4349,7 @@ static int mob_readdb_race(void)
continue; continue;
race=atoi(str[0]); race=atoi(str[0]);
if (race < 0 || race >= MAX_MOB_RACE_DB) if (race < RC2_NONE || race >= RC2_MAX)
continue; continue;
for (j=1; j<20; j++) { for (j=1; j<20; j++) {

View File

@ -12,7 +12,6 @@
#define MAX_RANDOMMONSTER 4 #define MAX_RANDOMMONSTER 4
#define MAX_MOB_RACE_DB 6
// Change this to increase the table size in your mob_db to accomodate a larger mob database. // Change this to increase the table size in your mob_db to accomodate a larger mob database.
// Be sure to note that IDs 4001 to 4048 are reserved for advanced/baby/expanded classes. // Be sure to note that IDs 4001 to 4048 are reserved for advanced/baby/expanded classes.

View File

@ -27,7 +27,6 @@
#include "homunculus.h" #include "homunculus.h"
#include "instance.h" #include "instance.h"
#include "mercenary.h" #include "mercenary.h"
#include "mob.h" // MAX_MOB_RACE_DB
#include "npc.h" // fake_nd #include "npc.h" // fake_nd
#include "pet.h" // pet_unlocktarget() #include "pet.h" // pet_unlocktarget()
#include "party.h" // party_search() #include "party.h" // party_search()
@ -2741,7 +2740,7 @@ int pc_bonus2(struct map_session_data *sd,int type,int type2,int val)
} }
break; break;
case SP_ADDRACE2: case SP_ADDRACE2:
if (!(type2 > 0 && type2 < MAX_MOB_RACE_DB)) if (!(type2 > RC2_NONE && type2 < RC2_MAX))
break; break;
if(sd->state.lr_flag != 2) if(sd->state.lr_flag != 2)
sd->right_weapon.addrace2[type2] += val; sd->right_weapon.addrace2[type2] += val;
@ -2753,6 +2752,8 @@ int pc_bonus2(struct map_session_data *sd,int type,int type2,int val)
sd->subsize[type2]+=val; sd->subsize[type2]+=val;
break; break;
case SP_SUBRACE2: case SP_SUBRACE2:
if (!(type2 > RC2_NONE && type2 < RC2_MAX))
break;
if(sd->state.lr_flag != 2) if(sd->state.lr_flag != 2)
sd->subrace2[type2]+=val; sd->subrace2[type2]+=val;
break; break;

View File

@ -31,7 +31,7 @@ struct weapon_data {
int def_ratio_atk_race; int def_ratio_atk_race;
int addele[ELE_MAX]; int addele[ELE_MAX];
int addrace[RC_MAX]; int addrace[RC_MAX];
int addrace2[RC_MAX]; int addrace2[RC2_MAX];
int addsize[3]; int addsize[3];
struct drain_data { struct drain_data {
@ -219,7 +219,7 @@ struct map_session_data {
int param_bonus[6],param_equip[6]; //Stores card/equipment bonuses. int param_bonus[6],param_equip[6]; //Stores card/equipment bonuses.
int subele[ELE_MAX]; int subele[ELE_MAX];
int subrace[RC_MAX]; int subrace[RC_MAX];
int subrace2[RC_MAX]; int subrace2[RC2_MAX];
int subsize[3]; int subsize[3];
int reseff[SC_COMMON_MAX-SC_COMMON_MIN+1]; int reseff[SC_COMMON_MAX-SC_COMMON_MIN+1];
int weapon_coma_ele[ELE_MAX]; int weapon_coma_ele[ELE_MAX];