update
git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@779 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
095a938fb3
commit
2c64ba96d0
@ -1,5 +1,6 @@
|
||||
Date Added
|
||||
12/24
|
||||
* Fixed item-dup bug in storage and cart [MouseJstr]
|
||||
* @skilltree was looking outside of the particular class
|
||||
of the char to see if they could do a skill [MouseJstr]
|
||||
* Fixed a calc_skill_tree bug where too many skills were
|
||||
|
11
Dev/bugs.txt
11
Dev/bugs.txt
@ -55,17 +55,14 @@ Assigned: N/A
|
||||
Progress: 0%
|
||||
|
||||
Problem: Item duping bug in storage...
|
||||
Assigned: N/A
|
||||
Progress: 0%
|
||||
Assigned: MouseJstr
|
||||
Progress: 100%
|
||||
|
||||
Let's say you have 200 arrows and 100 Rosiotti arrow, you'll put 100 and 50 in storage
|
||||
And you should end when you log back in with 100 of each on you and 100 and 50 in storage
|
||||
Gain 50
|
||||
Repeat
|
||||
|
||||
Lupus: heh i fixid similiar bug in DELITEM script command. i think it's the same bug in other function
|
||||
so i'm in charge
|
||||
|
||||
Problem: ~40+ players connected.. and soon can't re-connect, they can enter password, but never see "select character" screen.
|
||||
Assigned: N/A
|
||||
Progress: 0%
|
||||
@ -150,5 +147,5 @@ Progress: 0%
|
||||
|
||||
Problem: When you have UNNAMED Arrows and Named Arrows in the storage and take some arrows then it change amount of other items.
|
||||
It happens because server doesn't recognize Named and Unnamed Stockable items (Elemental Gems, Iron, Steel, Holy Water, Arrows)
|
||||
Assigned: N/A
|
||||
Progress: 0%
|
||||
Assigned: MouseJstr
|
||||
Progress: 100%
|
||||
|
@ -2476,3 +2476,15 @@ int do_init(int argc, char *argv[]) {
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int compare_item(struct item *a, struct item *b) {
|
||||
return (
|
||||
(a->nameid == b->nameid) &&
|
||||
(a->identify == b->identify) &&
|
||||
(a->refine == b->refine) &&
|
||||
(a->attribute == b->attribute) &&
|
||||
(a->card[0] == b->card[0]) &&
|
||||
(a->card[1] == b->card[1]) &&
|
||||
(a->card[2] == b->card[2]) &&
|
||||
(a->card[3] == b->card[3]));
|
||||
}
|
||||
|
@ -695,6 +695,7 @@ void map_deliddb(struct block_list *bl);
|
||||
int map_foreachiddb(int (*)(void*,void*,va_list),...);
|
||||
void map_addnickdb(struct map_session_data *);
|
||||
struct map_session_data * map_nick2sd(char*);
|
||||
int compare_item(struct item *a, struct item *b);
|
||||
|
||||
// gatŠÖ˜A
|
||||
int map_getcell(int,int,int);
|
||||
|
@ -3213,9 +3213,7 @@ int pc_additem(struct map_session_data *sd,struct item *item_data,int amount)
|
||||
if(!itemdb_isequip2(data)){
|
||||
// ? 備品ではないので、?所有品なら個?のみ?化させる
|
||||
for(i=0;i<MAX_INVENTORY;i++)
|
||||
if(sd->status.inventory[i].nameid == item_data->nameid &&
|
||||
sd->status.inventory[i].card[0] == item_data->card[0] && sd->status.inventory[i].card[1] == item_data->card[1] &&
|
||||
sd->status.inventory[i].card[2] == item_data->card[2] && sd->status.inventory[i].card[3] == item_data->card[3]) {
|
||||
if(compare_item(&sd->status.inventory[i], item_data)) {
|
||||
if(sd->status.inventory[i].amount+amount > MAX_AMOUNT)
|
||||
return 5;
|
||||
sd->status.inventory[i].amount+=amount;
|
||||
@ -3450,9 +3448,7 @@ int pc_cart_additem(struct map_session_data *sd,struct item *item_data,int amoun
|
||||
if(!itemdb_isequip2(data)){
|
||||
// ? 備品ではないので、?所有品なら個?のみ?化させる
|
||||
for(i=0;i<MAX_CART;i++){
|
||||
if(sd->status.cart[i].nameid==item_data->nameid &&
|
||||
sd->status.cart[i].card[0] == item_data->card[0] && sd->status.cart[i].card[1] == item_data->card[1] &&
|
||||
sd->status.cart[i].card[2] == item_data->card[2] && sd->status.cart[i].card[3] == item_data->card[3]){
|
||||
if(compare_item(&sd->status.cart[i], item_data)) {
|
||||
if(sd->status.cart[i].amount+amount > MAX_AMOUNT)
|
||||
return 1;
|
||||
sd->status.cart[i].amount+=amount;
|
||||
|
@ -144,12 +144,7 @@ int storage_additem(struct map_session_data *sd,struct storage *stor,struct item
|
||||
if(!itemdb_isequip2(data)){
|
||||
// 装備品ではないので、既所有品なら個数のみ変化させる
|
||||
for(i=0;i<MAX_STORAGE;i++){
|
||||
if( stor->storage[i].nameid == item_data->nameid &&
|
||||
stor->storage[i].identify == item_data->identify &&
|
||||
stor->storage[i].refine == item_data->refine &&
|
||||
stor->storage[i].attribute == item_data->attribute &&
|
||||
stor->storage[i].card[0] == item_data->card[0] && stor->storage[i].card[1] == item_data->card[1] &&
|
||||
stor->storage[i].card[2] == item_data->card[2] && stor->storage[i].card[3] == item_data->card[3]){
|
||||
if( compare_item (&stor->storage[i], item_data)) {
|
||||
if(stor->storage[i].amount+amount > MAX_AMOUNT)
|
||||
return 1;
|
||||
stor->storage[i].amount+=amount;
|
||||
@ -434,9 +429,7 @@ int guild_storage_additem(struct map_session_data *sd,struct guild_storage *stor
|
||||
if(!itemdb_isequip2(data)){
|
||||
// 装備品ではないので、既所有品なら個数のみ変化させる
|
||||
for(i=0;i<MAX_GUILD_STORAGE;i++){
|
||||
if(stor->storage[i].nameid == item_data->nameid &&
|
||||
stor->storage[i].card[0] == item_data->card[0] && stor->storage[i].card[1] == item_data->card[1] &&
|
||||
stor->storage[i].card[2] == item_data->card[2] && stor->storage[i].card[3] == item_data->card[3]){
|
||||
if(compare_item(&stor->storage[i], item_data)) {
|
||||
if(stor->storage[i].amount+amount > MAX_AMOUNT)
|
||||
return 1;
|
||||
stor->storage[i].amount+=amount;
|
||||
|
Loading…
x
Reference in New Issue
Block a user