示例#1
0
        public void GoBoom()
        {
            GenExplosion.DoExplosion(Wearer.Position, Wearer.Map, 1.5f, DamageDefOf.Bomb, this, 50);
            var destroyNeck = new DamageInfo(DamageDefOf.Bomb, 100f, 100f, -1f, this, Wearer.RaceProps.body.AllParts.Find(part => part.def == BodyPartDefOf.Neck));

            Wearer.TakeDamage(destroyNeck);
        }
        public override void Tick()
        {
            base.Tick();
            if (Wearer != null)
            {
                if (Wearer.MentalState != null)
                {
                    if (Wearer.MentalState.def.defName == "Slaughterer")
                    {
                        DamageInfo dinfo = new DamageInfo();
                        dinfo.Def = OGShockCollarDefOf.OGElectrical;

                        Wearer.TakeDamage(dinfo);
                    }
                }
            }
        }
示例#3
0
        public void Zap()
        {
            var zap  = new DamageInfo(DamageDefOf.Burn, 1f, 100f, -1f, this, Wearer.RaceProps.body.AllParts.Find(part => part.def == BodyPartDefOf.Neck));
            var zap2 = new DamageInfo(DamageDefOf.Stun, 1f, 100f, -1f, this, Wearer.RaceProps.body.AllParts.Find(part => part.def == BodyPartDefOf.Neck));

            if (Wearer.Downed || !Wearer.Spawned)
            {
                armed = false;
                return;
            }
            SoundInfo info = SoundInfo.InMap(new TargetInfo(Wearer.PositionHeld, Wearer.MapHeld));

            SoundDefOf.Power_OffSmall.PlayOneShot(info);
            Wearer.TakeDamage(zap);
            Wearer.TakeDamage(zap2);
            Wearer.health.AddHediff(SS_HediffDefOf.Electrocuted);
            SlaveUtility.TryHeartAttack(Wearer);
        }