* 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:
parent
f91b018810
commit
103e46fdab
@ -3,6 +3,9 @@ Date Added
|
||||
2010/11/21
|
||||
* 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 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
|
||||
* 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]
|
||||
|
@ -8,6 +8,9 @@
|
||||
1475 Equestrian's Spear: 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
|
||||
* Rev. 14474 Item Database bugfixing. [L0ne_W0lf]
|
||||
- Fixed equip locations and view IDs for some headgears. (bugreport:4336)
|
||||
|
@ -487,6 +487,14 @@ RC_Boss 10
|
||||
RC_NonBoss 11
|
||||
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_MAGIC 0x0002
|
||||
BF_MISC 0x0004
|
||||
|
@ -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 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 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)
|
||||
|
||||
bonus2 bAddMonsterDropItemGroup,n,x; x% chance to get an item of group type n when you kill a monster
|
||||
|
@ -210,6 +210,17 @@ enum {
|
||||
RC_MAX
|
||||
};
|
||||
|
||||
enum {
|
||||
RC2_NONE = 0,
|
||||
RC2_GOBLIN,
|
||||
RC2_KOBOLD,
|
||||
RC2_ORC,
|
||||
RC2_GOLEM,
|
||||
RC2_GUARDIAN,
|
||||
RC2_NINJA,
|
||||
RC2_MAX
|
||||
};
|
||||
|
||||
enum {
|
||||
ELE_NEUTRAL=0,
|
||||
ELE_WATER,
|
||||
|
@ -4349,7 +4349,7 @@ static int mob_readdb_race(void)
|
||||
continue;
|
||||
|
||||
race=atoi(str[0]);
|
||||
if (race < 0 || race >= MAX_MOB_RACE_DB)
|
||||
if (race < RC2_NONE || race >= RC2_MAX)
|
||||
continue;
|
||||
|
||||
for (j=1; j<20; j++) {
|
||||
|
@ -12,7 +12,6 @@
|
||||
|
||||
|
||||
#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.
|
||||
// Be sure to note that IDs 4001 to 4048 are reserved for advanced/baby/expanded classes.
|
||||
|
@ -27,7 +27,6 @@
|
||||
#include "homunculus.h"
|
||||
#include "instance.h"
|
||||
#include "mercenary.h"
|
||||
#include "mob.h" // MAX_MOB_RACE_DB
|
||||
#include "npc.h" // fake_nd
|
||||
#include "pet.h" // pet_unlocktarget()
|
||||
#include "party.h" // party_search()
|
||||
@ -2741,7 +2740,7 @@ int pc_bonus2(struct map_session_data *sd,int type,int type2,int val)
|
||||
}
|
||||
break;
|
||||
case SP_ADDRACE2:
|
||||
if (!(type2 > 0 && type2 < MAX_MOB_RACE_DB))
|
||||
if (!(type2 > RC2_NONE && type2 < RC2_MAX))
|
||||
break;
|
||||
if(sd->state.lr_flag != 2)
|
||||
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;
|
||||
break;
|
||||
case SP_SUBRACE2:
|
||||
if (!(type2 > RC2_NONE && type2 < RC2_MAX))
|
||||
break;
|
||||
if(sd->state.lr_flag != 2)
|
||||
sd->subrace2[type2]+=val;
|
||||
break;
|
||||
|
@ -31,7 +31,7 @@ struct weapon_data {
|
||||
int def_ratio_atk_race;
|
||||
int addele[ELE_MAX];
|
||||
int addrace[RC_MAX];
|
||||
int addrace2[RC_MAX];
|
||||
int addrace2[RC2_MAX];
|
||||
int addsize[3];
|
||||
|
||||
struct drain_data {
|
||||
@ -219,7 +219,7 @@ struct map_session_data {
|
||||
int param_bonus[6],param_equip[6]; //Stores card/equipment bonuses.
|
||||
int subele[ELE_MAX];
|
||||
int subrace[RC_MAX];
|
||||
int subrace2[RC_MAX];
|
||||
int subrace2[RC2_MAX];
|
||||
int subsize[3];
|
||||
int reseff[SC_COMMON_MAX-SC_COMMON_MIN+1];
|
||||
int weapon_coma_ele[ELE_MAX];
|
||||
|
Loading…
x
Reference in New Issue
Block a user