// Function from file: robot_modules.dm public override void respawn_consumable(dynamic R = null, double?coeff = null) { coeff = coeff ?? 1; dynamic T = null; Obj_Item_AmmoCasing_Energy S = null; base.respawn_consumable((object)(R), coeff); T = Lang13.FindIn(typeof(Obj_Item_Weapon_Gun_Energy_Gun_Advtaser_Cyborg), this.get_usable_modules()); if (Lang13.Bool(T)) { if (Convert.ToDouble(T.power_supply.charge) < (T.power_supply.maxcharge ?? 0)) { S = T.ammo_type[T.select]; ((Obj_Item_Weapon_StockParts_Cell)T.power_supply).give((S.e_cost ?? 0) * (coeff ?? 0)); T.update_icon(); } else { T.charge_tick = 0; } } return; }
// Function from file: halloween.dm public override bool start( ) { Mob_Living_Carbon_Human H = null; dynamic b = null; Mob_Living_SimpleAnimal_Pet_Dog_Corgi_Ian Ian = null; base.start(); foreach (dynamic _a in Lang13.Enumerate(GlobalVars.mob_list, typeof(Mob_Living_Carbon_Human))) { H = _a; b = Lang13.FindIn(typeof(Obj_Item_Weapon_Storage_Backpack), H.contents); new Obj_Item_Weapon_Storage_Spooky(b); if (Rand13.PercentChance(50)) { H.set_species(typeof(Species_Skeleton)); } else { H.set_species(typeof(Species_Zombie)); } } foreach (dynamic _b in Lang13.Enumerate(GlobalVars.mob_list, typeof(Mob_Living_SimpleAnimal_Pet_Dog_Corgi_Ian))) { Ian = _b; Ian.place_on_head(new Obj_Item_Weapon_Bedsheet(Ian)); } return(false); }
// Function from file: mining_mobs.dm public override void on_life( ) { dynamic H = null; dynamic B = null; int blood_volume = 0; base.on_life(); if (Lang13.Bool(this.owner)) { ((Mob_Living)this.owner).adjustBruteLoss(-1); ((Mob_Living)this.owner).adjustFireLoss(-1); ((Mob_Living)this.owner).adjustOxyLoss(-2); } if (this.owner is Mob_Living_Carbon_Human) { H = this.owner; B = Lang13.FindIn(typeof(Reagent_Blood), H.vessel.reagent_list); blood_volume = Num13.Floor(H.vessel.get_reagent_amount("blood") ?1:0); if (Lang13.Bool(B) && blood_volume < 560 && blood_volume != 0) { B.volume += 2; } } return; }
// Function from file: alien_powers.dm public override bool fire(Mob user = null) { dynamic choice = null; if (Lang13.Bool(Lang13.FindIn(typeof(Obj_Structure_Alien_Resin), user.loc))) { user.WriteMsg("<span class='danger'>There is already a resin structure there.</span>"); return(false); } choice = Interface13.Input("Choose what you wish to shape.", "Resin building", null, null, this.structures, InputType.Null | InputType.Any); if (!Lang13.Bool(choice)) { return(false); } if (!this.cost_check(this.check_turf, user)) { return(false); } user.WriteMsg("<span class='notice'>You shape a " + choice + ".</span>"); user.visible_message("<span class='notice'>" + user + " vomits up a thick purple substance and begins to shape it.</span>"); choice = this.structures[choice]; Lang13.Call(choice, user.loc); return(true); }
// Function from file: powers.dm public void remove_blob(dynamic T = null) { dynamic B = null; B = Lang13.FindIn(typeof(Obj_Effect_Blob), T); if (!Lang13.Bool(B)) { this.WriteMsg("<span class='warning'>There is no blob there!</span>"); return; } if ((B.point_return ?? 0) < 0) { this.WriteMsg("<span class='warning'>Unable to remove this blob.</span>"); return; } if (this.max_blob_points < (B.point_return ?? 0) + (this.blob_points ?? 0)) { this.WriteMsg("<span class='warning'>You have too many resources to remove this blob!</span>"); return; } if (Lang13.Bool(B.point_return)) { this.add_points(B.point_return); this.WriteMsg(new Txt("<span class='notice'>Gained ").item(B.point_return).str(" resources from removing ").the(B).item().str(".</span>").ToString()); } GlobalFuncs.qdel(B); return; }
// Function from file: mouse.dm public override bool handle_automated_action( ) { dynamic F = null; dynamic C = null; if (Rand13.PercentChance(this.chew_probability)) { F = GlobalFuncs.get_turf(this); if (F is Tile_Simulated_Floor && !F.intact) { C = Lang13.FindIn(typeof(Obj_Structure_Cable), F); if (Lang13.Bool(C) && Rand13.PercentChance(15)) { if (Lang13.Bool(C.avail())) { this.visible_message("<span class='warning'>" + this + " chews through the " + C + ". It's toast!</span>"); GlobalFuncs.playsound(this, "sound/effects/sparks2.ogg", 100, 1); ((Obj)C).Deconstruct(); this.death(null, true); } else { ((Obj)C).Deconstruct(); this.visible_message("<span class='warning'>" + this + " chews through the " + C + ".</span>"); } } } } return(false); }
// Function from file: shieldgen.dm public bool shields_up( ) { dynamic target_tile = null; if (this.active) { return(false); } this.active = true; this.update_icon(); foreach (dynamic _a in Lang13.Enumerate(Map13.FetchInRange(this, this.shield_range))) { target_tile = _a; if (target_tile is Tile_Space && !Lang13.Bool(Lang13.FindIn(typeof(Obj_Machinery_Shield), target_tile))) { if (this.malfunction && Rand13.PercentChance(33) || !this.malfunction) { this.deployed_shields.Add(new Obj_Machinery_Shield(target_tile)); } } } return(false); }
// Function from file: disposal-structures.dm public Obj_Structure_Disposaloutlet(dynamic loc = null, Obj_Structure_Disposalconstruct make_from = null) : base((object)(loc)) { // Warning: Super call was HERE! If anything above HERE is needed by the super call, it might break!; if (make_from != null) { this.dir = make_from.dir; make_from.loc = this; this.stored = make_from; } else { this.stored = new Obj_Structure_Disposalconstruct(this, 7, this.dir); } Task13.Schedule(1, (Task13.Closure)(() => { this.target = GlobalFuncs.get_ranged_target_turf(this, this.dir, 10); this.trunk = Lang13.FindIn(typeof(Obj_Structure_Disposalpipe_Trunk), this.loc); if (Lang13.Bool(this.trunk)) { this.trunk.linked = this; } return; })); return; }
public override bool f_action(Mob_Living_Silicon_Robot R = null) { dynamic T = null; if (base.f_action(R)) { return(false); } T = Lang13.FindIn(typeof(Obj_Item_Weapon_Gun_Energy_Disabler_Cyborg), R.module.modules); if (!Lang13.Bool(T)) { Task13.User.WriteMsg("<span class='notice'>There's no disabler in this unit!</span>"); return(false); } if (T.charge_delay <= 2) { R.WriteMsg("<span class='notice'>A cooling unit is already installed!</span>"); Task13.User.WriteMsg("<span class='notice'>There's no room for another cooling unit!</span>"); return(false); } T.charge_delay = Num13.MaxInt(2, T.charge_delay - 4); return(true); }
// Function from file: organs.dm public override void on_life( ) { double heal_amt = 0; if (Lang13.Bool(Lang13.FindIn(typeof(Obj_Structure_Alien_Weeds), this.owner.loc))) { if (Convert.ToDouble(this.owner.health) >= Convert.ToDouble(this.owner.maxHealth)) { ((Mob_Living_Carbon)this.owner).adjustPlasma(this.plasma_rate); } else { heal_amt = this.heal_rate; if (!(this.owner is Mob_Living_Carbon_Alien)) { heal_amt *= 0.2; } ((Mob_Living_Carbon)this.owner).adjustPlasma(this.plasma_rate * 0.5); ((Mob_Living)this.owner).adjustBruteLoss(-heal_amt); ((Mob_Living)this.owner).adjustFireLoss(-heal_amt); ((Mob_Living)this.owner).adjustOxyLoss(-heal_amt); ((Mob_Living)this.owner).adjustCloneLoss(-heal_amt); } } return; }
// Function from file: effects_foam.dm public void spread_foam( ) { dynamic t_loc = null; dynamic T = null; dynamic foundfoam = null; Mob_Living L = null; dynamic F = null; t_loc = GlobalFuncs.get_turf(this); foreach (dynamic _b in Lang13.Enumerate(((Tile)t_loc).GetAtmosAdjacentTurfs())) { T = _b; foundfoam = Lang13.FindIn(typeof(Obj_Effect_ParticleEffect_Foam), T); if (Lang13.Bool(foundfoam)) { continue; } foreach (dynamic _a in Lang13.Enumerate(T, typeof(Mob_Living))) { L = _a; this.foam_mob(L); } F = GlobalFuncs.PoolOrNew(this.type, T); F.amount = this.amount; this.reagents.copy_to(F, this.reagents.total_volume); F.color = this.color; F.metal = this.metal; } return; }
// Function from file: food_reagents.dm public override void reaction_turf(dynamic T = null, double?volume = null) { dynamic hotspot = null; dynamic lowertemp = null; if (!(T is Tile_Simulated)) { return; } if ((volume ?? 0) >= 3) { ((Tile_Simulated)T).MakeSlippery(); } hotspot = Lang13.FindIn(typeof(Obj_Effect_Hotspot), T); if (Lang13.Bool(hotspot)) { lowertemp = ((Ent_Static)T).remove_air(((GasMixture)T.air).total_moles()); lowertemp.temperature = Num13.MaxInt(Num13.MinInt(Convert.ToInt32(lowertemp.temperature - 2000), Convert.ToInt32(lowertemp.temperature / 2)), 0); ((GasMixture)lowertemp).react(); ((Ent_Static)T).assume_air(lowertemp); GlobalFuncs.qdel(hotspot); } return; }
// Function from file: borghydro.dm public virtual void DescribeContents( ) { bool empty = false; Reagents RS = null; dynamic R = null; empty = true; foreach (dynamic _a in Lang13.Enumerate(this.reagent_list, typeof(Reagents))) { RS = _a; R = Lang13.FindIn(typeof(Reagent), RS.reagent_list); if (Lang13.Bool(R)) { Task13.User.WriteMsg(new Txt("<span class='notice'>It currently has ").item(R.volume).str(" unit").s().str(" of ").item(R.name).str(" stored.</span>").ToString()); empty = false; } } if (empty) { Task13.User.WriteMsg("<span class='warning'>It is currently empty! Allow some time for the internal syntheszier to produce more.</span>"); } return; }
// Function from file: stack.dm public bool building_checks(StackRecipe R = null, double?multiplier = null) { if ((this.get_amount() ?? 0) < (R.req_amount ?? 0) * (multiplier ?? 0)) { if ((R.req_amount ?? 0) * (multiplier ?? 0) > 1) { Task13.User.WriteMsg(new Txt("<span class='warning'>You haven't got enough ").item(this).str(" to build ").the((R.req_amount ?? 0) * (multiplier ?? 0)).item().str(" ").item(R.title).s().str("!</span>").ToString()); } else { Task13.User.WriteMsg(new Txt("<span class='warning'>You haven't got enough ").item(this).str(" to build ").the(R.title).item().str("!</span>").ToString()); } return(false); } if (R.one_per_turf == true && Lang13.Bool(Lang13.FindIn(R.result_type, Task13.User.loc))) { Task13.User.WriteMsg("<span class='warning'>There is another " + R.title + " here!</span>"); return(false); } if (R.on_floor == true && !(Task13.User.loc is Tile_Simulated_Floor)) { Task13.User.WriteMsg(new Txt("<span class='warning'>").The(R.title).item().str(" must be constructed on the floor!</span>").ToString()); return(false); } return(true); }
// Function from file: singularity.dm public bool can_move(dynamic T = null) { dynamic G = null; dynamic S = null; if (!Lang13.Bool(T)) { return(false); } if (Lang13.Bool(Lang13.FindIn(typeof(Obj_Machinery_Field_Containment), T)) || Lang13.Bool(Lang13.FindIn(typeof(Obj_Machinery_Shieldwall), T))) { return(false); } else if (Lang13.Bool(Lang13.FindIn(typeof(Obj_Machinery_Field_Generator), T))) { G = Lang13.FindIn(typeof(Obj_Machinery_Field_Generator), T); if (Lang13.Bool(G) && Lang13.Bool(G.active)) { return(false); } } else if (Lang13.Bool(Lang13.FindIn(typeof(Obj_Machinery_Shieldwallgen), T))) { S = Lang13.FindIn(typeof(Obj_Machinery_Shieldwallgen), T); if (Lang13.Bool(S) && Lang13.Bool(S.active)) { return(false); } } return(true); }
// Function from file: ripley.dm public override bool Move(dynamic NewLoc = null, int?Dir = null, int step_x = 0, int step_y = 0) { bool _default = false; dynamic ore_box = null; Obj_Item_Weapon_Ore ore = null; _default = base.Move((object)(NewLoc), Dir, step_x, step_y); if (_default && Lang13.Bool(Lang13.FindIn(typeof(Obj_Item_MechaParts_MechaEquipment_HydraulicClamp), this.equipment))) { ore_box = Lang13.FindIn(typeof(Obj_Structure_OreBox), this.cargo); if (Lang13.Bool(ore_box)) { foreach (dynamic _a in Lang13.Enumerate(GlobalFuncs.get_turf(this), typeof(Obj_Item_Weapon_Ore))) { ore = _a; ore.Move(ore_box); } } } this.update_pressure(); return(_default); }
// Function from file: structures.dm public override dynamic attack_hand(dynamic a = null, bool?b = null, bool?c = null) { dynamic L = null; base.attack_hand((object)(a), b, c); L = Lang13.FindIn(typeof(Mob_Living), GlobalFuncs.get_turf(this)); if (!GlobalFuncs.is_handofgod_cultist(a)) { a.WriteMsg("<span class='notice'>You try to use it, but unfortunately you don't know any rituals.</span>"); return(null); } if (!Lang13.Bool(L)) { return(null); } if (this.side == "red" && GlobalFuncs.is_handofgod_redcultist(a) || this.side == "blue" && GlobalFuncs.is_handofgod_bluecultist(a)) { if (this.side == "red" && GlobalFuncs.is_handofgod_redcultist(L) || this.side == "blue" && GlobalFuncs.is_handofgod_bluecultist(L)) { a.WriteMsg("<span class='danger'>You cannot sacrifice a fellow cultist.</span>"); return(null); } a.WriteMsg("<span class='notice'>You attempt to sacrifice " + L + " by invoking the sacrificial ritual.</span>"); this.sacrifice(L); } else { a.WriteMsg("<span class='notice'>You attempt to sacrifice " + L + " by invoking the sacrificial ritual.</span>"); a.WriteMsg("<span class='danger'>But the altar ignores your words...</span>"); } return(null); }
// Function from file: gibber.dm public Obj_Machinery_Gibber_Autogibber(dynamic loc = null) : base((object)(loc)) { dynamic i = null; dynamic input_obj = null; // Warning: Super call was HERE! If anything above HERE is needed by the super call, it might break!; Task13.Schedule(5, (Task13.Closure)(() => { foreach (dynamic _a in Lang13.Enumerate(GlobalVars.cardinal)) { i = _a; input_obj = Lang13.FindIn(typeof(Obj_Machinery_Mineral_Input), Map13.GetStep(this.loc, Convert.ToInt32(i))); if (Lang13.Bool(input_obj)) { if (input_obj.loc is Tile) { this.input_plate = input_obj.loc; GlobalFuncs.qdel(input_obj); break; } } } if (!(this.input_plate != null)) { GlobalVars.diary.WriteMsg("a " + this + " didn't find an input plate."); return; } return; })); return; }
// Function from file: tracker.dm public override dynamic attackby(dynamic A = null, dynamic user = null, string _params = null, bool?silent = null, bool?replace_spent = null) { dynamic S = null; if (A is Obj_Item_Weapon_Crowbar) { GlobalFuncs.playsound(this.loc, "sound/machines/click.ogg", 50, 1); ((Ent_Static)user).visible_message("" + user + " begins to take the glass off the solar tracker.", "<span class='notice'>You begin to take the glass off the solar tracker...</span>"); if (GlobalFuncs.do_after(user, 50 / A.toolspeed, null, this)) { S = Lang13.FindIn(typeof(Obj_Item_SolarAssembly), this); if (Lang13.Bool(S)) { S.loc = this.loc; ((Obj_Item_SolarAssembly)S).give_glass(this.stat & 1); } GlobalFuncs.playsound(this.loc, "sound/items/Deconstruct.ogg", 50, 1); ((Ent_Static)user).visible_message("" + user + " takes the glass off the tracker.", "<span class='notice'>You take the glass off the tracker.</span>"); GlobalFuncs.qdel(this); } return(null); } base.attackby((object)(A), (object)(user), _params, silent, replace_spent); return(null); }
// Function from file: _disease.dm public Disease( ) { dynamic H = null; Obj_Item_Organ O = null; if (this.required_organs != null && this.required_organs.len != 0) { if (this.affected_mob is Mob_Living_Carbon_Human) { H = this.affected_mob; foreach (dynamic _a in Lang13.Enumerate(this.required_organs, typeof(Obj_Item_Organ))) { O = _a; if (!Lang13.Bool(Lang13.FindIn(O, H.organs))) { if (!Lang13.Bool(Lang13.FindIn(O, H.internal_organs))) { this.cure(); return; } } } } } GlobalVars.SSdisease.processing.Add(this); return; }
// Function from file: twohanded.dm public override void CheckParts(Game_Data holder = null) { dynamic G = null; dynamic C4 = null; Obj_Item_Weapon_Grenade_C4 C42 = null; if (Lang13.Bool(this.explosive)) { this.explosive.loc = GlobalFuncs.get_turf(this.loc); this.explosive = null; } G = Lang13.FindIn(typeof(Obj_Item_Weapon_Grenade), this.contents); if (Lang13.Bool(G)) { this.explosive = G; this.name = "explosive lance"; this.desc = "A makeshift spear with " + G + " attached to it. Alt+click on the spear to set your war cry!"; return; } C4 = Lang13.FindIn(typeof(Obj_Item_Weapon_C4), this.contents); if (Lang13.Bool(C4)) { C42 = new Obj_Item_Weapon_Grenade_C4(this); GlobalFuncs.qdel(C4); this.explosive = C42; this.desc = "A makeshift spear with " + C42 + " attached to it. Alt+click on the spear to set your war cry!"; } this.update_icon(); return; }
// Function from file: abduction_gear.dm public void ProbeAttack(dynamic L = null, dynamic user = null) { string species = null; string helptext = null; dynamic H = null; dynamic temp = null; ((Ent_Static)L).visible_message("<span class='danger'>" + user + " probes " + L + " with " + this + "!</span>", "<span class='userdanger'>" + user + " probes you!</span>"); species = "<span class='warning'>Unknown species</span>"; helptext = "<span class='warning'>Species unsuitable for experiments.</span>"; if (L is Mob_Living_Carbon_Human) { H = L; species = "<span clas=='notice'>" + H.dna.species.name + "</span>"; if (Lang13.Bool(L.mind) && L.mind.changeling != null) { species = "<span class='warning'>Changeling lifeform</span>"; } temp = Lang13.FindIn(typeof(Obj_Item_Organ_Internal_Gland), H.internal_organs); if (Lang13.Bool(temp)) { helptext = "<span class='warning'>Experimental gland detected!</span>"; } else { helptext = "<span class='notice'>Subject suitable for experiments.</span>"; } } user.WriteMsg("<span class='notice'>Probing result:</span>" + species); user.WriteMsg("" + helptext); return; }
// Function from file: shielding.dm public override bool update_icon(dynamic new_state = null, dynamic new_icon = null, int?new_px = null, int?new_py = null) { dynamic direction = null; dynamic machine = null; this.overlays.Cut(); foreach (dynamic _a in Lang13.Enumerate(GlobalVars.alldirs)) { direction = _a; machine = Lang13.FindIn(typeof(Obj_Machinery), Map13.GetStep(this.loc, Convert.ToInt32(direction))); if (machine is Obj_Machinery_AmShielding && machine.control_unit == this.control_unit || machine is Obj_Machinery_Power_AmControlUnit && machine == this.control_unit) { this.overlays.Add("shield_" + direction); } } if (this.core_check()) { this.overlays.Add("core"); if (!this.processing) { this.setup_core(); } } else if (this.processing) { this.shutdown_core(); } return(false); }
// Function from file: aliens.dm public void Life( ) { dynamic U = null; dynamic T = null; U = GlobalFuncs.get_turf(this); if (U is Tile_Space) { GlobalFuncs.qdel(this); return; } if (!(this.linked_node != null) || Map13.GetDistance(this.linked_node, this) > this.linked_node.node_range) { return; } foreach (dynamic _a in Lang13.Enumerate(((Tile)U).GetAtmosAdjacentTurfs())) { T = _a; if (Lang13.Bool(Lang13.FindIn(typeof(Obj_Structure_Alien_Weeds), Lang13.Bool(T) || T is Tile_Space))) { continue; } new Obj_Structure_Alien_Weeds(T, this.linked_node); } return; }
// Function from file: spacevine.dm public void spread( ) { dynamic direction = null; Tile stepturf = null; SpacevineMutation SM = null; direction = Rand13.PickFromTable(GlobalVars.cardinal); stepturf = Map13.GetStep(this, Convert.ToInt32(direction)); foreach (dynamic _a in Lang13.Enumerate(this.mutations, typeof(SpacevineMutation))) { SM = _a; SM.on_spread(this, stepturf); stepturf = Map13.GetStep(this, Convert.ToInt32(direction)); } if (!Lang13.Bool(Lang13.FindIn(typeof(Obj_Effect_Spacevine), stepturf))) { if (stepturf.Enter(this)) { if (this.master != null) { this.master.spawn_spacevine_piece(stepturf, this); } } } return; }
// Function from file: dna_console.dm public Obj_Machinery_Computer_ScanConsolenew(dynamic location = null, dynamic C = null) : base((object)(location), (object)(C)) { // Warning: Super call was HERE! If anything above HERE is needed by the super call, it might break!; Task13.Schedule(5, (Task13.Closure)(() => { foreach (dynamic _a in Lang13.Enumerate(new ByTable(new object [] { GlobalVars.NORTH, GlobalVars.EAST, GlobalVars.SOUTH, GlobalVars.WEST }))) { this.dir = Convert.ToInt32(_a); this.connected = Lang13.FindIn(typeof(Obj_Machinery_DnaScannernew), Map13.GetStep(this, this.dir)); if (!(this.connected == null)) { break; } } Task13.Schedule(250, (Task13.Closure)(() => { this.injectorready = true; return; })); return; return; })); return; }
// Function from file: gateway.dm public void detect( ) { Ent_Static T = null; dynamic i = null; dynamic G = null; this.linked = new ByTable(); T = this.loc; foreach (dynamic _a in Lang13.Enumerate(GlobalVars.alldirs)) { i = _a; T = Map13.GetStep(this.loc, Convert.ToInt32(i)); G = Lang13.FindIn(typeof(Obj_Machinery_Gateway), T); if (Lang13.Bool(G)) { this.linked.Add(G); continue; } this.ready = false; this.toggleoff(); break; } if (this.linked.len == 8) { this.ready = true; } return; }
// Function from file: teleporter.dm public bool link_console_and_hub( ) { foreach (dynamic _a in Lang13.Enumerate(new ByTable(new object [] { GlobalVars.NORTH, GlobalVars.EAST, GlobalVars.SOUTH, GlobalVars.WEST }))) { this.dir = Convert.ToInt32(_a); this.teleporter_hub = Lang13.FindIn(typeof(Obj_Machinery_Teleport_Hub), Map13.GetStep(this, this.dir)); if (Lang13.Bool(this.teleporter_hub)) { this.teleporter_hub.link_power_station(); break; } } foreach (dynamic _b in Lang13.Enumerate(new ByTable(new object [] { GlobalVars.NORTH, GlobalVars.EAST, GlobalVars.SOUTH, GlobalVars.WEST }))) { this.dir = Convert.ToInt32(_b); this.teleporter_console = Lang13.FindIn(typeof(Obj_Machinery_Computer_Teleporter), Map13.GetStep(this, this.dir)); if (Lang13.Bool(this.teleporter_console)) { ((Obj_Machinery_Computer_Teleporter)this.teleporter_console).link_power_station(); break; } } return(Lang13.Bool(this.teleporter_hub) && Lang13.Bool(this.teleporter_console)); }
// Function from file: meter.dm public Obj_Machinery_Meter(dynamic loc = null) : base((object)(loc)) { // Warning: Super call was HERE! If anything above HERE is needed by the super call, it might break!; GlobalVars.SSair.atmos_machinery.Add(this); this.target = Lang13.FindIn(typeof(Obj_Machinery_Atmospherics_Pipe), this.loc); return; // Warning! Attempt to return some other value! }
// Function from file: grenade_launcher.dm public override bool afterattack(dynamic target = null, dynamic user = null, bool?proximity_flag = null, string click_parameters = null) { if (target is Obj_Item_Weapon_Storage_Backpack) { return(false); } else if (Lang13.Bool(Lang13.FindIn(typeof(Obj_Structure_Table), this.loc))) { return(false); } else if (target == user) { return(false); } if (this.grenades.len != 0) { this.fire_grenade(target, user); } else { Task13.User.WriteMsg("<span class='danger'>The grenade launcher is empty.</span>"); } return(false); }