mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Balance tweaks for harvester.
This commit is contained in:
parent
aac24ad601
commit
68c6a0a495
@ -3,9 +3,9 @@ BasicRanged(
|
||||
buildup_duration: 0.5,
|
||||
recover_duration: 0.8,
|
||||
projectile: ExplodingPumpkin(
|
||||
damage: 500.0,
|
||||
damage: 200.0,
|
||||
knockback: 25.0,
|
||||
radius: 10.0,
|
||||
radius: 5.0,
|
||||
),
|
||||
projectile_body: Object(Pumpkin),
|
||||
projectile_light: None,
|
||||
|
@ -2,8 +2,8 @@ BasicBeam(
|
||||
buildup_duration: 0.5,
|
||||
recover_duration: 0.5,
|
||||
beam_duration: 1.0,
|
||||
damage: 35,
|
||||
tick_rate: 3.0,
|
||||
damage: 30,
|
||||
tick_rate: 1.5,
|
||||
range: 20.0,
|
||||
max_angle: 15.0,
|
||||
damage_effect: Some(Buff((
|
||||
@ -15,6 +15,6 @@ BasicBeam(
|
||||
energy_regen: 0,
|
||||
energy_drain: 0,
|
||||
orientation_behavior: Normal,
|
||||
ori_rate: 0.6,
|
||||
ori_rate: 0.2,
|
||||
specifier: Flamethrower,
|
||||
)
|
||||
|
@ -88,12 +88,12 @@ impl CharacterBehavior for Data {
|
||||
data.pos.0.z.floor() as i32,
|
||||
);
|
||||
|
||||
// Check for collision in z up to 25 blocks up or down
|
||||
// Check for collision in z up to 10 blocks up or down
|
||||
let obstacle_z = data
|
||||
.terrain
|
||||
.ray(
|
||||
sprite_pos.map(|x| x as f32 + 0.5) + Vec3::unit_z() * 25.0,
|
||||
sprite_pos.map(|x| x as f32 + 0.5) - Vec3::unit_z() * 25.0,
|
||||
sprite_pos.map(|x| x as f32 + 0.5) + Vec3::unit_z() * 10.0,
|
||||
sprite_pos.map(|x| x as f32 + 0.5) - Vec3::unit_z() * 10.0,
|
||||
)
|
||||
.until(|b| {
|
||||
// Until reaching a solid block that is not the created sprite
|
||||
@ -104,7 +104,7 @@ impl CharacterBehavior for Data {
|
||||
.0;
|
||||
|
||||
// z height relative to caster
|
||||
let z = sprite_pos.z + (25.5 - obstacle_z).ceil() as i32;
|
||||
let z = sprite_pos.z + (10.5 - obstacle_z).ceil() as i32;
|
||||
|
||||
// Location sprite will be created
|
||||
let sprite_pos = Vec3::new(sprite_pos.x as i32, sprite_pos.y as i32, z);
|
||||
|
@ -3734,10 +3734,16 @@ impl<'a> AgentData<'a> {
|
||||
agent.action_state.condition = true;
|
||||
}
|
||||
} else if attack_data.dist_sqrd < FIRE_BREATH_RANGE.powi(2) {
|
||||
if matches!(self.char_state, CharacterState::BasicBeam(c) if c.timer < Duration::from_secs(10))
|
||||
if matches!(self.char_state, CharacterState::BasicBeam(c) if c.timer < Duration::from_secs(5))
|
||||
&& can_see_tgt(
|
||||
&*read_data.terrain,
|
||||
self.pos,
|
||||
tgt_data.pos,
|
||||
attack_data.dist_sqrd,
|
||||
)
|
||||
{
|
||||
// Keep breathing fire if close enough and have not been breathing for more than
|
||||
// 10 seconds
|
||||
// Keep breathing fire if close enough, can see target, and have not been
|
||||
// breathing for more than 5 seconds
|
||||
controller
|
||||
.actions
|
||||
.push(ControlAction::basic_input(InputKind::Secondary));
|
||||
|
Loading…
Reference in New Issue
Block a user