fork download
  1. import random
  2.  
  3.  
  4. min_damage = 10 # 最小傷害
  5. max_damage = 20 # 最大傷害
  6. random_value = random.uniform(0, 1) # 隨機值
  7. crit_rate = 0.2 # 爆擊率
  8. enemy_block_rate = 0.1 # 敵方格擋率
  9. enemy_defense = 15 # 敵方防禦力
  10. our_armor_penetration = 5 # 我方穿甲
  11. physical_damage_modifier = 2 # 物傷修正
  12. melee_base_damage = 25 # 近程基礎傷害
  13. ranged_base_damage = 30 # 遠基礎傷害
  14. melee_damage_modifier = 5 # 近程傷害修正值
  15. ranged_damage_modifier = 10 # 遠程傷害修正值
  16. penetration_rate = 0.5 # 貫穿率
  17. monster_extra_damage = 1 + 2 + 2 # 怪物額外受到傷害程度
  18. additional_damage = 15 # 附加傷害
  19. stun = 1 # 暈眩效果,待定
  20.  
  21. # New Parameters
  22. hit_rate = 0.8 # 命中率
  23. dodge_rate = 0.1 # 閃避率
  24. status_effect_bonus = 0.5 # 狀態效果和屬性加成
  25. skill_and_equipment_bonus = 0.3 # 技能和裝備效果
  26. armor_penetration = 0.2 # 防禦穿透
  27. area_bonus = 0.1 # 區域或環境加成
  28. level_difference = 0.1 # 等級和層級差距
  29.  
  30.  
  31. # 定義魔法傷害
  32. magic_damage = 30 # 魔法傷害
  33.  
  34.  
  35. # 定義真實傷害
  36. true_damage = 10 # 真實傷害
  37.  
  38.  
  39. # 基礎傷害計算
  40. base_damage = min_damage + (max_damage - min_damage) * random_value
  41. print("Base Damage:", base_damage)
  42.  
  43.  
  44. # 爆擊傷害計算
  45. critical_damage = base_damage * crit_rate
  46. print("Critical Damage:", critical_damage)
  47.  
  48.  
  49. # 物理傷害計算
  50. physical_damage = (melee_base_damage + ranged_base_damage) * (1 - enemy_block_rate) - (enemy_defense - our_armor_penetration) + physical_damage_modifier
  51. print("Physical Damage:", physical_damage)
  52.  
  53.  
  54. # 近程傷害計算
  55. melee_damage = (melee_base_damage + critical_damage + melee_damage_modifier) * (stun * 1.25) # 暈眩效果乘以1.25倍
  56. print("Melee Damage:", melee_damage)
  57.  
  58.  
  59. # 遠程傷害計算
  60. ranged_damage = (ranged_base_damage * critical_damage + ranged_damage_modifier) * penetration_rate
  61. print("Ranged Damage:", ranged_damage)
  62.  
  63.  
  64. # 血量減少計算
  65. health_deduction = (physical_damage + magic_damage + true_damage) * (1 + status_effect_bonus + skill_and_equipment_bonus) * (1 - armor_penetration)
  66. print("Health Deduction:", health_deduction)
  67.  
  68.  
  69. # 額外倍率計算
  70. extra_multiplier = monster_extra_damage * (1 + area_bonus)
  71. print("Extra Multiplier:", extra_multiplier)
  72.  
  73.  
  74. # 固定傷害計算
  75. fixed_damage = additional_damage * (1 + level_difference)
  76. print("Fixed Damage:", fixed_damage)
  77.  
  78. # New Calculations
  79. # 近程攻擊傷害 (含命中率)
  80. melee_hit_damage = (melee_base_damage + critical_damage + melee_damage_modifier) * hit_rate * (1 - dodge_rate) * (stun * 1.25)
  81. print("Melee Hit Damage:", melee_hit_damage)
  82.  
  83. # 遠程攻擊傷害 (含命中率)
  84. ranged_hit_damage = (ranged_base_damage * critical_damage + ranged_damage_modifier) * hit_rate * (1 - dodge_rate)
  85. print("Ranged Hit Damage:", ranged_hit_damage)
  86.  
  87. #總傷害
  88. total_damage = (melee_hit_damage + ranged_hit_damage) * (1 + status_effect_bonus + skill_and_equipment_bonus) * (1 - armor_penetration) + fixed_damage * (1 + area_bonus) * (1 + level_difference)
  89. print("Total Damage:", total_damage)
  90.  
Success #stdin #stdout 0.04s 9812KB
stdin
Standard input is empty
stdout
Base Damage: 17.040201714470808
Critical Damage: 3.4080403428941617
Physical Damage: 41.5
Melee Damage: 41.7600504286177
Ranged Damage: 56.120605143412426
Health Deduction: 117.36000000000001
Extra Multiplier: 5.5
Fixed Damage: 16.5
Melee Hit Damage: 30.067236308604745
Ranged Hit Damage: 80.8136714065139
Total Damage: 179.63350710977087