Jelajahi Sumber

- Fixed a visual itemdupple bug on mail system.
- Fixed Overthrusth status cannot being recalled at same skill lvl.

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

zephyrus 17 tahun lalu
induk
melakukan
825d214242
5 mengubah file dengan 20 tambahan dan 1 penghapusan
  1. 3 0
      Changelog-Trunk.txt
  2. 5 0
      src/map/clif.c
  3. 10 0
      src/map/mail.c
  4. 1 0
      src/map/mail.h
  5. 1 1
      src/map/status.c

+ 3 - 0
Changelog-Trunk.txt

@@ -3,6 +3,9 @@ Date	Added
 AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
+2008/01/06
+	* Fixed a visual itemdupple bug on mail system.
+	- Fixed Overthrush status cannot being recalled at same skill lvl.
 2008/01/04
 	* Fixed a mistake in r11991 that let knockback work through walls
 	* Modified the map_setcell() code to to use a boolean flag instead of

+ 5 - 0
src/map/clif.c

@@ -7048,6 +7048,9 @@ int clif_message(struct block_list* bl, const char* msg)
 int clif_refresh(struct map_session_data *sd)
 {
 	nullpo_retr(-1, sd);
+
+	mail_clear(sd);
+
 	clif_changemap(sd,sd->mapindex,sd->bl.x,sd->bl.y);
 	clif_inventorylist(sd);
 	if(pc_iscarton(sd)) {
@@ -7688,6 +7691,8 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
 		return;
 	}
 
+	mail_clear(sd);
+
 	if (sd->state.rewarp)
   	{	//Rewarp player.
 		sd->state.rewarp = 0;

+ 10 - 0
src/map/mail.c

@@ -20,6 +20,16 @@ time_t mail_calctimes(void)
 	return mktime(localtime(&temp));
 }
 
+void mail_clear(struct map_session_data *sd)
+{
+	sd->mail.nameid = 0;
+	sd->mail.index = 0;
+	sd->mail.amount = 0;
+	sd->mail.zeny = 0;
+
+	return;
+}
+
 int mail_removeitem(struct map_session_data *sd, short flag)
 {
 	nullpo_retr(0,sd);

+ 1 - 0
src/map/mail.h

@@ -8,6 +8,7 @@
 
 time_t mail_calctimes(void);
 
+void mail_clear(struct map_session_data *sd);
 int mail_removeitem(struct map_session_data *sd, short flag);
 int mail_removezeny(struct map_session_data *sd, short flag);
 unsigned char mail_setitem(struct map_session_data *sd, int idx, int amount);

+ 1 - 1
src/map/status.c

@@ -4925,7 +4925,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
 			case SC_ADRENALINE2:
 			case SC_WEAPONPERFECTION:
 			case SC_OVERTHRUST:
-				if (sce->val2 > val2)
+				if (sce->val1 > val1)
 					return 0;
 			break;
 			case SC_HPREGEN: