Skip to content

MagicCardPack

魔法卡包,位于 FunGame.Core.Model.PrefabricatedEntity。继承 Item 的魔法卡包标准实现,装备到角色后自动生效。

构造函数

csharp
// args:动态参数("exstr"/"exagi"/"exint" 写入 AttributeBoosts,"resonance" 设置 Resonance)
public MagicCardPack(Dictionary<string, object>? args = null)

属性

属性类型说明
ItemTypeItemType固定 MagicCardPack(只读)
MagicsHashSet<Skill>卡包提供的所有魔法技能(即 Skills.Magics
AttributeBoostsDictionary<PrimaryAttribute, double>动态矩阵:增加角色额外核心属性(STR/AGI/INT)
ResonancePrimaryAttribute同频共振:强制转换角色核心属性为该属性
NeuralCalibrationNeuralCalibrationEffect?神经校准:使用特定武器时获得额外特效
CourageCommandCourageCommandSkill?勇气指令:附赠指令技能(不结束回合)
SoulboundSoulboundSkill?灵魂绑定:至少 100EP、可增强的爆发技

装备/卸载自动处理

装备时(重写 OnItemEquipped):

  • 应用 AttributeBoostsExSTR/ExAGI/ExINT
  • 设置 PrimaryAttribute = Resonance(同频共振)
  • 添加 NeuralCalibration 特效
  • 添加 CourageCommandSoulbound 技能

卸载时(重写 OnItemUnEquipped)全部恢复。

使用示例

csharp
var pack = new MagicCardPack(new Dictionary<string, object>
{
    { "exstr", 15 },           // +15 力量
    { "exagi", 10 },           // +10 敏捷
    { "resonance", "AGI" }     // 同频共振 → 敏捷
});

// 添加魔法技能
Skill magic = new 火之矢 { Level = 5 };
pack.Magics.Add(magic);

// 添加神经校准 / 勇气指令 / 灵魂绑定
pack.NeuralCalibration = new MyNeuralCalibration { SupportedWeaponType = WeaponType.Bow };
pack.CourageCommand = new MyCourageCommand();
pack.Soulbound = new MySoulbound();

// 装备到角色 → OnItemEquipped 自动调用,所有特性生效
character.EquipSlot.MagicCardPack = pack;

关联

基于 LGPL-3.0 许可证发布