// Function from file: mirror.dm public override bool attack_animal(Mob_Living user = null) { Mob_Living M = null; if (!(user is Mob_Living_SimpleAnimal)) { return(false); } M = user; if (Convert.ToDouble(((dynamic)M).melee_damage_upper) <= 0) { return(false); } user.changeNext_move(8); M.do_attack_animation(this); if (this.shattered) { GlobalFuncs.playsound(this.loc, "sound/effects/hit_on_shattered_glass.ogg", 70, 1); return(false); } user.visible_message("<span class='danger'>" + user + " smashes " + this + "!</span>"); this.shatter(); return(false); }
// Function from file: effects_foam.dm public override bool attack_animal(Mob_Living user = null) { user.changeNext_move(8); user.do_attack_animation(this); if (Convert.ToDouble(((dynamic)user).environment_smash) >= 1) { user.do_attack_animation(this); user.WriteMsg("<span class='notice'>You smash apart the foam wall.</span>"); GlobalFuncs.qdel(this); return(false); } return(false); }
// Function from file: walls.dm public override bool attack_animal(Mob_Living user = null) { user.changeNext_move(8); user.do_attack_animation(this); if (Convert.ToDouble(((dynamic)user).environment_smash) >= 2) { GlobalFuncs.playsound(this, "sound/effects/meteorimpact.ogg", 100, 1); user.WriteMsg("<span class='notice'>You smash through the wall.</span>"); this.dismantle_wall(true); return(false); } return(false); }
// Function from file: deployable.dm public override bool attack_animal(Mob_Living user = null) { user.changeNext_move(8); user.do_attack_animation(this); if (Lang13.Bool(((dynamic)user).melee_damage_upper) == false || ((dynamic)user).melee_damage_type != "brute" && ((dynamic)user).melee_damage_type != "fire") { return(false); } this.visible_message("<span class='danger'>" + user + " " + ((dynamic)user).attacktext + " " + this + "!</span>"); GlobalFuncs.add_logs(user, this, "attacked"); this.take_damage(((dynamic)user).melee_damage_upper); return(false); }
// Function from file: grille.dm public override bool attack_animal(Mob_Living user = null) { user.changeNext_move(8); if (Lang13.Bool(((dynamic)user).melee_damage_upper) == false || ((dynamic)user).melee_damage_type != "brute" && ((dynamic)user).melee_damage_type != "fire") { return(false); } user.do_attack_animation(this); GlobalFuncs.playsound(this.loc, "sound/effects/grillehit.ogg", 80, 1); user.visible_message("<span class='warning'>" + user + " smashes against " + this + ".</span>", "<span class='danger'>You smash against " + this + ".</span>", "<span class='italics'>You hear twisting metal.</span>"); this.health -= Convert.ToDouble(((dynamic)user).melee_damage_upper); this.healthcheck(); return(false); }
// Function from file: theblob.dm public override bool attack_animal(Mob_Living user = null) { double damage = 0; if (Lang13.Bool(user.faction.Contains("blob"))) { return(false); } user.changeNext_move(8); user.do_attack_animation(this); GlobalFuncs.playsound(this.loc, "sound/effects/attackblob.ogg", 50, 1); this.visible_message(new Txt("<span class='danger'>").The(user).item().str(" has attacked the ").item(this.name).str("!</span>").ToString()); damage = Rand13.Int(Convert.ToInt32(((dynamic)user).melee_damage_lower), Convert.ToInt32(((dynamic)user).melee_damage_upper)); this.take_damage(damage, ((dynamic)user).melee_damage_type, user); return(false); }
// Function from file: walls_reinforced.dm public override bool attack_animal(Mob_Living user = null) { user.changeNext_move(8); user.do_attack_animation(this); if (Convert.ToInt32(((dynamic)user).environment_smash) == 3) { this.dismantle_wall(true); GlobalFuncs.playsound(this, "sound/effects/meteorimpact.ogg", 100, 1); user.WriteMsg("<span class='notice'>You smash through the wall.</span>"); } else { user.WriteMsg("<span class='warning'>This wall is far too strong for you to destroy.</span>"); } return(false); }
// Function from file: swarmer.dm public override bool attack_animal(Mob_Living user = null) { Mob_Living S = null; if (user is Mob_Living_SimpleAnimal) { S = user; S.do_attack_animation(this); user.changeNext_move(8); if (((dynamic)S).melee_damage_type == "brute" || ((dynamic)S).melee_damage_type == "fire") { this.TakeDamage(Rand13.Int(Convert.ToInt32(((dynamic)S).melee_damage_lower), Convert.ToInt32(((dynamic)S).melee_damage_upper))); } } return(false); }