42262 {
42263
42264
42265 if (Main.netMode == 1)
42266 {
42267 return false;
42268 }
42269 int num = Chest.FindChest(x, y);
42271 {
42272 return false;
42273 }
42274 Chest chest = Main.chest[
num];
42278 for (int i = 0; i < 40; i++)
42279 {
42280 ushort
num4 = Main.tile[chest.x, chest.y].type;
42282 {
42285 {
42286 int num5 = (int)
Math.Ceiling((
float)tileData.Width / 2
f);
42287 int num6 = (int)
Math.Ceiling((
float)tileData.Width / 2
f);
42291 {
42293 }
42295 {
42297 }
42298 }
42299 }
42300 if (chest.item[i] != null && chest.item[i].type == 5346)
42301 {
42304 break;
42305 }
42306 }
42308 {
42310 Vector2
val =
default(Vector2);
42312 NewProjectile(
user.GetProjectileSource_TileInteraction(x, y),
val, Vector2.Zero, 1007, 10, 0
f, Main.myPlayer);
42313 }
42315 }
static bool CustomPlace(int type, int style)
static TileObjectData GetTileData(int type, int style, int alternate=0)
static void UseGasTrapInChest(int chestIndex, Chest theChest, int gasTrapIndex, int gasOffsetX, int gasOffsetY)
static int NewProjectile(IEntitySource spawnSource, Vector2 position, Vector2 velocity, int Type, int Damage, float KnockBack, int Owner=-1, float ai0=0f, float ai1=0f, float ai2=0f)
This particular overload uses a Vector2 instead of X and Y to determine the actual spawn position and...