bumingqiangbing 2 years ago
parent e8179de38a
commit 9b5ee4200a

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -5,6 +5,11 @@
null,
{"id":1,"name":"EV001","note":"","pages":[{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":false,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":false,"image":{"tileId":0,"characterName":"Actor1","direction":2,"pattern":1,"characterIndex":1},"list":[{"code":126,"indent":0,"parameters":[1,0,0,3]},{"code":126,"indent":0,"parameters":[39,0,0,1]},{"code":126,"indent":0,"parameters":[22,0,0,1]},{"code":126,"indent":0,"parameters":[43,0,0,1]},{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":1,"stepAnime":false,"through":false,"trigger":0,"walkAnime":true}],"x":5,"y":2},
{"id":2,"name":"EV002","note":"","pages":[{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":false,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":false,"image":{"tileId":0,"characterName":"Actor2","direction":2,"pattern":1,"characterIndex":0},"list":[{"code":126,"indent":0,"parameters":[208,0,0,1]},{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":1,"stepAnime":false,"through":false,"trigger":0,"walkAnime":true}],"x":9,"y":2},
{"id":3,"name":"EV003","note":"","pages":[{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":false,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":false,"image":{"tileId":0,"characterName":"兔子","direction":2,"pattern":1,"characterIndex":0},"list":[{"code":125,"indent":0,"parameters":[0,0,1000]},{"code":302,"indent":0,"parameters":[0,1,0,0,false]},{"code":605,"indent":0,"parameters":[1,2,0,0]},{"code":605,"indent":0,"parameters":[2,2,0,0]},{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":1,"stepAnime":false,"through":false,"trigger":0,"walkAnime":true}],"x":2,"y":2}
{"id":3,"name":"EV003","note":"","pages":[{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":false,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":false,"image":{"tileId":0,"characterName":"兔子","direction":2,"pattern":1,"characterIndex":0},"list":[{"code":125,"indent":0,"parameters":[0,0,1000]},{"code":302,"indent":0,"parameters":[0,1,0,0,false]},{"code":605,"indent":0,"parameters":[1,2,0,0]},{"code":605,"indent":0,"parameters":[2,2,0,0]},{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":1,"stepAnime":false,"through":false,"trigger":0,"walkAnime":true}],"x":2,"y":2},
{"id":4,"name":"EV004","note":"","pages":[{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":false,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":true,"image":{"characterIndex":0,"characterName":"!Chest","direction":2,"pattern":1,"tileId":0},"list":[{"code":250,"indent":0,"parameters":[{"name":"Chest1","pan":0,"pitch":100,"volume":90}]},{"code":205,"indent":0,"parameters":[0,{"list":[{"code":36},{"code":17},{"code":15,"parameters":[3]},{"code":18},{"code":15,"parameters":[3]},{"code":0}],"repeat":false,"skippable":false,"wait":true}]},{"code":505,"indent":0,"parameters":[{"code":36}]},{"code":505,"indent":0,"parameters":[{"code":17}]},{"code":505,"indent":0,"parameters":[{"code":15,"parameters":[3]}]},{"code":505,"indent":0,"parameters":[{"code":18}]},{"code":505,"indent":0,"parameters":[{"code":15,"parameters":[3]}]},{"code":123,"indent":0,"parameters":["A",0]},{"code":126,"indent":0,"parameters":[1,0,0,1]},{"code":101,"indent":0,"parameters":["",0,0,2]},{"code":401,"indent":0,"parameters":["找到了鸡肉!"]},{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":1,"stepAnime":false,"through":false,"trigger":0,"walkAnime":false},{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":true,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":true,"image":{"characterIndex":0,"characterName":"!Chest","direction":8,"pattern":1,"tileId":0},"list":[{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":1,"stepAnime":false,"through":false,"trigger":0,"walkAnime":false}],"x":7,"y":4},
{"id":5,"name":"EV005","note":"","pages":[{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":false,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":false,"image":{"characterIndex":0,"characterName":"","direction":2,"pattern":0,"tileId":0},"list":[{"code":356,"indent":0,"parameters":["Quest Add 1"]},{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":0,"stepAnime":false,"through":false,"trigger":3,"walkAnime":true}],"x":8,"y":6},
{"id":6,"name":"EV006","note":"","pages":[{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":false,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":false,"image":{"tileId":0,"characterName":"Monster3","direction":6,"pattern":1,"characterIndex":5},"list":[{"code":356,"indent":0,"parameters":["Quest 1 Show Objective 2"]},{"code":356,"indent":0,"parameters":["Quest 1 Complete Objective 1 "]},{"code":356,"indent":0,"parameters":["Quest 1 Change Description Entry To 2 "]},{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":1,"stepAnime":false,"through":false,"trigger":0,"walkAnime":true}],"x":8,"y":7},
{"id":7,"name":"EV007","note":"","pages":[{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":false,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":false,"image":{"tileId":0,"characterName":"Monster3","direction":6,"pattern":1,"characterIndex":7},"list":[{"code":356,"indent":0,"parameters":["Quest 1 Show Objective 3"]},{"code":356,"indent":0,"parameters":["Quest 1 Complete Objective 2"]},{"code":356,"indent":0,"parameters":["Quest 1 Change Description Entry To 3 "]},{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":1,"stepAnime":false,"through":false,"trigger":0,"walkAnime":true}],"x":8,"y":8},
{"id":8,"name":"EV008","note":"","pages":[{"conditions":{"actorId":1,"actorValid":false,"itemId":1,"itemValid":false,"selfSwitchCh":"A","selfSwitchValid":false,"switch1Id":1,"switch1Valid":false,"switch2Id":1,"switch2Valid":false,"variableId":1,"variableValid":false,"variableValue":0},"directionFix":false,"image":{"tileId":0,"characterName":"mer_human_3","direction":6,"pattern":2,"characterIndex":1},"list":[{"code":356,"indent":0,"parameters":["Quest 1 Show Objective 3"]},{"code":356,"indent":0,"parameters":["Quest 1 Complete Objective 3"]},{"code":356,"indent":0,"parameters":["Quest 1 Change Description Entry To 3 "]},{"code":356,"indent":0,"parameters":["Quest Set Completed 1"]},{"code":0,"indent":0,"parameters":[]}],"moveFrequency":3,"moveRoute":{"list":[{"code":0,"parameters":[]}],"repeat":true,"skippable":false,"wait":false},"moveSpeed":3,"moveType":0,"priorityType":1,"stepAnime":false,"through":false,"trigger":0,"walkAnime":true}],"x":8,"y":9}
]
}

@ -1,7 +1,7 @@
[
null,
{"id":1,"expanded":true,"name":"地球","order":1,"parentId":0,"scrollX":819,"scrollY":474.5},
{"id":2,"expanded":false,"name":"星港","order":62,"parentId":27,"scrollX":811,"scrollY":661.5},
{"id":1,"expanded":true,"name":"地球","order":1,"parentId":0,"scrollX":1701.818181818182,"scrollY":1040.7272727272727},
{"id":2,"expanded":false,"name":"星港","order":62,"parentId":27,"scrollX":1684.3636363636365,"scrollY":1040.7272727272727},
{"id":3,"expanded":true,"name":"好人家二层","order":22,"parentId":22,"scrollX":811,"scrollY":469.5},
{"id":4,"expanded":true,"name":"好人家地下室","order":23,"parentId":22,"scrollX":811,"scrollY":469.5},
{"id":5,"expanded":true,"name":"海滩","order":6,"parentId":31,"scrollX":1148,"scrollY":1451},
@ -12,37 +12,37 @@ null,
{"id":10,"expanded":true,"name":"海底","order":9,"parentId":24,"scrollX":811,"scrollY":725.5},
{"id":11,"expanded":false,"name":"密室","order":14,"parentId":9,"scrollX":772,"scrollY":577},
{"id":12,"expanded":true,"name":"大护壁及大漩涡","order":18,"parentId":7,"scrollX":780,"scrollY":477},
{"id":13,"expanded":true,"name":"渡鸦12345的办公室1F","order":4,"parentId":30,"scrollX":925.8,"scrollY":627.6},
{"id":14,"expanded":true,"name":"梦位面宇宙","order":53,"parentId":0,"scrollX":2340,"scrollY":1431},
{"id":15,"expanded":false,"name":"艾欧","order":54,"parentId":14,"scrollX":2316,"scrollY":1431},
{"id":13,"expanded":true,"name":"渡鸦12345的办公室1F","order":4,"parentId":30,"scrollX":1701.818181818182,"scrollY":1040.7272727272727},
{"id":14,"expanded":true,"name":"梦位面宇宙","order":53,"parentId":0,"scrollX":1701.818181818182,"scrollY":1040.7272727272727},
{"id":15,"expanded":false,"name":"艾欧","order":54,"parentId":14,"scrollX":1684.3636363636365,"scrollY":1431.2727272727273},
{"id":16,"expanded":false,"name":"艾欧深海(各种遗迹以及传送门)","order":55,"parentId":15,"scrollX":772,"scrollY":469},
{"id":17,"expanded":true,"name":"艾欧同步轨道","order":56,"parentId":15,"scrollX":819,"scrollY":474.5},
{"id":18,"expanded":true,"name":"飞船遗迹内部","order":57,"parentId":17,"scrollX":811,"scrollY":469.5},
{"id":19,"expanded":false,"name":"操作仓","order":58,"parentId":18,"scrollX":811,"scrollY":485.5},
{"id":20,"expanded":true,"name":"南郊(有水泵站)","order":20,"parentId":31,"scrollX":811,"scrollY":469.5},
{"id":21,"expanded":false,"name":"传送阵","order":63,"parentId":14,"scrollX":772,"scrollY":706},
{"id":21,"expanded":false,"name":"传送阵","order":63,"parentId":14,"scrollX":1701.818181818182,"scrollY":1040.7272727272727},
{"id":22,"expanded":true,"name":"好人家一层","order":21,"parentId":20,"scrollX":832,"scrollY":624},
{"id":23,"expanded":true,"name":"大海","order":7,"parentId":5,"scrollX":772,"scrollY":483},
{"id":24,"expanded":true,"name":"迷雾之岛","order":8,"parentId":23,"scrollX":772,"scrollY":469},
{"id":24,"expanded":true,"name":"迷雾之岛","order":8,"parentId":23,"scrollX":1701.818181818182,"scrollY":1040.7272727272727},
{"id":25,"expanded":false,"name":"水塔2","order":25,"parentId":20,"scrollX":780,"scrollY":477},
{"id":26,"expanded":true,"name":"皇宫","order":15,"parentId":9,"scrollX":772,"scrollY":1009},
{"id":27,"expanded":true,"name":"晶核研究站","order":60,"parentId":14,"scrollX":811,"scrollY":717.5},
{"id":28,"expanded":false,"name":"实验室","order":61,"parentId":27,"scrollX":772,"scrollY":483},
{"id":27,"expanded":true,"name":"晶核研究站","order":60,"parentId":14,"scrollX":1701.818181818182,"scrollY":1040.7272727272727},
{"id":28,"expanded":false,"name":"实验室","order":61,"parentId":27,"scrollX":1701.818181818182,"scrollY":1040.7272727272727},
{"id":29,"expanded":false,"name":"渡鸦12345的办公室2F","order":5,"parentId":13,"scrollX":2672.5714285714284,"scrollY":1635.4285714285713},
{"id":30,"expanded":true,"name":"渡鸦12345的办公室","order":3,"parentId":31,"scrollX":1424,"scrollY":1664},
{"id":31,"expanded":true,"name":"世界地图","order":2,"parentId":1,"scrollX":8386,"scrollY":2912},
{"id":31,"expanded":true,"name":"世界地图","order":2,"parentId":1,"scrollX":8386.909090909092,"scrollY":2912.727272727273},
{"id":32,"expanded":true,"name":"表世界宇宙","order":26,"parentId":1,"scrollX":1568,"scrollY":1931},
{"id":33,"expanded":true,"name":"柯伊伯站","order":27,"parentId":32,"scrollX":1715,"scrollY":2075},
{"id":34,"expanded":true,"name":"豆豆星系","order":28,"parentId":32,"scrollX":780,"scrollY":477},
{"id":35,"expanded":true,"name":"豆豆星","order":29,"parentId":34,"scrollX":1715,"scrollY":4373},
{"id":36,"expanded":true,"name":"群星之城","order":30,"parentId":35,"scrollX":1589,"scrollY":1431.5},
{"id":37,"expanded":false,"name":"测试用的地图","order":52,"parentId":1,"scrollX":819,"scrollY":474.5},
{"id":37,"expanded":false,"name":"测试用的地图","order":52,"parentId":1,"scrollX":1701.818181818182,"scrollY":1040.7272727272727},
{"id":38,"expanded":true,"name":"艾瑞姆皇宫","order":31,"parentId":36,"scrollX":811,"scrollY":1405.5},
{"id":39,"expanded":true,"name":"艾瑞姆皇宫1F","order":32,"parentId":38,"scrollX":811,"scrollY":1620.5},
{"id":40,"expanded":false,"name":"炼金商店","order":33,"parentId":36,"scrollX":819,"scrollY":474.5},
{"id":41,"expanded":false,"name":"世界之门","order":48,"parentId":32,"scrollX":772,"scrollY":469},
{"id":42,"expanded":true,"name":"魔王城","order":37,"parentId":35,"scrollX":772,"scrollY":477},
{"id":43,"expanded":false,"name":"巨龟岩台号控制室","order":49,"parentId":1,"scrollX":772,"scrollY":529},
{"id":43,"expanded":false,"name":"巨龟岩台号控制室","order":49,"parentId":1,"scrollX":1684.3636363636365,"scrollY":1040.7272727272727},
{"id":44,"expanded":true,"name":"走廊","order":50,"parentId":43,"scrollX":1522.2,"scrollY":4429.2},
{"id":45,"expanded":false,"name":"走廊","order":51,"parentId":44,"scrollX":928.1999999999999,"scrollY":1407.6},
{"id":46,"expanded":true,"name":"魔王城堡1F","order":38,"parentId":42,"scrollX":842,"scrollY":1690.5},

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

@ -0,0 +1,991 @@
//=============================================================================
// Yanfly Engine Plugins - Quest Journal Extension - Map Quest Window
// YEP_X_MapQuestWindow.js
//=============================================================================
var Imported = Imported || {};
Imported.YEP_X_MapQuestWindow = true;
var Yanfly = Yanfly || {};
Yanfly.AMQW = Yanfly.AMQW || {};
Yanfly.AMQW.version = 1.01;
//=============================================================================
/*:
* @plugindesc YEP任务活动窗口-扩展
* @author Yanfly Engine Plugins 汉化硕明云书
*
* @help
* ============================================================================
* 注意
* ============================================================================
* 此插件需要任务日志系统插件才能正常使用
* ============================================================================
* 说明
* ============================================================================
*
* 自动换行目标
* - For those with YEP_MessageCore.js installed, you can set whether or not
* you want the objectives to be word wrapped. Enabling this would set quest
* objectives to become word wrapped and disabling it would not.
*
* Default Show
* - This will determine if you want this window to appear by default or not.
* This will have no bearing on the player's Options menu command, but it will
* allow you to disable the Active Map Quest Window from the mechanical-driven
* side of the game.
*
* ---
*
* Window Settings
* - If you wish to customize the category window, you can adjust the various
* settings here to adjust its properties. However, keep in mind that unless
* you are familiar with JavaScript, you can make errors here that can make the
* windows not work in your game.
*
* X: Graphics.boxWidth - width
* Y: 0
* Scale: 0.50
* Width: Graphics.boxWidth / 3
* Line Height: 36
* Font Face: GameFont
* Font Size: 28
* Standard Padding: 18
* Text Padding: 6
* Standard Opacity: 255
* Back Opacity: 192
* Window Skin: Window
*
* ============================================================================
* Plugin Commands
* ============================================================================
*
* You can use the following plugin commands to change the behavior of the
* Map Quest Window.
*
* Plugin Commands:
*
* SetActiveQuest x
* - Sets the active quest to x.
*
* RefreshActiveQuestWindow
* - Refreshes the map quest window.
*
* ShowActiveQuestWindow
* HideActiveQuestWindow
* - Changes the Active Map Quest Window to be visible/hidden. This will not
* override the player's Options Menu's setting to hide the window.
*
* ============================================================================
* Options Core Settings - Adding the New Options
* ============================================================================
*
* If you are using YEP_OptionsCore.js, you can add a new Option using this
* plugin. Here's the following code/parameter settings you can use with it.
*
* ---------
* Settings:
* ---------
*
* Name:
* \i[87]Quest Window
*
* Help Description:
* Show a window displaying the currently active
* quest on the screen while exploring.
*
* Symbol:
* mapQuestWindow
*
* Show/Hide:
* show = Imported.YEP_X_MapQuestWindow;
*
* Enable:
* enabled = true;
*
* Ext:
* ext = 0;
*
* ----------
* Functions:
* ----------
*
* Make Option Code:
* this.addCommand(name, symbol, enabled, ext);
*
* Draw Option Code:
* var rect = this.itemRectForText(index);
* var statusWidth = this.statusWidth();
* var titleWidth = rect.width - statusWidth;
* this.resetTextColor();
* this.changePaintOpacity(this.isCommandEnabled(index));
* this.drawOptionsName(index);
* this.drawOptionsOnOff(index);
*
* Process OK Code:
* var index = this.index();
* var symbol = this.commandSymbol(index);
* var value = this.getConfigValue(symbol);
* this.changeValue(symbol, !value);
*
* Cursor Right Code:
* var index = this.index();
* var symbol = this.commandSymbol(index);
* var value = this.getConfigValue(symbol);
* this.changeValue(symbol, true);
*
* Cursor Left Code:
* var index = this.index();
* var symbol = this.commandSymbol(index);
* var value = this.getConfigValue(symbol);
* this.changeValue(symbol, false);
*
* Default Config Code:
* // Empty. Provided by this plugin.
*
* Save Config Code:
* // Empty. Provided by this plugin.
*
* Load Config Code:
* // Empty. Provided by this plugin.
*
* ============================================================================
* Changelog
* ============================================================================
*
* Version 1.01:
* - Compatibility update for YEP_OptionsCore.js.
*
* Version 1.00:
* - Finished Plugin!
*
* ============================================================================
* End of Helpfile
* ============================================================================
*
* @param ---Main---
* @default
*
* @param Window Settings
* @text 窗口设置
* @parent ---Main---
* @type struct<WindowSettings>
* @desc Adjust the properties for the map quest window here.
* @default {"---General---":"","Word Wrap Objectives":"true","Default Show":"true","---Window Settings---":"","X":"Graphics.boxWidth - width","Y":"0","Scale":"0.50","Width":"Graphics.boxWidth / 3","Line Height":"36","Font Face":"GameFont","Font Size":"28","Standard Padding":"18","Text Padding":"6","Standard Opacity":"255","Back Opacity":"192","Window Skin":"Window"}
*
* @param Set Active
* @text 设置为展示
* @parent ---Main---
* @desc Vocabulary used for the 'Set Active' option.
* You can use text codes.
* @default \i[189]开启展示
*
* @param Currently Active
* @text 当前展示描述
* @parent ---Main---
* @desc Vocabulary used for the 'Currently Active' option.
* You can use text codes.
* @default \i[189]已展示
*
* @param Clear Active
* @text 取消展示描述
* @parent ---Main---
* @desc Vocabulary used for the 'Clear Active' option.
* You can use text codes.
* @default \i[186]取消展示
*
* @param ---Options---
* @default
*
* @param Options Command
* @text 取消展示描述
* @parent ---Options---
* @desc 活动任务窗口的选项命令
* @default 任务窗口
*
* @param Options Enable
* @text 选项启用
* @parent ---Options---
* @type boolean
* @on Show
* @off Hide
* @desc 活动任务窗口的默认选项命令选项
* @default true
*
* @param ---Automatic Updates---
* @text ---自动更新---
* @default
*
* @param Quest Add
* @text 任务添加
* @parent ---Automatic Updates---
* @type boolean
* @on YES
* @off NO
* @desc Update quest window when adding a new quest? This will set
* the newest active quest to what was just added.
* @default true
*
* @param Quest Complete
* @text 任务完成
* @parent ---Automatic Updates---
* @type boolean
* @on YES
* @off NO
* @desc If currently active quest is completed, the window will
* set next available uncompleted quest.
* @default true
*
* @param Quest Failed
* @text 任务失败
* @parent ---Automatic Updates---
* @type boolean
* @on YES
* @off NO
* @desc If currently active quest is failed, the window will
* set next available uncompleted quest.
* @default true
*
* @param Change Objectives
* @text 变更目标
* @parent ---Automatic Updates---
* @type boolean
* @on YES
* @off NO
* @desc Update window when quest objectives have been changed.
* @default true
*
* @param Event Update
* @text 事件更新
* @parent ---Automatic Updates---
* @type boolean
* @on YES
* @off NO
* @desc Update window when switches, variables, party members,
* and/or items, weapons, or armors change.
* @default true
*
*/
//=============================================================================
/* Plugin Parameter Structure Settings
*=============================================================================
*/
/* ----------------------------------------------------------------------------
* CategoryWindow Parameter Structure
* ---------------------------------------------------------------------------
*/
/*~struct~WindowSettings:
* @param ---General---
* @default
*
* @param Word Wrap Objectives
* @text 自动换行目标
* @parent ---General---
* @type boolean
* @on YES
* @off NO
* @desc Apply word wrap to objectives if you have YEP_MessageCore?
* @default true
*
* @param Default Show
* @text 默认显示
* @parent ---General---
* @type boolean
* @on Show
* @off Hide
* @desc Show active quest window by default?
* @default true
*
* @param ---Window Settings---
* @default
*
* @param X
* @parent ---Window Settings---
* @type combo
* @option 0
* @option Graphics.boxWidth - width
* @desc Formula for the window's X position.
* @default Graphics.boxWidth - width
*
* @param Y
* @parent ---Window Settings---
* @type combo
* @option 0
* @option Graphics.boxHeight - height
* @desc Formula for the window's Y position.
* @default 0
*
* @param Scale
* @parent ---Window Settings---
* @type combo
* @option 1.00
* @option 0.75
* @option 0.66
* @option 0.50
* @option 0.33
* @option 0.25
* @desc Scale the window smaller?
* @default 0.50
*
* @param Width
* @parent ---Window Settings---
* @type combo
* @option Graphics.boxWidth
* @option Graphics.boxWidth / 2
* @option Graphics.boxWidth / 3
* @option Graphics.boxWidth * 2 / 3
* @option Graphics.boxWidth / 4
* @option Graphics.boxWidth * 3 / 4
* @option Graphics.boxWidth / 5
* @option Graphics.boxWidth * 4 / 5
* @desc Formula for the window width.
* @default Graphics.boxWidth / 3
*
* @param Line Height
* @parent ---Window Settings---
* @type number
* @min 1
* @desc The height used for each line entry.
* @default 36
*
* @param Font Face
* @parent ---Window Settings---
* @type combo
* @option GameFont
* @option Arial
* @option Courier New
* @option SimHei
* @option Heiti TC
* @option Dotum
* @option AppleGothic
* @desc The font face used for your game.
* @default GameFont
*
* @param Font Size
* @parent ---Window Settings---
* @type combo
* @option 20
* @option 28
* @option Window_Base.prototype.standardFontSize.call(this);
* @desc Formula for the standard font size.
* @default 28
*
* @param Standard Padding
* @parent ---Window Settings---
* @type combo
* @option 0
* @option 10
* @option 18
* @option 24
* @desc Formula for the window's padding.
* @default 18
*
* @param Text Padding
* @parent ---Window Settings---
* @type combo
* @option 0
* @option 6
* @option 12
* @desc Formula for the padding used before displaying text.
* @default 6
*
* @param Standard Opacity
* @parent ---Window Settings---
* @type combo
* @option 0
* @option 128
* @option 192
* @option 255
* @desc Formula for the standard opacity used by the window.
* @default 255
*
* @param Back Opacity
* @parent ---Window Settings---
* @type combo
* @option 0
* @option 128
* @option 192
* @option 255
* @desc Formula for the opacity used by the window.
* @default 192
*
* @param Window Skin
* @parent ---Window Settings---
* @type file
* @dir img/system/
* @desc Window skin used.
* @default Window
*
*/
//=============================================================================
if (Imported.YEP_QuestJournal) {
//=============================================================================
// Parameter Variables
//=============================================================================
Yanfly.Parameters = PluginManager.parameters('YEP_X_MapQuestWindow');
Yanfly.Param = Yanfly.Param || {};
Yanfly.Param.MQWSettings =
JSON.parse(Yanfly.Parameters['Window Settings']);
Yanfly.Param.MQWSetActive = String(Yanfly.Parameters['Set Active']);
Yanfly.Param.MQWCurActive = String(Yanfly.Parameters['Currently Active']);
Yanfly.Param.MQWClearActive = String(Yanfly.Parameters['Clear Active']);
Yanfly.Param.MQWOptionCmd = String(Yanfly.Parameters['Options Command']);
Yanfly.Param.MQWOptionSetting = eval(Yanfly.Parameters['Options Enable']);
Yanfly.Param.MQWAddQuest = eval(Yanfly.Parameters['Quest Add']);
Yanfly.Param.MQWQuestComplete = eval(Yanfly.Parameters['Quest Complete']);
Yanfly.Param.MQWQuestFailed = eval(Yanfly.Parameters['Quest Failed']);
Yanfly.Param.MQWChangeObj = eval(Yanfly.Parameters['Change Objectives']);
Yanfly.Param.MQWEventUpdate = eval(Yanfly.Parameters['Event Update']);
//=============================================================================
// ConfigManager
//=============================================================================
Yanfly.getDefaultMapQuestWindowOption = function() {
if (Yanfly.Param.MQWOptionSetting) {
return true;
} else {
return false;
}
};
ConfigManager.mapQuestWindow = Yanfly.getDefaultMapQuestWindowOption();
Yanfly.AMQW.ConfigManager_makeData = ConfigManager.makeData;
ConfigManager.makeData = function() {
var config = Yanfly.AMQW.ConfigManager_makeData.call(this);
config.mapQuestWindow = this.mapQuestWindow;
return config;
};
Yanfly.AMQW.ConfigManager_applyData = ConfigManager.applyData;
ConfigManager.applyData = function(config) {
Yanfly.AMQW.ConfigManager_applyData.call(this, config);
this.mapQuestWindow = this.readConfigMapQuestWindow(config, 'mapQuestWindow');
};
ConfigManager.readConfigMapQuestWindow = function(config, name) {
var value = config[name];
if (value !== undefined) {
return value;
} else {
return Yanfly.getDefaultMapQuestWindowOption();
}
};
//=============================================================================
// Game_System
//=============================================================================
Yanfly.AMQW.Game_System_initialize = Game_System.prototype.initialize;
Game_System.prototype.initialize = function() {
Yanfly.AMQW.Game_System_initialize.call(this);
this.initMapQuestWindowSettings();
};
Game_System.prototype.initMapQuestWindowSettings = function() {
this._showMapQuestWindow =
eval(Yanfly.Param.MQWSettings['Default Show'] || 'true');
this._activeQuestId = 0;
};
Game_System.prototype.isShowMapQuestWindow = function() {
if (this._showMapQuestWindow === undefined) this.initMapQuestWindowSettings();
return this._showMapQuestWindow;
};
Game_System.prototype.setShowMapQuestWindow = function(value) {
if (this._showMapQuestWindow === undefined) this.initMapQuestWindowSettings();
this._showMapQuestWindow = value;
};
Game_System.prototype.getActiveQuestId = function() {
if (this._activeQuestId === undefined) this.initMapQuestWindowSettings();
return this._activeQuestId;
};
Game_System.prototype.setActiveQuestId = function(questId) {
if (this._activeQuestId === undefined) this.initMapQuestWindowSettings();
if (questId === 0 || $dataQuests[questId]) this._activeQuestId = questId;
this.refreshActiveQuestWindow();
};
Game_System.prototype.refreshActiveQuestWindow = function() {
if (SceneManager._scene instanceof Scene_Map) {
SceneManager._scene.refreshActiveQuestWindow();
}
};
if (Yanfly.Param.MQWAddQuest) {
Yanfly.AMQW.Game_System_questAdd = Game_System.prototype.questAdd;
Game_System.prototype.questAdd = function(questId) {
Yanfly.AMQW.Game_System_questAdd.call(this, questId);
this.setActiveQuestId(questId);
};
}; // Yanfly.Param.MQWAddQuest
Yanfly.AMQW.Game_System_questRemove = Game_System.prototype.questRemove;
Game_System.prototype.questRemove = function(questId) {
Yanfly.AMQW.Game_System_questRemove.call(this, questId);
if (this.getActiveQuestId() === questId) {
this.setActiveQuestId(0);
this.refreshActiveQuestWindow();
}
};
Game_System.prototype.setNextAvailableQuestActive = function(condition) {
if (condition) {
var questId = this.getQuestsAvailable()[0];
if (questId) {
this.setActiveQuestId(questId);
} else {
this.setActiveQuestId(0);
}
} else {
this.setActiveQuestId(0);
}
this.refreshActiveQuestWindow();
};
Yanfly.AMQW.Game_System_questSetCompleted =
Game_System.prototype.questSetCompleted;
Game_System.prototype.questSetCompleted = function(questId) {
Yanfly.AMQW.Game_System_questSetCompleted.call(this, questId);
if (this.getActiveQuestId() === questId) {
this.setNextAvailableQuestActive(Yanfly.Param.MQWQuestComplete);
};
};
Yanfly.AMQW.Game_System_questSetFailed =
Game_System.prototype.questSetFailed;
Game_System.prototype.questSetFailed = function(questId) {
Yanfly.AMQW.Game_System_questSetFailed.call(this, questId);
if (this.getActiveQuestId() === questId) {
this.setNextAvailableQuestActive(Yanfly.Param.MQWQuestComplete);
};
};
if (Yanfly.Param.MQWChangeObj) {
Yanfly.AMQW.Game_System_questObjectivesShow =
Game_System.prototype.questObjectivesShow;
Game_System.prototype.questObjectivesShow = function(questId, objId) {
Yanfly.AMQW.Game_System_questObjectivesShow.call(this, questId, objId);
if (this.getActiveQuestId() === questId) {
this.refreshActiveQuestWindow();
};
};
Yanfly.AMQW.Game_System_questObjectivesHide =
Game_System.prototype.questObjectivesHide;
Game_System.prototype.questObjectivesHide = function(questId, objId) {
Yanfly.AMQW.Game_System_questObjectivesHide.call(this, questId, objId);
if (this.getActiveQuestId() === questId) {
this.refreshActiveQuestWindow();
};
};
Yanfly.AMQW.Game_System_questObjectivesNormal =
Game_System.prototype.questObjectivesNormal;
Game_System.prototype.questObjectivesNormal = function(questId, objId) {
Yanfly.AMQW.Game_System_questObjectivesNormal.call(this, questId, objId);
if (this.getActiveQuestId() === questId) {
this.refreshActiveQuestWindow();
};
};
Yanfly.AMQW.Game_System_questObjectivesComplete =
Game_System.prototype.questObjectivesComplete;
Game_System.prototype.questObjectivesComplete = function(questId, objId) {
Yanfly.AMQW.Game_System_questObjectivesComplete.call(this, questId, objId);
if (this.getActiveQuestId() === questId) {
this.refreshActiveQuestWindow();
};
};
Yanfly.AMQW.Game_System_questObjectivesFail =
Game_System.prototype.questObjectivesFail;
Game_System.prototype.questObjectivesFail = function(questId, objId) {
Yanfly.AMQW.Game_System_questObjectivesFail.call(this, questId, objId);
if (this.getActiveQuestId() === questId) {
this.refreshActiveQuestWindow();
};
};
}; // Yanfly.Param.MQWChangeObj
//=============================================================================
// Game_Map
//=============================================================================
if (Yanfly.Param.MQWEventUpdate) {
Yanfly.AMQW.Game_Map_requestRefresh = Game_Map.prototype.requestRefresh;
Game_Map.prototype.requestRefresh = function(mapId) {
Yanfly.AMQW.Game_Map_requestRefresh.call(this, mapId);
if (SceneManager._scene instanceof Scene_Map) {
SceneManager._scene.refreshActiveQuestWindow();
}
};
}; // Yanfly.Param.MQWEventUpdate
//=============================================================================
// Game_Interpreter
//=============================================================================
Yanfly.AMQW.Game_Interpreter_pluginCommand =
Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand = function(command, args) {
Yanfly.AMQW.Game_Interpreter_pluginCommand.call(this, command, args);
if (command === 'SetActiveQuest') {
$gameSystem.setActiveQuestId(parseInt(args[0]));
} else if (command === 'RefreshActiveQuestWindow') {
this.refreshActiveQuestWindow();
} else if (command === 'ShowActiveQuestWindow') {
$gameSystem.setShowMapQuestWindow(true);
} else if (command === 'HideActiveQuestWindow') {
$gameSystem.setShowMapQuestWindow(false);
}
};
Game_Interpreter.prototype.refreshActiveQuestWindow = function() {
if (SceneManager._scene instanceof Scene_Map) {
SceneManager._scene.refreshActiveQuestWindow();
}
};
//=============================================================================
// Window_Options
//=============================================================================
Yanfly.AMQW.Window_Options_addGeneralOptions =
Window_Options.prototype.addGeneralOptions;
Window_Options.prototype.addGeneralOptions = function() {
Yanfly.AMQW.Window_Options_addGeneralOptions.call(this);
if (Imported.YEP_OptionsCore) return;
this.addCommand(Yanfly.Param.MQWOptionCmd, 'mapQuestWindow');
};
//=============================================================================
// Window_QuestList
//=============================================================================
Yanfly.AMQW.Window_QuestList_makeExtraListC =
Window_QuestList.prototype.makeExtraListC;
Window_QuestList.prototype.makeExtraListC = function() {
Yanfly.AMQW.Window_QuestList_makeExtraListC.call(this);
this.addSetActiveCommand();
this.addClearActiveCommand();
};
Window_QuestList.prototype.addSetActiveCommand = function() {
var questId = this._forcedExt;
if (questId === $gameSystem.getActiveQuestId()) {
var text = String(Yanfly.Param.MQWCurActive);
this.addCommand(text, 'curActive', false);
} else {
var text = String(Yanfly.Param.MQWSetActive);
var enable = this.canBeMadeActive(questId);
this.addCommand(text, 'setActive', enable);
}
};
Window_QuestList.prototype.canBeMadeActive = function(questId) {
return $gameSystem.getQuestsAvailable().contains(questId);
};
Window_QuestList.prototype.addClearActiveCommand = function() {
var text = String(Yanfly.Param.MQWClearActive);
var enable = $gameSystem.getActiveQuestId() > 0;
this.addCommand(text, 'clearActive', enable);
};
//=============================================================================
// Window_MapActiveQuest
//=============================================================================
function Window_MapActiveQuest() {
this.initialize.apply(this, arguments);
};
Window_MapActiveQuest.prototype = Object.create(Window_Base.prototype);
Window_MapActiveQuest.prototype.constructor = Window_MapActiveQuest;
Window_MapActiveQuest.prototype.initialize = function() {
this._windowHeight = this.standardPadding() * 2 + this.lineHeight() * 2;
var scale = parseFloat(this.settings('Scale'));
var width = this.windowWidth();
var height = this.windowHeight();
var x = Math.round(eval(this.settings('X')));
var y = Math.round(eval(this.settings('Y')));
width = Math.ceil(width / scale);
this._allTextHeight = 0;
this._requestRefresh = false;
this._visibleCounter = 0;
Window_Base.prototype.initialize.call(this, x, y, width, height);
this.scale.x = scale;
this.scale.y = scale;
this.refresh();
if (!this.activeQuest()) this.visible = false;
};
Window_MapActiveQuest.prototype.settings = function(key) {
return Yanfly.Param.MQWSettings[key];
};
Window_MapActiveQuest.prototype.wordWrap = function() {
if (!Imported.YEP_MessageCore) return false;
if (this._wordWrapSetting === undefined) {
this._wordWrapSetting = eval(this.settings('Word Wrap Objectives'));
}
return this._wordWrapSetting;
};
Window_MapActiveQuest.prototype.windowWidth = function() {
if (this._windowWidth === undefined) {
this._windowWidth = Math.round(eval(this.settings('Width')));
}
return this._windowWidth;
};
Window_MapActiveQuest.prototype.windowHeight = function() {
return this._windowHeight;
};
Window_MapActiveQuest.prototype.lineHeight = function() {
if (this._windowLineHeight === undefined) {
this._windowLineHeight = parseInt(this.settings('Line Height'));
}
return this._windowLineHeight;
};
Window_MapActiveQuest.prototype.standardFontFace = function() {
if (this._windowFontFace === undefined) {
this._windowFontFace = this.settings('Font Face');
}
return this._windowFontFace;
};
Window_MapActiveQuest.prototype.standardFontSize = function() {
if (this._windowFontSize === undefined) {
this._windowFontSize = Math.round(eval(this.settings('Font Size')));
}
return this._windowFontSize;
};
Window_MapActiveQuest.prototype.standardPadding = function() {
if (this._windowStandardPadding === undefined) {
this._windowStandardPadding =
Math.round(eval(this.settings('Standard Padding')));
}
return this._windowStandardPadding;
};
Window_MapActiveQuest.prototype.textPadding = function() {
if (this._windowTextPadding === undefined) {
this._windowTextPadding = Math.round(eval(this.settings('Text Padding')));
}
return this._windowTextPadding;
};
Window_MapActiveQuest.prototype.standardBackOpacity = function() {
if (this._windowBackOpacity === undefined) {
this._windowBackOpacity = Math.round(eval(this.settings('Back Opacity')));
}
return this._windowBackOpacity;
};
Window_MapActiveQuest.prototype.loadWindowskin = function() {
this.windowskin = ImageManager.loadSystem(this.settings('Window Skin'));
};
Window_MapActiveQuest.prototype.activeQuest = function() {
return $dataQuests[$gameSystem.getActiveQuestId()];
};
Window_MapActiveQuest.prototype.refresh = function() {
this.contents.clear();
if (!this.activeQuest()) return;
this.drawQuestData();
};
Window_MapActiveQuest.prototype.textWidthEx = function(text) {
return this.drawTextEx(text, 0, this.contents.height);
};
Window_MapActiveQuest.prototype.drawHorzLine = function(y) {
var lineY = y;
this.contents.paintOpacity = 128;
this.contents.fillRect(0, lineY, this.contentsWidth(), 2, this.normalColor());
this.contents.paintOpacity = 255;
};
Window_MapActiveQuest.prototype.drawQuestData = function() {
this.resetFontSettings();
this.height = Graphics.boxHeight;
this._windowHeight = this.height;
this.createContents();
this.drawQuestDataName();
this.drawHorzLine(this.lineHeight());
this.drawQuestDataObjectives();
this.height = this._allTextHeight + this.lineHeight() +
this.standardPadding() * 2;
this._windowHeight = this.height;
};
Window_MapActiveQuest.prototype.drawQuestDataName = function() {
var text = this.activeQuest().name;
var ww = this.textWidthEx(text);
var wx = (this.contents.width - ww) / 2;
this.drawTextEx(text, wx, 0);
};
Window_MapActiveQuest.prototype.drawQuestDataObjectives = function() {
var text = this.wordWrap() ? '<WordWrap>' : '';
var questId = this.activeQuest().id;
var lineData = this.activeQuest().objectives;
var objectives = $gameSystem.getQuestObjectives(questId);
var length = objectives.length;
var first = false;
for (var i = 0; i < length; ++i) {
var objId = objectives[i];
var key = $gameSystem.getQuestObjectiveStatus(questId, objId);
var status = $gameSystem.getQuestObjectiveStatus(questId, objId)
if (status !== 'Uncleared Objective') continue;
if (first) text += this.wordWrap() ? '<br>' : '\n';
first = true;
var fmt = Yanfly.Param.QuestDataWindow[key];
text += fmt.format(JSON.parse(lineData[objId]));
}
this.drawQuestTextEx(text, 0, this.lineHeight());
};
Window_MapActiveQuest.prototype.drawQuestTextEx = function(text, x, y) {
if (text) {
var textState = { index: 0, x: x, y: y, left: x };
textState.text = this.convertEscapeCharacters(text);
textState.height = this.calcTextHeight(textState, false);
this.resetFontSettings();
while (textState.index < textState.text.length) {
this.processCharacter(textState);
}
this._allTextHeight = textState.y - y + this.lineHeight();
return textState.x - x;
} else {
return 0;
}
};
Window_MapActiveQuest.prototype.update = function() {
this.updateRefresh();
Window_Base.prototype.update.call(this);
this.updateVisible();
};
Window_MapActiveQuest.prototype.updateRefresh = function() {
if (this._requestRefresh) {
this.refresh()
this._requestRefresh = false;
}
};
Window_MapActiveQuest.prototype.updateVisible = function() {
var visible = this.isWindowVisible();
if (visible && this._visibleCounter <= 0) {
this.visible = true;
} else if (visible) {
this._visibleCounter -= 1;
this.visible = false;
} else {
this._visibleCounter = 10;
this.visible = false;
}
};
Window_MapActiveQuest.prototype.isWindowVisible = function() {
if (!ConfigManager.mapQuestWindow) return false;
if (!this.activeQuest()) return false;
if ($gameMessage.isBusy()) return false;
if (SceneManager.isSceneChanging()) return false;
return $gameSystem.isShowMapQuestWindow();
};
Window_MapActiveQuest.prototype.requestRefresh = function(value) {
this._requestRefresh = value;
};
//=============================================================================
// Scene_Map
//=============================================================================
Yanfly.AMQW.Scene_Map_createAllWindows = Scene_Map.prototype.createAllWindows;
Scene_Map.prototype.createAllWindows = function() {
Yanfly.AMQW.Scene_Map_createAllWindows.call(this);
this.createMapQuestWindow();
};
Scene_Map.prototype.createMapQuestWindow = function() {
this._activeQuestWindow = new Window_MapActiveQuest();
this.addWindow(this._activeQuestWindow);
};
Scene_Map.prototype.refreshActiveQuestWindow = function() {
if (this._activeQuestWindow) this._activeQuestWindow.requestRefresh(true);
};
//=============================================================================
// Scene_Quest
//=============================================================================
Yanfly.AMQW.Scene_Quest_createListWindow =
Scene_Quest.prototype.createListWindow;
Scene_Quest.prototype.createListWindow = function() {
Yanfly.AMQW.Scene_Quest_createListWindow.call(this);
this._listWindow.setHandler('setActive', this.onListSetActive.bind(this));
this._listWindow.setHandler('clearActive', this.onListClearActive.bind(this));
};
Yanfly.AMQW.Scene_Quest_isQuestExtraCommand =
Scene_Quest.prototype.isQuestExtraCommand;
Scene_Quest.prototype.isQuestExtraCommand = function() {
return true;
};
Scene_Quest.prototype.onListSetActive = function() {
this._listWindow.activate();
$gameSystem.setActiveQuestId(this._listWindow.currentExt());
this._listWindow.refresh();
};
Scene_Quest.prototype.onListClearActive = function() {
this._listWindow.activate();
$gameSystem.setActiveQuestId(0);
this._listWindow.refresh();
};
//=============================================================================
// End of Main Functions
//=============================================================================
} else {
var text = '';
text += 'You are getting this error because you are trying to run ';
text += 'YEP_X_MapQuestWindow without YEP_QuestJournal. Please visit Yanfly.moe ';
text += 'and install YEP_QuestJournal in your game project before you can use ';
text += 'this plugin.';
console.log(text);
require('nw.gui').Window.get().showDevTools();
}
//=============================================================================
// End of File
//=============================================================================

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save