.. include:: global.inc.rst ============ 偶遇事件 ============ :Authors: innoxia, CK_Rainbow, AceXP 偶遇事件(Encounters)即在地图上行进过程中,会随机或固定触发的事件。 你可以在 :ltgithub:`res/encounters/` 文件夹中找到正在使用的偶遇事件。 通用信息 -------------- 在xml文件中,根元素的标签需要设置为 ``encounterRoot``。 偶遇事件一般用于添加随机风味事件;或者用于覆盖对应 :ref:`place_types` 的内置对话,以达成触发额外对话链的功能。 additionalPlaceTypeTrigger --------------------------- 该元素下的内容代表了该偶遇事件可能触发的 :ref:`place_types` 。每一种类型都需要使用 ``placeType`` 元素包裹。在此处定义的地点类型对于其下定义的偶遇事件通用。 placeType ~~~~~~~~~~~ 对于 ``placeType`` 中可以填入的内容,请参见 :ref:`items-identifier`。下面的例子中代表该偶遇事件只会在 ``ANGELS_KISS_OFFICE`` 中检测触发。 .. code:: xml ANGELS_KISS_OFFICE possibleEncounters ----------------------------- 该元素下的内容即偶遇事件的具体定义。每一种偶遇事件都将由对应的 `encounter`_ 元素定义。可以定义多个 ``encounter`` 元素。 encounter ~~~~~~~~~~~~~ 该元素中定义了单个偶遇事件的具体内容。 name ^^^^^^^ 该元素定义了偶遇事件的名称。目前该名称仅用于debug。 chanceToTrigger ^^^^^^^^^^^^^^^^^^ 该元素定义了这个偶遇事件的触发概率,并且会进行 :ref:`parse`,达成依照不同条件调整概率的功能。在该部分中,无法使用 ``npc`` 等作为解析主体。若返回0则代表无法触发。 **节点属性:** .. nodevar:: opportunisticEncounter () 属性 ``opportunisticEncounter`` 必须填写, ``false`` 代表该偶遇事件不受“机会主义”的影响,不会受到权重加成,反之则受影响。 下例展示了一个十分复杂的概率判定,以展示其能力。 .. code:: xml dialogueReturned ^^^^^^^^^^^^^^^^^ 该元素定义了这个偶遇事件触发后,游戏将会调用哪个对话。对于其中中可以填入的内容,请参见 :ref:`items-identifier`。 .. code:: xml