瀏覽代碼

Removed the undocumented custom level feature from monster spawn lines (bugreport:3076).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13772 54d463be-8e91-2dee-dedb-b68131a5f0ec
ultramage 16 年之前
父節點
當前提交
4acc0932f2
共有 5 個文件被更改,包括 6 次插入18 次删除
  1. 3 0
      Changelog-Trunk.txt
  2. 0 1
      src/map/map.h
  3. 0 5
      src/map/mob.c
  4. 2 7
      src/map/npc.c
  5. 1 5
      src/map/status.c

+ 3 - 0
Changelog-Trunk.txt

@@ -2,6 +2,9 @@ Date	Added
 
 AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
+
+09/05/15
+	* Removed the undocumented custom level feature from monster spawn lines (bugreport:3076) [ultramage]
 09/05/13
 	* Fixed combo wait was not canceled when TK's Kick skill was successfully used. (bugreport:1345) [Inkfish]
 	* PNEUMA, BASILICA and SAFETYWALL no longer protect you from such negative status changes as COMA, STUN, FREEZE and etc. (bugreport:1346) [Inkfish]

+ 0 - 1
src/map/map.h

@@ -243,7 +243,6 @@ struct spawn_data {
 	signed short xs,ys;
 	unsigned short num; //Number of mobs using this structure
 	unsigned short active; //Number of mobs that are already spawned (for mob_remove_damaged: no)
-	unsigned int level; //Custom level.
 	unsigned int delay1,delay2; //Min delay before respawning after spawn/death
 	struct {
 		unsigned size :2; //Holds if mob has to be tiny/large

+ 0 - 5
src/map/mob.c

@@ -191,8 +191,6 @@ int mob_parse_dataset(struct spawn_data *data)
 				memmove(data->eventname, data->eventname+1, i-1);
 		}
 	}
-	if (!data->level)
-		data->level = mob_db(data->class_)->lv;
 
 	if(strcmp(data->name,"--en--")==0)
 		strncpy(data->name,mob_db(data->class_)->name,NAME_LENGTH-1);
@@ -221,8 +219,6 @@ struct mob_data* mob_spawn_dataset(struct spawn_data *data)
 		md->special_state.size = data->state.size;
 	if (data->eventname[0] && strlen(data->eventname) >= 4)
 		memcpy(md->npc_event, data->eventname, 50);
-	md->level = data->level;
-
 	if(md->db->status.mode&MD_LOOTER)
 		md->lootitem = (struct item *)aCalloc(LOOTITEM_SIZE,sizeof(struct item));
 	md->spawn_timer = INVALID_TIMER;
@@ -2706,7 +2702,6 @@ int mob_summonslave(struct mob_data *md2,int *value,int amount,int skill_id)
 		else
 			strcpy(data.name,"--ja--");
 
-		data.level = 0;
 		if (!mob_parse_dataset(&data))
 			continue;
 		

+ 2 - 7
src/map/npc.c

@@ -2478,9 +2478,8 @@ void npc_parse_mob2(struct spawn_data* mob)
 
 static const char* npc_parse_mob(char* w1, char* w2, char* w3, char* w4, const char* start, const char* buffer, const char* filepath)
 {
-	int level, num, class_, mode, x,y,xs,ys, i,j;
+	int num, class_, mode, x,y,xs,ys, i,j;
 	char mapname[32];
-	char mobname[128];
 	struct spawn_data mob, *data;
 	struct mob_db* db;
 
@@ -2564,10 +2563,6 @@ static const char* npc_parse_mob(char* w1, char* w2, char* w3, char* w4, const c
 		mob.delay2 = mob.delay2/100*battle_config.mob_spawn_delay;
 	}
 
-	// parse MOB_NAME,[MOB LEVEL]
-	if (sscanf(w3, "%127[^,],%d", mobname, &level) > 1)
-		mob.level = level;
-
 	if(mob.delay1>0xfffffff || mob.delay2>0xfffffff) {
 		ShowError("npc_parse_mob: wrong monsters spawn delays : %s %s (file '%s', line '%d').\n", w3, w4, filepath, strline(buffer,start-buffer));
 		return strchr(start,'\n');// skip and continue
@@ -2579,7 +2574,7 @@ static const char* npc_parse_mob(char* w1, char* w2, char* w3, char* w4, const c
 	else if (battle_config.override_mob_names==2)
 		strcpy(mob.name,"--ja--");
 	else
-		strncpy(mob.name, mobname, NAME_LENGTH-1);
+		safestrncpy(mob.name, w3, sizeof(mob.name));
 
 	//Verify dataset.
 	if( !mob_parse_dataset(&mob) )

+ 1 - 5
src/map/status.c

@@ -1351,7 +1351,6 @@ void status_calc_misc(struct block_list *bl, struct status_data *status, int lev
 
 //Skotlex: Calculates the initial status for the given mob
 //first will only be false when the mob leveled up or got a GuardUp level.
-//first&2: Class-change invoked.
 int status_calc_mob(struct mob_data* md, int first)
 {
 	struct status_data *status;
@@ -1360,10 +1359,7 @@ int status_calc_mob(struct mob_data* md, int first)
 
 	if(first)
 	{	//Set basic level on respawn.
-		if (md->spawn && !(first&2))
-		  	md->level = md->spawn->level;
-		else
-			md->level = md->db->lv; // [Valaris]
+		md->level = md->db->lv;
 	}
 
 	//Check if we need custom base-status