示例#1
0
		// 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;
		}
示例#2
0
		// 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;
		}