Explorar el Código

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

celest hace 20 años
padre
commit
30e628de57
Se han modificado 3 ficheros con 26 adiciones y 9 borrados
  1. 4 1
      Changelog-SVN.txt
  2. 5 0
      conf-tmpl/maps_athena.conf
  3. 17 8
      src/map/skill.c

+ 4 - 1
Changelog-SVN.txt

@@ -1,7 +1,10 @@
 Date	Added
 
 03/08
-        * Speedup inventory and storage saving, thanks to Ilpalazzo-sama [celest]
+        * Fixes Icewall can be directly cast on players and monsters -- also removes
+          the 'unsupported layout' message [celest]
+        * Added the new turbo_room and alde_tt to the maps config [celest]
+        * Speedup SQL inventory and storage saving, thanks to Ilpalazzo-sama [celest]
         * Reverted a jA change in event loading [celest]
 
 03/07

+ 5 - 0
conf-tmpl/maps_athena.conf

@@ -541,6 +541,11 @@ map: yuno_fild09.gat
 map: yuno_fild11.gat
 map: yuno_fild12.gat
 
+// --- Race Arena ---
+// -- 2004-03-08sdata_k.gpf --
+map: alde_tt02.gat
+map: turbo_room.gat
+
 // Ragnarok World Championship 2004
 // Requires: RWC 2004 Client
 // or Akaru's SuperGRF 1.64 or newer

+ 17 - 8
src/map/skill.c

@@ -1692,16 +1692,25 @@ static int skill_check_unit_range2_sub( struct block_list *bl,va_list ap )
 
 int skill_check_unit_range2(int m,int x,int y,int skillid, int skilllv)
 {
-	int c = 0;
-	int range = skill_get_unit_range(skillid);
-	int layout_type = skill_get_unit_layout_type(skillid,skilllv);
-	if (layout_type==-1 || layout_type>MAX_SQUARE_LAYOUT) {
-		printf("skill_check_unit_range2: unsupported layout type %d for skill %d\n",layout_type,skillid);
-		return 0;
+	int c = 0, range;
+	
+	switch (skillid) {	// to be expanded later
+	case WZ_ICEWALL:
+		range = 2;
+		break;
+	default:
+		{
+			int layout_type = skill_get_unit_layout_type(skillid,skilllv);
+			if (layout_type==-1 || layout_type>MAX_SQUARE_LAYOUT) {
+				printf("skill_check_unit_range2: unsupported layout type %d for skill %d\n",layout_type,skillid);
+				return 0;
+			}
+			// とりあえず正方形のユニットレイアウトのみ対応
+			range = skill_get_unit_range(skillid) + layout_type;
+		}
+		break;
 	}
 
-	// とりあえず正方形のユニットレイアウトのみ対応
-	range += layout_type;
 	map_foreachinarea(skill_check_unit_range2_sub,m,
 			x-range,y-range,x+range,y+range,0,&c,skillid);