rodecomp/Source/Contents/JobNames.cpp
2026-10-24 00:35:19 +00:00

352 lines
5.2 KiB
C++

#include "Contents/JobNames.h"
// OFFSET: 0x00E2FE80
// FUNCTION: fn_24165
unsigned JobNames::BaseJob(unsigned job) {
switch (job) {
case 13:
case 4199:
return 7;
case 21:
case 4203:
return 14;
case 4014:
case 4200:
return 4008;
case 4022:
case 4204:
return 4015;
case 4036:
case 4207:
return 4030;
case 4044:
case 4210:
return 4037;
case 4080:
case 4088:
case 4090:
case 4092:
case 4094:
case 4202:
return 4054;
case 4081:
case 4089:
case 4091:
case 4093:
case 4095:
return 4060;
case 4082:
case 4201:
return 4066;
case 4083:
return 4073;
case 4084:
case 4198:
return 4056;
case 4085:
return 4062;
case 4086:
case 4197:
return 4058;
case 4087:
return 4064;
case 4109:
case 4209:
return 4096;
case 4110:
case 4208:
return 4102;
case 4111:
case 4206:
return 4098;
case 4112:
case 4205:
return 4100;
case 4114:
return 25;
case 4115:
return 24;
case 4116:
return 1;
case 4117:
return 4049;
case 4118:
return 4011;
case 4119:
return 5;
case 4120:
return 4071;
case 4121:
return 4019;
case 4122:
return 3;
case 4123:
return 4047;
case 4124:
return 0;
case 4125:
return 15;
case 4126:
return 4;
case 4127:
return 4070;
case 4128:
return 23;
case 4129:
return 4057;
case 4130:
return 2;
case 4131:
return 16;
case 4132:
return 4067;
case 4133:
return 4055;
case 4134:
return 9;
case 4135:
return 4017;
case 4136:
return 4010;
case 4137:
return 18;
case 4138:
return 10;
case 4139:
return 4016;
case 4140:
return 4059;
case 4141:
return 6;
case 4142:
return 17;
case 4143:
return 4072;
case 4144:
return 4018;
case 4145:
return 12;
case 4146:
return 4013;
case 4147:
return 20;
case 4148:
return 4068;
case 4149:
return 19;
case 4150:
return 4012;
case 4151:
return 4069;
case 4152:
return 4021;
case 4153:
return 4020;
case 4154:
return 11;
case 4155:
return 4046;
case 4156:
return 8;
case 4157:
return 4009;
case 4158:
return 4023;
case 4159:
return 4024;
case 4160:
return 4025;
case 4161:
return 4026;
case 4162:
return 4027;
case 4163:
return 4028;
case 4164:
return 4034;
case 4165:
return 4035;
case 4166:
return 4038;
case 4167:
return 4039;
case 4168:
return 4040;
case 4169:
return 4041;
case 4170:
return 4042;
case 4171:
return 4043;
case 4172:
return 4045;
case 4173:
return 4097;
case 4174:
return 4099;
case 4175:
return 4101;
case 4176:
return 4103;
case 4177:
return 4104;
case 4178:
return 4105;
case 4179:
return 4106;
case 4180:
return 4107;
case 4181:
return 4029;
case 4182:
return 4108;
case 4183:
return 4001;
case 4184:
return 4002;
case 4185:
return 4003;
case 4186:
return 4004;
case 4187:
return 4005;
case 4188:
return 4006;
case 4189:
return 4007;
case 4192:
return 4190;
case 4193:
return 4191;
case 4194:
return 4031;
case 4195:
return 4032;
case 4196:
return 4033;
case 4213:
return 4211;
case 4214:
return 4212;
case 4216:
return 4215;
case 4219:
return 4218;
case 4221:
return 4220;
case 4230:
return 4222;
case 4231:
return 4223;
case 4232:
return 4224;
case 4233:
return 4225;
case 4234:
return 4226;
case 4235:
return 4227;
case 4236:
return 4228;
case 4237:
return 4229;
case 4245:
return 4239;
case 4246:
return 4240;
case 4247:
return 4241;
case 4248:
return 4242;
case 4265:
case 4280:
return 4252;
case 4266:
case 4279:
return 4253;
case 4267:
return 4254;
case 4268:
return 4255;
case 4269:
return 4256;
case 4270:
case 4278:
return 4257;
case 4271:
case 4281:
return 4258;
case 4272:
return 4259;
case 4273:
return 4260;
case 4274:
return 4261;
case 4275:
return 4262;
case 4276:
return 4263;
case 4277:
return 4264;
case 4309:
return 4302;
case 4310:
return 4303;
case 4311:
return 4304;
case 4312:
return 4305;
case 4313:
return 4306;
case 4314:
return 4307;
case 4315:
return 4308;
case 4358:
return 4351;
case 4359:
return 4353;
case 4360:
return 4355;
default:
return job;
}
}
// OFFSET: 0x00DDE5C0
// FUNCTION: fn_23396
const char* JobNames::Lookup(unsigned job, int sex) {
if (this->names.size() <= job) {
return "";
}
if (job - 4001u > 0x7CEu && job > 30u) {
return this->names[job];
}
const unsigned base = BaseJob(job);
if (sex == -1) {
if (this->cachedSex != this->currentSex) {
this->cachedSex = this->currentSex;
}
sex = this->currentSex;
}
if (sex == 0) {
const auto found = this->female.find(base);
if (found != this->female.end()) {
return found->second;
}
} else if (sex == 1) {
const auto found = this->male.find(base);
if (found != this->male.end()) {
return found->second;
}
}
return this->names[base];
}