美文网首页饥荒
【配件】消音器

【配件】消音器

作者: 能鸽善舞的小豪 | 来源:发表于2019-07-10 19:05 被阅读0次

预制物名

homura_weapon_buff_silent

简介

“嘘!别说话!”——维克波顿女士

消音器是一个很有趣的配件,它可以大幅降低射击时的噪声,如果使用一把消音的枪在背后攻击敌人,你不会招引到它的仇恨。

制作消音器只需要一级工作台的科技,材料也非常的简单:1个保温石和2个木炭。在哈姆雷特dlc中,由于无法制作保温石,配方修改为4个铁矿和2个木炭。

图集

1.消音器 素材(画师:羽中)



2.使用消音手枪攻击猪人


一些八卦

为了设计这个物品的配方,作者想了很久,最终决定用保温石和木炭,因为这两个都是多孔疏松材料。
(当然,如果以后想到更好的配方就会修改)

代码实现

通过组件api修改combat组件,使得生物无法对背后的攻击者产生仇恨。

local function combatpostinit(combat)
    --计算两个角度之间的夹角
    local function CalcDeltaAngle(angle1,angle2,abs)
        local delta = math.mod(angle2 - angle1,360)  -- (-360~360)
        delta = delta < 0 and delta + 360 or delta     -- (0 ~ 360)
        if abs then
            return delta > 180 and 360 - delta or delta  -- (0~180)
        else
            return delta 
        end
    end

    --判断攻击者是否在挨打者背后的函数
    local function IsBack(attacker, target)
        if target:IsValid() and target.Transform and attacker:IsValid() and attacker.Transform then

            --angle1是挨打者面朝的角度
            local angle1 = target.Transform:GetRotation()
            --angle2是进攻者相对于挨打者的角度
            local angle2 = target:GetAngleToPoint(attacker:GetPosition())

            local deltaangle = CalcDeltaAngle(angle1,angle2,true)
            if deltaangle > 90 then
                --如果两个角度的差值大于90,我们认为进攻者位于挨打者的背后
                return true
            end
        end
    end  
   
    --修改设置仇恨目标的函数
    local old_settarget = combat.SetTarget
    function combat:SetTarget(new, ...)
        --如果攻击者有消音器,并且在挨打者背后,则直接返回,不执行设置目标的操作
        --注意,'homura: has silencer'是拥有消音器的标签,它会在发动攻击前添加到玩家身上,并在攻击后立刻移除

        if new and new:HasTag('homura: has silencer') and IsBack(new, self.inst) then
            return
        else
            return old_settarget(self, new, ...)
        end
    end
end

AddComponentPostInit("combat",combatpostinit)

相关文章

  • 【配件】消音器

    预制物名 homura_weapon_buff_silent 简介 “嘘!别说话!”——维克波顿女士 消音器是一个...

  • 2017-08-09

    6108增压得消音器配6m尾管 6114卧式消音器配,6135尾管, 压路机消音器,配尾 管短桶

  • 山东罗茨风机,罗茨风机安装与调试,三牛维修

    罗茨风机安装: 罗茨风机在出厂前是安装好,只需要将进口消音器与入口相连,出口消音器与出口相连,再将出口消音器与...

  • 山东三牛机械,罗茨风机的安装与调试,三牛

    罗茨风机安装: 罗茨风机在出厂前是安装好,只需要将进口消音器与入口相连,出口消音器与出口相连,再将出口消音器与管道...

  • 语言消音器

    语言消音器(二) 邓永娟 牛大毛嘴儿嗫嚅着,想跟刘小莉道歉,可是声音像生绣了似的憋在喉咙里,怎么也说不出来。刘小莉...

  • 三个傻瓜,三个境界,三种人生版本续2

    上次给你分享的是解读从《三傻大闹宝莱坞》反一号人物消音器身上反应的一些社会现象,这个现象就是消音器是病毒校长教育下...

  • 黑苹果Hacktoish配置安装笔记

    购买主机配件 购买配件前基本都参考了 http://www.tonymacx86.com。 配件列表: |配件名称...

  • -9-消音器-

    哔—— 他倒地。 暗红色的美酒从眼里流出。 漂亮的红唇 在脸颊上印下一枚吻。 空气凝固, 夜夺去他的体温。 从相机...

  • 语言消音器(1)

    语言消音器(一) 邓永娟 放学了,牛大毛有一脚没一脚地踢着脚下的小石子,无精打采地走着,他害怕回到家里,家里有一个...

  • 配件

    客户说这台洗衣机洗着洗着就突然听见“砰”的一声就再也不洗了。我上门看了一下,发现是波轮盘掉下来了。 翻开一看,波轮...

网友评论

    本文标题:【配件】消音器

    本文链接:https://www.haomeiwen.com/subject/vqrkkctx.html