2.2. 杂项物品

作者:

innoxia, bicobus

备注

物品模组功能尚未完全完成,因为你无法为物品自定义任何附魔效果。我将在未来的某个版本改善这一点,但现在,这个模组框架应该足以满足大多数用途。

模组制作的注释规范例在 res/items/innoxia/pills/fertility.xml

2.2.1. Boolean Values

布尔值可以在文档的所有元素中使用。这些值可以理解为:

  • true

  • false

2.2.2. coreAttributes

2.2.2.1. authorTag

在项目中显示模组作者(你)的名字。如果留空或没有该标签,将使用基于文件夹名称作为默认标签。

这个标签是可选项。

<authorTag><![CDATA[A small name stamped on one side of the pill reads 'Inno-Industries'.]]></authorTag>

2.2.2.2. value

该物品价值多少。

<value>20</value>

2.2.2.3. determiner

在“Innoxia拥有X繁育药”这个例子中,这个X就是就是量词,这通常填入“一个”或者“一支”,但是对于其他物品来说这个量词可能是不同的。

像“Innoxia拿着X剪刀”这个例子中, 这里X(这个量词)就应该写作“一把”。

<determiner><![CDATA[a]]></determiner>

2.2.2.4. name

这个物品的单数名称。

<name><![CDATA[breeder pill]**></name>

2.2.2.5. namePlural

这个物品的复数名称。

节点属性:
pluralByDefault 类型: boolean

变量 pluralByDefault 定义了该物品在调用时直接以复数名称调用(例如“a pair of pants”),不太符合汉语习惯可无视。

<namePlural pluralByDefault="false"><![CDATA[breeder pills]]></namePlural>

2.2.2.6. description

关于这个物品的描述或者传说之类的。

<description><![CDATA[A small, light-purple pill, individually packaged in a foil and plastic wrapper. While the text printed on the foil identifies this pill as an 'Orally-Administered Reproduction Enhancer', it's colloquially known as a 'breeder pill', and temporarily boosts both fertility and virility when ingested.]]></description>

2.2.2.7. useDescriptor

物品的使用方式。这应该是一个动词,在物品使用时用作为使用物品的称谓。

<useDescriptor>swallow</useDescriptor>

2.2.2.8. sexUse

定义该物品是否可以在性爱动作中使用,比如假阳具或药丸。

这里的元素要使用 布尔值

<sexUse>true</sexUse>

2.2.2.9. combatUseAllies

定义该物品是否可以在战斗中用于你自己或你的盟友。

这里的元素要使用 布尔值

<combatUseAllies>true</combatUseAllies>

2.2.2.10. combatUseEnemies

定义该物品是否可以在战斗中用于敌人。

这里的元素要使用 布尔值

<combatUseEnemies>false</combatUseEnemies>

2.2.2.11. consumedOnUse

定义该物品是否在使用时被消耗掉。(编辑注:它是消耗品吗?)

这里的元素要使用 布尔值

<consumedOnUse>true</consumedOnUse>

2.2.2.12. rarity

物品的稀有度。可以在这里查看数值:src/com/lilithsthrone/game/inventory/Rarity.java

<rarity>COMMON</rarity>

2.2.2.13. imageName

该物品图像在角色库存中的文件名。游戏唯一支持的文件类型是.svg。我使用免费程序“Inkscape”为游戏制作.svg图像。

<imageName>pill.svg</imageName>

2.2.2.14. colours

你的道具可以按你喜欢的方式着色,但如果你想让游戏中可以自动随机颜色,你可以在这里指定可用的颜色。

参见

颜色

每个默认值都是 CLOTHING_BLACK

<colourPrimary>CLOTHING_PURPLE_LIGHT</colourPrimary>
<colourSecondary/>
<colourTertiary/>

2.2.2.15. effectTooltipLines

你可以使用本节来描述此项的任何额外特性。当玩家将鼠标悬停在道具图标上时,这些描述就会显示在工具提示中,所以尽量保持它们简短(因为它们应该可以放在一行中)。它可能只应该用于描述 applyEffects 元素中发生的事情。这个参数中没有字符可以作为解析参数传入,所以你不应该使用任何特定于字符的解析元素(例如 [npc.name] )。

<effectTooltipLines>
    <line><![CDATA[[#ATTRIBUTE_FERTILITY.getFormattedValue(50)] for 24 hours]]></line>
    <line><![CDATA[[#ATTRIBUTE_VIRILITY.getFormattedValue(50)] for 24 hours]]></line>
    <line><![CDATA[[style.boldBad(Removes status effect:)]]]></line>
    <line><![CDATA['<i>[#SE_PROMISCUITY_PILL.getName(null)]</i>']]></line>
</effectTooltipLines>

2.2.2.16. applyEffects

这里是每次在某人上使用此项时调用和解析的内容。受特效影响的角色标记为 npc ,而在目标上使用该物品的角色标记为 npc2 。如果自使用的物品, npcnpc2 将是相同的字符。所有解析后的文本都会显示给玩家。

<applyEffects><![CDATA[
    [##npc.removeStatusEffect(SE_PROMISCUITY_PILL)]
    [##npc.addStatusEffect(SE_VIXENS_VIRILITY, 60*24*60)]
    <p style='margin-bottom:0; padding-bottom:0;'>
            The small pill easily slides down [npc.her] throat, and within moments [npc.she] [npc.verb(feel)]
            #IF(npc.hasVagina())
                     a soothing, warm glow spreading out from [npc.her] ovaries into [npc.her] lower torso. [npc.Her] mind fogs over with an overwhelming desire to feel potent sperm spurting deep into [npc.her]
                    #IF(npc.isVisiblyPregnant())
                             pussy,
                    #ELSE
                             womb,
                    #ENDIF
                     and before [npc.she] can stop it, a horny whimper escapes from between [npc.her] [npc.lips].
                    #IF(npc.hasPenisIgnoreDildo())
                             At the same time, [npc.her] manhood begins to throb with need, and [npc.she] [npc.verb(feel)]
                    #ENDIF
            #ENDIF
            #IF(npc.hasPenisIgnoreDildo())
                     an overpowering desire to sink deep into a fertile female's cunt and fill her with [npc.cum+].
            #ENDIF
            #IF(!npc.hasPenisIgnoreDildo() && !npc.hasVagina())
                    a desperate heat in [npc.her] genderless mound.
            #ENDIF
    </p>
    <p style='text-align:center; margin-top:0; padding-top:0;'>
            [style.colourPinkLight([npc.Name] [npc.is] now experiencing <i>'[#SE_VIXENS_VIRILITY.getName(npc)]'</i> for the next 24 hours!)]
    </p>
]]></applyEffects>

2.2.2.17. itemTags

适用于此项目的特殊项目标签。可以在这里找到可用的值: src/com/lilithsthrone/game/inventory/ItemTag.java

<itemTags>
    <tag>DOMINION_ALLEYWAY_SPAWN</tag>
    <tag>SUBMISSION_TUNNEL_SPAWN</tag>
    <tag>BAT_CAVERNS_SPAWN</tag>
    <tag>ATTRIBUTE_TF_ITEM</tag>
    <tag>SOLD_BY_RALPH</tag>
</itemTags>

2.2.3. useDescription

使用时显示的描述。

selfUse

表示这个物品对角色自己使用时可被使用

otherUse

表示这个物品对其他角色使用时可被使用。

你必须定义这两个元素中的至少一个,如果定义了其中多个元素,则使用描述将从你定义的所有元素中随机选择。

<useDescriptions>
    <selfUse><![CDATA[
    [npc.Name] [npc.verb(pop)] a breeder pill out of its little foil wrapper, before quickly placing it in [npc.her] mouth and swallowing it down.
    ]]></selfUse>
    <otherUse><![CDATA[
    [npc.Name] [npc.verb(pop)] a breeder pill out of its little foil wrapper, before bringing it up to [npc2.namePos] [npc2.lips], forcing it into [npc2.her] mouth, and making sure that [npc2.she] [npc2.verb(swallow)] it down.
    ]]></otherUse>
</useDescriptions>