示例#1
0
        // Function from file: other_reagents.dm
        public override void reaction_turf(dynamic T = null, double?volume = null)
        {
            Obj_Effect_Decal_Cleanable    C = null;
            Mob_Living_SimpleAnimal_Slime M = null;


            if ((volume ?? 0) >= 1)
            {
                ((Ent_Static)T).clean_blood();

                foreach (dynamic _a in Lang13.Enumerate(T, typeof(Obj_Effect_Decal_Cleanable)))
                {
                    C = _a;

                    GlobalFuncs.qdel(C);
                }

                foreach (dynamic _b in Lang13.Enumerate(T, typeof(Mob_Living_SimpleAnimal_Slime)))
                {
                    M = _b;

                    M.adjustToxLoss(Rand13.Int(5, 10));
                }
            }
            return;
        }
示例#2
0
        // Function from file: cleanable.dm
        public Obj_Effect_Decal_Cleanable(dynamic loc = null) : base((object)(loc))
        {
            Obj_Effect_Decal_Cleanable C = null;


            if (this.random_icon_states != null && Lang13.Length(this.random_icon_states) > 0)
            {
                this.icon_state = Rand13.PickFromTable(this.random_icon_states);
            }
            this.create_reagents(300);

            if (this.loc != null && this.loc is Tile)
            {
                foreach (dynamic _a in Lang13.Enumerate(this.loc, typeof(Obj_Effect_Decal_Cleanable)))
                {
                    C = _a;


                    if (C != this && C.type == this.type)
                    {
                        this.replace_decal(C);
                    }
                }
            }
            // Warning: Super call was HERE! If anything above HERE is needed by the super call, it might break!;
            return;
        }
示例#3
0
 // Function from file: humans.dm
 public override void replace_decal(Obj_Effect_Decal_Cleanable C = null)
 {
     if (this.blood_state != C.blood_state)
     {
         return;
     }
     base.replace_decal(C);
     return;
 }
示例#4
0
 // Function from file: humans.dm
 public override void replace_decal(Obj_Effect_Decal_Cleanable C = null)
 {
     if (C.blood_DNA != null)
     {
         this.blood_DNA.Or(C.blood_DNA.Copy());
     }
     base.replace_decal(C);
     return;
 }
示例#5
0
        // Function from file: lighting_system.dm
        public virtual dynamic ChangeTurf(dynamic path = null)
        {
            dynamic _default = null;

            Obj_Effect_Decal_Cleanable decal = null;
            double     old_lumcount          = 0;
            Type       oldbaseturf           = null;
            ByTable    our_lights            = null;
            Tile_Space S = null;


            if (!Lang13.Bool(path) || path == this.type)
            {
                return(this._internal_ChangeTurf(path));
            }

            foreach (dynamic _a in Lang13.Enumerate(this.contents, typeof(Obj_Effect_Decal_Cleanable)))
            {
                decal = _a;

                GlobalFuncs.qdel(decal);
            }

            if (this.light != null)
            {
                GlobalFuncs.qdel(this.light);
            }
            old_lumcount = this.lighting_lumcount - Convert.ToDouble(Lang13.Initial(this, "lighting_lumcount"));
            oldbaseturf  = this.baseturf;
            our_lights   = null;

            if (this.opacity != Lang13.Initial(path, "opacity") && old_lumcount != 0)
            {
                this.UpdateAffectingLights();
            }

            if (this.affecting_lights != null)
            {
                our_lights = this.affecting_lights.Copy();
            }
            _default = this._internal_ChangeTurf(path);
            this.affecting_lights = our_lights;
            this.lighting_changed = true;
            this.update_lumcount(old_lumcount);
            this.baseturf        = oldbaseturf;
            this.lighting_object = Lang13.FindIn(typeof(Dynamic_Light), this);
            this.init_lighting();

            foreach (dynamic _b in Lang13.Enumerate(Map13.FetchInBlock(Map13.GetTile(Num13.MaxInt(this.x - 1, 1), Num13.MaxInt(this.y - 1, 1), this.z), Map13.GetTile(Num13.MinInt(this.x + 1, Game13.map_size_x), Num13.MinInt(this.y + 1, Game13.map_size_y), this.z)), typeof(Tile_Space)))
            {
                S = _b;

                S.update_starlight();
            }
            return(_default);
        }
示例#6
0
        // Function from file: bloodcrawl.dm
        public override void choose_targets(Mob user = null)
        {
            user = user ?? Task13.User;

            Obj_Effect_Decal_Cleanable target = null;


            foreach (dynamic _a in Lang13.Enumerate(Map13.FetchInRange(GlobalFuncs.get_turf(user), this.range), typeof(Obj_Effect_Decal_Cleanable)))
            {
                target = _a;


                if (target.can_bloodcrawl_in() != 0)
                {
                    this.perform(target);
                    return;
                }
            }
            this.revert_cast();
            user.WriteMsg("<span class='warning'>There must be a nearby source of blood!</span>");
            return;
        }
示例#7
0
 // Function from file: cleanable.dm
 public virtual void replace_decal(Obj_Effect_Decal_Cleanable C = null)
 {
     GlobalFuncs.qdel(C);
     return;
 }
示例#8
0
 // Function from file: humans.dm
 public override void replace_decal(Obj_Effect_Decal_Cleanable C = null)
 {
     return;
 }