Browse Source

* Documented @fontcolor and fixed a related crashing issue. (Hercules 79ab86b)
* Characters now leave all channels upon @autotrade. (Hercules daccb6e)
* Re-enabled two Dewata warps. (bugreport:7454)
* Enabled BS_GREED in PvP/GvG maps. (bugreport:7463)
* Removed some misleading documentation for getrefine() and cardscnt(). (bugreport:7474)

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

euphyy 12 năm trước cách đây
mục cha
commit
1fa24b05a6

+ 6 - 6
db/quest_db.txt

@@ -1668,12 +1668,12 @@
 11162,0,0,0,0,0,0,0,"Story of Rose"
 11163,0,0,0,0,0,0,0,"Story of Bain"
 11164,0,0,0,0,0,0,0,"Story of Lash"
-11165,0,0,0,0,0,0,0,"Delivered to Brian"
-11166,0,0,0,0,0,0,0,"Delivered to John"
-11167,0,0,0,0,0,0,0,"Delivered to Tyler"
-11168,0,0,0,0,0,0,0,"Delivered to Rose"
-11169,0,0,0,0,0,0,0,"Delivered to Bain"
-11170,0,0,0,0,0,0,0,"Delivered to Lash"
+11165,0,0,0,0,0,0,0,"Delivery to Brian"
+11166,0,0,0,0,0,0,0,"Delivery to John"
+11167,0,0,0,0,0,0,0,"Delivery to Tyler"
+11168,0,0,0,0,0,0,0,"Delivery to Rose"
+11169,0,0,0,0,0,0,0,"Delivery to Bain"
+11170,0,0,0,0,0,0,0,"Delivery to Lash"
 11171,0,0,0,0,0,0,0,"Request from Frede"
 11172,0,0,0,0,0,0,0,"Request from Frede"
 11173,0,0,0,0,0,0,0,"Request from Frede"

+ 1 - 2
db/re/skill_nocast_db.txt

@@ -28,7 +28,7 @@
 2455,1	//SO_ARRULLO
 
 //PVP
-1013,2	//BS_GREED
+
 
 //GVG
 26,4	//AL_TELEPORT
@@ -45,7 +45,6 @@
 491,4	//CR_CULTIVATION
 530,4	//NJ_KIRIKAGE
 691,4	//CASH_ASSUMPTIO
-1013,4	//BS_GREED
 2284,4	//SC_FATALMENACE
 2300,4	//SC_DIMENSIONDOOR
 

+ 9 - 1
doc/atcommands.txt

@@ -3,7 +3,7 @@
 //===== By: ==================================================
 //= rAthena Dev Team
 //===== Current Version: =====================================
-//= 20130115
+//= 20130406
 //===== Description: =========================================
 //= List of available atcommands and their functions.
 //============================================================
@@ -112,6 +112,14 @@ Sets client font (0 is the default).
 
 ---------------------------------------
 
+@fontcolor <color_name>
+
+Sets global chat font color.
+If no parameter is given, a list of available colors is displayed.
+All colors are defined in '/conf/channels.conf'.
+
+---------------------------------------
+
 @agitstart
 @agitend
 

+ 6 - 8
doc/script_commands.txt

@@ -2705,21 +2705,19 @@ of 'getinventorylist'.
 
 *cardscnt()
 
-This function will return the number of cards inserted into the weapon currently 
-equipped on the invoking character.
-While this function was meant for item scripts, it will work outside them:
+This function will return the number of cards inserted into the equipment
+from which the function is called.
 
-    if (cardscnt()==4) mes "So you've stuck four cards into that weapon, think you're cool now?";
+This function is intended for use in item scripts.
 
 ---------------------------------------
 
 *getrefine()
 
-This function will return the number of pluses the weapon currently equipped on 
-the invoking character has been refined for.
-While this function was meant for item scripts, it will work outside them:
+This function will return the refine count of the equipment from which the
+function is called.
 
-    if (getrefine()==10) mes "Wow. That's a murder weapon.";
+This function is intended for use in item scripts.
 
 ---------------------------------------
 

+ 2 - 2
npc/re/warps/cities/dewata.txt

@@ -16,7 +16,7 @@
 
 dewata,44,252,0	warp	dewata0001	1,1,dew_fild01,373,212
 dew_fild01,375,212,0	warp	dewata0002	1,1,dewata,46,251
-//dew_fild01,57,273,0	warp	dewata0003	1,1,dew_in01,15,33
-//dew_in01,16,31,0	warp	dewata0004	1,1,dew_fild01,59,273
+dew_fild01,57,273,0	warp	dewata0003	1,1,dew_in01,15,33
+dew_in01,16,31,0	warp	dewata0004	1,1,dew_fild01,59,273
 dew_fild01,48,65,0	warp	dewata0005	1,1,dew_dun02,302,30
 dew_dun02,305,30,0	warp	dewata0006	1,1,dew_fild01,50,65

+ 25 - 1
src/map/atcommand.c

@@ -5584,6 +5584,7 @@ ACMD_FUNC(changelook)
  *------------------------------------------*/
 ACMD_FUNC(autotrade)
 {
+	int i;
 	nullpo_retr(-1, sd);
 
 	if( map[sd->bl.m].flag.autotrade != battle_config.autotrade_mapflag ) {
@@ -5606,6 +5607,29 @@ ACMD_FUNC(autotrade)
 		int timeout = atoi(message);
 		status_change_start(NULL,&sd->bl, SC_AUTOTRADE, 10000, 0, 0, 0, 0, ((timeout > 0) ? min(timeout,battle_config.at_timeout) : battle_config.at_timeout) * 60000, 0);
 	}
+
+	// Leave all chat channels.
+	if( raChSys.ally && sd->status.guild_id ) {
+		struct guild *g = sd->guild, *sg;
+		if( g ) {
+			if( idb_exists(((struct raChSysCh *)g->channel)->users, sd->status.char_id) )
+				clif_chsys_left((struct raChSysCh *)g->channel,sd);
+			for (i = 0; i < MAX_GUILDALLIANCE; i++) {
+				if( g->alliance[i].guild_id && (sg = guild_search(g->alliance[i].guild_id) ) ) {
+					if( idb_exists(((struct raChSysCh *)sg->channel)->users, sd->status.char_id) )
+						clif_chsys_left((struct raChSysCh *)sg->channel,sd);
+					break;
+				}
+			}
+		}
+	}
+	if( sd->channel_count ) {
+		for( i = 0; i < sd->channel_count; i++ ) {
+			if( sd->channels[i] != NULL )
+				clif_chsys_left(sd->channels[i],sd);
+		}
+	}
+
 	clif_authfail_fd(sd->fd, 15);
 
 	return 0;
@@ -8995,7 +9019,7 @@ ACMD_FUNC(channel) {
 
 	return 0;
 }
-/* debug only, delete after */
+
 ACMD_FUNC(fontcolor) {
 	unsigned char k;
 

+ 3 - 2
src/map/clif.c

@@ -263,7 +263,7 @@ uint16 clif_getport(void)
 #if PACKETVER >= 20071106
 static inline unsigned char clif_bl_type(struct block_list *bl) {
 	switch (bl->type) {
-	case BL_PC:    return disguised(bl) && pcdb_checkid(status_get_viewdata(bl)->class_)? 0x1:0x0; //PC_TYPE
+	case BL_PC:    return (disguised(bl) && !pcdb_checkid(status_get_viewdata(bl)->class_))? 0x1:0x0; //PC_TYPE
 	case BL_ITEM:  return 0x2; //ITEM_TYPE
 	case BL_SKILL: return 0x3; //SKILL_TYPE
 	case BL_CHAT:  return 0x4; //UNKNOWN_TYPE
@@ -9877,10 +9877,11 @@ void clif_parse_GlobalMessage(int fd, struct map_session_data* sd)
 		WFIFOHEAD(fd,mylen + 12);
 		WFIFOW(fd,0) = 0x2C1;
 		WFIFOW(fd,2) = mylen + 12;
-		WFIFOL(fd,4) = -sd->bl.id;
+		WFIFOL(fd,4) = sd->bl.id;
 		WFIFOL(fd,8) = raChSys.colors[sd->fontcolor - 1];
 		safestrncpy((char*)WFIFOP(fd,12), mout, mylen);
 		clif_send(WFIFOP(fd,0), WFIFOW(fd,2), &sd->bl, AREA_WOS);
+		WFIFOL(fd,4) = -sd->bl.id;
 		WFIFOSET(fd, mylen + 12);
 		return;
 	}