楼主: 黄永斌

[巫妖王之怒] A端时光服天赋改动心得交流

[复制链接]

136

时沙

0

精华

0

主题

声望: 3009   虚弱: 0

Lv.5(无冕者)

炉石信仰战

发表于 2026-1-19 09:53:35 | 显示全部楼层
感谢分享
[发帖际遇]: 伍光拾色杀死上千万小软,得到小软的内裤,获得1 声望. 幸运榜 / 衰神榜
回复

使用道具 举报

1179

时沙

0

精华

3

主题

声望: 523   虚弱: 0

Lv.4(锻造者)

灵蛇献瑞(尚美制作)祥龙贺岁(尚美制作)金兔迎春(尚美制作)炉石假死猎人今天也只能打恢复的增强萨福虎贺岁(尚美制作)

发表于 2026-1-19 11:36:53 | 显示全部楼层
大佬动手能力真厉害
[发帖际遇]: jonasr变身大咕咕在主城门口表演卖萌,获得28 金币. 幸运榜 / 衰神榜
回复

使用道具 举报

607

时沙

0

精华

2

主题

声望: 522   虚弱: 0

Lv.4(锻造者)

发表于 2026-1-19 21:07:08 | 显示全部楼层
加个好友QQ76047518,即将着手修改代码,可我没玩官服,也不知道官服咋改的,我觉得不一定非要按它的改,可以自己原创
[发帖际遇]: yqsy拿变质团队大餐宴请全体成员,导致全会食物中毒上泄下吐,失去2 声望. 幸运榜 / 衰神榜
回复

使用道具 举报

39

时沙

0

精华

2

主题

声望: 320   虚弱: 0

Lv.3(忠诚者)

 楼主| 发表于 2026-1-20 01:13:26 | 显示全部楼层
QQ图片20260119231759.png QQ图片20260120005719.png QQ图片20260120005759.png QQ图片20260120005852.png

今天终于搞完盗贼,就是转嫁技能没在时光服玩过,不知道怎么操作的,就自己改了个
[发帖际遇]: 黄永斌在燃烧军团入侵时挺身而出,不幸战死,获得3 声望. 幸运榜 / 衰神榜
回复

使用道具 举报

830

时沙

0

精华

7

主题

声望: 1187   虚弱: 0

Lv.4(锻造者)

灵蛇献瑞(尚美制作)炉石

发表于 2026-1-20 01:31:26 | 显示全部楼层
期待大佬的成品。。。
回复

使用道具 举报

发表于 2026-1-20 02:23:27 | 显示全部楼层
流批,支持一下
回复

使用道具 举报

39

时沙

0

精华

2

主题

声望: 320   虚弱: 0

Lv.3(忠诚者)

 楼主| 发表于 2026-1-20 14:58:32 | 显示全部楼层
image.jpg

image.jpg

争取今天搞定萨满
回复

使用道具 举报

39

时沙

0

精华

2

主题

声望: 320   虚弱: 0

Lv.3(忠诚者)

 楼主| 发表于 2026-1-20 15:04:30 | 显示全部楼层
本帖最后由 黄永斌 于 2026-1-20 15:07 编辑
  1. //910033 熔岩猛击
  2. //你将熔岩的能量灌注在双手武器中,立即对目标造成$s1%的武器伤害,然后对8码范围内的至多${$i-1}个目标造成等额伤害。如果你附加了火舌效果,这个伤害值还可以提高$s2%。
  3. class spell_sha_lava_strike : public SpellScript
  4. {
  5.     PrepareSpellScript(spell_sha_lava_strike);
  6.     int32 mainDamage = 0; // 记录效果1(主目标)产生的实际伤害
  7.     bool Load() override
  8.     {
  9.         return GetCaster()->IsPlayer();
  10.     }
  11.     /* 卵用没有的代码
  12.     void HandleDummy1(SpellEffIndex effIndex)
  13.     {
  14.         if (Player* caster = GetCaster()->ToPlayer())
  15.         {
  16.             int32 damage = GetEffectValue() * 10;
  17.             int32 hitDamage = GetHitDamage();
  18.             if (caster->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND))
  19.             {
  20.                 if (caster->GetAuraEffect(SPELL_AURA_DUMMY, SPELLFAMILY_SHAMAN, 0x200000, 0, 0))
  21.                 {
  22.                     LOG_INFO("server.spells", "add damage");
  23.                     AddPct(hitDamage, damage);
  24.                 }
  25.                 SetHitDamage(hitDamage);
  26.             }
  27.             mainDamage = hitDamage;
  28.             LOG_INFO("server.spells", "main target damage ex {}", mainDamage);
  29.         }
  30.     }
  31.     */
  32.     void HandleDummy(SpellEffIndex /*effIndex*/)
  33.     {
  34.         mainDamage = GetHitDamage();
  35.         //LOG_INFO("server.spells", "main target damage {}", mainDamage);
  36.     }
  37.     // 2. 处理效果 1:对周围目标造成等量伤害
  38.     void HandleDummy2(SpellEffIndex effIndex)
  39.     {
  40.         Unit* caster = GetCaster();
  41.         Unit* target = GetHitUnit();
  42.         // 使用 DealDamage + SendSpellNonMeleeDamageLog 确保跳字且无视护甲(因为是复制伤害)
  43.         caster->SendSpellNonMeleeDamageLog(target, GetSpellInfo(), mainDamage, SPELL_SCHOOL_MASK_NORMAL, 0, 0, false, 0, false);
  44.         int32 realDamage = caster->DealDamage(caster, target, mainDamage, nullptr, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, GetSpellInfo(), false);
  45.         //LOG_INFO("server.spells", "damage to {} {}, real {}", target->GetName(), mainDamage, realDamage);
  46.     }
  47.     void HandleAreaTargetSelect(std::list<WorldObject*>& targets)
  48.     {
  49.         Unit* caster = GetCaster();
  50.         // 获取当前法术选择的原始主目标
  51.         Unit* mainTarget = GetExplTargetUnit();
  52.         // 1. 核心步骤:从溅射列表中排除主目标
  53.         if (mainTarget)
  54.         {
  55.             //LOG_INFO("server.spells", "main target {}", mainTarget->GetName());
  56.             targets.remove(mainTarget);
  57.         }
  58.         // 2. 数量限制:如果周围怪很多,只保留最近的 2 个
  59.         // 因为已经在 DBC 中设置了半径,这里 targets 已经是半径内的单位
  60.         if (targets.size() > 2)
  61.             targets.resize(2);
  62.     }
  63.     void Register() override
  64.     {
  65.         // 绑定主目标命中(记录伤害)
  66.         OnEffectHitTarget += SpellEffectFn(spell_sha_lava_strike::HandleDummy, EFFECT_0, SPELL_EFFECT_WEAPON_PERCENT_DAMAGE);
  67.         //OnEffectHitTarget += SpellEffectFn(spell_sha_lava_strike::HandleDummy1, EFFECT_1, SPELL_EFFECT_DUMMY);
  68.         // 绑定 Dummy 效果(执行溅射)
  69.         OnEffectHitTarget += SpellEffectFn(spell_sha_lava_strike::HandleDummy2, EFFECT_2, SPELL_EFFECT_DUMMY);
  70.         //筛选目标
  71.         OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_sha_lava_strike::HandleAreaTargetSelect, EFFECT_2, TARGET_UNIT_SRC_AREA_ENEMY);
  72.     }
  73. };
复制代码


分享一下熔岩猛击,spell.dbc里复制一份熔岩强击,effect3增加一个dummy效果,目标选择参考旋风斩或神圣风暴选择施法者周边8码,武器限制修改成双手武器,挂上脚本即可
[发帖际遇]: 黄永斌因锻造技术不过关,将灰烬使者打造成灰尘使者,赔偿5 金币. 幸运榜 / 衰神榜
回复

使用道具 举报

39

时沙

0

精华

2

主题

声望: 320   虚弱: 0

Lv.3(忠诚者)

 楼主| 发表于 2026-1-20 23:57:34 | 显示全部楼层
image.jpg
image.jpg
image.jpg
image.jpg

直接把双手单手天赋都整合在一起了,风暴打击天生带回蓝
回复

使用道具 举报

711

时沙

0

精华

19

主题

声望: 1495   虚弱: 3

Lv.4(锻造者)

发表于 2026-1-21 10:02:32 | 显示全部楼层
黄永斌 发表于 2026-1-20 15:04
分享一下熔岩猛击,spell.dbc里复制一份熔岩强击,effect3增加一个dummy效果,目标选择参考旋风斩或神圣 ...

写的挺好。建议是新建一个spell。用新建的spell影响target 保证dbc纯洁
回复

使用道具 举报

快速回复 返回顶部 返回列表