summaryrefslogtreecommitdiff
path: root/src/map/npc-parse.cpp
diff options
context:
space:
mode:
authorFedja Beader <fedja@protonmail.ch>2025-01-24 10:46:23 +0000
committerThorbjørn Lindeijer <bjorn@lindeijer.nl>2025-01-24 10:46:23 +0000
commit2ff2618f8c9a970d1822d5e376fdb67249f63c16 (patch)
treef3c1895c1bb98d49424911ba9d85c7ada9d7bd5f /src/map/npc-parse.cpp
parenteb623dc14cb90273fc3dbe0e3987f84142bfca53 (diff)
downloadtmwa-master.tar.gz
tmwa-master.tar.bz2
tmwa-master.tar.xz
tmwa-master.zip
Access mob_db array only once (same for dropitem)HEADmaster
Note: there were some checks before mob.cpp:3743 that I think applied on empty memory? Plus I moved the std::move right at the end of that loop. I'm not too familiar with move mechanics but it seems to work. YMMV. Approved-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
Diffstat (limited to 'src/map/npc-parse.cpp')
-rw-r--r--src/map/npc-parse.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/map/npc-parse.cpp b/src/map/npc-parse.cpp
index df1a09a..c6564fb 100644
--- a/src/map/npc-parse.cpp
+++ b/src/map/npc-parse.cpp
@@ -273,15 +273,16 @@ bool npc_load_monster(ast::npc::Monster& monster)
md->bl_m = m;
md->bl_x = x;
md->bl_y = y;
- MobName expected = get_mob_db(mob_class).jname;
+ const mob_db_& mob_info = get_mob_db(md->mob_class);
+ MobName expected = mob_info.jname;
if (monster.name.data != expected)
{
monster.name.span.warning(STRPRINTF("Visible label/jname should match: %s"_fmt, expected));
}
if (monster.name.data == ENGLISH_NAME)
- md->name = get_mob_db(mob_class).name;
+ md->name = mob_info.name;
else if (monster.name.data == JAPANESE_NAME)
- md->name = get_mob_db(mob_class).jname;
+ md->name = mob_info.jname;
else
md->name = monster.name.data;