Index: script/0.txt ================================================================== --- script/0.txt +++ script/0.txt @@ -7,28 +7,28 @@ 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.AddCard(19230408,0,0,LOCATION_SZONE,0,POS_FACEDOWN) +Debug.AddCard(27288416,0,0,LOCATION_MZONE,0,POS_FACEUP_ATTACK) ----------------- ----------------- ----------------- - ------------------ - +Debug.AddCard(48461764,1,1,LOCATION_MZONE,0,POS_FACEUP_ATTACK) Debug.ReloadFieldEnd() aux.BeginPuzzle() 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,11 +121,23 @@
  • 3 小结
  • 4 原因
  • 1 正常

    1.1

    @@ -3094,10 +3106,11 @@ Debug.ReloadFieldEnd() --~ aux.BeginPuzzle()

    4.2 料理对决类的失误

    +

    4.2.1 分析

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

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

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

    @@ -3113,10 +3126,11 @@

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

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

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

    +

    4.2.2

    Debug.SetAIName("base-2")
     
     Debug.ReloadFieldBegin(DUEL_ATTACK_FIRST_TURN+DUEL_SIMPLE_AI,5)
     
     Debug.SetPlayerInfo(0,8000,0,0)
    @@ -3147,10 +3161,161 @@
     
     Debug.ReloadFieldEnd()
     
     aux.BeginPuzzle()
     
    +
    +

    4.2.3

    +
    Debug.SetAIName("base-2")
    +
    +Debug.ReloadFieldBegin(DUEL_ATTACK_FIRST_TURN,5)
    +
    +Debug.SetPlayerInfo(0,8000,0,0)
    +
    +Debug.SetPlayerInfo(1,8000,0,0)
    +
    +
    +-----------------
    +
    +
    +-----------------
    +
    +
    +-----------------
    +
    +Debug.AddCard(45815891,0,0,LOCATION_MZONE,0,POS_FACEUP_ATTACK)
    +
    +-----------------
    +
    +
    +-----------------
    +
    +Debug.AddCard(98978921,1,1,LOCATION_EXTRA,0,POS_FACEDOWN)
    +
    +-----------------
    +
    +Debug.AddCard(27288416,1,1,LOCATION_MZONE,0,POS_FACEUP_ATTACK)
    +
    +Debug.ReloadFieldEnd()
    +
    +--~ aux.BeginPuzzle()
    +
    +
    +

    4.2.4

    +
    Debug.SetAIName("base-2")
    +
    +Debug.ReloadFieldBegin(DUEL_ATTACK_FIRST_TURN,5)
    +
    +Debug.SetPlayerInfo(0,8000,0,0)
    +
    +Debug.SetPlayerInfo(1,8000,0,0)
    +
    +
    +-----------------
    +
    +
    +-----------------
    +
    +
    +-----------------
    +
    +Debug.AddCard(45815891,0,0,LOCATION_MZONE,5,POS_FACEUP_ATTACK)
    +
    +-----------------
    +
    +
    +-----------------
    +
    +Debug.AddCard(98978921,1,1,LOCATION_EXTRA,0,POS_FACEDOWN)
    +
    +-----------------
    +
    +Debug.AddCard(27288416,1,1,LOCATION_MZONE,0,POS_FACEUP_ATTACK)
    +
    +Debug.ReloadFieldEnd()
    +
    +--~ aux.BeginPuzzle()
    +
    +
    +

    4.2.5

    +
    Debug.SetAIName("base-2")
    +
    +Debug.ReloadFieldBegin(DUEL_ATTACK_FIRST_TURN,5)
    +
    +Debug.SetPlayerInfo(0,8000,0,0)
    +
    +Debug.SetPlayerInfo(1,8000,0,0)
    +
    +
    +-----------------
    +
    +
    +-----------------
    +
    +
    +-----------------
    +
    +Debug.AddCard(45815891,0,0,LOCATION_MZONE,6,POS_FACEUP_ATTACK)
    +
    +-----------------
    +
    +
    +-----------------
    +
    +Debug.AddCard(98978921,1,1,LOCATION_EXTRA,0,POS_FACEDOWN)
    +
    +-----------------
    +
    +Debug.AddCard(27288416,1,1,LOCATION_MZONE,0,POS_FACEUP_ATTACK)
    +
    +Debug.ReloadFieldEnd()
    +
    +--~ aux.BeginPuzzle()
    +
    +
    +

    4.3 残局模式的 act.png 问题

    +

    4.3.1 分析

    +

    当我方在残局模式控制对方并且到了对方回合时, act.png +并没有显示到对方区域,而是显示到了我方区域。

    +

    这是由于 drawing.cpp 在绘制 act.png +时并没有考虑到残局模式的这一情况。

    +

    也就是说,一般情况下是遇不到这个失误的。

    +

    4.3.2

    +
    Debug.SetAIName("base-2")
    +
    +Debug.ReloadFieldBegin(DUEL_ATTACK_FIRST_TURN,5)
    +
    +Debug.SetPlayerInfo(0,8000,0,0)
    +
    +Debug.SetPlayerInfo(1,8000,0,0)
    +
    +
    +-----------------
    +
    +
    +-----------------
    +
    +
    +-----------------
    +
    +--~ Debug.AddCard(45815891,0,0,LOCATION_MZONE,5,POS_FACEUP_ATTACK)
    +
    +-----------------
    +
    +
    +-----------------
    +
    +Debug.AddCard(98978921,1,1,LOCATION_EXTRA,0,POS_FACEDOWN)
    +
    +-----------------
    +
    +Debug.AddCard(27288416,1,1,LOCATION_MZONE,0,POS_FACEUP_ATTACK)
    +
    +Debug.ReloadFieldEnd()
    +
    +--~ aux.BeginPuzzle()
    +