- Updated the status change field "option" to an int rather than short. This fixes the option values for xmas/sightblaster not getting set, which could explain why some people crash when equipping weapons while in xmas suit.

- Also did the same to opt3 since the new packet version uses LONG to store the opt3 values.
- Made the clif weapon view function use the EQI constants instead of ints.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9337 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2006-11-27 21:32:32 +00:00
parent 83748da27b
commit 4fe7389fb0
4 changed files with 14 additions and 8 deletions

View File

@ -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/11/27
* Updated the status change field "option" to an int rather than short.
This fixes the option values for xmas/sightblaster not getting set, which
could explain why some people crash when equipping weapons while in xmas
suit. [Skotlex]
* Fixed the Homunculus hungry timer not starting on login. [Skotlex]
* Added logging for standard GM commands (/mm /b /kick etc) [KarLaeda]
* Some cleanups on the trade_additem function. When specifying a qty of 0,

View File

@ -219,7 +219,7 @@ struct mmo_charstatus {
short class_;
unsigned short status_point,skill_point;
int hp,max_hp,sp,max_sp;
unsigned short option;
unsigned int option;
short manner;
unsigned char karma;
short hair,hair_color,clothes_color;

View File

@ -871,9 +871,10 @@ void clif_get_weapon_view(TBL_PC* sd, unsigned short *rhand, unsigned short *lha
*rhand = sd->status.weapon;
*lhand = sd->status.shield;
#else
if (sd->equip_index[9] >= 0 && sd->inventory_data[sd->equip_index[9]])
if (sd->equip_index[EQI_HAND_R] >= 0 &&
sd->inventory_data[sd->equip_index[EQI_HAND_R]])
{
id = sd->inventory_data[sd->equip_index[9]];
id = sd->inventory_data[sd->equip_index[EQI_HAND_R]];
if (id->view_id > 0)
*rhand = id->view_id;
else
@ -881,10 +882,11 @@ void clif_get_weapon_view(TBL_PC* sd, unsigned short *rhand, unsigned short *lha
} else
*rhand = 0;
if (sd->equip_index[8] >= 0 && sd->equip_index[8] != sd->equip_index[9]
&& sd->inventory_data[sd->equip_index[8]])
if (sd->equip_index[EQI_HAND_L] >= 0 &&
sd->equip_index[EQI_HAND_L] != sd->equip_index[EQI_HAND_R] &&
sd->inventory_data[sd->equip_index[EQI_HAND_L]])
{
id = sd->inventory_data[sd->equip_index[8]];
id = sd->inventory_data[sd->equip_index[EQI_HAND_L]];
if (id->view_id > 0)
*lhand = id->view_id;
else

View File

@ -419,8 +419,8 @@ struct status_change_entry {
struct status_change {
struct status_change_entry data[MAX_STATUSCHANGE];
short count;
short opt1,opt2,opt3;
unsigned short option;
unsigned short opt1,opt2;
unsigned int opt3, option; //Note that older packet versions use short here.
};
struct vending {