AD0-凯茜模组通用信息站汉化-漏洞和代码注释

Updated 2 days ago

漏洞/代码注释

攻击模式修改器

常规攻击

+ 对面位置

bool flag = this.HasAbility(Ability.AllStrike);
if (flag)
{
	// 修改月之打击相关内容
}
else
{
	list.Add(this.Slot.opposingSlot);
}

分叉攻击

- 对面位置

+ 左侧, + 右侧

bool flag4 = this.HasAbility(Ability.SplitStrike);
if (flag4)
{
	ProgressionData.SetAbilityLearned(Ability.SplitStrike);
	list.Remove(this.Slot.opposingSlot);
	list.AddRange(Singleton<BoardManager>.Instance.GetAdjacentSlots(this.Slot.opposingSlot));
}

三叉攻击

+ 左侧, + 右侧 若对面位置已被移除,则+对面位置

bool flag5 = this.HasTriStrike();
if (flag5)
{
	ProgressionData.SetAbilityLearned(Ability.TriStrike);
	list.AddRange(Singleton<BoardManager>.Instance.GetAdjacentSlots(this.Slot.opposingSlot));
	bool flag6 = !list.Contains(this.Slot.opposingSlot);
	if (flag6)
	{
		list.Add(this.Slot.opposingSlot);
	}
}

双重打击

+ 对面位置

bool flag7 = this.HasAbility(Ability.DoubleStrike);
if (flag7)
{
	ProgressionData.SetAbilityLearned(Ability.DoubleStrike);
	list.Add(this.slot.opposingSlot);
}

组合模式

bool flag = this.HasAbility(Ability.AllStrike);
if (flag)
{
	// 月之打击相关内容
}
else
{
	list.Add(this.Slot.opposingSlot);
}
bool flag4 = this.HasAbility(Ability.SplitStrike);
if (flag4)
{
	ProgressionData.SetAbilityLearned(Ability.SplitStrike);
	list.Remove(this.Slot.opposingSlot);
	list.AddRange(Singleton<BoardManager>.Instance.GetAdjacentSlots(this.Slot.opposingSlot));
}
bool flag5 = this.HasTriStrike();
if (flag5)
{
	ProgressionData.SetAbilityLearned(Ability.TriStrike);
	list.AddRange(Singleton<BoardManager>.Instance.GetAdjacentSlots(this.Slot.opposingSlot));
	bool flag6 = !list.Contains(this.Slot.opposingSlot);
	if (flag6)
	{
		list.Add(this.Slot.opposingSlot);
	}
}
bool flag7 = this.HasAbility(Ability.DoubleStrike);
if (flag7)
{
	ProgressionData.SetAbilityLearned(Ability.DoubleStrike);
	list.Add(this.slot.opposingSlot);
}

被时针顺偷走的水袭卡牌在被偷走的回合无法被献祭

DiskCardGame.PlayableCard

public bool CanBeSacrificed
{
	get
	{
		return !base.FaceDown && base.Info.Sacrificable;
	}
}

检查是否同样适用于被钩取的水袭卡牌

Pages