update
git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@550 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
1875255699
commit
d774c37adc
@ -1,6 +1,17 @@
|
||||
Date Added
|
||||
12/13
|
||||
* Internal MAIL system: moved all strings to msg_athena.conf [Lupus]
|
||||
* Increased max skills to 650 from 450 fixing MANY crashes [MouseJstr]
|
||||
* Creating Guild events were reading beyond supplied guild names ,
|
||||
causing crashes [MouseJstr
|
||||
* trades were derefing -2 into the inventory table sometimes [MouseJstr]
|
||||
* Not having a arrow in your inventory but having a bow
|
||||
could cause it to set sd->status.inventory[-1].equip=32768
|
||||
resulting in a memory corruption [MouseJstr]
|
||||
* local broadcasts of messages larger then 64 bytes were
|
||||
corrupting the stack, causing crashes [MouseJstr]
|
||||
* mob eventnames were reading beyond source point, risking
|
||||
going over page boundries, causing crashes [MouseJstr]
|
||||
* Internal MAIL system: moved all strings to msg_athena.conf [Lupus]
|
||||
|
||||
12/12
|
||||
* Made guild skills to check for skill levels first when casting [celest]
|
||||
|
@ -29,7 +29,7 @@
|
||||
#define MAX_AMOUNT 30000
|
||||
#define MAX_ZENY 1000000000 // 1G zeny
|
||||
#define MAX_CART 100
|
||||
#define MAX_SKILL 450
|
||||
#define MAX_SKILL 650
|
||||
#define GLOBAL_REG_NUM 96
|
||||
#define ACCOUNT_REG_NUM 16
|
||||
#define ACCOUNT_REG2_NUM 16
|
||||
|
@ -275,7 +275,7 @@ int chat_createnpcchat(struct npc_data *nd,int limit,int pub,int trigger,char* t
|
||||
cd->trigger = trigger;
|
||||
cd->pub = pub;
|
||||
cd->users = 0;
|
||||
memcpy(cd->pass,"",8);
|
||||
memcpy(cd->pass,"",1);
|
||||
if(titlelen>=sizeof(cd->title)-1) titlelen=sizeof(cd->title)-1;
|
||||
memcpy(cd->title,title,titlelen);
|
||||
cd->title[titlelen]=0;
|
||||
@ -286,7 +286,7 @@ int chat_createnpcchat(struct npc_data *nd,int limit,int pub,int trigger,char* t
|
||||
cd->bl.type = BL_CHAT;
|
||||
cd->owner_ = (struct block_list *)nd;
|
||||
cd->owner = &cd->owner_;
|
||||
memcpy(cd->npc_event,ev,sizeof(cd->npc_event));
|
||||
memcpy(cd->npc_event,ev,strlen(ev));
|
||||
|
||||
cd->bl.id = map_addobject(&cd->bl);
|
||||
if(cd->bl.id==0){
|
||||
|
@ -9030,7 +9030,7 @@ void clif_parse_ResetChar(int fd, struct map_session_data *sd) {
|
||||
*------------------------------------------
|
||||
*/
|
||||
void clif_parse_LGMmessage(int fd, struct map_session_data *sd) {
|
||||
unsigned char buf[64];
|
||||
unsigned char buf[512];
|
||||
|
||||
nullpo_retv(sd);
|
||||
|
||||
|
@ -364,7 +364,7 @@ int guild_npc_request_info(int guild_id,const char *event)
|
||||
return guild_request_info(guild_id);
|
||||
|
||||
ev=(struct eventlist *)aCalloc(1,sizeof(struct eventlist));
|
||||
memcpy(ev->name,event,sizeof(ev->name));
|
||||
memcpy(ev->name,event,strlen(event));
|
||||
ev->next=(struct eventlist *)numdb_search(guild_infoevent_db,guild_id);
|
||||
numdb_insert(guild_infoevent_db,guild_id,ev);
|
||||
return guild_request_info(guild_id);
|
||||
|
@ -184,7 +184,7 @@ int mob_once_spawn(struct map_session_data *sd,char *mapname,
|
||||
md->spawndelay1=-1; // 一度のみフラグ
|
||||
md->spawndelay2=-1; // 一度のみフラグ
|
||||
|
||||
memcpy(md->npc_event,event,sizeof(md->npc_event));
|
||||
memcpy(md->npc_event,event,strlen(event));
|
||||
|
||||
md->bl.type=BL_MOB;
|
||||
map_addiddb(&md->bl);
|
||||
|
@ -2013,7 +2013,7 @@ static int npc_parse_mapflag(char *w1,char *w2,char *w3,char *w4)
|
||||
//マップフラグ
|
||||
if ( strcmpi(w3,"nosave")==0) {
|
||||
if (strcmp(w4,"SavePoint")==0) {
|
||||
memcpy(map[m].save.map,"SavePoint",16);
|
||||
memcpy(map[m].save.map,"SavePoint",10);
|
||||
map[m].save.x=-1;
|
||||
map[m].save.y=-1;
|
||||
}else if (sscanf(w4,"%[^,],%d,%d",savemap,&savex,&savey)==3) {
|
||||
|
@ -6762,7 +6762,7 @@ int pc_equipitem(struct map_session_data *sd,int n,int pos)
|
||||
clif_changelook(&sd->bl,LOOK_SHOES,0);
|
||||
|
||||
pc_checkallowskill(sd); // ?備品でスキルか解除されるかチェック
|
||||
if (itemdb_look(sd->status.inventory[n].nameid) == 11 && arrow){ // Added by RoVeRT
|
||||
if (itemdb_look(sd->status.inventory[n].nameid) == 11 && (arrow >= 0)){ // Added by RoVeRT
|
||||
clif_arrowequip(sd,arrow);
|
||||
sd->status.inventory[arrow].equip=32768;
|
||||
}
|
||||
|
@ -142,8 +142,8 @@ void trade_tradeok(struct map_session_data *sd)
|
||||
nullpo_retv(sd);
|
||||
|
||||
for(trade_i=0;trade_i<10;trade_i++) {
|
||||
if(sd->deal_item_amount[trade_i]>sd->status.inventory[sd->deal_item_index[trade_i]-2].amount ||
|
||||
sd->deal_item_amount[trade_i]<0) {
|
||||
int idx = sd->deal_item_index[trade_i]-2;
|
||||
if(((idx >= 0) && (sd->deal_item_amount[trade_i]>sd->status.inventory[idx].amount)) || sd->deal_item_amount[trade_i]<0) {
|
||||
trade_tradecancel(sd);
|
||||
return;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user