Browse Source

-Add some src basic documentation.
-Change some remaining -1 for status ending timer.
-Move some hardcoded msg in msg_athena
-Small optimisation on battle_attr_fix

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16835 54d463be-8e91-2dee-dedb-b68131a5f0ec

glighta 12 years ago
parent
commit
7a6a529548

+ 45 - 8
conf/msg_athena.conf

@@ -6,8 +6,9 @@
 // // English message
 // // English message
 // msg_number: translated message
 // msg_number: translated message
 
 
-//   0-499: reserved for GM commands
-// 500-999 reserved for others
+//   0-410: reserved for GM commands
+// 500-900 reserved for others
+// 900-1300 @atcommand
 
 
 // To disable a string (%s) field, make it's max length 0:
 // To disable a string (%s) field, make it's max length 0:
 // eg:
 // eg:
@@ -302,12 +303,13 @@
 284: Leadership transferred.
 284: Leadership transferred.
 285: You've become the party leader.
 285: You've become the party leader.
 286: There's been no change in the setting.
 286: There's been no change in the setting.
+287: You cannot change party leaders on this map.
 //Missing stuff for @killer related commands.
 //Missing stuff for @killer related commands.
-287: Killer state reset.
 288: You are no longer killable.
 288: You are no longer killable.
 289: The player is now killable.
 289: The player is now killable.
 290: The player is no longer killable.
 290: The player is no longer killable.
 291: Weather effects will dispell on warp/refresh
 291: Weather effects will dispell on warp/refresh
+292: Killer state reset.
 // Guild Castles Number
 // Guild Castles Number
 // --------------------
 // --------------------
 //299: ?? Castles
 //299: ?? Castles
@@ -373,7 +375,8 @@
 361: Duel: The duel invitation has been accepted.
 361: Duel: The duel invitation has been accepted.
 362: Duel: You can't use @reject without a duel invitation.
 362: Duel: You can't use @reject without a duel invitation.
 363: Duel: The duel invitation has been rejected.
 363: Duel: The duel invitation has been rejected.
-364: Duel: You can't invite %s because he/she isn't on the same map. 
+364: Duel: You can't invite %s because he/she isn't on the same map.
+365: Duel: Can't use %s in duel. 
 // @duel (part 2)
 // @duel (part 2)
 370:  -- Duels: %d/%d, Members: %d/%d, Max players: %d --
 370:  -- Duels: %d/%d, Members: %d/%d, Max players: %d --
 371:  -- Duels: %d/%d, Members: %d/%d --
 371:  -- Duels: %d/%d, Members: %d/%d --
@@ -412,6 +415,30 @@
 405: War of Emperium SE has been ended.
 405: War of Emperium SE has been ended.
 406: War of Emperium SE is currently not in progress.
 406: War of Emperium SE is currently not in progress.
 
 
+//chrif related
+410: Need disconnection to perform change-sex request...
+411: Your sex has been changed (need disconnection by the server)...
+412: Your account has 'Unregistered'.
+413: Your account has an 'Incorrect Password'...
+414: Your account has expired.
+415: Your account has been rejected from server.
+416: Your account has been blocked by the GM Team.
+417: Your Game's EXE file is not the latest version.
+418: Your account has been prohibited to log in.
+419: Server is jammed due to over populated.
+420: Your account has not more authorised.
+421: Your account has been totally erased.
+423: Your account has been banished until 
+424: Login-server has been asked to %s the player '%.*s'.
+425: The player '%.*s' doesn't exist.
+426: Your GM level don't authorise you to %s the player '%.*s'.
+427: Login-server is offline. Impossible to %s the player '%.*s'.
+428: block
+429: ban
+430: unblock
+431: unban
+432: change the sex of
+
 // Homunculus messages
 // Homunculus messages
 450: You already have a homunculus
 450: You already have a homunculus
 
 
@@ -589,8 +616,18 @@
 667: You're not dead.
 667: You're not dead.
 668: Your actual memo positions are:
 668: Your actual memo positions are:
 669: You broke target's weapon
 669: You broke target's weapon
-
-//670-899 free
+670: You can't leave battleground guilds.
+671: Friend already exists.
+672: Name not found in list.
+673: This action can't be performed at the moment. Please try again later.
+674: Friend removed
+675: Cannot send mails too fast!!.
+676: Alliances cannot be made during Guild Wars!
+677: Alliances cannot be broken during Guild Wars!
+678: You no longer are the Guild Master.
+679: You have become the Guild Master!
+680: You have been recovered!
+//681-899 free
 
 
 //------------------------------------
 //------------------------------------
 // More atcommands message
 // More atcommands message
@@ -640,8 +677,8 @@
 
 
 // @jobchange
 // @jobchange
 922: Please enter a job ID.
 922: Please enter a job ID.
-
-//923-979 free (future jobs?)
+923: You can not change to this job by command.
+//924-979 free (future jobs?)
 
 
 // @kami
 // @kami
 980: Please enter a message (usage: @kami <message>).
 980: Please enter a message (usage: @kami <message>).

+ 5 - 5
src/char/char.c

@@ -126,7 +126,7 @@ struct char_session_data {
 	int found_char[MAX_CHARS]; // ids of chars on this account
 	int found_char[MAX_CHARS]; // ids of chars on this account
 	char email[40]; // e-mail (default: a@a.com) by [Yor]
 	char email[40]; // e-mail (default: a@a.com) by [Yor]
 	time_t expiration_time; // # of seconds 1/1/1970 (timestamp): Validity limit of the account (0 = unlimited)
 	time_t expiration_time; // # of seconds 1/1/1970 (timestamp): Validity limit of the account (0 = unlimited)
-	int group_id;
+	int group_id; // permission
 	uint32 version;
 	uint32 version;
 	uint8 clienttype;
 	uint8 clienttype;
 	char new_name[NAME_LENGTH];
 	char new_name[NAME_LENGTH];
@@ -3367,7 +3367,7 @@ int search_mapserver(unsigned short map, uint32 ip, uint16 port)
 	return -1;
 	return -1;
 }
 }
 
 
-// char_mapifの初期化処理(現在はinter_mapif初期化のみ)
+// Initialization process (currently only initialization inter_mapif)
 static int char_mapif_init(int fd)
 static int char_mapif_init(int fd)
 {
 {
 	return inter_mapif_init(fd);
 	return inter_mapif_init(fd);
@@ -4728,7 +4728,7 @@ int do_init(int argc, char **argv)
 
 
 	ShowInfo("Finished reading the char-server configuration.\n");
 	ShowInfo("Finished reading the char-server configuration.\n");
 
 
-	inter_init_sql((argc > 2) ? argv[2] : inter_cfgName); // inter server テハア篳ュ
+	inter_init_sql((argc > 2) ? argv[2] : inter_cfgName); // inter server configuration
 	ShowInfo("Finished reading the inter-server configuration.\n");
 	ShowInfo("Finished reading the inter-server configuration.\n");
 	
 	
 	ShowInfo("Initializing char server.\n");
 	ShowInfo("Initializing char server.\n");
@@ -4764,10 +4764,10 @@ int do_init(int argc, char **argv)
 	add_timer_func_list(broadcast_user_count, "broadcast_user_count");
 	add_timer_func_list(broadcast_user_count, "broadcast_user_count");
 	add_timer_interval(gettick() + 1000, broadcast_user_count, 0, 0, 5 * 1000);
 	add_timer_interval(gettick() + 1000, broadcast_user_count, 0, 0, 5 * 1000);
 
 
-	// ???
+	// Timer to clear (online_char_db)
 	add_timer_func_list(chardb_waiting_disconnect, "chardb_waiting_disconnect");
 	add_timer_func_list(chardb_waiting_disconnect, "chardb_waiting_disconnect");
 
 
-	// ???
+	// Online Data timers (checking if char still connected)
 	add_timer_func_list(online_data_cleanup, "online_data_cleanup");
 	add_timer_func_list(online_data_cleanup, "online_data_cleanup");
 	add_timer_interval(gettick() + 1000, online_data_cleanup, 0, 0, 600 * 1000);
 	add_timer_interval(gettick() + 1000, online_data_cleanup, 0, 0, 600 * 1000);
 
 

+ 9 - 7
src/char/int_guild.c

@@ -1142,7 +1142,7 @@ int mapif_guild_castle_dataload(int fd, int sz, int *castle_ids)
 // Packet received from map server
 // Packet received from map server
 
 
 
 
-// ギルド作成要求
+// Guild creation request
 int mapif_parse_CreateGuild(int fd,int account_id,char *name,struct guild_member *master)
 int mapif_parse_CreateGuild(int fd,int account_id,char *name,struct guild_member *master)
 {
 {
 	struct guild *g;
 	struct guild *g;
@@ -1837,11 +1837,13 @@ int mapif_parse_GuildMasterChange(int fd, int guild_id, const char* name, int le
 	return mapif_guild_master_changed(g, g->member[0].account_id, g->member[0].char_id);
 	return mapif_guild_master_changed(g, g->member[0].account_id, g->member[0].char_id);
 }
 }
 
 
-// map server からの通信
-// ・1パケットのみ解析すること
-// ・パケット長データはinter.cにセットしておくこと
-// ・パケット長チェックや、RFIFOSKIPは呼び出し元で行われるので行ってはならない
-// ・エラーなら0(false)、そうでないなら1(true)をかえさなければならない
+// Communication from the map server
+// - Can analyzed only one by one packet
+// Data packet length that you set to inter.c
+//- Shouldn't do checking and packet length, RFIFOSKIP is done by the caller
+// Must Return
+//	1 : ok
+//  0 : error
 int inter_guild_parse_frommap(int fd)
 int inter_guild_parse_frommap(int fd)
 {
 {
 	RFIFOHEAD(fd);
 	RFIFOHEAD(fd);
@@ -1871,7 +1873,7 @@ int inter_guild_parse_frommap(int fd)
 	return 1;
 	return 1;
 }
 }
 
 
-// サーバーから脱退要求(キャラ削除用)
+//Leave request from the server (for deleting character from guild)
 int inter_guild_leave(int guild_id, int account_id, int char_id)
 int inter_guild_leave(int guild_id, int account_id, int char_id)
 {
 {
 	return mapif_parse_GuildLeave(-1, guild_id, account_id, char_id, 0, "** Character Deleted **");
 	return mapif_parse_GuildLeave(-1, guild_id, account_id, char_id, 0, "** Character Deleted **");

+ 34 - 23
src/char/int_party.c

@@ -324,9 +324,10 @@ int party_check_empty(struct party_data *p)
 }
 }
 
 
 //-------------------------------------------------------------------
 //-------------------------------------------------------------------
-// map serverへの通信
+// Communication to the map server
 
 
-// パーティ作成可否
+
+// Create a party whether or not
 int mapif_party_created(int fd,int account_id,int char_id,struct party *p)
 int mapif_party_created(int fd,int account_id,int char_id,struct party *p)
 {
 {
 	WFIFOHEAD(fd, 39);
 	WFIFOHEAD(fd, 39);
@@ -348,7 +349,7 @@ int mapif_party_created(int fd,int account_id,int char_id,struct party *p)
 	return 0;
 	return 0;
 }
 }
 
 
-// パーティ情報見つからず
+//Party information not found
 static void mapif_party_noinfo(int fd, int party_id, int char_id)
 static void mapif_party_noinfo(int fd, int party_id, int char_id)
 {
 {
 	WFIFOHEAD(fd, 12);
 	WFIFOHEAD(fd, 12);
@@ -359,7 +360,8 @@ static void mapif_party_noinfo(int fd, int party_id, int char_id)
 	WFIFOSET(fd,12);
 	WFIFOSET(fd,12);
 	ShowWarning("int_party: info not found (party_id=%d char_id=%d)\n", party_id, char_id);
 	ShowWarning("int_party: info not found (party_id=%d char_id=%d)\n", party_id, char_id);
 }
 }
-// パーティ情報まとめ送り
+
+//Digest party information
 static void mapif_party_info(int fd, struct party* p, int char_id)
 static void mapif_party_info(int fd, struct party* p, int char_id)
 {
 {
 	unsigned char buf[8 + sizeof(struct party)];
 	unsigned char buf[8 + sizeof(struct party)];
@@ -373,7 +375,8 @@ static void mapif_party_info(int fd, struct party* p, int char_id)
 	else
 	else
 		mapif_send(fd,buf,WBUFW(buf,2));
 		mapif_send(fd,buf,WBUFW(buf,2));
 }
 }
-// パーティメンバ追加可否
+
+//Whether or not additional party members
 int mapif_party_memberadded(int fd, int party_id, int account_id, int char_id, int flag) {
 int mapif_party_memberadded(int fd, int party_id, int account_id, int char_id, int flag) {
 	WFIFOHEAD(fd, 15);
 	WFIFOHEAD(fd, 15);
 	WFIFOW(fd,0) = 0x3822;
 	WFIFOW(fd,0) = 0x3822;
@@ -386,7 +389,7 @@ int mapif_party_memberadded(int fd, int party_id, int account_id, int char_id, i
 	return 0;
 	return 0;
 }
 }
 
 
-// パーティ設定変更通知
+// Party setting change notification
 int mapif_party_optionchanged(int fd,struct party *p,int account_id,int flag)
 int mapif_party_optionchanged(int fd,struct party *p,int account_id,int flag)
 {
 {
 	unsigned char buf[16];
 	unsigned char buf[16];
@@ -403,7 +406,7 @@ int mapif_party_optionchanged(int fd,struct party *p,int account_id,int flag)
 	return 0;
 	return 0;
 }
 }
 
 
-// パーティ脱退通知
+//Withdrawal notification party
 int mapif_party_withdraw(int party_id,int account_id, int char_id) {
 int mapif_party_withdraw(int party_id,int account_id, int char_id) {
 	unsigned char buf[16];
 	unsigned char buf[16];
 
 
@@ -415,7 +418,7 @@ int mapif_party_withdraw(int party_id,int account_id, int char_id) {
 	return 0;
 	return 0;
 }
 }
 
 
-// パーティマップ更新通知
+//Party map update notification
 int mapif_party_membermoved(struct party *p,int idx)
 int mapif_party_membermoved(struct party *p,int idx)
 {
 {
 	unsigned char buf[20];
 	unsigned char buf[20];
@@ -431,7 +434,7 @@ int mapif_party_membermoved(struct party *p,int idx)
 	return 0;
 	return 0;
 }
 }
 
 
-// パーティ解散通知
+//Dissolution party notification
 int mapif_party_broken(int party_id,int flag)
 int mapif_party_broken(int party_id,int flag)
 {
 {
 	unsigned char buf[16];
 	unsigned char buf[16];
@@ -442,7 +445,8 @@ int mapif_party_broken(int party_id,int flag)
 	//printf("int_party: broken %d\n",party_id);
 	//printf("int_party: broken %d\n",party_id);
 	return 0;
 	return 0;
 }
 }
-// パーティ内発言
+
+//Remarks in the party
 int mapif_party_message(int party_id,int account_id,char *mes,int len, int sfd)
 int mapif_party_message(int party_id,int account_id,char *mes,int len, int sfd)
 {
 {
 	unsigned char buf[512];
 	unsigned char buf[512];
@@ -456,7 +460,7 @@ int mapif_party_message(int party_id,int account_id,char *mes,int len, int sfd)
 }
 }
 
 
 //-------------------------------------------------------------------
 //-------------------------------------------------------------------
-// map serverからの通信
+// Communication from the map server
 
 
 
 
 // Create Party
 // Create Party
@@ -507,7 +511,8 @@ int mapif_parse_CreateParty(int fd, char *name, int item, int item2, struct part
 
 
 	return 0;
 	return 0;
 }
 }
-// パーティ情報要求
+
+// Party information request
 static void mapif_parse_PartyInfo(int fd, int party_id, int char_id)
 static void mapif_parse_PartyInfo(int fd, int party_id, int char_id)
 {
 {
 	struct party_data *p;
 	struct party_data *p;
@@ -518,7 +523,8 @@ static void mapif_parse_PartyInfo(int fd, int party_id, int char_id)
 	else
 	else
 		mapif_party_noinfo(fd, party_id, char_id);
 		mapif_party_noinfo(fd, party_id, char_id);
 }
 }
-// パーティ追加要求
+
+// Add a player to party request
 int mapif_parse_PartyAddMember(int fd, int party_id, struct party_member *member)
 int mapif_parse_PartyAddMember(int fd, int party_id, struct party_member *member)
 {
 {
 	struct party_data *p;
 	struct party_data *p;
@@ -556,7 +562,7 @@ int mapif_parse_PartyAddMember(int fd, int party_id, struct party_member *member
 	return 0;
 	return 0;
 }
 }
 
 
-// パーティー設定変更要求
+//Party setting change request
 int mapif_parse_PartyChangeOption(int fd,int party_id,int account_id,int exp,int item)
 int mapif_parse_PartyChangeOption(int fd,int party_id,int account_id,int exp,int item)
 {
 {
 	struct party_data *p;
 	struct party_data *p;
@@ -576,7 +582,8 @@ int mapif_parse_PartyChangeOption(int fd,int party_id,int account_id,int exp,int
 	inter_party_tosql(&p->party, PS_BASIC, 0);
 	inter_party_tosql(&p->party, PS_BASIC, 0);
 	return 0;
 	return 0;
 }
 }
-// パーティ脱退要求
+
+//Request leave party
 int mapif_parse_PartyLeave(int fd, int party_id, int account_id, int char_id)
 int mapif_parse_PartyLeave(int fd, int party_id, int account_id, int char_id)
 {
 {
 	struct party_data *p;
 	struct party_data *p;
@@ -684,7 +691,7 @@ int mapif_parse_PartyChangeMap(int fd, int party_id, int account_id, int char_id
 	return 0;
 	return 0;
 }
 }
 
 
-// パーティ解散要求
+//Request party dissolution
 int mapif_parse_BreakParty(int fd,int party_id)
 int mapif_parse_BreakParty(int fd,int party_id)
 {
 {
 	struct party_data *p;
 	struct party_data *p;
@@ -697,7 +704,8 @@ int mapif_parse_BreakParty(int fd,int party_id)
 	mapif_party_broken(fd,party_id);
 	mapif_party_broken(fd,party_id);
 	return 0;
 	return 0;
 }
 }
-// パーティメッセージ送信
+
+//Party sending the message
 int mapif_parse_PartyMessage(int fd,int party_id,int account_id,char *mes,int len)
 int mapif_parse_PartyMessage(int fd,int party_id,int account_id,char *mes,int len)
 {
 {
 	return mapif_party_message(party_id,account_id,mes,len, fd);
 	return mapif_party_message(party_id,account_id,mes,len, fd);
@@ -727,11 +735,14 @@ int mapif_parse_PartyLeaderChange(int fd,int party_id,int account_id,int char_id
 	return 1;
 	return 1;
 }
 }
 
 
-// map server からの通信
-// ・1パケットのみ解析すること
-// ・パケット長データはinter.cにセットしておくこと
-// ・パケット長チェックや、RFIFOSKIPは呼び出し元で行われるので行ってはならない
-// ・エラーなら0(false)、そうでないなら1(true)をかえさなければならない
+
+// Communication from the map server
+//-Analysis that only one packet
+// Data packet length is set to inter.c that you
+// Do NOT go and check the packet length, RFIFOSKIP is done by the caller
+// Return :
+// 	0 : error
+//	1 : ok
 int inter_party_parse_frommap(int fd)
 int inter_party_parse_frommap(int fd)
 {
 {
 	RFIFOHEAD(fd);
 	RFIFOHEAD(fd);
@@ -751,7 +762,7 @@ int inter_party_parse_frommap(int fd)
 	return 1;
 	return 1;
 }
 }
 
 
-// サーバーから脱退要求(キャラ削除用)
+//Leave request from the server (for delete character)
 int inter_party_leave(int party_id,int account_id, int char_id)
 int inter_party_leave(int party_id,int account_id, int char_id)
 {
 {
 	return mapif_parse_PartyLeave(-1,party_id,account_id, char_id);
 	return mapif_parse_PartyLeave(-1,party_id,account_id, char_id);

+ 4 - 4
src/char/inter.c

@@ -28,8 +28,8 @@
 #include <sys/stat.h> // for stat/lstat/fstat - [Dekamaster/Ultimate GM Tool]
 #include <sys/stat.h> // for stat/lstat/fstat - [Dekamaster/Ultimate GM Tool]
 
 
 
 
-#define WISDATA_TTL (60*1000)	// Wisデータの生存時間(60秒)
-#define WISDELLIST_MAX 256			// Wisデータ削除リストの要素数
+#define WISDATA_TTL (60*1000)	//Wis data Time To Live (60 seconds)
+#define WISDELLIST_MAX 256		// Number of elements in the list Delete data Wis
 
 
 
 
 Sql* sql_handle = NULL;
 Sql* sql_handle = NULL;
@@ -1203,11 +1203,11 @@ int inter_parse_frommap(int fd)
 	int cmd;
 	int cmd;
 	int len = 0;
 	int len = 0;
 	cmd = RFIFOW(fd,0);
 	cmd = RFIFOW(fd,0);
-	// inter鯖管轄かを調べる
+	// Check is valid packet entry
 	if(cmd < 0x3000 || cmd >= 0x3000 + ARRAYLENGTH(inter_recv_packet_length) || inter_recv_packet_length[cmd - 0x3000] == 0)
 	if(cmd < 0x3000 || cmd >= 0x3000 + ARRAYLENGTH(inter_recv_packet_length) || inter_recv_packet_length[cmd - 0x3000] == 0)
 		return 0;
 		return 0;
 
 
-	// パケット長を調べる
+	// Check packet length
 	if((len = inter_check_length(fd, inter_recv_packet_length[cmd - 0x3000])) == 0)
 	if((len = inter_check_length(fd, inter_recv_packet_length[cmd - 0x3000])) == 0)
 		return 2;
 		return 2;
 
 

+ 3 - 3
src/common/db.c

@@ -2743,7 +2743,7 @@ void* linkdb_search( struct linkdb_node** head, void *key)
 	while( node ) {
 	while( node ) {
 		if( node->key == key ) {
 		if( node->key == key ) {
 			if( node->prev && n > 5 ) {
 			if( node->prev && n > 5 ) {
-				// 処理効率改善の為にheadに移動させる
+				//Moving the head in order to improve processing efficiency
 				if(node->prev) node->prev->next = node->next;
 				if(node->prev) node->prev->next = node->next;
 				if(node->next) node->next->prev = node->prev;
 				if(node->next) node->next->prev = node->prev;
 				node->next = *head;
 				node->next = *head;
@@ -2790,7 +2790,7 @@ void linkdb_replace( struct linkdb_node** head, void *key, void *data )
 	while( node ) {
 	while( node ) {
 		if( node->key == key ) {
 		if( node->key == key ) {
 			if( node->prev && n > 5 ) {
 			if( node->prev && n > 5 ) {
-				// 処理効率改善の為にheadに移動させる
+				//Moving the head in order to improve processing efficiency
 				if(node->prev) node->prev->next = node->next;
 				if(node->prev) node->prev->next = node->next;
 				if(node->next) node->next->prev = node->prev;
 				if(node->next) node->next->prev = node->prev;
 				node->next = *head;
 				node->next = *head;
@@ -2804,7 +2804,7 @@ void linkdb_replace( struct linkdb_node** head, void *key, void *data )
 		node = node->next;
 		node = node->next;
 		n++;
 		n++;
 	}
 	}
-	// 見つからないので挿入
+	//Insert because it can not find
 	linkdb_insert( head, key, data );
 	linkdb_insert( head, key, data );
 }
 }
 
 

+ 7 - 7
src/common/mmo.h

@@ -536,15 +536,15 @@ struct fame_list {
 	char name[NAME_LENGTH];
 	char name[NAME_LENGTH];
 };
 };
 
 
-enum {
-	GBI_EXP	=1,		// ギルドのEXP
-	GBI_GUILDLV,		// ギルドのLv
-	GBI_SKILLPOINT,		// ギルドのスキルポイント
-	GBI_SKILLLV,		// ギルドスキルLv
+enum { //Change Guild Infos 
+	GBI_EXP	=1,		// Guild Experience (EXP)
+	GBI_GUILDLV,		// Guild level
+	GBI_SKILLPOINT,		// Guild skillpoints
+	GBI_SKILLLV,		// Guild skilllv ?? seem unused
 };
 };
 
 
-enum {
-	GMI_POSITION	=0,		// メンバーの役職変更
+enum { //Change Member Infos
+	GMI_POSITION	=0,		
 	GMI_EXP,
 	GMI_EXP,
 	GMI_HAIR,
 	GMI_HAIR,
 	GMI_HAIR_COLOR,
 	GMI_HAIR_COLOR,

+ 13 - 13
src/map/atcommand.c

@@ -1151,7 +1151,7 @@ ACMD_FUNC(jobchange)
 	if (job == 13 || job == 21 || job == 22 || job == 26 || job == 27 || job == 4014 || job == 4022 || job == 4036 || job == 4044 || job == 4048
 	if (job == 13 || job == 21 || job == 22 || job == 26 || job == 27 || job == 4014 || job == 4022 || job == 4036 || job == 4044 || job == 4048
 		 || (job >= JOB_RUNE_KNIGHT2 && job <= JOB_MECHANIC_T2) || (job >= JOB_BABY_RUNE2 && job <= JOB_BABY_MECHANIC2)
 		 || (job >= JOB_RUNE_KNIGHT2 && job <= JOB_MECHANIC_T2) || (job >= JOB_BABY_RUNE2 && job <= JOB_BABY_MECHANIC2)
 	) // Deny direct transformation into dummy jobs
 	) // Deny direct transformation into dummy jobs
-		{clif_displaymessage(fd, "You can not change to this job by command.");
+		{clif_displaymessage(fd, msg_txt(923)); //"You can not change to this job by command."
 		return 0;}
 		return 0;}
 
 
 	if (pcdb_checkid(job))
 	if (pcdb_checkid(job))
@@ -5196,7 +5196,7 @@ ACMD_FUNC(killer)
 	if(sd->state.killer)
 	if(sd->state.killer)
 		clif_displaymessage(fd, msg_txt(241));
 		clif_displaymessage(fd, msg_txt(241));
 	else {
 	else {
-		clif_displaymessage(fd, msg_txt(287));
+		clif_displaymessage(fd, msg_txt(292));
 		pc_stop_attack(sd);
 		pc_stop_attack(sd);
 	}
 	}
 	return 0;
 	return 0;
@@ -7461,17 +7461,17 @@ ACMD_FUNC(size)
 	int size = 0;
 	int size = 0;
 	nullpo_retr(-1, sd);
 	nullpo_retr(-1, sd);
 
 
-	size = cap_value(atoi(message),0,2);
+	size = cap_value(atoi(message),SZ_SMALL,SZ_BIG);
 	
 	
 	if(sd->state.size) {
 	if(sd->state.size) {
-		sd->state.size = 0;
+		sd->state.size = SZ_SMALL;
 		pc_setpos(sd, sd->mapindex, sd->bl.x, sd->bl.y, CLR_TELEPORT);
 		pc_setpos(sd, sd->mapindex, sd->bl.x, sd->bl.y, CLR_TELEPORT);
 	}
 	}
 
 
 	sd->state.size = size;
 	sd->state.size = size;
-	if( size == 1 )
+	if( size == SZ_MEDIUM )
 		clif_specialeffect(&sd->bl,420,AREA);
 		clif_specialeffect(&sd->bl,420,AREA);
-	else if( size == 2 )
+	else if( size == SZ_BIG )
 		clif_specialeffect(&sd->bl,422,AREA);
 		clif_specialeffect(&sd->bl,422,AREA);
 
 
 	clif_displaymessage(fd, msg_txt(1303)); // Size change applied.
 	clif_displaymessage(fd, msg_txt(1303)); // Size change applied.
@@ -7491,14 +7491,14 @@ ACMD_FUNC(sizeall)
 	for( pl_sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); pl_sd = (TBL_PC*)mapit_next(iter) ) {
 	for( pl_sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); pl_sd = (TBL_PC*)mapit_next(iter) ) {
 		if( pl_sd->state.size != size ) {
 		if( pl_sd->state.size != size ) {
 			if( pl_sd->state.size ) {
 			if( pl_sd->state.size ) {
-				pl_sd->state.size = 0;
+				pl_sd->state.size = SZ_SMALL;
 				pc_setpos(pl_sd, pl_sd->mapindex, pl_sd->bl.x, pl_sd->bl.y, CLR_TELEPORT);
 				pc_setpos(pl_sd, pl_sd->mapindex, pl_sd->bl.x, pl_sd->bl.y, CLR_TELEPORT);
 			}
 			}
 
 
 			pl_sd->state.size = size;
 			pl_sd->state.size = size;
-			if( size == 1 )
+			if( size == SZ_MEDIUM )
 				clif_specialeffect(&pl_sd->bl,420,AREA);
 				clif_specialeffect(&pl_sd->bl,420,AREA);
-			else if( size == 2 )
+			else if( size == SZ_BIG )
 				clif_specialeffect(&pl_sd->bl,422,AREA);
 				clif_specialeffect(&pl_sd->bl,422,AREA);
 		}
 		}
 	}
 	}
@@ -7528,19 +7528,19 @@ ACMD_FUNC(sizeguild)
 		return -1;
 		return -1;
 	}
 	}
 	
 	
-	size = cap_value(size,0,2);
+	size = cap_value(size,SZ_SMALL,SZ_BIG);
 	
 	
 	for( i = 0; i < g->max_member; i++ ) {
 	for( i = 0; i < g->max_member; i++ ) {
 		if( (pl_sd = g->member[i].sd) && pl_sd->state.size != size ) {
 		if( (pl_sd = g->member[i].sd) && pl_sd->state.size != size ) {
 			if( pl_sd->state.size ) {
 			if( pl_sd->state.size ) {
-				pl_sd->state.size = 0;
+				pl_sd->state.size = SZ_SMALL;
 				pc_setpos(pl_sd, pl_sd->mapindex, pl_sd->bl.x, pl_sd->bl.y, CLR_TELEPORT);
 				pc_setpos(pl_sd, pl_sd->mapindex, pl_sd->bl.x, pl_sd->bl.y, CLR_TELEPORT);
 			}
 			}
 
 
 			pl_sd->state.size = size;
 			pl_sd->state.size = size;
-			if( size == 1 )
+			if( size == SZ_MEDIUM )
 				clif_specialeffect(&pl_sd->bl,420,AREA);
 				clif_specialeffect(&pl_sd->bl,420,AREA);
-			else if( size == 2 )
+			else if( size == SZ_BIG )
 				clif_specialeffect(&pl_sd->bl,422,AREA);
 				clif_specialeffect(&pl_sd->bl,422,AREA);
 		}
 		}
 	}
 	}

+ 81 - 70
src/map/battle.c

@@ -197,7 +197,7 @@ struct block_list* battle_getenemyarea(struct block_list *src, int x, int y, int
 	return bl_list[rnd()%c];
 	return bl_list[rnd()%c];
 }
 }
 
 
-// ダ??[ジの遅延
+// Dammage delayed info
 struct delay_damage {
 struct delay_damage {
 	int src_id;
 	int src_id;
 	int target_id;
 	int target_id;
@@ -350,29 +350,38 @@ int battle_attr_fix(struct block_list *src, struct block_list *target, int damag
 			}
 			}
 		}
 		}
 	}
 	}
-	if( tsc && tsc->count ) {
-		if( tsc->data[SC_SPIDERWEB] && atk_elem == ELE_FIRE ){
-			tsc->data[SC_SPIDERWEB]->val1 = 0; // free to move now
-			if( tsc->data[SC_SPIDERWEB]->val2-- > 0 )
-				damage <<= 1; // double damage
-			if( tsc->data[SC_SPIDERWEB]->val2 == 0 )
-				status_change_end(target, SC_SPIDERWEB, INVALID_TIMER);
-		}
-		if( tsc->data[SC_ORATIO] && atk_elem == ELE_HOLY )
-			ratio += tsc->data[SC_ORATIO]->val1 * 2;
-		if( tsc->data[SC_VENOMIMPRESS] && atk_elem == ELE_POISON )
-			ratio += tsc->data[SC_VENOMIMPRESS]->val2;
-		if( tsc->data[SC_THORNSTRAP] && atk_elem == ELE_FIRE )
-			status_change_end(target, SC_THORNSTRAP, -1);
-		if( tsc->data[SC_FIRE_CLOAK_OPTION] && atk_elem == ELE_FIRE )
-			damage -= damage * tsc->data[SC_FIRE_CLOAK_OPTION]->val2 / 100;	
-		if( tsc->data[SC_CRYSTALIZE] && target->type != BL_MOB){
-			if( atk_elem == ELE_WIND)
-				damage = damage * 150 / 100;
-			if( atk_elem == ELE_FIRE )
-				status_change_end(target, SC_CRYSTALIZE, INVALID_TIMER);
-		}
-	}
+	if( tsc && tsc->count ) { //since an atk can only have one type let's optimise this a bit
+		switch(atk_elem){
+			case ELE_FIRE:
+				if (tsc->data[SC_SPIDERWEB]) {
+					tsc->data[SC_SPIDERWEB]->val1 = 0; // free to move now
+					if( tsc->data[SC_SPIDERWEB]->val2-- > 0 )
+						damage <<= 1; // double damage
+					if( tsc->data[SC_SPIDERWEB]->val2 == 0 )
+						status_change_end(target, SC_SPIDERWEB, INVALID_TIMER);
+				}
+				if( tsc->data[SC_THORNSTRAP])
+					status_change_end(target, SC_THORNSTRAP, INVALID_TIMER);
+				if( tsc->data[SC_FIRE_CLOAK_OPTION])
+					damage -= damage * tsc->data[SC_FIRE_CLOAK_OPTION]->val2 / 100;
+				if( tsc->data[SC_CRYSTALIZE] && target->type != BL_MOB){
+					status_change_end(target, SC_CRYSTALIZE, INVALID_TIMER);
+				}
+				break;
+			case ELE_HOLY:
+				if( tsc->data[SC_ORATIO])
+					ratio += tsc->data[SC_ORATIO]->val1 * 2;
+				break;
+			case ELE_POISON:
+				if( tsc->data[SC_VENOMIMPRESS])
+					ratio += tsc->data[SC_VENOMIMPRESS]->val2;
+				break;	
+			case ELE_WIND:
+				if( tsc->data[SC_CRYSTALIZE] && target->type != BL_MOB)
+					damage = damage * 150 / 100;
+				break;			
+		}			
+	} //end tsc check
 	if( src && src->type == BL_PC ){
 	if( src && src->type == BL_PC ){
 		struct map_session_data *sd = BL_CAST(BL_PC, src);
 		struct map_session_data *sd = BL_CAST(BL_PC, src);
 		int s;
 		int s;
@@ -395,7 +404,9 @@ int battle_attr_fix(struct block_list *src, struct block_list *target, int damag
 }
 }
 
 
 /*==========================================
 /*==========================================
- * ダ??[ジ??I計算
+ * Check dammage trough status.
+ * ATK may be MISS, BLOCKED FAIL, reduc, increase, end status...
+ * After this we apply bg/gvg reduction
  *------------------------------------------*/
  *------------------------------------------*/
 int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damage *d,int damage,int skill_num,int skill_lv)
 int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damage *d,int damage,int skill_num,int skill_lv)
 {
 {
@@ -1002,7 +1013,7 @@ int battle_calc_gvg_damage(struct block_list *src,struct block_list *bl,int dama
 }
 }
 
 
 /*==========================================
 /*==========================================
- * HP/SP吸収の計算
+ * HP/SP drain calculation
  *------------------------------------------*/
  *------------------------------------------*/
 static int battle_calc_drain(int damage, int rate, int per)
 static int battle_calc_drain(int damage, int rate, int per)
 {
 {
@@ -1021,7 +1032,7 @@ static int battle_calc_drain(int damage, int rate, int per)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * ?C練ダ??[ジ
+ * Passif skill dammages increases
  *------------------------------------------*/
  *------------------------------------------*/
 int battle_addmastery(struct map_session_data *sd,struct block_list *target,int dmg,int type)
 int battle_addmastery(struct map_session_data *sd,struct block_list *target,int dmg,int type)
 {
 {
@@ -2158,7 +2169,7 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 								&& sd->inventory_data[index]->type == IT_WEAPON )
 								&& sd->inventory_data[index]->type == IT_WEAPON )
 								skillratio += max(10000 - sd->inventory_data[index]->weight, 0) / 10;
 								skillratio += max(10000 - sd->inventory_data[index]->weight, 0) / 10;
 							skillratio += 50 * pc_checkskill(sd,LK_SPIRALPIERCE);
 							skillratio += 50 * pc_checkskill(sd,LK_SPIRALPIERCE);
-						} // (1 + [(Caster Base Level - 100) / 200])
+						} // (1 + [(Casters Base Level - 100) / 200])
 						skillratio = skillratio * (100 + (status_get_lv(src)-100) / 2) / 100;
 						skillratio = skillratio * (100 + (status_get_lv(src)-100) / 2) / 100;
 					break;
 					break;
 				case RK_WINDCUTTER:
 				case RK_WINDCUTTER:
@@ -2333,7 +2344,7 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 						skillratio += -100 + 15 * 200;
 						skillratio += -100 + 15 * 200;
 					RE_LVL_DMOD(100);
 					RE_LVL_DMOD(100);
 					break;
 					break;
-				case LG_SHIELDSPELL:// [(Caster痴 Base Level x 4) + (Shield DEF x 10) + (Caster痴 VIT x 2)] %
+				case LG_SHIELDSPELL:// [(Casters Base Level x 4) + (Shield DEF x 10) + (Casters VIT x 2)] %
 					if( sd ) { 
 					if( sd ) { 
 						struct item_data *shield_data = sd->inventory_data[sd->equip_index[EQI_HAND_L]];
 						struct item_data *shield_data = sd->inventory_data[sd->equip_index[EQI_HAND_L]];
 						skillratio = status_get_lv(src) * 4 + status_get_vit(src) * 2;
 						skillratio = status_get_lv(src) * 4 + status_get_vit(src) * 2;
@@ -2374,34 +2385,34 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 					RE_LVL_DMOD(100);
 					RE_LVL_DMOD(100);
 					break;
 					break;
 				case SR_SKYNETBLOW:
 				case SR_SKYNETBLOW:
-					//ATK [{(Skill Level x 80) + (Caster AGI)} x Caster Base Level / 100] %
+					//ATK [{(Skill Level x 80) + (Caster AGI)} x Caster Base Level / 100] %
 					skillratio = 80 * skill_lv + sstatus->agi;
 					skillratio = 80 * skill_lv + sstatus->agi;
-					if( sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == SR_DRAGONCOMBO )//ATK [{(Skill Level x 100) + (Caster AGI) + 150} x Caster Base Level / 100] %
+					if( sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == SR_DRAGONCOMBO )//ATK [{(Skill Level x 100) + (Caster AGI) + 150} x Caster Base Level / 100] %
 						skillratio = 100 * skill_lv + sstatus->agi + 150;
 						skillratio = 100 * skill_lv + sstatus->agi + 150;
 					RE_LVL_DMOD(100);
 					RE_LVL_DMOD(100);
 					break;
 					break;
 				case SR_EARTHSHAKER:
 				case SR_EARTHSHAKER:
-					if( tsc && (tsc->data[SC_HIDING] || tsc->data[SC_CLOAKING] || // [(Skill Level x 150) x (Caster Base Level / 100) + (Caster INT x 3)] %
+					if( tsc && (tsc->data[SC_HIDING] || tsc->data[SC_CLOAKING] || // [(Skill Level x 150) x (Caster Base Level / 100) + (Caster INT x 3)] %
 						tsc->data[SC_CHASEWALK] || tsc->data[SC_CLOAKINGEXCEED] || tsc->data[SC__INVISIBILITY]) ){
 						tsc->data[SC_CHASEWALK] || tsc->data[SC_CLOAKINGEXCEED] || tsc->data[SC__INVISIBILITY]) ){
 						skillratio = 150 * skill_lv;
 						skillratio = 150 * skill_lv;
 						RE_LVL_DMOD(100);
 						RE_LVL_DMOD(100);
 						skillratio += sstatus->int_ * 3;
 						skillratio += sstatus->int_ * 3;
-					}else{ //[(Skill Level x 50) x (Caster Base Level / 100) + (Caster INT x 2)] %
+					}else{ //[(Skill Level x 50) x (Caster Base Level / 100) + (Caster INT x 2)] %
 						skillratio += 50 * (skill_lv-2);
 						skillratio += 50 * (skill_lv-2);
 						RE_LVL_DMOD(100);
 						RE_LVL_DMOD(100);
 						skillratio += sstatus->int_ * 2;
 						skillratio += sstatus->int_ * 2;
 					}
 					}
 					break;
 					break;
-				case SR_FALLENEMPIRE:// ATK [(Skill Level x 150 + 100) x Caster Base Level / 150] % 
+				case SR_FALLENEMPIRE:// ATK [(Skill Level x 150 + 100) x Caster Base Level / 150] % 
 					skillratio += 150 *skill_lv;
 					skillratio += 150 *skill_lv;
 					RE_LVL_DMOD(150);
 					RE_LVL_DMOD(150);
  					break;
  					break;
-				case SR_TIGERCANNON:// ATK [((Caster consumed HP + SP) / 4) x Caster Base Level / 100] % 
+				case SR_TIGERCANNON:// ATK [((Caster consumed HP + SP) / 4) x Caster Base Level / 100] % 
 					{
 					{
 						int hp = sstatus->max_hp * (10 + 2 * skill_lv) / 100,
 						int hp = sstatus->max_hp * (10 + 2 * skill_lv) / 100,
 							sp = sstatus->max_sp * (6 + skill_lv) / 100;
 							sp = sstatus->max_sp * (6 + skill_lv) / 100;
 						skillratio = (hp+sp) / 4;
 						skillratio = (hp+sp) / 4;
-						if( sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == SR_FALLENEMPIRE ) // ATK [((Caster consumed HP + SP) / 2) x Caster Base Level / 100] %
+						if( sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == SR_FALLENEMPIRE ) // ATK [((Caster consumed HP + SP) / 2) x Caster Base Level / 100] %
 							skillratio = (hp+sp) / 2;
 							skillratio = (hp+sp) / 2;
 						RE_LVL_DMOD(100);
 						RE_LVL_DMOD(100);
 					}
 					}
@@ -2415,15 +2426,15 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 						RE_LVL_DMOD(150);
 						RE_LVL_DMOD(150);
 					break;
 					break;
 				case SR_KNUCKLEARROW:
 				case SR_KNUCKLEARROW:
-					if( wflag&4 ){  // ATK [(Skill Level x 150) + (1000 x Target current weight / Maximum weight) + (Target Base Level x 5) x (Caster Base Level / 150)] %
+					if( wflag&4 ){  // ATK [(Skill Level x 150) + (1000 x Target current weight / Maximum weight) + (Target Base Level x 5) x (Caster Base Level / 150)] %
 						skillratio = 150 * skill_lv + status_get_lv(target) * 5 * (status_get_lv(src) / 100) ;
 						skillratio = 150 * skill_lv + status_get_lv(target) * 5 * (status_get_lv(src) / 100) ;
 						if( tsd && tsd->weight )
 						if( tsd && tsd->weight )
 							skillratio += 100 * (tsd->weight / tsd->max_weight);
 							skillratio += 100 * (tsd->weight / tsd->max_weight);
-					}else // ATK [(Skill Level x 100 + 500) x Caster Base Level / 100] %
+					}else // ATK [(Skill Level x 100 + 500) x Caster Base Level / 100] %
 						skillratio += 400 + (100 * skill_lv);
 						skillratio += 400 + (100 * skill_lv);
 					RE_LVL_DMOD(100);
 					RE_LVL_DMOD(100);
 					break;
 					break;
-				case SR_WINDMILL: // ATK [(Caster Base Level + Caster DEX) x Caster Base Level / 100] %
+				case SR_WINDMILL: // ATK [(Caster Base Level + Caster DEX) x Caster Base Level / 100] %
 					skillratio = status_get_lv(src) + sstatus->dex;
 					skillratio = status_get_lv(src) + sstatus->dex;
 					RE_LVL_DMOD(100);
 					RE_LVL_DMOD(100);
 					break;
 					break;
@@ -2443,14 +2454,14 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 					skillratio += 300 * skill_lv - 100;
 					skillratio += 300 * skill_lv - 100;
 					RE_LVL_DMOD(150);
 					RE_LVL_DMOD(150);
 					break;
 					break;
-				case SR_RIDEINLIGHTNING: // ATK [{(Skill Level x 200) + Additional Damage} x Caster Base Level / 100] %
+				case SR_RIDEINLIGHTNING: // ATK [{(Skill Level x 200) + Additional Damage} x Caster Base Level / 100] %
 					if( (sstatus->rhw.ele) == ELE_WIND || (sstatus->lhw.ele) == ELE_WIND )
 					if( (sstatus->rhw.ele) == ELE_WIND || (sstatus->lhw.ele) == ELE_WIND )
 						skillratio += skill_lv * 50;
 						skillratio += skill_lv * 50;
 					skillratio += -100 + 200 * skill_lv;
 					skillratio += -100 + 200 * skill_lv;
 					RE_LVL_DMOD(100);
 					RE_LVL_DMOD(100);
 					break;
 					break;
 				case WM_REVERBERATION_MELEE:
 				case WM_REVERBERATION_MELEE:
-					// ATK [{(Skill Level x 100) + 300} x Caster Base Level / 100]
+					// ATK [{(Skill Level x 100) + 300} x Caster Base Level / 100]
 					skillratio += 200 + 100 * pc_checkskill(sd, WM_REVERBERATION);
 					skillratio += 200 + 100 * pc_checkskill(sd, WM_REVERBERATION);
 					RE_LVL_DMOD(100);
 					RE_LVL_DMOD(100);
 					break;
 					break;
@@ -2468,7 +2479,7 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 					skillratio += 400;
 					skillratio += 400;
 					break;
 					break;
 				case GN_CART_TORNADO:
 				case GN_CART_TORNADO:
-					// ATK [( Skill Level x 50 ) + ( Cart Weight / ( 150 - Caster Base STR ))] + ( Cart Remodeling Skill Level x 50 )] %
+					// ATK [( Skill Level x 50 ) + ( Cart Weight / ( 150 - Caster Base STR ))] + ( Cart Remodeling Skill Level x 50 )] %
 					skillratio = 50 * skill_lv;
 					skillratio = 50 * skill_lv;
 					if( sd && sd->cart_weight)
 					if( sd && sd->cart_weight)
 						 skillratio += sd->cart_weight/10 / max(150-sstatus->str,1) + pc_checkskill(sd, GN_REMODELING_CART) * 50;
 						 skillratio += sd->cart_weight/10 / max(150-sstatus->str,1) + pc_checkskill(sd, GN_REMODELING_CART) * 50;
@@ -2587,7 +2598,7 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 					if(sd) 
 					if(sd) 
 						ATK_ADD( 40 * pc_checkskill(sd, RA_RESEARCHTRAP) );
 						ATK_ADD( 40 * pc_checkskill(sd, RA_RESEARCHTRAP) );
 					break;
 					break;
-				case RA_WUGDASH://(Caster Current Weight x 10 / 8)
+				case RA_WUGDASH ://(Caster Current Weight x 10 / 8)
 					if( sd && sd->weight )
 					if( sd && sd->weight )
 						ATK_ADD( sd->weight / 8 );
 						ATK_ADD( sd->weight / 8 );
 				case RA_WUGSTRIKE:
 				case RA_WUGSTRIKE:
@@ -2609,13 +2620,13 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 						ATK_ADD ( (sstatus->max_sp * (1 + skill_lv * 2 / 10)) + 40 * status_get_lv(src) );
 						ATK_ADD ( (sstatus->max_sp * (1 + skill_lv * 2 / 10)) + 40 * status_get_lv(src) );
 					}
 					}
 					break;
 					break;
-				case SR_TIGERCANNON: // (Tiger Cannon skill level x 240) + (Target Base Level x 40)
+				case SR_TIGERCANNON: // (Tiger Cannon skill level x 240) + (Target Base Level x 40)
 					ATK_ADD( skill_lv * 240 + status_get_lv(target) * 40 );
 					ATK_ADD( skill_lv * 240 + status_get_lv(target) * 40 );
 					if( sc && sc->data[SC_COMBO] 
 					if( sc && sc->data[SC_COMBO] 
-						&& sc->data[SC_COMBO]->val1 == SR_FALLENEMPIRE ) // (Tiger Cannon skill level x 500) + (Target Base Level x 40)
+						&& sc->data[SC_COMBO]->val1 == SR_FALLENEMPIRE ) // (Tiger Cannon skill level x 500) + (Target Base Level x 40)
 							ATK_ADD( skill_lv * 500 + status_get_lv(target) * 40 );
 							ATK_ADD( skill_lv * 500 + status_get_lv(target) * 40 );
 					break;
 					break;
-				case SR_FALLENEMPIRE:// [(Target Size value + Skill Level - 1) x Caster STR] + [(Target current weight x Caster DEX / 120)]
+				case SR_FALLENEMPIRE:// [(Target Size value + Skill Level - 1) x Caster STR] + [(Target current weight x Caster DEX / 120)]
 					ATK_ADD( ((tstatus->size+1)*2 + skill_lv - 1) * sstatus->str);
 					ATK_ADD( ((tstatus->size+1)*2 + skill_lv - 1) * sstatus->str);
 					if( tsd && tsd->weight ){
 					if( tsd && tsd->weight ){
 						ATK_ADD( (tsd->weight/10) * sstatus->dex / 120 );
 						ATK_ADD( (tsd->weight/10) * sstatus->dex / 120 );
@@ -2854,7 +2865,7 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src,struct blo
 				ATK_ADD(10*sc->data[SC_GN_CARTBOOST]->val1);
 				ATK_ADD(10*sc->data[SC_GN_CARTBOOST]->val1);
 
 
 			if(sc->data[SC_GT_CHANGE] && sc->data[SC_GT_CHANGE]->val2){
 			if(sc->data[SC_GT_CHANGE] && sc->data[SC_GT_CHANGE]->val2){
-				struct block_list *bl; // ATK increase: ATK [{(Caster DEX / 4) + (Caster STR / 2)} x Skill Level / 5]
+				struct block_list *bl; // ATK increase: ATK [{(Caster DEX / 4) + (Caster STR / 2)} x Skill Level / 5]
 				if( (bl = map_id2bl(sc->data[SC_GT_CHANGE]->val2)) )
 				if( (bl = map_id2bl(sc->data[SC_GT_CHANGE]->val2)) )
 					ATK_ADD( ( status_get_dex(bl)/4 + status_get_str(bl)/2 ) * sc->data[SC_GT_CHANGE]->val1 / 5 );
 					ATK_ADD( ( status_get_dex(bl)/4 + status_get_str(bl)/2 ) * sc->data[SC_GT_CHANGE]->val1 / 5 );
 			}
 			}
@@ -3710,8 +3721,8 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 					case WL_HELLINFERNO:
 					case WL_HELLINFERNO:
 						skillratio = 300 * skill_lv;
 						skillratio = 300 * skill_lv;
 						RE_LVL_DMOD(100);	
 						RE_LVL_DMOD(100);	
-						// Shadow: MATK [{( Skill Level x 300 ) x ( Caster Base Level / 100 ) x 4/5 }] %
-						// Fire : MATK [{( Skill Level x 300 ) x ( Caster Base Level / 100 ) /5 }] %
+						// Shadow: MATK [{( Skill Level x 300 ) x ( Caster Base Level / 100 ) x 4/5 }] %
+						// Fire : MATK [{( Skill Level x 300 ) x ( Caster Base Level / 100 ) /5 }] %
 						if( mflag&ELE_DARK ){ skillratio *= 4; s_ele = ELE_DARK; }
 						if( mflag&ELE_DARK ){ skillratio *= 4; s_ele = ELE_DARK; }
 						skillratio /= 5;
 						skillratio /= 5;
 						break;
 						break;
@@ -3755,7 +3766,7 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 						skillratio = (skillratio + 200) * skill_lv;
 						skillratio = (skillratio + 200) * skill_lv;
 						RE_LVL_DMOD(100);
 						RE_LVL_DMOD(100);
 						break;
 						break;
-					case LG_SHIELDSPELL:// [(Caster痴 Base Level x 4) + (Shield MDEF x 100) + (Caster痴 INT x 2)] %
+					case LG_SHIELDSPELL:// [(Casters Base Level x 4) + (Shield MDEF x 100) + (Casters INT x 2)] %
 						if( sd ) { 
 						if( sd ) { 
 							skillratio = status_get_lv(src) * 4 + sd->bonus.shieldmdef * 100 + status_get_int(src) * 2;
 							skillratio = status_get_lv(src) * 4 + sd->bonus.shieldmdef * 100 + status_get_int(src) * 2;
 						} else
 						} else
@@ -3768,7 +3779,7 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 						skillratio += 50 * skill_lv;
 						skillratio += 50 * skill_lv;
 						break;
 						break;
 					case WM_REVERBERATION_MAGIC:
 					case WM_REVERBERATION_MAGIC:
-						// MATK [{(Skill Level x 100) + 100} x Caster Base Level / 100] %
+						// MATK [{(Skill Level x 100) + 100} x Casters Base Level / 100] %
 						skillratio += 100 * (sd ? pc_checkskill(sd, WM_REVERBERATION) : 1);
 						skillratio += 100 * (sd ? pc_checkskill(sd, WM_REVERBERATION) : 1);
 						RE_LVL_DMOD(100);
 						RE_LVL_DMOD(100);
 						break;
 						break;
@@ -4052,7 +4063,7 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
 }
 }
 
 
 /*==========================================
 /*==========================================
- * その他ダ??[ジ計算
+ * Calculate Misc dammage for skillid
  *------------------------------------------*/
  *------------------------------------------*/
 struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *target,int skill_num,int skill_lv,int mflag)
 struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *target,int skill_num,int skill_lv,int mflag)
 {
 {
@@ -4235,7 +4246,7 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
 		md.damage = 100 + 200 * skill_lv + sstatus->int_;
 		md.damage = 100 + 200 * skill_lv + sstatus->int_;
 		break;
 		break;
 	case GN_HELLS_PLANT_ATK:
 	case GN_HELLS_PLANT_ATK:
-		//[{( Hell Plant Skill Level x Caster痴 Base Level ) x 10 } + {( Caster痴 INT x 7 ) / 2 } x { 18 + ( Caster痴 Job Level / 4 )] x ( 5 / ( 10 - Summon Flora Skill Level ))
+		//[{( Hell Plant Skill Level x Casters Base Level ) x 10 } + {( Casters INT x 7 ) / 2 } x { 18 + ( Casters Job Level / 4 )] x ( 5 / ( 10 - Summon Flora Skill Level ))
 		md.damage = ( skill_lv * status_get_lv(src) * 10 ) + ( sstatus->int_ * 7 / 2 ) * ( 18 + (sd?sd->status.job_level:0) / 4 ) * ( 5 / (10 - (sd?pc_checkskill(sd,AM_CANNIBALIZE):0)) ); 
 		md.damage = ( skill_lv * status_get_lv(src) * 10 ) + ( sstatus->int_ * 7 / 2 ) * ( 18 + (sd?sd->status.job_level:0) / 4 ) * ( 5 / (10 - (sd?pc_checkskill(sd,AM_CANNIBALIZE):0)) ); 
 		break;
 		break;
 	case KO_HAPPOKUNAI:
 	case KO_HAPPOKUNAI:
@@ -4395,7 +4406,7 @@ struct Damage battle_calc_misc_attack(struct block_list *src,struct block_list *
 	return md;
 	return md;
 }
 }
 /*==========================================
 /*==========================================
- * ダ??[ジ計算一括?�?用
+ * Battle main entry, from skill_attack
  *------------------------------------------*/
  *------------------------------------------*/
 struct Damage battle_calc_attack(int attack_type,struct block_list *bl,struct block_list *target,int skill_num,int skill_lv,int count)
 struct Damage battle_calc_attack(int attack_type,struct block_list *bl,struct block_list *target,int skill_num,int skill_lv,int count)
 {
 {
@@ -4435,7 +4446,7 @@ int battle_calc_return_damage(struct block_list* bl, struct block_list *src, int
 		rdamage = (*dmg) * sc->data[SC_REFLECTDAMAGE]->val2 / 100;
 		rdamage = (*dmg) * sc->data[SC_REFLECTDAMAGE]->val2 / 100;
 		if( rdamage > max_damage ) rdamage = max_damage;
 		if( rdamage > max_damage ) rdamage = max_damage;
 	}else if( sc && sc->data[SC_CRESCENTELBOW] && !is_boss(src) && rnd()%100 < sc->data[SC_CRESCENTELBOW]->val2 ){
 	}else if( sc && sc->data[SC_CRESCENTELBOW] && !is_boss(src) && rnd()%100 < sc->data[SC_CRESCENTELBOW]->val2 ){
-		//ATK [{(Target HP / 100) x Skill Level} x Caster Base Level / 125] % + [Received damage x {1 + (Skill Level x 0.2)}]
+		//ATK [{(Target HP / 100) x Skill Level} x Caster Base Level / 125] % + [Received damage x {1 + (Skill Level x 0.2)}]
 		int ratio = (status_get_hp(src) / 100) * sc->data[SC_CRESCENTELBOW]->val1 * status_get_lv(bl) / 125;
 		int ratio = (status_get_hp(src) / 100) * sc->data[SC_CRESCENTELBOW]->val1 * status_get_lv(bl) / 125;
 		if (ratio > 5000) ratio = 5000; // Maximum of 5000% ATK
 		if (ratio > 5000) ratio = 5000; // Maximum of 5000% ATK
 		rdamage = rdamage * ratio / 100 + (*dmg) * (10 + sc->data[SC_CRESCENTELBOW]->val1 * 20 / 10) / 10;
 		rdamage = rdamage * ratio / 100 + (*dmg) * (10 + sc->data[SC_CRESCENTELBOW]->val1 * 20 / 10) / 10;
@@ -4564,7 +4575,7 @@ int battle_damage_area( struct block_list *bl, va_list ap) {
 	return 0;
 	return 0;
 }
 }
 /*==========================================
 /*==========================================
- * 通??U撃?�?まとめ
+ * Do a basic physical attack (call trough unit_attack_timer)
  *------------------------------------------*/
  *------------------------------------------*/
 enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* target, unsigned int tick, int flag) {
 enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* target, unsigned int tick, int flag) {
 	struct map_session_data *sd = NULL, *tsd = NULL;
 	struct map_session_data *sd = NULL, *tsd = NULL;
@@ -4631,13 +4642,12 @@ enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* t
 			}
 			}
 		}
 		}
 	}
 	}
-
-	if (sc && sc->data[SC_CLOAKING] && !(sc->data[SC_CLOAKING]->val4&2))
-		status_change_end(src, SC_CLOAKING, INVALID_TIMER);
-		
-	if (sc && sc->data[SC_CLOAKINGEXCEED] && !(sc->data[SC_CLOAKINGEXCEED]->val4&2))
-		status_change_end(src, SC_CLOAKINGEXCEED, INVALID_TIMER);
-
+    if (sc && sc->count) {
+        if (sc->data[SC_CLOAKING] && !(sc->data[SC_CLOAKING]->val4 & 2))
+            status_change_end(src, SC_CLOAKING, INVALID_TIMER);
+        else if (sc->data[SC_CLOAKINGEXCEED] && !(sc->data[SC_CLOAKINGEXCEED]->val4 & 2))
+            status_change_end(src, SC_CLOAKINGEXCEED, INVALID_TIMER);
+    }
 	if( tsc && tsc->data[SC_AUTOCOUNTER] && status_check_skilluse(target, src, KN_AUTOCOUNTER, 1) )
 	if( tsc && tsc->data[SC_AUTOCOUNTER] && status_check_skilluse(target, src, KN_AUTOCOUNTER, 1) )
 	{
 	{
 		int dir = map_calc_dir(target,src->x,src->y);
 		int dir = map_calc_dir(target,src->x,src->y);
@@ -5123,7 +5133,7 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
 		//All else not specified is an invalid target.
 		//All else not specified is an invalid target.
 		default:
 		default:
 			return 0;
 			return 0;
-	}
+    } //end switch actual target
 
 
 	switch( t_bl->type )
 	switch( t_bl->type )
 	{	//Checks on target master
 	{	//Checks on target master
@@ -5152,7 +5162,7 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
 			break;
 			break;
 		}
 		}
 		default: break; //other type doesn't have slave yet
 		default: break; //other type doesn't have slave yet
-	}
+    } //end switch master target
 
 
 	switch( src->type ) { //Checks on actual src type
 	switch( src->type ) { //Checks on actual src type
 		case BL_PET:
 		case BL_PET:
@@ -5179,7 +5189,7 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
 			if (t_bl->type == BL_MOB && ((TBL_MOB*)t_bl)->class_ == MOBID_EMPERIUM && flag&BCT_ENEMY)
 			if (t_bl->type == BL_MOB && ((TBL_MOB*)t_bl)->class_ == MOBID_EMPERIUM && flag&BCT_ENEMY)
 				return 0; //mercenary may not attack Emperium
 				return 0; //mercenary may not attack Emperium
 			break;
 			break;
-	}
+    } //end switch actual src
 
 
 	switch( s_bl->type )
 	switch( s_bl->type )
 	{	//Checks on source master
 	{	//Checks on source master
@@ -5233,7 +5243,7 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
 			if (t_bl->type != s_bl->type)
 			if (t_bl->type != s_bl->type)
 				state |= BCT_ENEMY;
 				state |= BCT_ENEMY;
 			break;
 			break;
-	}
+    } //end switch on src master
 	
 	
 	if( (flag&BCT_ALL) == BCT_ALL )
 	if( (flag&BCT_ALL) == BCT_ALL )
 	{ //All actually stands for all attackable chars 
 	{ //All actually stands for all attackable chars 
@@ -5293,7 +5303,7 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
 			)
 			)
 				state &= ~BCT_ENEMY;
 				state &= ~BCT_ENEMY;
 		}
 		}
-	}
+    }//end map_flag_vs chk rivality
 	else
 	else
 	{ //Non pvp/gvg, check party/guild settings.
 	{ //Non pvp/gvg, check party/guild settings.
 		if( flag&BCT_PARTY || state&BCT_ENEMY )
 		if( flag&BCT_PARTY || state&BCT_ENEMY )
@@ -5309,7 +5319,7 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
 			if(s_guild && t_guild && (s_guild == t_guild || guild_isallied(s_guild, t_guild)))
 			if(s_guild && t_guild && (s_guild == t_guild || guild_isallied(s_guild, t_guild)))
 				state |= BCT_GUILD;
 				state |= BCT_GUILD;
 		}
 		}
-	}
+    } //end non pvp/gvg chk rivality
 	
 	
 	if( !state ) //If not an enemy, nor a guild, nor party, nor yourself, it's neutral.
 	if( !state ) //If not an enemy, nor a guild, nor party, nor yourself, it's neutral.
 		state = BCT_NEUTRAL;
 		state = BCT_NEUTRAL;
@@ -5320,7 +5330,8 @@ int battle_check_target( struct block_list *src, struct block_list *target,int f
 	return (flag&state)?1:-1;
 	return (flag&state)?1:-1;
 }
 }
 /*==========================================
 /*==========================================
- * 射程判定
+ * Check if can attack from this range
+ * Basic check then calling path_search for obstacle etc..
  *------------------------------------------*/
  *------------------------------------------*/
 bool battle_check_range(struct block_list *src, struct block_list *bl, int range)
 bool battle_check_range(struct block_list *src, struct block_list *bl, int range)
 {
 {

+ 12 - 12
src/map/battle.h

@@ -14,24 +14,24 @@ typedef enum damage_lv {
 	ATK_DEF      // attack connected
 	ATK_DEF      // attack connected
 } damage_lv;
 } damage_lv;
 
 
-// ダメージ
+// dammage structure
 struct Damage {
 struct Damage {
-	int damage,damage2;
-	int type,div_;
+	int damage,damage2; //right, left dmg
+	int type,div_; //chk clif_damage for type @TODO add an enum ? ;  nb of hit
 	int amotion,dmotion;
 	int amotion,dmotion;
-	int blewcount;
-	int flag;
+	int blewcount; //nb of knockback
+	int flag; //chk BF_* flag, (enum below)
 	enum damage_lv dmg_lv;	//ATK_LUCKY,ATK_FLEE,ATK_DEF
 	enum damage_lv dmg_lv;	//ATK_LUCKY,ATK_FLEE,ATK_DEF
 };
 };
 
 
-// 属性表(読み込みはpc.c、battle_attr_fixで使用)
+//(Used in read pc.c,) attribute table (battle_attr_fix)
 extern int attr_fix_table[4][10][10];
 extern int attr_fix_table[4][10][10];
 
 
 struct map_session_data;
 struct map_session_data;
 struct mob_data;
 struct mob_data;
 struct block_list;
 struct block_list;
 
 
-// ダメージ計算
+// Damage Calculation
 
 
 struct Damage battle_calc_attack(int attack_type,struct block_list *bl,struct block_list *target,int skill_num,int skill_lv,int count);
 struct Damage battle_calc_attack(int attack_type,struct block_list *bl,struct block_list *target,int skill_num,int skill_lv,int count);
 
 
@@ -42,12 +42,12 @@ void battle_drain(struct map_session_data *sd, struct block_list *tbl, int rdama
 int battle_attr_ratio(int atk_elem,int def_type, int def_lv);
 int battle_attr_ratio(int atk_elem,int def_type, int def_lv);
 int battle_attr_fix(struct block_list *src, struct block_list *target, int damage,int atk_elem,int def_type, int def_lv);
 int battle_attr_fix(struct block_list *src, struct block_list *target, int damage,int atk_elem,int def_type, int def_lv);
 
 
-// ダメージ最終計算
+// Final calculation Damage
 int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damage *d,int damage,int skill_num,int skill_lv);
 int battle_calc_damage(struct block_list *src,struct block_list *bl,struct Damage *d,int damage,int skill_num,int skill_lv);
 int battle_calc_gvg_damage(struct block_list *src,struct block_list *bl,int damage,int div_,int skill_num,int skill_lv,int flag);
 int battle_calc_gvg_damage(struct block_list *src,struct block_list *bl,int damage,int div_,int skill_num,int skill_lv,int flag);
 int battle_calc_bg_damage(struct block_list *src,struct block_list *bl,int damage,int div_,int skill_num,int skill_lv,int flag);
 int battle_calc_bg_damage(struct block_list *src,struct block_list *bl,int damage,int div_,int skill_num,int skill_lv,int flag);
 
 
-enum {	// 最終計算のフラグ
+enum {	// Flag of the final calculation
 	BF_WEAPON	= 0x0001,
 	BF_WEAPON	= 0x0001,
 	BF_MAGIC	= 0x0002,
 	BF_MAGIC	= 0x0002,
 	BF_MISC		= 0x0004,
 	BF_MISC		= 0x0004,
@@ -62,10 +62,10 @@ enum {	// 
 
 
 int battle_delay_damage (unsigned int tick, int amotion, struct block_list *src, struct block_list *target, int attack_type, int skill_id, int skill_lv, int damage, enum damage_lv dmg_lv, int ddelay);
 int battle_delay_damage (unsigned int tick, int amotion, struct block_list *src, struct block_list *target, int attack_type, int skill_id, int skill_lv, int damage, enum damage_lv dmg_lv, int ddelay);
 
 
-// 通常攻撃処理まとめ
+// Summary normal attack treatment (basic attack)
 enum damage_lv battle_weapon_attack( struct block_list *bl,struct block_list *target,unsigned int tick,int flag);
 enum damage_lv battle_weapon_attack( struct block_list *bl,struct block_list *target,unsigned int tick,int flag);
 
 
-// 各種パラメータを得る
+// Accessors
 struct block_list* battle_get_master(struct block_list *src);
 struct block_list* battle_get_master(struct block_list *src);
 struct block_list* battle_gettargeted(struct block_list *target);
 struct block_list* battle_gettargeted(struct block_list *target);
 struct block_list* battle_getenemy(struct block_list *target, int type, int range);
 struct block_list* battle_getenemy(struct block_list *target, int type, int range);
@@ -93,7 +93,7 @@ int battle_check_target(struct block_list *src, struct block_list *target,int fl
 bool battle_check_range(struct block_list *src,struct block_list *bl,int range);
 bool battle_check_range(struct block_list *src,struct block_list *bl,int range);
 
 
 void battle_consume_ammo(struct map_session_data* sd, int skill, int lv);
 void battle_consume_ammo(struct map_session_data* sd, int skill, int lv);
-// 設定
+// Settings
 
 
 #define MIN_HAIR_STYLE battle_config.min_hair_style
 #define MIN_HAIR_STYLE battle_config.min_hair_style
 #define MAX_HAIR_STYLE battle_config.max_hair_style
 #define MAX_HAIR_STYLE battle_config.max_hair_style

+ 7 - 7
src/map/chat.c

@@ -156,13 +156,13 @@ int chat_joinchat(struct map_session_data* sd, int chatid, const char* pass)
 
 
 	pc_setchatid(sd,cd->bl.id);
 	pc_setchatid(sd,cd->bl.id);
 
 
-	clif_joinchatok(sd,cd);	// 新たに参加した人には全員のリスト
-	clif_addchat(cd,sd);	// 既に中に居た人には追加した人の報告
-	clif_dispchat(cd,0);	// 周囲の人には人数変化報告
+    clif_joinchatok(sd, cd); //To the person who newly joined the list of all
+    clif_addchat(cd, sd); //Reports To the person who already in the chat 
+    clif_dispchat(cd, 0); //Reported number of changes to the people around 
 
 
-	chat_triggerevent(cd); // イベント
-	
-	return 0;
+    chat_triggerevent(cd); //Event 
+
+    return 0;
 }
 }
 
 
 
 
@@ -372,7 +372,7 @@ int chat_deletenpcchat(struct npc_data* nd)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 規定人数以上でイベントが定義されてるなら実行
+ * Trigger npc event when we enter the chatroom
  *------------------------------------------*/
  *------------------------------------------*/
 int chat_triggerevent(struct chat_data *cd)
 int chat_triggerevent(struct chat_data *cd)
 {
 {

+ 29 - 39
src/map/chrif.c

@@ -730,7 +730,7 @@ int chrif_charselectreq(struct map_session_data* sd, uint32 s_ip)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * キャラ名問い合わせ
+ * Search Char trough id on char serv
  *------------------------------------------*/
  *------------------------------------------*/
 int chrif_searchcharid(int char_id)
 int chrif_searchcharid(int char_id)
 {
 {
@@ -803,7 +803,7 @@ int chrif_changesex(struct map_session_data *sd)
 	WFIFOW(char_fd,30) = 5;
 	WFIFOW(char_fd,30) = 5;
 	WFIFOSET(char_fd,44);
 	WFIFOSET(char_fd,44);
 
 
-	clif_displaymessage(sd->fd, "Need disconnection to perform change-sex request...");
+	clif_displaymessage(sd->fd, msg_txt(410)); //"Need disconnection to perform change-sex request..."
 
 
 	if (sd->fd)
 	if (sd->fd)
 		clif_authfail_fd(sd->fd, 15);
 		clif_authfail_fd(sd->fd, 15);
@@ -835,20 +835,16 @@ static void chrif_char_ask_name_answer(int acc, const char* player_name, uint16
 		return;
 		return;
 	}
 	}
 
 
-	switch( type ) {
-	case 1 : action = "block"; break;
-	case 2 : action = "ban"; break;
-	case 3 : action = "unblock"; break;
-	case 4 : action = "unban"; break;
-	case 5 : action = "change the sex of"; break;
-	default: action = "???"; break;
-	}
-	
+        if(type>0 && type<=5)
+            sprintf(action,msg_txt(427+type)); //block|ban|unblock|unban|change the sex of
+        else
+            sprintf(action,"???");
+                
 	switch( answer ) {
 	switch( answer ) {
-	case 0 : sprintf(output, "Login-server has been asked to %s the player '%.*s'.", action, NAME_LENGTH, player_name); break;
-	case 1 : sprintf(output, "The player '%.*s' doesn't exist.", NAME_LENGTH, player_name); break;
-	case 2 : sprintf(output, "Your GM level don't authorise you to %s the player '%.*s'.", action, NAME_LENGTH, player_name); break;
-	case 3 : sprintf(output, "Login-server is offline. Impossible to %s the player '%.*s'.", action, NAME_LENGTH, player_name); break;
+	case 0 : sprintf(output, msg_txt(424), action, NAME_LENGTH, player_name); break;
+	case 1 : sprintf(output, msg_txt(425), NAME_LENGTH, player_name); break;
+	case 2 : sprintf(output, msg_txt(426), action, NAME_LENGTH, player_name); break;
+	case 3 : sprintf(output, msg_txt(427), action, NAME_LENGTH, player_name); break;
 	default: output[0] = '\0'; break;
 	default: output[0] = '\0'; break;
 	}
 	}
 	
 	
@@ -856,7 +852,7 @@ static void chrif_char_ask_name_answer(int acc, const char* player_name, uint16
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 性別変化終了 (modified by Yor)
+ * Request char server to change sex of char (modified by Yor)
  *------------------------------------------*/
  *------------------------------------------*/
 int chrif_changedsex(int fd)
 int chrif_changedsex(int fd)
 {
 {
@@ -902,7 +898,7 @@ int chrif_changedsex(int fd)
 		// save character
 		// save character
 		sd->login_id1++; // change identify, because if player come back in char within the 5 seconds, he can change its characters
 		sd->login_id1++; // change identify, because if player come back in char within the 5 seconds, he can change its characters
 							  // do same modify in login-server for the account, but no in char-server (it ask again login_id1 to login, and don't remember it)
 							  // do same modify in login-server for the account, but no in char-server (it ask again login_id1 to login, and don't remember it)
-		clif_displaymessage(sd->fd, "Your sex has been changed (need disconnection by the server)...");
+		clif_displaymessage(sd->fd, msg_txt(411)); //"Your sex has been changed (need disconnection by the server)..."
 		set_eof(sd->fd); // forced to disconnect for the change
 		set_eof(sd->fd); // forced to disconnect for the change
 		map_quit(sd); // Remove leftovers (e.g. autotrading) [Paradox924X]
 		map_quit(sd); // Remove leftovers (e.g. autotrading) [Paradox924X]
 	}
 	}
@@ -1003,26 +999,20 @@ int chrif_accountban(int fd)
 	sd->login_id1++; // change identify, because if player come back in char within the 5 seconds, he can change its characters
 	sd->login_id1++; // change identify, because if player come back in char within the 5 seconds, he can change its characters
 	if (RFIFOB(fd,6) == 0) // 0: change of statut, 1: ban
 	if (RFIFOB(fd,6) == 0) // 0: change of statut, 1: ban
 	{ 
 	{ 
-		switch (RFIFOL(fd,7)) { // status or final date of a banishment
-		case 1: clif_displaymessage(sd->fd, "Your account has 'Unregistered'."); break;
-		case 2: clif_displaymessage(sd->fd, "Your account has an 'Incorrect Password'..."); break;
-		case 3: clif_displaymessage(sd->fd, "Your account has expired."); break;
-		case 4: clif_displaymessage(sd->fd, "Your account has been rejected from server."); break;
-		case 5: clif_displaymessage(sd->fd, "Your account has been blocked by the GM Team."); break;
-		case 6: clif_displaymessage(sd->fd, "Your Game's EXE file is not the latest version."); break;
-		case 7: clif_displaymessage(sd->fd, "Your account has been prohibited to log in."); break;
-		case 8: clif_displaymessage(sd->fd, "Server is jammed due to over populated."); break;
-		case 9: clif_displaymessage(sd->fd, "Your account has not more authorised."); break;
-		case 100: clif_displaymessage(sd->fd, "Your account has been totally erased."); break;
-		default:  clif_displaymessage(sd->fd, "Your account has not more authorised."); break;
-		}
+                int ret_status = RFIFOL(fd,7); // status or final date of a banishment
+                if(0<ret_status && ret_status<=9)
+                    clif_displaymessage(sd->fd, msg_txt(411+ret_status));
+                else if(ret_status==100)
+                    clif_displaymessage(sd->fd, msg_txt(421));
+                else    
+                    clif_displaymessage(sd->fd, msg_txt(420)); //"Your account has not more authorised." 
 	}
 	}
 	else if (RFIFOB(fd,6) == 1) // 0: change of statut, 1: ban
 	else if (RFIFOB(fd,6) == 1) // 0: change of statut, 1: ban
 	{ 
 	{ 
 		time_t timestamp;
 		time_t timestamp;
 		char tmpstr[2048];
 		char tmpstr[2048];
 		timestamp = (time_t)RFIFOL(fd,7); // status or final date of a banishment
 		timestamp = (time_t)RFIFOL(fd,7); // status or final date of a banishment
-		strcpy(tmpstr, "Your account has been banished until ");
+		strcpy(tmpstr, msg_txt(423)); //"Your account has been banished until "
 		strftime(tmpstr + strlen(tmpstr), 24, "%d-%m-%Y %H:%M:%S", localtime(&timestamp));
 		strftime(tmpstr + strlen(tmpstr), 24, "%d-%m-%Y %H:%M:%S", localtime(&timestamp));
 		clif_displaymessage(sd->fd, tmpstr);
 		clif_displaymessage(sd->fd, tmpstr);
 	}
 	}
@@ -1399,10 +1389,10 @@ int chrif_parse(int fd)
 		cmd = RFIFOW(fd,0);
 		cmd = RFIFOW(fd,0);
 		if (cmd < 0x2af8 || cmd >= 0x2af8 + ARRAYLENGTH(packet_len_table) || packet_len_table[cmd-0x2af8] == 0)
 		if (cmd < 0x2af8 || cmd >= 0x2af8 + ARRAYLENGTH(packet_len_table) || packet_len_table[cmd-0x2af8] == 0)
 		{
 		{
-			int r = intif_parse(fd); // intifに渡す
+			int r = intif_parse(fd); // Passed on to the intif
 
 
-			if (r == 1) continue;	// intifで処理した
-			if (r == 2) return 0;	// intifで処理したが、データが足りない
+			if (r == 1) continue;	// Treated in intif 
+			if (r == 2) return 0;	// Didn't have enough data (len==-1)
 
 
 			ShowWarning("chrif_parse: session #%d, intif_parse failed (unrecognized command 0x%.4x).\n", fd, cmd);
 			ShowWarning("chrif_parse: session #%d, intif_parse failed (unrecognized command 0x%.4x).\n", fd, cmd);
 			set_eof(fd);
 			set_eof(fd);
@@ -1478,8 +1468,8 @@ int send_usercount_tochar(int tid, unsigned int tick, int id, intptr_t data)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * timer関数
- * 今このmap鯖に繋がっているクライアント人数をchar鯖へ送る
+ * timerFunction
+ * Send to char the number of client connected to map
  *------------------------------------------*/
  *------------------------------------------*/
 int send_users_tochar(void)
 int send_users_tochar(void)
 {
 {
@@ -1508,8 +1498,8 @@ int send_users_tochar(void)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * timer関数
- * char鯖との接続を確認し、もし切れていたら再度接続する
+ * timerFunction
+  * Chk the connection to char server, (if it down)
  *------------------------------------------*/
  *------------------------------------------*/
 static int check_connect_char_server(int tid, unsigned int tick, int id, intptr_t data)
 static int check_connect_char_server(int tid, unsigned int tick, int id, intptr_t data)
 {
 {
@@ -1591,7 +1581,7 @@ int auth_db_final(DBKey key, DBData *data, va_list ap)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 終了
+ * Destructor
  *------------------------------------------*/
  *------------------------------------------*/
 int do_final_chrif(void)
 int do_final_chrif(void)
 {
 {

+ 29 - 26
src/map/clif.c

@@ -191,7 +191,10 @@ int map_fd;
 static int clif_parse (int fd);
 static int clif_parse (int fd);
 
 
 /*==========================================
 /*==========================================
- * map鯖のip設定
+ * map�スI�ス�スip�スン抵ソス
+ *------------------------------------------*/
+/*==========================================
+ * Ip setting of map-server
  *------------------------------------------*/
  *------------------------------------------*/
 int clif_setip(const char* ip)
 int clif_setip(const char* ip)
 {
 {
@@ -1357,9 +1360,9 @@ int clif_spawn(struct block_list *bl)
 			int i;
 			int i;
 			if (sd->spiritball > 0)
 			if (sd->spiritball > 0)
 				clif_spiritball(sd);
 				clif_spiritball(sd);
-			if(sd->state.size==2) // tiny/big players [Valaris]
+			if(sd->state.size==SZ_BIG) // tiny/big players [Valaris]
 				clif_specialeffect(bl,423,AREA);
 				clif_specialeffect(bl,423,AREA);
-			else if(sd->state.size==1)
+			else if(sd->state.size==SZ_MEDIUM)
 				clif_specialeffect(bl,421,AREA);
 				clif_specialeffect(bl,421,AREA);
 			if( sd->bg_id && map[sd->bl.m].flag.battleground )
 			if( sd->bg_id && map[sd->bl.m].flag.battleground )
 				clif_sendbgemblem_area(sd);
 				clif_sendbgemblem_area(sd);
@@ -1384,9 +1387,9 @@ int clif_spawn(struct block_list *bl)
 	case BL_MOB:
 	case BL_MOB:
 		{
 		{
 			TBL_MOB *md = ((TBL_MOB*)bl);
 			TBL_MOB *md = ((TBL_MOB*)bl);
-			if(md->special_state.size==2) // tiny/big mobs [Valaris]
+			if(md->special_state.size==SZ_BIG) // tiny/big mobs [Valaris]
 				clif_specialeffect(&md->bl,423,AREA);
 				clif_specialeffect(&md->bl,423,AREA);
-			else if(md->special_state.size==1)
+			else if(md->special_state.size==SZ_MEDIUM)
 				clif_specialeffect(&md->bl,421,AREA);
 				clif_specialeffect(&md->bl,421,AREA);
 		}
 		}
 		break;
 		break;
@@ -1587,18 +1590,18 @@ static void clif_move2(struct block_list *bl, struct view_data *vd, struct unit_
 		{
 		{
 			TBL_PC *sd = ((TBL_PC*)bl);
 			TBL_PC *sd = ((TBL_PC*)bl);
 //			clif_movepc(sd);
 //			clif_movepc(sd);
-			if(sd->state.size==2) // tiny/big players [Valaris]
+			if(sd->state.size==SZ_BIG) // tiny/big players [Valaris]
 				clif_specialeffect(&sd->bl,423,AREA);
 				clif_specialeffect(&sd->bl,423,AREA);
-			else if(sd->state.size==1)
+			else if(sd->state.size==SZ_MEDIUM)
 				clif_specialeffect(&sd->bl,421,AREA);
 				clif_specialeffect(&sd->bl,421,AREA);
 		}
 		}
 		break;
 		break;
 	case BL_MOB:
 	case BL_MOB:
 		{
 		{
 			TBL_MOB *md = ((TBL_MOB*)bl);
 			TBL_MOB *md = ((TBL_MOB*)bl);
-			if(md->special_state.size==2) // tiny/big mobs [Valaris]
+			if(md->special_state.size==SZ_BIG) // tiny/big mobs [Valaris]
 				clif_specialeffect(&md->bl,423,AREA);
 				clif_specialeffect(&md->bl,423,AREA);
-			else if(md->special_state.size==1)
+			else if(md->special_state.size==SZ_MEDIUM)
 				clif_specialeffect(&md->bl,421,AREA);
 				clif_specialeffect(&md->bl,421,AREA);
 		}
 		}
 		break;
 		break;
@@ -3211,7 +3214,7 @@ void clif_arrowequip(struct map_session_data *sd,int val)
 	fd=sd->fd;
 	fd=sd->fd;
 	WFIFOHEAD(fd, packet_len(0x013c));
 	WFIFOHEAD(fd, packet_len(0x013c));
 	WFIFOW(fd,0)=0x013c;
 	WFIFOW(fd,0)=0x013c;
-	WFIFOW(fd,2)=val+2;//矢のアイテムID
+	WFIFOW(fd,2)=val+2; //Item ID of the arrow
 	WFIFOSET(fd,packet_len(0x013c));
 	WFIFOSET(fd,packet_len(0x013c));
 }
 }
 
 
@@ -4101,9 +4104,9 @@ void clif_getareachar_unit(struct map_session_data* sd,struct block_list *bl)
 		{
 		{
 			TBL_PC* tsd = (TBL_PC*)bl;
 			TBL_PC* tsd = (TBL_PC*)bl;
 			clif_getareachar_pc(sd, tsd);
 			clif_getareachar_pc(sd, tsd);
-			if(tsd->state.size==2) // tiny/big players [Valaris]
+			if(tsd->state.size==SZ_BIG) // tiny/big players [Valaris]
 				clif_specialeffect_single(bl,423,sd->fd);
 				clif_specialeffect_single(bl,423,sd->fd);
-			else if(tsd->state.size==1)
+			else if(tsd->state.size==SZ_MEDIUM)
 				clif_specialeffect_single(bl,421,sd->fd);
 				clif_specialeffect_single(bl,421,sd->fd);
 			if( tsd->bg_id && map[tsd->bl.m].flag.battleground )
 			if( tsd->bg_id && map[tsd->bl.m].flag.battleground )
 				clif_sendbgemblem_single(sd->fd,tsd);
 				clif_sendbgemblem_single(sd->fd,tsd);
@@ -11901,22 +11904,22 @@ void clif_parse_GuildRequestInfo(int fd, struct map_session_data *sd)
 
 
 	switch( RFIFOL(fd,2) )
 	switch( RFIFOL(fd,2) )
 	{
 	{
-	case 0:	// ギルド基本情報、同盟敵対情報
+	case 0:	// �スM�ス�ス�スh�ス�ス{�ス�ス�スA�ス�ス�ス�ス�スG�スホ擾ソス�ス
 		clif_guild_basicinfo(sd);
 		clif_guild_basicinfo(sd);
 		clif_guild_allianceinfo(sd);
 		clif_guild_allianceinfo(sd);
 		break;
 		break;
-	case 1:	// メンバーリスト、役職名リスト
+	case 1:	// �ス�ス�ス�ス�スo�ス[�ス�ス�スX�スg�スA�ス�スE�ス�ス�ス�ス�スX�スg
 		clif_guild_positionnamelist(sd);
 		clif_guild_positionnamelist(sd);
 		clif_guild_memberlist(sd);
 		clif_guild_memberlist(sd);
 		break;
 		break;
-	case 2:	// 役職名リスト、役職情報リスト
+	case 2:	// �ス�スE�ス�ス�ス�ス�スX�スg�スA�ス�スE�ス�ス�潟X�スg
 		clif_guild_positionnamelist(sd);
 		clif_guild_positionnamelist(sd);
 		clif_guild_positioninfolist(sd);
 		clif_guild_positioninfolist(sd);
 		break;
 		break;
-	case 3:	// スキルリスト
+	case 3:	// �スX�スL�ス�ス�ス�ス�スX�スg
 		clif_guild_skillinfo(sd);
 		clif_guild_skillinfo(sd);
 		break;
 		break;
-	case 4:	// 追放リスト
+	case 4:	// �スヌ包ソスX�スg
 		clif_guild_expulsionlist(sd);
 		clif_guild_expulsionlist(sd);
 		break;
 		break;
 	default:
 	default:
@@ -12072,7 +12075,7 @@ void clif_parse_GuildLeave(int fd,struct map_session_data *sd)
 	}
 	}
 	if( sd->bg_id )
 	if( sd->bg_id )
 	{
 	{
-		clif_displaymessage(fd, "You can't leave battleground guilds.");
+		clif_displaymessage(fd, msg_txt(670)); //"You can't leave battleground guilds."
 		return;
 		return;
 	}
 	}
 
 
@@ -12889,7 +12892,7 @@ void clif_parse_FriendsListAdd(int fd, struct map_session_data *sd)
 	// Friend already exists
 	// Friend already exists
 	for (i = 0; i < MAX_FRIENDS && sd->status.friends[i].char_id != 0; i++) {
 	for (i = 0; i < MAX_FRIENDS && sd->status.friends[i].char_id != 0; i++) {
 		if (sd->status.friends[i].char_id == f_sd->status.char_id) {
 		if (sd->status.friends[i].char_id == f_sd->status.char_id) {
-			clif_displaymessage(fd, "Friend already exists.");
+			clif_displaymessage(fd, msg_txt(671)); //"Friend already exists."
 			return;
 			return;
 		}
 		}
 	}
 	}
@@ -12992,7 +12995,7 @@ void clif_parse_FriendsListRemove(int fd, struct map_session_data *sd)
 		(sd->status.friends[i].char_id != char_id || sd->status.friends[i].account_id != account_id); i++);
 		(sd->status.friends[i].char_id != char_id || sd->status.friends[i].account_id != account_id); i++);
 
 
 	if (i == MAX_FRIENDS) {
 	if (i == MAX_FRIENDS) {
-		clif_displaymessage(fd, "Name not found in list.");
+		clif_displaymessage(fd, msg_txt(672)); //"Name not found in list."
 		return;
 		return;
 	}
 	}
 
 
@@ -13017,7 +13020,7 @@ void clif_parse_FriendsListRemove(int fd, struct map_session_data *sd)
 
 
 	} else { //friend not online -- ask char server to delete from his friendlist
 	} else { //friend not online -- ask char server to delete from his friendlist
 		if(chrif_removefriend(char_id,sd->status.char_id)) { // char-server offline, abort
 		if(chrif_removefriend(char_id,sd->status.char_id)) { // char-server offline, abort
-			clif_displaymessage(fd, "This action can't be performed at the moment. Please try again later.");
+			clif_displaymessage(fd, msg_txt(673)); //"This action can't be performed at the moment. Please try again later."
 			return;
 			return;
 		}
 		}
 	}
 	}
@@ -13030,7 +13033,7 @@ void clif_parse_FriendsListRemove(int fd, struct map_session_data *sd)
 		memcpy(&sd->status.friends[j-1], &sd->status.friends[j], sizeof(sd->status.friends[0]));
 		memcpy(&sd->status.friends[j-1], &sd->status.friends[j], sizeof(sd->status.friends[0]));
 
 
 	memset(&sd->status.friends[MAX_FRIENDS-1], 0, sizeof(sd->status.friends[MAX_FRIENDS-1]));
 	memset(&sd->status.friends[MAX_FRIENDS-1], 0, sizeof(sd->status.friends[MAX_FRIENDS-1]));
-	clif_displaymessage(fd, "Friend removed");
+	clif_displaymessage(fd, msg_txt(674)); //"Friend removed"
 
 
 	WFIFOHEAD(fd,packet_len(0x20a));
 	WFIFOHEAD(fd,packet_len(0x20a));
 	WFIFOW(fd,0) = 0x20a;
 	WFIFOW(fd,0) = 0x20a;
@@ -13840,7 +13843,7 @@ void clif_parse_Mail_send(int fd, struct map_session_data *sd)
 
 
 	if( DIFF_TICK(sd->cansendmail_tick, gettick()) > 0 )
 	if( DIFF_TICK(sd->cansendmail_tick, gettick()) > 0 )
 	{
 	{
-		clif_displaymessage(sd->fd,"Cannot send mails too fast!!.");
+		clif_displaymessage(sd->fd,msg_txt(675)); //"Cannot send mails too fast!!."
 		clif_Mail_send(fd, true); // fail
 		clif_Mail_send(fd, true); // fail
 		return;
 		return;
 	}
 	}
@@ -16042,7 +16045,7 @@ int clif_autoshadowspell_list(struct map_session_data *sd) {
 		sd->menuskill_id = SC_AUTOSHADOWSPELL;
 		sd->menuskill_id = SC_AUTOSHADOWSPELL;
 		sd->menuskill_val = c;
 		sd->menuskill_val = c;
 	} else {
 	} else {
-		status_change_end(&sd->bl,SC_STOP,-1);
+		status_change_end(&sd->bl,SC_STOP,INVALID_TIMER);
 		clif_skill_fail(sd,SC_AUTOSHADOWSPELL,USESKILL_FAIL_IMITATION_SKILL_NONE,0);
 		clif_skill_fail(sd,SC_AUTOSHADOWSPELL,USESKILL_FAIL_IMITATION_SKILL_NONE,0);
 	}
 	}
 
 
@@ -16416,7 +16419,7 @@ static int packetdb_readdb(void)
 #endif
 #endif
 #if PACKETVER < 2
 #if PACKETVER < 2
 	    3, 28, 19, 11,  3, -1,  9,  5, 52, 51, 56, 58, 41,  2,  6,  6,
 	    3, 28, 19, 11,  3, -1,  9,  5, 52, 51, 56, 58, 41,  2,  6,  6,
-#elif PACKETVER < 20071106	// 78-7b 亀島以降 lv99エフェクト用
+#elif PACKETVER < 20071106	// 78-7b �スT�ス�ス�スネ降 lv99�スG�スt�スF�スN�スg�スp
 	    3, 28, 19, 11,  3, -1,  9,  5, 54, 53, 58, 60, 41,  2,  6,  6,
 	    3, 28, 19, 11,  3, -1,  9,  5, 54, 53, 58, 60, 41,  2,  6,  6,
 #elif PACKETVER <= 20081217 // change in 0x78 and 0x7c
 #elif PACKETVER <= 20081217 // change in 0x78 and 0x7c
 	    3, 28, 19, 11,  3, -1,  9,  5, 55, 53, 58, 60, 42,  2,  6,  6,
 	    3, 28, 19, 11,  3, -1,  9,  5, 55, 53, 58, 60, 42,  2,  6,  6,
@@ -16451,7 +16454,7 @@ static int packetdb_readdb(void)
 	    6,  3,106, 10, 10, 34,  0,  6,  8,  4,  4,  4, 29, -1, 10,  6,
 	    6,  3,106, 10, 10, 34,  0,  6,  8,  4,  4,  4, 29, -1, 10,  6,
 #if PACKETVER < 1
 #if PACKETVER < 1
 	   90, 86, 24,  6, 30,102,  8,  4,  8,  4, 14, 10, -1,  6,  2,  6,
 	   90, 86, 24,  6, 30,102,  8,  4,  8,  4, 14, 10, -1,  6,  2,  6,
-#else	// 196 comodo以降 状態表示アイコン用
+#else	// 196 comodo�スネ降 �ス�スヤ表�ス�ス�スA�スC�スR�ス�ス�スp
 	   90, 86, 24,  6, 30,102,  9,  4,  8,  4, 14, 10, -1,  6,  2,  6,
 	   90, 86, 24,  6, 30,102,  9,  4,  8,  4, 14, 10, -1,  6,  2,  6,
 #endif
 #endif
 #if PACKETVER < 20081126
 #if PACKETVER < 20081126

+ 2 - 2
src/map/elemental.c

@@ -101,7 +101,7 @@ int elemental_save(struct elemental_data *ed) {
 	return 1;
 	return 1;
 }
 }
 
 
-static int elemental_summon_end(int tid, unsigned int tick, int id, intptr data) {
+static int elemental_summon_end(int tid, unsigned int tick, int id, intptr_t data) {
 	struct map_session_data *sd;
 	struct map_session_data *sd;
 	struct elemental_data *ed;
 	struct elemental_data *ed;
 	
 	
@@ -643,7 +643,7 @@ static int elemental_ai_sub_foreachclient(struct map_session_data *sd, va_list a
 	return 0;
 	return 0;
 }
 }
 
 
-static int elemental_ai_timer(int tid, unsigned int tick, int id, intptr data) {
+static int elemental_ai_timer(int tid, unsigned int tick, int id, intptr_t data) {
 	map_foreachpc(elemental_ai_sub_foreachclient,tick);
 	map_foreachpc(elemental_ai_sub_foreachclient,tick);
 	
 	
 	return 0;
 	return 0;

+ 189 - 104
src/map/guild.c

@@ -39,12 +39,13 @@ struct eventlist {
 	struct eventlist *next;
 	struct eventlist *next;
 };
 };
 
 
-// ギルドのEXPキャッシュのフラッシュに関連する定数
-#define GUILD_SEND_XY_INVERVAL	5000	// 座標やHP送信の間隔
-#define GUILD_PAYEXP_INVERVAL 10000	// 間隔(キャッシュの最大生存時間、ミリ秒)
-#define GUILD_PAYEXP_LIST 8192	// キャッシュの最大数
+//Constant related to the flash of the Guild EXP cache
+#define GUILD_SEND_XY_INVERVAL	5000 // Interval of sending coordinates and HP
+#define GUILD_PAYEXP_INVERVAL 10000 //Interval (maximum survival time of the cache, in milliseconds)
+#define GUILD_PAYEXP_LIST 8192 //The maximum number of cache
+
+//Guild EXP cache
 
 
-// ギルドのEXPキャッシュ
 struct guild_expcache {
 struct guild_expcache {
 	int guild_id, account_id, char_id;
 	int guild_id, account_id, char_id;
 	uint64 exp;
 	uint64 exp;
@@ -91,13 +92,13 @@ int guild_skill_get_max (int id)
 	return guild_skill_tree[id-GD_SKILLBASE].max;
 	return guild_skill_tree[id-GD_SKILLBASE].max;
 }
 }
 
 
-// ギルドスキルがあるか確認
-int guild_checkskill(struct guild *g,int id)
-{
-	int idx = id-GD_SKILLBASE;
-	if (idx < 0 || idx >= MAX_GUILDSKILL)
-		return 0;
-	return g->skill[idx].lv;
+// Retrive skilllv learned by guild
+
+int guild_checkskill(struct guild *g, int id) {
+    int idx = id - GD_SKILLBASE;
+    if (idx < 0 || idx >= MAX_GUILDSKILL)
+        return 0;
+    return g->skill[idx].lv;
 }
 }
 
 
 /*==========================================
 /*==========================================
@@ -261,7 +262,7 @@ int guild_getposition(struct guild* g, struct map_session_data* sd)
 	return( i < g->max_member ) ? g->member[i].position : -1;
 	return( i < g->max_member ) ? g->member[i].position : -1;
 }
 }
 
 
-// メンバー情報の作成
+//Creation of member information
 void guild_makemember(struct guild_member *m,struct map_session_data *sd)
 void guild_makemember(struct guild_member *m,struct map_session_data *sd)
 {
 {
 	nullpo_retv(sd);
 	nullpo_retv(sd);
@@ -283,7 +284,7 @@ void guild_makemember(struct guild_member *m,struct map_session_data *sd)
 }
 }
 
 
 /**
 /**
- *  ギルドのEXPキャッシュをinter鯖にフラッシュする
+ * Server cache to be flushed to inter the Guild EXP
  * @see DBApply
  * @see DBApply
  */
  */
 int guild_payexp_timer_sub(DBKey key, DBData *data, va_list ap) {
 int guild_payexp_timer_sub(DBKey key, DBData *data, va_list ap) {
@@ -392,7 +393,7 @@ int guild_create(struct map_session_data *sd, const char *name)
 	return 1;
 	return 1;
 }
 }
 
 
-// 作成可否
+//Whether or not to create guilde
 int guild_created(int account_id,int guild_id)
 int guild_created(int account_id,int guild_id)
 {
 {
 	struct map_session_data *sd=map_id2sd(account_id);
 	struct map_session_data *sd=map_id2sd(account_id);
@@ -400,24 +401,24 @@ int guild_created(int account_id,int guild_id)
 	if(sd==NULL)
 	if(sd==NULL)
 		return 0;
 		return 0;
 	if(!guild_id) {
 	if(!guild_id) {
-		clif_guild_created(sd,2);	// 作成失敗(同名ギルド存在)
+        clif_guild_created(sd, 2); // Creation failure (presence of the same name Guild)
 		return 0;
 		return 0;
 	}
 	}
 	//struct guild *g;
 	//struct guild *g;
 	sd->status.guild_id=guild_id;
 	sd->status.guild_id=guild_id;
 	clif_guild_created(sd,0);
 	clif_guild_created(sd,0);
 	if(battle_config.guild_emperium_check)
 	if(battle_config.guild_emperium_check)
-		pc_delitem(sd,pc_search_inventory(sd,714),1,0,0,LOG_TYPE_CONSUME);	// エンペリウム消耗
+		pc_delitem(sd,pc_search_inventory(sd,714),1,0,0,LOG_TYPE_CONSUME);	// �スG�ス�ス�スy�ス�ス�スE�ス�ス�ス�ス�ス�ス
 	return 0;
 	return 0;
 }
 }
 
 
-// 情報要求
+//Information request
 int guild_request_info(int guild_id)
 int guild_request_info(int guild_id)
 {
 {
 	return intif_guild_request_info(guild_id);
 	return intif_guild_request_info(guild_id);
 }
 }
 
 
-// イベント付き情報要求
+//Information request with event
 int guild_npc_request_info(int guild_id,const char *event)
 int guild_npc_request_info(int guild_id,const char *event)
 {
 {
 	if( guild_search(guild_id) )
 	if( guild_search(guild_id) )
@@ -442,7 +443,7 @@ int guild_npc_request_info(int guild_id,const char *event)
 	return guild_request_info(guild_id);
 	return guild_request_info(guild_id);
 }
 }
 
 
-// 所属キャラの確認
+//Confirmation of the character belongs to guild
 int guild_check_member(struct guild *g)
 int guild_check_member(struct guild *g)
 {
 {
 	int i;
 	int i;
@@ -469,7 +470,7 @@ int guild_check_member(struct guild *g)
 	return 0;
 	return 0;
 }
 }
 
 
-// 情報所得失敗(そのIDのキャラを全部未所属にする)
+//Delete association with guild_id for all characters
 int guild_recv_noinfo(int guild_id)
 int guild_recv_noinfo(int guild_id)
 {
 {
 	struct map_session_data *sd;
 	struct map_session_data *sd;
@@ -486,7 +487,7 @@ int guild_recv_noinfo(int guild_id)
 	return 0;
 	return 0;
 }
 }
 
 
-// 情報所得
+//Get and display information for all member
 int guild_recv_info(struct guild *sg)
 int guild_recv_info(struct guild *sg)
 {
 {
 	struct guild *g,before;
 	struct guild *g,before;
@@ -504,7 +505,7 @@ int guild_recv_info(struct guild *sg)
 		idb_put(guild_db,sg->guild_id,g);
 		idb_put(guild_db,sg->guild_id,g);
 		before=*sg;
 		before=*sg;
 
 
-		// 最初のロードなのでユーザーのチェックを行う
+        //Perform the check on the user because the first load
 		guild_check_member(sg);
 		guild_check_member(sg);
 		if ((sd = map_nick2sd(sg->master)) != NULL)
 		if ((sd = map_nick2sd(sg->master)) != NULL)
 		{
 		{
@@ -539,32 +540,32 @@ int guild_recv_info(struct guild *sg)
 			bm++;
 			bm++;
 	}
 	}
 
 
-	for(i=0;i<g->max_member;i++){	// 情報の送信
+    for (i = 0; i < g->max_member; i++) { //Transmission of information at all members
 		sd = g->member[i].sd;
 		sd = g->member[i].sd;
 		if( sd==NULL )
 		if( sd==NULL )
 			continue;
 			continue;
 
 
-		if(	before.guild_lv!=g->guild_lv || bm!=m ||
-			before.max_member!=g->max_member ){
-			clif_guild_basicinfo(sd);	// 基本情報送信
-			clif_guild_emblem(sd,g);	// エンブレム送信
-		}
+        if (before.guild_lv != g->guild_lv || bm != m ||
+                before.max_member != g->max_member) {
+            clif_guild_basicinfo(sd); //Submit basic information
+            clif_guild_emblem(sd, g); //Submit emblem
+        }
 
 
-		if(bm!=m){		// メンバー情報送信
-			clif_guild_memberlist(g->member[i].sd);
-		}
+        if (bm != m) { //Send members information
+            clif_guild_memberlist(g->member[i].sd);
+        }
 
 
-		if( before.skill_point!=g->skill_point)
-			clif_guild_skillinfo(sd);	// スキル情報送信
+        if (before.skill_point != g->skill_point)
+            clif_guild_skillinfo(sd); //Submit information skills
 
 
-		if( guild_new ){	// 未送信なら所属情報も送る
-			clif_guild_belonginfo(sd,g);
-			clif_guild_notice(sd,g);
-			sd->guild_emblem_id=g->emblem_id;
-		}
-	}
+        if (guild_new) { // Send information and affiliation if unsent
+            clif_guild_belonginfo(sd, g);
+            clif_guild_notice(sd, g);
+            sd->guild_emblem_id = g->emblem_id;
+        }
+    }
 
 
-	// イベントの発生
+    //Occurrence of an event
 	if (guild_infoevent_db->remove(guild_infoevent_db, db_i2key(sg->guild_id), &data))
 	if (guild_infoevent_db->remove(guild_infoevent_db, db_i2key(sg->guild_id), &data))
 	{
 	{
 		struct eventlist *ev = db_data2ptr(&data), *ev2;
 		struct eventlist *ev = db_data2ptr(&data), *ev2;
@@ -579,12 +580,12 @@ int guild_recv_info(struct guild *sg)
 	return 0;
 	return 0;
 }
 }
 
 
-
-// ギルドへの勧誘
-int guild_invite(struct map_session_data *sd,struct map_session_data *tsd)
-{
-	struct guild *g;
-	int i;
+/*=============================================
+ * Player sd send a guild invatation to player tsd to join his guild
+ *--------------------------------------------*/
+int guild_invite(struct map_session_data *sd, struct map_session_data *tsd) {
+    struct guild *g;
+    int i;
 
 
 	nullpo_ret(sd);
 	nullpo_ret(sd);
 
 
@@ -597,7 +598,7 @@ int guild_invite(struct map_session_data *sd,struct map_session_data *tsd)
 		return 0; //Invite permission.
 		return 0; //Invite permission.
 
 
 	if(!battle_config.invite_request_check) {
 	if(!battle_config.invite_request_check) {
-		if (tsd->party_invite>0 || tsd->trade_partner || tsd->adopt_invite ) {	// 相手が取引中かどうか
+        if (tsd->party_invite > 0 || tsd->trade_partner || tsd->adopt_invite) { //checking if there no other invitation pending
 			clif_guild_inviteack(sd,0);
 			clif_guild_inviteack(sd,0);
 			return 0;
 			return 0;
 		}
 		}
@@ -616,7 +617,7 @@ int guild_invite(struct map_session_data *sd,struct map_session_data *tsd)
 		return 0;
 		return 0;
 	}
 	}
 
 
-	// 定員確認
+    //search an empty spot in guild
 	ARR_FIND( 0, g->max_member, i, g->member[i].account_id == 0 );
 	ARR_FIND( 0, g->max_member, i, g->member[i].account_id == 0 );
 	if(i==g->max_member){
 	if(i==g->max_member){
 		clif_guild_inviteack(sd,3);
 		clif_guild_inviteack(sd,3);
@@ -714,7 +715,9 @@ void guild_member_joined(struct map_session_data *sd)
 		g->member[i].sd = sd;
 		g->member[i].sd = sd;
 }
 }
 
 
-// ギルドメンバが追加された
+/*==========================================
+ * Add a player to a given guild_id
+ *----------------------------------------*/
 int guild_member_added(int guild_id,int account_id,int char_id,int flag)
 int guild_member_added(int guild_id,int account_id,int char_id,int flag)
 {
 {
 	struct map_session_data *sd= map_id2sd(account_id),*sd2;
 	struct map_session_data *sd= map_id2sd(account_id),*sd2;
@@ -724,7 +727,7 @@ int guild_member_added(int guild_id,int account_id,int char_id,int flag)
 		return 0;
 		return 0;
 
 
 	if(sd==NULL || sd->guild_invite==0){
 	if(sd==NULL || sd->guild_invite==0){
-		// キャラ側に登録できなかったため脱退要求を出す
+        // cancel if player not present or invalide guild_id invitation
 		if (flag == 0) {
 		if (flag == 0) {
 			ShowError("guild: member added error %d is not online\n",account_id);
 			ShowError("guild: member added error %d is not online\n",account_id);
  			intif_guild_leave(guild_id,account_id,char_id,0,"** Data Error **");
  			intif_guild_leave(guild_id,account_id,char_id,0,"** Data Error **");
@@ -735,13 +738,13 @@ int guild_member_added(int guild_id,int account_id,int char_id,int flag)
 	sd->guild_invite = 0;
 	sd->guild_invite = 0;
 	sd->guild_invite_account = 0;
 	sd->guild_invite_account = 0;
 
 
-	if(flag==1){	// 失敗
+    if (flag == 1) { //failure
 		if( sd2!=NULL )
 		if( sd2!=NULL )
 			clif_guild_inviteack(sd2,3);
 			clif_guild_inviteack(sd2,3);
 		return 0;
 		return 0;
 	}
 	}
 
 
-		// 成功
+    //if all ok adding player to guild
 	sd->status.guild_id = g->guild_id;
 	sd->status.guild_id = g->guild_id;
 	sd->guild_emblem_id = g->emblem_id;
 	sd->guild_emblem_id = g->emblem_id;
 	//Packets which were sent in the previous 'guild_sent' implementation.
 	//Packets which were sent in the previous 'guild_sent' implementation.
@@ -759,7 +762,9 @@ int guild_member_added(int guild_id,int account_id,int char_id,int flag)
 	return 0;
 	return 0;
 }
 }
 
 
-// ギルド脱退要求
+/*==========================================
+ * Player request leaving a given guild_id
+ *----------------------------------------*/
 int guild_leave(struct map_session_data* sd, int guild_id, int account_id, int char_id, const char* mes)
 int guild_leave(struct map_session_data* sd, int guild_id, int account_id, int char_id, const char* mes)
 {
 {
 	struct guild *g;
 	struct guild *g;
@@ -780,7 +785,9 @@ int guild_leave(struct map_session_data* sd, int guild_id, int account_id, int c
 	return 0;
 	return 0;
 }
 }
 
 
-// ギルド追放要求
+/*==========================================
+ * Request remove a player to a given guild_id
+ *----------------------------------------*/
 int guild_expulsion(struct map_session_data* sd, int guild_id, int account_id, int char_id, const char* mes)
 int guild_expulsion(struct map_session_data* sd, int guild_id, int account_id, int char_id, const char* mes)
 {
 {
 	struct map_session_data *tsd;
 	struct map_session_data *tsd;
@@ -917,7 +924,7 @@ int guild_recv_memberinfoshort(int guild_id,int account_id,int char_id,int onlin
 	}
 	}
 	
 	
 	if(idx == -1 || c == 0) {
 	if(idx == -1 || c == 0) {
-		// ギルドのメンバー外なので追放扱いする
+        //Treat char_id who doesn't match guild_id (not found as member)
 		struct map_session_data *sd = map_id2sd(account_id);
 		struct map_session_data *sd = map_id2sd(account_id);
 		if(sd && sd->status.char_id == char_id) {
 		if(sd && sd->status.char_id == char_id) {
 			sd->status.guild_id=0;
 			sd->status.guild_id=0;
@@ -953,7 +960,10 @@ int guild_recv_memberinfoshort(int guild_id,int account_id,int char_id,int onlin
 
 
 	return 0;
 	return 0;
 }
 }
-// ギルド会話送信
+
+/*====================================================
+ * Send a message to whole guild
+ *---------------------------------------------------*/
 int guild_send_message(struct map_session_data *sd,const char *mes,int len)
 int guild_send_message(struct map_session_data *sd,const char *mes,int len)
 {
 {
 	nullpo_ret(sd);
 	nullpo_ret(sd);
@@ -968,7 +978,10 @@ int guild_send_message(struct map_session_data *sd,const char *mes,int len)
 
 
 	return 0;
 	return 0;
 }
 }
-// ギルド会話受信
+
+/*====================================================
+ * Guild receive a message, will be displayed to whole member
+ *---------------------------------------------------*/
 int guild_recv_message(int guild_id,int account_id,const char *mes,int len)
 int guild_recv_message(int guild_id,int account_id,const char *mes,int len)
 {
 {
 	struct guild *g;
 	struct guild *g;
@@ -977,12 +990,18 @@ int guild_recv_message(int guild_id,int account_id,const char *mes,int len)
 	clif_guild_message(g,account_id,mes,len);
 	clif_guild_message(g,account_id,mes,len);
 	return 0;
 	return 0;
 }
 }
-// ギルドメンバの役職変更
+
+/*====================================================
+ * Member changing position in guild
+ *---------------------------------------------------*/
 int guild_change_memberposition(int guild_id,int account_id,int char_id,short idx)
 int guild_change_memberposition(int guild_id,int account_id,int char_id,short idx)
 {
 {
 	return intif_guild_change_memberinfo(guild_id,account_id,char_id,GMI_POSITION,&idx,sizeof(idx));
 	return intif_guild_change_memberinfo(guild_id,account_id,char_id,GMI_POSITION,&idx,sizeof(idx));
 }
 }
-// ギルドメンバの役職変更通知
+
+/*====================================================
+ * Notification of new position for member
+ *---------------------------------------------------*/
 int guild_memberposition_changed(struct guild *g,int idx,int pos)
 int guild_memberposition_changed(struct guild *g,int idx,int pos)
 {
 {
 	nullpo_ret(g);
 	nullpo_ret(g);
@@ -995,7 +1014,10 @@ int guild_memberposition_changed(struct guild *g,int idx,int pos)
 		clif_charnameupdate(g->member[idx].sd);
 		clif_charnameupdate(g->member[idx].sd);
 	return 0;
 	return 0;
 }
 }
-// ギルド役職変更
+
+/*====================================================
+ * Change guild title or member
+ *---------------------------------------------------*/
 int guild_change_position(int guild_id,int idx,
 int guild_change_position(int guild_id,int idx,
 	int mode,int exp_mode,const char *name)
 	int mode,int exp_mode,const char *name)
 {
 {
@@ -1009,7 +1031,10 @@ int guild_change_position(int guild_id,int idx,
 	safestrncpy(p.name,name,NAME_LENGTH);
 	safestrncpy(p.name,name,NAME_LENGTH);
 	return intif_guild_position(guild_id,idx,&p);
 	return intif_guild_position(guild_id,idx,&p);
 }
 }
-// ギルド役職変更通知
+
+/*====================================================
+ * Notification of member has changed his guild tiltle
+ *---------------------------------------------------*/
 int guild_position_changed(int guild_id,int idx,struct guild_position *p)
 int guild_position_changed(int guild_id,int idx,struct guild_position *p)
 {
 {
 	struct guild *g=guild_search(guild_id);
 	struct guild *g=guild_search(guild_id);
@@ -1025,7 +1050,10 @@ int guild_position_changed(int guild_id,int idx,struct guild_position *p)
 			clif_charnameupdate(g->member[i].sd);
 			clif_charnameupdate(g->member[i].sd);
 	return 0;
 	return 0;
 }
 }
-// ギルド告知変更
+
+/*====================================================
+ * Change guild notice
+ *---------------------------------------------------*/
 int guild_change_notice(struct map_session_data *sd,int guild_id,const char *mes1,const char *mes2)
 int guild_change_notice(struct map_session_data *sd,int guild_id,const char *mes1,const char *mes2)
 {
 {
 	nullpo_ret(sd);
 	nullpo_ret(sd);
@@ -1034,7 +1062,10 @@ int guild_change_notice(struct map_session_data *sd,int guild_id,const char *mes
 		return 0;
 		return 0;
 	return intif_guild_notice(guild_id,mes1,mes2);
 	return intif_guild_notice(guild_id,mes1,mes2);
 }
 }
-// ギルド告知変更通知
+
+/*====================================================
+ * Notification of guild has changed his notice
+ *---------------------------------------------------*/
 int guild_notice_changed(int guild_id,const char *mes1,const char *mes2)
 int guild_notice_changed(int guild_id,const char *mes1,const char *mes2)
 {
 {
 	int i;
 	int i;
@@ -1052,7 +1083,10 @@ int guild_notice_changed(int guild_id,const char *mes1,const char *mes2)
 	}
 	}
 	return 0;
 	return 0;
 }
 }
-// ギルドエンブレム変更
+
+/*====================================================
+ * Change guild emblem
+ *---------------------------------------------------*/
 int guild_change_emblem(struct map_session_data *sd,int len,const char *data)
 int guild_change_emblem(struct map_session_data *sd,int len,const char *data)
 {
 {
 	struct guild *g;
 	struct guild *g;
@@ -1066,7 +1100,10 @@ int guild_change_emblem(struct map_session_data *sd,int len,const char *data)
 
 
 	return intif_guild_emblem(sd->status.guild_id,len,data);
 	return intif_guild_emblem(sd->status.guild_id,len,data);
 }
 }
-// ギルドエンブレム変更通知
+
+/*====================================================
+ * Notification of guild emblem changed
+ *---------------------------------------------------*/
 int guild_emblem_changed(int len,int guild_id,int emblem_id,const char *data)
 int guild_emblem_changed(int len,int guild_id,int emblem_id,const char *data)
 {
 {
 	int i;
 	int i;
@@ -1146,7 +1183,9 @@ static DBData create_expcache(DBKey key, va_list args)
 	return db_ptr2data(c);
 	return db_ptr2data(c);
 }
 }
 
 
-// ギルドのEXP上納
+/*====================================================
+ * return Taxed experience from player sd to guild
+ *---------------------------------------------------*/
 unsigned int guild_payexp(struct map_session_data *sd,unsigned int exp)
 unsigned int guild_payexp(struct map_session_data *sd,unsigned int exp)
 {
 {
 	struct guild *g;
 	struct guild *g;
@@ -1178,7 +1217,11 @@ unsigned int guild_payexp(struct map_session_data *sd,unsigned int exp)
 	return exp;
 	return exp;
 }
 }
 
 
-// Celest
+/*====================================================
+ * Player sd  pay a tribue experience exp to his guild
+ * Add this experience to guild exp
+ * [Celest]
+ *---------------------------------------------------*/
 int guild_getexp(struct map_session_data *sd,int exp)
 int guild_getexp(struct map_session_data *sd,int exp)
 {
 {
 	struct guild_expcache *c;
 	struct guild_expcache *c;
@@ -1195,7 +1238,9 @@ int guild_getexp(struct map_session_data *sd,int exp)
 	return exp;
 	return exp;
 }
 }
 
 
-// スキルポイント割り振り
+/*====================================================
+ * Ask to increase guildskill skill_num
+ *---------------------------------------------------*/
 int guild_skillup(TBL_PC* sd, int skill_num)
 int guild_skillup(TBL_PC* sd, int skill_num)
 {
 {
 	struct guild* g;
 	struct guild* g;
@@ -1216,7 +1261,10 @@ int guild_skillup(TBL_PC* sd, int skill_num)
 
 
 	return 0;
 	return 0;
 }
 }
-// スキルポイント割り振り通知
+
+/*====================================================
+ * Notification of guildskill skill_num increase request
+ *---------------------------------------------------*/
 int guild_skillupack(int guild_id,int skill_num,int account_id)
 int guild_skillupack(int guild_id,int skill_num,int account_id)
 {
 {
 	struct map_session_data *sd=map_id2sd(account_id);
 	struct map_session_data *sd=map_id2sd(account_id);
@@ -1238,13 +1286,14 @@ int guild_skillupack(int guild_id,int skill_num,int account_id)
 		}
 		}
 	}
 	}
 
 
-	// 全員に通知
+	// Inform all members
 	for(i=0;i<g->max_member;i++)
 	for(i=0;i<g->max_member;i++)
 		if((sd=g->member[i].sd)!=NULL)
 		if((sd=g->member[i].sd)!=NULL)
 			clif_guild_skillinfo(sd);
 			clif_guild_skillinfo(sd);
 
 
 	return 0;
 	return 0;
 }
 }
+
 void guild_guildaura_refresh(struct map_session_data *sd, int skill_num, int skill_lv) {
 void guild_guildaura_refresh(struct map_session_data *sd, int skill_num, int skill_lv) {
 	struct skill_unit_group* group = NULL;
 	struct skill_unit_group* group = NULL;
 	int type = status_skill2sc(skill_num);
 	int type = status_skill2sc(skill_num);
@@ -1263,7 +1312,13 @@ void guild_guildaura_refresh(struct map_session_data *sd, int skill_num, int ski
 	}
 	}
 	return;
 	return;
 }
 }
-// ギルド同盟数所得
+
+/*====================================================
+ * Count number of relation the guild have
+ * flag :
+ *		0 = allied
+ *		1 = ennemy
+ *---------------------------------------------------*/
 int guild_get_alliance_count(struct guild *g,int flag)
 int guild_get_alliance_count(struct guild *g,int flag)
 {
 {
 	int i,c;
 	int i,c;
@@ -1287,8 +1342,13 @@ void guild_block_skill(struct map_session_data *sd, int time)
 		skill_blockpc_start_(sd, skill_num[i], time , true);
 		skill_blockpc_start_(sd, skill_num[i], time , true);
 }
 }
 
 
-// 同盟関係かどうかチェック
-// 同盟なら1、それ以外は0
+/*====================================================
+ * Check relation between guild_id1 and guild_id2
+ * flag :
+ *		0 = allied
+ *		1 = ennemy
+ * return true if yes
+ *---------------------------------------------------*/
 int guild_check_alliance(int guild_id1, int guild_id2, int flag)
 int guild_check_alliance(int guild_id1, int guild_id2, int flag)
 {
 {
 	struct guild *g;
 	struct guild *g;
@@ -1302,14 +1362,16 @@ int guild_check_alliance(int guild_id1, int guild_id2, int flag)
 	return( i < MAX_GUILDALLIANCE ) ? 1 : 0;
 	return( i < MAX_GUILDALLIANCE ) ? 1 : 0;
 }
 }
 
 
-// ギルド同盟要求
+/*====================================================
+ * Player sd, asking player tsd an alliance between there 2 guild
+ *---------------------------------------------------*/
 int guild_reqalliance(struct map_session_data *sd,struct map_session_data *tsd)
 int guild_reqalliance(struct map_session_data *sd,struct map_session_data *tsd)
 {
 {
 	struct guild *g[2];
 	struct guild *g[2];
 	int i;
 	int i;
 
 
 	if(agit_flag || agit2_flag)	{	// Disable alliance creation during woe [Valaris]
 	if(agit_flag || agit2_flag)	{	// Disable alliance creation during woe [Valaris]
-		clif_displaymessage(sd->fd,"Alliances cannot be made during Guild Wars!");
+		clif_displaymessage(sd->fd,msg_txt(676)); //"Alliances cannot be made during Guild Wars!"
 		return 0;
 		return 0;
 	}	// end addition [Valaris]
 	}	// end addition [Valaris]
 
 
@@ -1343,7 +1405,7 @@ int guild_reqalliance(struct map_session_data *sd,struct map_session_data *tsd)
 		return 0;
 		return 0;
 	}
 	}
 
 
-	for(i=0;i<MAX_GUILDALLIANCE;i++){	// すでに同盟状態か確認
+    for (i = 0; i < MAX_GUILDALLIANCE; i++) { // check if already allied
 		if(	g[0]->alliance[i].guild_id==tsd->status.guild_id &&
 		if(	g[0]->alliance[i].guild_id==tsd->status.guild_id &&
 			g[0]->alliance[i].opposition==0){
 			g[0]->alliance[i].opposition==0){
 			clif_guild_allianceack(sd,0);
 			clif_guild_allianceack(sd,0);
@@ -1357,7 +1419,10 @@ int guild_reqalliance(struct map_session_data *sd,struct map_session_data *tsd)
 	clif_guild_reqalliance(tsd,sd->status.account_id,g[0]->name);
 	clif_guild_reqalliance(tsd,sd->status.account_id,g[0]->name);
 	return 0;
 	return 0;
 }
 }
-// ギルド勧誘への返答
+
+/*====================================================
+ * Player sd, awsser to player tsd (account_id) for an alliance request
+ *---------------------------------------------------*/
 int guild_reply_reqalliance(struct map_session_data *sd,int account_id,int flag)
 int guild_reply_reqalliance(struct map_session_data *sd,int account_id,int flag)
 {
 {
 	struct map_session_data *tsd;
 	struct map_session_data *tsd;
@@ -1369,13 +1434,13 @@ int guild_reply_reqalliance(struct map_session_data *sd,int account_id,int flag)
 		return 0;
 		return 0;
 	}
 	}
 
 
-	if(sd->guild_alliance!=tsd->status.guild_id)	// 勧誘とギルドIDが違う
+    if (sd->guild_alliance != tsd->status.guild_id) // proposed guild_id alliance doesn't match tsd guildid
 		return 0;
 		return 0;
 
 
-	if(flag==1){	// 承諾
+    if (flag == 1) { // consent
 		int i;
 		int i;
 
 
-		struct guild *g,*tg;	// 同盟数再確認
+        struct guild *g, *tg; // Reconfirm the number of alliance
 		g=guild_search(sd->status.guild_id);
 		g=guild_search(sd->status.guild_id);
 		tg=guild_search(tsd->status.guild_id);
 		tg=guild_search(tsd->status.guild_id);
 		
 		
@@ -1403,11 +1468,11 @@ int guild_reply_reqalliance(struct map_session_data *sd,int account_id,int flag)
 					tsd->status.account_id,sd->status.account_id,9 );
 					tsd->status.account_id,sd->status.account_id,9 );
 		}
 		}
 
 
-		// inter鯖へ同盟要請
+        // inform other servers
 		intif_guild_alliance( sd->status.guild_id,tsd->status.guild_id,
 		intif_guild_alliance( sd->status.guild_id,tsd->status.guild_id,
 			sd->status.account_id,tsd->status.account_id,0 );
 			sd->status.account_id,tsd->status.account_id,0 );
 		return 0;
 		return 0;
-	}else{		// 拒否
+    } else { // deny
 		sd->guild_alliance=0;
 		sd->guild_alliance=0;
 		sd->guild_alliance_account=0;
 		sd->guild_alliance_account=0;
 		if(tsd!=NULL)
 		if(tsd!=NULL)
@@ -1416,13 +1481,15 @@ int guild_reply_reqalliance(struct map_session_data *sd,int account_id,int flag)
 	return 0;
 	return 0;
 }
 }
 
 
-// ギルド関係解消
+/*====================================================
+ * Player sd asking to break alliance with guild guild_id
+ *---------------------------------------------------*/
 int guild_delalliance(struct map_session_data *sd,int guild_id,int flag)
 int guild_delalliance(struct map_session_data *sd,int guild_id,int flag)
 {
 {
 	nullpo_ret(sd);
 	nullpo_ret(sd);
 
 
 	if(agit_flag || agit2_flag)	{	// Disable alliance breaking during woe [Valaris]
 	if(agit_flag || agit2_flag)	{	// Disable alliance breaking during woe [Valaris]
-		clif_displaymessage(sd->fd,"Alliances cannot be broken during Guild Wars!");
+		clif_displaymessage(sd->fd,msg_txt(677)); //"Alliances cannot be broken during Guild Wars!"
 		return 0;
 		return 0;
 	}	// end addition [Valaris]
 	}	// end addition [Valaris]
 
 
@@ -1430,7 +1497,9 @@ int guild_delalliance(struct map_session_data *sd,int guild_id,int flag)
 	return 0;
 	return 0;
 }
 }
 
 
-// ギルド敵対
+/*====================================================
+ * Player sd, asking player tsd a formal ennemy relation between there 2 guild
+ *---------------------------------------------------*/
 int guild_opposition(struct map_session_data *sd,struct map_session_data *tsd)
 int guild_opposition(struct map_session_data *sd,struct map_session_data *tsd)
 {
 {
 	struct guild *g;
 	struct guild *g;
@@ -1451,9 +1520,9 @@ int guild_opposition(struct map_session_data *sd,struct map_session_data *tsd)
 		return 0;
 		return 0;
 	}
 	}
 
 
-	for(i=0;i<MAX_GUILDALLIANCE;i++){	// すでに関係を持っているか確認
+    for (i = 0; i < MAX_GUILDALLIANCE; i++) { // checking relations
 		if(g->alliance[i].guild_id==tsd->status.guild_id){
 		if(g->alliance[i].guild_id==tsd->status.guild_id){
-			if(g->alliance[i].opposition==1){	// すでに敵対
+            if (g->alliance[i].opposition == 1) { // check if not already hostile
 				clif_guild_oppositionack(sd,2);
 				clif_guild_oppositionack(sd,2);
 				return 0;
 				return 0;
 			}
 			}
@@ -1465,13 +1534,15 @@ int guild_opposition(struct map_session_data *sd,struct map_session_data *tsd)
 		}
 		}
 	}
 	}
 
 
-	// inter鯖に敵対要請
+    // inform other serv
 	intif_guild_alliance( sd->status.guild_id,tsd->status.guild_id,
 	intif_guild_alliance( sd->status.guild_id,tsd->status.guild_id,
 			sd->status.account_id,tsd->status.account_id,1 );
 			sd->status.account_id,tsd->status.account_id,1 );
 	return 0;
 	return 0;
 }
 }
 
 
-// ギルド同盟/敵対通知
+/*====================================================
+ * Notification of a relationship between 2 guild
+ *---------------------------------------------------*/
 int guild_allianceack(int guild_id1,int guild_id2,int account_id1,int account_id2,int flag,const char *name1,const char *name2)
 int guild_allianceack(int guild_id1,int guild_id2,int account_id1,int account_id2,int flag,const char *name1,const char *name2)
 {
 {
 	struct guild *g[2];
 	struct guild *g[2];
@@ -1495,14 +1566,14 @@ int guild_allianceack(int guild_id1,int guild_id2,int account_id1,int account_id
 		sd[0]->guild_alliance_account=0;
 		sd[0]->guild_alliance_account=0;
 	}
 	}
 
 
-	if(flag&0x70){	// 失敗
+    if (flag & 0x70) { // failure
 		for(i=0;i<2-(flag&1);i++)
 		for(i=0;i<2-(flag&1);i++)
 			if( sd[i]!=NULL )
 			if( sd[i]!=NULL )
 				clif_guild_allianceack(sd[i],((flag>>4)==i+1)?3:4);
 				clif_guild_allianceack(sd[i],((flag>>4)==i+1)?3:4);
 		return 0;
 		return 0;
 	}
 	}
 
 
-	if(!(flag&0x08)){	// 関係追加
+    if (!(flag & 0x08)) { // new relationship
 		for(i=0;i<2-(flag&1);i++)
 		for(i=0;i<2-(flag&1);i++)
 		{
 		{
 			if(g[i]!=NULL)
 			if(g[i]!=NULL)
@@ -1516,7 +1587,7 @@ int guild_allianceack(int guild_id1,int guild_id2,int account_id1,int account_id
 				}
 				}
 			}
 			}
 		}
 		}
-	}else{				// 関係解消
+    } else { // remove relationship
 		for(i=0;i<2-(flag&1);i++)
 		for(i=0;i<2-(flag&1);i++)
 		{
 		{
 			if(g[i]!=NULL)
 			if(g[i]!=NULL)
@@ -1525,21 +1596,21 @@ int guild_allianceack(int guild_id1,int guild_id2,int account_id1,int account_id
 				if( j < MAX_GUILDALLIANCE )
 				if( j < MAX_GUILDALLIANCE )
 					g[i]->alliance[j].guild_id = 0;
 					g[i]->alliance[j].guild_id = 0;
 			}
 			}
-			if( sd[i]!=NULL )	// 解消通知
+            if (sd[i] != NULL) // notify players
 				clif_guild_delalliance(sd[i],guild_id[1-i],(flag&1));
 				clif_guild_delalliance(sd[i],guild_id[1-i],(flag&1));
 		}
 		}
 	}
 	}
 
 
-	if((flag&0x0f)==0){			// 同盟通知
+    if ((flag & 0x0f) == 0) { // alliance notification
 		if( sd[1]!=NULL )
 		if( sd[1]!=NULL )
 			clif_guild_allianceack(sd[1],2);
 			clif_guild_allianceack(sd[1],2);
-	}else if((flag&0x0f)==1){	// 敵対通知
+    } else if ((flag & 0x0f) == 1) { // ennemy notification
 		if( sd[0]!=NULL )
 		if( sd[0]!=NULL )
 			clif_guild_oppositionack(sd[0],0);
 			clif_guild_oppositionack(sd[0],0);
 	}
 	}
 
 
 
 
-	for(i=0;i<2-(flag&1);i++){	// 同盟/敵対リストの再送信
+    for (i = 0; i < 2 - (flag & 1); i++) { // Retransmission of the relationship list to all members
 		struct map_session_data *sd;
 		struct map_session_data *sd;
 		if(g[i]!=NULL)
 		if(g[i]!=NULL)
 			for(j=0;j<g[i]->max_member;j++)
 			for(j=0;j<g[i]->max_member;j++)
@@ -1550,7 +1621,7 @@ int guild_allianceack(int guild_id1,int guild_id2,int account_id1,int account_id
 }
 }
 
 
 /**
 /**
- * ギルド解散通知用
+ * Notification for the guild disbanded
  * @see DBApply
  * @see DBApply
  */
  */
 int guild_broken_sub(DBKey key, DBData *data, va_list ap)
 int guild_broken_sub(DBKey key, DBData *data, va_list ap)
@@ -1562,7 +1633,7 @@ int guild_broken_sub(DBKey key, DBData *data, va_list ap)
 
 
 	nullpo_ret(g);
 	nullpo_ret(g);
 
 
-	for(i=0;i<MAX_GUILDALLIANCE;i++){	// 関係を破棄
+	for(i=0;i<MAX_GUILDALLIANCE;i++){	// Destroy all relationships
 		if(g->alliance[i].guild_id==guild_id){
 		if(g->alliance[i].guild_id==guild_id){
 			for(j=0;j<g->max_member;j++)
 			for(j=0;j<g->max_member;j++)
 				if( (sd=g->member[j].sd)!=NULL )
 				if( (sd=g->member[j].sd)!=NULL )
@@ -1608,7 +1679,7 @@ int guild_broken(int guild_id,int flag)
 	if(flag!=0 || g==NULL)
 	if(flag!=0 || g==NULL)
 		return 0;
 		return 0;
 
 
-	for(i=0;i<g->max_member;i++){	// ギルド解散を通知
+	for(i=0;i<g->max_member;i++){	// Destroy all relationships
 		if((sd=g->member[i].sd)!=NULL){
 		if((sd=g->member[i].sd)!=NULL){
 			if(sd->state.storage_flag == 2)
 			if(sd->state.storage_flag == 2)
 				storage_guild_storage_quit(sd,1);
 				storage_guild_storage_quit(sd,1);
@@ -1675,13 +1746,13 @@ int guild_gm_changed(int guild_id, int account_id, int char_id)
 
 
 	if (g->member[pos].sd && g->member[pos].sd->fd)
 	if (g->member[pos].sd && g->member[pos].sd->fd)
 	{
 	{
-		clif_displaymessage(g->member[pos].sd->fd, "You no longer are the Guild Master.");
+		clif_displaymessage(g->member[pos].sd->fd, msg_txt(678)); //"You no longer are the Guild Master."
 		g->member[pos].sd->state.gmaster_flag = 0;
 		g->member[pos].sd->state.gmaster_flag = 0;
 	}
 	}
 	
 	
 	if (g->member[0].sd && g->member[0].sd->fd)
 	if (g->member[0].sd && g->member[0].sd->fd)
 	{
 	{
-		clif_displaymessage(g->member[0].sd->fd, "You have become the Guild Master!");
+		clif_displaymessage(g->member[0].sd->fd, msg_txt(679)); //"You have become the Guild Master!"
 		g->member[0].sd->state.gmaster_flag = g;
 		g->member[0].sd->state.gmaster_flag = g;
 		//Block his skills for 5 minutes to prevent abuse.
 		//Block his skills for 5 minutes to prevent abuse.
 		guild_block_skill(g->member[0].sd, 300000);
 		guild_block_skill(g->member[0].sd, 300000);
@@ -1700,7 +1771,9 @@ int guild_gm_changed(int guild_id, int account_id, int char_id)
 	return 1;
 	return 1;
 }
 }
 
 
-// ギルド解散
+/*====================================================
+ * Guild disbanded
+ *---------------------------------------------------*/
 int guild_break(struct map_session_data *sd,char *name)
 int guild_break(struct map_session_data *sd,char *name)
 {
 {
 	struct guild *g;
 	struct guild *g;
@@ -1850,7 +1923,7 @@ void guild_castle_reconnect(int castle_id, int index, int value)
 	}
 	}
 }
 }
 
 
-// ギルドデータ一括受信(初期化時)
+// Loadcastle data then invoque OnAgitInit* on last
 int guild_castledataloadack(int len, struct guild_castle *gc)
 int guild_castledataloadack(int len, struct guild_castle *gc)
 {
 {
 	int i;
 	int i;
@@ -1893,6 +1966,9 @@ int guild_castledataloadack(int len, struct guild_castle *gc)
 	return 0;
 	return 0;
 }
 }
 
 
+/*====================================================
+ * Start normal woe and triggers all npc OnAgitStart
+ *---------------------------------------------------*/
 int guild_agit_start(void)
 int guild_agit_start(void)
 {	// Run All NPC_Event[OnAgitStart]
 {	// Run All NPC_Event[OnAgitStart]
 	int c = npc_event_doall("OnAgitStart");
 	int c = npc_event_doall("OnAgitStart");
@@ -1900,6 +1976,9 @@ int guild_agit_start(void)
 	return 0;
 	return 0;
 }
 }
 
 
+/*====================================================
+ * End normal woe and triggers all npc OnAgitEnd
+ *---------------------------------------------------*/
 int guild_agit_end(void)
 int guild_agit_end(void)
 {	// Run All NPC_Event[OnAgitEnd]
 {	// Run All NPC_Event[OnAgitEnd]
 	int c = npc_event_doall("OnAgitEnd");
 	int c = npc_event_doall("OnAgitEnd");
@@ -1907,6 +1986,9 @@ int guild_agit_end(void)
 	return 0;
 	return 0;
 }
 }
 
 
+/*====================================================
+ * Start woe2 and triggers all npc OnAgitStart2
+ *---------------------------------------------------*/
 int guild_agit2_start(void)
 int guild_agit2_start(void)
 {	// Run All NPC_Event[OnAgitStart2]
 {	// Run All NPC_Event[OnAgitStart2]
 	int c = npc_event_doall("OnAgitStart2");
 	int c = npc_event_doall("OnAgitStart2");
@@ -1914,6 +1996,9 @@ int guild_agit2_start(void)
 	return 0;
 	return 0;
 }
 }
 
 
+/*====================================================
+ * End woe2 and triggers all npc OnAgitEnd2
+ *---------------------------------------------------*/
 int guild_agit2_end(void)
 int guild_agit2_end(void)
 {	// Run All NPC_Event[OnAgitEnd2]
 {	// Run All NPC_Event[OnAgitEnd2]
 	int c = npc_event_doall("OnAgitEnd2");
 	int c = npc_event_doall("OnAgitEnd2");

+ 105 - 59
src/map/intif.c

@@ -46,11 +46,11 @@ static const int packet_len_table[]={
 	-1,-1, 7, 3,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0, //0x3890  Homunculus [albator]
 	-1,-1, 7, 3,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0, //0x3890  Homunculus [albator]
 };
 };
 
 
-extern int char_fd;		// inter serverのfdはchar_fdを使う
-#define inter_fd char_fd	// エイリアス
+extern int char_fd; // inter server Fd used for char_fd
+#define inter_fd char_fd	// alias
 
 
 //-----------------------------------------------------------------
 //-----------------------------------------------------------------
-// inter serverへの送信
+// Send to inter server 
 
 
 int CheckForCharServer(void)
 int CheckForCharServer(void)
 {
 {
@@ -136,7 +136,7 @@ int intif_rename(struct map_session_data *sd, int type, char *name)
 	return 0;
 	return 0;
 }
 }
 
 
-// GMメッセージを送信
+// GM Send a message
 int intif_broadcast(const char* mes, int len, int type)
 int intif_broadcast(const char* mes, int len, int type)
 {
 {
 	int lp = type ? 4 : 0;
 	int lp = type ? 4 : 0;
@@ -386,7 +386,7 @@ int intif_send_guild_storage(int account_id,struct guild_storage *gstor)
 	return 0;
 	return 0;
 }
 }
 
 
-// パーティ作成要求
+// Party creation request
 int intif_create_party(struct party_member *member,char *name,int item,int item2)
 int intif_create_party(struct party_member *member,char *name,int item,int item2)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -403,7 +403,8 @@ int intif_create_party(struct party_member *member,char *name,int item,int item2
 	WFIFOSET(inter_fd,WFIFOW(inter_fd, 2));
 	WFIFOSET(inter_fd,WFIFOW(inter_fd, 2));
 	return 0;
 	return 0;
 }
 }
-// パーティ情報要求
+
+// Party information request
 int intif_request_partyinfo(int party_id, int char_id)
 int intif_request_partyinfo(int party_id, int char_id)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -415,7 +416,8 @@ int intif_request_partyinfo(int party_id, int char_id)
 	WFIFOSET(inter_fd,10);
 	WFIFOSET(inter_fd,10);
 	return 0;
 	return 0;
 }
 }
-// パーティ追加要求
+
+// Request to add a member to party 
 int intif_party_addmember(int party_id,struct party_member *member)
 int intif_party_addmember(int party_id,struct party_member *member)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -428,7 +430,8 @@ int intif_party_addmember(int party_id,struct party_member *member)
 	WFIFOSET(inter_fd,WFIFOW(inter_fd, 2));
 	WFIFOSET(inter_fd,WFIFOW(inter_fd, 2));
 	return 1;
 	return 1;
 }
 }
-// パーティ設定変更
+
+// Request to change party configuration (exp,item share)
 int intif_party_changeoption(int party_id,int account_id,int exp,int item)
 int intif_party_changeoption(int party_id,int account_id,int exp,int item)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -442,7 +445,8 @@ int intif_party_changeoption(int party_id,int account_id,int exp,int item)
 	WFIFOSET(inter_fd,14);
 	WFIFOSET(inter_fd,14);
 	return 0;
 	return 0;
 }
 }
-// パーティ脱退要求
+
+// Request to leave party
 int intif_party_leave(int party_id,int account_id, int char_id)
 int intif_party_leave(int party_id,int account_id, int char_id)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -455,7 +459,8 @@ int intif_party_leave(int party_id,int account_id, int char_id)
 	WFIFOSET(inter_fd,14);
 	WFIFOSET(inter_fd,14);
 	return 0;
 	return 0;
 }
 }
-// パーティ移動要求
+
+// Request keeping party for new map ?? 
 int intif_party_changemap(struct map_session_data *sd,int online)
 int intif_party_changemap(struct map_session_data *sd,int online)
 {
 {
 	int m, mapindex;
 	int m, mapindex;
@@ -481,7 +486,8 @@ int intif_party_changemap(struct map_session_data *sd,int online)
 	WFIFOSET(inter_fd,19);
 	WFIFOSET(inter_fd,19);
 	return 1;
 	return 1;
 }
 }
-// パーティー解散要求
+
+// Request breaking party 
 int intif_break_party(int party_id)
 int intif_break_party(int party_id)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -492,7 +498,8 @@ int intif_break_party(int party_id)
 	WFIFOSET(inter_fd,6);
 	WFIFOSET(inter_fd,6);
 	return 0;
 	return 0;
 }
 }
-// パーティ会話送信
+
+// Sending party chat
 int intif_party_message(int party_id,int account_id,const char *mes,int len)
 int intif_party_message(int party_id,int account_id,const char *mes,int len)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -511,6 +518,7 @@ int intif_party_message(int party_id,int account_id,const char *mes,int len)
 	return 0;
 	return 0;
 }
 }
 
 
+// Request a new leader for party
 int intif_party_leaderchange(int party_id,int account_id,int char_id)
 int intif_party_leaderchange(int party_id,int account_id,int char_id)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -524,8 +532,7 @@ int intif_party_leaderchange(int party_id,int account_id,int char_id)
 	return 0;
 	return 0;
 }
 }
 
 
-
-// ギルド作成要求
+// Request a Guild creation
 int intif_guild_create(const char *name,const struct guild_member *master)
 int intif_guild_create(const char *name,const struct guild_member *master)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -541,7 +548,8 @@ int intif_guild_create(const char *name,const struct guild_member *master)
 	WFIFOSET(inter_fd,WFIFOW(inter_fd,2));
 	WFIFOSET(inter_fd,WFIFOW(inter_fd,2));
 	return 0;
 	return 0;
 }
 }
-// ギルド情報要求
+
+// Request Guild information
 int intif_guild_request_info(int guild_id)
 int intif_guild_request_info(int guild_id)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -552,7 +560,8 @@ int intif_guild_request_info(int guild_id)
 	WFIFOSET(inter_fd,6);
 	WFIFOSET(inter_fd,6);
 	return 0;
 	return 0;
 }
 }
-// ギルドメンバ追加要求
+
+// Request to add member to the guild
 int intif_guild_addmember(int guild_id,struct guild_member *m)
 int intif_guild_addmember(int guild_id,struct guild_member *m)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -566,6 +575,7 @@ int intif_guild_addmember(int guild_id,struct guild_member *m)
 	return 0;
 	return 0;
 }
 }
 
 
+// Request a new leader for guild
 int intif_guild_change_gm(int guild_id, const char* name, int len)
 int intif_guild_change_gm(int guild_id, const char* name, int len)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -579,7 +589,7 @@ int intif_guild_change_gm(int guild_id, const char* name, int len)
 	return 0;
 	return 0;
 }
 }
 
 
-// ギルドメンバ脱退/追放要求
+// Request to leave guild
 int intif_guild_leave(int guild_id,int account_id,int char_id,int flag,const char *mes)
 int intif_guild_leave(int guild_id,int account_id,int char_id,int flag,const char *mes)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -594,7 +604,8 @@ int intif_guild_leave(int guild_id,int account_id,int char_id,int flag,const cha
 	WFIFOSET(inter_fd,55);
 	WFIFOSET(inter_fd,55);
 	return 0;
 	return 0;
 }
 }
-// ギルドメンバのオンライン状況/Lv更新要求
+
+//Update request / Lv online status of the guild members
 int intif_guild_memberinfoshort(int guild_id,int account_id,int char_id,int online,int lv,int class_)
 int intif_guild_memberinfoshort(int guild_id,int account_id,int char_id,int online,int lv,int class_)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -610,7 +621,8 @@ int intif_guild_memberinfoshort(int guild_id,int account_id,int char_id,int onli
 	WFIFOSET(inter_fd,19);
 	WFIFOSET(inter_fd,19);
 	return 0;
 	return 0;
 }
 }
-// ギルド解散通知
+
+//Guild disbanded notification
 int intif_guild_break(int guild_id)
 int intif_guild_break(int guild_id)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -621,7 +633,8 @@ int intif_guild_break(int guild_id)
 	WFIFOSET(inter_fd,6);
 	WFIFOSET(inter_fd,6);
 	return 0;
 	return 0;
 }
 }
-// ギルド会話送信
+
+// Send a guild message
 int intif_guild_message(int guild_id,int account_id,const char *mes,int len)
 int intif_guild_message(int guild_id,int account_id,const char *mes,int len)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -640,7 +653,8 @@ int intif_guild_message(int guild_id,int account_id,const char *mes,int len)
 
 
 	return 0;
 	return 0;
 }
 }
-// ギルド基本情報変更要求
+
+// Request a change of Guild basic information
 int intif_guild_change_basicinfo(int guild_id,int type,const void *data,int len)
 int intif_guild_change_basicinfo(int guild_id,int type,const void *data,int len)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -654,7 +668,8 @@ int intif_guild_change_basicinfo(int guild_id,int type,const void *data,int len)
 	WFIFOSET(inter_fd,len+10);
 	WFIFOSET(inter_fd,len+10);
 	return 0;
 	return 0;
 }
 }
-// ギルドメンバ情報変更要求
+
+// Request a change of Guild member information
 int intif_guild_change_memberinfo(int guild_id,int account_id,int char_id,
 int intif_guild_change_memberinfo(int guild_id,int account_id,int char_id,
 	int type,const void *data,int len)
 	int type,const void *data,int len)
 {
 {
@@ -671,7 +686,8 @@ int intif_guild_change_memberinfo(int guild_id,int account_id,int char_id,
 	WFIFOSET(inter_fd,len+18);
 	WFIFOSET(inter_fd,len+18);
 	return 0;
 	return 0;
 }
 }
-// ギルド役職変更要求
+
+// Request a change of Guild title 
 int intif_guild_position(int guild_id,int idx,struct guild_position *p)
 int intif_guild_position(int guild_id,int idx,struct guild_position *p)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -685,7 +701,8 @@ int intif_guild_position(int guild_id,int idx,struct guild_position *p)
 	WFIFOSET(inter_fd,WFIFOW(inter_fd,2));
 	WFIFOSET(inter_fd,WFIFOW(inter_fd,2));
 	return 0;
 	return 0;
 }
 }
-// ギルドスキルアップ要求
+
+// Request an update of Guildskill skillnum 
 int intif_guild_skillup(int guild_id, int skill_num, int account_id, int max)
 int intif_guild_skillup(int guild_id, int skill_num, int account_id, int max)
 {
 {
 	if( CheckForCharServer() )
 	if( CheckForCharServer() )
@@ -699,7 +716,8 @@ int intif_guild_skillup(int guild_id, int skill_num, int account_id, int max)
 	WFIFOSET(inter_fd, 18);
 	WFIFOSET(inter_fd, 18);
 	return 0;
 	return 0;
 }
 }
-// ギルド同盟/敵対要求
+
+// Request a new guild relationship
 int intif_guild_alliance(int guild_id1,int guild_id2,int account_id1,int account_id2,int flag)
 int intif_guild_alliance(int guild_id1,int guild_id2,int account_id1,int account_id2,int flag)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -714,7 +732,8 @@ int intif_guild_alliance(int guild_id1,int guild_id2,int account_id1,int account
 	WFIFOSET(inter_fd,19);
 	WFIFOSET(inter_fd,19);
 	return 0;
 	return 0;
 }
 }
-// ギルド告知変更要求
+
+// Request to change guild notice
 int intif_guild_notice(int guild_id,const char *mes1,const char *mes2)
 int intif_guild_notice(int guild_id,const char *mes1,const char *mes2)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -727,7 +746,8 @@ int intif_guild_notice(int guild_id,const char *mes1,const char *mes2)
 	WFIFOSET(inter_fd,186);
 	WFIFOSET(inter_fd,186);
 	return 0;
 	return 0;
 }
 }
-// ギルドエンブレム変更要求
+
+// Request to change guild emblem
 int intif_guild_emblem(int guild_id,int len,const char *data)
 int intif_guild_emblem(int guild_id,int len,const char *data)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -761,7 +781,8 @@ int intif_guild_castle_dataload(int num, int *castle_ids)
 	return 1;
 	return 1;
 }
 }
 
 
-//ギルド城占領ギルド変更要求
+
+// Request change castle guild owner and save data
 int intif_guild_castle_datasave(int castle_id,int index, int value)
 int intif_guild_castle_datasave(int castle_id,int index, int value)
 {
 {
 	if (CheckForCharServer())
 	if (CheckForCharServer())
@@ -868,7 +889,7 @@ int intif_parse_WisMessage(int fd)
 	}
 	}
 	//Success to send whisper.
 	//Success to send whisper.
 	clif_wis_message(sd->fd, wisp_source, (char*)RFIFOP(fd,56),RFIFOW(fd,2)-56);
 	clif_wis_message(sd->fd, wisp_source, (char*)RFIFOP(fd,56),RFIFOW(fd,2)-56);
-	intif_wis_replay(id,0);   // 送信成功
+	intif_wis_replay(id,0);   // succes
 	return 0;
 	return 0;
 }
 }
 
 
@@ -925,7 +946,7 @@ int mapif_parse_WisToGM(int fd)
 	return 0;
 	return 0;
 }
 }
 
 
-// アカウント変数通知
+// Request player registre
 int intif_parse_Registers(int fd)
 int intif_parse_Registers(int fd)
 {
 {
 	int j,p,len,max, flag;
 	int j,p,len,max, flag;
@@ -1017,13 +1038,15 @@ int intif_parse_LoadGuildStorage(int fd)
 	storage_guild_storageopen(sd);
 	storage_guild_storageopen(sd);
 	return 0;
 	return 0;
 }
 }
+
+// ACK guild_storage saved
 int intif_parse_SaveGuildStorage(int fd)
 int intif_parse_SaveGuildStorage(int fd)
 {
 {
 	storage_guild_storagesaved(/*RFIFOL(fd,2), */RFIFOL(fd,6));
 	storage_guild_storagesaved(/*RFIFOL(fd,2), */RFIFOL(fd,6));
 	return 0;
 	return 0;
 }
 }
 
 
-// パーティ作成可否
+// ACK party creation
 int intif_parse_PartyCreated(int fd)
 int intif_parse_PartyCreated(int fd)
 {
 {
 	if(battle_config.etc_log)
 	if(battle_config.etc_log)
@@ -1031,7 +1054,8 @@ int intif_parse_PartyCreated(int fd)
 	party_created(RFIFOL(fd,2), RFIFOL(fd,6),RFIFOB(fd,10),RFIFOL(fd,11), (char *)RFIFOP(fd,15));
 	party_created(RFIFOL(fd,2), RFIFOL(fd,6),RFIFOB(fd,10),RFIFOL(fd,11), (char *)RFIFOP(fd,15));
 	return 0;
 	return 0;
 }
 }
-// パーティ情報
+
+// Receive party info
 int intif_parse_PartyInfo(int fd)
 int intif_parse_PartyInfo(int fd)
 {
 {
 	if( RFIFOW(fd,2) == 12 ){
 	if( RFIFOW(fd,2) == 12 ){
@@ -1045,7 +1069,8 @@ int intif_parse_PartyInfo(int fd)
 	party_recv_info((struct party *)RFIFOP(fd,8), RFIFOL(fd,4));
 	party_recv_info((struct party *)RFIFOP(fd,8), RFIFOL(fd,4));
 	return 0;
 	return 0;
 }
 }
-// パーティ追加通知
+
+// ACK adding party member
 int intif_parse_PartyMemberAdded(int fd)
 int intif_parse_PartyMemberAdded(int fd)
 {
 {
 	if(battle_config.etc_log)
 	if(battle_config.etc_log)
@@ -1053,13 +1078,15 @@ int intif_parse_PartyMemberAdded(int fd)
 	party_member_added(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10), RFIFOB(fd, 14));
 	party_member_added(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10), RFIFOB(fd, 14));
 	return 0;
 	return 0;
 }
 }
-// パーティ設定変更通知
+
+// ACK changing party option
 int intif_parse_PartyOptionChanged(int fd)
 int intif_parse_PartyOptionChanged(int fd)
 {
 {
 	party_optionchanged(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOW(fd,10),RFIFOW(fd,12),RFIFOB(fd,14));
 	party_optionchanged(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOW(fd,10),RFIFOW(fd,12),RFIFOB(fd,14));
 	return 0;
 	return 0;
 }
 }
-// パーティ脱退通知
+
+// ACK member leaving party
 int intif_parse_PartyMemberWithdraw(int fd)
 int intif_parse_PartyMemberWithdraw(int fd)
 {
 {
 	if(battle_config.etc_log)
 	if(battle_config.etc_log)
@@ -1067,32 +1094,36 @@ int intif_parse_PartyMemberWithdraw(int fd)
 	party_member_withdraw(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10));
 	party_member_withdraw(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10));
 	return 0;
 	return 0;
 }
 }
-// パーティ解散通知
+
+// ACK party break
 int intif_parse_PartyBroken(int fd)
 int intif_parse_PartyBroken(int fd)
 {
 {
 	party_broken(RFIFOL(fd,2));
 	party_broken(RFIFOL(fd,2));
 	return 0;
 	return 0;
 }
 }
-// パーティ移動通知
+
+// ACK party on new map
 int intif_parse_PartyMove(int fd)
 int intif_parse_PartyMove(int fd)
 {
 {
 	party_recv_movemap(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOW(fd,14),RFIFOB(fd,16),RFIFOW(fd,17));
 	party_recv_movemap(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOW(fd,14),RFIFOB(fd,16),RFIFOW(fd,17));
 	return 0;
 	return 0;
 }
 }
-// パーティメッセージ
+
+// ACK party messages
 int intif_parse_PartyMessage(int fd)
 int intif_parse_PartyMessage(int fd)
 {
 {
 	party_recv_message(RFIFOL(fd,4),RFIFOL(fd,8),(char *) RFIFOP(fd,12),RFIFOW(fd,2)-12);
 	party_recv_message(RFIFOL(fd,4),RFIFOL(fd,8),(char *) RFIFOP(fd,12),RFIFOW(fd,2)-12);
 	return 0;
 	return 0;
 }
 }
 
 
-// ギルド作成可否
+// ACK guild creation
 int intif_parse_GuildCreated(int fd)
 int intif_parse_GuildCreated(int fd)
 {
 {
 	guild_created(RFIFOL(fd,2),RFIFOL(fd,6));
 	guild_created(RFIFOL(fd,2),RFIFOL(fd,6));
 	return 0;
 	return 0;
 }
 }
-// ギルド情報
+
+// ACK guild infos
 int intif_parse_GuildInfo(int fd)
 int intif_parse_GuildInfo(int fd)
 {
 {
 	if(RFIFOW(fd,2) == 8) {
 	if(RFIFOW(fd,2) == 8) {
@@ -1105,7 +1136,8 @@ int intif_parse_GuildInfo(int fd)
 	guild_recv_info((struct guild *)RFIFOP(fd,4));
 	guild_recv_info((struct guild *)RFIFOP(fd,4));
 	return 0;
 	return 0;
 }
 }
-// ギルドメンバ追加通知
+
+// ACK adding guild member
 int intif_parse_GuildMemberAdded(int fd)
 int intif_parse_GuildMemberAdded(int fd)
 {
 {
 	if(battle_config.etc_log)
 	if(battle_config.etc_log)
@@ -1113,20 +1145,22 @@ int intif_parse_GuildMemberAdded(int fd)
 	guild_member_added(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14));
 	guild_member_added(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14));
 	return 0;
 	return 0;
 }
 }
-// ギルドメンバ脱退/追放通知
+
+// ACK member leaving guild
 int intif_parse_GuildMemberWithdraw(int fd)
 int intif_parse_GuildMemberWithdraw(int fd)
 {
 {
 	guild_member_withdraw(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),(char *)RFIFOP(fd,55),(char *)RFIFOP(fd,15));
 	guild_member_withdraw(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),(char *)RFIFOP(fd,55),(char *)RFIFOP(fd,15));
 	return 0;
 	return 0;
 }
 }
 
 
-// ギルドメンバオンライン状態/Lv変更通知
+// ACK guild member basic info
 int intif_parse_GuildMemberInfoShort(int fd)
 int intif_parse_GuildMemberInfoShort(int fd)
 {
 {
 	guild_recv_memberinfoshort(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),RFIFOW(fd,15),RFIFOW(fd,17));
 	guild_recv_memberinfoshort(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOB(fd,14),RFIFOW(fd,15),RFIFOW(fd,17));
 	return 0;
 	return 0;
 }
 }
-// ギルド解散通知
+
+// ACK guild break
 int intif_parse_GuildBroken(int fd)
 int intif_parse_GuildBroken(int fd)
 {
 {
 	guild_broken(RFIFOL(fd,2),RFIFOB(fd,6));
 	guild_broken(RFIFOL(fd,2),RFIFOB(fd,6));
@@ -1189,7 +1223,7 @@ int intif_parse_GuildMemberInfoChanged(int fd)
 	return 0;
 	return 0;
 }
 }
 
 
-// ギルド役職変更通知
+// ACK change of guild title
 int intif_parse_GuildPosition(int fd)
 int intif_parse_GuildPosition(int fd)
 {
 {
 	if( RFIFOW(fd,2)!=sizeof(struct guild_position)+12 )
 	if( RFIFOW(fd,2)!=sizeof(struct guild_position)+12 )
@@ -1197,54 +1231,62 @@ int intif_parse_GuildPosition(int fd)
 	guild_position_changed(RFIFOL(fd,4),RFIFOL(fd,8),(struct guild_position *)RFIFOP(fd,12));
 	guild_position_changed(RFIFOL(fd,4),RFIFOL(fd,8),(struct guild_position *)RFIFOP(fd,12));
 	return 0;
 	return 0;
 }
 }
-// ギルドスキル割り振り通知
+
+// ACK change of guild skill update
 int intif_parse_GuildSkillUp(int fd)
 int intif_parse_GuildSkillUp(int fd)
 {
 {
 	guild_skillupack(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10));
 	guild_skillupack(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10));
 	return 0;
 	return 0;
 }
 }
-// ギルド同盟/敵対通知
+
+// ACK change of guild relationship
 int intif_parse_GuildAlliance(int fd)
 int intif_parse_GuildAlliance(int fd)
 {
 {
 	guild_allianceack(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOL(fd,14),RFIFOB(fd,18),(char *) RFIFOP(fd,19),(char *) RFIFOP(fd,43));
 	guild_allianceack(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOL(fd,14),RFIFOB(fd,18),(char *) RFIFOP(fd,19),(char *) RFIFOP(fd,43));
 	return 0;
 	return 0;
 }
 }
-// ギルド告知変更通知
+
+// ACK change of guild notice
 int intif_parse_GuildNotice(int fd)
 int intif_parse_GuildNotice(int fd)
 {
 {
 	guild_notice_changed(RFIFOL(fd,2),(char *) RFIFOP(fd,6),(char *) RFIFOP(fd,66));
 	guild_notice_changed(RFIFOL(fd,2),(char *) RFIFOP(fd,6),(char *) RFIFOP(fd,66));
 	return 0;
 	return 0;
 }
 }
-// ギルドエンブレム変更通知
+
+// ACK change of guild emblem
 int intif_parse_GuildEmblem(int fd)
 int intif_parse_GuildEmblem(int fd)
 {
 {
 	guild_emblem_changed(RFIFOW(fd,2)-12,RFIFOL(fd,4),RFIFOL(fd,8), (char *)RFIFOP(fd,12));
 	guild_emblem_changed(RFIFOW(fd,2)-12,RFIFOL(fd,4),RFIFOL(fd,8), (char *)RFIFOP(fd,12));
 	return 0;
 	return 0;
 }
 }
-// ギルド会話受信
+
+// ACK guild message
 int intif_parse_GuildMessage(int fd)
 int intif_parse_GuildMessage(int fd)
 {
 {
 	guild_recv_message(RFIFOL(fd,4),RFIFOL(fd,8),(char *) RFIFOP(fd,12),RFIFOW(fd,2)-12);
 	guild_recv_message(RFIFOL(fd,4),RFIFOL(fd,8),(char *) RFIFOP(fd,12),RFIFOW(fd,2)-12);
 	return 0;
 	return 0;
 }
 }
-// ギルド城データ要求返信
+
+// Reply guild castle data request
 int intif_parse_GuildCastleDataLoad(int fd)
 int intif_parse_GuildCastleDataLoad(int fd)
 {
 {
 	return guild_castledataloadack(RFIFOW(fd,2), (struct guild_castle *)RFIFOP(fd,4));
 	return guild_castledataloadack(RFIFOW(fd,2), (struct guild_castle *)RFIFOP(fd,4));
 }
 }
 
 
+// ACK change of guildmaster
 int intif_parse_GuildMasterChanged(int fd)
 int intif_parse_GuildMasterChanged(int fd)
 {
 {
 	return guild_gm_changed(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10));
 	return guild_gm_changed(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10));
 }
 }
 
 
-// pet
+// Request pet creation
 int intif_parse_CreatePet(int fd)
 int intif_parse_CreatePet(int fd)
 {
 {
 	pet_get_egg(RFIFOL(fd,2),RFIFOL(fd,7),RFIFOB(fd,6));
 	pet_get_egg(RFIFOL(fd,2),RFIFOL(fd,7),RFIFOB(fd,6));
 	return 0;
 	return 0;
 }
 }
 
 
+// ACK pet data
 int intif_parse_RecvPetData(int fd)
 int intif_parse_RecvPetData(int fd)
 {
 {
 	struct s_pet p;
 	struct s_pet p;
@@ -1261,6 +1303,8 @@ int intif_parse_RecvPetData(int fd)
 
 
 	return 0;
 	return 0;
 }
 }
+
+// ACK pet save data
 int intif_parse_SavePetOk(int fd)
 int intif_parse_SavePetOk(int fd)
 {
 {
 	if(RFIFOB(fd,6) == 1)
 	if(RFIFOB(fd,6) == 1)
@@ -1269,6 +1313,7 @@ int intif_parse_SavePetOk(int fd)
 	return 0;
 	return 0;
 }
 }
 
 
+// ACK deleting pet
 int intif_parse_DeletePetOk(int fd)
 int intif_parse_DeletePetOk(int fd)
 {
 {
 	if(RFIFOB(fd,2) == 1)
 	if(RFIFOB(fd,2) == 1)
@@ -1277,6 +1322,7 @@ int intif_parse_DeletePetOk(int fd)
 	return 0;
 	return 0;
 }
 }
 
 
+// ACK changing name resquest, players,pets,hommon
 int intif_parse_ChangeNameOk(int fd)
 int intif_parse_ChangeNameOk(int fd)
 {
 {
 	struct map_session_data *sd = NULL;
 	struct map_session_data *sd = NULL;
@@ -2112,19 +2158,19 @@ void intif_parse_MessageToFD(int fd) {
 }
 }
 
 
 //-----------------------------------------------------------------
 //-----------------------------------------------------------------
-// inter serverからの通信
-// エラーがあれば0(false)を返すこと
-// パケットが処理できれば1,パケット長が足りなければ2を返すこと
+// Communication from the inter server
+// Return a 0 (false) if there were any errors.
+// 1, 2 if there are not enough to return the length of the packet if the packet processing
 int intif_parse(int fd)
 int intif_parse(int fd)
 {
 {
 	int packet_len, cmd;
 	int packet_len, cmd;
 	cmd = RFIFOW(fd,0);
 	cmd = RFIFOW(fd,0);
-	// パケットのID確認
+    // Verify ID of the packet
 	if(cmd<0x3800 || cmd>=0x3800+(sizeof(packet_len_table)/sizeof(packet_len_table[0])) ||
 	if(cmd<0x3800 || cmd>=0x3800+(sizeof(packet_len_table)/sizeof(packet_len_table[0])) ||
 	   packet_len_table[cmd-0x3800]==0){
 	   packet_len_table[cmd-0x3800]==0){
 	   	return 0;
 	   	return 0;
 	}
 	}
-	// パケットの長さ確認
+    // Check the length of the packet
 	packet_len = packet_len_table[cmd-0x3800];
 	packet_len = packet_len_table[cmd-0x3800];
 	if(packet_len==-1){
 	if(packet_len==-1){
 		if(RFIFOREST(fd)<4)
 		if(RFIFOREST(fd)<4)
@@ -2134,7 +2180,7 @@ int intif_parse(int fd)
 	if((int)RFIFOREST(fd)<packet_len){
 	if((int)RFIFOREST(fd)<packet_len){
 		return 2;
 		return 2;
 	}
 	}
-	// 処理分岐
+    // Processing branch
 	switch(cmd){
 	switch(cmd){
 	case 0x3800:
 	case 0x3800:
 		if (RFIFOL(fd,4) == 0xFF000000) //Normal announce.
 		if (RFIFOL(fd,4) == 0xFF000000) //Normal announce.
@@ -2217,7 +2263,7 @@ int intif_parse(int fd)
 		ShowError("intif_parse : unknown packet %d %x\n",fd,RFIFOW(fd,0));
 		ShowError("intif_parse : unknown packet %d %x\n",fd,RFIFOW(fd,0));
 		return 0;
 		return 0;
 	}
 	}
-	// パケット読み飛ばし
+    // Skip packet
 	RFIFOSKIP(fd,packet_len);
 	RFIFOSKIP(fd,packet_len);
 	return 1;
 	return 1;
 }
 }

+ 8 - 6
src/map/itemdb.c

@@ -25,7 +25,7 @@ static struct item_group itemgroup_db[MAX_ITEMGROUP];
 struct item_data dummy_item; //This is the default dummy item used for non-existant items. [Skotlex]
 struct item_data dummy_item; //This is the default dummy item used for non-existant items. [Skotlex]
 
 
 /**
 /**
- * 名前で検索用
+ * Search for item name 
  * name = item alias, so we should find items aliases first. if not found then look for "jname" (full name)
  * name = item alias, so we should find items aliases first. if not found then look for "jname" (full name)
  * @see DBApply
  * @see DBApply
  */
  */
@@ -51,7 +51,7 @@ static int itemdb_searchname_sub(DBKey key, DBData *data, va_list ap)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 名前で検索
+ * Return item data from item name. (lookup) 
  *------------------------------------------*/
  *------------------------------------------*/
 struct item_data* itemdb_searchname(const char *str)
 struct item_data* itemdb_searchname(const char *str)
 {
 {
@@ -136,7 +136,7 @@ int itemdb_searchname_array(struct item_data** data, int size, const char *str)
 
 
 
 
 /*==========================================
 /*==========================================
- * 箱系アイテム検索
+ * Return a  random item id from group. (take in account % chance giving/tot group) 
  *------------------------------------------*/
  *------------------------------------------*/
 int itemdb_searchrandomid(int group)
 int itemdb_searchrandomid(int group)
 {
 {
@@ -480,7 +480,8 @@ int itemdb_isidentified(int nameid)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * アイテム使用可能フラグのオーバーライド
+ * Search by name for the override flags available items
+ * (Give item another sprite)
  *------------------------------------------*/
  *------------------------------------------*/
 static bool itemdb_read_itemavail(char* str[], int columns, int current)
 static bool itemdb_read_itemavail(char* str[], int columns, int current)
 {// <nameid>,<sprite>
 {// <nameid>,<sprite>
@@ -585,7 +586,7 @@ static void itemdb_read_itemgroup(void)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 装備制限ファイル読み出し
+ * Read item forbiden by mapflag (can't equip item)
  *------------------------------------------*/
  *------------------------------------------*/
 static bool itemdb_read_noequip(char* str[], int columns, int current)
 static bool itemdb_read_noequip(char* str[], int columns, int current)
 {// <nameid>,<mode>
 {// <nameid>,<mode>
@@ -1075,7 +1076,8 @@ static bool itemdb_parse_dbrow(char** str, const char* source, int line, int scr
 }
 }
 
 
 /*==========================================
 /*==========================================
- * アイテムデータベースの読み込み
+ * Reading item from item db
+ * item_db2 overwriting item_db
  *------------------------------------------*/
  *------------------------------------------*/
 static int itemdb_readdb(void)
 static int itemdb_readdb(void)
 {
 {

+ 72 - 70
src/map/map.c

@@ -93,7 +93,7 @@ char *SCRIPT_CONF_NAME;
 char *MSG_CONF_NAME;
 char *MSG_CONF_NAME;
 char *GRF_PATH_FILENAME;
 char *GRF_PATH_FILENAME;
 
 
-// 極力 staticでロ?カルに?める
+// DBMap declaartion
 static DBMap* id_db=NULL; // int id -> struct block_list*
 static DBMap* id_db=NULL; // int id -> struct block_list*
 static DBMap* pc_db=NULL; // int id -> struct map_session_data*
 static DBMap* pc_db=NULL; // int id -> struct map_session_data*
 static DBMap* mobid_db=NULL; // int id -> struct mob_data*
 static DBMap* mobid_db=NULL; // int id -> struct mob_data*
@@ -183,12 +183,11 @@ int map_usercount(void)
 }
 }
 
 
 //
 //
-// block削除の安全性確保?理
+// block�ス尞懶ソスフ茨ソス�スS�ス�ス�スm�ス�ス?�ス�ス
 //
 //
 
 
 /*==========================================
 /*==========================================
- * blockをfreeするときfreeの?わりに呼ぶ
- * ロックされているときはバッファにためる
+ * Attempt to free a map blocklist
  *------------------------------------------*/
  *------------------------------------------*/
 int map_freeblock (struct block_list *bl)
 int map_freeblock (struct block_list *bl)
 {
 {
@@ -205,7 +204,7 @@ int map_freeblock (struct block_list *bl)
 	return block_free_lock;
 	return block_free_lock;
 }
 }
 /*==========================================
 /*==========================================
- * blockのfreeを一市Iに禁止する
+ * block�ス�スfree�ス�ス�ス�スsI�スノ禁止�ス�ス�ス�ス
  *------------------------------------------*/
  *------------------------------------------*/
 int map_freeblock_lock (void)
 int map_freeblock_lock (void)
 {
 {
@@ -213,9 +212,9 @@ int map_freeblock_lock (void)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * blockのfreeのロックを解除する
- * このとき、ロックが完全になくなると
- * バッファにたまっていたblockを全部削除
+ * block�ス�スfree�スフ�ソス�スb�スN�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス
+ * �ス�ス�スフとゑソス�スA�ス�ス�スb�スN�ス�ス�ス�ス�スS�スノなゑソス�スネゑソス�ス
+ * �スo�スb�スt�ス@�スノゑソス�スワゑソス�ストゑソス�ス�スblock�ス�スS�ス�ス�ス尞�
  *------------------------------------------*/
  *------------------------------------------*/
 int map_freeblock_unlock (void)
 int map_freeblock_unlock (void)
 {
 {
@@ -235,10 +234,10 @@ int map_freeblock_unlock (void)
 	return block_free_lock;
 	return block_free_lock;
 }
 }
 
 
-// map_freeblock_lock() を呼んで map_freeblock_unlock() を呼ばない
-// 関数があったので、定期的にblock_free_lockをリセットするようにする。
-// この関数は、do_timer() のトップレベルから呼ばれるので、
-// block_free_lock を直接いじっても支障無いはず。
+// map_freeblock_lock() �ス�ス�ストゑソス�ス map_freeblock_unlock() �ス�ス�ストばなゑソス
+// �スヨ撰ソス�ス�ス�ス�ス�ス�ス�ス�ス�スフで、�ス�ス�スI�ス�スblock_free_lock�ス�ス�ス�ス�スZ�スb�スg�ス�ス�ス�ス謔、�スノゑソス�ス�スB
+// �ス�ス�スフ関撰ソス�スヘ、do_timer() �スフト�スb�スv�ス�ス�スx�ス�ス�ス�ス�ス�ストばゑソス�スフで、
+// block_free_lock �ス�シ接ゑソス�ス�ス�ス�ス�ストゑソス�スx�ス癘ウ�ス�ス�スヘゑソス�スB
 
 
 int map_freeblock_timer(int tid, unsigned int tick, int id, intptr_t data)
 int map_freeblock_timer(int tid, unsigned int tick, int id, intptr_t data)
 {
 {
@@ -252,11 +251,11 @@ int map_freeblock_timer(int tid, unsigned int tick, int id, intptr_t data)
 }
 }
 
 
 //
 //
-// block化?理
+// block�ス�ス?�ス�ス
 //
 //
 /*==========================================
 /*==========================================
- * map[]のblock_listから?がっている場合に
- * bl->prevにbl_headのアドレスを入れておく
+ * map[]�ス�スblock_list�ス�ス�ス�ス?�ス�ス�ス�ス�ストゑソス�ス�ス鼾�ソス�ス
+ * bl->prev�ス�スbl_head�スフア�スh�ス�ス�スX�ス�ス�ス�ストゑソス�ス�ス
  *------------------------------------------*/
  *------------------------------------------*/
 static struct block_list bl_head;
 static struct block_list bl_head;
 
 
@@ -339,10 +338,10 @@ int map_delblock(struct block_list* bl)
 	int pos;
 	int pos;
 	nullpo_ret(bl);
 	nullpo_ret(bl);
 
 
-	// ?にblocklistから?けている
+    // blocklist (2ways chainlist)
 	if (bl->prev == NULL) {
 	if (bl->prev == NULL) {
 		if (bl->next != NULL) {
 		if (bl->next != NULL) {
-			// prevがNULLでnextがNULLでないのは有ってはならない
+			// prev�ス�スNULL�ス�スnext�ス�スNULL�スナなゑソス�スフは有�ス�ス�ストはなゑソスネゑソス
 			ShowError("map_delblock error : bl->next!=NULL\n");
 			ShowError("map_delblock error : bl->next!=NULL\n");
 		}
 		}
 		return 0;
 		return 0;
@@ -357,7 +356,7 @@ int map_delblock(struct block_list* bl)
 	if (bl->next)
 	if (bl->next)
 		bl->next->prev = bl->prev;
 		bl->next->prev = bl->prev;
 	if (bl->prev == &bl_head) {
 	if (bl->prev == &bl_head) {
-		// リストの頭なので、map[]のblock_listを更新する
+		// �ス�ス�スX�スg�スフ難ソス�スネので、map[]�ス�スblock_list�ス�ス�スX�スV�ス�ス�ス�ス
 		if (bl->type == BL_MOB) {
 		if (bl->type == BL_MOB) {
 			map[bl->m].block_mob[pos] = bl->next;
 			map[bl->m].block_mob[pos] = bl->next;
 		} else {
 		} else {
@@ -589,10 +588,10 @@ int map_foreachinrange(int (*func)(struct block_list*,va_list), struct block_lis
 	if(bl_list_count>=BL_LIST_MAX)
 	if(bl_list_count>=BL_LIST_MAX)
 		ShowWarning("map_foreachinrange: block count too many!\n");
 		ShowWarning("map_foreachinrange: block count too many!\n");
 
 
-	map_freeblock_lock();	// メモリからの解放を禁止する
+	map_freeblock_lock();	// �ス�ス�ス�ス�ス�ス�ス�ス�ス�スフ会ソス�ス�ス�スヨ止�ス�ス�ス�ス
 
 
 	for(i=blockcount;i<bl_list_count;i++)
 	for(i=blockcount;i<bl_list_count;i++)
-		if(bl_list[i]->prev)	// 有?かどうかチェック
+		if(bl_list[i]->prev)	// �スL?�ス�ス�スヌゑソス�ス�ス�ス`�スF�スb�スN
 		{
 		{
 			va_list ap;
 			va_list ap;
 			va_start(ap, type);
 			va_start(ap, type);
@@ -600,7 +599,7 @@ int map_foreachinrange(int (*func)(struct block_list*,va_list), struct block_lis
 			va_end(ap);
 			va_end(ap);
 		}
 		}
 
 
-	map_freeblock_unlock();	// 解放を許可する
+	map_freeblock_unlock();	// �ス�ス�ス�ス�ス�ス�スツゑソス�ス�ス
 
 
 	bl_list_count = blockcount;
 	bl_list_count = blockcount;
 	return returnCount;	//[Skotlex]
 	return returnCount;	//[Skotlex]
@@ -661,10 +660,10 @@ int map_foreachinshootrange(int (*func)(struct block_list*,va_list),struct block
 	if(bl_list_count>=BL_LIST_MAX)
 	if(bl_list_count>=BL_LIST_MAX)
 			ShowWarning("map_foreachinrange: block count too many!\n");
 			ShowWarning("map_foreachinrange: block count too many!\n");
 
 
-	map_freeblock_lock();	// メモリからの解放を禁止する
+	map_freeblock_lock();	// �ス�ス�ス�ス�ス�ス�ス�ス�ス�スフ会ソス�ス�ス�スヨ止�ス�ス�ス�ス
 
 
 	for(i=blockcount;i<bl_list_count;i++)
 	for(i=blockcount;i<bl_list_count;i++)
-		if(bl_list[i]->prev)	// 有?かどうかチェック
+		if(bl_list[i]->prev)	// �スL?�ス�ス�スヌゑソス�ス�ス�ス`�スF�スb�スN
 		{
 		{
 			va_list ap;
 			va_list ap;
 			va_start(ap, type);
 			va_start(ap, type);
@@ -672,16 +671,16 @@ int map_foreachinshootrange(int (*func)(struct block_list*,va_list),struct block
 			va_end(ap);
 			va_end(ap);
 		}
 		}
 
 
-	map_freeblock_unlock();	// 解放を許可する
+	map_freeblock_unlock();	// �ス�ス�ス�ス�ス�ス�スツゑソス�ス�ス
 
 
 	bl_list_count = blockcount;
 	bl_list_count = blockcount;
 	return returnCount;	//[Skotlex]
 	return returnCount;	//[Skotlex]
 }
 }
 
 
 /*==========================================
 /*==========================================
- * map m (x0,y0)-(x1,y1)?の全objに?して
- * funcを呼ぶ
- * type!=0 ならその種類のみ
+ * map m (x0,y0)-(x1,y1)?�スフ全obj�ス�ス?�ス�ス�ス�ス
+ * func�ス�ス�ストゑソス
+ * type!=0 �スネらそ�スフ趣ソズのゑソス
  *------------------------------------------*/
  *------------------------------------------*/
 int map_foreachinarea(int (*func)(struct block_list*,va_list), int m, int x0, int y0, int x1, int y1, int type, ...)
 int map_foreachinarea(int (*func)(struct block_list*,va_list), int m, int x0, int y0, int x1, int y1, int type, ...)
 {
 {
@@ -726,10 +725,10 @@ int map_foreachinarea(int (*func)(struct block_list*,va_list), int m, int x0, in
 	if(bl_list_count>=BL_LIST_MAX)
 	if(bl_list_count>=BL_LIST_MAX)
 		ShowWarning("map_foreachinarea: block count too many!\n");
 		ShowWarning("map_foreachinarea: block count too many!\n");
 
 
-	map_freeblock_lock();	// メモリからの解放を禁止する
+	map_freeblock_lock();	// �ス�ス�ス�ス�ス�ス�ス�ス�ス�スフ会ソス�ス�ス�スヨ止�ス�ス�ス�ス
 
 
 	for(i=blockcount;i<bl_list_count;i++)
 	for(i=blockcount;i<bl_list_count;i++)
-		if(bl_list[i]->prev)	// 有?かどうかチェック
+		if(bl_list[i]->prev)	// �スL?�ス�ス�スヌゑソス�ス�ス�ス`�スF�スb�スN
 		{
 		{
 			va_list ap;
 			va_list ap;
 			va_start(ap, type);
 			va_start(ap, type);
@@ -737,7 +736,7 @@ int map_foreachinarea(int (*func)(struct block_list*,va_list), int m, int x0, in
 			va_end(ap);
 			va_end(ap);
 		}
 		}
 
 
-	map_freeblock_unlock();	// 解放を許可する
+	map_freeblock_unlock();	// �ス�ス�ス�ス�ス�ス�スツゑソス�ス�ス
 
 
 	bl_list_count = blockcount;
 	bl_list_count = blockcount;
 	return returnCount;	//[Skotlex]
 	return returnCount;	//[Skotlex]
@@ -792,10 +791,10 @@ int map_forcountinrange(int (*func)(struct block_list*,va_list), struct block_li
 	if(bl_list_count>=BL_LIST_MAX)
 	if(bl_list_count>=BL_LIST_MAX)
 		ShowWarning("map_forcountinrange: block count too many!\n");
 		ShowWarning("map_forcountinrange: block count too many!\n");
 
 
-	map_freeblock_lock();	// メモリからの解放を禁止する
+	map_freeblock_lock();	// �ス�ス�ス�ス�ス�ス�ス�ス�ス�スフ会ソス�ス�ス�スヨ止�ス�ス�ス�ス
 
 
 	for(i=blockcount;i<bl_list_count;i++)
 	for(i=blockcount;i<bl_list_count;i++)
-		if(bl_list[i]->prev)	// 有?かどうかチェック
+		if(bl_list[i]->prev)	// �スL?�ス�ス�スヌゑソス�ス�ス�ス`�スF�スb�スN
 		{
 		{
 			va_list ap;
 			va_list ap;
 			va_start(ap, type);
 			va_start(ap, type);
@@ -805,7 +804,7 @@ int map_forcountinrange(int (*func)(struct block_list*,va_list), struct block_li
 				break;
 				break;
 		}
 		}
 
 
-	map_freeblock_unlock();	// 解放を許可する
+	map_freeblock_unlock();	// �ス�ス�ス�ス�ス�ス�スツゑソス�ス�ス
 
 
 	bl_list_count = blockcount;
 	bl_list_count = blockcount;
 	return returnCount;	//[Skotlex]
 	return returnCount;	//[Skotlex]
@@ -853,10 +852,10 @@ int map_forcountinarea(int (*func)(struct block_list*,va_list), int m, int x0, i
 	if(bl_list_count>=BL_LIST_MAX)
 	if(bl_list_count>=BL_LIST_MAX)
 		ShowWarning("map_foreachinarea: block count too many!\n");
 		ShowWarning("map_foreachinarea: block count too many!\n");
 
 
-	map_freeblock_lock();	// メモリからの解放を禁止する
+	map_freeblock_lock();	// �ス�ス�ス�ス�ス�ス�ス�ス�ス�スフ会ソス�ス�ス�スヨ止�ス�ス�ス�ス
 
 
 	for(i=blockcount;i<bl_list_count;i++)
 	for(i=blockcount;i<bl_list_count;i++)
-		if(bl_list[i]->prev)	// 有?かどうかチェック
+		if(bl_list[i]->prev)	// �スL?�ス�ス�スヌゑソス�ス�ス�ス`�スF�スb�スN
 		{
 		{
 			va_list ap;
 			va_list ap;
 			va_start(ap, type);
 			va_start(ap, type);
@@ -866,18 +865,18 @@ int map_forcountinarea(int (*func)(struct block_list*,va_list), int m, int x0, i
 				break;
 				break;
 		}
 		}
 
 
-	map_freeblock_unlock();	// 解放を許可する
+	map_freeblock_unlock();	// �ス�ス�ス�ス�ス�ス�スツゑソス�ス�ス
 
 
 	bl_list_count = blockcount;
 	bl_list_count = blockcount;
 	return returnCount;	//[Skotlex]
 	return returnCount;	//[Skotlex]
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 矩形(x0,y0)-(x1,y1)が(dx,dy)移動した暫?
- * 領域外になる領域(矩形かL字形)?のobjに
- * ?してfuncを呼ぶ
+ * �ス�ス`(x0,y0)-(x1,y1)�ス�ス(dx,dy)�スレ難ソス�ス�ス�ス�ス�スb?
+ * �スフ茨ソスO�スノなゑソスフ茨ソス(�ス�ス`�ス�スL�ス�ス�ス`)?�ス�スobj�ス�ス
+ * ?�ス�ス�ス�スfunc�ス�ス�ストゑソス
  *
  *
- * dx,dyは-1,0,1のみとする(どんな値でもいいっぽい?)
+ * dx,dy�ス�ス-1,0,1�スフみとゑソス�ス�スi�スヌゑソスネ値�スナゑソス�ス�ス�ス�ス�ス�ス�スロゑソス�スH�スj
  *------------------------------------------*/
  *------------------------------------------*/
 int map_foreachinmovearea(int (*func)(struct block_list*,va_list), struct block_list* center, int range, int dx, int dy, int type, ...)
 int map_foreachinmovearea(int (*func)(struct block_list*,va_list), struct block_list* center, int range, int dx, int dy, int type, ...)
 {
 {
@@ -991,7 +990,7 @@ int map_foreachinmovearea(int (*func)(struct block_list*,va_list), struct block_
 	if(bl_list_count>=BL_LIST_MAX)
 	if(bl_list_count>=BL_LIST_MAX)
 		ShowWarning("map_foreachinmovearea: block count too many!\n");
 		ShowWarning("map_foreachinmovearea: block count too many!\n");
 
 
-	map_freeblock_lock();	// メモリからの解放を禁止する
+	map_freeblock_lock();	// Prohibit the release from memory
 
 
 	for(i=blockcount;i<bl_list_count;i++)
 	for(i=blockcount;i<bl_list_count;i++)
 		if(bl_list[i]->prev)
 		if(bl_list[i]->prev)
@@ -1002,7 +1001,7 @@ int map_foreachinmovearea(int (*func)(struct block_list*,va_list), struct block_
 			va_end(ap);
 			va_end(ap);
 		}
 		}
 
 
-	map_freeblock_unlock();	// 解放を許可する
+	map_freeblock_unlock();	// Allow Free
 
 
 	bl_list_count = blockcount;
 	bl_list_count = blockcount;
 	return returnCount;
 	return returnCount;
@@ -1037,10 +1036,10 @@ int map_foreachincell(int (*func)(struct block_list*,va_list), int m, int x, int
 	if(bl_list_count>=BL_LIST_MAX)
 	if(bl_list_count>=BL_LIST_MAX)
 		ShowWarning("map_foreachincell: block count too many!\n");
 		ShowWarning("map_foreachincell: block count too many!\n");
 
 
-	map_freeblock_lock();	// メモリからの解放を禁止する
+	map_freeblock_lock();	// �ス�ス�ス�ス�ス�ス�ス�ス�ス�スフ会ソス�ス�ス�スヨ止�ス�ス�ス�ス
 
 
 	for(i=blockcount;i<bl_list_count;i++)
 	for(i=blockcount;i<bl_list_count;i++)
-		if(bl_list[i]->prev)	// 有?かどうかチェック
+		if(bl_list[i]->prev)	// �スL?�ス�ス�スヌゑソス�ス�ス�ス`�スF�スb�スN
 		{
 		{
 			va_list ap;
 			va_list ap;
 			va_start(ap, type);
 			va_start(ap, type);
@@ -1048,7 +1047,7 @@ int map_foreachincell(int (*func)(struct block_list*,va_list), int m, int x, int
 			va_end(ap);
 			va_end(ap);
 		}
 		}
 
 
-	map_freeblock_unlock();	// 解放を許可する
+	map_freeblock_unlock();	// �ス�ス�ス�ス�ス�ス�スツゑソス�ス�ス
 
 
 	bl_list_count = blockcount;
 	bl_list_count = blockcount;
 	return returnCount;
 	return returnCount;
@@ -1274,10 +1273,10 @@ int map_foreachinmap(int (*func)(struct block_list*,va_list), int m, int type,..
 	if(bl_list_count>=BL_LIST_MAX)
 	if(bl_list_count>=BL_LIST_MAX)
 		ShowWarning("map_foreachinmap: block count too many!\n");
 		ShowWarning("map_foreachinmap: block count too many!\n");
 
 
-	map_freeblock_lock();	// メモリからの解放を禁止する
+	map_freeblock_lock();	// �ス�ス�ス�ス�ス�ス�ス�ス�ス�スフ会ソス�ス�ス�スヨ止�ス�ス�ス�ス
 
 
 	for(i=blockcount;i<bl_list_count;i++)
 	for(i=blockcount;i<bl_list_count;i++)
-		if(bl_list[i]->prev)	// 有?かどうかチェック
+		if(bl_list[i]->prev)	// �スL?�ス�ス�スヌゑソス�ス�ス�ス`�スF�スb�スN
 		{
 		{
 			va_list ap;
 			va_list ap;
 			va_start(ap, type);
 			va_start(ap, type);
@@ -1285,7 +1284,7 @@ int map_foreachinmap(int (*func)(struct block_list*,va_list), int m, int type,..
 			va_end(ap);
 			va_end(ap);
 		}
 		}
 
 
-	map_freeblock_unlock();	// 解放を許可する
+	map_freeblock_unlock();	// �ス�ス�ス�ス�ス�ス�スツゑソス�ス�ス
 
 
 	bl_list_count = blockcount;
 	bl_list_count = blockcount;
 	return returnCount;
 	return returnCount;
@@ -1324,12 +1323,12 @@ int map_get_new_object_id(void)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 床アイテムを消す
+ * �ス�ス�スA�スC�スe�ス�ス�ス�ス�ス�ス�ス�ス
  *
  *
- * data==0の暫ヘtimerで消えた殊 * data!=0の暫ヘ拾う等で消えた暫ニして動�?
+ * data==0�スフ暫�スtimer�スナ擾ソス�ス�ス�ス�ス�ス�ス * data!=0�スフ暫ヘ拾�ス�ス�ス�ス�スナ擾ソス�ス�ス�ス�ス�スbニゑソス�スト難ソス??
  *
  *
- * 後者は、map_clearflooritem(id)へ
- * map.h?で#defineしてある
+ * �ス�スメは、map_clearflooritem(id)�ス�ス
+ * map.h?�ス�ス#define�ス�ス�ストゑソス�ス�ス
  *------------------------------------------*/
  *------------------------------------------*/
 int map_clearflooritem_timer(int tid, unsigned int tick, int id, intptr_t data)
 int map_clearflooritem_timer(int tid, unsigned int tick, int id, intptr_t data)
 {
 {
@@ -1469,10 +1468,13 @@ int map_search_freecell(struct block_list *src, int m, short *x,short *y, int rx
 }
 }
 
 
 /*==========================================
 /*==========================================
- * (m,x,y)を中心に3x3以?に床アイテム設置
- *
- * item_dataはamount以外をcopyする
- * type flag: &1 MVP item. &2 do stacking check.
+ * Add an item to location (m,x,y)
+ * Parameters 
+ * @item_data item attributes
+ * @amount quantity
+ * @m, @x, @y mapid,x,y
+ * @first_charid, @second_charid, @third_charid, looting priority
+ * @flag: &1 MVP item. &2 do stacking check.
  *------------------------------------------*/
  *------------------------------------------*/
 int map_addflooritem(struct item *item_data,int amount,int m,int x,int y,int first_charid,int second_charid,int third_charid,int flags)
 int map_addflooritem(struct item *item_data,int amount,int m,int x,int y,int first_charid,int second_charid,int third_charid,int flags)
 {
 {
@@ -1608,7 +1610,7 @@ void map_reqnickdb(struct map_session_data * sd, int charid)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * id_dbへblを追加
+ * id_db�ス�スbl�ス�スヌ会ソス
  *------------------------------------------*/
  *------------------------------------------*/
 void map_addiddb(struct block_list *bl)
 void map_addiddb(struct block_list *bl)
 {
 {
@@ -1636,7 +1638,7 @@ void map_addiddb(struct block_list *bl)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * id_dbからblを削除
+ * id_db�ス�ス�ス�スbl�ス�ス�ス尞�
  *------------------------------------------*/
  *------------------------------------------*/
 void map_deliddb(struct block_list *bl)
 void map_deliddb(struct block_list *bl)
 {
 {
@@ -1779,7 +1781,7 @@ int map_quit(struct map_session_data *sd) {
 }
 }
 
 
 /*==========================================
 /*==========================================
- * id番?のPCを探す。居なければNULL
+ * id�ス�ス?�ス�スPC�ス�スT�ス�ス�スB�ス�ス�スネゑソス�ス�ス�スNULL
  *------------------------------------------*/
  *------------------------------------------*/
 struct map_session_data * map_id2sd(int id)
 struct map_session_data * map_id2sd(int id)
 {
 {
@@ -2200,7 +2202,7 @@ bool mapit_exists(struct s_mapiterator* mapit)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * map.npcへ追加 (warp等の領域持ちのみ)
+ * map.npc�スヨ追会ソス (warp�ス�ス�スフ領域持�ス�ス�スフゑソス)
  *------------------------------------------*/
  *------------------------------------------*/
 bool map_addnpc(int m,struct npc_data *nd)
 bool map_addnpc(int m,struct npc_data *nd)
 {
 {
@@ -2323,7 +2325,7 @@ void map_removemobs(int m)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * map名からmap番?へ?換
+ * map�ス�ス�ス�ス�ス�スmap�ス�ス?�ス�ス?�ス�ス
  *------------------------------------------*/
  *------------------------------------------*/
 int map_mapname2mapid(const char* name)
 int map_mapname2mapid(const char* name)
 {
 {
@@ -2351,7 +2353,7 @@ int map_mapindex2mapid(unsigned short mapindex)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 他鯖map名からip,port?換
+ * �ス�ス�スImap�ス�ス�ス�ス�ス�スip,port?�ス�ス
  *------------------------------------------*/
  *------------------------------------------*/
 int map_mapname2ipport(unsigned short name, uint32* ip, uint16* port)
 int map_mapname2ipport(unsigned short name, uint32* ip, uint16* port)
 {
 {
@@ -2463,7 +2465,7 @@ int map_random_dir(struct block_list *bl, short *x, short *y)
 	return 0;
 	return 0;
 }
 }
 
 
-// gat
+// gat�スn
 inline static struct mapcell map_gat2cell(int gat) {
 inline static struct mapcell map_gat2cell(int gat) {
 	struct mapcell cell;
 	struct mapcell cell;
 	
 	
@@ -2497,7 +2499,7 @@ static int map_cell2gat(struct mapcell cell)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * (m,x,y)の状態を調べる
+ * Confirm if celltype in (m,x,y) match the one given in cellchk
  *------------------------------------------*/
  *------------------------------------------*/
 int map_getcell(int m,int x,int y,cell_chk cellchk)
 int map_getcell(int m,int x,int y,cell_chk cellchk)
 {
 {
@@ -2751,7 +2753,7 @@ static DBData create_map_data_other_server(DBKey key, va_list args)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 他鯖管理のマップをdbに追加
+ * �ス�ス�スI�スヌ暦ソス�スフマ�スb�スv�ス�スdb�スノ追会ソス
  *------------------------------------------*/
  *------------------------------------------*/
 int map_setipport(unsigned short mapindex, uint32 ip, uint16 port)
 int map_setipport(unsigned short mapindex, uint32 ip, uint16 port)
 {
 {
@@ -2772,7 +2774,7 @@ int map_setipport(unsigned short mapindex, uint32 ip, uint16 port)
 }
 }
 
 
 /**
 /**
- * 他鯖管理のマップを全て削除
+ * �ス�ス�スI�スヌ暦ソス�スフマ�スb�スv�ス�スS�スト削除
  * @see DBApply
  * @see DBApply
  */
  */
 int map_eraseallipport_sub(DBKey key, DBData *data, va_list va)
 int map_eraseallipport_sub(DBKey key, DBData *data, va_list va)
@@ -2792,7 +2794,7 @@ int map_eraseallipport(void)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 他鯖管理のマップをdbから削除
+ * �ス�ス�スI�スヌ暦ソス�スフマ�スb�スv�ス�スdb�ス�ス�ス�ス尞�
  *------------------------------------------*/
  *------------------------------------------*/
 int map_eraseipport(unsigned short mapindex, uint32 ip, uint16 port)
 int map_eraseipport(unsigned short mapindex, uint32 ip, uint16 port)
 {
 {
@@ -3235,7 +3237,7 @@ int parse_console(const char* buf)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 設定ファイルを?み?む
+ * �スン抵ソスt�ス@�スC�ス�ス�ス�ス?�ス�ス?�ス�ス
  *------------------------------------------*/
  *------------------------------------------*/
 int map_config_read(char *cfgName)
 int map_config_read(char *cfgName)
 {
 {
@@ -3599,7 +3601,7 @@ static int cleanup_db_sub(DBKey key, DBData *data, va_list va)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * map鯖終了・理
+ * map�スI�スI�ス�ス�スE�ス�ス
  *------------------------------------------*/
  *------------------------------------------*/
 void do_final(void)
 void do_final(void)
 {
 {
@@ -3978,7 +3980,7 @@ int do_init(int argc, char *argv[])
 	do_init_battleground();
 	do_init_battleground();
 	do_init_duel();
 	do_init_duel();
 	
 	
-	npc_event_do_oninit();	// npcのOnInitイベント?行
+	npc_event_do_oninit();	// Init npcs (OnInit)
 
 
 	if( console )
 	if( console )
 	{
 	{

+ 8 - 7
src/map/map.h

@@ -610,15 +610,16 @@ extern char charhelp_txt[];
 
 
 extern char wisp_server_name[];
 extern char wisp_server_name[];
 
 
-// 鯖全体情報
+// users
 void map_setusers(int);
 void map_setusers(int);
 int map_getusers(void);
 int map_getusers(void);
 int map_usercount(void);
 int map_usercount(void);
-// block削除関連
+
+// blocklist lock
 int map_freeblock(struct block_list *bl);
 int map_freeblock(struct block_list *bl);
 int map_freeblock_lock(void);
 int map_freeblock_lock(void);
 int map_freeblock_unlock(void);
 int map_freeblock_unlock(void);
-// block関連
+// blocklist manipulation
 int map_addblock(struct block_list* bl);
 int map_addblock(struct block_list* bl);
 int map_delblock(struct block_list* bl);
 int map_delblock(struct block_list* bl);
 int map_moveblock(struct block_list *, int, int, unsigned int);
 int map_moveblock(struct block_list *, int, int, unsigned int);
@@ -631,10 +632,10 @@ int map_foreachinmovearea(int (*func)(struct block_list*,va_list), struct block_
 int map_foreachincell(int (*func)(struct block_list*,va_list), int m, int x, int y, int type, ...);
 int map_foreachincell(int (*func)(struct block_list*,va_list), int m, int x, int y, int type, ...);
 int map_foreachinpath(int (*func)(struct block_list*,va_list), int m, int x0, int y0, int x1, int y1, int range, int length, int type, ...);
 int map_foreachinpath(int (*func)(struct block_list*,va_list), int m, int x0, int y0, int x1, int y1, int range, int length, int type, ...);
 int map_foreachinmap(int (*func)(struct block_list*,va_list), int m, int type, ...);
 int map_foreachinmap(int (*func)(struct block_list*,va_list), int m, int type, ...);
-//block関連に追加
+//blocklist nb in one cell
 int map_count_oncell(int m,int x,int y,int type);
 int map_count_oncell(int m,int x,int y,int type);
 struct skill_unit *map_find_skill_unit_oncell(struct block_list *,int x,int y,int skill_id,struct skill_unit *, int flag);
 struct skill_unit *map_find_skill_unit_oncell(struct block_list *,int x,int y,int skill_id,struct skill_unit *, int flag);
-// 一時的object関連
+// search and creation
 int map_get_new_object_id(void);
 int map_get_new_object_id(void);
 int map_search_freecell(struct block_list *src, int m, short *x, short *y, int rx, int ry, int flag);
 int map_search_freecell(struct block_list *src, int m, short *x, short *y, int rx, int ry, int flag);
 //
 //
@@ -642,13 +643,13 @@ int map_quit(struct map_session_data *);
 // npc
 // npc
 bool map_addnpc(int,struct npc_data *);
 bool map_addnpc(int,struct npc_data *);
 
 
-// 床アイテム関連
+// map item
 int map_clearflooritem_timer(int tid, unsigned int tick, int id, intptr_t data);
 int map_clearflooritem_timer(int tid, unsigned int tick, int id, intptr_t data);
 int map_removemobs_timer(int tid, unsigned int tick, int id, intptr_t data);
 int map_removemobs_timer(int tid, unsigned int tick, int id, intptr_t data);
 #define map_clearflooritem(id) map_clearflooritem_timer(0,0,id,1)
 #define map_clearflooritem(id) map_clearflooritem_timer(0,0,id,1)
 int map_addflooritem(struct item *item_data,int amount,int m,int x,int y,int first_charid,int second_charid,int third_charid,int flags);
 int map_addflooritem(struct item *item_data,int amount,int m,int x,int y,int first_charid,int second_charid,int third_charid,int flags);
 
 
-// キャラid=>キャラ名 変換関連
+// player to map session
 void map_addnickdb(int charid, const char* nick);
 void map_addnickdb(int charid, const char* nick);
 void map_delnickdb(int charid, const char* nick);
 void map_delnickdb(int charid, const char* nick);
 void map_reqnickdb(struct map_session_data* sd,int charid);
 void map_reqnickdb(struct map_session_data* sd,int charid);

+ 1 - 1
src/map/mercenary.c

@@ -371,7 +371,7 @@ int mercenary_killbonus(struct mercenary_data *md)
 	const enum sc_type scs[] = { SC_MERC_FLEEUP, SC_MERC_ATKUP, SC_MERC_HPUP, SC_MERC_SPUP, SC_MERC_HITUP };
 	const enum sc_type scs[] = { SC_MERC_FLEEUP, SC_MERC_ATKUP, SC_MERC_HPUP, SC_MERC_SPUP, SC_MERC_HITUP };
 	int index = rnd() % ARRAYLENGTH(scs);
 	int index = rnd() % ARRAYLENGTH(scs);
 
 
-	status_change_start(&md->bl, scs[index], 10000, rnd()%5, 0, 0, 0, 600000, 0);
+    sc_start(&md->bl, scs[index], 100, rnd() % 5, 600000);
 	return 0;
 	return 0;
 }
 }
 
 

+ 5 - 4
src/map/mob.c

@@ -2834,7 +2834,7 @@ int mob_warpslave(struct block_list *bl, int range)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 画面内の取り巻きの数計算用(foreachinarea)
+ *  Count slave sub, curently chking if mob master is the given id
  *------------------------------------------*/
  *------------------------------------------*/
 int mob_countslave_sub(struct block_list *bl,va_list ap)
 int mob_countslave_sub(struct block_list *bl,va_list ap)
 {
 {
@@ -2849,7 +2849,7 @@ int mob_countslave_sub(struct block_list *bl,va_list ap)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 画面内の取り巻きの数計算
+ * Cout how many slave a mob got on map
  *------------------------------------------*/
  *------------------------------------------*/
 int mob_countslave(struct block_list *bl)
 int mob_countslave(struct block_list *bl)
 {
 {
@@ -2955,7 +2955,8 @@ int mob_summonslave(struct mob_data *md2,int *value,int amount,int skill_id)
 }
 }
 
 
 /*==========================================
 /*==========================================
- *MOBskillから該当skillidのskillidxを返す
+ * MOBskill lookup (get skillindex trough skillid)
+ * return -1 if not found
  *------------------------------------------*/
  *------------------------------------------*/
 int mob_skillid2skillidx(int class_,int skillid)
 int mob_skillid2skillidx(int class_,int skillid)
 {
 {
@@ -3965,7 +3966,7 @@ static bool mob_readdb_mobavail(char* str[], int columns, int current)
 
 
 	class_=atoi(str[0]);
 	class_=atoi(str[0]);
 
 
-	if(mob_db(class_) == mob_dummy)	// 値が異常なら処理しない。
+	if(mob_db(class_) == mob_dummy)	// invalid class (probably undefined in db)
 	{
 	{
 		ShowWarning("mob_readdb_mobavail: Unknown mob id %d.\n", class_);
 		ShowWarning("mob_readdb_mobavail: Unknown mob id %d.\n", class_);
 		return false;
 		return false;

+ 66 - 25
src/map/npc.c

@@ -138,9 +138,7 @@ int npc_ontouch2_event(struct map_session_data *sd, struct npc_data *nd)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * NPCの無効化/有効化
- * npc_enable
- * npc_enable_sub 有効時にOnTouchイベントを実行
+ * sub fonction of npc_enable,  Run OnTouch event when enabled
  *------------------------------------------*/
  *------------------------------------------*/
 int npc_enable_sub(struct block_list *bl, va_list ap)
 int npc_enable_sub(struct block_list *bl, va_list ap)
 {
 {
@@ -167,6 +165,9 @@ int npc_enable_sub(struct block_list *bl, va_list ap)
 	return 0;
 	return 0;
 }
 }
 
 
+/*==========================================
+ * Disable / Enable NPC
+ *------------------------------------------*/
 int npc_enable(const char* name, int flag)
 int npc_enable(const char* name, int flag)
 {
 {
 	struct npc_data* nd = npc_name2id(name);
 	struct npc_data* nd = npc_name2id(name);
@@ -197,15 +198,15 @@ int npc_enable(const char* name, int flag)
 			clif_spawn(&nd->bl);
 			clif_spawn(&nd->bl);
 	} else
 	} else
 		clif_changeoption(&nd->bl);
 		clif_changeoption(&nd->bl);
-		
-	if( flag&3 && (nd->u.scr.xs >= 0 || nd->u.scr.ys >= 0) )
+
+	if( flag&3 && (nd->u.scr.xs >= 0 || nd->u.scr.ys >= 0) ) 	//check if player standing on a OnTouchArea	
 		map_foreachinarea( npc_enable_sub, nd->bl.m, nd->bl.x-nd->u.scr.xs, nd->bl.y-nd->u.scr.ys, nd->bl.x+nd->u.scr.xs, nd->bl.y+nd->u.scr.ys, BL_PC, nd );
 		map_foreachinarea( npc_enable_sub, nd->bl.m, nd->bl.x-nd->u.scr.xs, nd->bl.y-nd->u.scr.ys, nd->bl.x+nd->u.scr.xs, nd->bl.y+nd->u.scr.ys, BL_PC, nd );
 
 
 	return 0;
 	return 0;
 }
 }
 
 
 /*==========================================
 /*==========================================
- * NPCを名前で探す
+ * NPC lookup (get npc_data trough npcname)
  *------------------------------------------*/
  *------------------------------------------*/
 struct npc_data* npc_name2id(const char* name)
 struct npc_data* npc_name2id(const char* name)
 {
 {
@@ -240,8 +241,9 @@ int npc_rr_secure_timeout_timer(int tid, unsigned int tick, int id, intptr_t dat
 	return 0;
 	return 0;
 }
 }
 #endif
 #endif
+
 /*==========================================
 /*==========================================
- * イベントキューのイベント処理
+ * Dequeue event and add timer for execution (100ms)
  *------------------------------------------*/
  *------------------------------------------*/
 int npc_event_dequeue(struct map_session_data* sd)
 int npc_event_dequeue(struct map_session_data* sd)
 {
 {
@@ -299,7 +301,8 @@ static int npc_event_export(struct npc_data *nd, int i)
 int npc_event_sub(struct map_session_data* sd, struct event_data* ev, const char* eventname); //[Lance]
 int npc_event_sub(struct map_session_data* sd, struct event_data* ev, const char* eventname); //[Lance]
 
 
 /**
 /**
- * 全てのNPCのOn*イベント実行
+ * Exec name (NPC events) on player or global
+ * Do on all NPC when called with foreach 
  * @see DBApply
  * @see DBApply
  */
  */
 int npc_event_doall_sub(DBKey key, DBData *data, va_list ap)
 int npc_event_doall_sub(DBKey key, DBData *data, va_list ap)
@@ -363,11 +366,13 @@ int npc_event_do(const char* name)
 
 
 	return c;
 	return c;
 }
 }
+
 // runs the specified event (global only)
 // runs the specified event (global only)
 int npc_event_doall(const char* name)
 int npc_event_doall(const char* name)
 {
 {
 	return npc_event_doall_id(name, 0);
 	return npc_event_doall_id(name, 0);
 }
 }
+
 // runs the specified event, with a RID attached (global only)
 // runs the specified event, with a RID attached (global only)
 int npc_event_doall_id(const char* name, int rid)
 int npc_event_doall_id(const char* name, int rid)
 {
 {
@@ -388,7 +393,8 @@ bool npc_event_isspecial(const char* eventname)
 
 
 
 
 /*==========================================
 /*==========================================
- * 時計イベント実行
+ * Clock event execution
+ * OnMinute/OnClock/OnHour/OnDay/OnDDHHMM
  *------------------------------------------*/
  *------------------------------------------*/
 int npc_event_do_clock(int tid, unsigned int tick, int id, intptr_t data)
 int npc_event_do_clock(int tid, unsigned int tick, int id, intptr_t data)
 {
 {
@@ -435,7 +441,7 @@ int npc_event_do_clock(int tid, unsigned int tick, int id, intptr_t data)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * OnInitイベント実行(&時計イベント開始)
+ * OnInit Event execution (the start of the event and watch)
  *------------------------------------------*/
  *------------------------------------------*/
 void npc_event_do_oninit(void)
 void npc_event_do_oninit(void)
 {
 {
@@ -445,7 +451,7 @@ void npc_event_do_oninit(void)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * タイマーイベント用ラベルの取り込み
+ * Incorporation of the label for the timer event
  * called from npc_parse_script
  * called from npc_parse_script
  *------------------------------------------*/
  *------------------------------------------*/
 int npc_timerevent_export(struct npc_data *nd, int i)
 int npc_timerevent_export(struct npc_data *nd, int i)
@@ -454,7 +460,7 @@ int npc_timerevent_export(struct npc_data *nd, int i)
 	char *lname = nd->u.scr.label_list[i].name;
 	char *lname = nd->u.scr.label_list[i].name;
 	int pos = nd->u.scr.label_list[i].pos;
 	int pos = nd->u.scr.label_list[i].pos;
 	if (sscanf(lname, "OnTimer%d%n", &t, &k) == 1 && lname[k] == '\0') {
 	if (sscanf(lname, "OnTimer%d%n", &t, &k) == 1 && lname[k] == '\0') {
-		// タイマーイベント
+		// Timer event
 		struct npc_timerevent_list *te = nd->u.scr.timer_event;
 		struct npc_timerevent_list *te = nd->u.scr.timer_event;
 		int j, k = nd->u.scr.timeramount;
 		int j, k = nd->u.scr.timeramount;
 		if (te == NULL)
 		if (te == NULL)
@@ -783,7 +789,7 @@ int npc_event_sub(struct map_session_data* sd, struct event_data* ev, const char
 }
 }
 
 
 /*==========================================
 /*==========================================
- * イベント型のNPC処理
+ * NPC processing event type
  *------------------------------------------*/
  *------------------------------------------*/
 int npc_event(struct map_session_data* sd, const char* eventname, int ontouch)
 int npc_event(struct map_session_data* sd, const char* eventname, int ontouch)
 {
 {
@@ -813,6 +819,9 @@ int npc_event(struct map_session_data* sd, const char* eventname, int ontouch)
 	return npc_event_sub(sd,ev,eventname);
 	return npc_event_sub(sd,ev,eventname);
 }
 }
 
 
+/*==========================================
+ * Sub chk then execute area event type
+ *------------------------------------------*/
 int npc_touch_areanpc_sub(struct block_list *bl, va_list ap)
 int npc_touch_areanpc_sub(struct block_list *bl, va_list ap)
 {
 {
 	struct map_session_data *sd;
 	struct map_session_data *sd;
@@ -835,6 +844,10 @@ int npc_touch_areanpc_sub(struct block_list *bl, va_list ap)
 	return 1;
 	return 1;
 }
 }
 
 
+/*==========================================
+ * Chk if sd is still touching his assigned npc.
+ * if not then it unsets it and searches for another player in range
+ *------------------------------------------*/
 int npc_touchnext_areanpc(struct map_session_data* sd, bool leavemap)
 int npc_touchnext_areanpc(struct map_session_data* sd, bool leavemap)
 {
 {
 	struct npc_data *nd = map_id2nd(sd->touching_id);
 	struct npc_data *nd = map_id2nd(sd->touching_id);
@@ -861,7 +874,7 @@ int npc_touchnext_areanpc(struct map_session_data* sd, bool leavemap)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 接触型のNPC処理
+ * Exec OnTouch for player if in range of area event
  *------------------------------------------*/
  *------------------------------------------*/
 int npc_touch_areanpc(struct map_session_data* sd, int m, int x, int y)
 int npc_touch_areanpc(struct map_session_data* sd, int m, int x, int y)
 {
 {
@@ -1048,6 +1061,12 @@ int npc_check_areanpc(int flag, int m, int x, int y, int range)
 	return (map[m].npc[i]->bl.id);
 	return (map[m].npc[i]->bl.id);
 }
 }
 
 
+/*==========================================
+ * Chk if player not too far to acces the npc
+ * return
+ * npc_data : succes
+ * NULL : fail	 
+ *------------------------------------------*/
 struct npc_data* 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;
@@ -1072,7 +1091,7 @@ struct npc_data* npc_checknear(struct map_session_data* sd, struct block_list* b
 }
 }
 
 
 /*==========================================
 /*==========================================
- * NPCのオープンチャット発言
+ * Make NPC talk in global chat (like npctalk)
  *------------------------------------------*/
  *------------------------------------------*/
 int npc_globalmessage(const char* name, const char* mes)
 int npc_globalmessage(const char* name, const char* mes)
 {
 {
@@ -1114,7 +1133,8 @@ void run_tomb(struct map_session_data* sd, struct npc_data* nd)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * クリック時のNPC処理
+ * NPC 1st call when clicking on npc
+ * Do specific action for npc type (openshop, run scripts...) 
  *------------------------------------------*/
  *------------------------------------------*/
 int npc_click(struct map_session_data* sd, struct npc_data* nd)
 int npc_click(struct map_session_data* sd, struct npc_data* nd)
 {
 {
@@ -1194,7 +1214,7 @@ int npc_scriptcont(struct map_session_data* sd, int id)
 }
 }
 
 
 /*==========================================
 /*==========================================
- *
+ * Chk if valid call then open buy or selling list
  *------------------------------------------*/
  *------------------------------------------*/
 int npc_buysellsel(struct map_session_data* sd, int id, int type)
 int npc_buysellsel(struct map_session_data* sd, int id, int type)
 {
 {
@@ -1211,7 +1231,7 @@ int npc_buysellsel(struct map_session_data* sd, int id, int type)
 			sd->npc_id=0;
 			sd->npc_id=0;
 		return 1;
 		return 1;
 	}
 	}
-	if (nd->sc.option&OPTION_INVISIBLE)	// 無効化されている
+    if (nd->sc.option & OPTION_INVISIBLE) // can't buy if npc is not visible (hack?)
 		return 1;
 		return 1;
 	if( nd->class_ < 0 && !sd->state.callshop )
 	if( nd->class_ < 0 && !sd->state.callshop )
 	{// not called through a script and is not a visible NPC so an invalid call
 	{// not called through a script and is not a visible NPC so an invalid call
@@ -1310,6 +1330,7 @@ int npc_cashshop_buylist(struct map_session_data *sd, int points, int count, uns
 
 
     return 0;
     return 0;
 }
 }
+
 //npc_buylist for script-controlled shops.
 //npc_buylist for script-controlled shops.
 static int npc_buylist_sub(struct map_session_data* sd, int n, unsigned short* item_list, struct npc_data* nd)
 static int npc_buylist_sub(struct map_session_data* sd, int n, unsigned short* item_list, struct npc_data* nd)
 {
 {
@@ -1335,6 +1356,7 @@ static int npc_buylist_sub(struct map_session_data* sd, int n, unsigned short* i
 
 
 	return 0;
 	return 0;
 }
 }
+
 /*==========================================
 /*==========================================
  * Cash Shop Buy
  * Cash Shop Buy
  *------------------------------------------*/
  *------------------------------------------*/
@@ -1693,6 +1715,8 @@ int npc_selllist(struct map_session_data* sd, int n, unsigned short* item_list)
 	return 0;
 	return 0;
 }
 }
 
 
+//Atempt to remove an npc from a map
+//This doesn't remove it from map_db
 int npc_remove_map(struct npc_data* nd)
 int npc_remove_map(struct npc_data* nd)
 {
 {
 	int m,i;
 	int m,i;
@@ -1729,6 +1753,8 @@ static int npc_unload_ev(DBKey key, DBData *data, va_list ap)
 	return 0;
 	return 0;
 }
 }
 
 
+//Chk if npc match src_id then unload
+//Sub fonction used to found duplicate
 static int npc_unload_dup_sub(struct npc_data* nd, va_list args)
 static int npc_unload_dup_sub(struct npc_data* nd, va_list args)
 {
 {
 	int src_id;
 	int src_id;
@@ -1745,6 +1771,8 @@ void npc_unload_duplicates(struct npc_data* nd)
 	map_foreachnpc(npc_unload_dup_sub,nd->bl.id);
 	map_foreachnpc(npc_unload_dup_sub,nd->bl.id);
 }
 }
 
 
+//Remove an npc from map and db
+//single is to free name (for duplicate one I suppose)
 int npc_unload(struct npc_data* nd, bool single) {
 int npc_unload(struct npc_data* nd, bool single) {
 	nullpo_ret(nd);
 	nullpo_ret(nd);
 
 
@@ -1957,7 +1985,7 @@ static void npc_parsename(struct npc_data* nd, const char* name, const char* sta
 
 
 		ShowWarning("npc_parsename: Duplicate unique name in file '%s', line'%d'. Renaming '%s' to '%s'.\n", filepath, strline(buffer,start-buffer), nd->exname, newname);
 		ShowWarning("npc_parsename: Duplicate unique name in file '%s', line'%d'. Renaming '%s' to '%s'.\n", filepath, strline(buffer,start-buffer), nd->exname, newname);
 		ShowDebug("this npc:\n   display name '%s'\n   unique name '%s'\n   map=%s, x=%d, y=%d\n", nd->name, nd->exname, this_mapname, nd->bl.x, nd->bl.y);
 		ShowDebug("this npc:\n   display name '%s'\n   unique name '%s'\n   map=%s, x=%d, y=%d\n", nd->name, nd->exname, this_mapname, nd->bl.x, nd->bl.y);
-		ShowDebug("other npc:\n   display name '%s'\n   unique name '%s'\n   map=%s, x=%d, y=%d\n", dnd->name, dnd->exname, other_mapname, dnd->bl.x, dnd->bl.y);
+		ShowDebug("other npc in '%s' :\n   display name '%s'\n   unique name '%s'\n   map=%s, x=%d, y=%d\n",dnd->path, dnd->name, dnd->exname, other_mapname, dnd->bl.x, dnd->bl.y);
 		safestrncpy(nd->exname, newname, sizeof(nd->exname));
 		safestrncpy(nd->exname, newname, sizeof(nd->exname));
 	}
 	}
 	
 	
@@ -1987,6 +2015,7 @@ static void npc_parsename(struct npc_data* nd, const char* name, const char* sta
 	}
 	}
 }
 }
 
 
+//Add then display an npc warp on map
 struct npc_data* npc_add_warp(short from_mapid, short from_x, short from_y, short xs, short ys, unsigned short to_mapindex, short to_x, short to_y)
 struct npc_data* npc_add_warp(short from_mapid, short from_x, short from_y, short xs, short ys, unsigned short to_mapindex, short to_x, short to_y)
 {
 {
 	int i;
 	int i;
@@ -2208,7 +2237,8 @@ static const char* npc_parse_shop(char* w1, char* w2, char* w3, char* w4, const
 }
 }
 
 
 /**
 /**
- * NPCのラベルデータコンバート
+ * NPC縺ョ繝ゥ繝吶Ν繝��繧ソ繧ウ繝ウ繝舌�繝�
+ * Not sure, seem to add label in a chainlink
  * @see DBApply
  * @see DBApply
  */
  */
 int npc_convertlabel_db(DBKey key, DBData *data, va_list ap)
 int npc_convertlabel_db(DBKey key, DBData *data, va_list ap)
@@ -2671,6 +2701,7 @@ int npc_duplicate4instance(struct npc_data *snd, int m) {
 	return 0;
 	return 0;
 }
 }
 
 
+//Set mapcell CELL_NPC to trigger event later
 void npc_setcells(struct npc_data* nd)
 void npc_setcells(struct npc_data* nd)
 {
 {
 	int m = nd->bl.m, x = nd->bl.x, y = nd->bl.y, xs, ys;
 	int m = nd->bl.m, x = nd->bl.x, y = nd->bl.y, xs, ys;
@@ -2690,7 +2721,7 @@ void npc_setcells(struct npc_data* nd)
 		return; // Other types doesn't have touch area
 		return; // Other types doesn't have touch area
 	}
 	}
 
 
-	if (m < 0 || xs < 0 || ys < 0)
+	if (m < 0 || xs < 0 || ys < 0) //invalid range or map
 		return;
 		return;
 
 
 	for (i = y-ys; i <= y+ys; i++) {
 	for (i = y-ys; i <= y+ys; i++) {
@@ -3052,7 +3083,9 @@ static const char* npc_parse_mob(char* w1, char* w2, char* w3, char* w4, const c
 }
 }
 
 
 /*==========================================
 /*==========================================
- * マップフラグ行の解析
+ * Set or disable mapflag on map
+ * eg : bat_c01	mapflag	battleground	2
+ * also chking if mapflag conflict with another
  *------------------------------------------*/
  *------------------------------------------*/
 static const char* npc_parse_mapflag(char* w1, char* w2, char* w3, char* w4, const char* start, const char* buffer, const char* filepath)
 static const char* npc_parse_mapflag(char* w1, char* w2, char* w3, char* w4, const char* start, const char* buffer, const char* filepath)
 {
 {
@@ -3317,6 +3350,8 @@ static const char* npc_parse_mapflag(char* w1, char* w2, char* w3, char* w4, con
 	return strchr(start,'\n');// continue
 	return strchr(start,'\n');// continue
 }
 }
 
 
+//Read file and create npc/func/mapflag/monster.. accordly
+//@runOnInit should we exec OnInit when it's done ?
 void npc_parsesrcfile(const char* filepath, bool runOnInit)
 void npc_parsesrcfile(const char* filepath, bool runOnInit)
 {
 {
 	int m, lines = 0;
 	int m, lines = 0;
@@ -3538,10 +3573,10 @@ void npc_read_event_script(void)
 			ShowInfo("%s: %d '%s' events.\n", config[i].name, script_event[i].event_count, config[i].event_name);
 			ShowInfo("%s: %d '%s' events.\n", config[i].name, script_event[i].event_count, config[i].event_name);
 	}
 	}
 }
 }
+
 void npc_clear_pathlist(void) {
 void npc_clear_pathlist(void) {
 	struct npc_path_data *npd = NULL;
 	struct npc_path_data *npd = NULL;
-	DBIterator *path_list = db_iterator(npc_path_db);
-	
+	DBIterator *path_list = db_iterator(npc_path_db);	
 	
 	
 	/* free all npc_path_data filepaths */
 	/* free all npc_path_data filepaths */
 	for( npd = dbi_first(path_list); dbi_exists(path_list); npd = dbi_next(path_list) ) {
 	for( npd = dbi_first(path_list); dbi_exists(path_list); npd = dbi_next(path_list) ) {
@@ -3551,6 +3586,8 @@ void npc_clear_pathlist(void) {
 	
 	
 	dbi_destroy(path_list);
 	dbi_destroy(path_list);
 }
 }
+
+//Clear then reload npcs files
 int npc_reload(void) {
 int npc_reload(void) {
 	struct npc_src_list *nsl;
 	struct npc_src_list *nsl;
 	int m, i;
 	int m, i;
@@ -3646,6 +3683,8 @@ int npc_reload(void) {
 	}
 	}
 	return 0;
 	return 0;
 }
 }
+
+//Unload all npc in the given file
 bool npc_unloadfile( const char* path ) {
 bool npc_unloadfile( const char* path ) {
 	DBIterator * iter = db_iterator(npcname_db);
 	DBIterator * iter = db_iterator(npcname_db);
 	struct npc_data* nd = NULL;
 	struct npc_data* nd = NULL;
@@ -3666,12 +3705,14 @@ bool npc_unloadfile( const char* path ) {
 	
 	
 	return found;
 	return found;
 }
 }
+
 void do_clear_npc(void) {
 void do_clear_npc(void) {
 	db_clear(npcname_db);
 	db_clear(npcname_db);
 	db_clear(ev_db);
 	db_clear(ev_db);
 }
 }
+
 /*==========================================
 /*==========================================
- * 終了
+ * Destructor 
  *------------------------------------------*/
  *------------------------------------------*/
 int do_final_npc(void) {
 int do_final_npc(void) {
 	npc_clear_pathlist();
 	npc_clear_pathlist();

+ 5 - 4
src/map/party.c

@@ -103,14 +103,15 @@ static TBL_PC* party_sd_check(int party_id, int account_id, int char_id)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * �I—¹
+ * Destructor
+ * Called in map shutdown, cleanup var
  *------------------------------------------*/
  *------------------------------------------*/
 void do_final_party(void)
 void do_final_party(void)
 {
 {
 	party_db->destroy(party_db,NULL);
 	party_db->destroy(party_db,NULL);
 	party_booking_db->destroy(party_booking_db,NULL); // Party Booking [Spiria]
 	party_booking_db->destroy(party_booking_db,NULL); // Party Booking [Spiria]
 }
 }
-// �‰Šú‰»
+// Constructor, init vars
 void do_init_party(void)
 void do_init_party(void)
 {
 {
 	party_db = idb_alloc(DB_OPT_RELEASE_DATA);
 	party_db = idb_alloc(DB_OPT_RELEASE_DATA);
@@ -649,8 +650,8 @@ bool party_changeleader(struct map_session_data *sd, struct map_session_data *ts
 	}
 	}
 
 
 	if( map[sd->bl.m].flag.partylock )
 	if( map[sd->bl.m].flag.partylock )
-	{
-		clif_displaymessage(sd->fd, "You cannot change party leaders on this map.");
+	{               
+		clif_displaymessage(sd->fd, msg_txt(287));
 		return false;
 		return false;
 	}
 	}
 
 

+ 2 - 2
src/map/party.h

@@ -93,10 +93,10 @@ void party_booking_search(struct map_session_data *sd, short level, short mapid,
 bool party_booking_delete(struct map_session_data *sd);
 bool party_booking_delete(struct map_session_data *sd);
 
 
 #ifdef RENEWAL_EXP
 #ifdef RENEWAL_EXP
-void party_renewal_exp_mod(unsigned int *base_exp, unsigned int *job_exp, int lvl, int moblvl);
+	void party_renewal_exp_mod(unsigned int *base_exp, unsigned int *job_exp, int lvl, int moblvl);
 #endif
 #endif
 #ifdef RENEWAL_DROP
 #ifdef RENEWAL_DROP
-int party_renewal_drop_mod(int diff);
+	int party_renewal_drop_mod(int diff);
 #endif
 #endif
 
 
 #endif /* _PARTY_H_ */
 #endif /* _PARTY_H_ */

+ 7 - 8
src/map/path.c

@@ -45,7 +45,7 @@ static void push_heap_path(int *heap,struct tmp_path *tp,int index)
 
 
 /*==========================================
 /*==========================================
  * heap update (helper function)
  * heap update (helper function)
- * costが減ったので根の方へ移動
+ * move toward the root Because cost has decreased
  *------------------------------------------*/
  *------------------------------------------*/
 static void update_heap_path(int *heap,struct tmp_path *tp,int index)
 static void update_heap_path(int *heap,struct tmp_path *tp,int index)
 {
 {
@@ -147,8 +147,7 @@ static int add_path(int *heap,struct tmp_path *tp,int x,int y,int dist,int befor
 
 
 /*==========================================
 /*==========================================
  * Find the closest reachable cell, 'count' cells away from (x0,y0) in direction (dx,dy).
  * Find the closest reachable cell, 'count' cells away from (x0,y0) in direction (dx,dy).
- * 
- * 吹き飛ばしたあとの座標を所得
+ * Income after the coordinates of the blow
  *------------------------------------------*/
  *------------------------------------------*/
 int path_blownpos(int m,int x0,int y0,int dx,int dy,int count)
 int path_blownpos(int m,int x0,int y0,int dx,int dy,int count)
 {
 {
@@ -343,7 +342,7 @@ bool path_search(struct walkpath_data *wpd,int m,int x0,int y0,int x1,int y1,int
 	tp[i].flag=0;
 	tp[i].flag=0;
 	heap[0]=0;
 	heap[0]=0;
 	push_heap_path(heap,tp,calc_index(x0,y0));
 	push_heap_path(heap,tp,calc_index(x0,y0));
-	xs = md->xs-1; // あらかじめ1減算しておく
+    xs = md->xs - 1; // Place by subtracting a pre-
 	ys = md->ys-1;
 	ys = md->ys-1;
 
 
 	for(;;)
 	for(;;)
@@ -361,10 +360,10 @@ bool path_search(struct walkpath_data *wpd,int m,int x0,int y0,int x1,int y1,int
 		if(x==x1 && y==y1)
 		if(x==x1 && y==y1)
 			break;
 			break;
 
 
-		// dc[0] : y++ の時のコスト増分
-		// dc[1] : x-- の時のコスト増分
-		// dc[2] : y-- の時のコスト増分
-		// dc[3] : x++ の時のコスト増分
+		// dc[0] : y++ Incremental cost at the time
+		// dc[1] : x-- 
+		// dc[2] : y-- 
+		// dc[3] : x++ 
 
 
 		if(y < ys && !map_getcellp(md,x  ,y+1,cell)) {
 		if(y < ys && !map_getcellp(md,x  ,y+1,cell)) {
 			f |= 1; dc[0] = (y >= y1 ? 20 : 0);
 			f |= 1; dc[0] = (y >= y1 ? 20 : 0);

+ 205 - 104
src/map/pc.c

@@ -47,7 +47,7 @@
 #include <time.h>
 #include <time.h>
 
 
 
 
-#define PVP_CALCRANK_INTERVAL 1000	// PVP順位計算の間隔
+#define PVP_CALCRANK_INTERVAL 1000	// PVP calculation interval
 static unsigned int exp_table[CLASS_COUNT][2][MAX_LEVEL];
 static unsigned int exp_table[CLASS_COUNT][2][MAX_LEVEL];
 static unsigned int max_level[CLASS_COUNT][2];
 static unsigned int max_level[CLASS_COUNT][2];
 static unsigned int statp[MAX_LEVEL+1];
 static unsigned int statp[MAX_LEVEL+1];
@@ -289,7 +289,7 @@ int pc_banding(struct map_session_data *sd, short skill_lv) {
 	memset(b_sd, 0, sizeof(b_sd));
 	memset(b_sd, 0, sizeof(b_sd));
 	i = party_foreachsamemap(pc_check_banding,sd,range,&sd->bl,&c,&b_sd);
 	i = party_foreachsamemap(pc_check_banding,sd,range,&sd->bl,&c,&b_sd);
 
 
-	if( c < 1 )
+	if( c < 1 ) //just recalc status no need to recalc hp
 	{	// No more Royal Guards in Banding found.
 	{	// No more Royal Guards in Banding found.
 		if( (sc = status_get_sc(&sd->bl)) != NULL  && sc->data[SC_BANDING] )
 		if( (sc = status_get_sc(&sd->bl)) != NULL  && sc->data[SC_BANDING] )
 		{
 		{
@@ -559,7 +559,7 @@ int pc_makesavestatus(struct map_session_data *sd)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 接?暫フ初期�?
+ * Off init ? Connection?
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_setnewpc(struct map_session_data *sd, int account_id, int char_id, int login_id1, unsigned int client_tick, int sex, int fd)
 int pc_setnewpc(struct map_session_data *sd, int account_id, int char_id, int login_id1, unsigned int client_tick, int sex, int fd)
 {
 {
@@ -833,10 +833,15 @@ bool pc_adoption(struct map_session_data *p1_sd, struct map_session_data *p2_sd,
 	return false; // Job Change Fail
 	return false; // Job Change Fail
 }
 }
 
 
+/*=================================================
+ * Can the player equip the item at index n in inventory
+ * return
+ *	0 = no
+ *	1 = yes
+ *------------------------------------------------*/
 int pc_isequip(struct map_session_data *sd,int n)
 int pc_isequip(struct map_session_data *sd,int n)
 {
 {
 	struct item_data *item;
 	struct item_data *item;
-	//?生や養子の場合の元の職業を算出する
 
 
 	nullpo_ret(sd);
 	nullpo_ret(sd);
 
 
@@ -917,8 +922,8 @@ int pc_isequip(struct map_session_data *sd,int n)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * session idに問題無し
- * char鯖から送られてきたステ?タスを設定
+ * No problem with the session id
+ * set the status that has been sent from char server
  *------------------------------------------*/
  *------------------------------------------*/
 bool pc_authok(struct map_session_data *sd, int login_id2, time_t expiration_time, int group_id, struct mmo_charstatus *st, bool changing_mapservers)
 bool pc_authok(struct map_session_data *sd, int login_id2, time_t expiration_time, int group_id, struct mmo_charstatus *st, bool changing_mapservers)
 {
 {
@@ -1037,7 +1042,7 @@ bool pc_authok(struct map_session_data *sd, int login_id2, time_t expiration_tim
 	for( i = 0; i < 3; i++ )
 	for( i = 0; i < 3; i++ )
 		sd->hate_mob[i] = -1;
 		sd->hate_mob[i] = -1;
 
 
-	// 位置の設定
+    //warp player
 	if ((i=pc_setpos(sd,sd->status.last_point.map, sd->status.last_point.x, sd->status.last_point.y, CLR_OUTSIGHT)) != 0) {
 	if ((i=pc_setpos(sd,sd->status.last_point.map, sd->status.last_point.x, sd->status.last_point.y, CLR_OUTSIGHT)) != 0) {
 		ShowError ("Last_point_map %s - id %d not found (error code %d)\n", mapindex_id2name(sd->status.last_point.map), sd->status.last_point.map, i);
 		ShowError ("Last_point_map %s - id %d not found (error code %d)\n", mapindex_id2name(sd->status.last_point.map), sd->status.last_point.map, i);
 
 
@@ -1272,7 +1277,7 @@ static int pc_calc_skillpoint(struct map_session_data* sd)
 
 
 
 
 /*==========================================
 /*==========================================
- * ?えられるスキルの計算
+ * Calculation of Skills lvls
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_calc_skilltree(struct map_session_data *sd)
 int pc_calc_skilltree(struct map_session_data *sd)
 {
 {
@@ -2015,7 +2020,7 @@ int pc_bonus_subele(struct map_session_data* sd, unsigned char ele, short rate,
 }
 }
 
 
 /*==========================================
 /*==========================================
- * ? 備品による能力等のボ?ナス設定
+ * ? �ス�ス�スi�スノゑソス�ス\�スヘ難ソス�スフボ?�スi�スX�スン抵ソス
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_bonus(struct map_session_data *sd,int type,int val)
 int pc_bonus(struct map_session_data *sd,int type,int val)
 {
 {
@@ -2613,7 +2618,7 @@ int pc_bonus(struct map_session_data *sd,int type,int val)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * ? 備品による能力等のボ?ナス設定
+ * ? �ス�ス�スi�スノゑソス�ス\�スヘ難ソス�スフボ?�スi�スX�スン抵ソス
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_bonus2(struct map_session_data *sd,int type,int type2,int val)
 int pc_bonus2(struct map_session_data *sd,int type,int type2,int val)
 {
 {
@@ -3438,7 +3443,7 @@ int pc_skill(TBL_PC* sd, int id, int level, int flag)
 	return 1;
 	return 1;
 }
 }
 /*==========================================
 /*==========================================
- * カ?ド?入
+ * Append a card to an item ?
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_insert_card(struct map_session_data* sd, int idx_card, int idx_equip)
 int pc_insert_card(struct map_session_data* sd, int idx_card, int idx_equip)
 {
 {
@@ -3493,18 +3498,18 @@ int pc_insert_card(struct map_session_data* sd, int idx_card, int idx_equip)
 }
 }
 
 
 //
 //
-// アイテム物
+// Items
 //
 //
 
 
 /*==========================================
 /*==========================================
- * スキルによる買い値修正
+ * Update buying value by skills
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_modifybuyvalue(struct map_session_data *sd,int orig_value)
 int pc_modifybuyvalue(struct map_session_data *sd,int orig_value)
 {
 {
 	int skill,val = orig_value,rate1 = 0,rate2 = 0;
 	int skill,val = orig_value,rate1 = 0,rate2 = 0;
-	if((skill=pc_checkskill(sd,MC_DISCOUNT))>0)	// ディスカウント
+	if((skill=pc_checkskill(sd,MC_DISCOUNT))>0)	// merchant discount
 		rate1 = 5+skill*2-((skill==10)? 1:0);
 		rate1 = 5+skill*2-((skill==10)? 1:0);
-	if((skill=pc_checkskill(sd,RG_COMPULSION))>0)	// コムパルションディスカウント
+	if((skill=pc_checkskill(sd,RG_COMPULSION))>0)	 // rogue discount
 		rate2 = 5+skill*4;
 		rate2 = 5+skill*4;
 	if(rate1 < rate2) rate1 = rate2;
 	if(rate1 < rate2) rate1 = rate2;
 	if(rate1)
 	if(rate1)
@@ -3516,12 +3521,12 @@ int pc_modifybuyvalue(struct map_session_data *sd,int orig_value)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * スキルによる?り値修正
+ * Update selling value by skills
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_modifysellvalue(struct map_session_data *sd,int orig_value)
 int pc_modifysellvalue(struct map_session_data *sd,int orig_value)
 {
 {
 	int skill,val = orig_value,rate = 0;
 	int skill,val = orig_value,rate = 0;
-	if((skill=pc_checkskill(sd,MC_OVERCHARGE))>0)	// オ?バ?チャ?ジ
+	if((skill=pc_checkskill(sd,MC_OVERCHARGE))>0)	//OverCharge
 		rate = 5+skill*2-((skill==10)? 1:0);
 		rate = 5+skill*2-((skill==10)? 1:0);
 	if(rate)
 	if(rate)
 		val = (int)((double)orig_value*(double)(100+rate)/100.);
 		val = (int)((double)orig_value*(double)(100+rate)/100.);
@@ -3532,8 +3537,8 @@ int pc_modifysellvalue(struct map_session_data *sd,int orig_value)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * アイテムを買った暫ノ、新しいアイテム欄を使うか、
- * 3万個制限にかかるか確認
+ * Checking if we have enough place on inventory for new item
+ * Make sure to take 30k as limit (for client I guess)
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_checkadditem(struct map_session_data *sd,int nameid,int amount)
 int pc_checkadditem(struct map_session_data *sd,int nameid,int amount)
 {
 {
@@ -3566,7 +3571,8 @@ int pc_checkadditem(struct map_session_data *sd,int nameid,int amount)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 空きアイテム欄の個?
+ * Return number of available place in inventory
+ * Each non stackable item will reduce place by 1
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_inventoryblank(struct map_session_data *sd)
 int pc_inventoryblank(struct map_session_data *sd)
 {
 {
@@ -3726,7 +3732,7 @@ int pc_getzeny(struct map_session_data *sd,int zeny)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * アイテムを探して、インデックスを返す
+ * Searching a specified itemid in inventory and return his stored index
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_search_inventory(struct map_session_data *sd,int item_id)
 int pc_search_inventory(struct map_session_data *sd,int item_id)
 {
 {
@@ -3738,7 +3744,16 @@ int pc_search_inventory(struct map_session_data *sd,int item_id)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * アイテム追加。個?のみitem構造?の?字を無視
+ * Attempt tp add a new item in inventory
+ * return
+        0 = success
+        1 = invalid itemid not found or negative amount
+        2 = overweight
+		3 = ?
+        4 = no free place found
+        5 = max amount reached
+		6 = ?
+		7 = stack limitation
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_additem(struct map_session_data *sd,struct item *item_data,int amount,e_log_pick_type log_type)
 int pc_additem(struct map_session_data *sd,struct item *item_data,int amount,e_log_pick_type log_type)
 {
 {
@@ -3821,7 +3836,10 @@ int pc_additem(struct map_session_data *sd,struct item *item_data,int amount,e_l
 }
 }
 
 
 /*==========================================
 /*==========================================
- * アイテムを減らす
+ * Remove an item at index n from inventory by amount
+ * return
+ *	0 = succes
+ *	1 = invalid itemid or negative amount
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_delitem(struct map_session_data *sd,int n,int amount,int type, short reason, e_log_pick_type log_type)
 int pc_delitem(struct map_session_data *sd,int n,int amount,int type, short reason, e_log_pick_type log_type)
 {
 {
@@ -3849,7 +3867,10 @@ int pc_delitem(struct map_session_data *sd,int n,int amount,int type, short reas
 }
 }
 
 
 /*==========================================
 /*==========================================
- * アイテムを落す
+ * Attempt to drop an item
+ * return
+ *	0 = fail
+ *	1 = success
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_dropitem(struct map_session_data *sd,int n,int amount)
 int pc_dropitem(struct map_session_data *sd,int n,int amount)
 {
 {
@@ -3890,7 +3911,10 @@ int pc_dropitem(struct map_session_data *sd,int n,int amount)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * アイテムを拾う
+ * Attempt to pickup an item
+ * return
+ *	0 = fail
+ *	1 = success
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_takeitem(struct map_session_data *sd,struct flooritem_data *fitem)
 int pc_takeitem(struct map_session_data *sd,struct flooritem_data *fitem)
 {
 {
@@ -3903,7 +3927,7 @@ int pc_takeitem(struct map_session_data *sd,struct flooritem_data *fitem)
 	nullpo_ret(fitem);
 	nullpo_ret(fitem);
 
 
 	if(!check_distance_bl(&fitem->bl, &sd->bl, 2) && sd->ud.skillid!=BS_GREED)
 	if(!check_distance_bl(&fitem->bl, &sd->bl, 2) && sd->ud.skillid!=BS_GREED)
-		return 0;	// 距離が遠い
+		return 0;	// Distance is too far
 
 
 	if (sd->status.party_id)
 	if (sd->status.party_id)
 		p = party_search(sd->status.party_id);
 		p = party_search(sd->status.party_id);
@@ -3957,6 +3981,12 @@ int pc_takeitem(struct map_session_data *sd,struct flooritem_data *fitem)
 	return 1;
 	return 1;
 }
 }
 
 
+/*==========================================
+ * Can we use the item  ?
+ * Return
+ *	0 = no
+ *	1 = yes
+ *------------------------------------------*/
 int pc_isUseitem(struct map_session_data *sd,int n)
 int pc_isUseitem(struct map_session_data *sd,int n)
 {
 {
 	struct item_data *item;
 	struct item_data *item;
@@ -3975,7 +4005,7 @@ int pc_isUseitem(struct map_session_data *sd,int n)
 	if( !item->script ) //if it has no script, you can't really consume it!
 	if( !item->script ) //if it has no script, you can't really consume it!
 		return 0;
 		return 0;
 
 
-	switch( nameid )
+	switch( nameid ) //@TODO, lot oh harcoded nameid here
 	{
 	{
 		case 605: // Anodyne
 		case 605: // Anodyne
 			if( map_flag_gvg(sd->bl.m) )
 			if( map_flag_gvg(sd->bl.m) )
@@ -4117,7 +4147,10 @@ int pc_isUseitem(struct map_session_data *sd,int n)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * アイテムを使う
+ * Last checks et use item
+ * return
+ *	0 = fail
+ *	1 = success
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_useitem(struct map_session_data *sd,int n)
 int pc_useitem(struct map_session_data *sd,int n)
 {
 {
@@ -4240,7 +4273,10 @@ int pc_useitem(struct map_session_data *sd,int n)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * カ?トアイテム追加。個?のみitem構造?の?字を無視
+ * Add item on cart for given index
+ * return
+ *	0 = success
+ *	1 = fail
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_cart_additem(struct map_session_data *sd,struct item *item_data,int amount,e_log_pick_type log_type)
 int pc_cart_additem(struct map_session_data *sd,struct item *item_data,int amount,e_log_pick_type log_type)
 {
 {
@@ -4306,7 +4342,10 @@ int pc_cart_additem(struct map_session_data *sd,struct item *item_data,int amoun
 }
 }
 
 
 /*==========================================
 /*==========================================
- * カ?トアイテムを減らす
+ * Delete item on cart for given index
+ * return
+ *	0 = success
+ *	1 = fail
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_cart_delitem(struct map_session_data *sd,int n,int amount,int type,e_log_pick_type log_type)
 int pc_cart_delitem(struct map_session_data *sd,int n,int amount,int type,e_log_pick_type log_type)
 {
 {
@@ -4333,7 +4372,10 @@ int pc_cart_delitem(struct map_session_data *sd,int n,int amount,int type,e_log_
 }
 }
 
 
 /*==========================================
 /*==========================================
- * カ?トへアイテム移動
+ * Transfert item from inventory to cart
+ * return
+ *	0 = fail
+ *	1 = succes
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_putitemtocart(struct map_session_data *sd,int idx,int amount)
 int pc_putitemtocart(struct map_session_data *sd,int idx,int amount)
 {
 {
@@ -4356,7 +4398,10 @@ int pc_putitemtocart(struct map_session_data *sd,int idx,int amount)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * カ?ト?のアイテム?確認(個?の差分を返す)
+ * Get number of item on cart
+ * return
+        -1 = itemid not found or no amount found
+        x = remaining itemid on cart after get
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_cartitem_amount(struct map_session_data* sd, int idx, int amount)
 int pc_cartitem_amount(struct map_session_data* sd, int idx, int amount)
 {
 {
@@ -4372,7 +4417,10 @@ int pc_cartitem_amount(struct map_session_data* sd, int idx, int amount)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * カ?トからアイテム移動
+ * Retrieve an item at index idx from cart
+ * return
+ *	0 = player not found or (FIXME) succes (from pc_cart_delitem)
+ *	1 = failure
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_getitemfromcart(struct map_session_data *sd,int idx,int amount)
 int pc_getitemfromcart(struct map_session_data *sd,int idx,int amount)
 {
 {
@@ -4396,7 +4444,7 @@ int pc_getitemfromcart(struct map_session_data *sd,int idx,int amount)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * スティル品公開
+ *  Display item stolen msg to player sd
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_show_steal(struct block_list *bl,va_list ap)
 int pc_show_steal(struct block_list *bl,va_list ap)
 {
 {
@@ -4418,7 +4466,10 @@ int pc_show_steal(struct block_list *bl,va_list ap)
 	return 0;
 	return 0;
 }
 }
 /*==========================================
 /*==========================================
- *
+ * Stole an item from bl (mob)
+ * return
+ *	0 = fail
+ *	1 = succes
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_steal_item(struct map_session_data *sd,struct block_list *bl, int lv)
 int pc_steal_item(struct map_session_data *sd,struct block_list *bl, int lv)
 {
 {
@@ -4499,7 +4550,10 @@ int pc_steal_item(struct map_session_data *sd,struct block_list *bl, int lv)
 }
 }
 
 
 /*==========================================
 /*==========================================
- *
+ * Stole zeny from bl (mob)
+ * return
+ *	0 = fail
+ *	1 = success
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_steal_coin(struct map_session_data *sd,struct block_list *target)
 int pc_steal_coin(struct map_session_data *sd,struct block_list *target)
 {
 {
@@ -4699,7 +4753,11 @@ int pc_setpos(struct map_session_data* sd, unsigned short mapindex, int x, int y
 }
 }
 
 
 /*==========================================
 /*==========================================
- * PCのランダムワ?プ
+ * Warp player sd to random location on current map
+ * may fail if no Cell walkable found (1000 attempt)
+ * return
+ *	0 = fail or FIXME succes (from pc_setpos)
+ *  x(1|2) = fail
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_randomwarp(struct map_session_data *sd, clr_type type)
 int pc_randomwarp(struct map_session_data *sd, clr_type type)
 {
 {
@@ -4710,7 +4768,7 @@ int pc_randomwarp(struct map_session_data *sd, clr_type type)
 
 
 	m=sd->bl.m;
 	m=sd->bl.m;
 
 
-	if (map[sd->bl.m].flag.noteleport)	// テレポ?ト禁止
+	if (map[sd->bl.m].flag.noteleport) //Teleport forbiden
 		return 0;
 		return 0;
 
 
 	do{
 	do{
@@ -4774,10 +4832,10 @@ int pc_memo(struct map_session_data* sd, int pos)
 }
 }
 
 
 //
 //
-// 武器??
+// Skills
 //
 //
 /*==========================================
 /*==========================================
- * スキルの?索 所有していた場合Lvが返る
+ * Return player sd skilllv learned for given skill
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_checkskill(struct map_session_data *sd,int skill_id)
 int pc_checkskill(struct map_session_data *sd,int skill_id)
 {
 {
@@ -4803,13 +4861,13 @@ int pc_checkskill(struct map_session_data *sd,int skill_id)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 武器?更によるスキルの??チェック
- * 引?:
- *   struct map_session_data *sd	セッションデ?タ
- *   int nameid						?備品ID
- * 返り値:
- *   0		?更なし
- *   -1		スキルを解除
+ * �ス�ス�ス�ス?�スX�スノゑソス�スX�スL�ス�ス�ス�ス??�ス`�スF�スb�スN
+ * �ス�ス?�スF
+ *   struct map_session_data *sd	�スZ�スb�スV�ス�ス�ス�ス�スf?�ス^
+ *   int nameid						?�ス�ス�スiID
+ * �スヤゑソスl�スF
+ *   0		?�スX�スネゑソス
+ *   -1		�スX�スL�ス�ス�ス�ス�ス�ス�ス�ス
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_checkallowskill(struct map_session_data *sd)
 int pc_checkallowskill(struct map_session_data *sd)
 {
 {
@@ -4859,7 +4917,8 @@ int pc_checkallowskill(struct map_session_data *sd)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * ? 備品のチェック
+ * Return equiped itemid? on player sd at pos
+ * if -1 mean nothing equiped
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_checkequip(struct map_session_data *sd,int pos)
 int pc_checkequip(struct map_session_data *sd,int pos)
 {
 {
@@ -5562,7 +5621,7 @@ static void pc_calcexp(struct map_session_data *sd, unsigned int *base_exp, unsi
 	return;
 	return;
 }
 }
 /*==========================================
 /*==========================================
- * ??値取得
+ * Give x exp at sd player and calculate remaining exp for next lvl
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_gainexp(struct map_session_data *sd, struct block_list *src, unsigned int base_exp,unsigned int job_exp,bool quest)
 int pc_gainexp(struct map_session_data *sd, struct block_list *src, unsigned int base_exp,unsigned int job_exp,bool quest)
 {
 {
@@ -5655,8 +5714,10 @@ unsigned int pc_maxjoblv(struct map_session_data *sd)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * base level側必要??値計算
+ * base level exp lookup.
  *------------------------------------------*/
  *------------------------------------------*/
+
+///How much bexp do player need for next level
 unsigned int pc_nextbaseexp(struct map_session_data *sd)
 unsigned int pc_nextbaseexp(struct map_session_data *sd)
 {
 {
 	nullpo_ret(sd);
 	nullpo_ret(sd);
@@ -5667,6 +5728,7 @@ unsigned int pc_nextbaseexp(struct map_session_data *sd)
 	return exp_table[pc_class2idx(sd->status.class_)][0][sd->status.base_level-1];
 	return exp_table[pc_class2idx(sd->status.class_)][0][sd->status.base_level-1];
 }
 }
 
 
+///How much bexp do player need for this level
 unsigned int pc_thisbaseexp(struct map_session_data *sd)
 unsigned int pc_thisbaseexp(struct map_session_data *sd)
 {
 {
 	if(sd->status.base_level>pc_maxbaselv(sd) || sd->status.base_level<=1)
 	if(sd->status.base_level>pc_maxbaselv(sd) || sd->status.base_level<=1)
@@ -5677,8 +5739,13 @@ unsigned int pc_thisbaseexp(struct map_session_data *sd)
 
 
 
 
 /*==========================================
 /*==========================================
- * job level側必要??値計算
+ * job level exp lookup
+ * return
+ *	0 = not found
+ *	x = exp for level
  *------------------------------------------*/
  *------------------------------------------*/
+
+///How much jexp do player need for next level
 unsigned int pc_nextjobexp(struct map_session_data *sd)
 unsigned int pc_nextjobexp(struct map_session_data *sd)
 {
 {
 	nullpo_ret(sd);
 	nullpo_ret(sd);
@@ -5688,6 +5755,7 @@ unsigned int pc_nextjobexp(struct map_session_data *sd)
 	return exp_table[pc_class2idx(sd->status.class_)][1][sd->status.job_level-1];
 	return exp_table[pc_class2idx(sd->status.class_)][1][sd->status.job_level-1];
 }
 }
 
 
+///How much jexp do player need for next level
 unsigned int pc_thisjobexp(struct map_session_data *sd)
 unsigned int pc_thisjobexp(struct map_session_data *sd)
 {
 {
 	if(sd->status.job_level>pc_maxjoblv(sd) || sd->status.job_level<=1)
 	if(sd->status.job_level>pc_maxjoblv(sd) || sd->status.job_level<=1)
@@ -5857,7 +5925,8 @@ int pc_statusup2(struct map_session_data* sd, int type, int val)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * スキルポイント割り振り
+ * Update skilllv for player sd
+ * Skill point allocation
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_skillup(struct map_session_data *sd,int skill_num)
 int pc_skillup(struct map_session_data *sd,int skill_num)
 {
 {
@@ -6353,6 +6422,9 @@ void pc_damage(struct map_session_data *sd,struct block_list *src,unsigned int h
 	sd->canlog_tick = gettick();
 	sd->canlog_tick = gettick();
 }
 }
 
 
+/*==========================================
+ * Invoked when a player have negative current hp
+ *------------------------------------------*/
 int pc_dead(struct map_session_data *sd,struct block_list *src)
 int pc_dead(struct map_session_data *sd,struct block_list *src)
 {
 {
 	int i=0,j=0,k=0;
 	int i=0,j=0,k=0;
@@ -6684,10 +6756,10 @@ void pc_revive(struct map_session_data *sd,unsigned int hp, unsigned int sp) {
 		guild_guildaura_refresh(sd,GD_HAWKEYES,guild_checkskill(sd->state.gmaster_flag,GD_HAWKEYES));
 		guild_guildaura_refresh(sd,GD_HAWKEYES,guild_checkskill(sd->state.gmaster_flag,GD_HAWKEYES));
 	}
 	}
 }
 }
-// script? 連
+// script
 //
 //
 /*==========================================
 /*==========================================
- * script用PCステ?タス?み出し
+ * script reading pc status registry
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_readparam(struct map_session_data* sd,int type)
 int pc_readparam(struct map_session_data* sd,int type)
 {
 {
@@ -6733,7 +6805,7 @@ int pc_readparam(struct map_session_data* sd,int type)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * script用PCステ?タス設定
+ * script set pc status registry
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_setparam(struct map_session_data *sd,int type,int val)
 int pc_setparam(struct map_session_data *sd,int type,int val)
 {
 {
@@ -6901,7 +6973,9 @@ void pc_heal(struct map_session_data *sd,unsigned int hp,unsigned int sp, int ty
 }
 }
 
 
 /*==========================================
 /*==========================================
- * HP/SP回復
+ * HP/SP Recovery
+ * Heal player hp nad/or sp linearly
+ * Calculate bonus by status
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_itemheal(struct map_session_data *sd,int itemid, int hp,int sp)
 int pc_itemheal(struct map_session_data *sd,int itemid, int hp,int sp)
 {
 {
@@ -6967,7 +7041,8 @@ int pc_itemheal(struct map_session_data *sd,int itemid, int hp,int sp)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * HP/SP回復
+ * HP/SP Recovery
+ * Heal player hp nad/or sp by rate
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_percentheal(struct map_session_data *sd,int hp,int sp)
 int pc_percentheal(struct map_session_data *sd,int hp,int sp)
 {
 {
@@ -7005,9 +7080,7 @@ int pc_percentheal(struct map_session_data *sd,int hp,int sp)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 職?更
- * 引?	job 職業 0~23
- *		upper 通常 0, ?生 1, 養子 2, そのまま -1
+ * Called when player changing job
  * Rewrote to make it tidider [Celest]
  * Rewrote to make it tidider [Celest]
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_jobchange(struct map_session_data *sd,int job, int upper)
 int pc_jobchange(struct map_session_data *sd,int job, int upper)
@@ -7099,7 +7172,7 @@ int pc_jobchange(struct map_session_data *sd,int job, int upper)
 	for(i=0;i<EQI_MAX;i++) {
 	for(i=0;i<EQI_MAX;i++) {
 		if(sd->equip_index[i] >= 0)
 		if(sd->equip_index[i] >= 0)
 			if(!pc_isequip(sd,sd->equip_index[i]))
 			if(!pc_isequip(sd,sd->equip_index[i]))
-				pc_unequipitem(sd,sd->equip_index[i],2);	// ?備外し
+				pc_unequipitem(sd,sd->equip_index[i],2);	// unequip invalid item for class
 	}
 	}
 
 
 	//Change look, if disguised, you need to undisguise 
 	//Change look, if disguised, you need to undisguise 
@@ -7170,7 +7243,7 @@ int pc_jobchange(struct map_session_data *sd,int job, int upper)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 見た目?更
+ * Tell client player sd has change equipement
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_equiplookall(struct map_session_data *sd)
 int pc_equiplookall(struct map_session_data *sd)
 {
 {
@@ -7187,7 +7260,7 @@ int pc_equiplookall(struct map_session_data *sd)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 見た目?更
+ * Tell client player sd has change look (hair,equip...)
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_changelook(struct map_session_data *sd,int type,int val)
 int pc_changelook(struct map_session_data *sd,int type,int val)
 {
 {
@@ -7247,7 +7320,7 @@ int pc_changelook(struct map_session_data *sd,int type,int val)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 付?品(鷹,ペコ,カ?ト)設定
+ * Give an option (type) to player (sd) and display it to client
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_setoption(struct map_session_data *sd,int type)
 int pc_setoption(struct map_session_data *sd,int type)
 {
 {
@@ -7364,7 +7437,7 @@ int pc_setoption(struct map_session_data *sd,int type)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * カ?ト設定
+ * Give player a cart
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_setcart(struct map_session_data *sd,int type) {
 int pc_setcart(struct map_session_data *sd,int type) {
 #ifndef NEW_CARTS
 #ifndef NEW_CARTS
@@ -7414,12 +7487,12 @@ int pc_setcart(struct map_session_data *sd,int type) {
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 鷹設定
+ * Give player a falcon
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_setfalcon(TBL_PC* sd, int flag)
 int pc_setfalcon(TBL_PC* sd, int flag)
 {
 {
 	if( flag ){
 	if( flag ){
-		if( pc_checkskill(sd,HT_FALCON)>0 )	// ファルコンマスタリ?スキル所持
+		if( pc_checkskill(sd,HT_FALCON)>0 )	// �スt�ス@�ス�ス�スR�ス�ス�ス}�スX�ス^�ス�ス?�スX�スL�ス�ス�ス�ス�ス�ス
 			pc_setoption(sd,sd->sc.option|OPTION_FALCON);
 			pc_setoption(sd,sd->sc.option|OPTION_FALCON);
 	} else if( pc_isfalcon(sd) ){
 	} else if( pc_isfalcon(sd) ){
 		pc_setoption(sd,sd->sc.option&~OPTION_FALCON); // remove falcon
 		pc_setoption(sd,sd->sc.option&~OPTION_FALCON); // remove falcon
@@ -7429,12 +7502,12 @@ int pc_setfalcon(TBL_PC* sd, int flag)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * ペコペコ設定
+ *  Set player riding
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_setriding(TBL_PC* sd, int flag)
 int pc_setriding(TBL_PC* sd, int flag)
 {
 {
 	if( flag ){
 	if( flag ){
-		if( pc_checkskill(sd,KN_RIDING) > 0 ) // ライディングスキル所持
+		if( pc_checkskill(sd,KN_RIDING) > 0 ) // �ス�ス�スC�スf�スB�ス�ス�スO�スX�スL�ス�ス�ス�ス�ス�ス
 			pc_setoption(sd, sd->sc.option|OPTION_RIDING);
 			pc_setoption(sd, sd->sc.option|OPTION_RIDING);
 	} else if( pc_isriding(sd) ){
 	} else if( pc_isriding(sd) ){
 			pc_setoption(sd, sd->sc.option&~OPTION_RIDING);
 			pc_setoption(sd, sd->sc.option&~OPTION_RIDING);
@@ -7444,7 +7517,7 @@ int pc_setriding(TBL_PC* sd, int flag)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 
+ * Give player a mado
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_setmadogear(TBL_PC* sd, int flag)
 int pc_setmadogear(TBL_PC* sd, int flag)
 {
 {
@@ -7459,7 +7532,7 @@ int pc_setmadogear(TBL_PC* sd, int flag)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * アイテムドロップ可不可判定
+ * Check if player can drop an item
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_candrop(struct map_session_data *sd, struct item *item)
 int pc_candrop(struct map_session_data *sd, struct item *item)
 {
 {
@@ -7471,7 +7544,8 @@ int pc_candrop(struct map_session_data *sd, struct item *item)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * script用??の値を?む
+ * Read ram register for player sd
+ * get val (int) from reg for player sd
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_readreg(struct map_session_data* sd, int reg)
 int pc_readreg(struct map_session_data* sd, int reg)
 {
 {
@@ -7483,7 +7557,8 @@ int pc_readreg(struct map_session_data* sd, int reg)
 	return ( i < sd->reg_num ) ? sd->reg[i].data : 0;
 	return ( i < sd->reg_num ) ? sd->reg[i].data : 0;
 }
 }
 /*==========================================
 /*==========================================
- * script用??の値を設定
+ * Set ram register for player sd
+ * memo val(int) at reg for player sd
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_setreg(struct map_session_data* sd, int reg, int val)
 int pc_setreg(struct map_session_data* sd, int reg, int val)
 {
 {
@@ -7511,7 +7586,8 @@ int pc_setreg(struct map_session_data* sd, int reg, int val)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * script用文字列??の値を?む
+ * Read ram register for player sd
+ * get val (str) from reg for player sd
  *------------------------------------------*/
  *------------------------------------------*/
 char* pc_readregstr(struct map_session_data* sd, int reg)
 char* pc_readregstr(struct map_session_data* sd, int reg)
 {
 {
@@ -7523,7 +7599,8 @@ char* pc_readregstr(struct map_session_data* sd, int reg)
 	return ( i < sd->regstr_num ) ? sd->regstr[i].data : NULL;
 	return ( i < sd->regstr_num ) ? sd->regstr[i].data : NULL;
 }
 }
 /*==========================================
 /*==========================================
- * script用文字列??の値を設定
+ * Set ram register for player sd
+ * memo val(str) at reg for player sd
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_setregstr(struct map_session_data* sd, int reg, const char* str)
 int pc_setregstr(struct map_session_data* sd, int reg, const char* str)
 {
 {
@@ -7803,7 +7880,7 @@ int pc_setregistry_str(struct map_session_data *sd,const char *reg,const char *v
 }
 }
 
 
 /*==========================================
 /*==========================================
- * イベントタイマ??理
+ * Exec eventtimer for player sd (retrieved from map_session (id))
  *------------------------------------------*/
  *------------------------------------------*/
 static int pc_eventtimer(int tid, unsigned int tick, int id, intptr_t data)
 static int pc_eventtimer(int tid, unsigned int tick, int id, intptr_t data)
 {
 {
@@ -7828,7 +7905,7 @@ static int pc_eventtimer(int tid, unsigned int tick, int id, intptr_t data)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * イベントタイマ?追加
+ * Add eventtimer for player sd ?
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_addeventtimer(struct map_session_data *sd,int tick,const char *name)
 int pc_addeventtimer(struct map_session_data *sd,int tick,const char *name)
 {
 {
@@ -7846,7 +7923,7 @@ int pc_addeventtimer(struct map_session_data *sd,int tick,const char *name)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * イベントタイマ?削除
+ * Del eventtimer for player sd ?
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_deleventtimer(struct map_session_data *sd,const char *name)
 int pc_deleventtimer(struct map_session_data *sd,const char *name)
 {
 {
@@ -7876,7 +7953,7 @@ int pc_deleventtimer(struct map_session_data *sd,const char *name)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * イベントタイマ?カウント値追加
+ * Update eventtimer count for player sd
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_addeventtimercount(struct map_session_data *sd,const char *name,int tick)
 int pc_addeventtimercount(struct map_session_data *sd,const char *name,int tick)
 {
 {
@@ -7895,7 +7972,7 @@ int pc_addeventtimercount(struct map_session_data *sd,const char *name,int tick)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * イベントタイマ?全削除
+ * Remove all eventtimer for player sd
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_cleareventtimer(struct map_session_data *sd)
 int pc_cleareventtimer(struct map_session_data *sd)
 {
 {
@@ -8068,7 +8145,7 @@ int pc_load_combo(struct map_session_data *sd) {
 	return ret;
 	return ret;
 }
 }
 /*==========================================
 /*==========================================
- * Attempt to equip item in inventory index 'n' in the EQP_ 'req_pos'
+ * Equip item on player sd at req_pos from inventory index n
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_equipitem(struct map_session_data *sd,int n,int req_pos)
 int pc_equipitem(struct map_session_data *sd,int n,int req_pos)
 {
 {
@@ -8269,7 +8346,7 @@ int pc_equipitem(struct map_session_data *sd,int n,int req_pos)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * ? 備した物を外す
+ * Called when attemting to unequip an item from player
  * type:
  * type:
  * 0 - only unequip
  * 0 - only unequip
  * 1 - calculate status after unequipping
  * 1 - calculate status after unequipping
@@ -8432,8 +8509,8 @@ int pc_unequipitem(struct map_session_data *sd,int n,int flag) {
 }
 }
 
 
 /*==========================================
 /*==========================================
- * アイテムのindex番?を詰めたり
- * ? 備品の?備可能チェックを行なう
+ * Checking if player (sd) have unauthorize, invalide item
+ * on inventory, cart, equiped for the map (item_noequip)
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_checkitem(struct map_session_data *sd)
 int pc_checkitem(struct map_session_data *sd)
 {
 {
@@ -8513,7 +8590,7 @@ int pc_checkitem(struct map_session_data *sd)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * PVP順位計算用(foreachinarea)
+ * Update PVP rank for sd1 in cmp to sd2
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_calc_pvprank_sub(struct block_list *bl,va_list ap)
 int pc_calc_pvprank_sub(struct block_list *bl,va_list ap)
 {
 {
@@ -8532,7 +8609,8 @@ int pc_calc_pvprank_sub(struct block_list *bl,va_list ap)
 	return 0;
 	return 0;
 }
 }
 /*==========================================
 /*==========================================
- * PVP順位計算
+ * Calculate new rank beetween all present players (map_foreachinarea)
+ * and display result
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_calc_pvprank(struct map_session_data *sd)
 int pc_calc_pvprank(struct map_session_data *sd)
 {
 {
@@ -8547,7 +8625,7 @@ int pc_calc_pvprank(struct map_session_data *sd)
 	return sd->pvp_rank;
 	return sd->pvp_rank;
 }
 }
 /*==========================================
 /*==========================================
- * PVP順位計算(timer)
+ * Calculate next sd ranking calculation from config
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_calc_pvprank_timer(int tid, unsigned int tick, int id, intptr_t data)
 int pc_calc_pvprank_timer(int tid, unsigned int tick, int id, intptr_t data)
 {
 {
@@ -8569,7 +8647,10 @@ int pc_calc_pvprank_timer(int tid, unsigned int tick, int id, intptr_t data)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * sdは結婚しているか(?婚の場合は相方のchar_idを返す)
+ * Checking if sd is married
+ * Return
+ *	partner_id = yes,
+ *	0 = no
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_ismarried(struct map_session_data *sd)
 int pc_ismarried(struct map_session_data *sd)
 {
 {
@@ -8581,7 +8662,10 @@ int pc_ismarried(struct map_session_data *sd)
 		return 0;
 		return 0;
 }
 }
 /*==========================================
 /*==========================================
- * sdがdstsdと結婚(dstsd→sdの結婚?理も同暫ノ行う)
+ * Marry player sd to player dstsd
+ * return
+ *	-1 = fail
+ *	0 = success
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_marriage(struct map_session_data *sd,struct map_session_data *dstsd)
 int pc_marriage(struct map_session_data *sd,struct map_session_data *dstsd)
 {
 {
@@ -8596,6 +8680,9 @@ int pc_marriage(struct map_session_data *sd,struct map_session_data *dstsd)
 
 
 /*==========================================
 /*==========================================
  * Divorce sd from its partner
  * Divorce sd from its partner
+ * return
+ *	-1 = fail
+ *	0 = success
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_divorce(struct map_session_data *sd)
 int pc_divorce(struct map_session_data *sd)
 {
 {
@@ -8634,7 +8721,7 @@ int pc_divorce(struct map_session_data *sd)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * sdの相方のmap_session_dataを返す
+ * Get sd partner charid. (Married partner)
  *------------------------------------------*/
  *------------------------------------------*/
 struct map_session_data *pc_get_partner(struct map_session_data *sd)
 struct map_session_data *pc_get_partner(struct map_session_data *sd)
 {
 {
@@ -8645,6 +8732,9 @@ struct map_session_data *pc_get_partner(struct map_session_data *sd)
 	return NULL;
 	return NULL;
 }
 }
 
 
+/*==========================================
+ * Get sd father charid. (Need to be baby)
+ *------------------------------------------*/
 struct map_session_data *pc_get_father (struct map_session_data *sd)
 struct map_session_data *pc_get_father (struct map_session_data *sd)
 {
 {
 	if (sd && sd->class_&JOBL_BABY && sd->status.father > 0)
 	if (sd && sd->class_&JOBL_BABY && sd->status.father > 0)
@@ -8654,6 +8744,9 @@ struct map_session_data *pc_get_father (struct map_session_data *sd)
 	return NULL;
 	return NULL;
 }
 }
 
 
+/*==========================================
+ * Get sd mother charid. (Need to be baby)
+ *------------------------------------------*/
 struct map_session_data *pc_get_mother (struct map_session_data *sd)
 struct map_session_data *pc_get_mother (struct map_session_data *sd)
 {
 {
 	if (sd && sd->class_&JOBL_BABY && sd->status.mother > 0)
 	if (sd && sd->class_&JOBL_BABY && sd->status.mother > 0)
@@ -8663,6 +8756,9 @@ struct map_session_data *pc_get_mother (struct map_session_data *sd)
 	return NULL;
 	return NULL;
 }
 }
 
 
+/*==========================================
+ * Get sd children charid. (Need to be married)
+ *------------------------------------------*/
 struct map_session_data *pc_get_child (struct map_session_data *sd)
 struct map_session_data *pc_get_child (struct map_session_data *sd)
 {
 {
 	if (sd && pc_ismarried(sd) && sd->status.child > 0)
 	if (sd && pc_ismarried(sd) && sd->status.child > 0)
@@ -8672,6 +8768,9 @@ struct map_session_data *pc_get_child (struct map_session_data *sd)
 	return NULL;
 	return NULL;
 }
 }
 
 
+/*==========================================
+ * Set player sd to bleed. (losing hp and/or sp each diff_tick)
+ *------------------------------------------*/
 void pc_bleeding (struct map_session_data *sd, unsigned int diff_tick)
 void pc_bleeding (struct map_session_data *sd, unsigned int diff_tick)
 {
 {
 	int hp = 0, sp = 0;
 	int hp = 0, sp = 0;
@@ -8733,7 +8832,7 @@ void pc_regen (struct map_session_data *sd, unsigned int diff_tick)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * セ?ブポイントの保存
+ * Memo player sd savepoint. (map,x,y)
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_setsavepoint(struct map_session_data *sd, short mapindex,int x,int y)
 int pc_setsavepoint(struct map_session_data *sd, short mapindex,int x,int y)
 {
 {
@@ -8747,7 +8846,7 @@ int pc_setsavepoint(struct map_session_data *sd, short mapindex,int x,int y)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 自動セ?ブ (timer??)
+ * Save 1 player data  at autosave intervalle
  *------------------------------------------*/
  *------------------------------------------*/
 int pc_autosave(int tid, unsigned int tick, int id, intptr_t data)
 int pc_autosave(int tid, unsigned int tick, int id, intptr_t data)
 {
 {
@@ -8864,7 +8963,7 @@ void pc_overheat(struct map_session_data *sd, int val) {
 	skill = cap_value(pc_checkskill(sd,NC_MAINFRAME),0,4);
 	skill = cap_value(pc_checkskill(sd,NC_MAINFRAME),0,4);
 	if( sd->sc.data[SC_OVERHEAT_LIMITPOINT] ) {
 	if( sd->sc.data[SC_OVERHEAT_LIMITPOINT] ) {
 		heat += sd->sc.data[SC_OVERHEAT_LIMITPOINT]->val1;
 		heat += sd->sc.data[SC_OVERHEAT_LIMITPOINT]->val1;
-		status_change_end(&sd->bl,SC_OVERHEAT_LIMITPOINT,-1);
+		status_change_end(&sd->bl,SC_OVERHEAT_LIMITPOINT,INVALID_TIMER);
 	}
 	}
 
 
 	heat = max(0,heat); // Avoid negative HEAT
 	heat = max(0,heat); // Avoid negative HEAT
@@ -9067,11 +9166,8 @@ int pc_split_atoui(char* str, unsigned int* val, char sep, int max)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * DB reading.
- * exp.txt        - required experience values
- * skill_tree.txt - skill tree for every class
- * attr_fix.txt   - elemental adjustment table
- * statpoint.txt  - status points per base level
+ * sub DB reading.
+ * fonction used to read  skill_tree.txt
  *------------------------------------------*/
  *------------------------------------------*/
 static bool pc_readdb_skilltree(char* fields[], int columns, int current)
 static bool pc_readdb_skilltree(char* fields[], int columns, int current)
 {
 {
@@ -9121,13 +9217,19 @@ static bool pc_readdb_skilltree(char* fields[], int columns, int current)
 	return true;
 	return true;
 }
 }
 
 
+/*==========================================
+ * pc DB reading.
+ * exp.txt        - required experience values
+ * skill_tree.txt - skill tree for every class
+ * attr_fix.txt   - elemental adjustment table
+ *------------------------------------------*/
 int pc_readdb(void)
 int pc_readdb(void)
 {
 {
 	int i,j,k;
 	int i,j,k;
 	FILE *fp;
 	FILE *fp;
 	char line[24000],*p;
 	char line[24000],*p;
 
 
-	// 必要??値?み?み
+    //reset
 	memset(exp_table,0,sizeof(exp_table));
 	memset(exp_table,0,sizeof(exp_table));
 	memset(max_level,0,sizeof(max_level));
 	memset(max_level,0,sizeof(max_level));
 
 
@@ -9212,12 +9314,11 @@ int pc_readdb(void)
 	}
 	}
 	ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n","exp.txt");
 	ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n","exp.txt");
 
 
-	// スキルツリ?
+	// Reset and read skilltree
 	memset(skill_tree,0,sizeof(skill_tree));
 	memset(skill_tree,0,sizeof(skill_tree));
-
 	sv_readdb(db_path, DBPATH"skill_tree.txt", ',', 3+MAX_PC_SKILL_REQUIRE*2, 4+MAX_PC_SKILL_REQUIRE*2, -1, &pc_readdb_skilltree);
 	sv_readdb(db_path, DBPATH"skill_tree.txt", ',', 3+MAX_PC_SKILL_REQUIRE*2, 4+MAX_PC_SKILL_REQUIRE*2, -1, &pc_readdb_skilltree);
 
 
-	// ?性修正テ?ブル
+	// Reset then read attr_fix
 	for(i=0;i<4;i++)
 	for(i=0;i<4;i++)
 		for(j=0;j<ELE_MAX;j++)
 		for(j=0;j<ELE_MAX;j++)
 			for(k=0;k<ELE_MAX;k++)
 			for(k=0;k<ELE_MAX;k++)
@@ -9269,7 +9370,7 @@ int pc_readdb(void)
 	fclose(fp);
 	fclose(fp);
 	ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n","attr_fix.txt");
 	ShowStatus("Done reading '"CL_WHITE"%s"CL_RESET"'.\n","attr_fix.txt");
 
 
-	// スキルツリ?
+    // reset then read statspoint
 	memset(statp,0,sizeof(statp));
 	memset(statp,0,sizeof(statp));
 	i=1;
 	i=1;
 
 
@@ -9400,7 +9501,7 @@ void pc_itemcd_do(struct map_session_data *sd, bool load) {
 	return;
 	return;
 }
 }
 /*==========================================
 /*==========================================
- * pc? 係初期化
+ * pc Init/Terminate
  *------------------------------------------*/
  *------------------------------------------*/
 void do_final_pc(void) {
 void do_final_pc(void) {
 
 

+ 1 - 1
src/map/pc.h

@@ -174,7 +174,7 @@ struct map_session_data {
 	unsigned short mapindex;
 	unsigned short mapindex;
 	unsigned char head_dir; //0: Look forward. 1: Look right, 2: Look left.
 	unsigned char head_dir; //0: Look forward. 1: Look right, 2: Look left.
 	unsigned int client_tick;
 	unsigned int client_tick;
-	int npc_id,areanpc_id,npc_shopid,touching_id;
+	int npc_id,areanpc_id,npc_shopid,touching_id; //for script follow scriptoid;   ,npcid
 	int npc_item_flag; //Marks the npc_id with which you can use items during interactions with said npc (see script command enable_itemuse)
 	int npc_item_flag; //Marks the npc_id with which you can use items during interactions with said npc (see script command enable_itemuse)
 	int npc_menu; // internal variable, used in npc menu handling
 	int npc_menu; // internal variable, used in npc menu handling
 	int npc_amount;
 	int npc_amount;

+ 5 - 3
src/map/pet.c

@@ -1031,7 +1031,7 @@ int pet_lootitem_drop(struct pet_data *pd,struct map_session_data *sd)
 	memset(pd->loot->item,0,pd->loot->max * sizeof(struct item));
 	memset(pd->loot->item,0,pd->loot->max * sizeof(struct item));
 	pd->loot->count = 0;
 	pd->loot->count = 0;
 	pd->loot->weight = 0;
 	pd->loot->weight = 0;
-	pd->ud.canact_tick = gettick()+10000;	//	10*1000msの間拾わない
+	pd->ud.canact_tick = gettick()+10000;	//prevent picked up during 10*1000ms
 
 
 	if (dlist->item)
 	if (dlist->item)
 		add_timer(gettick()+540,pet_delay_item_drop,0,(intptr_t)dlist);
 		add_timer(gettick()+540,pet_delay_item_drop,0,(intptr_t)dlist);
@@ -1195,7 +1195,9 @@ int pet_skill_support_timer(int tid, unsigned int tick, int id, intptr_t data)
 }
 }
 
 
 /*==========================================
 /*==========================================
- *ペットデータ読み込み
+ * Pet read db data
+ * pet_db.txt
+ * pet_db2.txt
  *------------------------------------------*/ 
  *------------------------------------------*/ 
 int read_petdb()
 int read_petdb()
 {
 {
@@ -1343,7 +1345,7 @@ int read_petdb()
 }
 }
 
 
 /*==========================================
 /*==========================================
- * スキル関係初期化処理
+ * Initialization process relationship skills
  *------------------------------------------*/
  *------------------------------------------*/
 int do_init_pet(void)
 int do_init_pet(void)
 {
 {

File diff suppressed because it is too large
+ 126 - 126
src/map/script.c


+ 17 - 15
src/map/skill.c

@@ -1259,7 +1259,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
 		else if( dstmd && !is_boss(bl) )
 		else if( dstmd && !is_boss(bl) )
 			sc_start(bl, SC_STUN, 100, skilllv, 1000 + 1000 * (rnd() %3));
 			sc_start(bl, SC_STUN, 100, skilllv, 1000 + 1000 * (rnd() %3));
 		break;
 		break;
-	case SR_GENTLETOUCH_QUIET:  //  [(Skill Level x 5) + (Caster痴 DEX + Caster痴 Base Level) / 10]
+	case SR_GENTLETOUCH_QUIET:  //  [(Skill Level x 5) + (Caster�スs DEX + Caster�スs Base Level) / 10]
 		sc_start(bl, SC_SILENCE, 5 * skilllv + (sstatus->dex + status_get_lv(src)) / 10, skilllv, skill_get_time(skillid, skilllv));
 		sc_start(bl, SC_SILENCE, 5 * skilllv + (sstatus->dex + status_get_lv(src)) / 10, skilllv, skill_get_time(skillid, skilllv));
 		break;
 		break;
 	case SR_EARTHSHAKER:
 	case SR_EARTHSHAKER:
@@ -1323,7 +1323,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
 					sc_start(bl, SC_MELON_BOMB, 100, skilllv, skill_get_time(GN_SLINGITEM, skilllv));	// Reduces ASPD and moviment speed
 					sc_start(bl, SC_MELON_BOMB, 100, skilllv, skill_get_time(GN_SLINGITEM, skilllv));	// Reduces ASPD and moviment speed
 					break;
 					break;
 				case 13264:
 				case 13264:
-					sc_start(bl, SC_BANANA_BOMB, 100, skilllv, skill_get_time(GN_SLINGITEM, skilllv));	// Reduces LUK ?Needed confirm it, may be it's bugged in kRORE?
+					sc_start(bl, SC_BANANA_BOMB, 100, skilllv, skill_get_time(GN_SLINGITEM, skilllv));	// Reduces LUK �ス?Needed confirm it, may be it's bugged in kRORE?
 					sc_start(bl, SC_BANANA_BOMB_SITDOWN, 75, skilllv, skill_get_time(GN_SLINGITEM_RANGEMELEEATK,skilllv)); // Sitdown for 3 seconds.
 					sc_start(bl, SC_BANANA_BOMB_SITDOWN, 75, skilllv, skill_get_time(GN_SLINGITEM_RANGEMELEEATK,skilllv)); // Sitdown for 3 seconds.
 					break;
 					break;
 			}
 			}
@@ -2739,12 +2739,12 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
 }
 }
 
 
 /*==========================================
 /*==========================================
- * スキル範??U?用(map_foreachinareaから呼ばれる)
- * flagについて?F16?i?を確認
+ * �スX�スL�ス�ス�ス�ス??U?�スp(map_foreachinarea�ス�ス�ス�ストばゑソス�ス)
+ * flag�スノつゑソス�ス�ス?F16?i?�ス�ス�スm�スF
  * MSB <- 00fTffff ->LSB
  * MSB <- 00fTffff ->LSB
- *	T	=タ?ゲット選?用(BCT_*)
- *  ffff=自由に使用可
- *  0	=予約?B0に固定
+ *	T	=�ス^?�スQ�スb�スg�スI?�スp(BCT_*)
+ *  ffff=�ス�ス�スR�スノ使�スp�スツ
+ *  0	=�ス\�ス�ス?B0�スノ固抵ソス
  *------------------------------------------*/
  *------------------------------------------*/
 typedef int (*SkillFunc)(struct block_list *, struct block_list *, int, int, unsigned int, int);
 typedef int (*SkillFunc)(struct block_list *, struct block_list *, int, int, unsigned int, int);
 int skill_area_sub (struct block_list *bl, va_list ap)
 int skill_area_sub (struct block_list *bl, va_list ap)
@@ -5959,7 +5959,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
 				break;
 				break;
 			}
 			}
 			if(!battle_config.duel_allow_teleport && sd->duel_group && skilllv <= 2) { // duel restriction [LuzZza]
 			if(!battle_config.duel_allow_teleport && sd->duel_group && skilllv <= 2) { // duel restriction [LuzZza]
-				clif_displaymessage(sd->fd, "Duel: Can't use teleport in duel.");
+                                char output[128]; sprintf(output, msg_txt(365), skill_get_name(AL_TELEPORT));
+				clif_displaymessage(sd->fd, output); //"Duel: Can't use %s in duel."
 				break;
 				break;
 			}
 			}
 
 
@@ -7861,7 +7862,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
 
 
 	case RA_WUGDASH:
 	case RA_WUGDASH:
 		if( tsce ) {
 		if( tsce ) {
-			clif_skill_nodamage(src,bl,skillid,skilllv,status_change_end(bl, type, -1));
+			clif_skill_nodamage(src,bl,skillid,skilllv,status_change_end(bl, type, INVALID_TIMER));
 			map_freeblock_unlock();
 			map_freeblock_unlock();
 			return 0;
 			return 0;
 		}
 		}
@@ -12208,7 +12209,8 @@ int skill_check_condition_castbegin(struct map_session_data* sd, short skill, sh
 			break;
 			break;
 		case AL_WARP:
 		case AL_WARP:
 			if(!battle_config.duel_allow_teleport && sd->duel_group) { // duel restriction [LuzZza]
 			if(!battle_config.duel_allow_teleport && sd->duel_group) { // duel restriction [LuzZza]
-				clif_displaymessage(sd->fd, "Duel: Can't use warp in duel.");
+                                char output[128]; sprintf(output, msg_txt(365), skill_get_name(AL_WARP));
+				clif_displaymessage(sd->fd, output); //"Duel: Can't use %s in duel."
 				return 0;
 				return 0;
 			}
 			}
 			break;
 			break;
@@ -13402,12 +13404,12 @@ int skill_castfix_sc (struct block_list *bl, int time)
 			time += time * sc->data[SC_SLOWCAST]->val2 / 100;
 			time += time * sc->data[SC_SLOWCAST]->val2 / 100;
 		if (sc->data[SC_SUFFRAGIUM]) {
 		if (sc->data[SC_SUFFRAGIUM]) {
 			time -= time * sc->data[SC_SUFFRAGIUM]->val2 / 100;
 			time -= time * sc->data[SC_SUFFRAGIUM]->val2 / 100;
-			status_change_end(bl, SC_SUFFRAGIUM, -1);
+			status_change_end(bl, SC_SUFFRAGIUM, INVALID_TIMER);
 		}
 		}
 		if (sc->data[SC_MEMORIZE]) {
 		if (sc->data[SC_MEMORIZE]) {
 			time>>=1;
 			time>>=1;
 			if ((--sc->data[SC_MEMORIZE]->val2) <= 0)
 			if ((--sc->data[SC_MEMORIZE]->val2) <= 0)
-				status_change_end(bl, SC_MEMORIZE, -1);
+				status_change_end(bl, SC_MEMORIZE, INVALID_TIMER);
 		}
 		}
 		if (sc->data[SC_POEMBRAGI])
 		if (sc->data[SC_POEMBRAGI])
 			time -= time * sc->data[SC_POEMBRAGI]->val2 / 100;		
 			time -= time * sc->data[SC_POEMBRAGI]->val2 / 100;		
@@ -15762,8 +15764,8 @@ int skill_produce_mix (struct map_session_data *sd, int skill_id, int nameid, in
 					
 					
 					difficulty = (620 - 20 * skilllv);// (620 - 20 * Skill Level)
 					difficulty = (620 - 20 * skilllv);// (620 - 20 * Skill Level)
 
 
-					make_per = status->int_ + status->dex/2 + status->luk + sd->status.job_level + (30+rnd()%120) + // (Caster痴 INT) + (Caster痴 DEX / 2) + (Caster痴 LUK) + (Caster痴 Job Level) + Random number between (30 ~ 150) +
-								(sd->status.base_level-100) + pc_checkskill(sd, AM_LEARNINGPOTION) + pc_checkskill(sd, CR_FULLPROTECTION)*(4+rnd()%6); // (Caster Base Level - 100) + (Potion Research x 5) + (Full Chemical Protection Skill Level) x (Random number between 4 ~ 10)
+					make_per = status->int_ + status->dex/2 + status->luk + sd->status.job_level + (30+rnd()%120) + // (Caster�スs INT) + (Caster�スs DEX / 2) + (Caster�スs LUK) + (Caster�スs Job Level) + Random number between (30 ~ 150) +
+								(sd->status.base_level-100) + pc_checkskill(sd, AM_LEARNINGPOTION) + pc_checkskill(sd, CR_FULLPROTECTION)*(4+rnd()%6); // (Caster�スs Base Level - 100) + (Potion Research x 5) + (Full Chemical Protection Skill Level) x (Random number between 4 ~ 10)
 					
 					
 					switch(nameid){// difficulty factor
 					switch(nameid){// difficulty factor
 						case 12422:	case 12425:	
 						case 12422:	case 12425:	
@@ -15804,7 +15806,7 @@ int skill_produce_mix (struct map_session_data *sd, int skill_id, int nameid, in
 				{
 				{
 					int difficulty = 30 + rnd()%120; // Random number between (30 ~ 150)
 					int difficulty = 30 + rnd()%120; // Random number between (30 ~ 150)
 				
 				
-					make_per = sd->status.job_level / 4 + status->luk / 2 + status->dex / 3; // (Caster痴 Job Level / 4) + (Caster痴 LUK / 2) + (Caster痴 DEX / 3)
+					make_per = sd->status.job_level / 4 + status->luk / 2 + status->dex / 3; // (Caster�スs Job Level / 4) + (Caster�スs LUK / 2) + (Caster�スs DEX / 3)
 					qty = ~(5 + rnd()%5) + 1;
 					qty = ~(5 + rnd()%5) + 1;
 
 
 					switch(nameid){// difficulty factor
 					switch(nameid){// difficulty factor

+ 18 - 13
src/map/skill.h

@@ -87,7 +87,8 @@ struct skill_condition {
 	int itemid[MAX_SKILL_ITEM_REQUIRE],amount[MAX_SKILL_ITEM_REQUIRE];
 	int itemid[MAX_SKILL_ITEM_REQUIRE],amount[MAX_SKILL_ITEM_REQUIRE];
 };
 };
 
 
-// スキルデ?タベ?ス
+// Database skills
+
 struct s_skill_db {
 struct s_skill_db {
 	char name[NAME_LENGTH];
 	char name[NAME_LENGTH];
 	char desc[40];
 	char desc[40];
@@ -116,7 +117,7 @@ struct s_skill_db {
 extern struct s_skill_db skill_db[MAX_SKILL_DB];
 extern struct s_skill_db skill_db[MAX_SKILL_DB];
 
 
 #define MAX_SKILL_UNIT_LAYOUT	50
 #define MAX_SKILL_UNIT_LAYOUT	50
-#define MAX_SQUARE_LAYOUT		5	// 11*11のユニット配置が最大
+#define MAX_SQUARE_LAYOUT		5	// 11*11 Placement of a maximum unit
 #define MAX_SKILL_UNIT_COUNT ((MAX_SQUARE_LAYOUT*2+1)*(MAX_SQUARE_LAYOUT*2+1))
 #define MAX_SKILL_UNIT_COUNT ((MAX_SQUARE_LAYOUT*2+1)*(MAX_SQUARE_LAYOUT*2+1))
 struct s_skill_unit_layout {
 struct s_skill_unit_layout {
 	int count;
 	int count;
@@ -195,7 +196,8 @@ enum {
 	UF_DUALMODE      = 0x0800,	// Spells should trigger both ontimer and onplace/onout/onleft effects.
 	UF_DUALMODE      = 0x0800,	// Spells should trigger both ontimer and onplace/onout/onleft effects.
 };
 };
 
 
-// アイテム作成デ?タベ?ス
+// Create Database item
+
 struct s_skill_produce_db {
 struct s_skill_produce_db {
 	int nameid, trigger;
 	int nameid, trigger;
 	int req_skill,req_skill_lv,itemlv;
 	int req_skill,req_skill_lv,itemlv;
@@ -203,14 +205,16 @@ struct s_skill_produce_db {
 };
 };
 extern struct s_skill_produce_db skill_produce_db[MAX_SKILL_PRODUCE_DB];
 extern struct s_skill_produce_db skill_produce_db[MAX_SKILL_PRODUCE_DB];
 
 
-// 矢作成デ?タベ?ス
+// Creating database arrow
+
 struct s_skill_arrow_db {
 struct s_skill_arrow_db {
 	int nameid, trigger;
 	int nameid, trigger;
 	int cre_id[MAX_ARROW_RESOURCE],cre_amount[MAX_ARROW_RESOURCE];
 	int cre_id[MAX_ARROW_RESOURCE],cre_amount[MAX_ARROW_RESOURCE];
 };
 };
 extern struct s_skill_arrow_db skill_arrow_db[MAX_SKILL_ARROW_DB];
 extern struct s_skill_arrow_db skill_arrow_db[MAX_SKILL_ARROW_DB];
 
 
-// アブラカダブラデ?タベ?ス
+// Abracadabra database
+
 struct s_skill_abra_db {
 struct s_skill_abra_db {
 	int skillid;
 	int skillid;
 	int req_lv;
 	int req_lv;
@@ -227,7 +231,8 @@ int do_final_skill(void);
 //Returns the cast type of the skill: ground cast, castend damage, castend no damage
 //Returns the cast type of the skill: ground cast, castend damage, castend no damage
 enum { CAST_GROUND, CAST_DAMAGE, CAST_NODAMAGE };
 enum { CAST_GROUND, CAST_DAMAGE, CAST_NODAMAGE };
 int skill_get_casttype(int id); //[Skotlex]
 int skill_get_casttype(int id); //[Skotlex]
-// スキルデ?タベ?スへのアクセサ
+
+// Accessor to the skills database
 //
 //
 int skill_get_index( int id );
 int skill_get_index( int id );
 int	skill_get_type( int id );
 int	skill_get_type( int id );
@@ -277,13 +282,13 @@ int skill_castend_map( struct map_session_data *sd,short skill_num, const char *
 int skill_cleartimerskill(struct block_list *src);
 int skill_cleartimerskill(struct block_list *src);
 int skill_addtimerskill(struct block_list *src,unsigned int tick,int target,int x,int y,int skill_id,int skill_lv,int type,int flag);
 int skill_addtimerskill(struct block_list *src,unsigned int tick,int target,int x,int y,int skill_id,int skill_lv,int type,int flag);
 
 
-// 追加?果
+// Results? Added
 int skill_additional_effect( struct block_list* src, struct block_list *bl,int skillid,int skilllv,int attack_type,int dmg_lv,unsigned int tick);
 int skill_additional_effect( struct block_list* src, struct block_list *bl,int skillid,int skilllv,int attack_type,int dmg_lv,unsigned int tick);
 int skill_counter_additional_effect( struct block_list* src, struct block_list *bl,int skillid,int skilllv,int attack_type,unsigned int tick);
 int skill_counter_additional_effect( struct block_list* src, struct block_list *bl,int skillid,int skilllv,int attack_type,unsigned int tick);
 int skill_blown(struct block_list* src, struct block_list* target, int count, int direction, int flag);
 int skill_blown(struct block_list* src, struct block_list* target, int count, int direction, int flag);
 int skill_break_equip(struct block_list *bl, unsigned short where, int rate, int flag);
 int skill_break_equip(struct block_list *bl, unsigned short where, int rate, int flag);
 int skill_strip_equip(struct block_list *bl, unsigned short where, int rate, int lv, int time);
 int skill_strip_equip(struct block_list *bl, unsigned short where, int rate, int lv, int time);
-// ユニットスキル
+// Skills unit
 struct skill_unit_group* skill_id2group(int group_id);
 struct skill_unit_group* skill_id2group(int group_id);
 struct skill_unit_group *skill_unitsetting(struct block_list* src, short skillid, short skilllv, short x, short y, int flag);
 struct skill_unit_group *skill_unitsetting(struct block_list* src, short skillid, short skilllv, short x, short y, int flag);
 struct skill_unit *skill_initunit (struct skill_unit_group *group, int idx, int x, int y, int val1, int val2);
 struct skill_unit *skill_initunit (struct skill_unit_group *group, int idx, int x, int y, int val1, int val2);
@@ -321,7 +326,7 @@ struct skill_unit_group *skill_check_dancing( struct block_list *src );
 // Guild skills [celest]
 // Guild skills [celest]
 int skill_guildaura_sub (struct map_session_data* sd, int id, int strvit, int agidex);
 int skill_guildaura_sub (struct map_session_data* sd, int id, int strvit, int agidex);
 
 
-// 詠唱キャンセル
+// Chant canceled
 int skill_castcancel(struct block_list *bl,int type);
 int skill_castcancel(struct block_list *bl,int type);
 
 
 int skill_sit (struct map_session_data *sd, int type);
 int skill_sit (struct map_session_data *sd, int type);
@@ -335,7 +340,7 @@ int skill_calc_heal(struct block_list *src, struct block_list *target, int skill
 
 
 bool skill_check_cloaking(struct block_list *bl, struct status_change_entry *sce);
 bool skill_check_cloaking(struct block_list *bl, struct status_change_entry *sce);
 
 
-// ステ?タス異常
+// Abnormal status
 int skill_enchant_elemental_end(struct block_list *bl, int type);
 int skill_enchant_elemental_end(struct block_list *bl, int type);
 int skillnotok(int skillid, struct map_session_data *sd);
 int skillnotok(int skillid, struct map_session_data *sd);
 int skillnotok_hom(int skillid, struct homun_data *hd);
 int skillnotok_hom(int skillid, struct homun_data *hd);
@@ -343,13 +348,13 @@ int skillnotok_mercenary(int skillid, struct mercenary_data *md);
 
 
 int skill_chastle_mob_changetarget(struct block_list *bl,va_list ap);
 int skill_chastle_mob_changetarget(struct block_list *bl,va_list ap);
 
 
-// アイテム作成
+// Item creation
 int skill_can_produce_mix( struct map_session_data *sd, int nameid, int trigger, int qty);
 int skill_can_produce_mix( struct map_session_data *sd, int nameid, int trigger, int qty);
 int skill_produce_mix( struct map_session_data *sd, int skill_id, int nameid, int slot1, int slot2, int slot3, int qty );
 int skill_produce_mix( struct map_session_data *sd, int skill_id, int nameid, int slot1, int slot2, int slot3, int qty );
 
 
 int skill_arrow_create( struct map_session_data *sd,int nameid);
 int skill_arrow_create( struct map_session_data *sd,int nameid);
 
 
-// mobスキルのため
+// skills for the mob
 int skill_castend_nodamage_id( struct block_list *src, struct block_list *bl,int skillid,int skilllv,unsigned int tick,int flag );
 int skill_castend_nodamage_id( struct block_list *src, struct block_list *bl,int skillid,int skilllv,unsigned int tick,int flag );
 int skill_castend_damage_id( struct block_list* src, struct block_list *bl,int skillid,int skilllv,unsigned int tick,int flag );
 int skill_castend_damage_id( struct block_list* src, struct block_list *bl,int skillid,int skilllv,unsigned int tick,int flag );
 int skill_castend_pos2( struct block_list *src, int x,int y,int skillid,int skilllv,unsigned int tick,int flag);
 int skill_castend_pos2( struct block_list *src, int x,int y,int skillid,int skilllv,unsigned int tick,int flag);
@@ -365,7 +370,7 @@ int skill_blockmerc_start (struct mercenary_data*,int,int);
 	((id) >= BD_ADAPTATION     && (id) <= DC_SERVICEFORYOU) || ((id) >= CG_ARROWVULCAN && (id) <= CG_MARIONETTE) || \
 	((id) >= BD_ADAPTATION     && (id) <= DC_SERVICEFORYOU) || ((id) >= CG_ARROWVULCAN && (id) <= CG_MARIONETTE) || \
 	((id) >= CG_LONGINGFREEDOM && (id) <= CG_TAROTCARD)     || ((id) >= WA_SWING_DANCE && (id) <= WM_UNLIMITED_HUMMING_VOICE))
 	((id) >= CG_LONGINGFREEDOM && (id) <= CG_TAROTCARD)     || ((id) >= WA_SWING_DANCE && (id) <= WM_UNLIMITED_HUMMING_VOICE))
 
 
-// スキル攻?一括?理
+// Skill action, (return dmg,heal)
 int skill_attack( int attack_type, struct block_list* src, struct block_list *dsrc,struct block_list *bl,int skillid,int skilllv,unsigned int tick,int flag );
 int skill_attack( int attack_type, struct block_list* src, struct block_list *dsrc,struct block_list *bl,int skillid,int skilllv,unsigned int tick,int flag );
 
 
 void skill_reload(void);
 void skill_reload(void);

+ 30 - 23
src/map/status.c

@@ -66,7 +66,7 @@ static struct {
 	int randombonus_max[MAX_REFINE]; // cumulative maximum random bonus damage
 	int randombonus_max[MAX_REFINE]; // cumulative maximum random bonus damage
 } refine_info[REFINE_TYPE_MAX];
 } refine_info[REFINE_TYPE_MAX];
 
 
-static int atkmods[3][MAX_WEAPON_TYPE];	// 武器ATKサイズ修正(size_fix.txt)
+static int atkmods[3][MAX_WEAPON_TYPE];	//ATK weapon modification for size (size_fix.txt)
 static char job_bonus[CLASS_COUNT][MAX_LEVEL];
 static char job_bonus[CLASS_COUNT][MAX_LEVEL];
 
 
 static struct eri *sc_data_ers; //For sc_data entries
 static struct eri *sc_data_ers; //For sc_data entries
@@ -2059,7 +2059,7 @@ int status_calc_mob_(struct mob_data* md, bool first)
 
 
 	if (flag&2)
 	if (flag&2)
 	{	// change for sized monsters [Valaris]
 	{	// change for sized monsters [Valaris]
-		if (md->special_state.size==1) {
+		if (md->special_state.size==SZ_MEDIUM) {
 			status->max_hp>>=1;
 			status->max_hp>>=1;
 			status->max_sp>>=1;
 			status->max_sp>>=1;
 			if (!status->max_hp) status->max_hp = 1;
 			if (!status->max_hp) status->max_hp = 1;
@@ -2078,7 +2078,7 @@ int status_calc_mob_(struct mob_data* md, bool first)
 			if (!status->int_) status->int_ = 1;
 			if (!status->int_) status->int_ = 1;
 			if (!status->dex) status->dex = 1;
 			if (!status->dex) status->dex = 1;
 			if (!status->luk) status->luk = 1;
 			if (!status->luk) status->luk = 1;
-		} else if (md->special_state.size==2) {
+		} else if (md->special_state.size==SZ_BIG) {
 			status->max_hp<<=1;
 			status->max_hp<<=1;
 			status->max_sp<<=1;
 			status->max_sp<<=1;
 			status->hp=status->max_hp;
 			status->hp=status->max_hp;
@@ -2280,7 +2280,7 @@ int status_calc_pc_(struct map_session_data* sd, bool first)
 	b_max_weight = sd->max_weight;
 	b_max_weight = sd->max_weight;
 	b_cart_weight_max = sd->cart_weight_max;
 	b_cart_weight_max = sd->cart_weight_max;
 
 
-	pc_calc_skilltree(sd);	// スキルツリ?の計算
+	pc_calc_skilltree(sd);	// �スX�スL�ス�ス�スc�ス�ス?�スフ計�スZ
 
 
 	sd->max_weight = max_weight_base[pc_class2idx(sd->status.class_)]+sd->status.str*300;
 	sd->max_weight = max_weight_base[pc_class2idx(sd->status.class_)]+sd->status.str*300;
 
 
@@ -5555,8 +5555,8 @@ const char* status_get_name(struct block_list *bl) {
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 対象のClassを返す(汎用)
- * 戻りは整数で0以上
+ * �スホ象ゑソスClass�ス�スヤゑソス(�スト用)
+ * �ス゚ゑソスヘ撰ソス�ス�ス�ス�ス0�スネ擾ソス
  *------------------------------------------*/
  *------------------------------------------*/
 int status_get_class(struct block_list *bl) {
 int status_get_class(struct block_list *bl) {
 	nullpo_ret(bl);
 	nullpo_ret(bl);
@@ -5572,8 +5572,8 @@ int status_get_class(struct block_list *bl) {
 	return 0;
 	return 0;
 }
 }
 /*==========================================
 /*==========================================
- * 対象のレベルを返す(汎用)
- * 戻りは整数で0以上
+ * �スホ象の�ソス�スx�ス�ス�ス�スヤゑソス(�スト用)
+ * �ス゚ゑソスヘ撰ソス�ス�ス�ス�ス0�スネ擾ソス
  *------------------------------------------*/
  *------------------------------------------*/
 int status_get_lv(struct block_list *bl) {
 int status_get_lv(struct block_list *bl) {
 	nullpo_ret(bl);
 	nullpo_ret(bl);
@@ -7196,7 +7196,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
 			status_zap(bl, diff, 0);
 			status_zap(bl, diff, 0);
 		}
 		}
 		// fall through
 		// fall through
-		case SC_POISON:				/*  */
+		case SC_POISON:				/* �ス�ス */
 		val3 = tick/1000; //Damage iterations
 		val3 = tick/1000; //Damage iterations
 		if(val3 < 1) val3 = 1;
 		if(val3 < 1) val3 = 1;
 		tick_time = 1000; // [GodLesZ] tick time
 		tick_time = 1000; // [GodLesZ] tick time
@@ -7269,7 +7269,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
 			else
 			else
 				val4 |= battle_config.monster_cloak_check_type&7;
 				val4 |= battle_config.monster_cloak_check_type&7;
 			break;
 			break;
-		case SC_SIGHT:			/* サイト/ルアフ */
+		case SC_SIGHT:			/* �スT�スC�スg/�ス�ス�スA�スt */
 		case SC_RUWACH:
 		case SC_RUWACH:
 		case SC_SIGHTBLASTER:
 		case SC_SIGHTBLASTER:
 			val3 = skill_get_splash(val2, val1); //Val2 should bring the skill-id.
 			val3 = skill_get_splash(val2, val1); //Val2 should bring the skill-id.
@@ -8179,9 +8179,9 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
 		case SC_GT_CHANGE:
 		case SC_GT_CHANGE:
 			{// take note there is no def increase as skill desc says. [malufett]
 			{// take note there is no def increase as skill desc says. [malufett]
 				struct block_list * src;
 				struct block_list * src;
-				val3 = status->agi * val1 / 60; // ASPD increase: [(Target AGI x Skill Level) / 60] %
+				val3 = status->agi * val1 / 60; // ASPD increase: [(Target�スs AGI x Skill Level) / 60] %
 				if( (src = map_id2bl(val2)) )
 				if( (src = map_id2bl(val2)) )
-					val4 = ( 200/status_get_int(src) ) * val1;// MDEF decrease: MDEF [(200 / Caster INT) x Skill Level]
+					val4 = ( 200/status_get_int(src) ) * val1;// MDEF decrease: MDEF [(200 / Caster�スs INT) x Skill Level]
 			}
 			}
 			break;
 			break;
 		case SC_GT_REVITALIZE:
 		case SC_GT_REVITALIZE:
@@ -8189,7 +8189,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
 				struct block_list * src;
 				struct block_list * src;
 				val3 = val1 * 30 + 150; // Natural HP recovery increase: [(Skill Level x 30) + 50] %
 				val3 = val1 * 30 + 150; // Natural HP recovery increase: [(Skill Level x 30) + 50] %
 				if( (src = map_id2bl(val2)) ) // the stat def is not shown in the status window and it is process differently
 				if( (src = map_id2bl(val2)) ) // the stat def is not shown in the status window and it is process differently
-					val4 = ( status_get_vit(src)/4 ) * val1; // STAT DEF increase: [(Caster VIT / 4) x Skill Level]
+					val4 = ( status_get_vit(src)/4 ) * val1; // STAT DEF increase: [(Caster�スs VIT / 4) x Skill Level]
 			}
 			}
 			break;
 			break;
 		case SC_PYROTECHNIC_OPTION:
 		case SC_PYROTECHNIC_OPTION:
@@ -8679,7 +8679,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
 	return 1;
 	return 1;
 }
 }
 /*==========================================
 /*==========================================
- * ステータス異常全解除
+ * �スX�スe�ス[�ス^�スX�スル擾ソスS�ス�ス�ス�ス
  * type:
  * type:
  * 0 - ???
  * 0 - ???
  * 1 - ???
  * 1 - ???
@@ -8778,7 +8778,7 @@ int status_change_clear(struct block_list* bl, int type)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * ステータス異常終了
+ * �スX�スe�ス[�ス^�スX�スル擾ソスI�ス�ス
  *------------------------------------------*/
  *------------------------------------------*/
 int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const char* file, int line)
 int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const char* file, int line)
 {
 {
@@ -9475,7 +9475,7 @@ int kaahi_heal_timer(int tid, unsigned int tick, int id, intptr_t data)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * ステータス異常終了タイマー
+ * �スX�スe�ス[�ス^�スX�スル擾ソスI�ス�ス�ス^�スC�ス}�ス[
  *------------------------------------------*/
  *------------------------------------------*/
 int status_change_timer(int tid, unsigned int tick, int id, intptr_t data)
 int status_change_timer(int tid, unsigned int tick, int id, intptr_t data)
 {
 {
@@ -9681,7 +9681,7 @@ int status_change_timer(int tid, unsigned int tick, int id, intptr_t data)
 		}
 		}
 		break;
 		break;
 
 
-	case SC_DANCING: //ダンススキルの時間SP消費
+	case SC_DANCING: //�ス_�ス�ス�スX�スX�スL�ス�ス�スフ趣ソス�ス�スSP�ス�ス�ス�ス
 		{
 		{
 			int s = 0;
 			int s = 0;
 			int sp = 1;
 			int sp = 1;
@@ -10293,7 +10293,7 @@ int status_change_timer(int tid, unsigned int tick, int id, intptr_t data)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * ステータス異常タイマー範囲処理
+ * �スX�スe�ス[�ス^�スX�スル擾ソス^�スC�ス}�ス[�スヘ囲擾ソス�ス�ス
  *------------------------------------------*/
  *------------------------------------------*/
 int status_change_timer_sub(struct block_list* bl, va_list ap)
 int status_change_timer_sub(struct block_list* bl, va_list ap)
 {
 {
@@ -10310,7 +10310,7 @@ int status_change_timer_sub(struct block_list* bl, va_list ap)
 	tsc = status_get_sc(bl);
 	tsc = status_get_sc(bl);
 
 
 	switch( type ) {
 	switch( type ) {
-	case SC_SIGHT:	/* サイト */
+	case SC_SIGHT:	/* �スT�スC�スg */
 		if( tsc && tsc->data[SC__SHADOWFORM] && (sce && sce->val4 >0 && sce->val4%2000 == 0) && // for every 2 seconds do the checking
 		if( tsc && tsc->data[SC__SHADOWFORM] && (sce && sce->val4 >0 && sce->val4%2000 == 0) && // for every 2 seconds do the checking
 			rnd()%100 < 100-tsc->data[SC__SHADOWFORM]->val1*10 ) // [100 - (Skill Level x 10)] %
 			rnd()%100 < 100-tsc->data[SC__SHADOWFORM]->val1*10 ) // [100 - (Skill Level x 10)] %
 				status_change_end(bl, SC__SHADOWFORM, INVALID_TIMER);
 				status_change_end(bl, SC__SHADOWFORM, INVALID_TIMER);
@@ -10321,7 +10321,7 @@ int status_change_timer_sub(struct block_list* bl, va_list ap)
 		status_change_end(bl, SC_CAMOUFLAGE, INVALID_TIMER);
 		status_change_end(bl, SC_CAMOUFLAGE, INVALID_TIMER);
 		status_change_end(bl, SC__INVISIBILITY, INVALID_TIMER);
 		status_change_end(bl, SC__INVISIBILITY, INVALID_TIMER);
 		break;
 		break;
-	case SC_RUWACH:	/* ルアフ */
+	case SC_RUWACH:	/* �ス�ス�スA�スt */
 		if (tsc && (tsc->data[SC_HIDING] || tsc->data[SC_CLOAKING] ||
 		if (tsc && (tsc->data[SC_HIDING] || tsc->data[SC_CLOAKING] ||
 				tsc->data[SC_CAMOUFLAGE] || tsc->data[SC_CLOAKINGEXCEED] ||
 				tsc->data[SC_CAMOUFLAGE] || tsc->data[SC_CLOAKINGEXCEED] ||
 					tsc->data[SC__INVISIBILITY])) {
 					tsc->data[SC__INVISIBILITY])) {
@@ -10888,6 +10888,13 @@ static bool status_readdb_refine(char* fields[], int columns, int current)
 	return true;
 	return true;
 }
 }
 
 
+/*
+* Read status db
+* job1.txt
+* job2.txt
+* size_fixe.txt
+* refine_db.txt
+*/
 int status_readdb(void)
 int status_readdb(void)
 {
 {
 	int i, j;
 	int i, j;
@@ -10895,13 +10902,13 @@ int status_readdb(void)
 	// initialize databases to default
 	// initialize databases to default
 	//
 	//
 
 
-	// job_db1.txt
+	// reset job_db1.txt data
 	memset(max_weight_base, 0, sizeof(max_weight_base));
 	memset(max_weight_base, 0, sizeof(max_weight_base));
 	memset(hp_coefficient, 0, sizeof(hp_coefficient));
 	memset(hp_coefficient, 0, sizeof(hp_coefficient));
 	memset(hp_coefficient2, 0, sizeof(hp_coefficient2));
 	memset(hp_coefficient2, 0, sizeof(hp_coefficient2));
 	memset(sp_coefficient, 0, sizeof(sp_coefficient));
 	memset(sp_coefficient, 0, sizeof(sp_coefficient));
 	memset(aspd_base, 0, sizeof(aspd_base));
 	memset(aspd_base, 0, sizeof(aspd_base));
-	// job_db2.txt
+	// reset job_db2.txt data
 	memset(job_bonus,0,sizeof(job_bonus)); // Job-specific stats bonus
 	memset(job_bonus,0,sizeof(job_bonus)); // Job-specific stats bonus
 
 
 	// size_fix.txt
 	// size_fix.txt
@@ -10937,7 +10944,7 @@ int status_readdb(void)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * スキル関係初期化処理
+ * Status db init and destroy.
  *------------------------------------------*/
  *------------------------------------------*/
 int do_init_status(void)
 int do_init_status(void)
 {
 {

+ 88 - 8
src/map/storage.c

@@ -27,7 +27,7 @@
 static DBMap* guild_storage_db; // int guild_id -> struct guild_storage*
 static DBMap* guild_storage_db; // int guild_id -> struct guild_storage*
 
 
 /*==========================================
 /*==========================================
- * 倉庫内アイテムソート
+ * Sort items in the warehouse
  *------------------------------------------*/
  *------------------------------------------*/
 static int storage_comp_item(const void *_i1, const void *_i2)
 static int storage_comp_item(const void *_i1, const void *_i2)
 {
 {
@@ -43,6 +43,7 @@ static int storage_comp_item(const void *_i1, const void *_i2)
 	return i1->nameid - i2->nameid;
 	return i1->nameid - i2->nameid;
 }
 }
 
 
+//Sort item by storage_comp_item (nameid)
 static void storage_sortitem(struct item* items, unsigned int size)
 static void storage_sortitem(struct item* items, unsigned int size)
 {
 {
 	nullpo_retv(items);
 	nullpo_retv(items);
@@ -54,9 +55,9 @@ static void storage_sortitem(struct item* items, unsigned int size)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 初期化とか
+ * Init/Terminate
  *------------------------------------------*/
  *------------------------------------------*/
-int do_init_storage(void) // map.c::do_init()から呼ばれる
+int do_init_storage(void) // Called from map.c::do_init()
 {
 {
 	guild_storage_db=idb_alloc(DB_OPT_RELEASE_DATA);
 	guild_storage_db=idb_alloc(DB_OPT_RELEASE_DATA);
 	return 1;
 	return 1;
@@ -110,7 +111,9 @@ int storage_storageopen(struct map_session_data *sd)
 	return 0;
 	return 0;
 }
 }
 
 
-// helper function
+/* helper function
+ * checking if 2 item structure are identique
+ */
 int compare_item(struct item *a, struct item *b)
 int compare_item(struct item *a, struct item *b)
 {
 {
 	if( a->nameid == b->nameid &&
 	if( a->nameid == b->nameid &&
@@ -202,6 +205,10 @@ int storage_delitem(struct map_session_data* sd, int n, int amount)
 
 
 /*==========================================
 /*==========================================
  * Add an item to the storage from the inventory.
  * Add an item to the storage from the inventory.
+ * @index : inventory idx
+ * return
+ *	0 : fail
+ *	1 : success
  *------------------------------------------*/
  *------------------------------------------*/
 int storage_storageadd(struct map_session_data* sd, int index, int amount)
 int storage_storageadd(struct map_session_data* sd, int index, int amount)
 {
 {
@@ -226,7 +233,11 @@ int storage_storageadd(struct map_session_data* sd, int index, int amount)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * Retrieve an item from the storage.
+ * Retrieve an item from the storage into inventory
+ * @index : storage idx
+ * return
+ *	0 : fail
+ *	1 : success
  *------------------------------------------*/
  *------------------------------------------*/
 int storage_storageget(struct map_session_data* sd, int index, int amount)
 int storage_storageget(struct map_session_data* sd, int index, int amount)
 {
 {
@@ -251,6 +262,10 @@ int storage_storageget(struct map_session_data* sd, int index, int amount)
 
 
 /*==========================================
 /*==========================================
  * Move an item from cart to storage.
  * Move an item from cart to storage.
+ * @index : cart inventory index
+ * return
+ *	0 : fail
+ *	1 : success
  *------------------------------------------*/
  *------------------------------------------*/
 int storage_storageaddfromcart(struct map_session_data* sd, int index, int amount)
 int storage_storageaddfromcart(struct map_session_data* sd, int index, int amount)
 {
 {
@@ -275,7 +290,11 @@ int storage_storageaddfromcart(struct map_session_data* sd, int index, int amoun
 }
 }
 
 
 /*==========================================
 /*==========================================
- * Get from Storage to the Cart
+ * Get from Storage to the Cart inventory
+ * @index : storage index
+ * return
+ *	0 : fail
+ *	1 : success
  *------------------------------------------*/
  *------------------------------------------*/
 int storage_storagegettocart(struct map_session_data* sd, int index, int amount)
 int storage_storagegettocart(struct map_session_data* sd, int index, int amount)
 {
 {
@@ -344,8 +363,9 @@ struct guild_storage *guild2storage(int guild_id)
 	return gs;
 	return gs;
 }
 }
 
 
+//For just locating a storage without creating one. [Skotlex]
 struct guild_storage *guild2storage2(int guild_id)
 struct guild_storage *guild2storage2(int guild_id)
-{	//For just locating a storage without creating one. [Skotlex]
+{	
 	return (struct guild_storage*)idb_get(guild_storage_db,guild_id);
 	return (struct guild_storage*)idb_get(guild_storage_db,guild_id);
 }
 }
 
 
@@ -355,6 +375,13 @@ int guild_storage_delete(int guild_id)
 	return 0;
 	return 0;
 }
 }
 
 
+/*==========================================
+* Attempt to open guild storage for sd
+* return
+* 	0 : success (open or req to create a new one)
+* 	1 : fail
+*	2 : no guild for sd
+ *------------------------------------------*/
 int storage_guild_storageopen(struct map_session_data* sd)
 int storage_guild_storageopen(struct map_session_data* sd)
 {
 {
 	struct guild_storage *gstor;
 	struct guild_storage *gstor;
@@ -387,6 +414,12 @@ int storage_guild_storageopen(struct map_session_data* sd)
 	return 0;
 	return 0;
 }
 }
 
 
+/*==========================================
+* Attempt to add an item in guild storage, then refresh it
+* return
+* 	0 : success
+* 	1 : fail
+ *------------------------------------------*/
 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)
 {
 {
 	struct item_data *data;
 	struct item_data *data;
@@ -439,6 +472,12 @@ int guild_storage_additem(struct map_session_data* sd, struct guild_storage* sto
 	return 0;
 	return 0;
 }
 }
 
 
+/*==========================================
+* Attempt to delete an item in guild storage, then refresh it
+* return
+* 	0 : success
+* 	1 : fail
+ *------------------------------------------*/
 int guild_storage_delitem(struct map_session_data* sd, struct guild_storage* stor, int n, int amount)
 int guild_storage_delitem(struct map_session_data* sd, struct guild_storage* stor, int n, int amount)
 {
 {
 	nullpo_retr(1, sd);
 	nullpo_retr(1, sd);
@@ -458,6 +497,13 @@ int guild_storage_delitem(struct map_session_data* sd, struct guild_storage* sto
 	return 0;
 	return 0;
 }
 }
 
 
+/*==========================================
+* Attempt to add an item in guild storage from inventory, then refresh it
+* @index : inventory idx
+* return
+* 	0 : fail
+* 	1 : succes
+ *------------------------------------------*/
 int storage_guild_storageadd(struct map_session_data* sd, int index, int amount)
 int storage_guild_storageadd(struct map_session_data* sd, int index, int amount)
 {
 {
 	struct guild_storage *stor;
 	struct guild_storage *stor;
@@ -483,6 +529,13 @@ int storage_guild_storageadd(struct map_session_data* sd, int index, int amount)
 	return 1;
 	return 1;
 }
 }
 
 
+/*==========================================
+* Attempt to retrieve an item from guild storage to inventory, then refresh it
+* @index : storage idx
+* return
+* 	0 : fail
+* 	1 : succes
+ *------------------------------------------*/
 int storage_guild_storageget(struct map_session_data* sd, int index, int amount)
 int storage_guild_storageget(struct map_session_data* sd, int index, int amount)
 {
 {
 	struct guild_storage *stor;
 	struct guild_storage *stor;
@@ -505,13 +558,20 @@ int storage_guild_storageget(struct map_session_data* sd, int index, int amount)
 
 
 	if((flag = pc_additem(sd,&stor->items[index],amount,LOG_TYPE_GSTORAGE)) == 0)
 	if((flag = pc_additem(sd,&stor->items[index],amount,LOG_TYPE_GSTORAGE)) == 0)
 		guild_storage_delitem(sd,stor,index,amount);
 		guild_storage_delitem(sd,stor,index,amount);
-	else
+	else //inform fail
 		clif_additem(sd,0,0,flag);
 		clif_additem(sd,0,0,flag);
 //	log_fromstorage(sd, index, 1);
 //	log_fromstorage(sd, index, 1);
 
 
 	return 0;
 	return 0;
 }
 }
 
 
+/*==========================================
+* Attempt to add an item in guild storage from cart, then refresh it
+* @index : cart inventory idx
+* return
+* 	0 : fail
+* 	1 : succes
+ *------------------------------------------*/
 int storage_guild_storageaddfromcart(struct map_session_data* sd, int index, int amount)
 int storage_guild_storageaddfromcart(struct map_session_data* sd, int index, int amount)
 {
 {
 	struct guild_storage *stor;
 	struct guild_storage *stor;
@@ -537,6 +597,13 @@ int storage_guild_storageaddfromcart(struct map_session_data* sd, int index, int
 	return 1;
 	return 1;
 }
 }
 
 
+/*==========================================
+* Attempt to retrieve an item from guild storage to cart, then refresh it
+* @index : storage idx
+* return
+* 	0 : fail
+* 	1 : succes
+ *------------------------------------------*/
 int storage_guild_storagegettocart(struct map_session_data* sd, int index, int amount)
 int storage_guild_storagegettocart(struct map_session_data* sd, int index, int amount)
 {
 {
 	struct guild_storage *stor;
 	struct guild_storage *stor;
@@ -562,6 +629,12 @@ int storage_guild_storagegettocart(struct map_session_data* sd, int index, int a
 	return 1;
 	return 1;
 }
 }
 
 
+/*==========================================
+* Request to save guild storage
+* return
+* 	0 : fail (no storage)
+* 	1 : succes
+ *------------------------------------------*/
 int storage_guild_storagesave(int account_id, int guild_id, int flag)
 int storage_guild_storagesave(int account_id, int guild_id, int flag)
 {
 {
 	struct guild_storage *stor = guild2storage2(guild_id);
 	struct guild_storage *stor = guild2storage2(guild_id);
@@ -577,6 +650,12 @@ int storage_guild_storagesave(int account_id, int guild_id, int flag)
 	return 0;
 	return 0;
 }
 }
 
 
+/*==========================================
+* ACK save of guild storage
+* return
+* 	0 : fail (no storage)
+* 	1 : succes
+ *------------------------------------------*/
 int storage_guild_storagesaved(int guild_id)
 int storage_guild_storagesaved(int guild_id)
 {
 {
 	struct guild_storage *stor;
 	struct guild_storage *stor;
@@ -591,6 +670,7 @@ int storage_guild_storagesaved(int guild_id)
 	return 0;
 	return 0;
 }
 }
 
 
+//Close storage for sd and save it
 int storage_guild_storageclose(struct map_session_data* sd)
 int storage_guild_storageclose(struct map_session_data* sd)
 {
 {
 	struct guild_storage *stor;
 	struct guild_storage *stor;

+ 1 - 1
src/map/trade.c

@@ -510,7 +510,7 @@ void trade_tradecancel(struct map_session_data *sd)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * Žæˆø‹–‘ø(trade‰Ÿ‚µ)
+ * lock sd and tsd trade data, execute the trade, clear, then save players
  *------------------------------------------*/
  *------------------------------------------*/
 void trade_tradecommit(struct map_session_data *sd)
 void trade_tradecommit(struct map_session_data *sd)
 {
 {

+ 15 - 16
src/map/unit.c

@@ -137,7 +137,7 @@ static int unit_walktoxy_timer(int tid, unsigned int tick, int id, intptr_t data
 		return 0;
 		return 0;
 	}
 	}
 	ud->walktimer = INVALID_TIMER;
 	ud->walktimer = INVALID_TIMER;
-	if( bl->prev == NULL ) return 0; // block_list から抜けているので移動停止する
+	if (bl->prev == NULL) return 0; // Stop moved because it is missing from the block_list
 
 
 	if(ud->walkpath.path_pos>=ud->walkpath.path_len)
 	if(ud->walkpath.path_pos>=ud->walkpath.path_len)
 		return 0;
 		return 0;
@@ -156,8 +156,7 @@ static int unit_walktoxy_timer(int tid, unsigned int tick, int id, intptr_t data
 	if(map_getcell(bl->m,x+dx,y+dy,CELL_CHKNOPASS))
 	if(map_getcell(bl->m,x+dx,y+dy,CELL_CHKNOPASS))
 		return unit_walktoxy_sub(bl);
 		return unit_walktoxy_sub(bl);
 	
 	
-	// バシリカ判定
-
+	//Refresh view for all those we lose sight
 	map_foreachinmovearea(clif_outsight, bl, AREA_SIZE, dx, dy, sd?BL_ALL:BL_PC, bl);
 	map_foreachinmovearea(clif_outsight, bl, AREA_SIZE, dx, dy, sd?BL_ALL:BL_PC, bl);
 
 
 	x += dx;
 	x += dx;
@@ -347,8 +346,8 @@ int unit_walktoxy( struct block_list *bl, short x, short y, int flag)
 		map_random_dir(bl, &ud->to_x, &ud->to_y);
 		map_random_dir(bl, &ud->to_x, &ud->to_y);
 
 
 	if(ud->walktimer != INVALID_TIMER) {
 	if(ud->walktimer != INVALID_TIMER) {
-		// 現在歩いている最中の目的地変更なのでマス目の中心に来た時に
-		// timer関数からunit_walktoxy_subを呼ぶようにする
+		// When you come to the center of the grid because the change of destination while you're walking right now
+		// Call a function from a timer unit_walktoxy_sub
 		ud->state.change_walk_target = 1;
 		ud->state.change_walk_target = 1;
 		return 1;
 		return 1;
 	}
 	}
@@ -1023,7 +1022,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh
 
 
 	nullpo_ret(src);
 	nullpo_ret(src);
 	if(status_isdead(src))
 	if(status_isdead(src))
-		return 0; // 死んでいないか
+		return 0; //Do not continue source is dead
 
 
 	sd = BL_CAST(BL_PC, src);
 	sd = BL_CAST(BL_PC, src);
 	ud = unit_bl2ud(src);
 	ud = unit_bl2ud(src);
@@ -1112,7 +1111,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh
 		return 0;
 		return 0;
 
 
 	tstatus = status_get_status_data(target);
 	tstatus = status_get_status_data(target);
-	//直前のスキル状況の記録
+	// Record the status of the previous skill)
 	if(sd) {
 	if(sd) {
 		switch(skill_num){
 		switch(skill_num){
 		case SA_CASTCANCEL:
 		case SA_CASTCANCEL:
@@ -1362,7 +1361,7 @@ int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, sh
 
 
 	nullpo_ret(src);
 	nullpo_ret(src);
 
 
-	if(!src->prev) return 0; // map 上に存在するか
+	if (!src->prev) return 0; // not on the map
 	if(status_isdead(src)) return 0;
 	if(status_isdead(src)) return 0;
 
 
 	sd = BL_CAST(BL_PC, src);
 	sd = BL_CAST(BL_PC, src);
@@ -1399,7 +1398,7 @@ int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, sh
 		return 0;
 		return 0;
 	}
 	}
 
 
-	/* 射程と障害物チェック */
+    /* Check range and obstacle */
 	bl.type = BL_NUL;
 	bl.type = BL_NUL;
 	bl.m = src->m;
 	bl.m = src->m;
 	bl.x = skill_x;
 	bl.x = skill_x;
@@ -1522,8 +1521,8 @@ int unit_unattackable(struct block_list *bl)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 攻撃要求
- * typeが1なら継続攻撃
+ * Attack request
+ * If type is an ongoing attack
  *------------------------------------------*/
  *------------------------------------------*/
 int unit_attack(struct block_list *src,int target_id,int continuous)
 int unit_attack(struct block_list *src,int target_id,int continuous)
 {
 {
@@ -1604,7 +1603,7 @@ bool unit_can_reach_pos(struct block_list *bl,int x,int y, int easy)
 {
 {
 	nullpo_retr(false, bl);
 	nullpo_retr(false, bl);
 
 
-	if( bl->x==x && bl->y==y )	// 同じマス
+	if (bl->x == x && bl->y == y) //Same place
 		return true;
 		return true;
 
 
 	return path_search(NULL,bl->m,bl->x,bl->y,x,y,easy,CELL_CHKNOREACH);
 	return path_search(NULL,bl->m,bl->x,bl->y,x,y,easy,CELL_CHKNOREACH);
@@ -1648,7 +1647,7 @@ bool unit_can_reach_bl(struct block_list *bl,struct block_list *tbl, int range,
 	return path_search(NULL,bl->m,bl->x,bl->y,tbl->x-dx,tbl->y-dy,easy,CELL_CHKNOREACH);
 	return path_search(NULL,bl->m,bl->x,bl->y,tbl->x-dx,tbl->y-dy,easy,CELL_CHKNOREACH);
 }
 }
 /*==========================================
 /*==========================================
- * Calculates position of Pet/Mercenary/Homunculus
+ * Calculates position of Pet/Mercenary/Homunculus/Elemental
  *------------------------------------------*/
  *------------------------------------------*/
 int	unit_calc_pos(struct block_list *bl, int tx, int ty, int dir)
 int	unit_calc_pos(struct block_list *bl, int tx, int ty, int dir)
 {
 {
@@ -1706,7 +1705,7 @@ int	unit_calc_pos(struct block_list *bl, int tx, int ty, int dir)
 }
 }
 
 
 /*==========================================
 /*==========================================
- * PCの攻撃 (timer関数)
+ * Continuous Attack (function timer)
  *------------------------------------------*/
  *------------------------------------------*/
 static int unit_attack_timer_sub(struct block_list* src, int tid, unsigned int tick)
 static int unit_attack_timer_sub(struct block_list* src, int tid, unsigned int tick)
 {
 {
@@ -1908,7 +1907,7 @@ int unit_skillcastcancel(struct block_list *bl,int type)
 	return 1;
 	return 1;
 }
 }
 
 
-// unit_data の初期化処理
+// unit_data initialization process
 void unit_dataset(struct block_list *bl)
 void unit_dataset(struct block_list *bl)
 {
 {
 	struct unit_data *ud;
 	struct unit_data *ud;
@@ -1949,7 +1948,7 @@ int unit_fixdamage(struct block_list *src,struct block_list *target,unsigned int
 }
 }
 
 
 /*==========================================
 /*==========================================
- * 見た目のサイズを変更する
+ * To change the size of the char (player or mob only)
  *------------------------------------------*/
  *------------------------------------------*/
 int unit_changeviewsize(struct block_list *bl,short size)
 int unit_changeviewsize(struct block_list *bl,short size)
 {
 {

+ 1 - 1
src/map/vending.c

@@ -279,7 +279,7 @@ void vending_openvending(struct map_session_data* sd, const char* message, bool
 		clif_skill_fail(sd, MC_VENDING, USESKILL_FAIL_LEVEL, 0);
 		clif_skill_fail(sd, MC_VENDING, USESKILL_FAIL_LEVEL, 0);
 		return;
 		return;
 	}
 	}
-
+	//check if nearby npc, (perhaps we should check for nearby shop too
     if( vending_checknearnpc(&sd->bl) ) {
     if( vending_checknearnpc(&sd->bl) ) {
         char output[150];
         char output[150];
         sprintf(output,"You're too close to a NPC, you must be at least %d cells away from any NPC.",battle_config.min_npc_vending_distance);
         sprintf(output,"You're too close to a NPC, you must be at least %d cells away from any NPC.",battle_config.min_npc_vending_distance);

+ 3 - 3
src/map/vending.h

@@ -10,9 +10,9 @@ struct map_session_data;
 struct s_search_store_search;
 struct s_search_store_search;
 
 
 struct s_vending {
 struct s_vending {
-	short index;
-	short amount;
-	unsigned int value;
+	short index; //cart index (return item data)
+	short amount; //amout of the item for vending
+	unsigned int value; //at wich price
 };
 };
 
 
 void vending_closevending(struct map_session_data* sd);
 void vending_closevending(struct map_session_data* sd);

Some files were not shown because too many files changed in this diff