summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--src/map/clif.c5
-rw-r--r--src/map/mail.c10
-rw-r--r--src/map/mail.h1
-rw-r--r--src/map/status.c2
5 files changed, 20 insertions, 1 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index c30f7990b..69c67e0b6 100644
--- a/Changelog-Trunk.txt
+++ b/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
diff --git a/src/map/clif.c b/src/map/clif.c
index f9ba58156..6974f7426 100644
--- a/src/map/clif.c
+++ b/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;
diff --git a/src/map/mail.c b/src/map/mail.c
index a08d04c0d..8c80412a9 100644
--- a/src/map/mail.c
+++ b/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);
diff --git a/src/map/mail.h b/src/map/mail.h
index bea33d3af..7940018b8 100644
--- a/src/map/mail.h
+++ b/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);
diff --git a/src/map/status.c b/src/map/status.c
index c4cca766a..c56a764a1 100644
--- a/src/map/status.c
+++ b/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: