// Range: -1 Access: 0 Flags: ( 0, 4, 255 ) public static void SetViruses( Reagent_Blood R = null, ByTable data = null ) { ByTable preserve = null; Disease A = null; if ( data != null ) { preserve = new ByTable(); if ( data is ByTable && Lang13.Bool( data["viruses"] ) ) { A = null; foreach (dynamic _a in data["viruses"] ) { if ( !( _a is Disease ) ) { continue; } A = _a; preserve += A.Copy(); }; R.data = data.Copy(); } if ( preserve.len != 0 ) { R.data["viruses"] = preserve; } } return; }
// Range: -1 Access: 0 Flags: ( 0, 4, 255 ) public static dynamic blood_splatter( BaseStatic target = null, BaseData source = null, bool? large = null ) { dynamic B = null; Type decal_type = null; dynamic T = null; BaseData M = null; BaseData donor = null; ByTable drips = null; Ent_Effect_Decal_Cleanable_Blood_Drip drop = null; dynamic drop2 = null; decal_type = typeof(Ent_Effect_Decal_Cleanable_Blood_Splatter); T = GlobalFuncs.get_turf( target ); if ( source is Mob_Living_Carbon_Human ) { M = source; source = ((Mob_Living_Carbon)M).get_blood( ((dynamic)M).vessel ); } else if ( source is Mob_Living_Carbon_Monkey ) { donor = source; source = new Reagent_Blood(); ((dynamic)source).data["blood_DNA"] = ((dynamic)donor).dna.unique_enzymes; ((dynamic)source).data["blood_type"] = ((dynamic)donor).dna.blood_type; } drips = new ByTable(); drop = null; foreach (dynamic _a in T ) { if ( !( _a is Ent_Effect_Decal_Cleanable_Blood_Drip ) ) { continue; } drop = _a; drips |= drop.drips; GlobalFuncs.qdel( drop ); }; if ( !( large == true ) && drips.len < 3 ) { decal_type = typeof(Ent_Effect_Decal_Cleanable_Blood_Drip); } B = Lang13.find_in( decal_type, T ); if ( !Lang13.Bool( B ) ) { B = Lang13.call( decal_type, T ); } drop2 = B; if ( drop2 is Ent_Effect_Decal_Cleanable_Blood_Drip && drips != null && drips.len != 0 && !( large == true ) ) { drop2.overlays |= drips; drop2.drips |= drips; } if ( !( source != null ) ) { return B; } if ( Lang13.Bool( ((dynamic)source).data["blood_DNA"] ) ) { B.blood_DNA = new ByTable(); if ( Lang13.Bool( ((dynamic)source).data["blood_type"] ) ) { B.blood_DNA[((dynamic)source).data["blood_DNA"]] = ((dynamic)source).data["blood_type"]; } else { B.blood_DNA[((dynamic)source).data["blood_DNA"]] = "O+"; } } return B; }