Ai approved
This commit is contained in:
parent
5507487234
commit
8115aa1503
9 changed files with 239 additions and 20 deletions
|
|
@ -445,7 +445,8 @@ UnitRangePanel._setRangeData= function() {
|
|||
if (isWeapon & 2) {
|
||||
this._simulator_wand.startSimulationWeapon(this._unit, mov, startRange, endRange);
|
||||
}
|
||||
var unit = getActorByName3('シャルロット') || getActorByName3('Charlotte');
|
||||
var unit = getActorByName3('シャルロット') || getActorByName3('Charlotte') ||
|
||||
getActorByName3('シャルロ') || getActorByName3('Char');
|
||||
this._simulatorOrder.startSimulationWeapon(unit, 0, 1, 3);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -326,7 +326,8 @@ BaseMessageView._setupIllustImage = function(messageViewParam) {
|
|||
unit3 = getActor1(unit);
|
||||
}
|
||||
this._isAlpha = true;
|
||||
if (unit.getName() == 'Giacomo' || unit.getName() == 'Karla' || unit.getName() == 'Karla') {
|
||||
if (unit.getName() == 'Giacomo' || unit.getName() == 'ジャコモ' || unit.getName() == 'Giac' ||
|
||||
unit.getName() == 'Karla' || unit.getName() == 'カーラ' || unit.getName() == 'Karl') {
|
||||
this._isAlpha = false;
|
||||
}
|
||||
this._unit = unit;
|
||||
|
|
@ -437,26 +438,37 @@ function getNameByVal(name) {
|
|||
if (name.indexOf('_') > 1) {
|
||||
name = name.substr(0, name.indexOf('_'));
|
||||
}
|
||||
// Handle numbered variants (e.g., "Char1" -> "Char", "Lena2" -> "Lena")
|
||||
if (name.length > 1 && name.match(/[0-9]$/)) {
|
||||
name = name.substr(0, name.length - 1);
|
||||
}
|
||||
switch (name) {
|
||||
case 'シャルロット': return 1;
|
||||
case 'Charlotte': return 1;
|
||||
case 'シャルロ': return 1;
|
||||
case 'Char': return 1;
|
||||
case 'コルネ': return 2;
|
||||
case 'Corne': return 2;
|
||||
case 'Corn': return 2;
|
||||
case 'レナ': return 3;
|
||||
case 'Lena': return 3;
|
||||
case 'ルリエル': return 4;
|
||||
case 'Luriel': return 4;
|
||||
case 'Luri': return 4;
|
||||
case 'カエデ': return 5;
|
||||
case 'Kaede': return 5;
|
||||
case 'Kaed': return 5;
|
||||
case 'カーラ': return 6;
|
||||
case 'Karla': return 6;
|
||||
case 'Karla': return 6;
|
||||
case 'Karl': return 6;
|
||||
case 'アンジェラ': return 7;
|
||||
case 'Angela': return 7;
|
||||
case 'クリス': return 7;
|
||||
case 'Chris': return 7;
|
||||
case 'Chri': return 7;
|
||||
case 'シェリー': return 8;
|
||||
case 'Sherry': return 8;
|
||||
case 'Sher': return 8;
|
||||
case 'メル': return 9;
|
||||
case 'Mel': return 9;
|
||||
case 'ティナ': return 10;
|
||||
|
|
@ -465,10 +477,18 @@ function getNameByVal(name) {
|
|||
case 'Lou': return 11;
|
||||
case 'サリア': return 12;
|
||||
case 'Saria': return 12;
|
||||
case 'Sari': return 12;
|
||||
//case 'ジャコモ': return 13;
|
||||
//case 'Giacomo': return 13;
|
||||
case 'タバサ': return 14;
|
||||
case 'Tabatha': return 14;
|
||||
case 'Taba': return 14;
|
||||
case 'ダレス': return 15;
|
||||
case 'Dalles': return 15;
|
||||
case 'Dall': return 15;
|
||||
case 'ジャコモ': return 16;
|
||||
case 'Giacomo': return 16;
|
||||
case 'Giac': return 16;
|
||||
default: return -1;
|
||||
}
|
||||
}
|
||||
|
|
@ -610,7 +630,7 @@ BaseMessageView.isNakad = function() {
|
|||
var valId = this._getValId();
|
||||
var swId = valId * 10 + 5;
|
||||
|
||||
if (this._name == 'Luriel' || this._name == 'ルリエル') {
|
||||
if (this._name == 'Luriel' || this._name == 'ルリエル' || this._name == 'Luri') {
|
||||
return false;
|
||||
}
|
||||
if (root.getCurrentSession() == null) {
|
||||
|
|
@ -623,10 +643,10 @@ BaseMessageView.isNakad = function() {
|
|||
return true;
|
||||
}
|
||||
if (root.getMetaSession().getGlobalSwitchTable().isSwitchOn(153)) {
|
||||
if (this._name == 'Giacomo' || this._name == 'ジャコモ') {
|
||||
if (this._name == 'Giacomo' || this._name == 'ジャコモ' || this._name == 'Giac') {
|
||||
return false;
|
||||
}
|
||||
if (this._name == 'Karla' || this._name == 'Karla' || this._name == 'カーラ') {
|
||||
if (this._name == 'Karla' || this._name == 'カーラ' || this._name == 'Karl') {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -76,12 +76,43 @@ function getActor1(unit) {
|
|||
}
|
||||
} else {
|
||||
var list = root.getBaseData().getPlayerList();
|
||||
var name = unit.getName();
|
||||
|
||||
// Strip suffix after underscore
|
||||
if (name.indexOf('_') > 1) {
|
||||
name = name.substr(0, name.indexOf('_'));
|
||||
}
|
||||
// Strip trailing numbers
|
||||
if (name.length > 1 && name.match(/[0-9]$/)) {
|
||||
name = name.substr(0, name.length - 1);
|
||||
}
|
||||
|
||||
// Map full English names to abbreviated forms
|
||||
switch(name) {
|
||||
case 'Charlotte': name = 'Char'; break;
|
||||
case 'Corne': name = 'Corn'; break;
|
||||
case 'Lena': name = 'Lena'; break;
|
||||
case 'Luriel': name = 'Luri'; break;
|
||||
case 'Kaede': name = 'Kaed'; break;
|
||||
case 'Karla': name = 'Karl'; break;
|
||||
case 'Chris': name = 'Chri'; break;
|
||||
case 'Sherry': name = 'Sher'; break;
|
||||
case 'Mel': name = 'Mel'; break;
|
||||
case 'Tina': name = 'Tina'; break;
|
||||
case 'Lou': name = 'Lou'; break;
|
||||
case 'Saria': name = 'Sari'; break;
|
||||
case 'Tabatha': name = 'Taba'; break;
|
||||
case 'Dalles': name = 'Dall'; break;
|
||||
case 'Giacomo': name = 'Giac'; break;
|
||||
}
|
||||
|
||||
// For Japanese names, truncate to 4 chars
|
||||
if (name.length > 4) {
|
||||
name = name.substr(0, 4);
|
||||
}
|
||||
|
||||
for (var i = 0; i < list.getCount(); i++) {
|
||||
var u = list.getData(i);
|
||||
var name = unit.getName();
|
||||
if (name.length > 4) {
|
||||
name = name.substr(0, 4);
|
||||
}
|
||||
if ((name + '1') == u.getName()) {
|
||||
actor1Map[unit.getId()] = u;
|
||||
return u;
|
||||
|
|
@ -140,12 +171,43 @@ function getActor2(unit) {
|
|||
}
|
||||
} else {
|
||||
var list = root.getBaseData().getPlayerList();
|
||||
var name = unit.getName();
|
||||
|
||||
// Strip suffix after underscore
|
||||
if (name.indexOf('_') > 1) {
|
||||
name = name.substr(0, name.indexOf('_'));
|
||||
}
|
||||
// Strip trailing numbers
|
||||
if (name.length > 1 && name.match(/[0-9]$/)) {
|
||||
name = name.substr(0, name.length - 1);
|
||||
}
|
||||
|
||||
// Map full English names to abbreviated forms
|
||||
switch(name) {
|
||||
case 'Charlotte': name = 'Char'; break;
|
||||
case 'Corne': name = 'Corn'; break;
|
||||
case 'Lena': name = 'Lena'; break;
|
||||
case 'Luriel': name = 'Luri'; break;
|
||||
case 'Kaede': name = 'Kaed'; break;
|
||||
case 'Karla': name = 'Karl'; break;
|
||||
case 'Chris': name = 'Chri'; break;
|
||||
case 'Sherry': name = 'Sher'; break;
|
||||
case 'Mel': name = 'Mel'; break;
|
||||
case 'Tina': name = 'Tina'; break;
|
||||
case 'Lou': name = 'Lou'; break;
|
||||
case 'Saria': name = 'Sari'; break;
|
||||
case 'Tabatha': name = 'Taba'; break;
|
||||
case 'Dalles': name = 'Dall'; break;
|
||||
case 'Giacomo': name = 'Giac'; break;
|
||||
}
|
||||
|
||||
// For Japanese names, truncate to 4 chars
|
||||
if (name.length > 4) {
|
||||
name = name.substr(0, 4);
|
||||
}
|
||||
|
||||
for (var i = 0; i < list.getCount(); i++) {
|
||||
var u = list.getData(i);
|
||||
var name = unit.getName();
|
||||
if (name.length > 4) {
|
||||
name = name.substr(0, 4);
|
||||
}
|
||||
if ((name + '2') == u.getName()) {
|
||||
actor2Map[unit.getId()] = u;
|
||||
return u;
|
||||
|
|
@ -229,6 +291,35 @@ function getSearchName(unit) {
|
|||
if (name.indexOf('_') > 1) {
|
||||
name = name.substr(0, name.indexOf('_'));
|
||||
}
|
||||
|
||||
// Handle numbered variants (e.g., remove trailing numbers)
|
||||
if (name.length > 1 && name.match(/[0-9]$/)) {
|
||||
name = name.substr(0, name.length - 1);
|
||||
}
|
||||
|
||||
// Map full English names to abbreviated forms
|
||||
switch(name) {
|
||||
case 'Charlotte': return 'Char';
|
||||
case 'Corne': return 'Corn';
|
||||
case 'Lena': return 'Lena';
|
||||
case 'Luriel': return 'Luri';
|
||||
case 'Kaede': return 'Kaed';
|
||||
case 'Karla': return 'Karl';
|
||||
case 'Chris': return 'Chri';
|
||||
case 'Sherry': return 'Sher';
|
||||
case 'Mel': return 'Mel';
|
||||
case 'Tina': return 'Tina';
|
||||
case 'Lou': return 'Lou';
|
||||
case 'Saria': return 'Sari';
|
||||
case 'Tabatha': return 'Taba';
|
||||
case 'Dalles': return 'Dall';
|
||||
case 'Giacomo': return 'Giac';
|
||||
case 'Angela': return 'Ange';
|
||||
case 'Carlos': return 'Carl';
|
||||
case 'Majid': return 'Maji';
|
||||
}
|
||||
|
||||
// For Japanese names and already-abbreviated names, truncate to 4 chars
|
||||
if (name.length > 4) {
|
||||
name = name.substr(0, 4);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -316,26 +316,41 @@ function getNameByValEroStatus(name) {
|
|||
}
|
||||
|
||||
function getNameByVal2(name) {
|
||||
// Strip suffix after underscore for variants
|
||||
if (name.indexOf('_') > 1) {
|
||||
name = name.substr(0, name.indexOf('_'));
|
||||
}
|
||||
// Handle numbered variants (e.g., "Char1" -> "Char", "Lena2" -> "Lena")
|
||||
if (name.length > 1 && name.match(/[0-9]$/)) {
|
||||
name = name.substr(0, name.length - 1);
|
||||
}
|
||||
switch (name) {
|
||||
case 'シャルロット': return 1;
|
||||
case 'Charlotte': return 1;
|
||||
case 'シャルロ': return 1;
|
||||
case 'Char': return 1;
|
||||
case 'コルネ': return 2;
|
||||
case 'Corne': return 2;
|
||||
case 'Corn': return 2;
|
||||
case 'レナ': return 3;
|
||||
case 'Lena': return 3;
|
||||
case 'ルリエル': return 4;
|
||||
case 'Luriel': return 4;
|
||||
case 'Luri': return 4;
|
||||
case 'カエデ': return 5;
|
||||
case 'Kaede': return 5;
|
||||
case 'Kaed': return 5;
|
||||
case 'カーラ': return 6;
|
||||
case 'Karla': return 6;
|
||||
case 'Karla': return 6;
|
||||
case 'Karl': return 6;
|
||||
case 'アンジェラ': return 7;
|
||||
case 'Angela': return 7;
|
||||
case 'クリス': return 7;
|
||||
case 'Chris': return 7;
|
||||
case 'Chri': return 7;
|
||||
case 'シェリー': return 8;
|
||||
case 'Sherry': return 8;
|
||||
case 'Sher': return 8;
|
||||
case 'メル': return 9;
|
||||
case 'Mel': return 9;
|
||||
case 'ティナ': return 10;
|
||||
|
|
@ -344,10 +359,13 @@ function getNameByVal2(name) {
|
|||
case 'Lou': return 11;
|
||||
case 'サリア': return 12;
|
||||
case 'Saria': return 12;
|
||||
case 'Sari': return 12;
|
||||
case 'ダレス': return -1;
|
||||
case 'Dalles': return -1;
|
||||
case 'Dall': return -1;
|
||||
case 'タバサ': return 14;
|
||||
case 'Tabatha': return 14;
|
||||
case 'Taba': return 14;
|
||||
default: return -1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,8 @@ CharacterScreen.drawDictionaryImage = function(obj) {
|
|||
x += 70;
|
||||
y -= 100;
|
||||
var actor = getActorByName2(obj.getName());
|
||||
if (actor.getName() != 'シャルロット' && actor.getName() != 'Charlotte') {
|
||||
if (actor.getName() != 'シャルロット' && actor.getName() != 'Charlotte' &&
|
||||
actor.getName() != 'シャルロ' && actor.getName() != 'Char') {
|
||||
x -= 70;
|
||||
}
|
||||
drawImage(actor.getCharIllustImage(19), x, y);
|
||||
|
|
|
|||
|
|
@ -15,11 +15,14 @@ function upEroCount() {
|
|||
switch (unit.getName()) {
|
||||
case 'シャルロット':
|
||||
case 'Charlotte':
|
||||
case 'シャルロ':
|
||||
case 'Char':
|
||||
nakaMin = 5;
|
||||
nakaMax = 15;
|
||||
break;
|
||||
case 'コルネ':
|
||||
case 'Corne':
|
||||
case 'Corn':
|
||||
break;
|
||||
case 'レナ':
|
||||
case 'Lena':
|
||||
|
|
@ -28,14 +31,17 @@ function upEroCount() {
|
|||
break;
|
||||
case 'カエデ':
|
||||
case 'Kaede':
|
||||
case 'Kaed':
|
||||
break;
|
||||
case 'クリス':
|
||||
case 'Chris':
|
||||
case 'Chri':
|
||||
nakaMax = 3;
|
||||
analMin = 0;
|
||||
analMax = 0;
|
||||
case 'シェリー':
|
||||
case 'Sherry':
|
||||
case 'Sher':
|
||||
break;
|
||||
case 'メル':
|
||||
case 'Mel':
|
||||
|
|
@ -51,11 +57,13 @@ function upEroCount() {
|
|||
break;
|
||||
case 'サリア':
|
||||
case 'Saria':
|
||||
case 'Sari':
|
||||
analMin = 10;
|
||||
analMax = 20;
|
||||
break;
|
||||
case 'タバサ':
|
||||
case 'Tabatha':
|
||||
case 'Taba':
|
||||
break;
|
||||
}
|
||||
var valId = val * 10 + 6;
|
||||
|
|
|
|||
|
|
@ -23,41 +23,60 @@ function sortUnit() {
|
|||
|
||||
|
||||
function getSortIndex(unit) {
|
||||
switch(unit.getName()) {
|
||||
var name = unit.getName();
|
||||
// Strip suffix after underscore for variants
|
||||
if (name.indexOf('_') > 1) {
|
||||
name = name.substr(0, name.indexOf('_'));
|
||||
}
|
||||
// Handle numbered variants (e.g., "Char1" -> "Char", "Lena2" -> "Lena")
|
||||
if (name.length > 1 && name.match(/[0-9]$/)) {
|
||||
name = name.substr(0, name.length - 1);
|
||||
}
|
||||
switch(name) {
|
||||
case 'シャルロット': return 1;
|
||||
case 'Charlotte': return 1;
|
||||
case 'シャルロ': return 1;
|
||||
case 'Char': return 1;
|
||||
case 'レナ': return 2;
|
||||
case 'Lena': return 2;
|
||||
case 'アンジェラ': return 3;
|
||||
case 'Angela': return 3;
|
||||
case 'クリス': return 3;
|
||||
case 'Chris': return 3;
|
||||
case 'Chri': return 3;
|
||||
case 'コルネ': return 5;
|
||||
case 'Corne': return 5;
|
||||
case 'Corn': return 5;
|
||||
|
||||
case 'ルリエル': return 4;
|
||||
case 'Luriel': return 4;
|
||||
case 'Luri': return 4;
|
||||
case 'カーラ': return 6;
|
||||
case 'Karla': return 6;
|
||||
case 'Karla': return 6;
|
||||
case 'Karl': return 6;
|
||||
case 'サリア': return 7;
|
||||
case 'Saria': return 7;
|
||||
case 'Sari': return 7;
|
||||
|
||||
case 'メル': return 12;
|
||||
case 'Mel': return 12;
|
||||
case 'シェリー': return 13;
|
||||
case 'Sherry': return 13;
|
||||
case 'Sher': return 13;
|
||||
case 'ルゥ': return 14;
|
||||
case 'Lou': return 14;
|
||||
case 'タバサ': return 15;
|
||||
case 'Tabatha': return 15;
|
||||
case 'Taba': return 15;
|
||||
case 'カエデ': return 16;
|
||||
case 'Kaede': return 16;
|
||||
case 'Kaed': return 16;
|
||||
case 'ティナ': return 17;
|
||||
case 'Tina': return 17;
|
||||
|
||||
case 'ダレス': return 90;
|
||||
case 'Dalles': return 90;
|
||||
case 'Dall': return 90;
|
||||
case 'マジード': return 91;
|
||||
case 'Majid': return 91;
|
||||
case 'カルロス': return 92;
|
||||
|
|
|
|||
|
|
@ -654,27 +654,42 @@ function getActorSyusanCount(name) {
|
|||
}
|
||||
|
||||
function getActorChokyoId(name) {
|
||||
// Strip suffix after underscore for variants
|
||||
if (name.indexOf('_') > 1) {
|
||||
name = name.substr(0, name.indexOf('_'));
|
||||
}
|
||||
// Handle numbered variants (e.g., "Char1" -> "Char", "Lena2" -> "Lena")
|
||||
if (name.length > 1 && name.match(/[0-9]$/)) {
|
||||
name = name.substr(0, name.length - 1);
|
||||
}
|
||||
switch (name) {
|
||||
|
||||
case 'シャルロット': return 6;
|
||||
case 'Charlotte': return 6;
|
||||
case 'シャルロ': return 6;
|
||||
case 'Char': return 6;
|
||||
case 'コルネ': return 1;
|
||||
case 'Corne': return 1;
|
||||
case 'Corn': return 1;
|
||||
case 'レナ': return 2;
|
||||
case 'Lena': return 2;
|
||||
case 'ルリエル': return -1;
|
||||
case 'Luriel': return -1;
|
||||
case 'Luri': return -1;
|
||||
case 'カエデ': return 82;
|
||||
case 'Kaede': return 82;
|
||||
case 'Kaed': return 82;
|
||||
case 'カーラ': return -1;
|
||||
case 'Karla': return -1;
|
||||
case 'Karla': return -1;
|
||||
case 'Karl': return -1;
|
||||
case 'アンジェラ': return 7;
|
||||
case 'Angela': return 7;
|
||||
case 'クリス': return 7;
|
||||
case 'Chris': return 7;
|
||||
case 'Chri': return 7;
|
||||
case 'シェリー': return 0;
|
||||
case 'Sherry': return 0;
|
||||
case 'Sher': return 0;
|
||||
case 'メル': return 8;
|
||||
case 'Mel': return 8;
|
||||
case 'ティナ': return 10;
|
||||
|
|
@ -683,10 +698,13 @@ function getActorChokyoId(name) {
|
|||
case 'Lou': return 5;
|
||||
case 'サリア': return 9;
|
||||
case 'Saria': return 9;
|
||||
case 'Sari': return 9;
|
||||
case 'ジャコモ': return -1;
|
||||
case 'Giacomo': return -1;
|
||||
case 'Giac': return -1;
|
||||
case 'タバサ': return 79;
|
||||
case 'Tabatha': return 79;
|
||||
case 'Taba': return 79;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -579,6 +579,13 @@ QuestDetailWindow.setQuestData = function(quest) {
|
|||
this._equipView._illustId = 3;
|
||||
var actorName = this._quest.custom.actorName || 'シャルロット';
|
||||
var unit = getActorByName(actorName);
|
||||
|
||||
// If unit not found, don't proceed
|
||||
if (!unit) {
|
||||
root.log('Warning: Could not find actor with name: ' + actorName);
|
||||
return;
|
||||
}
|
||||
|
||||
var messageViewParam = {unit: unit};
|
||||
|
||||
if (this._equipView._name == actorName) {
|
||||
|
|
@ -639,14 +646,50 @@ QuestScreen.drawScreenBottomText = function(textui) {
|
|||
};
|
||||
|
||||
function getActorByName(name) {
|
||||
// Map Japanese names to their English equivalents
|
||||
var nameMap = {
|
||||
'シャルロット': 'Charlotte',
|
||||
'シャルロ': 'Char',
|
||||
'コルネ': 'Corne',
|
||||
'レナ': 'Lena',
|
||||
'ルリエル': 'Luriel',
|
||||
'カエデ': 'Kaede',
|
||||
'カーラ': 'Karla',
|
||||
'クリス': 'Chris',
|
||||
'アンジェラ': 'Angela',
|
||||
'シェリー': 'Sherry',
|
||||
'メル': 'Mel',
|
||||
'ティナ': 'Tina',
|
||||
'ルゥ': 'Lou',
|
||||
'サリア': 'Saria',
|
||||
'タバサ': 'Tabatha',
|
||||
'ジャコモ': 'Giacomo',
|
||||
'ダレス': 'Dalles',
|
||||
'マジード': 'Majid',
|
||||
'カルロス': 'Carlos'
|
||||
};
|
||||
|
||||
var list = root.getBaseData().getPlayerList();
|
||||
|
||||
// First try exact match
|
||||
for (var i = 0; i < list.getCount(); i++) {
|
||||
var u = list.getData(i);
|
||||
|
||||
if (name == u.getName()) {
|
||||
return u;
|
||||
}
|
||||
}
|
||||
|
||||
// If no exact match, try mapped name (Japanese to English)
|
||||
var mappedName = nameMap[name];
|
||||
if (mappedName) {
|
||||
for (var i = 0; i < list.getCount(); i++) {
|
||||
var u = list.getData(i);
|
||||
if (mappedName == u.getName()) {
|
||||
return u;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue