Class GameLogic#

class GameLogic: Base.GameLogic#
assignRoles(self: GameLogic)#

分配身份

chooseGenerals(self: GameLogic)#

进行选将

broadcastGeneral(self: GameLogic)#

公布武将

getActualDamageEvents(
    self: GameLogic,
    n: integer,
    func?: fun(e: GameEvent.Damage): boolean,
    scope?: integer,
    end_id?: integer
): GameEvent.Damage[]#

获取实际的伤害事件

Parameters:
  • n (integer) -- 最多找多少个

  • func? (fun(e: GameEvent.Damage): boolean) -- 过滤用的函数

  • scope? (integer) -- 查询历史范围,只能是当前阶段/回合/轮次

  • end_id? (integer) -- 查询历史范围:从最后的事件开始逆序查找直到id为end_id的事件(不含)

Returns:

_1 (GameEvent.Damage[]) -- 找到的符合条件的所有事件,最多n个但不保证有n个

damageByCardEffect(self: GameLogic, is_exact?: boolean): boolean?#

检测最近的伤害事件是否由执行牌的效果触发,即通常描述的使用牌对目标角色造成伤害

Parameters:

is_exact? (boolean) -- 是否进一步判定使用者和来源是否一致(默认为true)

moveCardsHoldingAreaCheck(self: GameLogic, cards: integer[], end_id?: integer): integer[]#

判定一些卡牌在此次移动事件发生之后没有再被移动过。根据规则集,如果需要在卡牌移动后对参与此事件的卡牌进行操作,是需要过一遍这个检测的(注意:由于洗牌的存在,若判定处在弃牌堆的卡牌需要手动判区域)

Parameters:
  • cards (integer[]) -- 待判定的卡牌

  • end_id? (integer) -- 查询历史范围:从最后的事件开始逆序查找直到id为end_id的事件(不含),缺省值为当前移动事件的id

Returns:

_1 (integer[]) -- 返回满足条件的卡牌的id列表