refactor(logic): 删除战斗系统相关代码
- 移除 battle 目录下的所有文件 - 删除 fight/battle 目录及其内容 - 更新 go.mod 和 go.sum 文件,移除相关依赖
This commit is contained in:
@@ -33,6 +33,7 @@ require (
|
|||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
github.com/badu/bus v1.0.3
|
||||||
github.com/gogf/gf/v2 v2.6.3
|
github.com/gogf/gf/v2 v2.6.3
|
||||||
github.com/panjf2000/gnet/v2 v2.9.1
|
github.com/panjf2000/gnet/v2 v2.9.1
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0=
|
github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0=
|
||||||
github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
|
github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
|
||||||
|
github.com/badu/bus v1.0.3 h1:MViRRyuFraixfaI2rfAqrkQao7ZilyFz6HacbmPk1aE=
|
||||||
|
github.com/badu/bus v1.0.3/go.mod h1:77qc3Fi2qSUoakSR34PIWrTHB6gM2NJKceRsYUbx41Q=
|
||||||
github.com/butoften/array v1.0.9 h1:/kPHAc+fHz72u5B23p2W1RzIoT2eOYvhsY0tKMvsHEc=
|
github.com/butoften/array v1.0.9 h1:/kPHAc+fHz72u5B23p2W1RzIoT2eOYvhsY0tKMvsHEc=
|
||||||
github.com/butoften/array v1.0.9/go.mod h1:RgJ3XIUy/Z2rQllTkXmS4LtfqJeD3mjYJ4XoP3odTqM=
|
github.com/butoften/array v1.0.9/go.mod h1:RgJ3XIUy/Z2rQllTkXmS4LtfqJeD3mjYJ4XoP3odTqM=
|
||||||
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
|
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package fight
|
package mode
|
||||||
|
|
||||||
import "github.com/tnnmigga/enum"
|
import "github.com/tnnmigga/enum"
|
||||||
|
|
||||||
140
logic/service/fight/battle/node/def.go
Normal file
140
logic/service/fight/battle/node/def.go
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
package node
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
|
// 基础上下文
|
||||||
|
type EffectContext struct {
|
||||||
|
Turn int // 当前回合数
|
||||||
|
Actor string // 当前行动者(谁在出手)
|
||||||
|
Target string // 当前目标(技能攻击对象)
|
||||||
|
Skill string // 使用的技能
|
||||||
|
Extra map[string]interface{} // 临时附加信息(状态、标记、计算中间值等)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 节点类型
|
||||||
|
type NodeFunc func(ctx *EffectContext, next func())
|
||||||
|
|
||||||
|
type EffectNode struct {
|
||||||
|
Name string
|
||||||
|
Exec NodeFunc
|
||||||
|
}
|
||||||
|
|
||||||
|
// 节点管理器
|
||||||
|
type NodeRunner struct {
|
||||||
|
nodes []*EffectNode
|
||||||
|
index int
|
||||||
|
ctx *EffectContext
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewNodeRunner(ctx *EffectContext, nodes []*EffectNode) *NodeRunner {
|
||||||
|
return &NodeRunner{
|
||||||
|
nodes: nodes,
|
||||||
|
index: 0,
|
||||||
|
ctx: ctx,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 执行下一个节点
|
||||||
|
func (r *NodeRunner) Run() {
|
||||||
|
if r.index >= len(r.nodes) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
current := r.nodes[r.index]
|
||||||
|
r.index++
|
||||||
|
current.Exec(r.ctx, r.Run)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 跳过当前节点
|
||||||
|
func (r *NodeRunner) Skip() {
|
||||||
|
r.index++
|
||||||
|
r.Run()
|
||||||
|
}
|
||||||
|
|
||||||
|
// ------------------------
|
||||||
|
// 定义战斗流程节点
|
||||||
|
// ------------------------
|
||||||
|
func BuildBattleNodes() []*EffectNode {
|
||||||
|
return []*EffectNode{
|
||||||
|
{Name: "战斗开始", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("OnBattleStart")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
{Name: "登场/切换", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("OnSwitchIn / OnSwitchOut / OnTransform")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
{Name: "回合开始", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("TurnStart")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
{Name: "操作阶段", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("选择技能 / 使用道具 / 切换")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
{Name: "先手判定", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("先手权判定")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
{Name: "先手出手-前置", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("BeforeUseSkillCheck / BeforeHit / OnMiss")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
{Name: "先手出手-技能命中", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("技能命中判定 / 初始伤害公式 / 红伤数值计算")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
{Name: "先手出手-技能效果结算", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("技能效果结算 / 魂印 / 套装 / 回合类效果")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
{Name: "先手出手-伤害结算", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("最终伤害生效 / 体力扣除")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
{Name: "先手出手-行动结束", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("行动后效果 / 额外行动 / 机盖弹伤 / 出手结束效果")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
{Name: "后手出手", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("后手节点同先手节点")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
{Name: "回合结束后①", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("回合结束后通用时点① / 桃园回血 / 回合扣减①")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
{Name: "回合结束后②", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("回合结束后通用时点② / 战争猎魔 / 16年魂印续航")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
{Name: "死亡判定", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("死亡结算 / 保护机制")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
{Name: "击败/未击败判定", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("击败触发效果 / 未击败触发效果")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
{Name: "进入下回合", Exec: func(ctx *EffectContext, next func()) {
|
||||||
|
fmt.Println("进入下回合,流程重新开始")
|
||||||
|
next()
|
||||||
|
}},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ------------------------
|
||||||
|
// 测试运行
|
||||||
|
// ------------------------
|
||||||
|
func TestBattleFlow() {
|
||||||
|
ctx := &EffectContext{
|
||||||
|
Turn: 1,
|
||||||
|
Actor: "PlayerA",
|
||||||
|
Target: "PlayerB",
|
||||||
|
Skill: "火球",
|
||||||
|
Extra: map[string]interface{}{},
|
||||||
|
}
|
||||||
|
|
||||||
|
nodes := BuildBattleNodes()
|
||||||
|
runner := NewNodeRunner(ctx, nodes)
|
||||||
|
runner.Run()
|
||||||
|
}
|
||||||
@@ -1,10 +1,15 @@
|
|||||||
package effect
|
package node
|
||||||
|
|
||||||
import "github.com/tnnmigga/enum"
|
import "github.com/tnnmigga/enum"
|
||||||
|
|
||||||
type EnumEffectTrigger string
|
// EnumEffectTrigger 效果触发时机枚举类型
|
||||||
|
// 定义了战斗中各种效果的触发时机点
|
||||||
|
type EnumEffectTrigger int
|
||||||
|
|
||||||
|
// EffectTrigger 效果触发时机枚举实例
|
||||||
|
// 包含战斗过程中所有可能触发效果的关键时间点
|
||||||
var EffectTrigger = enum.New[struct {
|
var EffectTrigger = enum.New[struct {
|
||||||
|
// 已有的触发时机
|
||||||
OnBattleStart EnumEffectTrigger `enum:"OnBattleStart"` // 战斗开始时触发
|
OnBattleStart EnumEffectTrigger `enum:"OnBattleStart"` // 战斗开始时触发
|
||||||
BeforeSort EnumEffectTrigger `enum:"BeforeSort"` // 先手顺序判定前触发
|
BeforeSort EnumEffectTrigger `enum:"BeforeSort"` // 先手顺序判定前触发
|
||||||
BeforeUseSkillCheck EnumEffectTrigger `enum:"BeforeUseSkillCheck"` // 使用技能前检查(PP、状态等)
|
BeforeUseSkillCheck EnumEffectTrigger `enum:"BeforeUseSkillCheck"` // 使用技能前检查(PP、状态等)
|
||||||
@@ -51,4 +56,48 @@ var EffectTrigger = enum.New[struct {
|
|||||||
OnOwnerSwitchOut EnumEffectTrigger `enum:"OnOwnerSwitchOut"` // 所属玩家精灵下场时触发
|
OnOwnerSwitchOut EnumEffectTrigger `enum:"OnOwnerSwitchOut"` // 所属玩家精灵下场时触发
|
||||||
BeforeEffect EnumEffectTrigger `enum:"BeforeEffect"` // 效果生效前触发
|
BeforeEffect EnumEffectTrigger `enum:"BeforeEffect"` // 效果生效前触发
|
||||||
AfterEffect EnumEffectTrigger `enum:"AfterEffect"` // 效果生效后触发
|
AfterEffect EnumEffectTrigger `enum:"AfterEffect"` // 效果生效后触发
|
||||||
|
|
||||||
|
// 补充的触发时机
|
||||||
|
OnBattleEnd EnumEffectTrigger `enum:"OnBattleEnd"` // 战斗结束时触发
|
||||||
|
OnRoundNumber EnumEffectTrigger `enum:"OnRoundNumber"` // 特定回合数时触发
|
||||||
|
OnMaxHPChange EnumEffectTrigger `enum:"OnMaxHPChange"` // 最大生命值变化时触发
|
||||||
|
OnHPPercentLow EnumEffectTrigger `enum:"OnHPPercentLow"` // 生命值低于特定百分比时触发
|
||||||
|
OnHPPercentHigh EnumEffectTrigger `enum:"OnHPPercentHigh"` // 生命值高于特定百分比时触发
|
||||||
|
OnStatusAdd EnumEffectTrigger `enum:"OnStatusAdd"` // 获得状态时触发
|
||||||
|
OnStatusRemove EnumEffectTrigger `enum:"OnStatusRemove"` // 状态被移除时触发
|
||||||
|
OnStatusRefresh EnumEffectTrigger `enum:"OnStatusRefresh"` // 状态被刷新时触发
|
||||||
|
OnStatusDurationEnd EnumEffectTrigger `enum:"OnStatusDurationEnd"` // 状态持续回合结束时触发
|
||||||
|
OnAlliesDefeated EnumEffectTrigger `enum:"OnAlliesDefeated"` // 友方单位被击败时触发
|
||||||
|
OnEnemiesDefeated EnumEffectTrigger `enum:"OnEnemiesDefeated"` // 敌方单位被击败时触发
|
||||||
|
OnSkillTypeUsed EnumEffectTrigger `enum:"OnSkillTypeUsed"` // 特定类型技能被使用时触发
|
||||||
|
OnSpecificSkillUsed EnumEffectTrigger `enum:"OnSpecificSkillUsed"` // 特定技能被使用时触发
|
||||||
|
OnDeath EnumEffectTrigger `enum:"OnDeath"` // 自身死亡时触发
|
||||||
|
OnRevive EnumEffectTrigger `enum:"OnRevive"` // 被复活时触发
|
||||||
|
OnFullHP EnumEffectTrigger `enum:"OnFullHP"` // 生命值回满时触发
|
||||||
|
OnZeroHP EnumEffectTrigger `enum:"OnZeroHP"` // 生命值归零时触发
|
||||||
|
OnMaxRage EnumEffectTrigger `enum:"OnMaxRage"` // 怒气值满时触发
|
||||||
|
OnZeroRage EnumEffectTrigger `enum:"OnZeroRage"` // 怒气值归零时触发
|
||||||
|
OnWeatherChange EnumEffectTrigger `enum:"OnWeatherChange"` // 天气变化时触发
|
||||||
|
OnFieldStateChange EnumEffectTrigger `enum:"OnFieldStateChange"` // 场地状态变化时触发
|
||||||
|
OnItemUsed EnumEffectTrigger `enum:"OnItemUsed"` // 使用物品时触发
|
||||||
|
OnBeforeItemUse EnumEffectTrigger `enum:"OnBeforeItemUse"` // 使用物品前触发
|
||||||
|
OnAfterItemUse EnumEffectTrigger `enum:"OnAfterItemUse"` // 使用物品后触发
|
||||||
|
OnSwapFailed EnumEffectTrigger `enum:"OnSwapFailed"` // 交换精灵失败时触发
|
||||||
|
OnAllEnemiesDefeated EnumEffectTrigger `enum:"OnAllEnemiesDefeated"` // 所有敌方单位被击败时触发
|
||||||
|
OnAllAlliesDefeated EnumEffectTrigger `enum:"OnAllAlliesDefeated"` // 所有友方单位被击败时触发
|
||||||
|
OnComboHit EnumEffectTrigger `enum:"OnComboHit"` // 连击达到特定次数时触发
|
||||||
|
OnMissContinuous EnumEffectTrigger `enum:"OnMissContinuous"` // 连续未命中特定次数时触发
|
||||||
|
OnCritContinuous EnumEffectTrigger `enum:"OnCritContinuous"` // 连续暴击特定次数时触发
|
||||||
|
OnBeforeFaint EnumEffectTrigger `enum:"OnBeforeFaint"` // 即将昏厥前触发
|
||||||
|
OnImmuneDamage EnumEffectTrigger `enum:"OnImmuneDamage"` // 免疫伤害时触发
|
||||||
|
OnDamageReflect EnumEffectTrigger `enum:"OnDamageReflect"` // 反弹伤害时触发
|
||||||
|
OnAbsorbDamage EnumEffectTrigger `enum:"OnAbsorbDamage"` // 吸收伤害时触发
|
||||||
|
OnStealHP EnumEffectTrigger `enum:"OnStealHP"` // 偷取生命值时触发
|
||||||
|
OnCopySkill EnumEffectTrigger `enum:"OnCopySkill"` // 复制技能时触发
|
||||||
|
OnSkillSealed EnumEffectTrigger `enum:"OnSkillSealed"` // 技能被封印时触发
|
||||||
|
OnSkillUnsealed EnumEffectTrigger `enum:"OnSkillUnsealed"` // 技能封印解除时触发
|
||||||
|
OnSilenced EnumEffectTrigger `enum:"OnSilenced"` // 被沉默时触发
|
||||||
|
OnSilenceEnd EnumEffectTrigger `enum:"OnSilenceEnd"` // 沉默状态结束时触发
|
||||||
|
OnStunned EnumEffectTrigger `enum:"OnStunned"` // 被眩晕时触发
|
||||||
|
OnStunEnd EnumEffectTrigger `enum:"OnStunEnd"` // 眩晕状态结束时触发
|
||||||
}]()
|
}]()
|
||||||
87
logic/service/fight/battle/over/pool.go
Normal file
87
logic/service/fight/battle/over/pool.go
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
package over
|
||||||
|
|
||||||
|
import "sync"
|
||||||
|
|
||||||
|
// 战斗结束原因池,用于管理战斗结束的各种原因数据
|
||||||
|
type BattleOverPool struct {
|
||||||
|
dataMap map[EnumBattleOverReason]BattleOverData
|
||||||
|
size int
|
||||||
|
value BattleOverData
|
||||||
|
mutex sync.RWMutex // 用于并发安全
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初始化战斗结束原因池
|
||||||
|
func NewBattleOverPool() *BattleOverPool {
|
||||||
|
return &BattleOverPool{
|
||||||
|
dataMap: make(map[EnumBattleOverReason]BattleOverData),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 添加战斗结束原因
|
||||||
|
func (p *BattleOverPool) PushReason(reason EnumBattleOverReason, data BattleOverData) {
|
||||||
|
p.mutex.Lock()
|
||||||
|
defer p.mutex.Unlock()
|
||||||
|
|
||||||
|
p.dataMap[reason] = data
|
||||||
|
p.value = data
|
||||||
|
p.size++
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取并移除指定的战斗结束原因
|
||||||
|
func (p *BattleOverPool) PopReason(reason EnumBattleOverReason) BattleOverData {
|
||||||
|
p.mutex.Lock()
|
||||||
|
defer p.mutex.Unlock()
|
||||||
|
|
||||||
|
data, exists := p.dataMap[reason]
|
||||||
|
if exists {
|
||||||
|
delete(p.dataMap, reason)
|
||||||
|
p.size--
|
||||||
|
}
|
||||||
|
return data
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取并移除所有战斗结束原因
|
||||||
|
func (p *BattleOverPool) PopReasons() []BattleOverData {
|
||||||
|
p.mutex.Lock()
|
||||||
|
defer p.mutex.Unlock()
|
||||||
|
|
||||||
|
reasons := make([]BattleOverData, 0, p.size)
|
||||||
|
for _, data := range p.dataMap {
|
||||||
|
reasons = append(reasons, data)
|
||||||
|
}
|
||||||
|
p.dataMap = make(map[EnumBattleOverReason]BattleOverData)
|
||||||
|
p.size = 0
|
||||||
|
p.value = nil
|
||||||
|
return reasons
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取最后添加的战斗结束原因
|
||||||
|
func (p *BattleOverPool) PopReasonLast() BattleOverData {
|
||||||
|
p.mutex.Lock()
|
||||||
|
defer p.mutex.Unlock()
|
||||||
|
|
||||||
|
data := p.value
|
||||||
|
p.value = nil
|
||||||
|
if p.size > 0 {
|
||||||
|
p.size--
|
||||||
|
}
|
||||||
|
// 清空map
|
||||||
|
if p.size == 0 {
|
||||||
|
p.dataMap = make(map[EnumBattleOverReason]BattleOverData)
|
||||||
|
}
|
||||||
|
return data
|
||||||
|
}
|
||||||
|
|
||||||
|
// 判断战斗是否应该结束
|
||||||
|
func (p *BattleOverPool) IsShouldOver() bool {
|
||||||
|
p.mutex.RLock()
|
||||||
|
defer p.mutex.RUnlock()
|
||||||
|
return p.size > 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取当前战斗结束原因的数量
|
||||||
|
func (p *BattleOverPool) Size() int {
|
||||||
|
p.mutex.RLock()
|
||||||
|
defer p.mutex.RUnlock()
|
||||||
|
return p.size
|
||||||
|
}
|
||||||
60
logic/service/fight/battle/over/reason.go
Normal file
60
logic/service/fight/battle/over/reason.go
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
package over
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/tnnmigga/enum"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 战斗结束原因数据接口
|
||||||
|
type BattleOverData interface{}
|
||||||
|
|
||||||
|
// 玩家离线数据
|
||||||
|
type PlayerOfflineData struct {
|
||||||
|
// 可以根据需要添加字段
|
||||||
|
PlayerID int64
|
||||||
|
}
|
||||||
|
|
||||||
|
// 玩家逃脱数据
|
||||||
|
type PlayerEscapeData struct {
|
||||||
|
// 可以根据需要添加字段
|
||||||
|
PlayerID int64
|
||||||
|
}
|
||||||
|
|
||||||
|
// 玩家捕获成功数据
|
||||||
|
type PlayerCaptureSuccessData struct {
|
||||||
|
// 可以根据需要添加字段
|
||||||
|
CaptorID int64
|
||||||
|
TargetID int64
|
||||||
|
CaptureTime int64
|
||||||
|
}
|
||||||
|
|
||||||
|
// 默认结束数据
|
||||||
|
type DefaultEndData struct {
|
||||||
|
// 可以根据需要添加字段
|
||||||
|
Reason string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 战斗结束原因枚举
|
||||||
|
type EnumBattleOverReason int
|
||||||
|
|
||||||
|
var BattleOverReason = enum.New[struct {
|
||||||
|
PlayerOffline EnumBattleOverReason `enum:"1"`
|
||||||
|
PlayerEscape EnumBattleOverReason `enum:"2"`
|
||||||
|
PlayerCaptureSuccess EnumBattleOverReason `enum:"3"`
|
||||||
|
DefaultEnd EnumBattleOverReason `enum:"4"`
|
||||||
|
}]()
|
||||||
|
|
||||||
|
// 获取对应的类型
|
||||||
|
func (e EnumBattleOverReason) DataType() interface{} {
|
||||||
|
switch e {
|
||||||
|
case BattleOverReason.PlayerOffline:
|
||||||
|
return PlayerOfflineData{}
|
||||||
|
case BattleOverReason.PlayerEscape:
|
||||||
|
return PlayerEscapeData{}
|
||||||
|
case BattleOverReason.PlayerCaptureSuccess:
|
||||||
|
return PlayerCaptureSuccessData{}
|
||||||
|
case BattleOverReason.DefaultEnd:
|
||||||
|
return DefaultEndData{}
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
19
logic/service/fight/battle/skill/effect/base/BurnEffect.go
Normal file
19
logic/service/fight/battle/skill/effect/base/BurnEffect.go
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
package base
|
||||||
|
|
||||||
|
import (
|
||||||
|
"blazing/logic/service/fight/battle/node"
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 灼烧效果
|
||||||
|
type BurnEffect struct{}
|
||||||
|
|
||||||
|
func (b *BurnEffect) Trigger() node.EnumEffectTrigger {
|
||||||
|
return node.EffectTrigger.OnHit
|
||||||
|
}
|
||||||
|
|
||||||
|
func (b *BurnEffect) Apply(ctx *node.EffectContext, next func()) {
|
||||||
|
fmt.Printf("[%s] 命中 [%s],触发灼烧效果!\n", ctx.Actor, ctx.Target)
|
||||||
|
ctx.Extra["Burn"] = true
|
||||||
|
next() // 继续执行后续效果
|
||||||
|
}
|
||||||
1
logic/service/fight/battle/skill/effect/impl/effect1.go
Normal file
1
logic/service/fight/battle/skill/effect/impl/effect1.go
Normal file
@@ -0,0 +1 @@
|
|||||||
|
package impl
|
||||||
46
logic/service/fight/battle/skill/effect/manger.go
Normal file
46
logic/service/fight/battle/skill/effect/manger.go
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
package effect
|
||||||
|
|
||||||
|
import "blazing/logic/service/fight/battle/node"
|
||||||
|
|
||||||
|
type EffectManager struct {
|
||||||
|
effects []Effect
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewEffectManager() *EffectManager {
|
||||||
|
return &EffectManager{}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *EffectManager) Register(e Effect) {
|
||||||
|
m.effects = append(m.effects, e)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 执行某时点效果
|
||||||
|
func (m *EffectManager) Apply(trigger node.EnumEffectTrigger, ctx *EffectContext) {
|
||||||
|
var next func(i int)
|
||||||
|
next = func(i int) {
|
||||||
|
if i < len(m.effects) {
|
||||||
|
if m.effects[i].Trigger() == trigger {
|
||||||
|
m.effects[i].Apply(ctx, func() { next(i + 1) })
|
||||||
|
} else {
|
||||||
|
next(i + 1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
next(0)
|
||||||
|
|
||||||
|
// 清理过期效果
|
||||||
|
var alive []Effect
|
||||||
|
for _, e := range m.effects {
|
||||||
|
if e.Alive() {
|
||||||
|
alive = append(alive, e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m.effects = alive
|
||||||
|
}
|
||||||
|
|
||||||
|
// 回合 tick
|
||||||
|
func (m *EffectManager) Tick() {
|
||||||
|
for _, e := range m.effects {
|
||||||
|
e.Tick()
|
||||||
|
}
|
||||||
|
}
|
||||||
11
logic/service/fight/battle/skill/skill.go
Normal file
11
logic/service/fight/battle/skill/skill.go
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
package skill
|
||||||
|
|
||||||
|
type Skill struct {
|
||||||
|
Name string
|
||||||
|
Type SkillType
|
||||||
|
Power int
|
||||||
|
IsAttack bool
|
||||||
|
Attacker *BattleUnit
|
||||||
|
Defender *BattleUnit
|
||||||
|
Effects []Effect
|
||||||
|
}
|
||||||
70
logic/service/fight/battle/start/start_test.go
Normal file
70
logic/service/fight/battle/start/start_test.go
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
package start
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"sync"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 记录A、B是否完成的标志
|
||||||
|
var (
|
||||||
|
aFinished bool
|
||||||
|
bFinished bool
|
||||||
|
mu sync.Mutex // 保护标志位的互斥锁
|
||||||
|
)
|
||||||
|
|
||||||
|
// 当A完成后调用的函数
|
||||||
|
func onAFinished() {
|
||||||
|
fmt.Println("A已完成,触发onAFinished")
|
||||||
|
checkBothFinished() // 检查是否两者都完成
|
||||||
|
}
|
||||||
|
|
||||||
|
// 当B完成后调用的函数
|
||||||
|
func onBFinished() {
|
||||||
|
fmt.Println("B已完成,触发onBFinished")
|
||||||
|
checkBothFinished() // 检查是否两者都完成
|
||||||
|
}
|
||||||
|
|
||||||
|
// 当A和B都完成后调用的函数
|
||||||
|
func onBothFinished() {
|
||||||
|
fmt.Println("A和B都已完成,触发onBothFinished")
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查A和B是否都完成,若都完成则调用onBothFinished
|
||||||
|
func checkBothFinished() {
|
||||||
|
mu.Lock()
|
||||||
|
defer mu.Unlock()
|
||||||
|
|
||||||
|
if aFinished && bFinished {
|
||||||
|
onBothFinished()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 模拟A的执行
|
||||||
|
func doA() {
|
||||||
|
fmt.Println("A开始执行...")
|
||||||
|
time.Sleep(2 * time.Second) // 模拟耗时操作
|
||||||
|
mu.Lock()
|
||||||
|
aFinished = true
|
||||||
|
mu.Unlock()
|
||||||
|
onAFinished() // A完成后调用
|
||||||
|
}
|
||||||
|
|
||||||
|
// 模拟B的执行
|
||||||
|
func doB() {
|
||||||
|
fmt.Println("B开始执行...")
|
||||||
|
time.Sleep(3 * time.Second) // 模拟耗时操作
|
||||||
|
mu.Lock()
|
||||||
|
bFinished = true
|
||||||
|
mu.Unlock()
|
||||||
|
onBFinished() // B完成后调用
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
// 启动A和B的执行
|
||||||
|
go doA()
|
||||||
|
go doB()
|
||||||
|
|
||||||
|
// 等待一段时间,避免主程序提前退出
|
||||||
|
time.Sleep(4 * time.Second)
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@ require github.com/gogf/gf/v2 v2.6.3
|
|||||||
require (
|
require (
|
||||||
github.com/BurntSushi/toml v1.3.2 // indirect
|
github.com/BurntSushi/toml v1.3.2 // indirect
|
||||||
github.com/clbanning/mxj/v2 v2.7.0 // indirect
|
github.com/clbanning/mxj/v2 v2.7.0 // indirect
|
||||||
|
github.com/creasty/defaults v1.8.0
|
||||||
github.com/fatih/color v1.16.0 // indirect
|
github.com/fatih/color v1.16.0 // indirect
|
||||||
github.com/fsnotify/fsnotify v1.7.0 // indirect
|
github.com/fsnotify/fsnotify v1.7.0 // indirect
|
||||||
github.com/go-logr/logr v1.4.1 // indirect
|
github.com/go-logr/logr v1.4.1 // indirect
|
||||||
|
|||||||
@@ -5,6 +5,8 @@ github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbi
|
|||||||
github.com/clbanning/mxj/v2 v2.7.0 h1:WA/La7UGCanFe5NpHF0Q3DNtnCsVoxbPKuyBNHWRyME=
|
github.com/clbanning/mxj/v2 v2.7.0 h1:WA/La7UGCanFe5NpHF0Q3DNtnCsVoxbPKuyBNHWRyME=
|
||||||
github.com/clbanning/mxj/v2 v2.7.0/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s=
|
github.com/clbanning/mxj/v2 v2.7.0/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s=
|
||||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||||
|
github.com/creasty/defaults v1.8.0 h1:z27FJxCAa0JKt3utc0sCImAEb+spPucmKoOdLHvHYKk=
|
||||||
|
github.com/creasty/defaults v1.8.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
|
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
|
||||||
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
|
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
|
||||||
|
|||||||
505
public/时点一览.mm
Normal file
505
public/时点一览.mm
Normal file
@@ -0,0 +1,505 @@
|
|||||||
|
|
||||||
|
<map>
|
||||||
|
<node ID="root" TEXT="时点一览">
|
||||||
|
<node TEXT="游戏开始时" ID="97d730a55cf878e7c90e782f518051f8" STYLE="bubble" POSITION="right">
|
||||||
|
<node TEXT="对战第一回合之前的效果开启节点" ID="108fb913590dedf06234724a85add86e" STYLE="fork">
|
||||||
|
<node TEXT="“天生xx”、“战斗开始时开启印记”等" ID="597305c2c29cc18dab84273e029f1ffe" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="以下时点按顺序结算" ID="575ca01907ff8aead4bdeb57be236c9a" STYLE="bubble" POSITION="right">
|
||||||
|
<node TEXT="以下为一个回合流程" ID="db51a467a4f97274e35fbee0e18f9357" STYLE="fork">
|
||||||
|
<node TEXT="除出手流程外,同时点同方效果一般按魂印、套装、技能、buff印记的顺序结算效果" ID="d18508372543179b79193ce16ae55515" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="操作阶段" ID="b573c3b3051a061f2b0c2c87386d8115" STYLE="bubble" POSITION="right">
|
||||||
|
<node TEXT=" 操作阶段=读秒倒计时期间,在此期间内玩家除了死亡切换外,只能在“选择技能、使用药剂、主动切换(中切)、(被)驱逐切换、系统选择放弃出手”中执行一项" ID="612fa36c325ad530f79d2271b7ec5ed8" STYLE="fork">
|
||||||
|
<node TEXT="死亡下场、(被)驱逐切换可视为最早的节点" ID="500c5f929dc52e52b91cf343cb1aedb3" STYLE="fork"/>
|
||||||
|
<node TEXT="(双方时间一致时)系统选择技能/放弃出手可视为最晚的节点" ID="ccf3099ee0f79143eba5e3c56413dc50" STYLE="fork"/>
|
||||||
|
<node TEXT="其他操作依据操作的先后判定" ID="d2c8492bcc0e8f51bb503a91292a3ea2" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="选择使用技能" ID="75700793eabe486c71d2cd1ee1fc85fd" STYLE="fork">
|
||||||
|
<node TEXT="玩家选择or系统倒计时结束自动选择非0pp技能则 不放弃出手" ID="968a326fa95fde3005b623e842a51c10" STYLE="fork">
|
||||||
|
<node TEXT="不放弃出手≠能出手" ID="c12387abf7d77ff8ce55c6cfdfffdfb8" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="有“(选择)使用技能时无视pp限制”时可以选择0pp技能则 不放弃出手" ID="693adbc03a0e6ea84998d3b6fbb93176" STYLE="fork"/>
|
||||||
|
<node TEXT="中切、嗑药、系统倒计时结束自动选择0pp技能则 放弃出手" ID="7af6ac96974aff16a2ae0643ebc4bb9f" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="出战时、下场时(切换操作)" ID="9040450950ab0d7311fe889fe57be363" STYLE="fork">
|
||||||
|
<node TEXT="高级击杀控(id698)、小草王次免生效,按固定顺序结算" ID="a815b20d65399c005b9fa48b39519652" STYLE="fork"/>
|
||||||
|
<node TEXT="斯达莱斯击杀烧伤补偿弱化、潘多拉免弱开启、萨克斯特击杀弱化、阴冥击杀吸强弱化,按固定顺序结算" ID="f1da5c23513a2a42c05e392cb2052c24" STYLE="fork"/>
|
||||||
|
<node TEXT="帝君出战时扣场下血,晚于帝君切换则可见被扣血,但操作时不可见背包扣血" ID="33c90f226c951a30cac09303194af4ac" STYLE="fork"/>
|
||||||
|
<node TEXT="空元消逝对手在切换操作后,在这之前就被消逝的精灵不能让空元拿书" ID="509df81840e98272860ba373d484fea6" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="选择使用药剂(生效)" ID="1e08bb29269fa2690770e0fdf38a7236" STYLE="fork">
|
||||||
|
<node TEXT="id76:概率令对手n回合受到100真伤,在嗑药时触发" ID="3a41d6c029b4258d739b130a6542c3d8" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="保护机制" ID="b00a3fe253bf9d98ce4874c74098e723" STYLE="fork">
|
||||||
|
<node TEXT="在场精灵受到致死伤害时,强制残留1点血,防止对战卡死" ID="9fbb6ef3eda4f3fddbf0eca55c0b319d" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="登场时" ID="190088456044098c335105d1558da7fc" STYLE="bubble" POSITION="right">
|
||||||
|
<node TEXT="双方首发精灵登场时,依挑战方机制:房主方先判定,挑战方后判定" ID="b67e1e36a6d027ec7afa188f4c01e061" STYLE="fork"/>
|
||||||
|
<node TEXT="双方非首发精灵登场时,根据切换先后判定(看手速)" ID="bce3842d0d990dd3e32f4430a2f55998" STYLE="fork">
|
||||||
|
<node TEXT="神罗、圣华登场时魂免,“登场时xx”等效果" ID="1d4415776262959fe0203bcd3cfb5aff" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="回合开始时" ID="0481e1e9eba18820a71702806155a996" STYLE="bubble" POSITION="right">
|
||||||
|
<node TEXT="依挑战方机制:房主方先判定,挑战方后判定" ID="86e0d46069cb4c2341da3a2532e86cac" STYLE="fork">
|
||||||
|
<node TEXT="同方先结算魂印后结算套装" ID="a3497bb955aa87c38a78409efc588ed0" STYLE="fork">
|
||||||
|
<node TEXT="各种“回合开始时”效果" ID="2df54f867d73ea479eac7d2e6dcf94f5" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="双方先手权判定" ID="229b904dc345529ac4233a79fdc5d8af" STYLE="bubble" POSITION="right">
|
||||||
|
<node TEXT="有一方放弃出手则另一方获得先手权(不进行先制等级判断)" ID="94ac206e63690e00679ca1cfa64b7a1d" STYLE="fork"/>
|
||||||
|
<node TEXT="双方都放弃出手则挑战方获得先手权(不进行先制等级判断)" ID="9f55fd91c581a6ce58fa455a279292ee" STYLE="fork"/>
|
||||||
|
<node TEXT="双方均选择技能则依次结算双方必先、先制、速度" ID="eaee7d524ee7cdf766fa38567837d762" STYLE="fork">
|
||||||
|
<node TEXT="必先:不同必先具有不同等级,优先级高的直接获得先手权,同级则依挑战方机制:房主方优先" ID="eed944272ffb0472597cf50bb27b6adb" STYLE="fork"/>
|
||||||
|
<node TEXT="先制:先制等级高的获得先手权,同先制等级进入速度判定" ID="564c45b38a3d443353880ba90ea57705" STYLE="fork"/>
|
||||||
|
<node TEXT="速度:判断最终速度,速度高的获得先手权,速度相同则双方随机先手" ID="b7e78a0eb6dcca243478138c28576c50" STYLE="fork"/>
|
||||||
|
<node TEXT="速度包括面板速、套装减速、强弱化等级、无视强弱化、视敌强为弱、视己弱为强等效果综合判定" ID="94dfdf16eca2e5d58c7dfb1bc6fa3da8" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="获得先手权的一方为先手方,未获得的为后手方" ID="a4d22fac59f1e2f76d3b65999ced92c7" STYLE="fork">
|
||||||
|
<node TEXT="先出手、后出手判定则还需要实际出手" ID="c2e816db9fa1948c78bf7359e0bae7d6" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="先手权判定之后获得的必先、先制、速度相关效果不会影响当回合先手权判定" ID="50077ad778cb866ee26cedca6cd8f789" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="战斗阶段" ID="9d2e4ca010b447847e9b70263f38f7a5" STYLE="bubble" POSITION="right">
|
||||||
|
<node TEXT="先手方战斗阶段" ID="e1e1ed6ba8d5e3aa963eb484315ab8b3" STYLE="fork">
|
||||||
|
<node TEXT="行动开始时" ID="5068be99540c49a655873fff5a298cc6" STYLE="fork">
|
||||||
|
<node TEXT="大部分弱化伤害类异常的扣血结算节点" ID="d704e16dfd2084365f0286ad7b09bb8c" STYLE="fork"/>
|
||||||
|
<node TEXT="封技能回血开启时点" ID="2422c2224658fff955dff212c3bfd450" STYLE="fork">
|
||||||
|
<node TEXT="以下开始的主动体力变动(提升)均会被“无法通过自身技能恢复体力”封" ID="da154104ffa48f1c139f7446b041bef4" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="出手流程" ID="9b930fb08ecf0d9463bcb80dbf23585c" STYLE="fork">
|
||||||
|
<node TEXT="若无法行动or放弃出手,以下时点的部分效果会因不满足“使用技能时”而不生效,并非跳过了那些时点" ID="e5b7ea21cfd3046554acbb4dbbdd3e35" STYLE="fork"/>
|
||||||
|
<node TEXT="使用技能时(技能命中前)" ID="df563b8a2d6c4f8b10d93b97d4c9e8ec" STYLE="fork">
|
||||||
|
<node TEXT="各种“命中前”、“受到攻击时”、“使用技能时”效果" ID="8a2e198260e2c79fcc94ee521d6693d2" STYLE="fork">
|
||||||
|
<node TEXT="同方魂印命中前先结算,技能命中前后结算" ID="e76b33682d972cf6997b8527ee7b3d0d" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="闪避、必中、基础命中率、命中强弱化也在此判定" ID="3a2c93bfdcdf94f1481f03eb724a7c3f" STYLE="fork"/>
|
||||||
|
<node TEXT="限定先手方阶段" ID="9601bd9e18c86e5b9b743c29dd14339a" STYLE="fork">
|
||||||
|
<node TEXT="六翼pvp击杀/pve站够4回合 清空神耀能量且先+3" ID="a0f1d35e64c9ca46cd6ef022cf632874" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="技能命中时" ID="fe93db1bbd56eb2dac97e9663be64e09" STYLE="fork">
|
||||||
|
<node TEXT="技能确定命中情况,技能效果未开始结算" ID="329903ba2d3f26518b4dff3d030a554c" STYLE="fork">
|
||||||
|
<node TEXT="初始伤害公式/隐藏伤害公式结算" ID="45f382e75469ed9550dcbbf2ceb336ba" STYLE="fork">
|
||||||
|
<node TEXT="出现红伤数值,但不扣除对手体力" ID="c2d35f46b43e42e751c375f594d96ff4" STYLE="fork"/>
|
||||||
|
<node TEXT="终伤前涉及伤害的效果实质为在对应节点修改or检测该处的红伤数值" ID="ef0d037e8fe1a5cea12c2068b10559fe" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="睡眠受击解除" ID="b142a1265b40b1067cac5d6e3aa492a5" STYLE="fork">
|
||||||
|
<node TEXT="id495在技效时判断异常,晚于命中打醒,填了睡眠则不可能触发效果" ID="4a419b05438097ad9ff5f50c37ca64fa" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="单属性增伤特性" ID="6a4251ff2e0ab38ccce51ea37c40df5d" STYLE="fork">
|
||||||
|
<node TEXT="极早,故被描述为威力增加,但其实是增伤" ID="36871e6f1be9c8ca3fef741dbc14a8cc" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="id878:先出手则睡眠控" ID="592d32672cb133d81da3671070adf9e5" STYLE="fork">
|
||||||
|
<node TEXT="不在技能效果时" ID="f0a3308e35f21e8daef538bf380c4e8e" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="id1269 虚空桎梏:受击则“命中前”吸血" ID="1a46e5755112e461c4bddef75861f191" STYLE="fork"/>
|
||||||
|
<node TEXT="封印类效果生效" ID="0094c6a251d2cdfafa41357f69140278" STYLE="fork">
|
||||||
|
<node TEXT="红伤归0(修改数值)" ID="34169e3d87d2f670e7ea31d2c030c4bb" STYLE="fork"/>
|
||||||
|
<node TEXT="取消技能效果" ID="2845d0fa8f16620b15c7e24485612fc5" STYLE="fork"/>
|
||||||
|
<node TEXT="狮盔封属龙威改判定为未命中" ID="8e5dcdce85ec3b4bfa850fa125c5b5f0" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="强制执行改判为命中" ID="0bdce6b515c0f8bd4f708b20ab0d78cd" STYLE="fork"/>
|
||||||
|
<node TEXT="魂印中“命中时”效果" ID="5bfe546f8e5c92aff5d218e7628057c5" STYLE="fork">
|
||||||
|
<node TEXT="天寒雪崩" ID="5b0b3e5399a8cd1d2701afc1b22b35b9" STYLE="fork"/>
|
||||||
|
<node TEXT="宽恕时刻" ID="7e9062a370705ad5a0de5ae50f9b60bc" STYLE="fork"/>
|
||||||
|
<node TEXT="赵云附弱拿强" ID="7cd52f7d7126423026d9114bc8d7c2c4" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="技能效果结算" ID="ac4484d2b1ccf376f7f4568e7e721a2c" STYLE="fork">
|
||||||
|
<node TEXT="!技能效果时点!" ID="a29f6cae6c4a60403ee46290c3250017" STYLE="fork">
|
||||||
|
<node TEXT="依技能描述顺序结算技能的命中效果" ID="c04cf6f58211a67d2b44f4bc496b9ba7" STYLE="fork">
|
||||||
|
<node TEXT="即时技能效果结算,按技能词条顺序" ID="c9b55b05d5de4737fc3d015457ff1800" STYLE="fork"/>
|
||||||
|
<node TEXT="回合类效果附加" ID="297838bd57642947dc7ed4b62a8c1a58" STYLE="fork">
|
||||||
|
<node TEXT="大部分回合类效果在此附加,于后续相应时点生效,在生效前被断则无任何效果" ID="b6c2d133c0bff6ff7c5c6f43a48ba155" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="宝石效果结算" ID="da96e343b8f5979aa4da5d7e48c53ba6" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="此区间开启的技能效果会被无效、被封效果" ID="a0245d23170727dd7c8df4c9dea11681" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="衰弱增伤等早期效果" ID="9f9a8a25cdb6e5f9d2d52cfad9544e6e" STYLE="fork"/>
|
||||||
|
<node TEXT="魂印靠前伤害前时点" ID="c199e675194b2052be5e5eda05e882ae" STYLE="fork">
|
||||||
|
<node TEXT="被动" ID="64076bd5bf5e64351f3e22cea2ee9599" STYLE="fork">
|
||||||
|
<node TEXT="火王:高体受击焚烬控补偿断回合" ID="a19c27902c278575cdcaf17943943b48" STYLE="fork"/>
|
||||||
|
<node TEXT="坚硬特性生效" ID="70c09694935ca45404edf62b769a52a7" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="主动" ID="e2c896807db59968e3ce5bbf7ab020bb" STYLE="fork">
|
||||||
|
<node TEXT="灵巢变威力效果二次调用伤害公式" ID="58261a97821a1dbf460710ceab30ede5" STYLE="fork"/>
|
||||||
|
<node TEXT="瞬杀特性生效" ID="c42b8327120cfd4f0065d14c515f19d4" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="“造成伤害前”xx的技能效果" ID="0e7741b16d7a9990ba845afc86dafc94" STYLE="fork">
|
||||||
|
<node TEXT="大部分" ID="9d25590c987b06b73f9c9373e07ecb2f" STYLE="fork"/>
|
||||||
|
<node TEXT="二代控场宝石的0回合异常附加时点" ID="451baad88c49dee9cfa523b04851b698" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="回合类效果(伤害前)生效" ID="8ca3541617543c697bcd9119922fe623" STYLE="fork">
|
||||||
|
<node TEXT="技能续航通用时点" ID="78033ff85ae225419d72ccb395f42762" STYLE="fork">
|
||||||
|
<node TEXT="n回合出手时回血、吸血、吃月亮" ID="cea9cfb23f3b45640a785971d4af768d" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="异常/强弱化效果" ID="a61c28076e3db373cf85662aadf4bb32" STYLE="fork"/>
|
||||||
|
<node TEXT="部分伤害翻倍" ID="ce3f6faa82afc903f402108bd8a6e04d" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="魂印造成伤害前通用时点" ID="f8e6c6b3bb2da4180057585475c2f348" STYLE="fork">
|
||||||
|
<node TEXT="魂印被动效果" ID="a2bf9c2c8a6ec225dba50aa250d2f453" STYLE="fork">
|
||||||
|
<node TEXT="涡锋受击50%冰封补偿吸血1/3" ID="9c922fa271a03cf250c3dd6bfd972a0c" STYLE="fork"/>
|
||||||
|
<node TEXT="犀牛判定红伤并执行效果" ID="c1d63154e4cab503a200fa15593b6962" STYLE="fork"/>
|
||||||
|
<node TEXT="英灵剑圣兰斯洛特弹暴击" ID="b281a0fe7cfc6b22eceafb1762f54c32" STYLE="fork"/>
|
||||||
|
<node TEXT="昊希娜 每回合(对手使用技能则)回血1/5" ID="53e9650cebe68b3fbd846369ab096621" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="魂印主动效果" ID="c447f0b96b31a6446b4d53e699493685" STYLE="fork">
|
||||||
|
<node TEXT="神谕苍月:造成伤害前50%冰封补偿断回合+攻击吸血/粉" ID="e29614b4f8e805f96321f653c8b97917" STYLE="fork"/>
|
||||||
|
<node TEXT="猎皇:灭神之箭 造成伤害前附加粉" ID="fd2498072a0e366533f9f4c18e9db7cc" STYLE="fork"/>
|
||||||
|
<node TEXT="2层重生免控免弱开启,低于2层时关闭" ID="4a97fa6a59bf76610f5f03b79285159d" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="套装主动效果" ID="29a7599481bcf5626b1ccf37d36eaa0b" STYLE="fork">
|
||||||
|
<node TEXT="笑傲粉、毒液粉" ID="c21601a4e83b820c5479a6092ecf8fe7" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="技能内的“造成伤害前xx”并不在此节点" ID="744e44a8cb93cab2bfd356089d5508de" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="各种增伤时点" ID="65e091fc163e6887bbd97a3cf99c543a" STYLE="fork">
|
||||||
|
<node TEXT="精神、强袭特性增伤" ID="9417fa504dfdb700db2fb4223f7a8712" STYLE="fork"/>
|
||||||
|
<node TEXT="通用增伤节点" ID="aa88bfeae1985cca04d0177fb064fa8a" STYLE="fork">
|
||||||
|
<node TEXT="即各种加算增伤,包括魂印、套装的增伤效果" ID="9f2bb44921a18688da3a9add5dd119a6" STYLE="fork"/>
|
||||||
|
<node TEXT="id8:手下留情,在技能效果时判定改红,但做了无视通用增伤的效果" ID="6d1cdacb5cfa0e7bdff54bce651694e8" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="各种额外增伤,伤害翻倍" ID="897e1cf20c2e2899a11c74a007439cbd" STYLE="fork">
|
||||||
|
<node TEXT="部分乘算增伤不在这" ID="0b9410db9859c8e46e82da81ded65831" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="设有通用增伤a%、b%,额外增伤c%、d%,则此节点红伤*(1+a%+b%)*(1+c%)*(1+d%),每次计算结果需舍算" ID="d96b42f1525d4e008834ba80353970b4" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="新保底伤害时点" ID="3993f0b346604600d8def74eaa84cc0e" STYLE="fork">
|
||||||
|
<node TEXT="伤害不少于n,判定此处红伤数值和阈值大小,红伤数值<阈值则将红伤修改为阈值n,晚于大部分增伤" ID="f490e519b6adb09d6a48771a558eabcd" STYLE="fork"/>
|
||||||
|
<node TEXT="龙裳&寒吟龙裳:伤害不低于260&300" ID="71cc64e87160830bd78ef0942fdc4a06" STYLE="fork"/>
|
||||||
|
<node TEXT="奥菲的逆命之曦:攻击无效时造成伤害不低于300/350" ID="3b226ef6513e9fb8b95cd271d96d37e8" STYLE="fork"/>
|
||||||
|
<node TEXT="魔王咒怨:攻击有3%*层数概率造成伤害不低于对手最大体力" ID="8576c7a174284d0fd5edad1533bbea3e" STYLE="fork"/>
|
||||||
|
<node TEXT="万物哀鸣:…咒怨层数>5则秒杀且造成伤害不低于对方体力上限和" ID="8ac2f07aa2c927253ea9ad596e02fd03" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="16年减伤效果" ID="22add3034520a0f209e6d864d384c177" STYLE="fork">
|
||||||
|
<node TEXT="重生、王哈、老飞王、老次王等" ID="8c576f966fa1ab260c129e0f630198e2" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="通用减伤时点" ID="bb6e6bd4846b847010b08f503aec4830" STYLE="fork">
|
||||||
|
<node TEXT="定义:和耀世套加算的减伤" ID="a0c342f62a15bd1ff8b48d0bc1107df8" STYLE="fork"/>
|
||||||
|
<node TEXT="乌拉的血盾、艾夏拉、索、倪克斯、表姐死亡、破天、神迹等" ID="16c3ecf63d0aab56047e867abccc568e" STYLE="fork"/>
|
||||||
|
<node TEXT="新精灵新效果的“受到的攻击伤害减少n%”" ID="bbb70e91593e5f5078790548ec7ca204" STYLE="fork"/>
|
||||||
|
<node TEXT="以上减伤数值互相直接累加,如晨曦后手艾夏拉高体减伤为50%+10%=60%" ID="64cf70b58b5d393254ad55d919dd544b" STYLE="fork"/>
|
||||||
|
<node TEXT="累计数值>100%时以100%计" ID="23d9fddcdad5bc3f6e980c8bab85903f" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="部分额外减伤" ID="330978c7480757297dbc20f2ca03ed62" STYLE="fork">
|
||||||
|
<node TEXT="id1984 瓏啸·绛:5回合额外减伤100%" ID="eccb2dc9df477837b1d864b932d07c91" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="部分额外增伤" ID="406f8b62a77604823fec211d32bf4bee" STYLE="fork">
|
||||||
|
<node TEXT="id1179 洪流灭杀:断回合追加下次额外增伤100%" ID="8830ce1cea9afd49f864f951ec4c4ac3" STYLE="fork"/>
|
||||||
|
<node TEXT="无限自由的奇迹之力buff:50%伤害翻倍" ID="a3cf77351dc82cdb501c80b931a26515" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="属性伤害专用时点" ID="71ddb57996f2a6f03f71e91162b3f13b" STYLE="fork">
|
||||||
|
<node TEXT="万鸣齐闪、契约 锢、圣临巡礼、命运之击、魂陨若梦、无望深空等属性技能造成的属性伤害" ID="5e9c01c10d730792ca65e5f90b10a5cc" STYLE="fork"/>
|
||||||
|
<node TEXT="龙琰 魂印使用属性技能依奇偶次数造成龙/邪灵系250点属伤" ID="db6db40cb392e9cd8636211ba63bdbeb" STYLE="fork"/>
|
||||||
|
<node TEXT="技能伤害分为攻击伤害与属性伤害,而额外行动造成的系别伤害不属于技能伤害,少部分效果会同时响应属伤,大部分只响应攻击伤害" ID="0c3ae8d0889741854a13ac719147b8f6" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="魂印无条件点数减伤" ID="dd086ae6cbb4a7339bfeafe5d3c6fdd7" STYLE="fork">
|
||||||
|
<node TEXT="此节点的红伤数值减少固定点数" ID="f26a49aae4b38af0eb3081568b2cf0a6" STYLE="fork"/>
|
||||||
|
<node TEXT="寒吟龙裳 减伤300点" ID="580ec95dc741970797c81d2abf838b37" STYLE="fork"/>
|
||||||
|
<node TEXT="覆骸冥土 根据体力上限差减伤" ID="fb80b5c64424e698d65e048bc7ec5bd8" STYLE="fork"/>
|
||||||
|
<node TEXT="月光阿尔达拉 减伤250" ID="6d833fb3d75113f4ed6c23b85e773a8b" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="通用锁伤" ID="509832fe536bcdafc55ba265803ab0e4" STYLE="fork">
|
||||||
|
<node TEXT="锁伤:此时点检测到红伤数值>阈值则将修改红伤数值为阈值" ID="24e4162fc54636b6902a5e019f73524c" STYLE="fork"/>
|
||||||
|
<node TEXT="无视伤害限制效果可穿此时点所有锁伤" ID="af445607d7e3646a1055dfd73219d535" STYLE="fork"/>
|
||||||
|
<node TEXT="草王锁1/3伤" ID="39a9a7402ccb7e49815b422cd7eafd24" STYLE="fork">
|
||||||
|
<node TEXT="不响应属伤" ID="24e67e2219d9e9c7b4f57551230ca643" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="贝狄薇尔、萨特、腐坏魂印锁伤" ID="a42c315f6c80be90c9d851a7cafdef05" STYLE="fork">
|
||||||
|
<node TEXT="响应属伤" ID="f60803cff53b14b24ec7f76eef0dac51" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="其他已被规范的锁伤" ID="896e44161703c5039e458187bcf7437c" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="无法造成伤害时点" ID="1ee6eb311ce48da94a19a78160a93223" STYLE="fork">
|
||||||
|
<node TEXT="将红伤数值在此节点归零" ID="8876563619e7673551643e431d383699" STYLE="fork"/>
|
||||||
|
<node TEXT="封攻击的“无法造成伤害”" ID="c698df824f69f99c4acc9c82d0483cdd" STYLE="fork"/>
|
||||||
|
<node TEXT="臣服 “无法造成伤害”" ID="3b6e9c9a4fd9abbaff0554110cd28abc" STYLE="fork"/>
|
||||||
|
<node TEXT="id1867:先出手…且当回合对手无法造成伤害" ID="1c911a6c9fbfad91bb73a975a2b30740" STYLE="fork"/>
|
||||||
|
<node TEXT="此节点无法被水王四泪穿挡伤" ID="eee40f46ee99e1718d876208d7975562" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="克制/能量等重写伤害" ID="4cabeeed9191578f19d6d05c52333594" STYLE="fork">
|
||||||
|
<node TEXT="舍弃原本红伤并修改为效果数值,故表现为不吃大部分增伤减伤、穿锁伤、穿此节点之前生效的挡伤" ID="018d505df4c72229cb0357bf645f7100" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="规范挡伤时点" ID="f329026c92f4ddbe2f0f3328f4e03219" STYLE="fork">
|
||||||
|
<node TEXT="仅挡伤" ID="dd3c027ec67b283e68bbcdb550aa0ab5" STYLE="fork">
|
||||||
|
<node TEXT="将红伤数值在此节点归零" ID="969c7eb0a3f36328539c5df9ca0d118e" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="伤转体" ID="0723a35565208c49b14a5c311652ccd2" STYLE="fork">
|
||||||
|
<node TEXT="恢复此处红伤数值的体力+将红伤数值归零" ID="e120330af7f29019afeab83ef08b0c4f" STYLE="fork"/>
|
||||||
|
<node TEXT="可0血触发、不会被“无视对手攻击免疫”响应" ID="a7bb26acc6fb850d74437be6743c11c8" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="挡伤并弹伤" ID="31d2d941723841a81410292972aaf2cb" STYLE="fork">
|
||||||
|
<node TEXT="免疫伤害并扣等量血" ID="60d6311f99cd66d30b0004f991a00ae8" STYLE="fork"/>
|
||||||
|
<node TEXT="剑圣免并弹暴击红" ID="815b12622fa18b8e7c1b01e395755339" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="此时点会被水王四泪穿挡伤,弹伤效果失效" ID="03273dff96f34c16e1ebbd6bc860234d" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="机盖弹伤记录红伤节点" ID="3a4fa8ccf4a854f3111d8ec0bfcee39f" STYLE="fork">
|
||||||
|
<node TEXT="早于护盾,可放心给机盖挂盾?" ID="3e67e2adbddd3ef12b24d7ab89328102" STYLE="fork"/>
|
||||||
|
<node TEXT="仅记录,弹伤在别的地方" ID="0229471f8afb3db53ea49c0d057ffa6a" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="护盾结算" ID="bb11ad6336f42a093cf25bd1cb12b748" STYLE="fork">
|
||||||
|
<node TEXT="无穿盾" ID="e10328675eb96f2759390fa8615df4fd" STYLE="fork">
|
||||||
|
<node TEXT="红伤数值-护盾值,最少到0" ID="3dd9d38fe5428459a8ea8c1183976a67" STYLE="fork"/>
|
||||||
|
<node TEXT="护盾值-红伤数值,最少到0" ID="623c92b18f51b5138acb67486ef56b8d" STYLE="fork">
|
||||||
|
<node TEXT="护盾到0→护盾被击破→触发护盾消失时则xx" ID="ef043c1d813ea80bdea2a1f515126a0e" STYLE="fork"/>
|
||||||
|
<node TEXT="护盾消失补偿需要全部护盾消失才触发" ID="652563d4b8aafcbaa8266390510e65f5" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="有穿盾" ID="60271947c59a84a94a666c61b49aee7e" STYLE="fork">
|
||||||
|
<node TEXT="护盾与红伤数值不变" ID="335aa3a1d43aca82c136360da439ccb6" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="以上节点中存在部分技能/魂印效果,少见且并无通用节点故而不列出" ID="389910c3d50a4a74f6fbe2398c40557b" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="攻击伤害结算" ID="fefd7d3674c6beb929b064b6e3bd550d" STYLE="fork">
|
||||||
|
<node TEXT="最终伤害生效节点,对方精灵体力红伤扣除的节点" ID="1e13eec5b7e283ea2be8e7dade8dc10d" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="行动后" ID="7dfbc4d38bf2d02246673f35556c2075" STYLE="fork">
|
||||||
|
<node TEXT="伤害结算完成的位置" ID="7ce7937be36d3cb29a4e56b81796183e" STYLE="fork">
|
||||||
|
<node TEXT="旧 星皇二段伤害" ID="1b0bee9989a9f71d49b262b941a58819" STYLE="fork">
|
||||||
|
<node TEXT="伤害后对手存活则重新开启对手除减粉免粉之外的效果" ID="4e281d09a3bc316ab87843d262b24e22" STYLE="fork"/>
|
||||||
|
<node TEXT="已被志宇修改至额外行动" ID="967f5aa95d15480a553c180660266283" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="浴火粉" ID="1a3f235418809647073446324bdaa086" STYLE="fork">
|
||||||
|
<node TEXT="早于通用攻击后" ID="c70b422f653f971e6b86e7915c2f6b3a" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="房间消强效果附加回合类效果" ID="094feb688a028e7597ba9d472ea5988b" STYLE="fork">
|
||||||
|
<node TEXT="当回合结束后触发消强并扣减回合数" ID="8514f2d5c285c7eb1446a0ea123cc404" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="通用攻击后" ID="e60ea100c4d21fa8ee2ef7554feef93c" STYLE="fork">
|
||||||
|
<node TEXT="被动" ID="8af694e28bbed3118b6baeec8a9f6e67" STYLE="fork">
|
||||||
|
<node TEXT="分类" ID="c5210d8b8789bc947cd9aa4b036e817c" STYLE="fork">
|
||||||
|
<node TEXT="受伤高于/低于n" ID="2248929efb1f3c4def03341e5fc0ed63" STYLE="fork">
|
||||||
|
<node TEXT="需要受伤大于0" ID="ba606a0dfb0f158e4276447b2c370a84" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="对手攻击后xx受伤高于/低于n" ID="f1bd3fd748b3345cd366fb38595fa8aa" STYLE="fork">
|
||||||
|
<node TEXT="受伤为0也可触发" ID="2dbe02c3d3b3e27a6a83636b09743a62" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="“受到攻击后”" ID="c1e4514ecd425762e17eada567d908d1" STYLE="fork">
|
||||||
|
<node TEXT="需要对手命中" ID="74fbe3ca395e90383f12ffa49b5cfce4" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="技能效果" ID="72cad2031f7a9ee862e13ff9d3950ed0" STYLE="fork">
|
||||||
|
<node TEXT="id1300 轮回之狱:…受伤高于280天意控补偿断回合" ID="c420523e9c1a153dab064cf4ff26a2c7" STYLE="fork"/>
|
||||||
|
<node TEXT="各种技能受击控" ID="df507573d592118a49b939214424f191" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="魂印效果" ID="2b9154a8209334f728c5c9ddbf011c27" STYLE="fork">
|
||||||
|
<node TEXT="表姐登场2回合弹伤" ID="45528e2f7da16f4569d3550708923e9c" STYLE="fork"/>
|
||||||
|
<node TEXT="东辉登场时对手无强化则对手攻击后断回合" ID="e2c29fce6b7cbd6b88bdf7744bfed6bf" STYLE="fork"/>
|
||||||
|
<node TEXT="各种对手使用技能后、判定受伤效果" ID="36751d727b51bd85c49143eb0bb11ff7" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="套装效果" ID="724a2d971f60af1c268bf9d96bf14c44" STYLE="fork">
|
||||||
|
<node TEXT="时空套受击吸血" ID="2781ce220664c8d39b02da9c5a930f97" STYLE="fork"/>
|
||||||
|
<node TEXT="皇御 受低伤粉" ID="7baab698064297c729921da5dcde40a6" STYLE="fork"/>
|
||||||
|
<node TEXT="晨曦套受击回血" ID="4a6cb9a1a4372750b6e03d83ffa02139" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="主动" ID="d2919ba44c922eee9a72e4d770740aab" STYLE="fork">
|
||||||
|
<node TEXT="魂印效果" ID="f4f79d7b59e07a04d8ced3b24772a0d2" STYLE="fork">
|
||||||
|
<node TEXT="大象 蓄力攻击粉" ID="1c547f5f7f3ed7422a2fad7209bd2f8d" STYLE="fork"/>
|
||||||
|
<node TEXT="大眼 无强化攻击粉" ID="57e0b6552d86de097152455180036de7" STYLE="fork"/>
|
||||||
|
<node TEXT="团长 攻击后附加70%护盾粉+强化粉" ID="d35552a7c6ac6a30484f6c2ea4769166" STYLE="fork"/>
|
||||||
|
<node TEXT="魔王咤、厉魇咤 攻击命中概率秒杀" ID="d5d0f3a94d973657febc10e1231804ec" STYLE="fork"/>
|
||||||
|
<node TEXT="赫尔卡长老 出手命中后触发神祭" ID="7486060acb7c900da176135b9558108c" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="套装效果" ID="838f22227282c65f9d448fa1004fd3c9" STYLE="fork">
|
||||||
|
<node TEXT="天命套 低伤吸血、高伤粉" ID="f31b16d10a6b7b6b08f53ab624e33246" STYLE="fork"/>
|
||||||
|
<node TEXT="皇御 未受击则下回合攻击后粉" ID="a4dbe58b4541d3c85a317f27c91a4eb3" STYLE="fork"/>
|
||||||
|
<node TEXT="晨曦 攻击后粉" ID="3bd310fbf623988d9ef9ebefd672d349" STYLE="fork"/>
|
||||||
|
<node TEXT="乾古套 攻击命中后120粉" ID="4609db15cbaa8c967680eedf31227cda" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="技能效果" ID="e5577462edd1ca78191d8fc2fc299fa0" STYLE="fork">
|
||||||
|
<node TEXT="各种判伤、判暴效果" ID="4e69fd9b17f82e3d950f089548499e53" STYLE="fork"/>
|
||||||
|
<node TEXT="红伤吸血,造成伤害的n%恢复体力" ID="125c73fad16afb75ac15d84b788ba710" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="乌拉粉、乌拉回血" ID="52388e81a02e32258c46280b15775d28" STYLE="fork"/>
|
||||||
|
<node TEXT="神之束缚 粉转真、致命印记真伤" ID="4dada0d46036af42f4452f3c5645e8ee" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="行动结束时" ID="a6f4fddb8e783eefbcdace84cefbf14d" STYLE="fork">
|
||||||
|
<node TEXT="被动效果" ID="bd3b51a39469340560343e8f6ad0b171" STYLE="fork">
|
||||||
|
<node TEXT="不动明王:将对手体力降为1……" ID="5abc3d94dbd0742fa42874b624a0976e" STYLE="fork">
|
||||||
|
<node TEXT="仅在对手出手流程生效,此时点0血触发" ID="c9e57dfafc5a2e4ee10661c0702dcaec" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="技能残留体力时点" ID="db2023e0f8470e3ebe56df1a0fd3a244" STYLE="fork">
|
||||||
|
<node TEXT="id506:下回合受致命伤残1" ID="6cf494c595822ea39062912fa9769bb6" STYLE="fork"/>
|
||||||
|
<node TEXT="id1068 佩洛的150:下n回合受致命伤残1" ID="00b537d5346cb06fe852c623c00563b3" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="千花 对手出手流程结束自身盾/罩消失则吃月亮" ID="a23047374c3d290fe4ca9dd0fbc14c3b" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="主动效果" ID="f707a02a1a4996bf64dea0a4f816a4ea" STYLE="fork">
|
||||||
|
<node TEXT="螳螂出手流程结束吸血" ID="f2fdd4859935fdbfb1799417e28922b3" STYLE="fork"/>
|
||||||
|
<node TEXT="部分魂印出手后固伤" ID="439f5d3b01011290c0c7501f37136b59" STYLE="fork"/>
|
||||||
|
<node TEXT="艾欧概率附加判伤粉" ID="1b321b7d2ff73449018a43f2c4a2ffd2" STYLE="fork"/>
|
||||||
|
<node TEXT="二代控场宝石附加真正异常or结束回合类效果" ID="59e4d56556ff46ca28d09471a3bbea13" STYLE="fork"/>
|
||||||
|
<node TEXT="boss锋锐、汲取特性" ID="1d963cc8821d299071eb594bf9fc5d7b" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="结算主动套装效果" ID="5c929fb9732043ec6e6a380c4590f3bc" STYLE="fork">
|
||||||
|
<node TEXT="天光套减疗、附加补刀粉" ID="83f71077fe43f161fe88a8ed8efac3c2" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="自然扣除pp时点" ID="c0240b182f7107bb98b244b8903d83f6" STYLE="fork">
|
||||||
|
<node TEXT="只知道在行动结束时,不知道和其他效果的顺序" ID="867d994bf64778f2644064070020f4bd" STYLE="fork"/>
|
||||||
|
<node TEXT="这也是技效时回pp还会少pp的原因" ID="d3e3d3de2f1b96695caa52a9f385fa6e" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="行动结束后" ID="3a7d6e02b6e25a34f9ad709a0099d2fb" STYLE="fork">
|
||||||
|
<node TEXT="封技能回血关闭时点" ID="db3f6712790d17474c53ec130de64c11" STYLE="fork">
|
||||||
|
<node TEXT="以下再出现主动体力变动(提升)不会被“无法通过自身技能恢复体力”封" ID="9384d91b8e46cd7873a406a936792d03" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="星皇buff回1/8血" ID="2894c93b02a4bcf044436295ec35f134" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="额外行动" ID="af76e620a6852fbd522804f06edad634" STYLE="fork">
|
||||||
|
<node TEXT="空元行者、萨芙凯特、德莱赫默(克雷弗德)、星启天魂、魂帝进行额外行动" ID="12928b3730a81c4a371f2c58dc092274" STYLE="fork">
|
||||||
|
<node TEXT="额外行动的系别伤害不属于技能伤害,不会击破尤纳斯魂印" ID="250dc3451e8a987011d63a912518b98a" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="新星皇二段时点" ID="5e87e3a29fd4d6c869426847958e9a0d" STYLE="fork">
|
||||||
|
<node TEXT="星皇二段红伤区别于其他额外行动系别伤害,会将威力减半重新调用伤害公式并执行绑定自身/己方的增伤效果,属于变威力效果" ID="d1accf0591594adf238358d25fb78c73" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="机盖弹伤" ID="06f209992a8737ca480d0c3ac584b1ab" STYLE="fork">
|
||||||
|
<node TEXT="机盖受致死伤时(包括属伤),在对手战斗阶段此时点扣血,对手被扣到0血时机盖恢复1点体力(受封回血、减疗影响)" ID="4902fab33f6bb0e6133023320f1ecd0e" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="先手方死亡结算" ID="19b8cac876fb5e6e99874412a0b83cf3" STYLE="fork">
|
||||||
|
<node TEXT="死亡结算时点①,该时点精灵体力=0时判定为死亡" ID="983c0ac14e130f44f3559bf11fad6860" STYLE="fork"/>
|
||||||
|
<node TEXT="任一方在此时死亡时,跳过后手方出手流程,直接进入回合结束后" ID="fc21dc830cac8460114893492d978c2e" STYLE="fork"/>
|
||||||
|
<node TEXT="双方同时死亡时,先手方残留1点体力" ID="7f764708602725204c85cd3ae589d39b" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="后手方战斗阶段" ID="eb4b4321ae3cefb2d6427e691efcdba6" STYLE="fork">
|
||||||
|
<node TEXT="与先手方阶段一致的时点们" ID="786f265b9f4481233295377bd2f5a772" STYLE="fork">
|
||||||
|
<node TEXT="行动开始时" ID="be10d71d66e35216f74645826f798667" STYLE="fork"/>
|
||||||
|
<node TEXT="出手流程" ID="1785dafe380ad9e220d5843faf57254d" STYLE="fork">
|
||||||
|
<node TEXT="使用技能时(技能命中前)" ID="bc66a98665001a40c4b4d3e3ade6d935" STYLE="fork"/>
|
||||||
|
<node TEXT="技能命中时" ID="6074cccbad6935cd70ba5d3b27ea481b" STYLE="fork"/>
|
||||||
|
<node TEXT="技能效果结算" ID="f530e9e8c7dbe645fc8abe43e2443ddc" STYLE="fork">
|
||||||
|
<node TEXT="!技能效果时点!" ID="9f0031135e0ec03009e3d53282e9b1ad" STYLE="fork"/>
|
||||||
|
<node TEXT="各种增减伤+部分回合类效果的生效区域" ID="ac6157cac56b72a02ffc01168ad0b728" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="攻击伤害结算" ID="1bbfa773e9f90b7b1d14d3cd9e8d9f12" STYLE="fork"/>
|
||||||
|
<node TEXT="行动后/命中后/攻击后/受击后/出手后" ID="3d87d3b9bff86f3c892d8fa1edab8483" STYLE="fork"/>
|
||||||
|
<node TEXT="行动结束时" ID="15aecf78c6c5e6e350686fc6ac2e476a" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="行动结束后" ID="96184ed65d7d76355eaa8cd4a7aef8e9" STYLE="fork"/>
|
||||||
|
<node TEXT="额外行动" ID="5f0859d053f3489160d94f58bd63178c" STYLE="fork"/>
|
||||||
|
<node TEXT="机盖弹伤" ID="a679df710fa643258c85b619dd349be4" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="战斗阶段结束时" ID="6aa76a3d44db75aca4b4907d58eea203" STYLE="fork">
|
||||||
|
<node TEXT="先手方先结算、后手方后结算" ID="0185b6dc7cf877d03e71ccaac98f3d8c" STYLE="fork"/>
|
||||||
|
<node TEXT="先手方出手流程任一方死亡,跳过后手方出手流程也会跳过此阶段" ID="f4b9fb559fa783b8a3f20cacc6af1c7e" STYLE="fork"/>
|
||||||
|
<node TEXT="各种“战斗阶段结束时”效果" ID="56b3ed54057d2bf16c205e55c27bdc76" STYLE="fork">
|
||||||
|
<node TEXT="如对手的元神神印真、自身的元神套回血、自身的皇御回血" ID="153e2856068e1f1cdec81f4479d5ecf6" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="后手方死亡结算" ID="f0356302a013cd32f644af2de6808d1d" STYLE="fork">
|
||||||
|
<node TEXT="死亡结算时点②,该时点精灵体力=0时判定为死亡" ID="fbecd7e2a167e022070c542ea56c52bb" STYLE="fork"/>
|
||||||
|
<node TEXT="双方同时死亡时,后手方残留1点体力" ID="88ce961a51e3e83ce55c5b53fed40a0c" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="回合结束后①" ID="d0c0699104923f4cc85df685d59dd5bf" STYLE="bubble" POSITION="right">
|
||||||
|
<node TEXT="战阶结束时至扣减点前,存在固定的先后结算顺序" ID="b225c5039b6a88bf518f3baf29ea92f9" STYLE="fork"/>
|
||||||
|
<node TEXT="回合结束后通用时点①" ID="985479251dad1e0ca7f08f9a4a87dc0d" STYLE="fork">
|
||||||
|
<node TEXT="id1226、id1631、id1831、id1839中的回合结束后效果" ID="25dbcd31f6ec5cce64c1ba31f93ec99d" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="桃园buff回血" ID="697cb7888420f955dc2abf7302ef844c" STYLE="fork">
|
||||||
|
<node TEXT="战阶未死亡才可触发" ID="65b0e18aaa96e18aac51117f81993a5d" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="坦普瑞魂印时点" ID="5878dde2f9d5a097df7797b19e54007d" STYLE="fork">
|
||||||
|
<node TEXT="虫魂印:回束后pp……" ID="2ec72de342485b9e4bc29d68d4972139" STYLE="fork"/>
|
||||||
|
<node TEXT="id1294:消强弱化和盾,追加天意控补偿回束时吸血" ID="4839b872cdbdf8872667997182e5423d" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="大超王 魂印锁对手血" ID="6cf624cebab9a53e569cf6ab49316b7b" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="回合数扣减点" ID="729057129c024fd44329eed9318d4783" STYLE="bubble" POSITION="right">
|
||||||
|
<node TEXT="①净世新生时点" ID="55e1c9fd5a0556311e9b50de6767af12" STYLE="fork">
|
||||||
|
<node TEXT="id2067:n回合闪避攻击,效果结束后回满血和pp" ID="bf7fdb73921e179058000a9af8c16800" STYLE="fork"/>
|
||||||
|
<node TEXT="id2068:害怕控补偿回合结束后断回合" ID="07e02d1bb131005f8906bf4901ae0114" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="②回合结束时通用时点" ID="ddcdd27c9fd2c0cc05cfcaddae4cc0a6" STYLE="fork">
|
||||||
|
<node TEXT="至序圣华 登场首回合残留1pp" ID="cdd54e977c511da6b8b237ae0e08b273" STYLE="fork"/>
|
||||||
|
<node TEXT="闪光皮神 神羽:每有一片回束时回血50" ID="6e3a38a36842d7d7146b794bff835b04" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="③end通用时点" ID="858adb1eb42e36cee0ee6bfd58ba91ee" STYLE="fork">
|
||||||
|
<node TEXT="大部分回合类的回合数-1/结束" ID="c6324563de9c97da998dd1157771e727" STYLE="fork">
|
||||||
|
<node TEXT="处理所有回合类效果的回合数、魂印回合效果的回合数、异常回合数" ID="bbbac3cf0a6db9ecf253b058203ed1f9" STYLE="fork"/>
|
||||||
|
<node TEXT="依挑战方机制:房主方先判定,挑战方后判定" ID="50adf2a62295f085490227300ad85cc7" STYLE="fork"/>
|
||||||
|
<node TEXT="不同效果会出现先后结算" ID="63231a2249e74b87fdad33e37281961b" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="回合类魂免关闭" ID="aad8ca43498167f2503f550ceb60d1bf" STYLE="fork"/>
|
||||||
|
<node TEXT="莫伊莱魂印增粉的结束与开启" ID="12e65af4bed348569333b3634a5e3643" STYLE="fork"/>
|
||||||
|
<node TEXT="沉默粉:给自身附加1/8粉后自然扣减回合数" ID="53da572eb57c98e449353d8ac10cb443" STYLE="fork"/>
|
||||||
|
<node TEXT="星赐:…每回合结束后pp+2后自然扣减回合数" ID="3ef5e56db8fc0e4a74584716573c4fab" STYLE="fork"/>
|
||||||
|
<node TEXT="束缚粉:结束后1/8粉" ID="c058b471973c3d4ff59bff8bae77464e" STYLE="fork"/>
|
||||||
|
<node TEXT="觉醒混暗 晦暗之因回束后吸pp" ID="2bdf7465e2de8184d35c31bb89db60e8" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="④新版回合结束后" ID="8a800cc05315f59d9b4e3ee68d8c181b" STYLE="fork">
|
||||||
|
<node TEXT="大部分新出精灵的魂印回合结束后效果" ID="9b46c662f49fdac1be0b7a3ec592e39d" STYLE="fork"/>
|
||||||
|
<node TEXT="此时点开启的回合类效果到下回合才会-1" ID="6f3cf3032d188dd5042657a3d64d852d" STYLE="fork"/>
|
||||||
|
<node TEXT="希拓 对手有烧伤附加真伤" ID="b2f9d9e2dfbaa327647b7d56a3557158" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="⑤旧式被消强时点" ID="73b0ae702e743a01164338eec4ba8944" STYLE="fork">
|
||||||
|
<node TEXT="id1109:n回合被消强吸血1/m" ID="016199fe60dba08d1668ca1b2362fc07" STYLE="fork"/>
|
||||||
|
<node TEXT="id1057:n回合强化消失则断回合" ID="472ee1a9c70ff32b7414f0f0bbfebfd1" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="⑥房间消强时点" ID="057b5c063f225ea6773a3aad6d895ba9" STYLE="fork">
|
||||||
|
<node TEXT="自由战规则“双方无法处于强化”时点" ID="012da7da61085ed19a9384bb076211ff" STYLE="fork"/>
|
||||||
|
<node TEXT="实际效果为:自身出手后附加1回合的回合类效果,在此节点消除自身强化" ID="5fd0ca8b21f40d633625c2dc56d015b3" STYLE="fork"/>
|
||||||
|
<node TEXT="会被莫伊莱技能免消强响应" ID="a6e013f5e07c53f8d28205170f789370" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="神罗魂印免断end" ID="9600412702dac5070948f7abfe567d0d" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="回合结束后②" ID="d937b96ea7943a7e360de41a199c75df" STYLE="bubble" POSITION="right">
|
||||||
|
<node TEXT="战争猎魔 回束后对手存活控" ID="b258c9b0689d4e3f10bc65c3444845be" STYLE="fork"/>
|
||||||
|
<node TEXT="id1169:有异常则增伤且回束后解控" ID="e4b0d3985335c2a553cb4af90a6377b0" STYLE="fork"/>
|
||||||
|
<node TEXT="16年魂印续航" ID="a09d5443950279f86dac1db06e533613" STYLE="fork">
|
||||||
|
<node TEXT="重生、王哈、机盖" ID="87ec7a7a47c8cb685906c3b056a4b752" STYLE="fork">
|
||||||
|
<node TEXT="pve结束在扣减点,故会出现王哈在对战结束时无法满血" ID="ce4e3305bbdfcb2ac07bdb84f5570771" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="死亡时点" ID="db29b343257dba56973a47679bd45c41" STYLE="bubble" POSITION="right">
|
||||||
|
<node TEXT="死亡结算时点③,也有反同归于尽机制" ID="6673d5f7f2a4e17995c455f519b61588" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="新版未(被)击败/(被)击败" ID="2b13f4984592b1b5bae4cfeb4f1f048c" STYLE="bubble" POSITION="right">
|
||||||
|
<node TEXT="未被击败/被击败时" ID="16a566410cdc02f44e546640b620c4a0" STYLE="fork">
|
||||||
|
<node TEXT="斯布林蒂:被击杀时清空己方未来链接并回血回pp" ID="26aa4252fc932c393fee91cc5552077a" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="未击败对手/击败对手时" ID="ce186f059e4497ea251f1cc88096121a" STYLE="fork">
|
||||||
|
<node TEXT="灵巢之主·索杰德尔:未击败时条件回血回pp拿次免" ID="6489546687bdd3165c5b730700466ba9" STYLE="fork"/>
|
||||||
|
<node TEXT="狩神触发击败类效果(亦只能触发击败时效果)" ID="cb6028cdf0f6a5ac62721c86cb105e84" STYLE="fork"/>
|
||||||
|
<node TEXT="会被明佛断or影响的击杀效果" ID="aaa728cd6f16a5f0f4e31972a4d40093" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="保护机制" ID="848d8575b43d8d9cec48d65d775da1d2" STYLE="fork">
|
||||||
|
<node TEXT="此时精灵受到“未击败”/“未被击败”的致死伤害,强制残留1点" ID="dc289cdcd66e1ae7fee8c0b93d90c337" STYLE="fork">
|
||||||
|
<node TEXT="如id833" ID="f5f25fc7192d09e64982363a1cfd75c4" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
<node TEXT="被击败后" ID="378aa75211af09d26b5f72f4ac85a5aa" STYLE="fork">
|
||||||
|
<node TEXT="奥菲 星命之愿:被击败后断回合/断回合且清1技能pp" ID="1f57faf7d13998357dad65ff2251f646" STYLE="fork"/>
|
||||||
|
<node TEXT="帝佛、大明王的死亡效果" ID="2cbc2dd8187ab3c9f7757d18bd9f6820" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="击败对手后" ID="364811363152a955750e09fa9ff99884" STYLE="fork">
|
||||||
|
<node TEXT="吉娜米斯、混暗(觉)、空元150二段生效、赫斯提亚印记(新)" ID="c0e0f8fc605b3639bdceee6576dac5c5" STYLE="fork"/>
|
||||||
|
<node TEXT="蒂笙第五击杀封攻击、霍光击涛击杀盔等不会被明佛断的击杀效果" ID="11c17f3b9821ca3d0dc0653f51a8746b" STYLE="fork"/>
|
||||||
|
<node TEXT="奥菲 终命之辉:击杀后回血30%/35%" ID="94ae079065222031103c7022044a1605" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="以上效果从上到下结算" ID="62bdba6f80dd085286c5b77959915cef" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
<node TEXT="进入下回合流程" ID="0135292fe8e8d3cca76497a0ab4ac51d" STYLE="bubble" POSITION="right">
|
||||||
|
<node TEXT="从操作阶段开始" ID="3e0e2975a999f585f7a0c2124e579ac3" STYLE="fork"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
</map>
|
||||||
Reference in New Issue
Block a user