summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt4
-rw-r--r--src/map/atcommand.c16
-rw-r--r--src/map/mob.c4
-rw-r--r--src/map/npc.c10
4 files changed, 25 insertions, 9 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 7f53464ac..bc82c0fe2 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -3,6 +3,10 @@ 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.
2006/04/24
+ * Cleaned up @grind2, @monsterbig, @monstersmall. [Skotlex]
+ * Modified override_mobs_names to work only on the mob spawn files instead
+ of everywhere (so now script-summoned mobs should keep their custom names
+ intact) [Skotlex]
* Added logging of deleted characters when the char_log is enabled.
[Skotlex]
* Fixed skill_delayfix not altering delay at all after you reached 150.
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index e0b066d66..d09db40b9 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -3532,7 +3532,7 @@ int atcommand_monstersmall(
my = sd->bl.y + (rand() % 11 - 5);
else
my = y;
- count += (mob_once_spawn((struct map_session_data*)sd, "this", mx, my, name, mob_id+MAX_MOB_DB, 1, "") != 0) ? 1 : 0;
+ count += (mob_once_spawn((struct map_session_data*)sd, "this", mx, my, name, mob_id, 1, "2") != 0) ? 1 : 0;
}
if (count != 0)
@@ -3609,7 +3609,7 @@ int atcommand_monsterbig(
my = sd->bl.y + (rand() % 11 - 5);
else
my = y;
- count += (mob_once_spawn((struct map_session_data*)sd, "this", mx, my, name, mob_id+2*MAX_MOB_DB, 1, "") != 0) ? 1 : 0;
+ count += (mob_once_spawn((struct map_session_data*)sd, "this", mx, my, name, mob_id, 1, "4") != 0) ? 1 : 0;
}
if (count != 0)
@@ -7526,12 +7526,14 @@ int
atcommand_grind2(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
- int i, x, y, id;
+ int i;
+ short x, y;
- for (i = 1000; i <2000; i++) {
- x = sd->bl.x + (rand() % 10 - 5);
- y = sd->bl.y + (rand() % 10 - 5);
- id = mob_once_spawn(sd, "this", x, y, "--ja--", i, 1, "");
+ for (i = 1000; i < MAX_MOB_DB; i++) {
+ if (!mobdb_checkid(i))
+ continue;
+ map_search_freecell(&sd->bl, 0, &x, &y, 5, 5, 0);
+ mob_once_spawn(sd, "this", x, y, "--ja--", i, 1, "");
}
return 0;
diff --git a/src/map/mob.c b/src/map/mob.c
index c9b969b44..5e960b4fa 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -174,9 +174,9 @@ int mob_parse_dataset(struct spawn_data *data) {
if (!data->level)
data->level = mob_db(data->class_)->lv;
- if(battle_config.override_mob_names==1 || strcmp(data->name,"--en--")==0)
+ if(strcmp(data->name,"--en--")==0)
strncpy(data->name,mob_db(data->class_)->name,NAME_LENGTH-1);
- else if(battle_config.override_mob_names==2 || strcmp(data->name,"--ja--")==0)
+ else if(strcmp(data->name,"--ja--")==0)
strncpy(data->name,mob_db(data->class_)->jname,NAME_LENGTH-1);
return 1;
diff --git a/src/map/npc.c b/src/map/npc.c
index 038c2804c..92d36d9c4 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -2175,7 +2175,17 @@ int npc_parse_mob (char *w1, char *w2, char *w3, char *w4)
return 1;
}
+ //Use db names instead of the spawn file ones.
+ if(battle_config.override_mob_names==1)
+ strcpy(mob.name,"--en--");
+ else if (battle_config.override_mob_names==2)
+ strcpy(mob.name,"--ja--");
+ else
+ strncpy(data->name,mob_db(data->class_)->jname,NAME_LENGTH-1);
+
+
strncpy(mob.name, mobname, NAME_LENGTH-1);
+
if (!mob_parse_dataset(&mob)) //Verify dataset.
return 1;