public override void GuardianPostDrawScript(TerraGuardian guardian, Vector2 DrawPosition, Color color, Color armorColor, float Rotation, Vector2 Origin, float Scale, SpriteEffects seffect) { GuardianDrawData gdd; /*if (guardian.BodyAnimationFrame >= 22 && guardian.BodyAnimationFrame <= 28) * { * if(guardian.AnimationTime >= HellGateAnimationFrameTime * 6) * { * TerraGuardian.DrawFront.Clear(); * TerraGuardian.DrawBehind.Clear(); * } * if(guardian.AnimationTime < HellGateAnimationFrameTime * 13) * { * int Frame = (int)(guardian.AnimationTime / HellGateAnimationFrameTime); * if(Frame > 6) * { * Frame = 6 - (Frame + 6); //6 - 12 + 6 = 0, 6 - 7 + 6 = 5 * } * gdd = new GuardianDrawData(GuardianDrawData.TextureType.TGExtra, sprites.GetExtraTexture(HellGateSpriteID), DrawPosition, * new Rectangle(SpriteWidth * Frame, 0, SpriteWidth, SpriteHeight), Color.White, Rotation, Origin, Scale, SpriteEffects.None); * TerraGuardian.DrawFront.Add(gdd); * } * }*/ bool Awakened = false; if (Awakened) { ReplaceTexture(GuardianDrawData.TextureType.TGBody, sprites.GetExtraTexture(AwakenedBodyTextureID)); gdd = new GuardianDrawData(GuardianDrawData.TextureType.TGExtra, sprites.GetExtraTexture(AwakenedBodyGlowTextureID), DrawPosition, guardian.GetAnimationFrameRectangle(guardian.BodyAnimationFrame), Color.White, Rotation, Origin, Scale, seffect); InjectTextureAfter(GuardianDrawData.TextureType.TGBody, gdd); gdd = new GuardianDrawData(GuardianDrawData.TextureType.TGExtra, sprites.GetExtraTexture(AwakenedLeftArmGlowTextureID), DrawPosition, guardian.GetAnimationFrameRectangle(guardian.LeftArmAnimationFrame), Color.White, Rotation, Origin, Scale, seffect); InjectTextureAfter(GuardianDrawData.TextureType.TGLeftArm, gdd); gdd = new GuardianDrawData(GuardianDrawData.TextureType.TGExtra, sprites.GetExtraTexture(AwakenedRightArmGlowTextureID), DrawPosition, guardian.GetAnimationFrameRectangle(guardian.RightArmAnimationFrame), Color.White, Rotation, Origin, Scale, seffect); InjectTextureAfter(GuardianDrawData.TextureType.TGRightArm, gdd); if (guardian.Base.BodyFrontFrameSwap.ContainsKey(guardian.BodyAnimationFrame)) { gdd = new GuardianDrawData(GuardianDrawData.TextureType.TGExtra, sprites.GetExtraTexture(AwakenedBodyFrontGlowTextureID), DrawPosition, guardian.GetAnimationFrameRectangle(guardian.Base.BodyFrontFrameSwap[guardian.BodyAnimationFrame]), Color.White, Rotation, Origin, Scale, seffect); InjectTextureAfter(GuardianDrawData.TextureType.TGBodyFront, gdd); } if (guardian.Base.RightArmFrontFrameSwap.ContainsKey(guardian.RightArmAnimationFrame)) { gdd = new GuardianDrawData(GuardianDrawData.TextureType.TGExtra, sprites.GetExtraTexture(AwakenedRightArmFrontGlowTextureID), DrawPosition, guardian.GetAnimationFrameRectangle(guardian.Base.RightArmFrontFrameSwap[guardian.RightArmAnimationFrame]), Color.White, Rotation, Origin, Scale, seffect); InjectTextureAfter(GuardianDrawData.TextureType.TGRightArmFront, gdd); } gdd = new GuardianDrawData(GuardianDrawData.TextureType.TGExtra, sprites.GetExtraTexture(AwakenedWingRightTextureID), DrawPosition, guardian.GetAnimationFrameRectangle(guardian.BodyAnimationFrame), Color.White, Rotation, Origin, Scale, seffect); TerraGuardian.DrawBehind.Insert(0, gdd); } else { gdd = new GuardianDrawData(GuardianDrawData.TextureType.TGExtra, sprites.GetExtraTexture(RightWingTextureID), DrawPosition, guardian.GetAnimationFrameRectangle(guardian.BodyAnimationFrame), color, Rotation, Origin, Scale, seffect); TerraGuardian.DrawBehind.Insert(0, gdd); } byte FlamesEffect = 255; if (guardian.KnockedOut && guardian.BodyAnimationFrame == 28) { TerraGuardian.DrawFront.Clear(); TerraGuardian.DrawBehind.Clear(); return; } if (guardian.LeftArmAnimationFrame >= 14 && guardian.LeftArmAnimationFrame < 17) { FlamesEffect = (byte)(guardian.LeftArmAnimationFrame - 14); } else if (guardian.LeftArmAnimationFrame >= 28 && guardian.LeftArmAnimationFrame < 32) { FlamesEffect = (byte)(guardian.LeftArmAnimationFrame - 28 + 10); } else if (guardian.BodyAnimationFrame >= 21 && guardian.BodyAnimationFrame < 28) { FlamesEffect = (byte)(guardian.BodyAnimationFrame - 21 + 3); } if (FlamesEffect < 255) { gdd = new GuardianDrawData(GuardianDrawData.TextureType.TGExtra, sprites.GetExtraTexture(Awakened && FlamesEffect < 4 ? CrimsonFireEffectsTextureID : FireEffectsTextureID), DrawPosition, guardian.GetAnimationFrameRectangle(FlamesEffect), Color.White, Rotation, Origin, Scale, seffect); InjectTextureAfter(GuardianDrawData.TextureType.TGLeftArm, gdd); } }
public override void GuardianPostDrawScript(TerraGuardian guardian, Vector2 DrawPosition, Color color, Color armorColor, float Rotation, Vector2 Origin, float Scale, SpriteEffects seffect) { CilleData data = (CilleData)guardian.Data; if (data.InBeastState) { GuardianDrawData gdd = new GuardianDrawData(GuardianDrawData.TextureType.TGExtra, sprites.GetExtraTexture(MurderFaceID), DrawPosition, guardian.GetAnimationFrameRectangle(guardian.BodyAnimationFrame), Color.White, Rotation, Origin, Scale, seffect); InjectTextureAfter(GuardianDrawData.TextureType.TGBody, gdd); } switch (guardian.OutfitID) { case DefaultOutfitID: { Texture2D OutfitTexture = sprites.GetExtraTexture(DefaultOutfitBodyID), LeftArmTexture = sprites.GetExtraTexture(DefaultOutfitLeftArmID), RightArmTexture = sprites.GetExtraTexture(DefaultOutfitRightArmID), BodyFrontTexture = sprites.GetExtraTexture(DefaultOutfitBodyFrontID); GuardianDrawData gdd = new GuardianDrawData(GuardianDrawData.TextureType.TGExtra, OutfitTexture, DrawPosition, guardian.GetAnimationFrameRectangle(guardian.BodyAnimationFrame), color, Rotation, Origin, Scale, seffect); InjectTextureAfter(GuardianDrawData.TextureType.TGBody, gdd); if (guardian.Base.BodyFrontFrameSwap.ContainsKey(guardian.BodyAnimationFrame)) { gdd = new GuardianDrawData(GuardianDrawData.TextureType.TGExtra, BodyFrontTexture, DrawPosition, guardian.GetAnimationFrameRectangle(BodyFrontFrameSwap[guardian.BodyAnimationFrame]), color, Rotation, Origin, Scale, seffect); InjectTextureAfter(GuardianDrawData.TextureType.TGBodyFront, gdd); } gdd = new GuardianDrawData(GuardianDrawData.TextureType.TGExtra, LeftArmTexture, DrawPosition, guardian.GetAnimationFrameRectangle(guardian.LeftArmAnimationFrame), color, Rotation, Origin, Scale, seffect); InjectTextureAfter(GuardianDrawData.TextureType.TGLeftArm, gdd); gdd = new GuardianDrawData(GuardianDrawData.TextureType.TGExtra, RightArmTexture, DrawPosition, guardian.GetAnimationFrameRectangle(guardian.RightArmAnimationFrame), color, Rotation, Origin, Scale, seffect); InjectTextureAfter(GuardianDrawData.TextureType.TGRightArm, gdd); } break; } }