Selaa lähdekoodia

- Added trade-range check on trade reply.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7377 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex 19 vuotta sitten
vanhempi
commit
da4e89a287
2 muutettua tiedostoa jossa 13 lisäystä ja 1 poistoa
  1. 1 0
      Changelog-Trunk.txt
  2. 12 1
      src/map/trade.c

+ 1 - 0
Changelog-Trunk.txt

@@ -4,6 +4,7 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
 2006/05/28
+	* Added trade-range check on trade start. [Skotlex]
 	* Added inf2 4096 (INF2_ALLOW_ENEMY) which is to be used in conjunction
 	  with INF2_PARTY_ONLY/INF2_GUILD_ONLY when said skill should ALSO be allowed
 	  to be used on enemies. [Skotlex]

+ 12 - 1
src/map/trade.c

@@ -86,7 +86,18 @@ void trade_tradeack(struct map_session_data *sd, int type) {
 		sd->trade_partner=0;
 		return;
 	}
-		
+	
+	//Copied here as well since the original character could had warped.
+	if (type == 3 && pc_isGM(target_sd) < lowest_gm_level && (sd->bl.m != target_sd->bl.m ||
+		 (sd->bl.x - target_sd->bl.x <= -5 || sd->bl.x - target_sd->bl.x >= 5) ||
+		 (sd->bl.y - target_sd->bl.y <= -5 || sd->bl.y - target_sd->bl.y >= 5)))
+  	{
+		sd->trade_partner=0;
+		target_sd->trade_partner = 0;
+		clif_tradestart(sd, 0); // too far
+		return;
+	}
+	
 	clif_tradestart(target_sd, type);
 	clif_tradestart(sd, type);
 	if (type == 4) { // Cancel