From ac0261e807d352714ddf77be4351c037e0ed98a0 Mon Sep 17 00:00:00 2001 From: skotlex Date: Wed, 2 Aug 2006 21:14:38 +0000 Subject: - Rewrote pc_payzeny to not use doubles, it may more accurately prevent charging a player more zeny than they can withhold. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8072 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/pc.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/map/pc.c') diff --git a/src/map/pc.c b/src/map/pc.c index b312c796f..674b63973 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -2516,16 +2516,17 @@ int pc_inventoryblank(struct map_session_data *sd) */ int pc_payzeny(struct map_session_data *sd,int zeny) { - double z; - nullpo_retr(0, sd); if(sd->state.finalsave) return 1; - z = (double)sd->status.zeny; - if(sd->status.zeny MAX_ZENY) - return 1; + if (zeny > 0 && sd->status.zeny < zeny) + return 1; //Not enough. + + if (zeny < 0 && sd->status.zeny > MAX_ZENY +zeny) + return 1; //Overflow + sd->status.zeny-=zeny; clif_updatestatus(sd,SP_ZENY); -- cgit v1.2.3-70-g09d2