* Cleaned/clarified some #include relationships between headers
* Changed clif_sitting() to use 'bl' instead of 'sd' (for non-player objects) * Removed way messed-up script function 'unitdeadsit' * Tagged 'FIXME' lines written by myself git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11040 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
08e0cee902
commit
0072a0189e
@ -4,7 +4,8 @@ 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.
|
||||||
|
|
||||||
2007/08/19
|
2007/08/19
|
||||||
* Added 'noteleport' mapflags to Dandelion's request maps. [SinSloth]
|
* Cleaned/clarified some #include relationships between headers
|
||||||
|
- TODO: pc_read_gm_account() still accessses the RFIFO directly!
|
||||||
* Again removed the IG_ list from itemdb.h (see r10100 and r10113)
|
* Again removed the IG_ list from itemdb.h (see r10100 and r10113)
|
||||||
2007/08/18
|
2007/08/18
|
||||||
* Fixed a deallocation mistake and some buffer overflows in npc_chat.c
|
* Fixed a deallocation mistake and some buffer overflows in npc_chat.c
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
Date Added
|
Date Added
|
||||||
|
|
||||||
|
2007/08/19
|
||||||
|
* Added 'noteleport' mapflags to Dandelion's request maps. [SinSloth]
|
||||||
2007/08/15
|
2007/08/15
|
||||||
* Removed useless 'party_skill_penalty' config option
|
* Removed useless 'party_skill_penalty' config option
|
||||||
* Removed 'Note 3' & 'Other information' since it doesn't apply anymore
|
* Removed 'Note 3' & 'Other information' since it doesn't apply anymore
|
||||||
|
@ -1,11 +1,6 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#include "../common/cbasetypes.h"
|
#include "../common/cbasetypes.h"
|
||||||
#include "../common/mmo.h"
|
#include "../common/mmo.h"
|
||||||
#include "../common/timer.h"
|
#include "../common/timer.h"
|
||||||
@ -42,6 +37,11 @@
|
|||||||
#include "mail.h"
|
#include "mail.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
char atcommand_symbol = '@'; // first char of the commands (by [Yor])
|
char atcommand_symbol = '@'; // first char of the commands (by [Yor])
|
||||||
|
|
||||||
char *msg_table[MAX_MSG]; // Server messages (0-499 reserved for GM commands, 500-999 reserved for others)
|
char *msg_table[MAX_MSG]; // Server messages (0-499 reserved for GM commands, 500-999 reserved for others)
|
||||||
|
@ -10,7 +10,8 @@
|
|||||||
//Note: The range is unlimited unless this define is set.
|
//Note: The range is unlimited unless this define is set.
|
||||||
//#define AUTOLOOT_DISTANCE AREA_SIZE
|
//#define AUTOLOOT_DISTANCE AREA_SIZE
|
||||||
|
|
||||||
#include "map.h"
|
//#include "map.h"
|
||||||
|
struct map_session_data;
|
||||||
|
|
||||||
enum AtCommandType {
|
enum AtCommandType {
|
||||||
AtCommand_None = -1,
|
AtCommand_None = -1,
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
|
|
||||||
int attr_fix_table[4][ELE_MAX][ELE_MAX];
|
int attr_fix_table[4][ELE_MAX][ELE_MAX];
|
||||||
|
|
||||||
struct Battle_Config battle_config;
|
struct Battle_Config battle_config;
|
||||||
|
@ -1,11 +1,6 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#include "../common/cbasetypes.h"
|
#include "../common/cbasetypes.h"
|
||||||
#include "../common/socket.h"
|
#include "../common/socket.h"
|
||||||
#include "../common/timer.h"
|
#include "../common/timer.h"
|
||||||
@ -34,6 +29,11 @@
|
|||||||
#include "trade.h"
|
#include "trade.h"
|
||||||
#include "unit.h"
|
#include "unit.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
char charcommand_symbol = '#';
|
char charcommand_symbol = '#';
|
||||||
|
|
||||||
extern char *msg_table[1000]; // Server messages (0-499 reserved for GM commands, 500-999 reserved for others)
|
extern char *msg_table[1000]; // Server messages (0-499 reserved for GM commands, 500-999 reserved for others)
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
int chat_triggerevent(struct chat_data *cd); // forward declaration
|
int chat_triggerevent(struct chat_data *cd); // forward declaration
|
||||||
|
|
||||||
/// Initializes a chatroom object (common functionality for both pc and npc chatrooms).
|
/// Initializes a chatroom object (common functionality for both pc and npc chatrooms).
|
||||||
|
@ -320,7 +320,7 @@ int chrif_changemapserverack(int account_id, int login_id1, int login_id2, int c
|
|||||||
if (sd == NULL || sd->status.char_id != char_id)
|
if (sd == NULL || sd->status.char_id != char_id)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (login_id1 == 1) { //FIXME: charserver says '0'!
|
if (login_id1 == 1) { //FIXME: charserver says '0'! [ultramage]
|
||||||
if (battle_config.error_log)
|
if (battle_config.error_log)
|
||||||
ShowError("map server change failed.\n");
|
ShowError("map server change failed.\n");
|
||||||
clif_authfail_fd(sd->fd, 0);
|
clif_authfail_fd(sd->fd, 0);
|
||||||
@ -507,6 +507,7 @@ int auth_db_cleanup(int tid, unsigned int tick, int id, int data)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*==========================================
|
/*==========================================
|
||||||
*
|
*
|
||||||
*------------------------------------------*/
|
*------------------------------------------*/
|
||||||
@ -929,7 +930,8 @@ int chrif_reloadGMdb(void)
|
|||||||
*------------------------------------------*/
|
*------------------------------------------*/
|
||||||
int chrif_recvgmaccounts(int fd)
|
int chrif_recvgmaccounts(int fd)
|
||||||
{
|
{
|
||||||
ShowInfo("From login-server: receiving information of '"CL_WHITE"%d"CL_RESET"' GM accounts.\n", pc_read_gm_account(fd));
|
int nAccounts = pc_read_gm_account(fd);
|
||||||
|
ShowInfo("From login-server: receiving information of '"CL_WHITE"%d"CL_RESET"' GM accounts.\n", nAccounts);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1288,6 +1290,8 @@ int chrif_parse(int fd)
|
|||||||
if ((int)RFIFOREST(fd) < packet_len)
|
if ((int)RFIFOREST(fd) < packet_len)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
//ShowDebug("Received packet 0x%4x (%d bytes) from char-server (connection %d)\n", RFIFOW(fd,0), packet_len, fd);
|
||||||
|
|
||||||
switch(cmd)
|
switch(cmd)
|
||||||
{
|
{
|
||||||
case 0x2af9: chrif_connectack(fd); break;
|
case 0x2af9: chrif_connectack(fd); break;
|
||||||
|
@ -711,7 +711,7 @@ int clif_clearunit_delayed(struct block_list* bl, unsigned int tick)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void clif_get_weapon_view(TBL_PC* sd, unsigned short *rhand, unsigned short *lhand)
|
void clif_get_weapon_view(struct map_session_data* sd, unsigned short *rhand, unsigned short *lhand)
|
||||||
{
|
{
|
||||||
#if PACKETVER > 3
|
#if PACKETVER > 3
|
||||||
struct item_data *id;
|
struct item_data *id;
|
||||||
@ -895,9 +895,9 @@ static int clif_set0078(struct block_list* bl, unsigned char* buf)
|
|||||||
WBUFW(buf,42)=sc->opt3;
|
WBUFW(buf,42)=sc->opt3;
|
||||||
}
|
}
|
||||||
WBUFW(buf,14)=vd->class_;
|
WBUFW(buf,14)=vd->class_;
|
||||||
WBUFW(buf,16)=vd->hair_style; //Required for pets (removes attack cursor)
|
WBUFW(buf,16)=vd->hair_style; //Required for pets (removes attack cursor)
|
||||||
//18W: Weapon
|
//18W: Weapon
|
||||||
WBUFW(buf,20)=vd->head_bottom; //Pet armor (ignored by client)
|
WBUFW(buf,20)=vd->head_bottom; //Pet armor (ignored by client)
|
||||||
if (bl->type == BL_NPC && vd->class_ == FLAG_CLASS)
|
if (bl->type == BL_NPC && vd->class_ == FLAG_CLASS)
|
||||||
{ //The hell, why flags work like this?
|
{ //The hell, why flags work like this?
|
||||||
WBUFL(buf,22)=emblem_id;
|
WBUFL(buf,22)=emblem_id;
|
||||||
@ -1068,7 +1068,7 @@ static int clif_set007b(struct block_list *bl, struct view_data *vd, struct unit
|
|||||||
WBUFW(buf,16)=vd->class_;
|
WBUFW(buf,16)=vd->class_;
|
||||||
WBUFW(buf,18)=vd->hair_style; //Required for pets (removes attack cursor)
|
WBUFW(buf,18)=vd->hair_style; //Required for pets (removes attack cursor)
|
||||||
//20L: Weapon/Shield
|
//20L: Weapon/Shield
|
||||||
WBUFW(buf,24)=vd->head_bottom; //Pet armor
|
WBUFW(buf,24)=vd->head_bottom; //Pet armor
|
||||||
WBUFL(buf,26)=gettick();
|
WBUFL(buf,26)=gettick();
|
||||||
//30W: Head top
|
//30W: Head top
|
||||||
//32W: Head mid
|
//32W: Head mid
|
||||||
@ -1098,7 +1098,7 @@ static int clif_set007b(struct block_list *bl, struct view_data *vd, struct unit
|
|||||||
WBUFW(buf,46)=sc->opt3;
|
WBUFW(buf,46)=sc->opt3;
|
||||||
}
|
}
|
||||||
WBUFW(buf,14)=vd->class_;
|
WBUFW(buf,14)=vd->class_;
|
||||||
WBUFW(buf,16)=vd->hair_style; //For pets (disables mob attack cursor)
|
WBUFW(buf,16)=vd->hair_style; //Required for pets (removes attack cursor)
|
||||||
//18W: Weapon
|
//18W: Weapon
|
||||||
WBUFW(buf,20)=vd->head_bottom; //Pet armor
|
WBUFW(buf,20)=vd->head_bottom; //Pet armor
|
||||||
WBUFL(buf,22)=gettick();
|
WBUFL(buf,22)=gettick();
|
||||||
@ -1315,10 +1315,9 @@ int clif_spawn(struct block_list *bl)
|
|||||||
WBUFW(buf,10)=sc->opt2;
|
WBUFW(buf,10)=sc->opt2;
|
||||||
WBUFW(buf,12)=sc->option;
|
WBUFW(buf,12)=sc->option;
|
||||||
}
|
}
|
||||||
WBUFW(buf,14)=vd->hair_style; //For pets (disables mob attack cursor)
|
WBUFW(buf,14)=vd->hair_style; //Required for pets (removes attack cursor)
|
||||||
//14W: Hair Style
|
|
||||||
//16W: Weapon
|
//16W: Weapon
|
||||||
WBUFW(buf,18)=vd->head_bottom; //Pet armor (ignored by client)
|
WBUFW(buf,18)=vd->head_bottom; //Pet armor (ignored by client)
|
||||||
WBUFW(buf,20)=vd->class_;
|
WBUFW(buf,20)=vd->class_;
|
||||||
//22W: Shield
|
//22W: Shield
|
||||||
//24W: Head top
|
//24W: Head top
|
||||||
@ -1364,7 +1363,7 @@ int clif_spawn(struct block_list *bl)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BL_PET:
|
case BL_PET:
|
||||||
if (vd->head_bottom) //Pet armor display fix.
|
if (vd->head_bottom)
|
||||||
clif_pet_equip_area((TBL_PET*)bl); // needed to display pet equip properly
|
clif_pet_equip_area((TBL_PET*)bl); // needed to display pet equip properly
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -3713,7 +3712,7 @@ void clif_getareachar_unit(struct map_session_data* sd,struct block_list *bl)
|
|||||||
clif_refreshlook(&sd->bl,bl->id,LOOK_CLOTHES_COLOR,vd->cloth_color,SELF);
|
clif_refreshlook(&sd->bl,bl->id,LOOK_CLOTHES_COLOR,vd->cloth_color,SELF);
|
||||||
|
|
||||||
switch (bl->type)
|
switch (bl->type)
|
||||||
{ // FIXME: 'AREA' causes unneccessary spam since this should be 1:1 communication
|
{ // FIXME: 'AREA' causes unneccessary spam since this should be 1:1 communication [ultramage]
|
||||||
case BL_PC:
|
case BL_PC:
|
||||||
{
|
{
|
||||||
TBL_PC* tsd = (TBL_PC*)bl;
|
TBL_PC* tsd = (TBL_PC*)bl;
|
||||||
@ -3740,8 +3739,8 @@ void clif_getareachar_unit(struct map_session_data* sd,struct block_list *bl)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BL_PET:
|
case BL_PET:
|
||||||
if (vd->head_bottom) //Pet armor display fix.
|
if (vd->head_bottom)
|
||||||
clif_pet_equip(sd, (TBL_PET*)bl);
|
clif_pet_equip(sd, (TBL_PET*)bl); // needed to display pet equip properly
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3858,42 +3857,40 @@ void clif_takeitem(struct block_list* src, struct block_list* dst)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*==========================================
|
/*==========================================
|
||||||
* inform clients in area that `sd` is sitting
|
* inform clients in area that `bl` is sitting
|
||||||
*------------------------------------------*/
|
*------------------------------------------*/
|
||||||
void clif_sitting(struct map_session_data* sd)
|
void clif_sitting(struct block_list* bl)
|
||||||
{
|
{
|
||||||
unsigned char buf[32];
|
unsigned char buf[32];
|
||||||
|
nullpo_retv(bl);
|
||||||
nullpo_retv(sd);
|
|
||||||
|
|
||||||
WBUFW(buf, 0) = 0x8a;
|
WBUFW(buf, 0) = 0x8a;
|
||||||
WBUFL(buf, 2) = sd->bl.id;
|
WBUFL(buf, 2) = bl->id;
|
||||||
WBUFB(buf,26) = 2;
|
WBUFB(buf,26) = 2;
|
||||||
clif_send(buf, packet_len(0x8a), &sd->bl, AREA);
|
clif_send(buf, packet_len(0x8a), bl, AREA);
|
||||||
|
|
||||||
if(disguised(&sd->bl)) {
|
if(disguised(bl)) {
|
||||||
WBUFL(buf, 2) = -sd->bl.id;
|
WBUFL(buf, 2) = - bl->id;
|
||||||
clif_send(buf, packet_len(0x8a), &sd->bl, SELF);
|
clif_send(buf, packet_len(0x8a), bl, SELF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*==========================================
|
/*==========================================
|
||||||
* inform clients in area that `sd` is standing
|
* inform clients in area that `bl` is standing
|
||||||
*------------------------------------------*/
|
*------------------------------------------*/
|
||||||
void clif_standing(struct map_session_data* sd)
|
void clif_standing(struct block_list* bl)
|
||||||
{
|
{
|
||||||
unsigned char buf[32];
|
unsigned char buf[32];
|
||||||
|
nullpo_retv(bl);
|
||||||
nullpo_retv(sd);
|
|
||||||
|
|
||||||
WBUFW(buf, 0) = 0x8a;
|
WBUFW(buf, 0) = 0x8a;
|
||||||
WBUFL(buf, 2) = sd->bl.id;
|
WBUFL(buf, 2) = bl->id;
|
||||||
WBUFB(buf,26) = 3;
|
WBUFB(buf,26) = 3;
|
||||||
clif_send(buf, packet_len(0x8a), &sd->bl, AREA);
|
clif_send(buf, packet_len(0x8a), bl, AREA);
|
||||||
|
|
||||||
if(disguised(&sd->bl)) {
|
if(disguised(bl)) {
|
||||||
WBUFL(buf, 2) = -sd->bl.id;
|
WBUFL(buf, 2) = - bl->id;
|
||||||
clif_send(buf, packet_len(0x8a), &sd->bl, SELF);
|
clif_send(buf, packet_len(0x8a), bl, SELF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6115,7 +6112,7 @@ int clif_sendegg(struct map_session_data *sd)
|
|||||||
* type = 5 -> param = hairstyle number
|
* type = 5 -> param = hairstyle number
|
||||||
* If sd is null, the update is sent to nearby objects, otherwise it is sent only to that player.
|
* If sd is null, the update is sent to nearby objects, otherwise it is sent only to that player.
|
||||||
*------------------------------------------*/
|
*------------------------------------------*/
|
||||||
int clif_send_petdata(struct map_session_data *sd, struct pet_data* pd, int type, int param)
|
int clif_send_petdata(struct map_session_data* sd, struct pet_data* pd, int type, int param)
|
||||||
{
|
{
|
||||||
uint8 buf[16];
|
uint8 buf[16];
|
||||||
nullpo_retr(0, pd);
|
nullpo_retr(0, pd);
|
||||||
@ -8675,7 +8672,7 @@ void clif_parse_ActionRequest_sub(struct map_session_data *sd, int action_type,
|
|||||||
|
|
||||||
if(pc_issit(sd)) {
|
if(pc_issit(sd)) {
|
||||||
//Bugged client? Just refresh them.
|
//Bugged client? Just refresh them.
|
||||||
clif_sitting(sd);
|
clif_sitting(&sd->bl);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -8690,17 +8687,17 @@ void clif_parse_ActionRequest_sub(struct map_session_data *sd, int action_type,
|
|||||||
|
|
||||||
pc_setsit(sd);
|
pc_setsit(sd);
|
||||||
skill_sit(sd,1);
|
skill_sit(sd,1);
|
||||||
clif_sitting(sd);
|
clif_sitting(&sd->bl);
|
||||||
break;
|
break;
|
||||||
case 0x03: // standup
|
case 0x03: // standup
|
||||||
if (!pc_issit(sd)) {
|
if (!pc_issit(sd)) {
|
||||||
//Bugged client? Just refresh them.
|
//Bugged client? Just refresh them.
|
||||||
clif_standing(sd);
|
clif_standing(&sd->bl);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
pc_setstand(sd);
|
pc_setstand(sd);
|
||||||
skill_sit(sd,0);
|
skill_sit(sd,0);
|
||||||
clif_standing(sd);
|
clif_standing(&sd->bl);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -10834,7 +10831,7 @@ void clif_parse_PMIgnore(int fd, struct map_session_data *sd)
|
|||||||
WFIFOSET(fd, packet_len(0x0d1));
|
WFIFOSET(fd, packet_len(0x0d1));
|
||||||
|
|
||||||
//Sort the ignore list.
|
//Sort the ignore list.
|
||||||
//FIXME: why not just use a simple shift-and-insert scheme instead?
|
//FIXME: why not just use a simple shift-and-insert scheme instead? [ultramage]
|
||||||
qsort (sd->ignore[0].name, MAX_IGNORE_LIST, sizeof(sd->ignore[0].name), pstrcmp);
|
qsort (sd->ignore[0].name, MAX_IGNORE_LIST, sizeof(sd->ignore[0].name), pstrcmp);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -4,7 +4,16 @@
|
|||||||
#ifndef _CLIF_H_
|
#ifndef _CLIF_H_
|
||||||
#define _CLIF_H_
|
#define _CLIF_H_
|
||||||
|
|
||||||
#include "map.h"
|
#include "../common/cbasetypes.h"
|
||||||
|
//#include "../common/mmo.h"
|
||||||
|
struct storage;
|
||||||
|
struct guild_storage;
|
||||||
|
//#include "map.h"
|
||||||
|
struct block_list;
|
||||||
|
struct map_session_data;
|
||||||
|
struct homun_data;
|
||||||
|
struct unit_data;
|
||||||
|
struct flooritem_data;
|
||||||
|
|
||||||
// server->client protocol version
|
// server->client protocol version
|
||||||
// v7 - 2005-04-11aSakexe+ - 0x229, 0x22a, 0x22b, 0x22c
|
// v7 - 2005-04-11aSakexe+ - 0x229, 0x22a, 0x22b, 0x22c
|
||||||
@ -102,8 +111,8 @@ int clif_updatestatus(struct map_session_data*,int); //self
|
|||||||
int clif_changestatus(struct block_list*,int,int); //area
|
int clif_changestatus(struct block_list*,int,int); //area
|
||||||
int clif_damage(struct block_list* src,struct block_list *dst,unsigned int tick,int sdelay,int ddelay,int damage,int div,int type,int damage2); // area
|
int clif_damage(struct block_list* src,struct block_list *dst,unsigned int tick,int sdelay,int ddelay,int damage,int div,int type,int damage2); // area
|
||||||
void clif_takeitem(struct block_list* src,struct block_list* dst);
|
void clif_takeitem(struct block_list* src,struct block_list* dst);
|
||||||
void clif_sitting(struct map_session_data* sd);
|
void clif_sitting(struct block_list* bl);
|
||||||
void clif_standing(struct map_session_data* sd);
|
void clif_standing(struct block_list* bl);
|
||||||
int clif_changelook(struct block_list *,int,int); // area
|
int clif_changelook(struct block_list *,int,int); // area
|
||||||
void clif_changetraplook(struct block_list *bl,int val); // area
|
void clif_changetraplook(struct block_list *bl,int val); // area
|
||||||
void clif_refreshlook(struct block_list *bl,int id,int type,int val,int area); //area specified in 'area'
|
void clif_refreshlook(struct block_list *bl,int id,int type,int val,int area); //area specified in 'area'
|
||||||
@ -346,7 +355,7 @@ int clif_timedout(struct map_session_data *sd);
|
|||||||
|
|
||||||
int clif_disp_overhead(struct map_session_data *sd, const char* mes);
|
int clif_disp_overhead(struct map_session_data *sd, const char* mes);
|
||||||
|
|
||||||
void clif_get_weapon_view(TBL_PC* sd, unsigned short *rhand, unsigned short *lhand);
|
void clif_get_weapon_view(struct map_session_data* sd, unsigned short *rhand, unsigned short *lhand);
|
||||||
|
|
||||||
int clif_party_xy_remove(struct map_session_data *sd); //Fix for minimap [Kevin]
|
int clif_party_xy_remove(struct map_session_data *sd); //Fix for minimap [Kevin]
|
||||||
void clif_gospel_info(struct map_session_data *sd, int type);
|
void clif_gospel_info(struct map_session_data *sd, int type);
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "../common/cbasetypes.h"
|
#include "../common/cbasetypes.h"
|
||||||
#include "../common/timer.h"
|
#include "../common/timer.h"
|
||||||
#include "../common/nullpo.h"
|
#include "../common/nullpo.h"
|
||||||
@ -27,6 +23,11 @@
|
|||||||
#include "skill.h"
|
#include "skill.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
static DB guild_db;
|
static DB guild_db;
|
||||||
static DB castle_db;
|
static DB castle_db;
|
||||||
static DB guild_expcache_db;
|
static DB guild_expcache_db;
|
||||||
|
@ -4,12 +4,14 @@
|
|||||||
#ifndef _GUILD_H_
|
#ifndef _GUILD_H_
|
||||||
#define _GUILD_H_
|
#define _GUILD_H_
|
||||||
|
|
||||||
struct map_session_data;
|
//#include "../common/mmo.h"
|
||||||
struct mob_data;
|
|
||||||
struct guild;
|
struct guild;
|
||||||
struct guild_member;
|
struct guild_member;
|
||||||
struct guild_position;
|
struct guild_position;
|
||||||
struct guild_castle;
|
struct guild_castle;
|
||||||
|
//#include "map.h"
|
||||||
|
struct map_session_data;
|
||||||
|
struct mob_data;
|
||||||
|
|
||||||
int guild_skill_get_max(int id);
|
int guild_skill_get_max(int id);
|
||||||
|
|
||||||
|
@ -1,13 +1,6 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <signal.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "../common/showmsg.h"
|
#include "../common/showmsg.h"
|
||||||
#include "../common/socket.h"
|
#include "../common/socket.h"
|
||||||
#include "../common/timer.h"
|
#include "../common/timer.h"
|
||||||
@ -26,6 +19,14 @@
|
|||||||
#include "atcommand.h"
|
#include "atcommand.h"
|
||||||
#include "mercenary.h" //albator
|
#include "mercenary.h" //albator
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <signal.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
static const int packet_len_table[]={
|
static const int packet_len_table[]={
|
||||||
-1,-1,27,-1, -1, 0,37, 0, 0, 0, 0, 0, 0, 0, 0, 0, //0x3800-0x380f
|
-1,-1,27,-1, -1, 0,37, 0, 0, 0, 0, 0, 0, 0, 0, 0, //0x3800-0x380f
|
||||||
-1, 7, 0, 0, 0, 0, 0, 0, -1,11, 0, 0, 0, 0, 0, 0, //0x3810
|
-1, 7, 0, 0, 0, 0, 0, 0, -1,11, 0, 0, 0, 0, 0, 0, //0x3810
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
#ifndef _IRC_H_
|
#ifndef _IRC_H_
|
||||||
#define _IRC_H_
|
#define _IRC_H_
|
||||||
|
|
||||||
#include "map.h"
|
//#include "map.h"
|
||||||
|
struct map_session_data;
|
||||||
|
|
||||||
// IRC .conf file [Zido]
|
// IRC .conf file [Zido]
|
||||||
#define IRC_CONF "irc_athena.conf"
|
#define IRC_CONF "irc_athena.conf"
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "../common/nullpo.h"
|
#include "../common/nullpo.h"
|
||||||
#include "../common/malloc.h"
|
#include "../common/malloc.h"
|
||||||
#include "../common/showmsg.h"
|
#include "../common/showmsg.h"
|
||||||
@ -15,6 +11,11 @@
|
|||||||
#include "script.h" // item script processing
|
#include "script.h" // item script processing
|
||||||
#include "pc.h" // W_MUSICAL, W_WHIP
|
#include "pc.h" // W_MUSICAL, W_WHIP
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
static struct dbt* item_db;
|
static struct dbt* item_db;
|
||||||
|
|
||||||
static struct item_group itemgroup_db[MAX_ITEMGROUP];
|
static struct item_group itemgroup_db[MAX_ITEMGROUP];
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "../common/strlib.h"
|
#include "../common/strlib.h"
|
||||||
#include "../common/nullpo.h"
|
#include "../common/nullpo.h"
|
||||||
#include "../common/showmsg.h"
|
#include "../common/showmsg.h"
|
||||||
@ -13,6 +9,11 @@
|
|||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "battle.h"
|
#include "battle.h"
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
struct Log_Config log_config;
|
struct Log_Config log_config;
|
||||||
|
|
||||||
char timestring[255];
|
char timestring[255];
|
||||||
|
@ -4,7 +4,9 @@
|
|||||||
#ifndef _LOG_H_
|
#ifndef _LOG_H_
|
||||||
#define _LOG_H_
|
#define _LOG_H_
|
||||||
|
|
||||||
#include "map.h"
|
//#include "map.h"
|
||||||
|
struct map_session_data;
|
||||||
|
struct mob_data;
|
||||||
|
|
||||||
#ifndef TXT_ONLY
|
#ifndef TXT_ONLY
|
||||||
|
|
||||||
|
@ -6,10 +6,6 @@
|
|||||||
// Created by Valaris
|
// Created by Valaris
|
||||||
// moved all strings to msg_athena.conf [Lupus]
|
// moved all strings to msg_athena.conf [Lupus]
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "../common/strlib.h"
|
#include "../common/strlib.h"
|
||||||
#include "../common/socket.h"
|
#include "../common/socket.h"
|
||||||
#include "../common/timer.h"
|
#include "../common/timer.h"
|
||||||
@ -24,6 +20,11 @@
|
|||||||
#include "pc.h"
|
#include "pc.h"
|
||||||
#include "mail.h"
|
#include "mail.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
int MAIL_CHECK_TIME = 120000;
|
int MAIL_CHECK_TIME = 120000;
|
||||||
int mail_timer;
|
int mail_timer;
|
||||||
//extern char *msg_table[1000]; // Server messages (0-499 reserved for GM commands, 500-999 reserved for others)
|
//extern char *msg_table[1000]; // Server messages (0-499 reserved for GM commands, 500-999 reserved for others)
|
||||||
|
@ -1,22 +1,12 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#ifndef _WIN32
|
|
||||||
#include <unistd.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "../common/cbasetypes.h"
|
#include "../common/cbasetypes.h"
|
||||||
#include "../common/core.h"
|
#include "../common/core.h"
|
||||||
#include "../common/timer.h"
|
#include "../common/timer.h"
|
||||||
#include "../common/grfio.h"
|
#include "../common/grfio.h"
|
||||||
#include "../common/malloc.h"
|
#include "../common/malloc.h"
|
||||||
#include "../common/socket.h"
|
#include "../common/socket.h" // WFIFO*()
|
||||||
#include "../common/showmsg.h"
|
#include "../common/showmsg.h"
|
||||||
#include "../common/version.h"
|
#include "../common/version.h"
|
||||||
#include "../common/nullpo.h"
|
#include "../common/nullpo.h"
|
||||||
@ -49,6 +39,16 @@
|
|||||||
|
|
||||||
#include "irc.h"
|
#include "irc.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
|
#ifndef _WIN32
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef TXT_ONLY
|
#ifndef TXT_ONLY
|
||||||
|
|
||||||
#include "mail.h"
|
#include "mail.h"
|
||||||
|
@ -1,11 +1,6 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#include "../common/cbasetypes.h"
|
#include "../common/cbasetypes.h"
|
||||||
#include "../common/malloc.h"
|
#include "../common/malloc.h"
|
||||||
#include "../common/socket.h"
|
#include "../common/socket.h"
|
||||||
@ -36,6 +31,12 @@
|
|||||||
|
|
||||||
#include "mercenary.h"
|
#include "mercenary.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
|
|
||||||
//Better equiprobability than rand()% [orn]
|
//Better equiprobability than rand()% [orn]
|
||||||
#define rand(a, b) (a+(int) ((float)(b-a+1)*rand()/(RAND_MAX+1.0)))
|
#define rand(a, b) (a+(int) ((float)(b-a+1)*rand()/(RAND_MAX+1.0)))
|
||||||
|
|
||||||
|
@ -1,12 +1,6 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
#include "../common/cbasetypes.h"
|
#include "../common/cbasetypes.h"
|
||||||
#include "../common/timer.h"
|
#include "../common/timer.h"
|
||||||
#include "../common/db.h"
|
#include "../common/db.h"
|
||||||
@ -35,6 +29,13 @@
|
|||||||
#include "date.h"
|
#include "date.h"
|
||||||
#include "irc.h"
|
#include "irc.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
|
|
||||||
#define IDLE_SKILL_INTERVAL 10 //Active idle skills should be triggered every 1 second (1000/MIN_MOBTHINKTIME)
|
#define IDLE_SKILL_INTERVAL 10 //Active idle skills should be triggered every 1 second (1000/MIN_MOBTHINKTIME)
|
||||||
|
|
||||||
#define MOB_LAZYSKILLPERC 10 // Probability for mobs far from players from doing their IDLE skill. (rate of 1000 minute)
|
#define MOB_LAZYSKILLPERC 10 // Probability for mobs far from players from doing their IDLE skill. (rate of 1000 minute)
|
||||||
|
@ -4,18 +4,18 @@
|
|||||||
#ifndef _MOB_H_
|
#ifndef _MOB_H_
|
||||||
#define _MOB_H_
|
#define _MOB_H_
|
||||||
|
|
||||||
#include "unit.h"
|
#include "../common/mmo.h" // struct item
|
||||||
#include "map.h"
|
#include "unit.h" // unit_stop_walking(), unit_stop_attack()
|
||||||
|
#include "map.h" // struct status_data, struct view_data, struct mob_skill
|
||||||
|
|
||||||
#define MAX_RANDOMMONSTER 4
|
#define MAX_RANDOMMONSTER 4
|
||||||
#define MAX_MOB_RACE_DB 6
|
#define MAX_MOB_RACE_DB 6
|
||||||
/* Change this to increase the table size in your mob_db to accomodate
|
|
||||||
a larger mob database. Be sure to note that IDs 4001 to 4048 are reserved for advanced/baby/expanded classes.
|
// Change this to increase the table size in your mob_db to accomodate a larger mob database.
|
||||||
*/
|
// Be sure to note that IDs 4001 to 4048 are reserved for advanced/baby/expanded classes.
|
||||||
#define MAX_MOB_DB 10000
|
#define MAX_MOB_DB 10000
|
||||||
|
|
||||||
//The number of drops all mobs have and the max drop-slot that the steal skill
|
//The number of drops all mobs have and the max drop-slot that the steal skill will attempt to steal from.
|
||||||
//will attempt to steal from.
|
|
||||||
#define MAX_MOB_DROP 10
|
#define MAX_MOB_DROP 10
|
||||||
#define MAX_STEAL_DROP 7
|
#define MAX_STEAL_DROP 7
|
||||||
|
|
||||||
|
@ -31,7 +31,6 @@
|
|||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// linked list of npc source files
|
// linked list of npc source files
|
||||||
struct npc_src_list {
|
struct npc_src_list {
|
||||||
struct npc_src_list* next;
|
struct npc_src_list* next;
|
||||||
@ -1102,7 +1101,7 @@ int npc_checknear2(struct map_session_data* sd, struct block_list* bl)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
TBL_NPC* npc_checknear(struct map_session_data* sd, struct block_list* bl)
|
struct npc_data* npc_checknear(struct map_session_data* sd, struct block_list* bl)
|
||||||
{
|
{
|
||||||
struct npc_data *nd;
|
struct npc_data *nd;
|
||||||
|
|
||||||
@ -2808,7 +2807,7 @@ void npc_parsesrcfile(const char* name)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int npc_script_event(TBL_PC* sd, int type)
|
int npc_script_event(struct map_session_data* sd, int type)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
if (type < 0 || type >= NPCE_MAX)
|
if (type < 0 || type >= NPCE_MAX)
|
||||||
|
@ -4,7 +4,10 @@
|
|||||||
#ifndef _NPC_H_
|
#ifndef _NPC_H_
|
||||||
#define _NPC_H_
|
#define _NPC_H_
|
||||||
|
|
||||||
#include "map.h" // TBL_NPC
|
//#include "map.h"
|
||||||
|
struct block_list;
|
||||||
|
struct npc_data;
|
||||||
|
struct view_data;
|
||||||
|
|
||||||
#define START_NPC_NUM 110000000
|
#define START_NPC_NUM 110000000
|
||||||
|
|
||||||
@ -47,7 +50,7 @@ int npc_touch_areanpc2(struct block_list* bl); // [Skotlex]
|
|||||||
int npc_check_areanpc(int flag, int m, int x, int y, int range);
|
int npc_check_areanpc(int flag, int m, int x, int y, int range);
|
||||||
int npc_click(struct map_session_data* sd, struct npc_data* nd);
|
int npc_click(struct map_session_data* sd, struct npc_data* nd);
|
||||||
int npc_scriptcont(struct map_session_data* sd, int id);
|
int npc_scriptcont(struct map_session_data* sd, int id);
|
||||||
TBL_NPC* npc_checknear(struct map_session_data* sd, struct block_list* bl);
|
struct npc_data* npc_checknear(struct map_session_data* sd, struct block_list* bl);
|
||||||
int npc_checknear2(struct map_session_data* sd, struct block_list* bl);
|
int npc_checknear2(struct map_session_data* sd, struct block_list* bl);
|
||||||
int npc_buysellsel(struct map_session_data* sd, int id, int type);
|
int npc_buysellsel(struct map_session_data* sd, int id, int type);
|
||||||
int npc_buylist(struct map_session_data* sd,int n, unsigned short* item_list);
|
int npc_buylist(struct map_session_data* sd,int n, unsigned short* item_list);
|
||||||
@ -87,7 +90,7 @@ void npc_unload_duplicates (struct npc_data* nd);
|
|||||||
int npc_unload(struct npc_data* nd);
|
int npc_unload(struct npc_data* nd);
|
||||||
int npc_reload(void);
|
int npc_reload(void);
|
||||||
void npc_read_event_script(void);
|
void npc_read_event_script(void);
|
||||||
int npc_script_event(TBL_PC* sd, int type);
|
int npc_script_event(struct map_session_data* sd, int type);
|
||||||
|
|
||||||
struct npc_data *fake_nd;
|
struct npc_data *fake_nd;
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Written by MouseJstr in a vision... (2/21/2005)
|
* Written by MouseJstr in a vision... (2/21/2005)
|
||||||
*
|
*
|
||||||
|
@ -1,13 +1,9 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "../common/cbasetypes.h"
|
#include "../common/cbasetypes.h"
|
||||||
#include "../common/timer.h"
|
#include "../common/timer.h"
|
||||||
#include "../common/socket.h"
|
#include "../common/socket.h" // last_tick
|
||||||
#include "../common/nullpo.h"
|
#include "../common/nullpo.h"
|
||||||
#include "../common/malloc.h"
|
#include "../common/malloc.h"
|
||||||
#include "../common/showmsg.h"
|
#include "../common/showmsg.h"
|
||||||
@ -23,6 +19,11 @@
|
|||||||
#include "status.h"
|
#include "status.h"
|
||||||
#include "itemdb.h"
|
#include "itemdb.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
static DB party_db;
|
static DB party_db;
|
||||||
int party_share_level = 10;
|
int party_share_level = 10;
|
||||||
int party_send_xy_timer(int tid,unsigned int tick,int id,int data);
|
int party_send_xy_timer(int tid,unsigned int tick,int id,int data);
|
||||||
|
@ -4,13 +4,16 @@
|
|||||||
#ifndef _PARTY_H_
|
#ifndef _PARTY_H_
|
||||||
#define _PARTY_H_
|
#define _PARTY_H_
|
||||||
|
|
||||||
|
//#include "map.h"
|
||||||
|
struct block_list;
|
||||||
|
struct map_session_data;
|
||||||
|
struct party;
|
||||||
|
struct party_data;
|
||||||
|
struct item;
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include "map.h"
|
|
||||||
|
|
||||||
extern int party_share_level;
|
extern int party_share_level;
|
||||||
struct party;
|
|
||||||
struct map_session_data;
|
|
||||||
struct block_list;
|
|
||||||
|
|
||||||
void do_init_party(void);
|
void do_init_party(void);
|
||||||
void do_final_party(void);
|
void do_final_party(void);
|
||||||
@ -41,7 +44,7 @@ int party_check_conflict(struct map_session_data *sd);
|
|||||||
int party_skill_check(struct map_session_data *sd, int party_id, int skillid, int skilllv);
|
int party_skill_check(struct map_session_data *sd, int party_id, int skillid, int skilllv);
|
||||||
int party_send_xy_clear(struct party_data *p);
|
int party_send_xy_clear(struct party_data *p);
|
||||||
int party_exp_share(struct party_data *p,struct block_list *src,unsigned int base_exp,unsigned int job_exp,int zeny);
|
int party_exp_share(struct party_data *p,struct block_list *src,unsigned int base_exp,unsigned int job_exp,int zeny);
|
||||||
int party_share_loot(struct party_data* p, TBL_PC* sd, struct item* item_data, int first);
|
int party_share_loot(struct party_data* p, struct map_session_data* sd, struct item* item_data, int first);
|
||||||
int party_send_dot_remove(struct map_session_data *sd);
|
int party_send_dot_remove(struct map_session_data *sd);
|
||||||
int party_sub_count(struct block_list *bl, va_list ap);
|
int party_sub_count(struct block_list *bl, va_list ap);
|
||||||
int party_foreachsamemap(int (*func)(struct block_list *,va_list),struct map_session_data *sd,int type,...);
|
int party_foreachsamemap(int (*func)(struct block_list *,va_list),struct map_session_data *sd,int type,...);
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "../common/cbasetypes.h"
|
#include "../common/cbasetypes.h"
|
||||||
#include "../common/nullpo.h"
|
#include "../common/nullpo.h"
|
||||||
#include "../common/showmsg.h"
|
#include "../common/showmsg.h"
|
||||||
@ -16,6 +12,11 @@
|
|||||||
#include "memwatch.h"
|
#include "memwatch.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
//#define PATH_STANDALONETEST
|
//#define PATH_STANDALONETEST
|
||||||
|
|
||||||
#define MAX_HEAP 150
|
#define MAX_HEAP 150
|
||||||
|
53
src/map/pc.c
53
src/map/pc.c
@ -1,47 +1,44 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
#include "../common/cbasetypes.h"
|
#include "../common/cbasetypes.h"
|
||||||
#include "../common/socket.h" // [Valaris]
|
#include "../common/core.h" // get_svn_revision()
|
||||||
#include "../common/timer.h"
|
#include "../common/malloc.h"
|
||||||
#include "../common/nullpo.h"
|
#include "../common/nullpo.h"
|
||||||
#include "../common/showmsg.h"
|
#include "../common/showmsg.h"
|
||||||
#include "../common/malloc.h"
|
#include "../common/socket.h" // RFIFO*()
|
||||||
#include "../common/core.h"
|
#include "../common/timer.h"
|
||||||
|
|
||||||
#include "map.h"
|
#include "atcommand.h" // get_atcommand_level()
|
||||||
|
#include "battle.h" // battle_config
|
||||||
#include "chrif.h"
|
#include "chrif.h"
|
||||||
#include "clif.h"
|
#include "clif.h"
|
||||||
|
#include "date.h" // is_day_of_*()
|
||||||
#include "intif.h"
|
#include "intif.h"
|
||||||
#include "pc.h"
|
|
||||||
#include "status.h"
|
|
||||||
#include "npc.h"
|
|
||||||
#include "mob.h"
|
|
||||||
#include "pet.h"
|
|
||||||
#include "mercenary.h" //orn
|
|
||||||
#include "itemdb.h"
|
#include "itemdb.h"
|
||||||
#include "script.h"
|
|
||||||
#include "battle.h"
|
|
||||||
#include "skill.h"
|
|
||||||
#include "party.h"
|
|
||||||
#include "guild.h"
|
|
||||||
#include "chat.h"
|
|
||||||
#include "trade.h"
|
|
||||||
#include "storage.h"
|
|
||||||
#include "vending.h"
|
|
||||||
#include "atcommand.h"
|
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "date.h"
|
#include "map.h"
|
||||||
|
#include "mercenary.h" // merc_is_hom_active()
|
||||||
|
#include "mob.h" // MAX_MOB_RACE_DB
|
||||||
|
#include "npc.h" // fake_nd
|
||||||
|
#include "pet.h" // pet_unlocktarget()
|
||||||
|
#include "party.h" // party_search()
|
||||||
|
#include "guild.h" // guild_search(), guild_request_info()
|
||||||
|
#include "script.h" // script_config
|
||||||
|
#include "skill.h"
|
||||||
|
#include "status.h" // struct status_data
|
||||||
|
#include "vending.h" // vending_closevending()
|
||||||
|
#include "pc.h"
|
||||||
|
|
||||||
#ifndef TXT_ONLY // mail system [Valaris]
|
#ifndef TXT_ONLY // mail system [Valaris]
|
||||||
#include "mail.h"
|
#include "mail.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
|
||||||
#define PVP_CALCRANK_INTERVAL 1000 // PVP<56>‡ˆÊŒvŽZ‚ÌŠÔŠu
|
#define PVP_CALCRANK_INTERVAL 1000 // PVP<56>‡ˆÊŒvŽZ‚ÌŠÔŠu
|
||||||
static unsigned int exp_table[MAX_PC_CLASS][2][MAX_LEVEL];
|
static unsigned int exp_table[MAX_PC_CLASS][2][MAX_LEVEL];
|
||||||
static unsigned int max_level[MAX_PC_CLASS][2];
|
static unsigned int max_level[MAX_PC_CLASS][2];
|
||||||
@ -6894,6 +6891,7 @@ int pc_autosave(int tid,unsigned int tick,int id,int data)
|
|||||||
|
|
||||||
int pc_read_gm_account(int fd)
|
int pc_read_gm_account(int fd)
|
||||||
{
|
{
|
||||||
|
//FIXME: this implementation is a total failure (direct reading from RFIFO) [ultramage]
|
||||||
int i = 0;
|
int i = 0;
|
||||||
if (gm_account != NULL)
|
if (gm_account != NULL)
|
||||||
aFree(gm_account);
|
aFree(gm_account);
|
||||||
@ -6902,7 +6900,6 @@ int pc_read_gm_account(int fd)
|
|||||||
for (i = 4; i < RFIFOW(fd,2); i += 5) {
|
for (i = 4; i < RFIFOW(fd,2); i += 5) {
|
||||||
gm_account[GM_num].account_id = RFIFOL(fd,i);
|
gm_account[GM_num].account_id = RFIFOL(fd,i);
|
||||||
gm_account[GM_num].level = (int)RFIFOB(fd,i+4);
|
gm_account[GM_num].level = (int)RFIFOB(fd,i+4);
|
||||||
//printf("GM account: %d -> level %d\n", gm_account[GM_num].account_id, gm_account[GM_num].level);
|
|
||||||
GM_num++;
|
GM_num++;
|
||||||
}
|
}
|
||||||
return GM_num;
|
return GM_num;
|
||||||
|
11
src/map/pc.h
11
src/map/pc.h
@ -4,9 +4,12 @@
|
|||||||
#ifndef _PC_H_
|
#ifndef _PC_H_
|
||||||
#define _PC_H_
|
#define _PC_H_
|
||||||
|
|
||||||
#include "map.h"
|
#include "../common/mmo.h" // JOB_*, MAX_FAME_LIST, struct fame_list, struct mmo_charstatus
|
||||||
#include "unit.h"
|
#include "../common/timer.h" // INVALID_TIMER
|
||||||
#include "status.h"
|
#include "battle.h" // battle_config
|
||||||
|
#include "map.h" // MAX_PC_CLASS, struct map_session_data
|
||||||
|
#include "status.h" // OPTION_*
|
||||||
|
#include "unit.h" // unit_stop_attack(), unit_stop_walking()
|
||||||
|
|
||||||
//Update this max as necessary. 53 is the value needed for Super Baby currently
|
//Update this max as necessary. 53 is the value needed for Super Baby currently
|
||||||
#define MAX_SKILL_TREE 53
|
#define MAX_SKILL_TREE 53
|
||||||
@ -89,7 +92,7 @@ enum {
|
|||||||
#define pc_setsit(sd) ((sd)->state.dead_sit = (sd)->vd.dead_sit = 2)
|
#define pc_setsit(sd) ((sd)->state.dead_sit = (sd)->vd.dead_sit = 2)
|
||||||
#define pc_isdead(sd) ((sd)->state.dead_sit == 1)
|
#define pc_isdead(sd) ((sd)->state.dead_sit == 1)
|
||||||
#define pc_issit(sd) ((sd)->vd.dead_sit == 2)
|
#define pc_issit(sd) ((sd)->vd.dead_sit == 2)
|
||||||
#define pc_isidle(sd) ((sd)->chatID || (sd)->vender_id || DIFF_TICK(last_tick, sd->idletime) >= battle_config.idle_no_share)
|
#define pc_isidle(sd) ((sd)->chatID || (sd)->vender_id || DIFF_TICK(last_tick, (sd)->idletime) >= battle_config.idle_no_share)
|
||||||
#define pc_setdir(sd,b,h) ((sd)->ud.dir = (b) ,(sd)->head_dir = (h) )
|
#define pc_setdir(sd,b,h) ((sd)->ud.dir = (b) ,(sd)->head_dir = (h) )
|
||||||
#define pc_setchatid(sd,n) ((sd)->chatID = n)
|
#define pc_setchatid(sd,n) ((sd)->chatID = n)
|
||||||
#define pc_ishiding(sd) ((sd)->sc.option&(OPTION_HIDE|OPTION_CLOAK|OPTION_CHASEWALK))
|
#define pc_ishiding(sd) ((sd)->sc.option&(OPTION_HIDE|OPTION_CLOAK|OPTION_CHASEWALK))
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "../common/db.h"
|
#include "../common/db.h"
|
||||||
#include "../common/timer.h"
|
#include "../common/timer.h"
|
||||||
#include "../common/nullpo.h"
|
#include "../common/nullpo.h"
|
||||||
@ -28,6 +24,11 @@
|
|||||||
#include "unit.h"
|
#include "unit.h"
|
||||||
#include "atcommand.h"
|
#include "atcommand.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
#define MIN_PETTHINKTIME 100
|
#define MIN_PETTHINKTIME 100
|
||||||
|
|
||||||
struct pet_db pet_db[MAX_PET_DB];
|
struct pet_db pet_db[MAX_PET_DB];
|
||||||
@ -555,7 +556,7 @@ int pet_catch_process2(struct map_session_data* sd, int target_id)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
//FIXME: delete taming item here, if this was an item-invoked capture and the item was flagged as delay-consume
|
//FIXME: delete taming item here, if this was an item-invoked capture and the item was flagged as delay-consume [ultramage]
|
||||||
|
|
||||||
i = search_petDB_index(md->class_,PET_CLASS);
|
i = search_petDB_index(md->class_,PET_CLASS);
|
||||||
//catch_target_class == 0 is used for universal lures (except bosses for now). [Skotlex]
|
//catch_target_class == 0 is used for universal lures (except bosses for now). [Skotlex]
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
//#define DEBUG_HASH
|
//#define DEBUG_HASH
|
||||||
|
|
||||||
#include "../common/cbasetypes.h"
|
#include "../common/cbasetypes.h"
|
||||||
#include "../common/socket.h"
|
|
||||||
#include "../common/timer.h"
|
#include "../common/timer.h"
|
||||||
#include "../common/malloc.h"
|
#include "../common/malloc.h"
|
||||||
#include "../common/lock.h"
|
#include "../common/lock.h"
|
||||||
@ -53,6 +52,7 @@
|
|||||||
#include <setjmp.h>
|
#include <setjmp.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
//## TODO possible enhancements: [FlavioJS]
|
//## TODO possible enhancements: [FlavioJS]
|
||||||
// - 'callfunc' supporting labels in the current npc "::LabelName"
|
// - 'callfunc' supporting labels in the current npc "::LabelName"
|
||||||
@ -4031,7 +4031,6 @@ BUILDIN_FUNC(unitattack);
|
|||||||
BUILDIN_FUNC(unitstop);
|
BUILDIN_FUNC(unitstop);
|
||||||
BUILDIN_FUNC(unittalk);
|
BUILDIN_FUNC(unittalk);
|
||||||
BUILDIN_FUNC(unitemote);
|
BUILDIN_FUNC(unitemote);
|
||||||
BUILDIN_FUNC(unitdeadsit);
|
|
||||||
BUILDIN_FUNC(unitskilluseid); // originally by Qamera [celest]
|
BUILDIN_FUNC(unitskilluseid); // originally by Qamera [celest]
|
||||||
BUILDIN_FUNC(unitskillusepos); // originally by Qamera [celest]
|
BUILDIN_FUNC(unitskillusepos); // originally by Qamera [celest]
|
||||||
// <--- [zBuffer] List of mob control commands
|
// <--- [zBuffer] List of mob control commands
|
||||||
@ -4373,7 +4372,6 @@ struct script_function buildin_func[] = {
|
|||||||
BUILDIN_DEF(unitstop,"i"),
|
BUILDIN_DEF(unitstop,"i"),
|
||||||
BUILDIN_DEF(unittalk,"is"),
|
BUILDIN_DEF(unittalk,"is"),
|
||||||
BUILDIN_DEF(unitemote,"ii"),
|
BUILDIN_DEF(unitemote,"ii"),
|
||||||
BUILDIN_DEF(unitdeadsit,"ii"),
|
|
||||||
BUILDIN_DEF(unitskilluseid,"iii?"), // originally by Qamera [Celest]
|
BUILDIN_DEF(unitskilluseid,"iii?"), // originally by Qamera [Celest]
|
||||||
BUILDIN_DEF(unitskillusepos,"iiiii"), // [Celest]
|
BUILDIN_DEF(unitskillusepos,"iiiii"), // [Celest]
|
||||||
// <--- [zBuffer] List of mob control commands
|
// <--- [zBuffer] List of mob control commands
|
||||||
@ -10667,7 +10665,7 @@ BUILDIN_FUNC(soundeffectall)
|
|||||||
name = script_getstr(st,2);
|
name = script_getstr(st,2);
|
||||||
type = script_getnum(st,3);
|
type = script_getnum(st,3);
|
||||||
|
|
||||||
//FIXME: enumerating map squares (map_foreach) is slower than enumerating the list of online players (map_foreachpc?)
|
//FIXME: enumerating map squares (map_foreach) is slower than enumerating the list of online players (map_foreachpc?) [ultramage]
|
||||||
|
|
||||||
if(!script_hasdata(st,4))
|
if(!script_hasdata(st,4))
|
||||||
{ // area around
|
{ // area around
|
||||||
@ -13075,41 +13073,6 @@ BUILDIN_FUNC(unitemote)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Makes the unit do an action
|
|
||||||
/// TODO actions
|
|
||||||
///
|
|
||||||
/// unitdeadsit <unit_id>,<action>;
|
|
||||||
BUILDIN_FUNC(unitdeadsit)
|
|
||||||
{
|
|
||||||
int unit_id;
|
|
||||||
int action;
|
|
||||||
struct block_list* bl;
|
|
||||||
|
|
||||||
unit_id = script_getnum(st,2);
|
|
||||||
action = script_getnum(st,3);
|
|
||||||
|
|
||||||
bl = map_id2bl(unit_id);
|
|
||||||
if( bl != NULL )
|
|
||||||
{
|
|
||||||
if( action > -1 && action < 4 )
|
|
||||||
{
|
|
||||||
unsigned char buf[61] = "";
|
|
||||||
struct view_data *vd = status_get_viewdata(bl);
|
|
||||||
if (vd) vd->dead_sit = action;
|
|
||||||
WBUFW(buf, 0) = 0x8a;
|
|
||||||
WBUFL(buf, 2) = bl->id;
|
|
||||||
WBUFB(buf,26) = (unsigned char)action;
|
|
||||||
clif_send(buf, 61, bl, AREA);
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
ShowWarning("script:unitdeadsit: %d is not a valid action\n", action);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Makes the unit cast the skill on the target or self if no target is specified
|
/// Makes the unit cast the skill on the target or self if no target is specified
|
||||||
///
|
///
|
||||||
/// unitskilluseid <unit_id>,<skill_id>,<skill_lv>{,<target_id>};
|
/// unitskilluseid <unit_id>,<skill_id>,<skill_lv>{,<target_id>};
|
||||||
|
@ -1,11 +1,6 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
#include "../common/cbasetypes.h"
|
#include "../common/cbasetypes.h"
|
||||||
#include "../common/timer.h"
|
#include "../common/timer.h"
|
||||||
#include "../common/nullpo.h"
|
#include "../common/nullpo.h"
|
||||||
@ -33,6 +28,12 @@
|
|||||||
#include "date.h"
|
#include "date.h"
|
||||||
#include "unit.h"
|
#include "unit.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
|
||||||
#define SKILLUNITTIMER_INVERVAL 100
|
#define SKILLUNITTIMER_INVERVAL 100
|
||||||
//Guild Skills are shifted to these to make them stick into the skill array.
|
//Guild Skills are shifted to these to make them stick into the skill array.
|
||||||
#define GD_SKILLRANGEMIN 900
|
#define GD_SKILLRANGEMIN 900
|
||||||
@ -8006,7 +8007,7 @@ static int skill_check_condition_mob_master_sub (struct block_list *bl, va_list
|
|||||||
* Determines if a given skill should be made to consume ammo
|
* Determines if a given skill should be made to consume ammo
|
||||||
* when used by the player. [Skotlex]
|
* when used by the player. [Skotlex]
|
||||||
*------------------------------------------*/
|
*------------------------------------------*/
|
||||||
int skill_isammotype (TBL_PC *sd, int skill)
|
int skill_isammotype (struct map_session_data *sd, int skill)
|
||||||
{
|
{
|
||||||
return (
|
return (
|
||||||
battle_config.arrow_decrement==2 &&
|
battle_config.arrow_decrement==2 &&
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#ifndef _SKILL_H_
|
#ifndef _SKILL_H_
|
||||||
#define _SKILL_H_
|
#define _SKILL_H_
|
||||||
|
|
||||||
#include "map.h"
|
#include "map.h" // MAX_SKILL_LEVEL, ...
|
||||||
|
|
||||||
#define MAX_SKILL_DB 1100
|
#define MAX_SKILL_DB 1100
|
||||||
#define MAX_SKILL_PRODUCE_DB 150
|
#define MAX_SKILL_PRODUCE_DB 150
|
||||||
@ -187,7 +187,7 @@ int skill_tree_get_max( int id, int b_class ); // Celest
|
|||||||
const char* skill_get_name( int id ); // [Skotlex]
|
const char* skill_get_name( int id ); // [Skotlex]
|
||||||
const char* skill_get_desc( int id ); // [Skotlex]
|
const char* skill_get_desc( int id ); // [Skotlex]
|
||||||
|
|
||||||
int skill_isammotype(TBL_PC *sd, int skill);
|
int skill_isammotype(struct map_session_data *sd, int skill);
|
||||||
int skill_castend_id( int tid, unsigned int tick, int id,int data );
|
int skill_castend_id( int tid, unsigned int tick, int id,int data );
|
||||||
int skill_castend_pos( int tid, unsigned int tick, int id,int data );
|
int skill_castend_pos( int tid, unsigned int tick, int id,int data );
|
||||||
int skill_castend_map( struct map_session_data *sd,int skill_num, const char *map);
|
int skill_castend_map( struct map_session_data *sd,int skill_num, const char *map);
|
||||||
|
@ -1,12 +1,6 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <time.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <memory.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "../common/cbasetypes.h"
|
#include "../common/cbasetypes.h"
|
||||||
#include "../common/timer.h"
|
#include "../common/timer.h"
|
||||||
#include "../common/nullpo.h"
|
#include "../common/nullpo.h"
|
||||||
@ -29,6 +23,13 @@
|
|||||||
#include "unit.h"
|
#include "unit.h"
|
||||||
#include "mercenary.h"
|
#include "mercenary.h"
|
||||||
|
|
||||||
|
#include <time.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <memory.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
//For specifying where in the SkillStatusChangeTableArray the "out of bounds" skills get stored. [Skotlex]
|
//For specifying where in the SkillStatusChangeTableArray the "out of bounds" skills get stored. [Skotlex]
|
||||||
#define SC_HM_BASE 800
|
#define SC_HM_BASE 800
|
||||||
#define SC_GD_BASE 900
|
#define SC_GD_BASE 900
|
||||||
@ -5323,7 +5324,7 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val
|
|||||||
case SC_TENSIONRELAX:
|
case SC_TENSIONRELAX:
|
||||||
if (sd) {
|
if (sd) {
|
||||||
pc_setsit(sd);
|
pc_setsit(sd);
|
||||||
clif_sitting(sd);
|
clif_sitting(&sd->bl);
|
||||||
}
|
}
|
||||||
val2 = 12; //SP cost
|
val2 = 12; //SP cost
|
||||||
val4 = 10000; //Decrease at 10secs intervals.
|
val4 = 10000; //Decrease at 10secs intervals.
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#ifndef _STATUS_H_
|
#ifndef _STATUS_H_
|
||||||
#define _STATUS_H_
|
#define _STATUS_H_
|
||||||
|
|
||||||
// forward declarations from map.h
|
//#include "map.h"
|
||||||
struct block_list;
|
struct block_list;
|
||||||
struct mob_data;
|
struct mob_data;
|
||||||
struct pet_data;
|
struct pet_data;
|
||||||
|
@ -1,14 +1,13 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
#include "../common/cbasetypes.h"
|
||||||
#include <stdlib.h>
|
#include "../common/db.h"
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "../common/nullpo.h"
|
#include "../common/nullpo.h"
|
||||||
#include "../common/malloc.h"
|
#include "../common/malloc.h"
|
||||||
#include "../common/showmsg.h"
|
#include "../common/showmsg.h"
|
||||||
|
|
||||||
|
#include "map.h" // struct map_session_data
|
||||||
#include "storage.h"
|
#include "storage.h"
|
||||||
#include "chrif.h"
|
#include "chrif.h"
|
||||||
#include "itemdb.h"
|
#include "itemdb.h"
|
||||||
@ -20,6 +19,11 @@
|
|||||||
#include "atcommand.h"
|
#include "atcommand.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
static struct dbt *storage_db;
|
static struct dbt *storage_db;
|
||||||
static struct dbt *guild_storage_db;
|
static struct dbt *guild_storage_db;
|
||||||
|
|
||||||
|
@ -4,7 +4,12 @@
|
|||||||
#ifndef _STORAGE_H_
|
#ifndef _STORAGE_H_
|
||||||
#define _STORAGE_H_
|
#define _STORAGE_H_
|
||||||
|
|
||||||
#include "../common/mmo.h"
|
//#include "../common/mmo.h"
|
||||||
|
struct storage;
|
||||||
|
struct guild_storage;
|
||||||
|
struct item;
|
||||||
|
//#include "map.h"
|
||||||
|
struct map_session_data;
|
||||||
|
|
||||||
int storage_storageopen(struct map_session_data *sd);
|
int storage_storageopen(struct map_session_data *sd);
|
||||||
int storage_storageadd(struct map_session_data *sd,int index,int amount);
|
int storage_storageadd(struct map_session_data *sd,int index,int amount);
|
||||||
@ -15,15 +20,15 @@ int storage_storageclose(struct map_session_data *sd);
|
|||||||
int do_init_storage(void);
|
int do_init_storage(void);
|
||||||
void do_final_storage(void);
|
void do_final_storage(void);
|
||||||
void do_reconnect_storage(void);
|
void do_reconnect_storage(void);
|
||||||
struct storage *account2storage(int account_id);
|
struct storage* account2storage(int account_id);
|
||||||
struct storage *account2storage2(int account_id);
|
struct storage* account2storage2(int account_id);
|
||||||
int storage_delete(int account_id);
|
int storage_delete(int account_id);
|
||||||
int storage_storage_quit(struct map_session_data *sd, int flag);
|
int storage_storage_quit(struct map_session_data *sd, int flag);
|
||||||
int storage_storage_save(int account_id, int final);
|
int storage_storage_save(int account_id, int final);
|
||||||
int storage_storage_saved(int account_id); //Ack from char server that guild store was saved.
|
int storage_storage_saved(int account_id); //Ack from char server that guild store was saved.
|
||||||
void storage_storage_dirty(struct map_session_data *sd);
|
void storage_storage_dirty(struct map_session_data *sd);
|
||||||
|
|
||||||
struct guild_storage *guild2storage(int guild_id);
|
struct guild_storage* guild2storage(int guild_id);
|
||||||
int guild_storage_delete(int guild_id);
|
int guild_storage_delete(int guild_id);
|
||||||
int storage_guild_storageopen(struct map_session_data *sd);
|
int storage_guild_storageopen(struct map_session_data *sd);
|
||||||
int guild_storage_additem(struct map_session_data *sd,struct guild_storage *stor,struct item *item_data,int amount);
|
int guild_storage_additem(struct map_session_data *sd,struct guild_storage *stor,struct item *item_data,int amount);
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "../common/nullpo.h"
|
#include "../common/nullpo.h"
|
||||||
#include "clif.h"
|
#include "clif.h"
|
||||||
#include "itemdb.h"
|
#include "itemdb.h"
|
||||||
@ -18,6 +15,10 @@
|
|||||||
#include "atcommand.h"
|
#include "atcommand.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
//Max distance from traders to enable a trade to take place.
|
//Max distance from traders to enable a trade to take place.
|
||||||
#define TRADE_DISTANCE 2
|
#define TRADE_DISTANCE 2
|
||||||
|
|
||||||
|
@ -4,7 +4,9 @@
|
|||||||
#ifndef _TRADE_H_
|
#ifndef _TRADE_H_
|
||||||
#define _TRADE_H_
|
#define _TRADE_H_
|
||||||
|
|
||||||
#include "map.h"
|
//#include "map.h"
|
||||||
|
struct map_session_data;
|
||||||
|
|
||||||
void trade_traderequest(struct map_session_data *sd, struct map_session_data *target_sd);
|
void trade_traderequest(struct map_session_data *sd, struct map_session_data *target_sd);
|
||||||
void trade_tradeack(struct map_session_data *sd,int type);
|
void trade_tradeack(struct map_session_data *sd,int type);
|
||||||
void trade_tradeadditem(struct map_session_data *sd,int index,int amount);
|
void trade_tradeadditem(struct map_session_data *sd,int index,int amount);
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "../common/showmsg.h"
|
#include "../common/showmsg.h"
|
||||||
#include "../common/timer.h"
|
#include "../common/timer.h"
|
||||||
#include "../common/nullpo.h"
|
#include "../common/nullpo.h"
|
||||||
@ -30,6 +26,11 @@
|
|||||||
#include "chrif.h"
|
#include "chrif.h"
|
||||||
#include "script.h"
|
#include "script.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
const int dirx[8]={0,-1,-1,-1,0,1,1,1};
|
const int dirx[8]={0,-1,-1,-1,0,1,1,1};
|
||||||
const int diry[8]={1,1,0,-1,-1,-1,0,1};
|
const int diry[8]={1,1,0,-1,-1,-1,0,1};
|
||||||
|
|
||||||
|
@ -4,7 +4,9 @@
|
|||||||
#ifndef _UNIT_H_
|
#ifndef _UNIT_H_
|
||||||
#define _UNIT_H_
|
#define _UNIT_H_
|
||||||
|
|
||||||
#include "map.h"
|
//#include "map.h"
|
||||||
|
struct block_list;
|
||||||
|
struct unit_data;
|
||||||
|
|
||||||
// PC, MOB, PET に共通する処理を1つにまとめる計画
|
// PC, MOB, PET に共通する処理を1つにまとめる計画
|
||||||
|
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
|
||||||
// For more information, see LICENCE in the main folder
|
// For more information, see LICENCE in the main folder
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#include "../common/nullpo.h"
|
#include "../common/nullpo.h"
|
||||||
#include "clif.h"
|
#include "clif.h"
|
||||||
#include "itemdb.h"
|
#include "itemdb.h"
|
||||||
@ -18,6 +15,10 @@
|
|||||||
|
|
||||||
#include "irc.h"
|
#include "irc.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
/*==========================================
|
/*==========================================
|
||||||
* ˜I“X•Â<EFBFBD>½
|
* ˜I“X•Â<EFBFBD>½
|
||||||
*------------------------------------------*/
|
*------------------------------------------*/
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
#ifndef _VENDING_H_
|
#ifndef _VENDING_H_
|
||||||
#define _VENDING_H_
|
#define _VENDING_H_
|
||||||
|
|
||||||
#include "map.h"
|
//#include "map.h"
|
||||||
|
struct map_session_data;
|
||||||
|
|
||||||
void vending_closevending(struct map_session_data *sd);
|
void vending_closevending(struct map_session_data *sd);
|
||||||
void vending_openvending(struct map_session_data *sd,int len,char *message,int flag,unsigned char *p);
|
void vending_openvending(struct map_session_data *sd,int len,char *message,int flag,unsigned char *p);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user