// Range: -1 Access: 0 Flags: ( 0, 4, 255 ) public static Tile get_turf_pixel( BaseStatic AM = null ) { Matrix M = null; double pixel_x_offset = 0; double pixel_y_offset = 0; Icon AMicon = null; int rough_x = 0; int rough_y = 0; dynamic T = null; dynamic final_x = null; dynamic final_y = null; if ( !( AM is BaseDynamic ) ) { return null; } M = Num13.matrix( ((dynamic)AM).transform ); pixel_x_offset = AM.pixel_x + Lang13.Double( M.get_x_shift() ); pixel_y_offset = AM.pixel_y + Lang13.Double( M.get_y_shift() ); if ( Lang13.Int( ((dynamic)AM).bound_height ) != Game13.icon_size || Lang13.Int( ((dynamic)AM).bound_width ) != Game13.icon_size ) { AMicon = new Icon( ((dynamic)AM).icon, ((dynamic)AM).icon_state ); pixel_x_offset += ( AMicon.Width() / Game13.icon_size - 1 ) * Game13.icon_size * 0.5; pixel_y_offset += ( AMicon.Height() / Game13.icon_size - 1 ) * Game13.icon_size * 0.5; GlobalFuncs.qdel( AMicon ); } rough_x = Num13.floor( Num13.round( pixel_x_offset, Game13.icon_size ) / Game13.icon_size ); rough_y = Num13.floor( Num13.round( pixel_y_offset, Game13.icon_size ) / Game13.icon_size ); T = GlobalFuncs.get_turf( AM ); final_x = T.x + rough_x; final_y = T.y + rough_y; if ( Lang13.Bool( final_x ) || Lang13.Bool( final_y ) ) { return Map13.get_tile_at( Lang13.Int( final_x ), Lang13.Int( final_y ), Lang13.Int( T.z ) ); } return null; }
// Range: -1 Access: 0 Flags: ( 0, 4, 255 ) public static void smooth_icon_neighbors( BaseStatic A = null ) { dynamic V = null; dynamic T = null; V = null; foreach (dynamic _a in Map13.fetch_in_range_nocenter( A, 1 ) ) { V = _a; T = V; if ( Lang13.Bool( T.smooth ) ) { GlobalFuncs.smooth_icon( T ); } }; return; }
// Range: -1 Access: 0 Flags: ( 0, 4, 255 ) public static Tile get_ranged_target_turf( BaseStatic A = null, int? direction = null, int range = 0 ) { int x = 0; int y = 0; x = Lang13.Int( ((dynamic)A).x ); y = Lang13.Int( ((dynamic)A).y ); if ( ( ( direction ??0) & 1 ) != 0 ) { y = Num13.minInt( Game13.map_size_y, y + range ); } if ( ( ( direction ??0) & 2 ) != 0 ) { y = Num13.maxInt( 1, y - range ); } if ( ( ( direction ??0) & 4 ) != 0 ) { x = Num13.minInt( Game13.map_size_x, x + range ); } if ( ( ( direction ??0) & 8 ) != 0 ) { x = Num13.maxInt( 1, x - range ); } return Map13.get_tile_at( x, y, Lang13.Int( ((dynamic)A).z ) ); }
// 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; }