Parcourir la source

Fixed pc_checkskill in pre-renewal (#6438)

Fixes #6433

Thanks to @Shaktohh and @aleos89
Lemongrass3110 il y a 3 ans
Parent
commit
9a27cb6a51
1 fichiers modifiés avec 9 ajouts et 0 suppressions
  1. 9 0
      src/map/pc.cpp

+ 9 - 0
src/map/pc.cpp

@@ -6579,7 +6579,16 @@ uint8 pc_checkskill(struct map_session_data *sd, uint16 skill_id)
 	uint16 idx = 0;
 	if (sd == NULL)
 		return 0;
+
+#ifdef RENEWAL
 	if ((idx = skill_get_index(skill_id)) == 0) {
+#else
+	if( ( idx = skill_get_index_( skill_id, skill_id >= RK_ENCHANTBLADE, __FUNCTION__, __FILE__, __LINE__ ) ) == 0 ){
+		if( skill_id >= RK_ENCHANTBLADE ){
+			// Silently fail for now -> future update planned
+			return 0;
+		}
+#endif
 		ShowError("pc_checkskill: Invalid skill id %d (char_id=%d).\n", skill_id, sd->status.char_id);
 		return 0;
 	}