Adjust Yeti difficulty

Frost breath:
    - ori_rate reduced from 0.6 to 0.1
    - time of breath increased from 1 second to 2 seconds
    - buildup increased from 0.4 to 0.8
    - make it more gentle, with less damage per tick, but faster tick rate
    (50 * 1 to 10 * 5)
    - make Frozen debuff strength smoler, 1.5 to 0.5 and make it chance to
    apply debuff.
    - make him use it when closer range (10 and not 15)
Ice spikes:
    - increase recovery_duration from 0.3 to 1.0
    - make him slower while doing ice spikes, make ice spikes move
    slower
    - make him use it when closer range (15 and not 20)
Snowball:
    - increase recover_duration from 0.4 to 0.9
Strike:
    - increase buildup_duration fron 0.6 to 0.8
    - increase recover_duration from 0.5 to 1.0
    - increase knockback from 40.0 to 70.0
This commit is contained in:
juliancoffee 2021-07-04 03:32:53 +03:00
parent 89b71dc9a9
commit 303f03dd3a
6 changed files with 23 additions and 22 deletions

View File

@ -28,6 +28,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Harvester boss now has new abilities and AI
- Death particles and SFX
- Default keybindings were made more consistent
- Adjust Yeti difficulty
### Removed

View File

@ -1,20 +1,20 @@
BasicBeam(
buildup_duration: 0.4,
buildup_duration: 0.8,
recover_duration: 0.25,
beam_duration: 0.25,
damage: 50,
tick_rate: 1.0,
damage: 10,
tick_rate: 5.0,
range: 15.0,
max_angle: 30.0,
damage_effect: Some(Buff((
kind: Frozen,
dur_secs: 3.0,
strength: Value(1.5),
chance: 1.0,
strength: Value(0.5),
chance: 0.2,
))),
energy_regen: 0,
energy_drain: 0,
orientation_behavior: Normal,
ori_rate: 0.6,
orientation_behavior: FromOri,
ori_rate: 0.1,
specifier: Frost,
)

View File

@ -1,17 +1,17 @@
Shockwave(
energy_cost: 0,
buildup_duration: 0.6,
swing_duration: 0.12,
recover_duration: 0.3,
swing_duration: 0.15,
recover_duration: 1.0,
damage: 100,
poise_damage: 10,
knockback: (strength: 25.0, direction: Up),
shockwave_angle: 90.0,
shockwave_vertical_angle: 15.0,
shockwave_speed: 50.0,
shockwave_duration: 0.5,
shockwave_speed: 15.0,
shockwave_duration: 3.0,
requires_ground: true,
move_efficiency: 0.5,
move_efficiency: 0.2,
damage_kind: Piercing,
specifier: IceSpikes,
)
)

View File

@ -1,7 +1,7 @@
BasicRanged(
energy_cost: 0,
buildup_duration: 0.5,
recover_duration: 0.4,
recover_duration: 0.9,
projectile: Snowball(
damage: 200.0,
radius: 5.0,

View File

@ -1,11 +1,11 @@
BasicMelee(
energy_cost: 0,
buildup_duration: 0.6,
buildup_duration: 0.8,
swing_duration: 0.1,
recover_duration: 0.5,
recover_duration: 1.0,
base_damage: 100,
base_poise_damage: 50,
knockback: ( strength: 40.0, direction: Away),
knockback: ( strength: 70.0, direction: Away),
range: 4.0,
max_angle: 20.0,
damage_effect: None,

View File

@ -3659,17 +3659,17 @@ impl<'a> AgentData<'a> {
tgt_data: &TargetData,
read_data: &ReadData,
) {
const ICE_SPIKES_RANGE: f32 = 20.0;
const ICE_BREATH_RANGE: f32 = 15.0;
const ICE_SPIKES_RANGE: f32 = 15.0;
const ICE_BREATH_RANGE: f32 = 10.0;
const ICE_BREATH_TIMER: f32 = 10.0;
const SNOWBALL_MAX_RANGE: f32 = 50.0;
agent.action_state.counter += read_data.dt.0;
if attack_data.dist_sqrd < ICE_BREATH_RANGE.powi(2) && attack_data.angle < 60.0 {
if matches!(self.char_state, CharacterState::BasicBeam(c) if c.timer < Duration::from_secs(1))
if attack_data.dist_sqrd < ICE_BREATH_RANGE.powi(2) {
if matches!(self.char_state, CharacterState::BasicBeam(c) if c.timer < Duration::from_secs(2))
{
// Keep using ice breath until a second has passed
// Keep using ice breath for 2 second
controller
.actions
.push(ControlAction::basic_input(InputKind::Ability(0)));