import random
min_damage = 10 # 最小傷害
max_damage = 20 # 最大傷害
random_value = random.uniform(0, 1) # 隨機值
crit_rate = 0.2 # 爆擊率
enemy_block_rate = 0.1 # 敵方格擋率
enemy_defense = 15 # 敵方防禦力
our_armor_penetration = 5 # 我方穿甲
physical_damage_modifier = 2 # 物傷修正
melee_base_damage = 25 # 近程基礎傷害
ranged_base_damage = 30 # 遠基礎傷害
melee_damage_modifier = 5 # 近程傷害修正值
ranged_damage_modifier = 10 # 遠程傷害修正值
penetration_rate = 0.5 # 貫穿率
monster_extra_damage = 1 + 2 + 2 # 怪物額外受到傷害程度
additional_damage = 15 # 附加傷害
stun = 1 # 暈眩效果,待定
# New Parameters
hit_rate = 0.8 # 命中率
dodge_rate = 0.1 # 閃避率
status_effect_bonus = 0.5 # 狀態效果和屬性加成
skill_and_equipment_bonus = 0.3 # 技能和裝備效果
armor_penetration = 0.2 # 防禦穿透
area_bonus = 0.1 # 區域或環境加成
level_difference = 0.1 # 等級和層級差距
# 定義魔法傷害
magic_damage = 30 # 魔法傷害
# 定義真實傷害
true_damage = 10 # 真實傷害
# 基礎傷害計算
base_damage = min_damage + (max_damage - min_damage) * random_value
print("Base Damage:", base_damage)
# 爆擊傷害計算
critical_damage = base_damage * crit_rate
print("Critical Damage:", critical_damage)
# 物理傷害計算
physical_damage = (melee_base_damage + ranged_base_damage) * (1 - enemy_block_rate) - (enemy_defense - our_armor_penetration) + physical_damage_modifier
print("Physical Damage:", physical_damage)
# 近程傷害計算
melee_damage = (melee_base_damage + critical_damage + melee_damage_modifier) * (stun * 1.25) # 暈眩效果乘以1.25倍
print("Melee Damage:", melee_damage)
# 遠程傷害計算
ranged_damage = (ranged_base_damage * critical_damage + ranged_damage_modifier) * penetration_rate
print("Ranged Damage:", ranged_damage)
# 血量減少計算
health_deduction = (physical_damage + magic_damage + true_damage) * (1 + status_effect_bonus + skill_and_equipment_bonus) * (1 - armor_penetration)
print("Health Deduction:", health_deduction)
# 額外倍率計算
extra_multiplier = monster_extra_damage * (1 + area_bonus)
print("Extra Multiplier:", extra_multiplier)
# 固定傷害計算
fixed_damage = additional_damage * (1 + level_difference)
print("Fixed Damage:", fixed_damage)
# New Calculations
# 近程攻擊傷害 (含命中率)
melee_hit_damage = (melee_base_damage + critical_damage + melee_damage_modifier) * hit_rate * (1 - dodge_rate) * (stun * 1.25)
print("Melee Hit Damage:", melee_hit_damage)
# 遠程攻擊傷害 (含命中率)
ranged_hit_damage = (ranged_base_damage * critical_damage + ranged_damage_modifier) * hit_rate * (1 - dodge_rate)
print("Ranged Hit Damage:", ranged_hit_damage)
#總傷害
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)
print("Total Damage:", total_damage)