in forge/blade/systems/combat.py [0:0]
def attack(entity, targ, skill):
attackLevel = skill.level
defenseLevel = targ.skills.defense.level
attackBonus, strengthBonus = 0, 0
if entity.isPC:
if skill.isMelee:
equip = entity.equipment.melee
elif skill.isRanged:
equip = entity.equipment.ranged
if equip.ammo is not None and equip.ammo <= 0:
return
attackBonus, strengthBonus = equip.attack, equip.strength
defenseBonus = 0
if targ.isPC:
defenseBonus = targ.equipment.armor.defense
dmg = 0
if isHit(attackLevel, attackBonus, defenseLevel, defenseBonus):
dmg = damage(attackLevel, strengthBonus)
if entity.isPC:
entity.skills.addCombatExp(skill, dmg)
if entity.isPC:
targ.skills.addCombatExp(targ.skills.defense, dmg)
targ.registerHit(entity, dmg)