// Function from file: blob_reagents.dm
        public override void expand_reaction(Obj_Effect_Blob B = null, Obj_Effect_Blob_Normal newB = null, dynamic T = null)
        {
            Mob_Living_SimpleAnimal_Hostile_Blob_Blobspore_Weak BS = null;


            if (Rand13.PercentChance(10))
            {
                BS          = new Mob_Living_SimpleAnimal_Hostile_Blob_Blobspore_Weak(T);
                BS.overmind = B.overmind;
                BS.update_icons();
                newB.overmind.blob_mobs.Add(BS);
            }
            return;
        }
        // Function from file: blob_reagents.dm
        public override dynamic damage_reaction(Obj_Effect_Blob B = null, double original_health = 0, dynamic damage = null, dynamic damage_type = null, dynamic cause = null)
        {
            Mob_Living_SimpleAnimal_Hostile_Blob_Blobspore_Weak BS = null;


            if (!(cause == null) && Convert.ToDouble(damage) <= 20 && original_health - Convert.ToDouble(damage) <= 0 && Rand13.PercentChance(50))
            {
                B.visible_message("<span class='warning'><b>A spore floats free of the blob!</b></span>");
                BS          = new Mob_Living_SimpleAnimal_Hostile_Blob_Blobspore_Weak(B.loc);
                BS.overmind = B.overmind;
                BS.update_icons();
                B.overmind.blob_mobs.Add(BS);
            }
            return(base.damage_reaction(B, original_health, (object)(damage), (object)(damage_type), (object)(cause)));
        }
        // Function from file: blob_reagents.dm
        public override double reaction_mob(dynamic M = null, int?method = null, double?reac_volume = null, bool?show_message = null, dynamic touch_protection = null, Mob_Camera_Blob O = null)
        {
            method = method ?? GlobalVars.TOUCH;

            Mob_Living_SimpleAnimal_Hostile_Blob_Blobspore_Weak BS = null;

            reac_volume = base.reaction_mob((object)(M), method, reac_volume, show_message, (object)(touch_protection), O);
            M.apply_damage((reac_volume ?? 0) * 0.6, "tox");

            if (O != null && M is Mob_Living_Carbon_Human && Lang13.Bool(M.stat) == true)
            {
                ((Mob)M).death();
                BS          = new Mob_Living_SimpleAnimal_Hostile_Blob_Blobspore_Weak(GlobalFuncs.get_turf(M));
                BS.overmind = O;
                BS.update_icons();
                O.blob_mobs.Add(BS);
                BS.Zombify(M);
            }
            return(0);
        }