// Function from file: martial.dm
        public override bool harm_act(dynamic A = null, Mob_Living D = null)
        {
            dynamic atk_verb = null;

            this.add_to_streak("H", D);

            if (this.check_streak(A, D))
            {
                return(true);
            }
            atk_verb = Rand13.Pick(new object [] { "punches", "kicks", "chops", "hits", "slams" });
            D.visible_message("<span class='danger'>" + A + " " + atk_verb + " " + D + "!</span>", "<span class='userdanger'>" + A + " " + atk_verb + " you!</span>");
            D.apply_damage(Rand13.Int(10, 15), "brute");
            GlobalFuncs.playsound(GlobalFuncs.get_turf(D), "sound/weapons/punch1.ogg", 25, 1, -1);

            if (Rand13.PercentChance(((int)(D.getBruteLoss()))) && !Lang13.Bool(D.lying))
            {
                D.visible_message("<span class='warning'>" + D + " stumbles and falls!</span>", "<span class='userdanger'>The blow sends you to the ground!</span>");
                D.Weaken(4);
            }
            return(true);
        }
示例#2
0
        // Function from file: statue.dm
        public override int?process(dynamic seconds = null)
        {
            Mob_Living M = null;

            this.timer--;

            foreach (dynamic _a in Lang13.Enumerate(this, typeof(Mob_Living)))
            {
                M = _a;

                M.setToxLoss(this.intialTox);
                M.adjustFireLoss(this.intialFire - M.getFireLoss());
                M.adjustBruteLoss(this.intialBrute - M.getBruteLoss());
                M.setOxyLoss(this.intialOxy);
            }

            if (this.timer <= 0)
            {
                this.dump_contents();
                GlobalVars.SSobj.processing.Remove(this);
                GlobalFuncs.qdel(this);
            }
            return(null);
        }