Index: script/0.txt ================================================================== --- script/0.txt +++ script/0.txt @@ -7,21 +7,22 @@ Debug.SetPlayerInfo(1,8000,0,0) ----------------- -Debug.AddCard(27288416,0,0,LOCATION_HAND,0,POS_FACEDOWN) +Debug.AddCard(46485778,0,0,LOCATION_DECK,0,POS_FACEDOWN) +Debug.AddCard(14283055,0,0,LOCATION_HAND,0,POS_FACEDOWN) ----------------- +Debug.AddCard(26435595,0,0,LOCATION_EXTRA,0,POS_FACEDOWN) ----------------- ----------------- -Debug.AddCard(27288416,1,1,LOCATION_HAND,0,POS_FACEDOWN) ----------------- ----------------- Index: single_doc/场景.html ================================================================== --- single_doc/场景.html +++ single_doc/场景.html @@ -19,11 +19,11 @@ margin: 0 0.8em 0.2em -1.6em; vertical-align: middle; } .display.math{display: block; text-align: center; margin: 0.5rem auto;} - + @@ -121,10 +121,11 @@
  • 3 小结
  • 4 原因
  • 1 正常

    1.1

    @@ -3091,10 +3092,65 @@ Debug.ReloadFieldEnd() --~ aux.BeginPuzzle() + +

    4.2 料理对决类的失误

    +

    「糕冷的料理对决」应该可以把「圣菓使 +考维曲天使」特殊召唤到对方的额外怪兽区域,但现在,虽然出现了代表可选的背景线,但是却不能选择那个区域。

    +

    同样的事情,也发生在残局模式中,比如当我方控制对方要特殊召唤怪兽到额外怪兽区域时,就也出现了代表可选的背景线,但是却不能选择那个区域。

    +

    通过对残局模式的追踪,可以发现,当我方控制对方要特殊召唤怪兽到额外怪兽区域时, +MSG_SELECT_PLACE 有两个值是异常的:

    +
      +
    1. hovered_controler

    2. +
    3. selectable_field

    4. +
    +

    当要确定 selectable_field 时, hovered_controler 的值会影响到 +selectable_field 的值,主要是让 selectable_field 的高 16 位与低 16 +位进行互换。

    +

    也就是说,低 16 位用来表示我方可选区域,高 16 +位用来表示对方可选区域。

    +

    之所以要用互换,而不是用直接移位,估计是因为我方与对方的视角不同。

    +

    那么为什么 hovered_controler 的值会出现异常?

    +

    这是因为 event_handler.cpp +在处理额外怪兽区域悬停消息的时候,只考虑到了这个区域是否有卡,而没有考虑到 +selectable_field 。

    +
    Debug.SetAIName("base-2")
    +
    +Debug.ReloadFieldBegin(DUEL_ATTACK_FIRST_TURN+DUEL_SIMPLE_AI,5)
    +
    +Debug.SetPlayerInfo(0,8000,0,0)
    +
    +Debug.SetPlayerInfo(1,8000,0,0)
    +
    +
    +-----------------
    +
    +Debug.AddCard(46485778,0,0,LOCATION_DECK,0,POS_FACEDOWN)
    +Debug.AddCard(14283055,0,0,LOCATION_HAND,0,POS_FACEDOWN)
    +
    +-----------------
    +
    +Debug.AddCard(26435595,0,0,LOCATION_EXTRA,0,POS_FACEDOWN)
    +
    +-----------------
    +
    +
    +-----------------
    +
    +
    +-----------------
    +
    +
    +-----------------
    +
    +
    +Debug.ReloadFieldEnd()
    +
    +aux.BeginPuzzle()
    +