From 194367e056dc5047116bb3c10c342b5d0bddc6c1 Mon Sep 17 00:00:00 2001 From: direwolf420 Date: Sun, 30 May 2021 19:29:41 +0200 Subject: [PATCH] update bestiary icon, fix regression in dungeon soul NPC animation, remove images from csproj --- AssortedCrazyThings.csproj | 3 +++ NPCs/DungeonBird/DungeonSoulBase.cs | 29 ++++++++++++++-------------- icon_small.png | Bin 399 -> 374 bytes 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/AssortedCrazyThings.csproj b/AssortedCrazyThings.csproj index 689d85d7..d6369c7c 100644 --- a/AssortedCrazyThings.csproj +++ b/AssortedCrazyThings.csproj @@ -7,6 +7,9 @@ AnyCPU latest + + + diff --git a/NPCs/DungeonBird/DungeonSoulBase.cs b/NPCs/DungeonBird/DungeonSoulBase.cs index 2c6bdbe2..1174a3b2 100644 --- a/NPCs/DungeonBird/DungeonSoulBase.cs +++ b/NPCs/DungeonBird/DungeonSoulBase.cs @@ -24,7 +24,7 @@ public override void SetDefaults() //adjust stats here to match harvester hitbox 1:1, then do findframes in postdraw NPC.width = wid; //42 //16 NPC.height = hei; //52 //24 - NPC.npcSlots = 0f; //takes 1/10 npc slots out of 200 when alive + NPC.npcSlots = 0f; NPC.chaseable = false; NPC.dontCountMe = true; NPC.dontTakeDamageFromHostiles = true; @@ -140,7 +140,7 @@ public override void FindFrame(int frameHeight) { NPC.frame.Y += frameHeight; NPC.frameCounter = 0; - if (NPC.frame.Y >= Main.npcFrameCount[NPC.type] * frameHeight) + if (NPC.frame.Y >= 3 * frameHeight) { NPC.frame.Y = 0; } @@ -247,15 +247,20 @@ public override void PostDraw(SpriteBatch spriteBatch, Color lightColor) public override void AI() { - NPC.scale = 1f; - Entity tar = GetTarget(); - NPC tarnpc = new NPC(); - if (tar is NPC) + --NPC.timeLeft; + if (NPC.timeLeft < 0) { - tarnpc = (NPC)tar; + KillInstantly(NPC); } NPC.noTileCollide = false; + NPC.scale = 1f; + + Entity tar = GetTarget(); + if (!(tar is NPC tarnpc)) + { + return; + } if (AI_State == 0) { @@ -306,11 +311,11 @@ public override void AI() if (AI_State == 1 && NPC.velocity.Y != 0) { float betweenX = tarnpc.Center.X - NPC.Center.X; - if (betweenX > 2f || betweenX < -2f) + if ((betweenX > 2f || betweenX < -2f) && betweenX != 0f) { float factor = 4f; //2f int acc = 4; //4 - betweenX = betweenX / Math.Abs(betweenX); + betweenX /= Math.Abs(betweenX); betweenX *= factor; NPC.velocity.X = (NPC.velocity.X * (acc - 1) + betweenX) / acc; NPC.noTileCollide = false; @@ -325,12 +330,6 @@ public override void AI() { NPC.velocity.X = 0; } - - --NPC.timeLeft; - if (NPC.timeLeft < 0) - { - KillInstantly(NPC); - } } } diff --git a/icon_small.png b/icon_small.png index 56f6ffa6b626df9e17f8cc30fd449115ee1ea60c..330bc27275748aab8c56bca331734aa18bddd851 100644 GIT binary patch delta 320 zcmV-G0l)r_1NH)tKYtK44y)9|i~s-u7)eAyR7l5T{Qv(y!$1Hgh5-UB=mPd4d(eY` zk%57M;out=k_;wf&Vc!t5f;ZV7y5@lTx9MEQBak4WP!`0eGHS%d;kk3? zQ24Oaj4*Gg#4*g}u(-n&*M#!z;P){sZeV3C%qOt=8du0*rj4U<@j5)a4)mU1IWC3)aGB7aA8eFNGk&zK4&S7mNDu7voJC28K-w6O$+-R`q SjWlZj0000~f@xxxc78zqI