Skip to content

Commit

Permalink
添加说明:更新规则书;修改:激化领域的使用次数为2
Browse files Browse the repository at this point in the history
  • Loading branch information
hegugu-ng committed Jun 26, 2023
1 parent 7e6b6a1 commit 7bb1687
Show file tree
Hide file tree
Showing 4 changed files with 116 additions and 23 deletions.
2 changes: 1 addition & 1 deletion gisim/cards/characters/Hydro/Xingqiu.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from queue import PriorityQueue
from typing import cast

from classes.message import AfterUsingSkillMsg, DealDamageMsg
from gisim.classes.message import AfterUsingSkillMsg, DealDamageMsg

from gisim.cards.characters.base import CharacterCard, CharacterSkill, GenericSkill
from gisim.classes.enums import (
Expand Down
6 changes: 3 additions & 3 deletions gisim/status/reaction_status.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,14 +95,14 @@ def msg_handler(self, msg_queue: PriorityQueue) -> bool:

class CatalyzingFieldStatus(CombatStatusEntity):
"""[Combat Status]When you deal Icon TCG ElectroElectro DMG or Icon TCG DendroDendro DMG to an opposing active character,
DMG dealt +1. (3 Usages)"""
DMG dealt +1. (2 Usages)"""

name: str = "Catalyzing Field"
description: str = """When you deal Icon TCG ElectroElectro DMG or Icon TCG DendroDendro DMG to an opposing active character, DMG dealt +1. (2 Usages)"""
active: bool = True
value: int = 0
remaining_round: int = INF_INT
remaining_usage: int = 3
remaining_usage: int = 2

def msg_handler(self, msg_queue: PriorityQueue) -> bool:
top_msg = msg_queue.queue[0]
Expand All @@ -123,7 +123,7 @@ def msg_handler(self, msg_queue: PriorityQueue) -> bool:
element_type,
dmg_val + 1,
)
self.remaining_usage -= 1
self.remaining_usage -= 1

if self.remaining_usage == 0 or self.remaining_round == 0:
self.active = False
Expand Down
6 changes: 3 additions & 3 deletions note/element_reaction_note.ipynb

Large diffs are not rendered by default.

125 changes: 109 additions & 16 deletions note/七圣召唤游戏规则.md
Original file line number Diff line number Diff line change
Expand Up @@ -364,6 +364,7 @@
background-image: url(https://githubimg.ngworks.cn/GeniusInvokationImg/ElementalReaction/Pyro_dice.png_icon);
}


.cryo-dice {
background-image: url(https://githubimg.ngworks.cn/GeniusInvokationImg/ElementalReaction/Cryo_dice.png_icon);
}
Expand All @@ -383,23 +384,27 @@
.unaligned-dice {
background-image: url(https://githubimg.ngworks.cn/GeniusInvokationImg/ElementalReaction/unaligned_dice.png_icon);
}

.matching-dice {
background-image: url(https://githubimg.ngworks.cn/GeniusInvokationImg/ElementalReaction/matching_dice.png_icon);
}
.omni_dice{
background-image: url(https://githubimg.ngworks.cn/GeniusInvokationImg/ElementalReaction/omni_dice.png_icon);
}
.energy {
background-image: url(https://githubimg.ngworks.cn/GeniusInvokationImg/ElementalReaction/Energy.png_icon);
}
</style>

# 七圣召唤游戏规则

要进行强化学习,首先开发者必须知道何为七圣召唤,游戏如何进行,有什么卡牌,什么环节,这都对开发有非常重要的帮助。


> 本文不会去特别的强调卡牌如何获得、如何提升牌手等级等相关前置条件,本文**假定读者已经获得了这方面的相关知识**
> 本文不会去特别的强调卡牌如何获得、如何提升牌手等级等相关前置条件,本文**假定读者已经获得了全部的卡牌,并且牌手经验已经 10 级**
## 什么是七圣召唤

![Banner](https://githubimg.ngworks.cn/GeniusInvokationImg/banner.png_github)
![通过地图查看牌手](https://githubimg.ngworks.cn/GeniusInvokationImg/banner.png_github)

在Github中,css可能无法完全显示,建议您将文件下载到本地浏览。点击[这里](https://githubimg.ngworks.cn/七圣召唤游戏规则.html)可以在线浏览。

七圣召唤,是米哈游出品的游戏《原神》中的卡牌类桌面对战游戏,设定上是由教令院研发的风靡提瓦特大陆的桌面卡牌游戏。七圣召唤于 3.3 版本正式上线。

Expand All @@ -411,6 +416,61 @@
- 向牌手名录中的牌手发送`对局邀请函`,可以与他们进行`邀约对局`。在邀约对局中获得胜利,可以得到相应的角色牌及其天赋牌。(PVE)
- 通过邀请板,邀请联机状态下的好友进行七圣召唤对局。当牌手等级达到 4 级后,还可以匹配远方的陌生牌手进行对局。(PVP)

### 大世界的游戏对象

在大世界中,可以挑战的对手(部分活动除外)可以通过左下角`寻找牌手`开关来查看,可以进行游戏的牌手将会以蓝色卡牌图标显示。

蓝色卡牌图标的右下角有圆圈内对勾的标识图标(下称表示图标),如果该牌手未经过挑战,则不显示标识图标。如挑战目标未完成或是该牌手还有其他对局时,标识图标为蓝色,若该牌手所有对局已完成,并且挑战目标均已完成,标识图标为绿色。
![通过地图查看牌手](https://githubimg.ngworks.cn/GeniusInvokationImg/GameObject/通过地图查看牌手.png_github)

#### 冒险挑战

`冒险挑战`是使用自定义牌组与 NPC 进行游戏,玩家获胜后可以获得一定的奖励。
![冒险挑战](https://githubimg.ngworks.cn/GeniusInvokationImg/GameObject/大世界冒险挑战.png_github)
完成`冒险挑战`,是获取`牌手经验``幸运牌币`的途径之一。玩家与 NPC 牌手进行游戏,并且完成相应的挑战目标后(通常是三挡),就可以获得对应挡位的奖励。
有时完成`冒险挑战`的挑战目标会有`卡牌`作为奖励。

#### 决斗对局

`决斗对局``冒险挑战`一样,也是同 NPC 牌手进行游戏,可以获得的奖励与`冒险挑战`一致。
![决斗对局](https://githubimg.ngworks.cn/GeniusInvokationImg/GameObject/大世界决斗对局.png_github)

### 酒馆中的游戏对象

猫尾酒馆,是七圣召唤重要的功能区域,在这里玩家可以进行可以获得角色的`邀约对局`、与真人玩家对战的`胜冠之试``联机对局`、每周刷新的`来客挑战`、获得怪物角色卡牌的`酒馆牌局挑战`
![猫尾酒馆](https://githubimg.ngworks.cn/GeniusInvokationImg/CatsTailTavern.png_github)

与大世界不同,猫尾酒馆中可以挑战的对手直接以蓝色卡牌图标显示,当完成与该对手的挑战后,蓝色卡牌图标将会消失。
![猫尾酒馆地图](https://githubimg.ngworks.cn/GeniusInvokationImg/CatsTailTavernMap.png_github)

#### 来客挑战

`来客挑战`是使用自定义牌组与 NPC 进行游戏,玩家获胜后可以获得一定的奖励。来客挑战一共有四个,每周刷新一次。
![来客挑战](https://githubimg.ngworks.cn/GeniusInvokationImg/GameObject/来客挑战.png_github)

完成`来客挑战`,是获取`牌手经验``幸运牌币`的途径之一。

#### 邀约对局

`邀约对局`是通过消耗`对局邀请函`向牌手名录中的牌手发送对局邀请,可以与他们进行`邀约对局`。在邀约对局中获得胜利,可以得到相应的角色牌及其天赋牌。
![牌手名录](https://githubimg.ngworks.cn/GeniusInvokationImg/GameObject/牌手名录.png_github)
`邀约对局`也设有对应的挑战目标后(通常是三挡),就可以获得对应挡位的奖励。
![邀约对局](https://githubimg.ngworks.cn/GeniusInvokationImg/GameObject/邀约对局.png_github)

#### 联机对局

`联机对局`是通过邀请板,邀请联机状态下的好友进行七圣召唤对局。当牌手等级达到 4 级后,还可以匹配远方的陌生牌手进行对局。
![联机对局](https://githubimg.ngworks.cn/GeniusInvokationImg/GameObject/联机对局.png_github)

#### 胜冠之试

`胜冠之试`定期开放 PVP 特殊挑战,每月 1、16 日刷新。
![胜冠之试](https://githubimg.ngworks.cn/GeniusInvokationImg/GameObject/胜冠之试.png_github)

#### 酒馆牌局挑战

除过`邀约对局`可以获得角色卡外,`酒馆牌局挑战`也可以获得怪物角色卡。
![酒馆牌局挑战](https://githubimg.ngworks.cn/GeniusInvokationImg/GameObject/酒馆牌局挑战.png_github)

## <span class="warn h35">规范化语言</span>

Expand Down Expand Up @@ -473,8 +533,49 @@

<span class="text-pyro">深渊咏者·渊火</span>的被动技能<span class="text-pyro">火之新生</span>会为其本身添加不被击倒的效果。

## 骰子
通过消耗<span class="unaligned-dice cost">1</span>**元素骰子**可以执行各种各样的游戏操作,在七圣召唤中,元素骰子类型和元素类型一致,一共有7种基础元素骰子,除过七种基础元素骰子以外,还有一种万能元素骰子,可以表示任意元素。但是在表示中,有十种表示方法。分别是:
七种基础元素骰子表示方法<span class="anemo-dice cost">1</span><span class="text-anemo">风元素骰子</span>、<span class="cryo-dice cost">1</span><span class="text-cryo">冰元素骰子</span>、<span class="dendro-dice cost">1</span><span class="text-dendro">草元素骰子</span>、<span class="electro-dice cost">1</span><span class="text-electro">雷元素骰子</span>、<span class="geo-dice cost">1</span><span class="text-geo">岩元素骰子</span>、<span class="hydro-dice cost">1</span><span class="text-hydro">水元素骰子</span>、<span class="pyro-dice cost">1</span><span class="text-pyro">火元素骰子</span>。图标<span class="dendro-dice cost">1</span>中的数字<span class=" cost">1</span>代表需要消耗几个该元素类型的骰子。

<span class="omni_dice cost">ㅤ</span>**万能元素骰子**,是骰子的一种种类,可以用来表示任意一种基础元素骰子。

出于广泛的标识骰子,元素骰子还有两种表达方式<span class="unaligned-dice cost">1</span>**任意元素骰子** 可以表示任意元素骰子,不受元素类型的限制。<span class="matching-dice cost">3</span>**相同的元素骰子**用于表示一定数量同一种元素类型的的元素骰子(万能元素骰子可以为一种骰子类型,也可代替任意一种元素类型)。
## 卡牌
![卡牌](https://githubimg.ngworks.cn/GeniusInvokationImg/GameObject/cards.png)
卡牌,是游戏最主要的构成部分。各式各样的卡牌的迥异效果给七圣召唤赋予了多变复杂的效果。
### 角色卡

### 行动卡
## 能量
通过攻击、支援卡牌的效果、其他角色的技能效果等方式,可以对角色进行充能。当角色的<span class="energy cost">ㅤ</span>**能量**满足一定条件时,可以使用元素爆发等。

## 游戏区域

![游戏区域](https://githubimg.ngworks.cn/GeniusInvokationImg/GameScene/game_area.png)

如上图,在七圣召唤对局中,卡牌将会被放置在这些区域:
### I、角色区
游戏开始之后,角色卡将会被放在角色区。每个玩家最多只能有一个出战角色,仅有出战角色才能使用技能。
### II、角色附属
每个角色可以附属状态、装备牌。
如本文之前所描述:角色状态,会被放在角色卡牌底端(内部),不会随着出战角色的切换而转移。阵营出战状态,会被放在角色卡的底端(外部),会随着出战角色的切换而转移。
### III、支援区
打出支援牌后,支援牌会放在支援区。支援区内一次最多放置4张支援牌,支援区满后如果继续打出新的支援牌,则需要选择支援区内的一张支援牌弃置,空出新的位置才能打出。
同时结算多个支援牌效果时,会按照支援牌的顺序结算。
### IV、召唤物区
己方生成的召唤物将会被放置在召唤物区,召唤物区最多可以放置4个召唤物,当召唤物区放满后,无法生成新的召唤物。
### V、牌堆
游戏开始前,会将玩家牌组中的行动牌洗牌,放到牌堆。
进行抓牌时,玩家可以从牌堆的顶部摸牌,如果牌堆中已经没有手牌了,玩家将无法获取任何手牌。
### VI、手牌
游戏开始后,玩家可以从牌堆中抓取5张行动牌作为初始手牌。每个回合结束时可以从牌堆中抓取2张牌。
手牌的上限是10张牌,超过10张牌的部分需要被弃置。

## 游戏阶段
TODO
### 行动
行动发生在行动阶段内。

## 元素反应

元素反应是七圣召唤最有特色的玩法,也是最复杂的一个系统,开发者需要通透的理解元素反应才能对其进行开发。
Expand Down Expand Up @@ -714,7 +815,7 @@
上图<span class="text-hydro">水深渊法师</span>附属包含**免疫所有伤害**效果的状态,依然会受到<span class="piercing">穿透伤害</span>。

<img height="50px" src="https://githubimg.ngworks.cn/GeniusInvokationImg/UserIcon/Piercing.png_icon"/>


<span class="piercing">穿透伤害</span>的标志是为了方便区分而额外绘制的,与游戏中的标识方法无关。

Expand All @@ -735,9 +836,9 @@ $$原始伤害 = 技能效果伤害 + 伤害加成系数(武器 + 状态)\tag{1.

$$元素反应整幅 = 规定的元素反应增幅\tag{1.2}$$

伤害命中系数,是决定伤害是否忽略目标角色减免,取值为0或1。
伤害命中系数,是决定伤害是否忽略目标角色减免,取值为0或1。如穿透伤害,可以无视目标角色的<span class="shield">护盾</span>、伤害免疫等减免,此时,伤害命中系数为1。

伤害抵抗系数,是决定了目标角色是否完全抵抗伤害,取值为0或1。比如目标角色对<span class="hydro">水元素伤害</span>有免疫效果,若受到的伤害为<span class="hydro">水元素伤害</span>时,其伤害抵抗系数为1
伤害抵抗系数,是决定了目标角色是否完全抵抗伤害,取值为0或1。比如目标角色对<span class="hydro">水元素伤害</span>有免疫效果,若受到的伤害为<span class="hydro">水元素伤害</span>时,其伤害抵抗系数为1。处于免疫所有伤害状态下的目标角色,其伤害抵抗系数也为1。

$$伤害的减免=\begin{cases}
减免状态+护盾 & 伤害命中系数 = 0 \\
Expand All @@ -754,8 +855,6 @@ $$

造成的伤害应应当为大于等于0的数值。

<span class="piercing">穿透伤害</span>,可以无视目标角色的<span class="shield">护盾</span>、伤害免疫等减免。也不能够受到增幅。

### 伤害类型的转换
伤害类型可以被被动、状态转换为其他类型的伤害。
<span class="text-pyro">胡桃</span>角色,在使用元素战技<span class="pyro-dice cost">2</span><span class="text-pyro">蝶引来生</span>后附属的<span class="text-pyro">彼岸蝶舞</span>可以使<span class="physical">物理伤害</span>被转换为<span class="pyro">火元素伤害</span>。
Expand All @@ -767,9 +866,3 @@ $$
发生超导、感电、扩散元素反应时,会对后台角色造成伤害。这视为新的伤害发生,遵循上述伤害计算的方法。

> 所以角色为自身附着元素导致元素反应的发生,不会发生伤害。
## 骰子
通过消耗<span class="unaligned-dice cost">1</span>**元素骰子**可以执行各种各样的游戏操作,在七圣召唤中,元素骰子类型和元素类型一致,一共有七种,但是在表示中,有十种表示方法。分别是:
七种基础元素骰子表示方法<span class="anemo-dice cost">1</span><span class="text-anemo">风元素骰子</span>、<span class="cryo-dice cost">1</span><span class="text-cryo">冰元素骰子</span>、<span class="dendro-dice cost">1</span><span class="text-dendro">草元素骰子</span>、<span class="electro-dice cost">1</span><span class="text-electro">雷元素骰子</span>、<span class="geo-dice cost">1</span><span class="text-geo">岩元素骰子</span>、<span class="hydro-dice cost">1</span><span class="text-hydro">水元素骰子</span>、<span class="pyro-dice cost">1</span><span class="text-pyro">火元素骰子</span>。图标<span class="dendro-dice cost">1</span>中的数字<span class=" cost">1</span>代表需要消耗几个该元素类型的骰子。


0 comments on commit 7bb1687

Please sign in to comment.