summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--src/map/npc.c4
-rw-r--r--src/map/pc.c19
3 files changed, 7 insertions, 18 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 94e03953d..112862186 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -5,6 +5,8 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2008/06/18
* Added a fix for refresh properly displaying dead and sitting players. [SketchyPhoenix]
+ * Fixed basilica behavior not knocking back monsters 2 cells should one attempt to enter the field.
+ * Fixed cash shop not using points to make up the cash difference when purchasing an item.
2008/06/17
* Forgot to commit source modification from r12833 (Updated Novice grounds.) [L0ne_W0lf]
2008/06/16
diff --git a/src/map/npc.c b/src/map/npc.c
index 1a888cd24..52adadf29 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -1091,9 +1091,7 @@ int npc_cashshop_buy(struct map_session_data *sd, int nameid, int amount, int po
if( points > price )
points = price;
- if( sd->cashPoints < price - points )
- return 6;
- if( sd->kafraPoints < points )
+ if( (sd->kafraPoints < points) || (sd->cashPoints < price - points) )
return 6;
pc_paycash(sd, price, points);
diff --git a/src/map/pc.c b/src/map/pc.c
index 643863ea6..2b2ef3a83 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -2816,21 +2816,10 @@ void pc_paycash(struct map_session_data *sd, int price, int points)
int cash = price - points;
nullpo_retv(sd);
- if( cash > 0 )
- {
- pc_setaccountreg(sd,"#CASHPOINTS",sd->cashPoints - cash);
-
- sprintf(output, "Used %d cash points. %d points remaining.", cash, sd->cashPoints);
- clif_disp_onlyself(sd, output, strlen(output));
- }
-
- if( points > 0 )
- {
- pc_setaccountreg(sd,"#KAFRAPOINTS",sd->kafraPoints - points);
-
- sprintf(output, "Used %d kafra points. %d points remaining.", points, sd->kafraPoints);
- clif_disp_onlyself(sd, output, strlen(output));
- }
+ pc_setaccountreg(sd,"#CASHPOINTS",sd->cashPoints - cash);
+ pc_setaccountreg(sd,"#KAFRAPOINTS",sd->kafraPoints - points);
+ sprintf(output, "Used %d kafra points and %d cash points. %d kafra and %d cash points remaining.", points, cash, sd->kafraPoints, sd->cashPoints);
+ clif_disp_onlyself(sd, output, strlen(output));
}
void pc_getcash(struct map_session_data *sd, int cash, int points)