13. 新月杀标记/技能名格式整理#

这里整理了一些比较实用的小知识,今后可能会用到。

13.1. 新月杀标记格式整理#

错误

在设置,增加或移除玩家的标记时,请使用room类中的相关函数,不要使用player类中的set/add/remove。

"mark":普通标记,不会显示在将面上。

"@mark":显示标记,标记名称与标记的值(可以是table,string,int等类型的值)

"@@mark":显示标记,但是不会显示标记值。

"@$mark":显示牌名标记,标记值为Card.name的table

"@&mark":显示武将名标记,标记值为General.name的table

"@!mark":角标标记,标记不会显示在将面上,但是会伴有角标图片与标记数量在将框右下角

备注

@!mark需要自带角标图片,标记图片放在扩展包文件夹的image/mark文件夹中,格式20x20-25x25之间。

类型为png图片。命名需要与@!mark标记名一致。若对此@!mark赋值,除int以外的类型均不会显示标记值。

"@[mark]":此为qml标记,本标记需要额外定义qml标记函数。

 1Fk:addQmlMark{
 2 name="mark",
 3 qml_path = function(name, value, p){
 4   return "qml的路径"  -- string
 5 },
 6 how_to_show = function(name, value, p){
 7   return "标记值的显示"  -- string?
 8 },
 9}
10-- 详情请查看类 QmlMarkSpec

"@[private]$mark":仅自己可见的卡牌牌堆标记。本标记里面存放的是卡牌的私人牌堆。

"@[private]&mark":仅自己可见的武将牌堆标记。本标记里面存放的是武将的私人牌堆。

"@[private]:mark":仅自己可见的qml窗口标记

"@[suits]mark":显示花色的标记。其标记值应为存放Card.Suit的table。

"@[chara]mark":显示角色的武将名(若有副将,改为显示位置)。其标记值应为角色的id。

"@[player]mark":记录多名角色,标记值显示数量,点击查看记录的角色信息(若后继以$开头则仅自己可见),传入值为角色id的table

"@[cardtypes]mark":显示卡牌的类型。标记值为Card.type的table。

"@[:]mark":显示标记的详情。这是一个qml标记,标记值为table。

"@[xianfu]mark":显示角色武将名称的标记。标记值为一个类{value,visible}。

备注

标记值中的value属性可为StrIng可为int。若为int则输入角色id,然后该属性返回角色的武将名称。

visible属性则控制此标记值是否对非标记拥有者可见,为bool类型的属性。

@[xianfu]mark目前为唯一特殊标记,其的标记值是一个类。

13.2. 新月杀技能名格式整理#

"skill_name":正常的技能名,作为武将的一般技能名,武将addskill此技能时会正常加入武将的技能栏。

备注

武将addRelatedSkill此技能则作为衍生技加入游戏,在游戏开始时不会获得,例如界吕蒙的攻心,觉醒才可获得。

"#skill_name":衍生技。此技能不会出现在武将的技能栏中,会被隐藏。一般是作为技能的补充效果。

备注

例如,咆哮改:你使用的杀无次数限制。你回合开始可以使用一张杀。

第一个效果需要我们创建一个CreateTargetModSkill实现,第二个则是CreateTriggerSkill实现。

使用skill1:addRelatedSkill(skill2)将我们创建的第一个技能CreateTargetModSkill挂载上CreateTriggerSkill。

"skill_name$":主公技,其仅会在该角色的身份为主公时会获得。在玩家角色低于5名时不会获得。

"skill_name&":附加技,该技能为额外获得的非武将池技能。在定义主要技时,设置主要技的attach_skill_name参数即可令全场获得本附加技。

备注

例如一将成名的刘封的陷嗣,其会令全场拥有一个附加技【陷嗣】,这个技能是不属于武将的,因此不会受到技能失去和无效的影响。

13.3. 新月杀其他命名格式整理#

"&card_name":衍生卡牌名。此卡牌不会出现在牌堆中,需要“特殊召唤”才能出现。例如虎牢关神吕布的装备。

"$card_pile":私人牌堆名。$前缀的牌堆仅能自己看见,即私人牌堆拥有者。

"card_pile&":私人牌堆名。但此牌堆的牌可如手牌搬使用或打出。

13.4. 新月杀QML备注#

由于以前可能会出现使用官方QML返回JSON字符串的情况,现在统一默认返回值是lua的数据table。