dnd吧 关注:84,078贴子:685,848

自创了一个戏法,大家帮忙看看有没有什么问题

只看楼主收藏回复

因为我们团觉得奇械师太可怜了,没有专属法术,法表也好差的样子


IP属地:福建1楼2024-07-26 18:26回复
    弹珠术
    戏法 奇械师
    施法时间:一动作
    法术成分:S,V,M(一枚弹珠或类似坚硬质地的小球)
    持续时间:立即
    你做出一个弹开弹珠的动作,一颗弹珠的幻影飞向目标,有时还像真正的弹珠一样在敌人间弹射
    指定一个施法距离内的目标,发动一次法术攻击检定,若命中则对目标造成1d6点力场伤害,并且你可以让弹珠继续弹射,以该生物附近30尺内的另一生物为目标,再次发动一次法术攻击检定,本枚弹珠伤害永久-1,以此类推,直至某次攻击未命中或命中造成了1点及以下的伤害,弹射终止。
    弹珠的数量随着你等级的提升而提升,5级时增加一枚(变为2枚),11级时再增加一枚(变为3枚),17级时增加一枚(变为4枚)


    IP属地:福建2楼2024-07-26 18:34
    收起回复
      多打加弹射感觉要扔的骰子未免太多了,画风也一般,5分给2分
      奇械师毕竟是辅助向的半施法者,战地匠师和装甲师我觉得强度都还在线吧


      IP属地:上海来自Android客户端3楼2024-07-27 12:56
      收起回复
        一个戏法,骰太多骰子,会让DM发疯的
        戏法都没有需要太多次判定的东西,这是为了让这种最常出现的法术操作简单。另外这个法术的伤害也太不稳定了对于常用的法术来说这样不稳定的效果很难拿来当做主力。哪怕你要多目标攻击,建议至少参考一下闪电链的描述。实际上都知道闪电链是一个链子一个一个的电,但是判定的时候是直接判定多目标。这样伤害比较稳定
        想想看17级一个兼职预言法的半身人奇械师一次施法要投几个骰子我就头疼了。


        IP属地:北京4楼2024-07-27 13:15
        收起回复
          没有限定目标重复,也就是说这个可以在两个敌人之间反复弹么


          IP属地:福建来自iPhone客户端5楼2024-07-27 14:11
          收起回复
            修改后
            弹珠术
            戏法 奇械师
            施法时间:一动作
            法术成分:S,V,M(一枚弹珠或类似坚硬质地的小球)
            持续时间:立即
            你做出一个弹开弹珠的动作,一颗弹珠的幻影飞向目标,有时还像真正的弹珠一样在敌人间弹射
            指定一个施法距离内的目标,发动一次法术攻击检定,若命中则对目标造成1d6点力场伤害,并且你可以让弹珠继续弹射。以该生物附近30尺内的另一生物为目标,再次发动一次法术攻击检定,若命中则造成力场伤害,伤害值为前一次命中的伤害-1。以此类推,直至某次攻击未命中或命中造成了0点及以下的伤害,弹射终止。
            弹珠的数量随着你等级的提升而提升,5级时增加一枚(变为2枚),11级时再增加一枚(变为3枚),17级时增加一枚(变为4枚)


            IP属地:福建6楼2024-07-27 20:25
            收起回复
              改成命中打1


              IP属地:江西来自Android客户端7楼2024-07-27 22:45
              回复
                因为奇械师不是啥正经法职,是法表很缩没啥特色内容的半法半战,因辅助的定位又丢了一些输出能力。输出其实来自武器攻击,lv5有了二打后提升也比戏法的多一个伤害骰要高,没必要抓输出戏法。印戏法不能解决奇械师弱的问题,帮忙扩魔法物品锻造列表和增加锻造上限,我觉得是比较好的选择。


                IP属地:浙江来自Android客户端8楼2024-07-28 00:12
                收起回复
                  虽然以前在吧里有人和我说什么dm就不该抱怨操作次数过多之类的不知所谓的话,但该说不说,除非你自己当dm开这个法术,不然你的dm肯定会因为这个法术累个半死的。


                  IP属地:湖北来自Android客户端9楼2024-07-28 02:09
                  回复
                    这个法术的极限操作次数特别多。
                    而且它本身就是一个倾向于会被丢在人堆里面的法术。这意味着每次使用这个法术,它的期望掷骰次数都不会低,其中甚至还包括了多次选择目标,多次攻击判定伤害,以及多次伤害结算。
                    尤其是它可能在操作的途中被各种其他的buff影响,再叠加进去一大堆的插入结算。我毫不怀疑有时候这个法术丢出去能逼疯一整桌的人。
                    作为一个设定的话,它确实很有画面感和实用性。但是作为一个游戏中需要操作的法术,它过于繁琐了。
                    另外,它的强度也有些偏高。


                    IP属地:广东来自Android客户端10楼2024-07-28 21:36
                    回复
                      我给你算了一下,在极限情况下,你发动这个法术,最多可以进行:
                      28次独立的目标选择
                      28次独立的攻击鉴定
                      4次伤害掷骰
                      28次独立的伤害结算
                      这还只是这个法术本身能造成的效果,甚至没有包括由其它效应引起的插入结算。


                      IP属地:广东来自Android客户端11楼2024-07-28 21:43
                      回复
                        而且抛开繁琐不谈,它的强度是否有些超标?
                        首先,它造成的是高贵的立场伤害。
                        其次,它的攻击范围可以因为多次弹射而达到很远的距离。
                        然后,在不计算最后那莫名其妙的0点伤害的情况下,这个戏法可以攻击到至多24个目标,如果计算0点伤害话,就是28个目标,它甚至还没有禁止在同一个目标身上多次弹射。
                        而且,它的极限伤害也非常爆炸,足足84点,高贵的力场伤害啊!
                        最后,它的终止限定不明确,比如如果它受到某种加伤效应影响,导致它的伤害总是达不到0,那么它是否可能永远无法终止?这只是其中一个可能的bug。
                        当然当然,我说这么多,只是突然看到一个DIY的帖子很感兴趣,并没有想要攻击楼主,以上是我的一口气能想出来的全部建议了。这个设计思路还是挺好玩的,希望楼主加油。


                        IP属地:广东来自Android客户端12楼2024-07-28 21:52
                        收起回复
                          让人工智障写了段代码,似乎没啥问题
                          import random
                          def main():
                          print("你施展了一个戏法:“弹珠术,”太酷了")
                          # 询问用户本次法术是否有受优劣势影响
                          advantage = input("本次法术是否有受优劣势影响?(回答 优势、劣势 或 无):")
                          # 提示用户输入六个理想目标的AC
                          print("\n请输入共六个理想目标的AC:")
                          # 初始化一个列表来存储六个目标的AC值
                          targets = []
                          advantage_info = [] # 用于存储每个目标是否有优势或劣势
                          # 循环六次,获取用户输入的AC值和优劣势信息
                          for i in range(1, 7):
                          ac = int(input(f"请输入第{i}个目标的AC:"))
                          targets.append(ac)
                          if advantage == "优势" or advantage == "劣势":
                          advantage_type = f"对第{i}个目标的攻击有{advantage}"
                          advantage_info.append(advantage_type)
                          else:
                          advantage_info.append("对第{i}个目标的攻击没有优劣势")
                          # 随机生成一个1到6的整数作为初始伤害值
                          initial_damage = random.randint(1, 6)
                          # 输出用户输入的六个目标的AC值和随机生成的初始伤害值以及优劣势信息
                          print("\n您输入的六个目标的AC值依次为:")
                          for i in range(6):
                          print(f"第{i+1}目标:{targets[i]}")
                          print(f" {advantage_info[i]}")
                          print(f"\n随机生成的初始伤害值为:{initial_damage}")
                          # 要求用户输入法术攻击加值
                          spell_attack_bonus = int(input("\n请输入法术攻击加值:"))
                          # 对每个目标生成六次攻击检定结果
                          print("\n每个目标的六次攻击检定结果如下:")
                          for i in range(6):
                          if advantage == "优势":
                          attack_check1 = random.randint(0, 20) + spell_attack_bonus
                          attack_check2 = random.randint(0, 20) + spell_attack_bonus
                          final_attack_check = max(attack_check1, attack_check2)
                          elif advantage == "劣势":
                          attack_check1 = random.randint(0, 20) + spell_attack_bonus
                          attack_check2 = random.randint(0, 20) + spell_attack_bonus
                          final_attack_check = min(attack_check1, attack_check2)
                          else:
                          final_attack_check = random.randint(0, 20) + spell_attack_bonus
                          # 检查攻击是否命中并计算伤害
                          if final_attack_check >= targets[i] and initial_damage > 0:
                          print(f"第{i+1}次攻击时命中的伤害为:{initial_damage}")
                          initial_damage -= 1
                          else:
                          print(f"第{i+1}次攻击未命中,或伤害过低导致弹射终止")
                          break
                          if __name__ == "__main__":
                          main()


                          IP属地:福建13楼2024-07-28 22:29
                          收起回复
                            一石二鸟青春版


                            IP属地:北京来自Android客户端14楼2024-07-29 10:29
                            回复
                              限定不受任何增伤骰或固定增伤影响吧,不然多段带附伤就不是一个戏法的强度了


                              IP属地:辽宁来自Android客户端15楼2024-07-29 13:50
                              回复