261 {
264 if (drawPlayer.mount.Active && drawPlayer.fullRotation != 0f)
265 {
267 }
269 if (Main.gamePaused)
270 {
271 drawPlayer.PlayerFrame();
272 }
273 if (drawPlayer.ghost)
274 {
275 for (
int i = 0;
i < 3;
i++)
276 {
278 vector = drawPlayer.position - drawPlayer.velocity * (2 +
i * 2);
280 }
282 }
283 else
284 {
285 if (drawPlayer.inventory[drawPlayer.selectedItem].flame || drawPlayer.head == 137 || drawPlayer.wings == 22)
286 {
287 drawPlayer.itemFlameCount--;
288 if (drawPlayer.itemFlameCount <= 0)
289 {
290 drawPlayer.itemFlameCount = 5;
291 for (
int j = 0;
j < 7;
j++)
292 {
293 drawPlayer.itemFlamePos[
j].X = (float)Main.rand.Next(-10, 11) * 0.15f;
294 drawPlayer.itemFlamePos[
j].Y = (float)Main.rand.Next(-10, 1) * 0.35f;
295 }
296 }
297 }
298 if (drawPlayer.armorEffectDrawShadowEOCShield)
299 {
300 int num = drawPlayer.eocDash / 4;
301 if (num > 3)
302 {
303 num = 3;
304 }
305 for (
int k = 0;
k < num;
k++)
306 {
307 DrawPlayer(
camera, drawPlayer, drawPlayer.shadowPos[
k], drawPlayer.shadowRotation[
k], drawPlayer.shadowOrigin[
k], 0.5f + 0.2f * (
float)
k);
308 }
309 }
311 if (drawPlayer.invis)
312 {
313 drawPlayer.armorEffectDrawOutlines = false;
314 drawPlayer.armorEffectDrawShadow = false;
315 drawPlayer.armorEffectDrawShadowSubtle = false;
316 position = drawPlayer.position;
317 if (drawPlayer.aggro <= -750)
318 {
319 DrawPlayer(
camera, drawPlayer, position, drawPlayer.fullRotation, drawPlayer.fullRotationOrigin, 1f);
320 }
321 else
322 {
323 drawPlayer.invis = false;
324 DrawPlayer(
camera, drawPlayer, position, drawPlayer.fullRotation, drawPlayer.fullRotationOrigin);
325 drawPlayer.invis = true;
326 }
327 }
328 if (drawPlayer.armorEffectDrawOutlines)
329 {
330 _ = drawPlayer.position;
331 if (!Main.gamePaused)
332 {
333 drawPlayer.ghostFade += drawPlayer.ghostDir * 0.075f;
334 }
335 if ((double)drawPlayer.ghostFade < 0.1)
336 {
337 drawPlayer.ghostDir = 1f;
338 drawPlayer.ghostFade = 0.1f;
339 }
340 else if ((double)drawPlayer.ghostFade > 0.9)
341 {
342 drawPlayer.ghostDir = -1f;
343 drawPlayer.ghostFade = 0.9f;
344 }
345 float num2 = drawPlayer.ghostFade * 5f;
346 for (
int l = 0;
l < 4;
l++)
347 {
351 {
352 default:
355 break;
356 case 1:
359 break;
360 case 2:
363 break;
364 case 3:
367 break;
368 }
369 position =
new Vector2(drawPlayer.position.X +
num3, drawPlayer.position.Y + drawPlayer.gfxOffY +
num4);
370 DrawPlayer(
camera, drawPlayer, position, drawPlayer.fullRotation, drawPlayer.fullRotationOrigin, drawPlayer.ghostFade);
371 }
372 }
373 if (drawPlayer.armorEffectDrawOutlinesForbidden)
374 {
375 _ = drawPlayer.position;
376 if (!Main.gamePaused)
377 {
378 drawPlayer.ghostFade += drawPlayer.ghostDir * 0.025f;
379 }
380 if ((double)drawPlayer.ghostFade < 0.1)
381 {
382 drawPlayer.ghostDir = 1f;
383 drawPlayer.ghostFade = 0.1f;
384 }
385 else if ((double)drawPlayer.ghostFade > 0.9)
386 {
387 drawPlayer.ghostDir = -1f;
388 drawPlayer.ghostFade = 0.9f;
389 }
390 float num5 = drawPlayer.ghostFade * 5f;
391 for (
int m = 0;
m < 4;
m++)
392 {
396 {
397 default:
400 break;
401 case 1:
404 break;
405 case 2:
408 break;
409 case 3:
412 break;
413 }
414 position =
new Vector2(drawPlayer.position.X +
num6, drawPlayer.position.Y + drawPlayer.gfxOffY +
num7);
415 DrawPlayer(
camera, drawPlayer, position, drawPlayer.fullRotation, drawPlayer.fullRotationOrigin, drawPlayer.ghostFade);
416 }
417 }
418 if (drawPlayer.armorEffectDrawShadowBasilisk)
419 {
420 int num8 = (int)(drawPlayer.basiliskCharge * 3f);
422 {
423 DrawPlayer(
camera, drawPlayer, drawPlayer.shadowPos[
n], drawPlayer.shadowRotation[
n], drawPlayer.shadowOrigin[
n], 0.5f + 0.2f * (
float)
n);
424 }
425 }
426 else if (drawPlayer.armorEffectDrawShadow)
427 {
429 {
431 }
432 }
433 if (drawPlayer.armorEffectDrawShadowLokis)
434 {
436 {
437 DrawPlayer(
camera, drawPlayer,
Vector2.
Lerp(drawPlayer.shadowPos[
num10], drawPlayer.position +
new Vector2(0f, drawPlayer.gfxOffY), 0.5f), drawPlayer.shadowRotation[
num10], drawPlayer.shadowOrigin[
num10],
MathHelper.
Lerp(1f, 0.5f + 0.2f * (
float)
num10, 0.5f));
438 }
439 }
440 if (drawPlayer.armorEffectDrawShadowSubtle)
441 {
443 {
444 position.X = drawPlayer.position.X + (float)Main.rand.Next(-20, 21) * 0.1f;
445 position.Y = drawPlayer.position.Y + (float)Main.rand.Next(-20, 21) * 0.1f + drawPlayer.gfxOffY;
446 DrawPlayer(
camera, drawPlayer, position, drawPlayer.fullRotation, drawPlayer.fullRotationOrigin, 0.9f);
447 }
448 }
449 if (drawPlayer.shadowDodge)
450 {
451 drawPlayer.shadowDodgeCount += 1f;
452 if (drawPlayer.shadowDodgeCount > 30f)
453 {
454 drawPlayer.shadowDodgeCount = 30f;
455 }
456 }
457 else
458 {
459 drawPlayer.shadowDodgeCount -= 1f;
460 if (drawPlayer.shadowDodgeCount < 0f)
461 {
462 drawPlayer.shadowDodgeCount = 0f;
463 }
464 }
465 if (drawPlayer.shadowDodgeCount > 0f)
466 {
467 _ = drawPlayer.position;
468 position.X = drawPlayer.position.X + drawPlayer.shadowDodgeCount;
469 position.Y = drawPlayer.position.Y + drawPlayer.gfxOffY;
470 DrawPlayer(
camera, drawPlayer, position, drawPlayer.fullRotation, drawPlayer.fullRotationOrigin, 0.5f + (
float)Main.rand.Next(-10, 11) * 0.005f);
471 position.X = drawPlayer.position.X - drawPlayer.shadowDodgeCount;
472 DrawPlayer(
camera, drawPlayer, position, drawPlayer.fullRotation, drawPlayer.fullRotationOrigin, 0.5f + (
float)Main.rand.Next(-10, 11) * 0.005f);
473 }
474 if (drawPlayer.brainOfConfusionDodgeAnimationCounter > 0)
475 {
477 float lerpValue = Utils.GetLerpValue(300f, 270f, drawPlayer.brainOfConfusionDodgeAnimationCounter);
480 {
482 {
485 }
486 }
487 }
488 position = drawPlayer.position;
489 position.Y += drawPlayer.gfxOffY;
490 if (drawPlayer.stoned)
491 {
493 }
494 else if (!drawPlayer.invis)
495 {
496 DrawPlayer(
camera, drawPlayer, position, drawPlayer.fullRotation, drawPlayer.fullRotationOrigin);
497 }
498 }
500 }
static readonly BlendState AlphaBlend
static readonly DepthStencilState None
static float Lerp(float value1, float value2, float amount)
void DrawPlayer(Camera camera, Player drawPlayer, Vector2 position, float rotation, Vector2 rotationOrigin, float shadow=0f, float scale=1f)
static SamplerState MountedSamplerState
void DrawPlayerStoned(Camera camera, Player drawPlayer, Vector2 position)
void DrawGhost(Camera camera, Player drawPlayer, Vector2 position, float shadow=0f)
static Vector2 Lerp(Vector2 value1, Vector2 value2, float amount)