Przeglądaj źródła

- Corrected number of water-ball hits when used by mobs and not consuming deluge cells when using lv1 (Thanks to Kyoki).
- cardillust_read_grffile, item_equip_override_grffile, item_slots_override_grffile, and item_name_override_grffile are set to 0 after map-server loads to prevent crashes on item_db reloading.


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

skotlex 19 lat temu
rodzic
commit
0d31063329
2 zmienionych plików z 15 dodań i 4 usunięć
  1. 5 0
      src/map/map.c
  2. 10 4
      src/map/skill.c

+ 5 - 0
src/map/map.c

@@ -3951,6 +3951,11 @@ int do_init(int argc, char *argv[]) {
 		ShowNotice("Server is running on '"CL_WHITE"PK Mode"CL_RESET"'.\n");
 
 	grfio_final(); // Unused after reading all maps.
+	//However, some reload functions still use it,disable them.
+	battle_config.cardillust_read_grffile =
+	battle_config.item_equip_override_grffile =
+	battle_config.item_slots_override_grffile =
+	battle_config.item_name_override_grffile = 0;
 
 	ShowStatus("Server is '"CL_GREEN"ready"CL_RESET"' and listening on port '"CL_WHITE"%d"CL_RESET"'.\n\n", map_port);
 

+ 10 - 4
src/map/skill.c

@@ -2826,14 +2826,20 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl,int s
 		skill_attack(BF_MAGIC,src,src,bl,skillid,skilllv,tick,flag);
 		if (skilllv>1) {
 			int range = skilllv/2;
-			//Rain doesn't affect WATERBALL (Rain has been removed at kRO) [Lupus]
-			//int cnt = (!map[src->m].flag.rain) ? skill_count_water(src,range) - 1 : skill_get_num(skillid,skilllv) - 1;
-			int cnt = (src->type==BL_PC)?skill_count_water(src,range):++range*range;
+			int cnt;
+		  	if (sd)
+				cnt = skill_count_water(src,range);
+			else {
+				range = 2*range+1;
+				cnt = range*range;
+			}
 			cnt--;
 			if (cnt > 0)
 				skill_addtimerskill(src,tick+150,bl->id,0,0,
 					skillid,skilllv,cnt,flag);
-		}
+		} else if (sd) //Eat up deluge tiles.
+			skill_count_water(src,0);
+
 		break;
 
 	case PR_BENEDICTIO:			/* ?¹??~•Ÿ */