예제 #1
0
        // Function from file: hardsuit.dm
        public override bool hit_reaction(Mob_Living_Carbon owner = null, string attack_text = null, int?final_block_chance = null, dynamic damage = null, int?attack_type = null)
        {
            EffectSystem_SparkSpread s = null;


            if (this.current_charges > 0)
            {
                s = new EffectSystem_SparkSpread();
                s.set_up(2, 1, this);
                s.start();
                owner.visible_message("<span class='danger'>" + owner + "'s shields deflect " + attack_text + " in a shower of sparks!</span>");
                this.current_charges--;
                this.recharge_cooldown = Game13.time + this.recharge_delay;
                GlobalVars.SSobj.processing.Or(this);

                if (this.current_charges <= 0)
                {
                    owner.visible_message("" + owner + "'s shield overloads!");
                    this.shield_state = "broken";
                    owner.update_inv_wear_suit();
                }
                return(true);
            }
            return(false);
        }