
* Bug Fixes bug:9338 * Now resend the list to map-server from char/inter-server to avoid "weird" item allocation on guild storage. Example, previously you will meet stacked item like GUID does, but it shouldn't! * Also will check the maximum amount that can be store in guild store. If guild storage is full (the slots or item stack limit is reach) the rest value/item will be dropped. * Account of kicked guild member won't be kicked from server anymore if the player idle on character select window (just prevents player to login when retriving items are in progress) * Delete guild bound items from guild master when guild is disbanded! Previously, the bound type just changed to NONE. Also for party bound item. * If kicked guild/party member is trading bound item when be kicked, the trade will be canceled! * If the guild member is being kicked when open guild storage, storage will be closed first waiting for next item retrieval. * Now when guild storage is opened, storage_status (changed the var to 'opened') will be used to hold char_id who opens it. Misc: * Cleanup guild storage prefix functions, changed them to "gstorage_*" * Added `picklog` type 'B' for logging deleted bound item because of kicked from guild/party. * Updated documentation for new used packet 0x3857 NOTE: Please import upgrade-20150103_log.sql Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
46 lines
2.1 KiB
C
46 lines
2.1 KiB
C
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
|
// For more information, see LICENCE in the main folder
|
|
|
|
#ifndef _STORAGE_H_
|
|
#define _STORAGE_H_
|
|
|
|
//#include "../common/mmo.h"
|
|
struct storage_data;
|
|
struct guild_storage;
|
|
struct item;
|
|
//#include "map.h"
|
|
struct map_session_data;
|
|
|
|
int storage_delitem(struct map_session_data* sd, int n, int amount);
|
|
int storage_storageopen(struct map_session_data *sd);
|
|
void storage_storageadd(struct map_session_data *sd,int index,int amount);
|
|
void storage_storageget(struct map_session_data *sd,int index,int amount);
|
|
void storage_storageaddfromcart(struct map_session_data *sd,int index,int amount);
|
|
void storage_storagegettocart(struct map_session_data *sd,int index,int amount);
|
|
void storage_storageclose(struct map_session_data *sd);
|
|
void storage_sortitem(struct item* items, unsigned int size);
|
|
void do_init_storage(void);
|
|
void do_final_storage(void);
|
|
void do_reconnect_storage(void);
|
|
void storage_storage_quit(struct map_session_data *sd, int flag);
|
|
|
|
struct guild_storage* gstorage_guild2storage(int guild_id);
|
|
struct guild_storage *gstorage_get_storage(int guild_id);
|
|
void gstorage_delete(int guild_id);
|
|
char gstorage_storageopen(struct map_session_data *sd);
|
|
bool gstorage_additem(struct map_session_data *sd,struct guild_storage *stor,struct item *item,int amount);
|
|
bool gstorage_additem2(struct guild_storage *stor, struct item *item, int amount);
|
|
bool gstorage_delitem(struct map_session_data *sd,struct guild_storage *stor,int n,int amount);
|
|
void gstorage_storageadd(struct map_session_data *sd,int index,int amount);
|
|
void gstorage_storageget(struct map_session_data *sd,int index,int amount);
|
|
void gstorage_storageaddfromcart(struct map_session_data *sd,int index,int amount);
|
|
void gstorage_storagegettocart(struct map_session_data *sd,int index,int amount);
|
|
void gstorage_storageclose(struct map_session_data *sd);
|
|
void gstorage_storage_quit(struct map_session_data *sd,int flag);
|
|
bool gstorage_storagesave(uint32 account_id, int guild_id, int flag);
|
|
void gstorage_storagesaved(int guild_id);
|
|
|
|
int compare_item(struct item *a, struct item *b);
|
|
|
|
#endif /* _STORAGE_H_ */
|