Exemple #1
0
 // Function from file: smokebomb.dm
 public Obj_Item_Weapon_Grenade_Smokebomb(dynamic loc = null) : base((object)(loc))
 {
     // Warning: Super call was HERE! If anything above HERE is needed by the super call, it might break!;
     this.smoke = new EffectSystem_SmokeSpread_Bad();
     this.smoke.attach(this);
     return;
 }
        public void ninjasmoke(  )
        {
            dynamic H = null;
            EffectSystem_SmokeSpread_Bad smoke = null;


            if (!(this.ninjacost(0, 2) != 0))
            {
                H     = this.affecting;
                smoke = new EffectSystem_SmokeSpread_Bad();
                smoke.set_up(4, H.loc);
                smoke.start();
                GlobalFuncs.playsound(H.loc, "sound/effects/bamf.ogg", 50, 2);
                this.s_bombs--;
                H.WriteMsg("<span class='notice'>There are <B>" + this.s_bombs + "</B> smoke bombs remaining.</span>");
                this.s_coold = 1;
            }
            return;
        }
        // Function from file: spell.dm
        public void after_cast(dynamic targets = null)
        {
            Ent_Static target   = null;
            Ent_Static location = null;
            EffectSystem_SparkSpread          sparks = null;
            EffectSystem_SmokeSpread          smoke  = null;
            EffectSystem_SmokeSpread_Bad      smoke2 = null;
            EffectSystem_SmokeSpread_Sleeping smoke3 = null;


            foreach (dynamic _a in Lang13.Enumerate(targets, typeof(Ent_Static)))
            {
                target = _a;

                location = null;

                if (target is Mob_Living)
                {
                    location = target.loc;
                }
                else if (target is Tile)
                {
                    location = target;
                }

                if (target is Mob_Living && Lang13.Bool(this.message))
                {
                    ((dynamic)target).WriteMsg("" + this.message);
                }

                if (this.sparks_spread)
                {
                    sparks = new EffectSystem_SparkSpread();
                    sparks.set_up(this.sparks_amt, 0, location);
                    sparks.start();
                }

                if (this.smoke_spread != 0)
                {
                    if (this.smoke_spread == 1)
                    {
                        smoke = new EffectSystem_SmokeSpread();
                        smoke.set_up(this.smoke_amt, location);
                        smoke.start();
                    }
                    else if (this.smoke_spread == 2)
                    {
                        smoke2 = new EffectSystem_SmokeSpread_Bad();
                        smoke2.set_up(this.smoke_amt, location);
                        smoke2.start();
                    }
                    else if (this.smoke_spread == 3)
                    {
                        smoke3 = new EffectSystem_SmokeSpread_Sleeping();
                        smoke3.set_up(this.smoke_amt, location);
                        smoke3.start();
                    }
                }
            }
            return;
        }