// OMORI patch mod for more russian language support such as changing UI // positions and sizes, translating hardcorded texts, and russian layout of // virtual keyboard (OMORI 1.0.8). // Patched & bundled by hat_kid. For OMORI RUS mod. https://vk.com/omori_ru // ============================================================================ // Patches for plugin: Omori Title Screen // ============================================================================ Scene_OmoriTitleScreen.prototype.createTitleCommands = function() { // Initialize Title Comands this._titleCommands = []; // Text Array var textList = LanguageManager.getMessageData("XX_BLUE.Omori_Title_Screen").commands // Get Center X Position var centerX = 20; // Go Through Text Array var previous_width = 0; for (var i = 0; i < textList.length; i++) { // Get Text var text = textList[i]; // Create Window var win = new Window_OmoTitleScreenBox(text); // Set Wnidow Position win.x = centerX + previous_width; previous_width += win.width + 15; win.y = Graphics.height //(Graphics.height - win.height) - 22 // Select Window if (i === this._commandIndex) { win.select(0)} // Add window to title Commands this._titleCommands[i] = win; this.addChild(win) }; // Set Continue text this._titleCommands[1].setText(textList[1], this._canContinue); }; // ============================================================================ // Patches for plugin: Omori Main Menu // ============================================================================ // Line: 261, Original item spacing: 12 Window_MenuCommand.prototype.spacing = function () { return -4; }; // ============================================================================ // Patches for plugin: Omori Main Menu - Scene Skill // ============================================================================ // Line: 773, Original window width: 115 Window_OmoMenuSkillEquipControl.prototype.windowWidth = function () { return 190; }; // ============================================================================ // Patches for plugin: Omori Main Menu - Scene Item // ============================================================================ // Line: 829, Original window width: 115 Window_OmoMenuItemConfirmation.prototype.windowWidth = function() { return 170; }; // ============================================================================ // Patches for plugin: Omori Save & Load // ============================================================================ Window_OmoriFileInformation.prototype.refresh = function() { // Clear Contents this.contents.clear(); // Get Color var color = 'rgba(255, 255, 255, 1)'; // Get ID var id = this._index + 1; var valid = DataManager.isThisGameFile(id); var info = DataManager.loadSavefileInfo(id); // Draw Lines this.contents.fillRect(0, 29, this.contents.width, 3, color); for (var i = 0; i < 3; i++) { var y = 55 + (i * 25) this.contents.fillRect(113, y, this.contents.width - 117, 1, color); }; // Draw File this.contents.fontSize = LanguageManager.getMessageData("XX_BLUE.Window_OmoriFileInformation").refresh_contents_fontsize; let loc_position = LanguageManager.getMessageData("XX_BLUE.Window_OmoriFileInformation").file_position this.contents.drawText(LanguageManager.getMessageData("XX_BLUE.Omori_Save_Load").file.format(id), loc_position[0], loc_position[1], 100, this.contents.fontSize); // If Valid if (valid) { loc_position = LanguageManager.getMessageData("XX_BLUE.Window_OmoriFileInformation").refresh_drawText_position; let chap = LanguageManager.getMessageData("XX_BLUE.Chapter_Names")[info.chapter] if(!chap) { chap = info.chapter } this.contents.drawText(chap, loc_position[0] + 14, loc_position[1], this.contents.width, this.contents.fontSize); this.contents.fontSize = 28; let backBitmap = ImageManager.loadSystem('faceset_states'); let width = backBitmap.width / 4; let height = backBitmap.height / 5; // this.contents.blt(backBitmap, 0, 0, width, height, 0, 34, width + 10, height); this.contents.blt(backBitmap, 0, 0, width, height, 1, 33); // Get Actor var actor = info.actorData // Draw Actor Face let bit = ImageManager.loadFace(actor.faceName); bit.addLoadListener(() => this.drawFace(actor.faceName, actor.faceIndex, -2, this.contents.height - Window_Base._faceHeight + 7, Window_Base._faceWidth, height - 2)); // Draw Actor Name this.contents.fontSize = 24; this.contents.drawText(actor.name, 118, 30, 100, 24); // Draw Level loc_position = LanguageManager.getMessageData("XX_BLUE.Window_OmoriFileInformation").level_position; this.contents.drawText(LanguageManager.getMessageData("XX_BLUE.Omori_Save_Load").level, loc_position[0] - 25, loc_position[1], 100, 24); this.contents.drawText(actor.level, loc_position[0], loc_position[1], 70, 24, 'right'); // Draw Total PlayTime loc_position = LanguageManager.getMessageData("XX_BLUE.Window_OmoriFileInformation").playtime_position; this.contents.drawText(LanguageManager.getMessageData("XX_BLUE.Omori_Save_Load").playtime, 118, 55, 200, 24); this.contents.drawText(info.playtime, loc_position[0], loc_position[1], 100, 24); // Draw Location this.contents.drawText(LanguageManager.getMessageData("XX_BLUE.Omori_Save_Load").location, 118, 80, 200, 24); this.contents.drawText(info.location, 205, 80, 210, 24, 'right'); }; // Draw Border this.contents.fillRect(102, 32, 3, 102, 'rgba(255, 255, 255, 1)') this.contents.fillRect(0, 29, 108, 3, 'rgba(255, 255, 255, 1)') }; // For compatibility with 1.0.7 and lower versions. Scene_OmoriFile.prototype.onSelectInputOk = function() { // Get Index var index = this._commandWindow.index(); // Get Save File ID var saveFileid = this.savefileId(); // If Save if (index === 0) { // If File Exists if (StorageManager.exists(saveFileid)) { // Show Prompt Window this.showPromptWindow('Переписать этот файл?'); // Set Can select Flag to false this._canSelect = false; } else { // Save The Game this.saveGame(); }; } else { // If File Exists if (StorageManager.exists(saveFileid)) { // Show Prompt Window this.showPromptWindow('Загрузить файл?'); // Set Can select Flag to false this._canSelect = false; } else { // Play Buzzer Sound SoundManager.playBuzzer(); }; }; }; Window_OmoriFileCommand.prototype.makeCommandList = function () { this.addCommand("СОХРАНИТЬ", 'save', this._canSave); this.addCommand("ЗАГРУЗИТЬ", 'load', this._canLoad); }; Window_OmoriFilePrompt.prototype.makeCommandList = function () { this.addCommand("ДА", 'ok'); this.addCommand("НЕТ", 'cancel'); }; Window_OmoriFileCommand.prototype.initialize = function() { // Original window X position: 42 Window_Command.prototype.initialize.call(this, 20, 28); this.setupFile(true, true); }; // Line: 677, Original window width: 119 Window_OmoriFileCommand.prototype.windowWidth = function () { return 160; }; // Line: 683, Original cursor rect X-offset: 40 Window_OmoriFileCommand.prototype.customCursorRectTextXOffset = function() { return 35; }; // ============================================================================ // Patches for plugin: Omori BlackLetterMap // ============================================================================ Sprite_OmoBlackLetterMap.prototype.createOverlaySprites = function() { // Create Overlay Bitmap var bitmap = new Bitmap(Graphics.width, Graphics.height); // Get Background Bitmap var bgBitmap = ImageManager.loadAtlas('blackLetter_map_atlas'); var bgBitmap50 = ImageManager.loadAtlas('blackLetter_map_50_atlas'); // Get Map Data bgBitmap.addLoadListener(() => { bgBitmap50.addLoadListener(() => { var mapData = [ {name: 'ЛЕС СВЕТЛЯЧКОВ', namePos: new Point(80, 195), rect: new Rectangle(0, 0, 193, 139), pos: new Point(111, 103), blackSwitchId: 23, nameSwitchId: 30, blackSwitch50Id: 900 }, // {name: 'Forgotten Pier', namePos: new Point(200, 27), rect: new Rectangle(194, 0, 155, 120), pos: new Point(225, 52), blackSwitchId: 21, nameSwitchId: 29 }, {name: 'ЛЕС ВЕРТУШЕК', namePos: new Point(440, 240), rect: new Rectangle(350, 0, 99, 107), pos: new Point(471, 128), blackSwitchId: 24, nameSwitchId: 31, blackSwitch50Id: 901 }, {name: 'ДЕРЕВНЯ РОСТОКРОТОВ', namePos: new Point(25, 340), rect: new Rectangle(450, 0, 94, 80), pos: new Point(54, 267), blackSwitchId: 25, nameSwitchId: 32, blackSwitch50Id: 902 }, {name: 'БЕСКРАЙНИЙ ЛЕС', namePos: new Point(250, 300), rect: new Rectangle(0, 124, 640, 201), pos: new Point(-2, 143), blackSwitchId: 26, nameSwitchId: 33, blackSwitch50Id: 903 }, {name: 'ГЛУБОКИЙ КОЛОДЕЦ', namePos: new Point(450, 355), rect: new Rectangle(0, 326, 418, 113), pos: new Point(119, 366), blackSwitchId: 27, nameSwitchId: 34, blackSwitch50Id: 904 }, {name: 'АПЕЛЬСИНОВЫЙ ОАЗИС', namePos: new Point(20, 55), rect: new Rectangle(545, 0, 122, 102), pos: new Point(31, 85), blackSwitchId: 28, nameSwitchId: 35, blackSwitch50Id: 905 }, {name: 'ВНЕЗЕМЕЛЬЕ', namePos: new Point(450, 75), rect: new Rectangle(419, 326, 140, 209), pos: new Point(390, 21), blackSwitchId: 29, nameSwitchId: 36, blackSwitch50Id: 906 }, ] // Initialize Name Windows Array this._nameWindows = []; // Create Container for Name Windows this._nameWindowsContainer = new Sprite(); // Go Through Map Data for (var i = 0; i < mapData.length; i++) { // Get Data var data = mapData[i]; // Get Rect & Position var rect = data.rect, pos = data.pos; var test = Math.randomInt(100) > 50; // If Black switch ID is not on /*if (!$gameSwitches.value(data.blackSwitchId)) { if (!$gameSwitches.value(data.blackSwitch50Id)) { // Draw Black onto Bitmap bitmap.blt(bgBitmap50, rect.x, rect.y, rect.width, rect.height, pos.x, pos.y); } else { } };*/ //if(!!$gameSwitches.value(data.blackSwitchId)) {bitmap.blt(bgBitmap, rect.x, rect.y, rect.width, rect.height, pos.x, pos.y);} //else if(!!$gameSwitches.value(data.blackSwitch50Id)) {bitmap.blt(bgBitmap50, rect.x, rect.y, rect.width, rect.height, pos.x, pos.y);} if(!!$gameSwitches.value(data.blackSwitch50Id)) {bitmap.blt(bgBitmap, rect.x, rect.y, rect.width, rect.height, pos.x, pos.y);} else { if(!$gameSwitches.value(data.blackSwitchId)) { bitmap.blt(bgBitmap50, rect.x, rect.y, rect.width, rect.height, pos.x, pos.y); } } // Get Name Position var namePos = data.namePos; var name = $gameSwitches.value(data.nameSwitchId) ? data.name : "???" // Create Window var win = new Window_OmoBlackLetterMapName(name); // Set Window Position win.x = namePos.x; win.y = namePos.y; this._nameWindows.push(win); this._nameWindowsContainer.addChild(win); }; // Create Black Overlay Sprite this._blackOverlay = new Sprite(bitmap); this.addChild(this._blackOverlay) // Add Name Window container as a child this.addChild(this._nameWindowsContainer); this.createTextCounterSprite(); }) }) }; // ============================================================================ // Patches for plugin: YIN_OmoriFixes // ============================================================================ Game_System = class extends Game_System { initialize() { super.initialize(); this._badWords = [ // Bad words should be all lowercase! // Bad Words "спид","анал","анус","зад","жопа","попа","яйца","шары","чурка","козёл","сюка","сучка","сука", "минет","грудь","стояк","сиська","бум","груди","головка","рак","сиси","клит","клитор","кокаин","член", "коитус","комми","презик","презерватив","кам","кумер","хуила","дерьмо","промежность","конча","пизда","чёрт","ебырь", "ёбырь","пенис","дилдо","дилф","дилфа","нарк","тупой","сучий","enema","стояк","эскимо","блядун","бля","блять", "гей","гомик","голубой","гук","гипси","сиськи","долбоёб","героин","герпес","вич","шлюха","дыра","гомо","honk", "ссань","хорни","херня","идиот","инцест","хер","яп","выдроч","еврей","киска","конча","хуец","качок", "клоун","тварь","шмара","киллер","убийца","кинк","ккк","алкаш","koon","жигало","нахуй","нахер","kunt", "лесбиянка","лесбо","лоли","лсд","смазка","линч","мамка","мет","милфа","милф","molest","мама","mong","придурок", "muff","дегенерат","ебанат","нацист","маньяк","муслим","наци","негра","негро","н1г","черножопый","нег","сосок", "ниггер","чёрный","черный","говнюк","гнида","орал","чернокожий","оргии","оргия","узкоглазый","казах","узбек","паки", "трусы","трусики","п3нис","п3н1с","чл3н","извр","извра","ебан","ёбаный","моча","прыщ","м0ча","плейбой","pocha", "пидрила","пидор","поляк","порн","кака","порно","пи3да","пи3д4","дрочила","пися","писька","пидарас","педераст","квир", "quim","расист","ебанько","пендос","изнасилование","насильник","ректум","простата","краснокожий","даун","патау","reject", "отсталый","ссака","пиздец","корень","срака","русский","срань","шизик","писос","шиз","сволочь","screw","scrotum", "scrub","семя","секс","похуй","срал","срёт","кусок","пердёж","пердак","раб","славянин","потаскуха","пердун","содомит","сопля", "содом","пика","хуйня","сперма","яйцо","трах","стриптиз","стрип","яичко","суицид","сифилис","тампон","недоумок", "сись","террорист","хуй","дурак","целка","титя","туалет","tramp","транс","транни","троян","паскуда","высер","twink", "урина","матка","вагина","вагинальный","вибратор","девственник","рвота","вульва","wank","weenie","пипи","влажный", "whigger","виски","белый","урод","стукач","друг","willy","мудак","шзнх","втф","чмо","xtc","ххх","янки", "yid","zigabo","фембой","фэмбой","хуе","ебло","ебли","еблан","еба","е6ло","е6ли","е6лан","е6а","нефор","фашист", "залуп","уёб","уё6","уеб","уе6","струя","взъебщик","взъебка","взъеб","взьеб","какиш","кукиш","сасун","сосун", "сосня","сося","соснут","посос","подсос","мудень","автограф","ебл","ёбл","е6л","ё6л","ёбар","ебар","ё6ар","е6ар", "агрегат","акробат","кринж","хуель","хуёль","ёбаной","ебаной","армячок","афедрон","пассив","актив","девка", "дефка","деффка","дефффка","деввка","девввка","беспиздая","бздение","бзднул","бздёж","бзданул","бздеть","бздея", "бздун","бздык","бздюх","биатлон","бикса","шмара","блуд","блядво","блядство","блядеха","блядина","блядище", "блядки","блядо","блядов","говно","гавно","залупа","давалка","петух","мудила","рукоблуд","ссанина","очко", "ебланище","влагалище","пёрдун","туз","малафья","пилотка","манда","путана","педрила","шалава","мошонка","елда", "раунд","бляди","пизд","блядьмо","блядюга","блядюра","блядюш","блядюшка","бляха","бордель","сперм","буденовка", "будёновка","буден","будён","хуеверт","хуёверт","хуевёрт","хуёвёрт","коксак","глори","холл","хол","буль", "бульда","бульза","буфер","капот","вакхан","бункер","вафлист","вдуть","хуеглот","хуёглот","хуйка","вендетта", "вендета","версаль","вжоп","вздроч","вагин","защеку","за щеку","педек","вислозад","вислозадый","висюлька","всос", "сасный","вманде","манде","манду","вмандить","мудозвон","мандошка","вмандошить","мандош","выебат","мандоха", "мандюрить","мандюря","мандяка","мандя","мандяха","мудоха","пиздит","пиздошка","пиздушка","пиздошки","ляха", "гурукакашек","аппендикс","апендикс","апндкс","пиздюк","пиздрон","впиздувсё","пиздярить","пиздяр","пиздяка", "уретра","ректал","суходроч","эрот","этти","бака","косоёб","косоеб","сосоеб","сосоёб","унитаз","пасс","акт", "конеёб","коноеб","коноёб","котоёб","котоеб","неегр","нееегр","неееегр","неегры","нееегры","охуярок","укурок", "хуяка","хуякать","хуякивание","обхуярный","хуярить","бамбамбам","бамбам","бамбамба","детей","дитей","дура", "вебкам","выебон","глист","кишка","пиздякаться","гончар","кончар","минетчик","минетить","кунилингусить", "ссаный","санный","ссанный","саньё","ссаньё","ссанье","санье","обсер","обсёр","срундель","сруль","хуёво","хуево", "трахарь","голый","одетый","харя","хач","говёный","говённый","говеный","говенный","говнец","гавёный","гавённый", "гавеный","гавенный","гавнец","генерал","глиномес","глотать","говниться","гавниться","говняц","гавняц","писичк", "сисичк","попочк","говнодав","говножуй","говноёб","говномер","говномес","говносерка","говнякаться","голожоп", "страпон","дилдос","анальныйвыдроч","девство","додик","додек","додроч","джигит","дешовка","дешевка","дилда", "доебон","дойка","дойки","долданьё","долданье","долдарь","долдать","писюн","писюнчик","усрал","усрался","охуеть", "ахуеть","нихуя","ебанатик","ебатория","ебариш","ебаришко","смекта","виагра","ебена","еби","какаха","ебёнтъ", "ебентъ","ебистос","ёбкая","еблематика","еблематик","еблом","ёбнутый","ебота","ебня","еботина","еботня","ёбс", "ебс","ебун","ебти","ебукентий","ебур","жирнозадый","жопища","жопенция","жопень","жопоёб","жопник","жопочка", "журло","журня","заглот","заглотик","бомж","заеб","заёба","заеба","заёб","заебать","пердеж","запор","засеря", "засос","засирать","затруха","херотень","хуетень","захуень","злоебучий","уёбище","уебище","факю","фак ю","фак-ю", "фак_ю","импотент","инвалид","хуесос","лох", // Names "обри","бэзил","банди","ленин","гектор","хиро","гитлер","крутозуб","цзинь","кел","ким чен","маленький","мари", "базиль","осама","плутон","полли","путин","потрошитель","рококо","сталин","трамп","зодиак","тесак","мюнхен", "сваста","свастик","свастон","зиг","хаиль","поттхаст","гимлер","геббельс","геринг","гиммлер","гебельс", "геббльс","гебльс","гибельс","гиббльс","гибльс","герринг","чубайс","чвк","редан","рёдан","вангер","раден", "солдат","воен","войн","хохлы","хохол","русня","свин","рейх","скотина","монашка","манашка","крым","украина", "либераха","либераст","либираст","америка","россия","цыган","цацка","циган","монеточка","фем-бой","фем_бой", "фем бой","фэм-бой","фэм_бой","фэм бой","суси","сусси","трансфем","трансфэм","траснмаск","лгбт","квиры","квирка", "транси","дуров","рунет","копро","стрелок","зоофил","некро","педо","борат","барат","брат","сестра","мскр","пупс", "пушкин","лермонтов","багиль","багель","бэгель","бабиль","бэбиль","бобиль","фуфел","мамонт","попк","иисус", "христос","господ","свят","библия","мать","отец","отчим","баба","дед","дядя","тётя","тетя","папа","дочка","сын", "кун","калл","кал","трансформ","негодяй","простофиля","срунгель","голубок","гонорея","сосок","сосочек","гузно", "гузноеб","грызло","гузноёб","гузнотёр","гузнотер","спиногрыз","даваха","дама","колхоз","сексист","феминист", "анархист","пацифист","нудист","тупой","военком","тусы","панцу","бомб","ирак","убил","ядерка","меф","мефедрон", "мефедр","батюшк","батя","дохлый","дристун","конопля","поллюция","полюция","полиция","фурри","фури","эбало", "ебало","заэбало","муж","жена","дети","мандавошка","миллиция","милиция","какать","какаш","дрыщ", // Foreign Language Bad Words "курва","puta","куколд","mierda","pendejo","нигга","нибба","трап","perra","faggot","dilldoe","blacky","pniss", "байден","омори", ]; } } Window_OmoriInputLetters.prototype.onNameOk = function() { // Get Text var text = this._nameWindow.name(); // If Text Length is more than 0 if (text.length > 0) { if(text.toLowerCase() === "омокэт") { $gameSystem.unlockAchievement("YOU_THINK_YOU_RE_CLEVER_HUH") } if (new RegExp($gameSystem._badWords.join("|")).test(text.toLowerCase())) { // YIN - Bad words check this.playBuzzerSound(); return; } this.deactivate(); this.close(); this._nameWindow.close(); if (_TDS_.NameInput.params.nameVariableID > 0) { $gameVariables.setValue(_TDS_.NameInput.params.nameVariableID, text); }; } else { this.playBuzzerSound(); }; }; // ============================================================================ // OMORI RUS mod specific: Bad ending movie cover switcher. // Switches between Russian cover and original cover of My Time by Bo En. // ============================================================================ (function() { var _ConfigManager_makeData = ConfigManager.makeData; ConfigManager.makeData = function() { var config = _ConfigManager_makeData.apply(this, arguments); config.rusCoverInBadEnding = this.rusCoverInBadEnding; return config; }; var _ConfigManager_applyData = ConfigManager.applyData; ConfigManager.applyData = function(config) { _ConfigManager_applyData.apply(this, arguments); if (config['rusCoverInBadEnding'] === undefined) this.rusCoverInBadEnding = true; else this.rusCoverInBadEnding = this.readFlag(config, 'rusCoverInBadEnding'); }; Window_OmoMenuOptionsGeneral.prototype.processOptionCommand = function() { // Get Index var index = this.index(); // Get Data var data = this._optionsList[index]; // Switch Case Index switch (index) { case 0: // Screen Resolution // Set Width & Height Yanfly.Param.ScreenWidth = 640 * (data.index + 1); Yanfly.Param.ScreenHeight = 480 * (data.index + 1) ; SceneManager._screenWidth = Yanfly.Param.ScreenWidth; SceneManager._screenHeight = Yanfly.Param.ScreenHeight; // SceneManager._boxWidth = Yanfly.Param.ScreenWidth; // SceneManager._boxHeight = Yanfly.Param.ScreenHeight Yanfly.updateResolution(); Yanfly.moveToCenter(); //window.moveTo(x, y); // Set Config Manager Screen Resolution ConfigManager.screenResolution = data.index; break; case 1: // Fullscreen // Set data Index //data.index === 0 ? Graphics._requestFullScreen() : Graphics._cancelFullScreen(); // Set config manager Full screen state ConfigManager.fullScreen = data.index === 0 ? true : false; this._processDelay = 20; //Input.update(); break; case 2: ConfigManager.gamepadTips = data.index === 0 ? false : true; if(SceneManager._scene instanceof Scene_OmoriTitleScreen) { SceneManager._scene.refreshCommandHints(); // Refresh command title hints; } break; case 3: ConfigManager.textSkip = data.index === 0 ? true : false; break; //case 3: ConfigManager.battleAnimations = data.index === 0 ? true : false ;break; //case 4: ConfigManager.battleAnimationSpeed = data.index ;break; case 4: ConfigManager.battleLogSpeed = data.index; ;break; case 5: ConfigManager.alwaysDash = data.index === 0 ? true : false ;break; // OMORI RUS mod specific: case 6: ConfigManager.rusCoverInBadEnding = data.index === 0 ? true : false; break; }; }; })(); // ============================================================================ // Patches for plugin: GTP_OmoriFixes // ============================================================================ Gamefall.OmoriFixes = Gamefall.OmoriFixes || {}; (function($) { Yanfly.BEC.BattleManager_processTurn = function() { var subject = this._subject; var action = subject.currentAction(); if (action) { action.prepare(); if (action.isValid()) { this.startAction(); } else { //=================================== // Addon for checking JUICE if(DataManager.isSkill(action.item())) { if(subject.mp < action.item().mpCost) { this._logWindow.push("addText", subject.name().toUpperCase() + " не хватает СОКА!"); this._logWindow.push("wait"); } } //=================================== } subject.removeCurrentAction(); } else { subject.onAllActionsEnd(); this.refreshStatus(); this._logWindow.displayAutoAffectedStatus(subject); this._logWindow.displayCurrentState(subject); this._logWindow.displayRegeneration(subject); this._subject = this.getNextSubject(); } } $.Print_Something_Txt = function() { const path = require("path"); const fs = require("fs") const os = require("os"); var base = path.dirname(process.mainModule.filename); var deskDir = `${base}/`; NativeFunctions.writeExternalFileUTF8(deskDir + `___для_${$gameActors.actor(8).name()}___.txt`, `............. ... ............................... ..... ............. ..... .. ........... . .. . . .. ... . .. .. ... . .. ........... .. . . . OOZZZZZO . .. ... ... . .. ... ........... .. .OZZZZZZZZZZZZZO, . . .. .. . . ............. .. . . . ZZZZZZZZZZZZZZZZZZZZO.... ... ... ... ... ... ... .. ............. ... ... ?ZZZZZZZZZZZZZZZZZZZZZZZMMZO...... ........ ......... .................... MZZZZZZZZZZZZZZZZZZZZZZZZZZZMZZZ ......................... ..... . .........MMMZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ........................ . . ....... OZZMMZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ$...................... . . .......ZZZOMMMMMMMMMZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ .................... . . . ......NZZMNMMMMMMMMMMNNZZMMMNMOMMOM8ZZZZZZZZZZZZZZI................... . . . ......OMZZZMMMMMMMMMMMMMZZZMMMMMMZZMZZZZZZZZZZZZZZZZ................... .. ... .. ....MZZZOMMMMMMMMMMMMMMZNMMMMMMMZMMZZZZZZZZZZZZZZZZZ, ................ .............MMZMZZZZMMMMZMMMMMMMMMMZZMMMMMZZZZZZZZMZZMOZZZMMZZ~................ .. . ..=MMZMMMZMZZMZOMMMMMMMMMMMMMMMMZZZZZZZZZZZZMOZMMMMZZZ................ ............MOMZNOOOMMMMZZDONMMMMMMMMMMMOOZZMDZOZOMOZZNNNMMMMMMOZ~.............. . . . .ZMMMZZZZMZZZMMMDMMMMMMMMMMMMMMZZZZZMDOZMZOMMMZMOMZMZZZZ ............. . .. . MZMMZZZMZZZOZOZZZMOMMMMMMMMMZZZMMMMZZ8MMMMMMZZMZZMZMMZZZZ............. ..........ZMZZOZOZZZMZZMZZDONMMMMMMMMM.,OMMMZZMMMMMMMMMMMMMMMMMMMZZ ............ . . ZMOMZOMOMMMMZZMMZDOMOOMMMOMM=.. ,MMMMMMMMMMMZMMMZMMMMMMMMZI............ .. ... ZOMMMMMMMMMMMMZOZMDO8ZMMOMMMZ.....MMMMMMMMMMMMMMMMMMMMMMMMOZ............ ........ZZMMZMMMMMMZZMMZZMMMMZMMMMMM,. ...IMMMMMMMMMMMMMMMMMMMMMMMMZ$........... .......8ZZMMMMMMMOMMZZMMZZZZZMMMMMM7.......IMMMMMMMMMMMMMMMMMMMMMMMOZ........... . .... O8DMMDDDZZMMOODOZZZDZDDDZMD~.........MMMMMMMMMMMMMMMMMMMMMMMMD........... . ..MMZOMMMOMZZMMZZMMZZOZZMMMZMZ:.........,MMMMMMMMMMMMMMMMMMMMMMMMO ......... ..... MNZZZZZMMZZMOZZZZZZZDZZZZMZM. .........OMMMMMMMMMMMMMMMMMMMMMMOM ......... ......MNZZZZZZZZZ8NZZZZNZZ8ZZZNM8~. .........~MMMMMMMM8M8ZMMMMMMMMMMM8 ......... .....MMNZZZZZZZZMZMOMMONOMMZOMZZ..............~MMMMMMZMOMMZMMZMZOMMMMMZ......... ....IMMMDDZZZZDZDDMZDMMMMMNDDMOZ...............=MMDDZMDZ8DOZZZZZZZDMDMM ........ ....MMMZZMZZZZMMMMMMMMMOMZMMMZM:.............. =ZMMMZMZZZZZZZZZZZZZMZZM:........ ....MMMMOZMMZMMZZMMMMMMMMMMMMOZ.................IMMMMMOZZZZZZZZZZZZZZZZM........ ...MMMNOON8MMNMMMMMMMMMMMMMMMM...................ZMZO88ZNZZZZZZZZZZZZNMN8....... ...MMZMNZZMMMMMMMMMMMMMMMMMMMM. ................,+MZZMMMZMOZZMOZZZZOZZZZO....... ...MMZMNOMMMMMMMMMMMMMMMMMMMMZ. ..................MMZMZMZZMMMZMOZZDZZZZZM....... .. MMMMMMMMMMMMMMMMMMMMMMMMMM. ...................MMMMMMMMMMMMMMMZDZZZZZZ+...... ..MMMMMMMMMMMMMMMMMMMMMMMMMMM................... .=MMMMMMMMMMMMMMODMMMZZZO ..... ..MMMMMMMMMMMMMMMMMMMMMMMMMMN. ...... ~+..........,MMOZMMZMMMMMMMMMMNMOZZZ,..... . MMMMMMMMMMMMMMMMMMMMMMMMMMN. ...,ZNУ.ТЕБЯM,...... MMMMMMOZMMMMMMMMMMMMZMO..... . MMMMMMMMMMMMMMMMMMMMMMMMMMD, ...NMЧТО-ТОNNM.......MZMMMMZMMMMMMMMMMMMMMMM..... .MMMMMMMMMMMMMMMMMMMMMMMMMMMD ....MMMMЗАMMMMM,......M8MDMMNMMMMMMMMMMMMMMMM..... . MMMMMMMMMMMMMMMMMMMMMMMMMMD.....MMMТВОЕЙMMM .... .ZZMZOMMMMMMMMMMMMMMMMMM..... . MMMMMMMMMMMMMMMMMMMMMMMMMMM.....:MMСПИНОЙM.......MZOMOMZMOMMMMMMMMMMMMMMM..... . MMMMMMMMMMMMMMMMMMMMMMMMMMMI......=?MMMM.........MMMZMMMOZMZMMMMMMMMMMZZZ..... .,MMMMMMMMMMMMMMMMMMMMMMMMMMMM.....................MMMMMMMMMZZMOMMMMMMMMMMO..... .MMMMMMMMMMMMMMMMMMMMMMMMMMMMM....................+MMMMMMMMMDZMD8MDDMMMMMMD..... .MMMMMMMMMMMMMMMMMMMMMMMMMMMMM.................. .MMMMMMMMMMZMMMMMDMNMMMMZZ..... .MMMMMMMMMMMMMMMMMMMMMMMMMMMMM.................. .MMMMMMMMMMMMMMMMMMOMMMZZZM.... .MMMMMMMMMMMMMMMMMMMMMMMMMMMMM, .... ............ZMMMMMMMMMMMMMMMMMMMMMMMZMM.... MMMMMMMMMMMMMMMMMMMMMMMMMMMMMZ,.................MMMMMMMMMMMMMMMMMDMMMMMZOMM.... .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM.................ZMMMMMMMMMMMMMMMMMMMMMMMMMOM.... . MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM...............:MMMMMMMMMMMMMMMMMMMMMMMMMZZZ.... ..MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM...............+MMMMMMMMMMMMMMMMMMMMMMMMZZZZ.... ..MMMMMMMMMMMMMOMMZMMMMMMMMMMMMM .............=MMMMMMMMMMMMMMMMMMMMMMMMMZZZZ.... ..MMMMMMMMMMMMMMZZMMMMMMMMMMMMMMZ,.......... OMMMMMMMMMMMMMMMMMMMMMMZMMZZZZZ.... .. MMMMMMMMMMMMOOZMMMMMMMMMMMMMMMZ: .........MMMMMMMMMMMMMMMMMMMMMMMOMMMZZZZI... .. MMNMM8MMNODZZO8MMMMMMMMMMMMMMMMZ:........MMMMMMMMMM8MMMMMMMMMNMM88ZM8ZZZZ+... .. MMMZ8MZZZMZZZZMMMMMMMMMMMMMMMMMMZ.......IMMMMMMMMMMMMMMMMMMMOMMDMZZZZZZZZZ... ..MMMMMMM$OOZZZZOMMMMMMMMMMMMMMMMMMM.... .OMMMMMMMMMMMMMMMMMMMMMMZZOZZZZZZZZZ... ..MMMMZNOZZZZZZZZMZZMMMMMMMMMMMMMMMM=. ..=MMMMMMMMMMMMMMMMMMNMZZZMZZZZZMMZZZZ... ..MMMMM8ZZZZZZZZMMMMMMMMMMMMMMMMMMMMMM .IMMMMMMMMMMMMMMMZMMMMMMZZMDMZOZMZZZZZ... ..MMMMMNNNZZZZZN8ZDMMMMMMMMMMMMMMMMMMM..MMMMMMMMMMMMMMMM8MMDMNZMMNMM88ZZZZZZZ... ..MMMMMMMMZZZZZZMZMMMMMMMMMMMMMMMMMMMMZZMMMMMMMMMMMMMMMMMZZMMMOMMMMMZMMZZZZZZ .. ..MMMMMMMZZMZZZMZMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMOMMMMMMMMMMZMZZZZ .. ...MMMMMMMZMOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMZMMMMMMMDMMOOMMMMZZ .. ...MMMMMZMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMZMMZMZZ .. ...MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMZMMMMMMMMMMMMMMMMMMMMMMMMZZ .. ...MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM... ...MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMZMMMMMMMMMMMMMMMMMMMMMMM... ...MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMZMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM .. ....MMMMMMMMMMMMMMMOZOMMMMMMOMZZMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM... ....MMMMMMMMMMMZMMMMMMMMMMMMMMZMMMMMMMMMMMMMMMMMMMMMMMMMMZMMMMMMMMMMMMMMMMMMM... ....MMMMMMMMMMMMMMMMMMMZZZDZOMZZMZZZZZMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM... ....MMMMMMMMMMMMMMMMMMMMMMMMNOZZZZZZZZZMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM... ....MMMMMMMMMMMMMMMMMMMMMMMZMOZZZZZZZZZZMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM7... ....MMMMMMMMMMMMMMMMMMMMMMMMMMMMZZZZZZZZZOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM7... ....DMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMZZZZZZZMMMMMNZZZMMMMMMMMMMMMMMMMMMMMMMMMZ.... ....DMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMZZZZZZZZZMMM8MZZZZZZMMMMMMMMMMMMMMMMMMMMZ.... .... MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMZZZZZZZZDMMMZZZZZZMMMMMMMMMMZMOMMMMMMMM.... .....MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMZZZZZZZMMMMMZZZZZMMMMMMMMMMMMMOMMMMMMM.... .... MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMZZZZZMZ8ONOZZZZMMMMMMMMMMMMMMOMMMMMM.... .....MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMZZMZZOZZZZZZM=...,MMMMMMMMMMMMMMM.... ..... MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMZ8ZOZZZZZZ. .....MMMMMMMOMMMMMMM.... ......MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMZMMOZZZZZZZM .......MZOMMMMMMMMMMM.... ......MMMMMMMMMMM. ..... MMMMMMMMMMMMMMMMMMMMZZZZZZZZ..........MMMMMMMMMMMMM.... ......MMMZMMMMMM..........MMMMMMMMMMMMMMMMMMMMZZZZZZM..........NMMMMMMMMMMMM.... ......MMZMZMMMM=...... . ..MMMMMMMMMMMMMMMMMMDODZMMM.. .. ......MMMMMMMMMMMM. .. ......MMZ$ZMMMM............MMMMMMMMMMMMMMMMMMNMMONM,............NMMMMMMMMMMO.... .......MMOMZZOM,...... ....+MMMMMMMMMMMMMMMMMMMNMNM ............ MMMMMMMMM8Z.... .......MZZZOZMO....... .....MMMMMMMMMMMMZMMMMMMMMMM..............MMMMMMMMMMM.... .......MZOZZZZ .............MMMMMMMMMMMMMMZZMMMMMM.... ...........MMMMMMMMNO.... .......NZMZZOM .............MMMMMMMMMMMMMMMMMMMMMM................MMMMMMMZO+.... .......ZZZMZZZ ... . .... MMMMMMMMMMMMMMMMMMMMM .... ......... .7MMMMMMOM+.... .......MMZMZZN..............:MMMMMMMMMMMMMMMMMMMM,................ MMMMMOMN?.... .......MMOOMM................MMMMMMMMMMMMMMMMMMMM .................MMMMMMZM+.... ........OMZMM ........ ..... MMMMMMMMMMMMMMMMMMMM ..................MMMMMZN+.... ........MMMMM...............:MMMMMMMMMMMMMMMMMMM. ..................MMMMMMM+.... ........MMMMM............... MMMMMMMMMMMMMMMMMMM. .... .............:MMMMMM+.... ........MMMMM... ..... . ....MMMMMMMMMMMMMMMMMMM. .... ......... ... MMMMMM .... ........NMMM ................MMMMMMMMMMMMMMMMMM....... ..............MMMMMO..... .........MZO ......... . ....MMMMMMMMMMMMMMMMMM . ............. . .. MMMMMO..... ........,O8M.......... ......MMMMMMMMMMMMMMMMMM ..................... MMMM:..... .........ZMM................ MMMMMMMMMMMMMMZM8M.......................$MMM ..... ........ MM... ............. MMMMMMMMMMMMMMMZNM.. ................... MMZ...... ........ MM..... ..... .... .MMMMMMMMMMMMMMMMMM.. .... ......... .. . .MMM ..... ........ MM .......... ......MMMMMMMMMMMMMMMMM?.. .... .............. . MM ..... ........ 8M........... . .. .MMMMMMMMMMMMMMMMM. . .... .. ......... . ..M. .. .. ........ ZM... ..............MMMMMMMMMMMMMMMMM .. ................... ..M ...... .........Z ........... .... .NMMMMMMMMMMMMMMMM... ... ..... ..... ... ......... .......... ........... ...... MMMMMMMMMMMMMMMM... ................... .......... ............................. MMMMMMMMMMMMMMMM... ................... .......... ............................. MMMMMMMMMMMMMMM+... ................... .......... ............................. MMMMMMMMMMMMMMM................................... ...................... .. ... MMMMMMMMMMMMMMM.... .... ......... .... .... ..... ............................. MMMMMMMMMMMMMMM.... .... ......... .... .... ..... ............................. MMMMMMMMMMMMMM:.... ................... .......... ............................. MMMMMMMMMMMMMM..... ................... .......... ............................. MMMMMMMMMMMMMM..... ................... .......... ...................... ...... MMMMMMMMMMMMMM .... .............. .... .......... ..................... ....... MMMMMMMMMMMMZ .... .... ......... .... .... ..... ............................. MMMMOMMMMMMOM ..... ................... .......... ..............................MMMMOMMMMMZMM. .... .... ......... .... .... ..... ..............................MMMMD8DD8OZZZ ..... .... .............. .... ..... ...............................MMMOZMMZZZZZ...... .... .............. .... ..... ...............................MMMMMZMZZZZZ .................................... ..... ... ............ ....... MMZZMZZZZZZZ .... .... ......... .... .... ..... ..............................$MZZZOOZZZZZZ...... ................... .......... ...................... ....... ZZZOZZZZZZZ....... .... .............. .... ..... ........ .....................MZZOZZZZZZZ....... ................... .......... ...................... ........MZOOZZZZZZZ....... ................... .......... ..................... ........MM88ZOZNZZZ ...... .... .............. .... ..... .. . ... .....................MMMZMMMMZZZO...... ................... .......... ...............................MMMMOMMZ$ZM.. .... .... ......... .... .... ..... ...............................MMM8ZNMDMMD...................................... .. ... . ............ .........MMMMMMMMMO . .... .... ......... .... .... ..... ................................MMMMMMMZ8M...................................... ..................... ........ MMNMMMMZM. ...... .... .............. .... ..... ...................... .. ......MMMMMMMMZ. . .... .... ......... .... .... ..... ................................MMMDMMMMD ...................................... ................................MMMZMMOMM........ ............ ...... .......... ...................... .. ...... MOOMZMM . . .... .... ......... .... .... ..... ...................... .... .....MMMMMMM.. ...... ................... .......... .................................MMMMZMM......... ................... .......... .................................MMMMZM ......... ................... .......... .................................MMMZOM ......... ................... .......... .................................MMMOMM ... .... .... ......... .... .... ..... ...................... .. . .....MNZZZ$... ...... ............ ...... .......... ................................ MMMMZ:......................................... ..................... ..... ... MMMZM... ... ... ............... ... .......... ...................... ..........,MMMM.... ...... ................... .......... ...................... .......... MMZM.... ...... ................... .......... ..................... ..... ... ..MMM ... .. .... .............. .... .......... ..................................MMM ........... ................... .......... ........................... ......MMM....... .... .... ......... .... .... ..... ..................................MMM............ ................... .......... ...................... .. ... ... MM ..... . .... .... ......... .... .... ..... ..................... .... ... ..MM .... ...... .... .............. .... ..... ..................................DM............. ................... .......... ....... . .........................=............. ................... .......... ...................................+............. ................... .......... ......... ........... ........ .... .... . .... .... ......... .... .... ..... ................................................................................ .. .. . . ............ ........ .... ..... ...... .... .............. .... ..... `) } $.parseNoEffectEmotion = function(tname, em) { if(em.toLowerCase().contains("afraid")) { return target.name() + " не может ИСПУГАТЬСЯ сильнее!\r\n"; } let finalString = `${tname} не может стать ${em}`; if(finalString.length >= 40) { let voinIndex = 0; for(let i = 40; i >= 0; i--) { if(finalString[i] === " ") { voinIndex = i; break; } } finalString = [finalString.slice(0, voinIndex).trim(), "\r\n", finalString.slice(voinIndex).trimLeft()].join('') } return finalString; } $.parseNoStateChange = function(tname,stat,hl) { let noStateChangeText = `${stat} ${tname} не может` let second = `стать ${hl}`; // TARGET NAME - STAT - HIGHER/LOWER let complete = `${noStateChangeText} ${second}`; if(complete.length < 40) { BattleManager.addText(complete, 16) } else { BattleManager.addText(noStateChangeText, 1) BattleManager.addText(second, 16) } } Yanfly.BEC.Window_BattleLog_displayAddedStates = function(target) { target.result().addedStateObjects().forEach(function(state) { var stateMsg = target.isActor() ? state.message1 : state.message2; if (state.id === target.deathStateId()) { this.push('performCollapse', target); } if(state.id === target.deathStateId() && target.isActor()) { if([1,8,9,10,11].contains(target.actorId())) { stateMsg = " теряет сознание!"; } } if (stateMsg) { this.push('popBaseLine'); this.push('pushBaseLine'); this.push('addText', target.name() + stateMsg); this.push('waitForEffect'); } }, this); } })(Gamefall.OmoriFixes); Gamefall.JPWordWrap = Gamefall.JPWordWrap || {}; (function($) { function isTextInCurrentLanguage (text) { const lang = LanguageManager.defaultLanguage() switch(lang) { default: //let englishOnly = /^[a-zA-Z0-9!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?☆ ]*$/; //if(!englishOnly.test(text)) {return false} let russianOnly = /^[а-яА-Я0-9!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?☆ ]*$/; if(!russianOnly.test(text)) {return false} break; case "jp": let japaneseOnly = /^[\u3000-\u303F|\u3040-\u309F|\u30A0-\u30FF|\uFF00-\uFFEF|\u4E00-\u9FAF|\u2605-\u2606|\u2190-\u2195|\u203B|0-9!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?☆ ]*$/g; if(!japaneseOnly.test(text)) {return false} break case "kr": let koreanOnly = /(^[\u3131-\u314e|\u314f-\u3163|\uac00-\ud7a3|0-9!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?☆ ]*$)/g if(!koreanOnly.test(text)) {return false} case "sc": let scOnly = /^([\u4e00-\u9eff|\u3000-\u303F|0-9!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?☆ ])*$/ if(!scOnly.test(text)) {return false} } return true } DataManager.actorNamesPerLanguage = [ ["ОМОРИ", "OMORI", "オモリ", "오모리", "OMORI"], ["ОБРИ", "AUBREY", "オーブリー", "오브리", "奥布里"], ["КЕЛ", "KEL", "ケル", "켈", "凯"], ["ХИРО", "HERO", "ヒロ", "히로", "英雄"] ]; DataManager.chapterNamesPerLanguage = [ ["???", "???", "???", "???", "???"], ["ДЕНЬ ПЕРЕЕЗДА", "MOVING DAY", "引越しの日", "이삿날", "搬家当天"], ["ОСТАЛОСЬ ОДИН ДЕНЬ...", "ONE DAY LEFT...", "あと1日……", "이삿날까지 하루 남음...", "还有一天……"], ["ОСТАЛОСЬ ДВА ДНЯ...", "TWO DAYS LEFT...", "あと2日……", "이삿날까지 이틀 남음...", "还有两天……"], ["ОСТАЛОСЬ ТРИ ДНЯ...", "THREE DAYS LEFT...", "あと3日……", "이삿날까지 사흘 남음...", "还有三天……"], ["ПРОЛОГ", "PROLOGUE", "プロローグ", "서장", "序章"] ]; DataManager.locationNamesPerLanguage = [ ["УЛИЦА","OUTSIDE","家の外","바깥","外面"], ["МАМИНА КОМНАТА","MOM'S ROOM","お母さんの部屋","엄마의 방","妈妈的房间"], ["ДОМ БЭЗИЛА","BASIL'S HOUSE","バジルの家","바질의 집","贝瑟尔家"], ["ПАРК ГОРИЗОНТА","FARAWAY PARK","ハルバル公園","패러웨이 공원","遥远公园"], ["ТАЙНОЕ ОЗЕРО","SECRET LAKE","秘密の湖","비밀 호수","秘密湖泊"], ["ЛЕСНАЯ ПЛОЩАДКА","FOREST PLAYGROUND","森の遊び場","숲 놀이터","森林游乐场"], ["БЕСКРАЙНИЙ ЛЕС","VAST FOREST","ヒロビロ森","광대한 숲","辽阔森林"], ["ЛЕС ВЕРТУШЕК","PINWHEEL FOREST","カザグルマ森","바람개비 숲","风车森林"], ["АПЕЛЬСИНОВЫЙ ОАЗИС","ORANGE OASIS","オレンジオアシス","오렌지 오아시스","橙子绿"], ["ГОРОДОК ДОЖДЯ","RAIN TOWN","アメフリの町","비의 마을","落雨镇"], ["ВНЕЗЕМЕЛЬЕ","OTHERWORLD","イセカイ","별세계","异世界"], ["ЗАМЁРЗШЕЕ ОЗЕРО","FROZEN LAKE","ヒエビエ湖","얼어붙은 호수","结冰湖"], ["ГОРА СНЕЖНЫЙ ШАР","SNOWGLOBE MOUNTAIN","スノードームマウンテン","스노우블로브 산","雪花球山"], ["СВАЛКА","JUNKYARD","廃品投棄場","쓰레기장","垃圾场"], ["ЛЕС СВЕТЛЯЧКОВ","PYREFLY FOREST","ヒバナ森","반딧불더미 숲","焚火虫森林"], ["ПОТЕРЯННЫЙ ЛЕС","LOST FOREST","サイゴノ楽園","잃어버린 숲","迷失森林"], ["ДЕРЕВНЯ РОСТОКРОТОВ","SPROUT MOLE VILLAGE","ナエモグ村","두더지 새싹 마을","树苗鼹鼠村"], ["ЗАМОК ДУШЕЧКИ","SWEETHEART'S CASTLE","スイートハート城","스위트하트의 성","甜心城堡"], ["ПОСЛЕДНИЙ ШАНС","LAST RESORT","サイゴノ楽園","최후의 도피처","最后度假村"], ["ПОДВОДНОЕ ШОССЕ","UNDERWATER HIGHWAY","水中高速道路","수중 고속도로","水下高架"], ["ГЛУБОЧАЙШИЙ КОЛОДЕЦ","DEEPER WELL","シンエン井戸","더 깊은 우물","深井深处"], ["ХАМФРИ","HUMPHREY","ハンフリー","험프리","汉弗莱"], ["КАСКАД БОССОВ","BOSS RUSH","ボスラッシュ","보스 러시","头目反击战"], ["БЕЗДНА","THE ABYSS","ナラク","심연","深渊"], ["ЧЁРНОЕ ПРОСТРАНСТВО","BLACK SPACE","ブラックスペース","검은 공간","黑色空间"], ["ПОЛЯНКА БЭЗИЛА","BASIL'S MEADOW","バジルの草原","바질의 꽃밭","贝瑟尔的草地"], ["ПОТЕРЯННАЯ БИБЛИОТЕКА","LOST LIBRARY","失われし図書館","잃어버린 도서관","失落图书馆"], ["ШТАБ ЭКОКУЛЬТИСТОВ","RECYCULTIST'S HQ","リサイカルト本部","재활용교도의 본부","回收教徒总部"], ["ХЛЕБЕСА","BREAVEN","パンクチュアリ","빵천국","面包天堂"], ["ЗА КУЛИСАМИ","BACKSTAGE","バックステージ","무대 뒤편","后台"], ["ДОРОГА ВОСПОМИНАНИЙ","MEMORY LANE","思い出の道","추억의 뒤안길","回忆小道"], ["СПАЛЬНЯ СОСЕДЕЙ","NEIGHBOR'S BEDROOM","オトナリベッドルーム","이웃의 침실","邻居的卧室"] ]; // For compatibility with 1.0.7 and lower versions. if (typeof DataManager.convertNameToLanguage == 'undefined') { DataManager.convertNameToLanguage = function(type, name) { let myLanguageIndex = ['en', 'jp', 'kr', 'sc'].indexOf(LanguageManager.defaultLanguage()); if (myLanguageIndex != -1) { let namesPerLanguage = type === 'actor'? this.actorNamesPerLanguage : type === "chapter" ? this.chapterNamesPerLanguage : this.locationNamesPerLanguage; for (let entryNum = 0; entryNum < namesPerLanguage.length; entryNum++) { for (let languageID = 0; languageID < namesPerLanguage[entryNum].length; languageID++) { if (languageID == myLanguageIndex) continue; if (name == namesPerLanguage[entryNum][languageID]) { // Name from other language detected return namesPerLanguage[entryNum][myLanguageIndex]; }; }; }; }; return name; } } DataManager = class extends DataManager { static loadSavefileInfo(savefileId) { var globalInfo = this.loadGlobalInfo(); if (globalInfo && globalInfo[savefileId]) { globalInfo[savefileId].actorData.name = this.convertNameToLanguage('actor', globalInfo[savefileId].actorData.name); if(!isTextInCurrentLanguage(globalInfo[savefileId].actorData.name)) { const lang = LanguageManager.defaultLanguage(); globalInfo[savefileId].actorData.name = LanguageManager._data[lang]["text"]["XX_BLUE"]["Omori_Name_Input"]["defaultname"] // Assuming this is Sunny as all the other characters that could save // are defined inside actorNamesPerLanguage array. } globalInfo[savefileId].chapter = this.convertNameToLanguage('chapter', globalInfo[savefileId].chapter); globalInfo[savefileId].location = this.convertNameToLanguage('location', globalInfo[savefileId].location) }; return (globalInfo && globalInfo[savefileId]) ? globalInfo[savefileId] : null; } } Game_Actor = class extends Game_Actor { name() { if (this._actorId !== 8) { return super.name() } // NOT SUNNY const lang = LanguageManager.defaultLanguage(); const defaultName = LanguageManager._data[lang]["text"]["XX_BLUE"]["Omori_Name_Input"]["defaultname"]; let name = this._name; if (!isTextInCurrentLanguage(name)) { name = defaultName } return name; } } })(Gamefall.JPWordWrap) // ============================================================================ // Patches for plugin: Omori Name Input // ============================================================================ // VirtualKeyboard not exists in 1.0.7 and lower versions. if (typeof VirtualKeyboard !== 'undefined') { VirtualKeyboard.EN = { default: [ "` 1 2 3 4 5 6 7 8 9 0 - = {bksp}", "й ц у к е н г ш щ з х ъ \\", "{lock} ф ы в а п р о л д ж э", "я ч с м и т ь б ю . {confirm} {space}" ], shift: [ "~ ! @ # $ % ^ & * ( ) _ + {bksp}", "Й Ц У К Е Н Г Ш Щ З Х Ъ |", "{lock} Ф Ы В А П Р О Л Д Ж Э", "Я Ч С М И Т Ь Б Ю ? {confirm} {space}" ] }; } // ============================================================================ // Patches for plugin: YIN - Minigame - PizzaDelivery // ============================================================================ Game_Interpreter.prototype.initPizzaDelivery = function () { ImageManager.loadPicture("PIZZA-Background"); //ImageManager.loadAtlas("MN_PizzaItems"); // obsolete // Because we have multiple atlases instead of one, // we should preload all of those: ImageManager.loadAtlas("MN_PizzaItems_1"); ImageManager.loadAtlas("MN_PizzaItems_2"); ImageManager.loadAtlas("MN_PizzaItems_3"); $gameSystem._chosenHouses = []; $gameSystem._checkedHouses = []; var _pizzaHouse1 = this.generateHouse(1); var _pizzaHouse2 = this.generateHouse(2); var _pizzaHouse3 = this.generateHouse(3); this._pizzaHouse1 = _pizzaHouse1; this._pizzaHouse2 = _pizzaHouse2; this._pizzaHouse3 = _pizzaHouse3; }