diff --git a/assets/common/abilities/axe/leap.ron b/assets/common/abilities/axe/leap.ron new file mode 100644 index 0000000000..dc0c2fb266 --- /dev/null +++ b/assets/common/abilities/axe/leap.ron @@ -0,0 +1,13 @@ +LeapMelee( + energy_cost: 450, + buildup_duration: 200, + movement_duration: 200, + swing_duration: 200, + recover_duration: 200, + base_damage: 240, + knockback: 12.0, + range: 4.5, + max_angle: 30.0, + forward_leap_strength: 28.0, + vertical_leap_strength: 8.0, +), \ No newline at end of file diff --git a/assets/common/abilities/axe/spin.ron b/assets/common/abilities/axe/spin.ron new file mode 100644 index 0000000000..1ec1f743fb --- /dev/null +++ b/assets/common/abilities/axe/spin.ron @@ -0,0 +1,14 @@ +SpinMelee( + buildup_duration: 100, + swing_duration: 250, + recover_duration: 100, + base_damage: 60, + knockback: 0.0, + range: 3.5, + energy_cost: 100, + is_infinite: true, + is_helicopter: true, + is_interruptible: false, + forward_speed: 0.0, + num_spins: 1, +), \ No newline at end of file diff --git a/assets/common/abilities/axe/tempbasic.ron b/assets/common/abilities/axe/tempbasic.ron new file mode 100644 index 0000000000..001e96f0f6 --- /dev/null +++ b/assets/common/abilities/axe/tempbasic.ron @@ -0,0 +1,10 @@ +BasicMelee( + energy_cost: 0, + buildup_duration: 600, + swing_duration: 100, + recover_duration: 300, + base_damage: 120, + knockback: 0.0, + range: 3.5, + max_angle: 20.0, +), \ No newline at end of file diff --git a/assets/common/abilities/bow/basic.ron b/assets/common/abilities/bow/basic.ron new file mode 100644 index 0000000000..8155011f63 --- /dev/null +++ b/assets/common/abilities/bow/basic.ron @@ -0,0 +1,36 @@ +BasicRanged( + energy_cost: 0, + buildup_duration: 100, + recover_duration: 400, + projectile: ( + hit_solid: [Stick], + hit_entity: [ + Damage(Some(OutOfGroup), ( + source: Projectile, + value: 40.0, + )), + Knockback(Away(10.0)), + RewardEnergy(50), + Vanish, + /*projectile::Effect::Buff { + buff: Buff::new( + BuffKind::Bleeding, + BuffData { + strength: 20.0 * self.base_power(), + duration: Some(Duration::from_secs(5)), + }, + vec![BuffCategory::Physical], + BuffSource::Unknown, + ), + chance: Some(0.10), + },*/ + ], + time_left: 15, // seconds + owner: None, + ignore_group: true, + ), + projectile_body: Object(Arrow), + projectile_light: None, + projectile_gravity: Some(Gravity(0.2)), + projectile_speed: 100.0, +), \ No newline at end of file diff --git a/assets/common/abilities/bow/charged.ron b/assets/common/abilities/bow/charged.ron new file mode 100644 index 0000000000..1f3ebd47c1 --- /dev/null +++ b/assets/common/abilities/bow/charged.ron @@ -0,0 +1,16 @@ +ChargedRanged( + energy_cost: 0, + energy_drain: 300, + initial_damage: 40, + max_damage: 200, + initial_knockback: 10.0, + max_knockback: 20.0, + buildup_duration: 100, + charge_duration: 1500, + recover_duration: 500, + projectile_body: Object(MultiArrow), + projectile_light: None, + projectile_gravity: Some(Gravity(0.2)), + initial_projectile_speed: 100.0, + max_projectile_speed: 500.0, +), \ No newline at end of file diff --git a/assets/common/abilities/bow/repeater.ron b/assets/common/abilities/bow/repeater.ron new file mode 100644 index 0000000000..e27dfb7dc7 --- /dev/null +++ b/assets/common/abilities/bow/repeater.ron @@ -0,0 +1,39 @@ +RepeaterRanged( + energy_cost: 450, + movement_duration: 300, + buildup_duration: 200, + shoot_duration: 200, + recover_duration: 800, + leap: Some(5.0), + projectile: ( + hit_solid: [Stick], + hit_entity: [ + Damage(Some(OutOfGroup), ( + source: Projectile, + value: 40.0, + )), + Knockback(Away(10.0)), + Vanish, + /*projectile::Effect::Buff { + buff: Buff::new( + BuffKind::Bleeding, + BuffData { + strength: 20.0 * self.base_power(), + duration: Some(Duration::from_secs(5)), + }, + vec![BuffCategory::Physical], + BuffSource::Unknown, + ), + chance: Some(0.10), + },*/ + ], + time_left: 15, // seconds + owner: None, + ignore_group: true, + ), + projectile_body: Object(Arrow), + projectile_light: None, + projectile_gravity: Some(Gravity(0.2)), + projectile_speed: 100.0, + reps_remaining: 5, +), \ No newline at end of file diff --git a/assets/common/abilities/hammer/charged.ron b/assets/common/abilities/hammer/charged.ron new file mode 100644 index 0000000000..4998616bd1 --- /dev/null +++ b/assets/common/abilities/hammer/charged.ron @@ -0,0 +1,13 @@ +ChargedMelee( + energy_cost: 1, + energy_drain: 300, + initial_damage: 10, + max_damage: 170, + initial_knockback: 10.0, + max_knockback: 60.0, + range: 3.5, + max_angle: 30.0, + charge_duration: 1200, + swing_duration: 200, + recover_duration: 300, +), \ No newline at end of file diff --git a/assets/common/abilities/hammer/leap.ron b/assets/common/abilities/hammer/leap.ron new file mode 100644 index 0000000000..f83731582f --- /dev/null +++ b/assets/common/abilities/hammer/leap.ron @@ -0,0 +1,13 @@ +LeapMelee( + energy_cost: 700, + buildup_duration: 100, + movement_duration: 800, + swing_duration: 150, + recover_duration: 200, + base_damage: 240, + knockback: 25.0, + range: 4.5, + max_angle: 360.0, + forward_leap_strength: 28.0, + vertical_leap_strength: 8.0, +), \ No newline at end of file diff --git a/assets/common/abilities/hammer/tempbasic.ron b/assets/common/abilities/hammer/tempbasic.ron new file mode 100644 index 0000000000..001e96f0f6 --- /dev/null +++ b/assets/common/abilities/hammer/tempbasic.ron @@ -0,0 +1,10 @@ +BasicMelee( + energy_cost: 0, + buildup_duration: 600, + swing_duration: 100, + recover_duration: 300, + base_damage: 120, + knockback: 0.0, + range: 3.5, + max_angle: 20.0, +), \ No newline at end of file diff --git a/assets/common/abilities/sceptre/healingbeam.ron b/assets/common/abilities/sceptre/healingbeam.ron new file mode 100644 index 0000000000..91b7c19d1a --- /dev/null +++ b/assets/common/abilities/sceptre/healingbeam.ron @@ -0,0 +1,14 @@ +BasicBeam( + buildup_duration: 250, + recover_duration: 250, + beam_duration: 1000, + base_hps: 60, + base_dps: 60, + tick_rate: 2.0, + range: 25.0, + max_angle: 1.0, + lifesteal_eff: 0.20, + energy_regen: 50, + energy_cost: 100, + energy_drain: 0, +), \ No newline at end of file diff --git a/assets/common/abilities/sceptre/healingbomb.ron b/assets/common/abilities/sceptre/healingbomb.ron new file mode 100644 index 0000000000..950b911679 --- /dev/null +++ b/assets/common/abilities/sceptre/healingbomb.ron @@ -0,0 +1,63 @@ +BasicRanged( + energy_cost: 800, + buildup_duration: 800, + recover_duration: 50, + projectile: ( + hit_solid: [ + Explode(( + effects: [ + Entity( + Some(OutOfGroup), + Damage(( + source: Explosion, + value: 50.0, + )), + ), + Entity( + Some(InGroup), + Damage(( + source: Healing, + value: 140.0, + )), + ), + ], + radius: 6.0, + energy_regen: 0, + )), + Vanish, + ], + hit_entity: [ + Explode(( + effects: [ + Entity( + Some(OutOfGroup), + Damage(( + source: Explosion, + value: 50.0, + )), + ), + Entity( + Some(InGroup), + Damage(( + source: Healing, + value: 140.0, + )), + ), + ], + radius: 6.0, + energy_regen: 0, + )), + Vanish, + ], + time_left: 20, // seconds + owner: None, + ignore_group: true, + ), + projectile_body: Object(BoltNature), + /*projectile_light: Some(LightEmitter { + col: (0.0, 1.0, 0.0).into(), + ..Default::default() + }),*/ + projectile_gravity: Some(Gravity(0.5)), + projectile_speed: 40.0, +), \ No newline at end of file diff --git a/assets/common/abilities/staff/firebomb.ron b/assets/common/abilities/staff/firebomb.ron new file mode 100644 index 0000000000..5cb53cf5fa --- /dev/null +++ b/assets/common/abilities/staff/firebomb.ron @@ -0,0 +1,45 @@ +BasicRanged( + energy_cost: 0, + buildup_duration: 500, + recover_duration: 350, + projectile: ( + hit_solid: [ + Explode(( + effects: [Entity( + Some(OutOfGroup), + Damage(( + source: Explosion, + value: 100.0, + )), + )], + radius: 5.0, + energy_regen: 50, + )), + Vanish, + ], + hit_entity: vec![ + Explode(( + effects: [Entity( + Some(OutOfGroup), + Damage(( + source: Explosion, + value: 100.0, + )), + )], + radius: 5.0, + energy_regen: 50, + )), + Vanish, + ], + time_left: 20, // seconds + owner: None, + ignore_group: true, + ), + projectile_body: Object(BoltFire), + /*projectile_light: Some(LightEmitter { + col: (1.0, 0.75, 0.11).into(), + ..Default::default() + }),*/ + projectile_gravity: Some(Gravity(0.3)), + projectile_speed: 60.0, +), \ No newline at end of file diff --git a/assets/common/abilities/staff/fireshockwave.ron b/assets/common/abilities/staff/fireshockwave.ron new file mode 100644 index 0000000000..f5eed9d021 --- /dev/null +++ b/assets/common/abilities/staff/fireshockwave.ron @@ -0,0 +1,14 @@ +Shockwave( + energy_cost: 600, + buildup_duration: 700, + swing_duration: 100, + recover_duration: 300, + damage: 200, + knockback: Away(25.0), + shockwave_angle: 360.0, + shockwave_vertical_angle: 90.0, + shockwave_speed: 20.0, + shockwave_duration: 500, + requires_ground: false, + move_efficiency: 0.1, +), \ No newline at end of file diff --git a/assets/common/abilities/staff/flamethrower.ron b/assets/common/abilities/staff/flamethrower.ron new file mode 100644 index 0000000000..acc4a510f9 --- /dev/null +++ b/assets/common/abilities/staff/flamethrower.ron @@ -0,0 +1,14 @@ +BasicBeam( + buildup_duration: 250, + recover_duration: 250, + beam_duration: 500, + base_hps: 0, + base_dps: 150, + tick_rate: 3.0, + range: 15.0, + max_angle: 22.5, + lifesteal_eff: 0.0, + energy_regen: 0, + energy_cost: 0, + energy_drain: 350, +), \ No newline at end of file diff --git a/assets/common/abilities/sword/dash.ron b/assets/common/abilities/sword/dash.ron new file mode 100644 index 0000000000..2935ff810b --- /dev/null +++ b/assets/common/abilities/sword/dash.ron @@ -0,0 +1,17 @@ +DashMelee( + energy_cost: 200, + base_damage: 120, + max_damage: 240, + base_knockback: 8.0, + max_knockback: 15.0, + range: 5.0, + angle: 45.0, + energy_drain: 500, + forward_speed: 4.0, + buildup_duration: 250, + charge_duration: 600, + swing_duration: 100, + recover_duration: 500, + infinite_charge: true, + is_interruptible: true, +), \ No newline at end of file diff --git a/assets/common/abilities/sword/spin.ron b/assets/common/abilities/sword/spin.ron new file mode 100644 index 0000000000..1ae86a7853 --- /dev/null +++ b/assets/common/abilities/sword/spin.ron @@ -0,0 +1,14 @@ +SpinMelee( + buildup_duration: 750, + swing_duration: 500, + recover_duration: 500, + base_damage: 140, + knockback: 10.0, + range: 3.5, + energy_cost: 200, + is_infinite: false, + is_helicopter: false, + is_interruptible: true, + forward_speed: 1.0, + num_spins: 3, +), \ No newline at end of file diff --git a/assets/common/abilities/sword/triplestrike.ron b/assets/common/abilities/sword/triplestrike.ron new file mode 100644 index 0000000000..b699b78544 --- /dev/null +++ b/assets/common/abilities/sword/triplestrike.ron @@ -0,0 +1,49 @@ +ComboMelee ( + stage_data: [ + ( + stage: 1, + base_damage: 100, + max_damage: 120, + damage_increase: 10, + knockback: 10.0, + range: 4.0, + angle: 30.0, + base_buildup_duration: 350, + base_swing_duration: 100, + base_recover_duration: 400, + forward_movement: 0.5, + ), + ( + stage: 2, + base_damage: 80, + max_damage: 110, + damage_increase: 15, + knockback: 12.0, + range: 3.5, + angle: 180.0, + base_buildup_duration: 400, + base_swing_duration: 600, + base_recover_duration: 400 + forward_movement: 0.0, + ), + ( + stage: 3, + base_damage: 130, + max_damage: 170, + damage_increase: 20, + knockback: 14.0, + range: 6.0, + angle: 10.0, + base_buildup_duration: 500, + base_swing_duration: 200, + base_recover_duration: 300, + forward_movement: 1.2, + ), + ], + initial_energy_gain: 0, + max_energy_gain: 100, + energy_increase: 20, + speed_increase: 0.05, + max_speed_increase: 1.8, + is_interruptible: true, +), \ No newline at end of file