mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Lifesteal now functional on Attack.
This commit is contained in:
parent
fdef168e82
commit
fcd89a5d41
@ -127,6 +127,18 @@ impl Attack {
|
||||
});
|
||||
}
|
||||
},
|
||||
AttackEffect::Lifesteal(l) => {
|
||||
let change = HealthChange {
|
||||
amount: (damage_damage * l) as i32,
|
||||
cause: HealthSource::Heal {
|
||||
by: Some(attacker_uid),
|
||||
},
|
||||
};
|
||||
server_events.push(ServerEvent::Damage {
|
||||
entity: attacker_entity,
|
||||
change,
|
||||
});
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -170,6 +182,18 @@ impl Attack {
|
||||
});
|
||||
}
|
||||
},
|
||||
AttackEffect::Lifesteal(l) => {
|
||||
let change = HealthChange {
|
||||
amount: (accumulated_damage * l) as i32,
|
||||
cause: HealthSource::Heal {
|
||||
by: Some(attacker_uid),
|
||||
},
|
||||
};
|
||||
server_events.push(ServerEvent::Damage {
|
||||
entity: attacker_entity,
|
||||
change,
|
||||
});
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -227,7 +251,7 @@ pub enum AttackEffect {
|
||||
Buff(CombatBuff),
|
||||
Knockback(Knockback),
|
||||
EnergyReward(u32),
|
||||
//Lifesteal(f32),
|
||||
Lifesteal(f32),
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize)]
|
||||
|
@ -136,7 +136,9 @@ impl CharacterBehavior for Data {
|
||||
let energy = AttackEffect::EnergyReward(self.static_data.energy_regen);
|
||||
let energy = EffectComponent::new(None, energy)
|
||||
.with_requirement(CombatRequirement::AnyDamage);
|
||||
let damage = DamageComponent::new(damage, Some(GroupTarget::OutOfGroup));
|
||||
let lifesteal = AttackEffect::Lifesteal(self.static_data.lifesteal_eff);
|
||||
let damage = DamageComponent::new(damage, Some(GroupTarget::OutOfGroup))
|
||||
.with_effect(lifesteal);
|
||||
let attack = Attack::default().with_damage(damage).with_effect(energy);
|
||||
|
||||
let properties = beam::Properties {
|
||||
|
Loading…
Reference in New Issue
Block a user