- Clones can't be class-changed now
- Readded the class == -1 distance check in npc_checknear - Replaced check sd->trade_partner for sd->state.trading in clif.c git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6356 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
020b35d68a
commit
552bc8752c
@ -4,6 +4,9 @@ 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/04/29
|
2006/04/29
|
||||||
|
* Clones can't be class-changed now [Skotlex]
|
||||||
|
* Readded the class == -1 distance check in npc_checknear [Skotlex]
|
||||||
|
* Replaced check sd->trade_partner for sd->state.trading in clif.c [Skotlex]
|
||||||
* Using malloc for memory allocations that doesn't need to be pre-initialized.
|
* Using malloc for memory allocations that doesn't need to be pre-initialized.
|
||||||
* Eliminated initializations for pointers returned by calloc.
|
* Eliminated initializations for pointers returned by calloc.
|
||||||
* Moved grfio_final to do_init since it's not used after server boot.
|
* Moved grfio_final to do_init since it's not used after server boot.
|
||||||
|
@ -2226,7 +2226,8 @@ static struct Damage battle_calc_weapon_attack(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sd && sd->classchange && tmd && !(t_mode&MD_BOSS) && !tmd->guardian_data && (tmd->class_ < 1324 || tmd->class_ > 1363) && (rand()%10000 < sd->classchange))
|
if(sd && sd->classchange && tmd && !(t_mode&MD_BOSS) && !tmd->guardian_data && (tmd->class_ < 1324 || tmd->class_ > 1363)
|
||||||
|
&& !mob_is_clone(tmd->class_) && (rand()%10000 < sd->classchange))
|
||||||
{ //Classchange:
|
{ //Classchange:
|
||||||
struct mob_db *mob;
|
struct mob_db *mob;
|
||||||
int k, class_;
|
int k, class_;
|
||||||
|
@ -9113,7 +9113,7 @@ void clif_parse_NpcClicked(int fd,struct map_session_data *sd)
|
|||||||
void clif_parse_NpcBuySellSelected(int fd,struct map_session_data *sd)
|
void clif_parse_NpcBuySellSelected(int fd,struct map_session_data *sd)
|
||||||
{
|
{
|
||||||
RFIFOHEAD(fd);
|
RFIFOHEAD(fd);
|
||||||
if (sd->trade_partner != 0)
|
if (sd->state.trading)
|
||||||
return;
|
return;
|
||||||
npc_buysellsel(sd,RFIFOL(fd,2),RFIFOB(fd,6));
|
npc_buysellsel(sd,RFIFOL(fd,2),RFIFOB(fd,6));
|
||||||
}
|
}
|
||||||
@ -9133,7 +9133,7 @@ void clif_parse_NpcBuyListSend(int fd,struct map_session_data *sd)
|
|||||||
n = (RFIFOW(fd,2)-4) /4;
|
n = (RFIFOW(fd,2)-4) /4;
|
||||||
item_list = (unsigned short*)RFIFOP(fd,4);
|
item_list = (unsigned short*)RFIFOP(fd,4);
|
||||||
|
|
||||||
if (sd->trade_partner || !sd->npc_shopid){
|
if (sd->state.trading|| !sd->npc_shopid){
|
||||||
fail = 1;
|
fail = 1;
|
||||||
}else{
|
}else{
|
||||||
if((nd = ((struct npc_data *)map_id2bl(sd->npc_shopid))->master_nd)){
|
if((nd = ((struct npc_data *)map_id2bl(sd->npc_shopid))->master_nd)){
|
||||||
@ -9171,7 +9171,7 @@ void clif_parse_NpcSellListSend(int fd,struct map_session_data *sd)
|
|||||||
n = (RFIFOW(fd,2)-4) /4;
|
n = (RFIFOW(fd,2)-4) /4;
|
||||||
item_list = (unsigned short*)RFIFOP(fd,4);
|
item_list = (unsigned short*)RFIFOP(fd,4);
|
||||||
|
|
||||||
if (sd->trade_partner || !sd->npc_shopid){
|
if (sd->state.trading|| !sd->npc_shopid){
|
||||||
fail = 1;
|
fail = 1;
|
||||||
}else{
|
}else{
|
||||||
if((nd = ((struct npc_data *)map_id2bl(sd->npc_shopid))->master_nd)){
|
if((nd = ((struct npc_data *)map_id2bl(sd->npc_shopid))->master_nd)){
|
||||||
@ -9787,7 +9787,7 @@ void clif_parse_AutoSpell(int fd,struct map_session_data *sd)
|
|||||||
void clif_parse_UseCard(int fd,struct map_session_data *sd)
|
void clif_parse_UseCard(int fd,struct map_session_data *sd)
|
||||||
{
|
{
|
||||||
RFIFOHEAD(fd);
|
RFIFOHEAD(fd);
|
||||||
if (sd->trade_partner != 0)
|
if (sd->state.trading!= 0)
|
||||||
return;
|
return;
|
||||||
clif_use_card(sd,RFIFOW(fd,2)-2);
|
clif_use_card(sd,RFIFOW(fd,2)-2);
|
||||||
}
|
}
|
||||||
@ -9798,7 +9798,7 @@ void clif_parse_UseCard(int fd,struct map_session_data *sd)
|
|||||||
void clif_parse_InsertCard(int fd,struct map_session_data *sd)
|
void clif_parse_InsertCard(int fd,struct map_session_data *sd)
|
||||||
{
|
{
|
||||||
RFIFOHEAD(fd);
|
RFIFOHEAD(fd);
|
||||||
if (sd->trade_partner != 0)
|
if (sd->state.trading!= 0)
|
||||||
return;
|
return;
|
||||||
pc_insert_card(sd,RFIFOW(fd,2)-2,RFIFOW(fd,4)-2);
|
pc_insert_card(sd,RFIFOW(fd,2)-2,RFIFOW(fd,4)-2);
|
||||||
}
|
}
|
||||||
|
@ -979,8 +979,8 @@ int npc_checknear(struct map_session_data *sd,int id)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//if (nd->class_<0) // イベント系は常にOK
|
if (nd->class_<0) // イベント系は常にOK
|
||||||
// return 0;
|
return 0;
|
||||||
|
|
||||||
// エリア判定
|
// エリア判定
|
||||||
if (nd->bl.m!=sd->bl.m ||
|
if (nd->bl.m!=sd->bl.m ||
|
||||||
|
Loading…
x
Reference in New Issue
Block a user