ResistanceTest.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using UnityEngine;
  2. public class ResistanceTest : MonoBehaviour
  3. {
  4. [Header("Test Settings")]
  5. public int testLevel = 5;
  6. public int testPhysicalDamage = 25; // Increased test damage to show more impact
  7. public int testMagicalDamage = 30; // Increased test damage to show more impact
  8. [Header("Results")]
  9. [SerializeField] private string resistanceInfo;
  10. [SerializeField] private int effectivePhysicalDamage;
  11. [SerializeField] private int effectiveMagicalDamage;
  12. [SerializeField] private bool shieldActive;
  13. private enemyScript testEnemy;
  14. void Start()
  15. {
  16. // Create a test enemy
  17. GameObject enemyObj = new GameObject("TestEnemy");
  18. testEnemy = enemyObj.AddComponent<enemyScript>();
  19. // Set the enemy level
  20. testEnemy.SetLevel(testLevel);
  21. // Calculate and display results
  22. CalculateTestResults();
  23. }
  24. void CalculateTestResults()
  25. {
  26. if (testEnemy == null) return;
  27. resistanceInfo = testEnemy.GetResistanceInfo();
  28. effectivePhysicalDamage = testEnemy.CalculateEffectiveDamage(testPhysicalDamage, false);
  29. effectiveMagicalDamage = testEnemy.CalculateEffectiveDamage(testMagicalDamage, true);
  30. shieldActive = testEnemy.IsShieldActive();
  31. Debug.Log($"=== Resistance & Shield Test Results ===");
  32. Debug.Log($"Enemy Level: {testLevel}");
  33. Debug.Log($"Resistance: {resistanceInfo}");
  34. Debug.Log($"Physical Damage: {testPhysicalDamage} -> {effectivePhysicalDamage}");
  35. Debug.Log($"Magical Damage: {testMagicalDamage} -> {effectiveMagicalDamage}");
  36. Debug.Log($"Shield Active: {shieldActive}");
  37. Debug.Log($"Shield Health: {testEnemy.magicalHealth}");
  38. Debug.Log($"Regular Health: {testEnemy.health}");
  39. Debug.Log($"===============================");
  40. }
  41. [ContextMenu("Run Test")]
  42. void RunTest()
  43. {
  44. if (testEnemy != null)
  45. {
  46. testEnemy.SetLevel(testLevel);
  47. CalculateTestResults();
  48. }
  49. }
  50. }