mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Merge remote-tracking branch 'origin/master' into sharp/zoomy-worldgen
This commit is contained in:
commit
6d4113993c
@ -14,6 +14,9 @@ rustflags = [
|
||||
cmd-doc-gen = "run --features=bin_cmd_doc_gen --bin cmd_doc_gen"
|
||||
csv-export = "run --manifest-path common/Cargo.toml --features=bin_csv --bin csv_export"
|
||||
csv-import = "run --manifest-path common/Cargo.toml --features=bin_csv --bin csv_import"
|
||||
dot-recipes = "run --manifest-path common/Cargo.toml --features=bin_graphviz --bin recipe_graphviz"
|
||||
dot-skills = "run --manifest-path common/Cargo.toml --features=bin_graphviz --bin skill_graphviz"
|
||||
img-export = "run --manifest-path voxygen/Cargo.toml --features=bin_img-export --bin img-export"
|
||||
# server-cli
|
||||
server = "run --bin veloren-server-cli"
|
||||
test-server = "run --bin veloren-server-cli --no-default-features --features simd"
|
||||
@ -28,4 +31,5 @@ tracy-voxygen-releasedebuginfo = "run --bin veloren-voxygen --no-default-feature
|
||||
dbg-voxygen = "run --bin veloren-voxygen --profile debuginfo"
|
||||
# misc
|
||||
swarm = "run --bin swarm --features client/bin_bot,client/tick_network --"
|
||||
ci-clippy = "clippy --all-targets --locked --features=bin_cmd_doc_gen,bin_compression,bin_csv,bin_graphviz,bin_bot,bin_asset_migrate,asset_tweak"
|
||||
ci-clippy = "clippy --all-targets --locked --features=bin_cmd_doc_gen,bin_compression,bin_csv,bin_graphviz,bin_bot,bin_asset_migrate,asset_tweak,bin,stat"
|
||||
ci-clippy2 = "clippy -p veloren-voxygen --locked --no-default-features --features=default-publish"
|
||||
|
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -9,6 +9,7 @@
|
||||
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||
*.obj filter=lfs diff=lfs merge=lfs -text
|
||||
*.blend filter=lfs diff=lfs merge=lfs -text
|
||||
*.canary filter=lfs diff=lfs merge=lfs -text
|
||||
assets/world/map/*.bin filter=lfs diff=lfs merge=lfs -text
|
||||
|
||||
*.ron gitlab-language=rust
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -52,6 +52,7 @@ wgpu-trace/
|
||||
|
||||
# Export data
|
||||
*.csv
|
||||
img-export/**/*.png
|
||||
|
||||
# Game data
|
||||
*.sqlite
|
||||
|
@ -13,7 +13,7 @@ variables:
|
||||
# https://docs.gitlab.com/ee/ci/yaml/#shallow-cloning
|
||||
GIT_DEPTH: 3
|
||||
GIT_CLEAN_FLAGS: -f
|
||||
CACHE_IMAGE_TAG: c96aef21
|
||||
CACHE_IMAGE_TAG: 8e8fe241
|
||||
TAG_REGEX: '/^v[0-9]+\.[0-9]+\.[0-9]+$/'
|
||||
|
||||
default:
|
||||
|
@ -55,6 +55,7 @@ benchmarks:
|
||||
|
||||
# Coverage is needed on master for the README.md badge to work
|
||||
# tmp remove simd as it doesnt work with tarpaulin: https://github.com/rust-lang/rust/issues/77529
|
||||
|
||||
coverage:
|
||||
extends: .release
|
||||
stage: build
|
||||
|
@ -4,7 +4,7 @@
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
# No '-' here is *very* important: https://docs.gitlab.com/ee/ci/yaml/#complex-rule-clauses
|
||||
changes:
|
||||
- "**/*.{glsl,png,rs,ron,toml,vox,yml,wav,sh}"
|
||||
- "**/*.{glsl,png,rs,ron,ftl,toml,vox,yml,wav,sh}"
|
||||
- "rust-toolchain"
|
||||
- "Cargo.lock"
|
||||
- ".gitlab-ci.yml"
|
||||
@ -14,7 +14,7 @@
|
||||
.recompile:
|
||||
rules:
|
||||
- changes:
|
||||
- "**/*.{glsl,png,rs,ron,toml,vox,yml,wav,sh}"
|
||||
- "**/*.{glsl,png,rs,ron,ftl,toml,vox,yml,wav,sh}"
|
||||
- "rust-toolchain"
|
||||
- "Cargo.lock"
|
||||
- ".gitlab-ci.yml"
|
||||
- ".gitlab-ci.yml"
|
||||
|
@ -1,6 +1,16 @@
|
||||
#!/bin/bash
|
||||
# cargo clippy is a superset of cargo check, so we don't check manually
|
||||
time cargo clippy --all-targets --locked --features="bin_cmd_doc_gen,bin_compression,bin_csv,bin_graphviz,bin_bot,bin_asset_migrate,asset_tweak" -- -D warnings &&
|
||||
|
||||
time cargo clippy \
|
||||
--all-targets \
|
||||
--locked \
|
||||
--features="bin_cmd_doc_gen,bin_compression,bin_csv,bin_graphviz,bin_bot,bin_asset_migrate,asset_tweak,bin,stat" \
|
||||
-- -D warnings &&
|
||||
|
||||
# Ensure that the veloren-voxygen default-publish feature builds as it excludes some default features
|
||||
time cargo clippy -p veloren-voxygen --locked --no-default-features --features="default-publish" -- -D warnings &&
|
||||
time cargo clippy -p \
|
||||
veloren-voxygen --locked \
|
||||
--no-default-features \
|
||||
--features="default-publish" \
|
||||
-- -D warnings &&
|
||||
time cargo fmt --all -- --check
|
||||
|
@ -1,6 +1,5 @@
|
||||
#!/bin/bash
|
||||
echo "modifying files in 5s, ctrl+c to abort" && sleep 5
|
||||
find ./* -name "Cargo.toml" -exec sed -i 's/, "simd"]/]/g' {} \;
|
||||
find ./* -name "Cargo.toml" -exec sed -i 's/"simd"]/]/g' {} \;
|
||||
find ./* -name "Cargo.toml" -exec sed -i -E 's/, *"simd"|"simd" *,|"simd"//g' {} \;
|
||||
export VELOREN_ASSETS="$(pwd)/assets";
|
||||
time cargo tarpaulin --skip-clean -v -- --test-threads=2;
|
||||
time cargo tarpaulin --skip-clean -v -- --test-threads=2;
|
@ -1,3 +1,5 @@
|
||||
#!/bin/bash
|
||||
export VELOREN_ASSETS="$(pwd)/assets"
|
||||
time cargo test --package veloren-voxygen-i18n --lib test_all_localizations -- --nocapture --ignored
|
||||
VELOREN_ASSETS="$(pwd)/assets"
|
||||
export VELOREN_ASSETS
|
||||
|
||||
time cargo run --bin i18n-csv --features="stat"
|
||||
|
@ -1,4 +1,8 @@
|
||||
#!/bin/bash
|
||||
export VELOREN_ASSETS="$(pwd)/assets"
|
||||
time cargo test --package veloren-common-assets asset_tweak::tests --features asset_tweak --lib &&
|
||||
VELOREN_ASSETS="$(pwd)/assets"
|
||||
export VELOREN_ASSETS
|
||||
|
||||
time cargo test \
|
||||
--package veloren-common-assets asset_tweak::tests \
|
||||
--features asset_tweak --lib &&
|
||||
time cargo test
|
||||
|
2
.mailmap
2
.mailmap
@ -1 +1 @@
|
||||
Mckol <mckol363@gmail.com>
|
||||
LunarEclipse <luna@lunareclipse.zone> <mckol363@gmail.com>
|
||||
|
116
CHANGELOG.md
116
CHANGELOG.md
@ -8,16 +8,125 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
- Command to toggle experimental shaders.
|
||||
- Faster Energy Regeneration while sitting.
|
||||
- Lantern glow for dropped lanterns.
|
||||
- Suggests commands when an invalid one is entered in chat and added Client-side commands to /help.
|
||||
- Moderator badge in the chat.
|
||||
- More aggressive scene culling based on camera position to improve performance.
|
||||
- Some chests requiring lockpicks or keys.
|
||||
- Unlockable door blocks.
|
||||
- Sprite rotation for Spots.
|
||||
- Better entity placement options for spots.
|
||||
- Camera zoom can now be locked, to prevent accidental zooming while rolling in combat. It comes
|
||||
with a keybind to enable/disable the setting, and an Auto/Toggle behavior setting. Auto behavior
|
||||
will only lock the camera zoom while movement and combat inputs are also being pressed.
|
||||
- Custom spots can be added without recompilation (only ron and vox files)
|
||||
- Setting in userdata/server/server_config/settings.ron that controls the length of each day/night cycle.
|
||||
|
||||
### Changed
|
||||
- Bats move slower and use a simple proportional controller to maintain altitude
|
||||
- Bats now have less health
|
||||
- Climbing no longer requires having 10 energy
|
||||
- Castles will now be placed close to towns
|
||||
- Sword
|
||||
|
||||
### Removed
|
||||
|
||||
### Fixed
|
||||
- Doors
|
||||
- Debug hitboxes now scale with the `Scale` component
|
||||
- Potion quaffing no longer makes characters practically immortal.
|
||||
- Stat diff now displays correctly for armor
|
||||
- Lamps, embers and campfires use glowing indices
|
||||
- Non-potion drinks no longer heal as much as potions.
|
||||
- Added SFX to the new sword abilities
|
||||
- Fixed various issues with showing the correct text hint for interactable blocks.
|
||||
- Intert entities like arrows no longer obstruct interacting with nearby entities/blocks.
|
||||
|
||||
## [0.14.0] - 2023-01-07
|
||||
|
||||
### Added
|
||||
|
||||
- Setting for disabling flashing lights
|
||||
- Spectate mode for moderators.
|
||||
- Currently playing music track and artist now shows in the debug menu.
|
||||
- Added a setting to influence the gap between music track plays.
|
||||
- Added a Craft All button.
|
||||
- Server: Vacuum database on startup
|
||||
- SeaChapel, greek/latin inspired dungeon for ocean biome coasts
|
||||
- Entity view distance setting added (shown in graphics and network tabs). This setting controls
|
||||
the distance at which entities are synced to the client and which entities are displayed in.
|
||||
This is clamped to be no more than the current overall view distance setting.
|
||||
- View distance settings that are lowered by the server limit (or other factors) now display an
|
||||
extra ghost slider cursor when set above the limit (instead of snapping back to the limit).
|
||||
Limits on the view distance by the server no longer affect the settings saved on the client.
|
||||
- HQX upscaling shader for people playing on low internal resolutions
|
||||
- Pets can now be traded with.
|
||||
- Crafting recipe for black lantern
|
||||
- Added redwood and dead trees
|
||||
- Water will now move according to its apparent flow direction
|
||||
- Added screen-space reflection and refraction shaders
|
||||
- Added reflection quality setting
|
||||
- UI: Added a poise indicator to the player's status bars
|
||||
- FxUpscale AA mode for higher quality graphics at reduced internal resolutions
|
||||
- Graphics presets
|
||||
- Sword
|
||||
- Doors now animate opening when entities are near them.
|
||||
- Musical instruments can now be crafted, looted and played
|
||||
- NPCs now move to their target's last known position.
|
||||
- Experience bar below the hotbar
|
||||
- Bridges.
|
||||
- Tool for exporting PNG images of all in-game models (`cargo img-export`)
|
||||
- Calendar event soundtracks.
|
||||
|
||||
### Changed
|
||||
|
||||
- Use fluent for translations
|
||||
- First tab on Login screen triggers username focus
|
||||
- Certain NPCs will now attack when alone with victim
|
||||
- /kill_npcs no longer leaves drops behind and also has bug causing it to not destroy entities
|
||||
fixed.
|
||||
- Default present mode changed to Fifo (aka 'Vsync capped').
|
||||
- Old "Entity View Distance" setting renamed to "Entity Detail Distance" (since this controls the
|
||||
distance at which lower detail models are used for entities).
|
||||
- Present mode options renamed for clarity: Fifo -> 'Vsync capped', Mailbox -> 'Vsync uncapped',
|
||||
Immediate -> 'Vsync off'.
|
||||
- Item pickup UI now displays items that members of your group pick up.
|
||||
- Improved shiny water shaders
|
||||
- Tweaked armor stats
|
||||
- Move bag icon to skillbar
|
||||
- Improved inventory sorting by Category
|
||||
|
||||
### Removed
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed npc not handling interactions while fighting (especially merchants in trade)
|
||||
- Fixed bug where you would still be burning after dying in lava.
|
||||
- Workaround for rayon bug that caused lag spikes in slowjobs
|
||||
- Fixed crash due to zooming out very far
|
||||
- Client properly knows trade was cancelled when exiting to the character screen (and no longer
|
||||
tries to display the trade window when rejoining)
|
||||
- Cancel trades for an entity when it is deleted (note this doesn't effect trades between players
|
||||
since their entities are not removed).
|
||||
- Fixed bug where the view distance selection was not immediately applied to entity syncing when
|
||||
first joining a server and when changing the view distance (previously this required moving to a
|
||||
new chunk for the initial setting or subsequent change to apply).
|
||||
- Moderators and admins are no longer blocked from logging in when there are too many players.
|
||||
- FXAA now behaves correctly at non-1.0x internal resolutions
|
||||
- Pets no longer aggro on pet owners after being healed
|
||||
- Pets no longer lose their intrinsic weapons/armour when loaded on login.
|
||||
- Fixed npcs using `/say` instead of `/tell`
|
||||
- Camera jittering in third person has been significantly reduced
|
||||
- Many water shader issues have been fixed
|
||||
- Flee if attacked even if attacker is not close.
|
||||
- `/time` command will never rewind time, only advance it to not break rtsim
|
||||
|
||||
## [0.13.0] - 2022-07-23
|
||||
|
||||
### Added
|
||||
|
||||
- Chat commands to mute and unmute players
|
||||
- Waypoints saved between sessions and shared with group members.
|
||||
- New rocks
|
||||
@ -73,9 +182,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- Overhauled caves: they're now a multi-layer network spanning the entire world
|
||||
|
||||
### Removed
|
||||
|
||||
- Removed the options for single and cumulated damage.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed bug that would sometimes cause taking a screenshot to panic because a buffer was mapped at the wrong time.
|
||||
- Players can no longer push waypoints around
|
||||
- Sites will now also be placed near the edge of the map
|
||||
@ -765,7 +876,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- New attack animation
|
||||
- Weapon control system
|
||||
- Game pauses when in single player and pause menu
|
||||
- Added authentication system (to play on the official server register on https://account.veloren.net)
|
||||
- Added authentication system (to play on the official server register on <https://account.veloren.net>)
|
||||
- Added gamepad/controller support
|
||||
- Added player feedback when attempting to pickup an item with a full inventory
|
||||
- Added free look
|
||||
@ -1002,7 +1113,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
_0.1.0 was part of the legacy engine_
|
||||
|
||||
[unreleased]: https://gitlab.com/veloren/veloren/compare?from=v0.13.0&to=master
|
||||
[unreleased]: https://gitlab.com/veloren/veloren/compare?from=v0.14.0&to=master
|
||||
[0.14.0]: https://gitlab.com/veloren/veloren/compare?from=v0.13.0&to=v0.14.0
|
||||
[0.13.0]: https://gitlab.com/veloren/veloren/compare?from=v0.12.0&to=v0.13.0
|
||||
[0.12.0]: https://gitlab.com/veloren/veloren/compare?from=v0.11.0&to=v0.12.0
|
||||
[0.11.0]: https://gitlab.com/veloren/veloren/compare?from=v0.10.0&to=v0.11.0
|
||||
|
2593
Cargo.lock
generated
2593
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
12
Cargo.toml
12
Cargo.toml
@ -5,24 +5,24 @@ members = [
|
||||
"common",
|
||||
"common/assets",
|
||||
"common/base",
|
||||
"common/dynlib",
|
||||
"common/ecs",
|
||||
"common/net",
|
||||
"common/state",
|
||||
"common/systems",
|
||||
"common/frontend",
|
||||
"client",
|
||||
"client/i18n",
|
||||
"plugin/api",
|
||||
"plugin/derive",
|
||||
"plugin/rt",
|
||||
"server",
|
||||
"server/agent",
|
||||
"server-cli",
|
||||
"voxygen",
|
||||
"voxygen/anim",
|
||||
"voxygen/anim/dyn",
|
||||
"voxygen/i18n",
|
||||
"voxygen/dynlib",
|
||||
"voxygen/i18n-helpers",
|
||||
"voxygen/egui",
|
||||
"voxygen/egui/dyn",
|
||||
"world",
|
||||
"network",
|
||||
"network/protocol",
|
||||
@ -115,10 +115,6 @@ systems = ["x86_64-linux"]
|
||||
name = "veloren-nix"
|
||||
key = "veloren-nix.cachix.org-1:zokfKJqVsNV6kI/oJdLF6TYBdNPYGSb+diMVQPn/5Rc="
|
||||
|
||||
[workspace.metadata.nix.crateOverride.veloren-network]
|
||||
buildInputs = ["openssl"]
|
||||
nativeBuildInputs = ["pkg-config"]
|
||||
|
||||
[patch.crates-io]
|
||||
vek = { git = "https://github.com/yoanlcq/vek.git", rev = "84d5cb65841d46599a986c5477341bea4456be26" }
|
||||
# patch wgpu so we can use wgpu-profiler crate
|
||||
|
12
LICENSE
12
LICENSE
@ -1,7 +1,7 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
Veloren
|
||||
Copyright (C) 2020 Project Veloren
|
||||
Copyright (C) 2018-2023 Project Veloren
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@ -645,14 +645,14 @@ the "copyright" line and a pointer to where the full notice is found.
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
Veloren Copyright (C) 2020 Project Veloren
|
||||
Veloren Copyright (C) 2018-2023 Project Veloren
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||
|
@ -1,428 +1,709 @@
|
||||
#![enable(implicit_some)]
|
||||
// Maps a tool kind to a set of abilities
|
||||
// A set of abilities is a primary, a secondary, and a vec of all extra abilities
|
||||
({
|
||||
Tool(Sword): (
|
||||
primary: "common.abilities.sword.triplestrike",
|
||||
secondary: "common.abilities.sword.dash",
|
||||
primary: Contextualized(
|
||||
pseudo_id: "veloren.core.pseudo_abilities.sword.double_slash",
|
||||
abilities: {
|
||||
None: (None, "common.abilities.sword.basic_double_slash"),
|
||||
Stance(Sword(Heavy)): (None, "common.abilities.sword.heavy_double_slash"),
|
||||
Stance(Sword(Agile)): (None, "common.abilities.sword.agile_double_slash"),
|
||||
Stance(Sword(Defensive)): (None, "common.abilities.sword.defensive_double_slash"),
|
||||
Stance(Sword(Crippling)): (None, "common.abilities.sword.crippling_double_slash"),
|
||||
Stance(Sword(Cleaving)): (None, "common.abilities.sword.cleaving_double_slash"),
|
||||
},
|
||||
),
|
||||
secondary: Contextualized(
|
||||
pseudo_id: "veloren.core.pseudo_abilities.sword.secondary_ability",
|
||||
abilities: {
|
||||
None: (None, "common.abilities.sword.basic_thrust"),
|
||||
Stance(Sword(Heavy)): (None, "common.abilities.sword.heavy_slam"),
|
||||
Stance(Sword(Agile)): (None, "common.abilities.sword.agile_perforate"),
|
||||
Stance(Sword(Defensive)): (None, "common.abilities.sword.defensive_parry"),
|
||||
Stance(Sword(Crippling)): (None, "common.abilities.sword.crippling_deep_rend"),
|
||||
Stance(Sword(Cleaving)): (None, "common.abilities.sword.cleaving_spiral_slash"),
|
||||
},
|
||||
),
|
||||
abilities: [
|
||||
(Some(Sword(UnlockSpin)), "common.abilities.sword.spin"),
|
||||
Contextualized(
|
||||
pseudo_id: "veloren.core.pseudo_abilities.sword.crescent_slash",
|
||||
abilities: {
|
||||
None: (Sword(CrescentSlash), "common.abilities.sword.basic_crescent_slash"),
|
||||
Stance(Sword(Heavy)): (Sword(CrescentSlash), "common.abilities.sword.heavy_crescent_slash"),
|
||||
Stance(Sword(Agile)): (Sword(CrescentSlash), "common.abilities.sword.agile_crescent_slash"),
|
||||
Stance(Sword(Defensive)): (Sword(CrescentSlash), "common.abilities.sword.defensive_crescent_slash"),
|
||||
Stance(Sword(Crippling)): (Sword(CrescentSlash), "common.abilities.sword.crippling_crescent_slash"),
|
||||
Stance(Sword(Cleaving)): (Sword(CrescentSlash), "common.abilities.sword.cleaving_crescent_slash"),
|
||||
},
|
||||
),
|
||||
Contextualized(
|
||||
pseudo_id: "veloren.core.pseudo_abilities.sword.fell_strike",
|
||||
abilities: {
|
||||
None: (Sword(FellStrike), "common.abilities.sword.basic_fell_strike"),
|
||||
Stance(Sword(Heavy)): (Sword(FellStrike), "common.abilities.sword.heavy_fell_strike"),
|
||||
Stance(Sword(Agile)): (Sword(FellStrike), "common.abilities.sword.agile_fell_strike"),
|
||||
Stance(Sword(Defensive)): (Sword(FellStrike), "common.abilities.sword.defensive_fell_strike"),
|
||||
Stance(Sword(Crippling)): (Sword(FellStrike), "common.abilities.sword.crippling_fell_strike"),
|
||||
Stance(Sword(Cleaving)): (Sword(FellStrike), "common.abilities.sword.cleaving_fell_strike"),
|
||||
},
|
||||
),
|
||||
Contextualized(
|
||||
pseudo_id: "veloren.core.pseudo_abilities.sword.skewer",
|
||||
abilities: {
|
||||
None: (Sword(Skewer), "common.abilities.sword.basic_skewer"),
|
||||
Stance(Sword(Heavy)): (Sword(Skewer), "common.abilities.sword.heavy_skewer"),
|
||||
Stance(Sword(Agile)): (Sword(Skewer), "common.abilities.sword.agile_skewer"),
|
||||
Stance(Sword(Defensive)): (Sword(Skewer), "common.abilities.sword.defensive_skewer"),
|
||||
Stance(Sword(Crippling)): (Sword(Skewer), "common.abilities.sword.crippling_skewer"),
|
||||
Stance(Sword(Cleaving)): (Sword(Skewer), "common.abilities.sword.cleaving_skewer"),
|
||||
},
|
||||
),
|
||||
Contextualized(
|
||||
pseudo_id: "veloren.core.pseudo_abilities.sword.cascade",
|
||||
abilities: {
|
||||
None: (Sword(Cascade), "common.abilities.sword.basic_cascade"),
|
||||
Stance(Sword(Heavy)): (Sword(Cascade), "common.abilities.sword.heavy_cascade"),
|
||||
Stance(Sword(Agile)): (Sword(Cascade), "common.abilities.sword.agile_cascade"),
|
||||
Stance(Sword(Defensive)): (Sword(Cascade), "common.abilities.sword.defensive_cascade"),
|
||||
Stance(Sword(Crippling)): (Sword(Cascade), "common.abilities.sword.crippling_cascade"),
|
||||
Stance(Sword(Cleaving)): (Sword(Cascade), "common.abilities.sword.cleaving_cascade"),
|
||||
},
|
||||
),
|
||||
Contextualized(
|
||||
pseudo_id: "veloren.core.pseudo_abilities.sword.cross_cut",
|
||||
abilities: {
|
||||
None: (Sword(CrossCut), "common.abilities.sword.basic_cross_cut"),
|
||||
Stance(Sword(Heavy)): (Sword(CrossCut), "common.abilities.sword.heavy_cross_cut"),
|
||||
Stance(Sword(Agile)): (Sword(CrossCut), "common.abilities.sword.agile_cross_cut"),
|
||||
Stance(Sword(Defensive)): (Sword(CrossCut), "common.abilities.sword.defensive_cross_cut"),
|
||||
Stance(Sword(Crippling)): (Sword(CrossCut), "common.abilities.sword.crippling_cross_cut"),
|
||||
Stance(Sword(Cleaving)): (Sword(CrossCut), "common.abilities.sword.cleaving_cross_cut"),
|
||||
},
|
||||
),
|
||||
Contextualized(
|
||||
pseudo_id: "veloren.core.pseudo_abilities.sword.finisher",
|
||||
abilities: {
|
||||
None: (Sword(Finisher), "common.abilities.sword.basic_mighty_strike"),
|
||||
Stance(Sword(Heavy)): (Sword(Finisher), "common.abilities.sword.heavy_guillotine"),
|
||||
Stance(Sword(Agile)): (Sword(Finisher), "common.abilities.sword.agile_hundred_cuts"),
|
||||
Stance(Sword(Defensive)): (Sword(Finisher), "common.abilities.sword.defensive_counter"),
|
||||
Stance(Sword(Crippling)): (Sword(Finisher), "common.abilities.sword.crippling_mutilate"),
|
||||
Stance(Sword(Cleaving)): (Sword(Finisher), "common.abilities.sword.cleaving_bladestorm"),
|
||||
},
|
||||
),
|
||||
Simple(Sword(HeavyWindmillSlash), "common.abilities.sword.heavy_windmill_slash"),
|
||||
Simple(Sword(HeavyPommelStrike), "common.abilities.sword.heavy_pommel_strike"),
|
||||
Simple(Sword(AgileQuickDraw), "common.abilities.sword.agile_quick_draw"),
|
||||
Simple(Sword(AgileFeint), "common.abilities.sword.agile_feint"),
|
||||
Simple(Sword(DefensiveRiposte), "common.abilities.sword.defensive_riposte"),
|
||||
Simple(Sword(DefensiveDisengage), "common.abilities.sword.defensive_disengage"),
|
||||
Simple(Sword(CripplingGouge), "common.abilities.sword.crippling_gouge"),
|
||||
Simple(Sword(CripplingHamstring), "common.abilities.sword.crippling_hamstring"),
|
||||
Simple(Sword(CleavingWhirlwindSlice), "common.abilities.sword.cleaving_whirlwind_slice"),
|
||||
Simple(Sword(CleavingEarthSplitter), "common.abilities.sword.cleaving_earth_splitter"),
|
||||
Simple(Sword(HeavyFortitude), "common.abilities.sword.heavy_fortitude"),
|
||||
Simple(Sword(HeavyPillarThrust), "common.abilities.sword.heavy_pillar_thrust"),
|
||||
Simple(Sword(AgileDancingEdge), "common.abilities.sword.agile_dancing_edge"),
|
||||
Simple(Sword(AgileFlurry), "common.abilities.sword.agile_flurry"),
|
||||
Simple(Sword(DefensiveStalwartSword), "common.abilities.sword.defensive_stalwart_sword"),
|
||||
Simple(Sword(DefensiveDeflect), "common.abilities.sword.defensive_deflect"),
|
||||
Simple(Sword(CripplingEviscerate), "common.abilities.sword.crippling_eviscerate"),
|
||||
Simple(Sword(CripplingBloodyGash), "common.abilities.sword.crippling_bloody_gash"),
|
||||
Simple(Sword(CleavingBladeFever), "common.abilities.sword.cleaving_blade_fever"),
|
||||
Simple(Sword(CleavingSkySplitter), "common.abilities.sword.cleaving_sky_splitter"),
|
||||
],
|
||||
),
|
||||
Tool(Axe): (
|
||||
primary: "common.abilities.axe.doublestrike",
|
||||
secondary: "common.abilities.axe.spin",
|
||||
primary: Simple(None, "common.abilities.axe.doublestrike"),
|
||||
secondary: Simple(None, "common.abilities.axe.spin"),
|
||||
abilities: [
|
||||
(Some(Axe(UnlockLeap)), "common.abilities.axe.leap"),
|
||||
Simple(Some(Axe(UnlockLeap)), "common.abilities.axe.leap"),
|
||||
],
|
||||
),
|
||||
Tool(Hammer): (
|
||||
primary: "common.abilities.hammer.singlestrike",
|
||||
secondary: "common.abilities.hammer.charged",
|
||||
primary: Simple(None, "common.abilities.hammer.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.hammer.charged"),
|
||||
abilities: [
|
||||
(Some(Hammer(UnlockLeap)), "common.abilities.hammer.leap"),
|
||||
Simple(Some(Hammer(UnlockLeap)), "common.abilities.hammer.leap"),
|
||||
],
|
||||
),
|
||||
Tool(Bow): (
|
||||
primary: "common.abilities.bow.charged",
|
||||
secondary: "common.abilities.bow.repeater",
|
||||
primary: Simple(None, "common.abilities.bow.charged"),
|
||||
secondary: Simple(None, "common.abilities.bow.repeater"),
|
||||
abilities: [
|
||||
(Some(Bow(UnlockShotgun)), "common.abilities.bow.shotgun"),
|
||||
Simple(Some(Bow(UnlockShotgun)), "common.abilities.bow.shotgun"),
|
||||
],
|
||||
),
|
||||
Tool(Staff): (
|
||||
primary: "common.abilities.staff.firebomb",
|
||||
secondary: "common.abilities.staff.flamethrower",
|
||||
primary: Simple(None, "common.abilities.staff.firebomb"),
|
||||
secondary: Simple(None, "common.abilities.staff.flamethrower"),
|
||||
abilities: [
|
||||
(Some(Staff(UnlockShockwave)), "common.abilities.staff.fireshockwave"),
|
||||
Simple(Some(Staff(UnlockShockwave)), "common.abilities.staff.fireshockwave"),
|
||||
],
|
||||
),
|
||||
Tool(Sceptre): (
|
||||
primary: "common.abilities.sceptre.lifestealbeam",
|
||||
secondary: "common.abilities.sceptre.healingaura",
|
||||
primary: Simple(None, "common.abilities.sceptre.lifestealbeam"),
|
||||
secondary: Simple(None, "common.abilities.sceptre.healingaura"),
|
||||
abilities: [
|
||||
(Some(Sceptre(UnlockAura)), "common.abilities.sceptre.wardingaura"),
|
||||
Simple(Some(Sceptre(UnlockAura)), "common.abilities.sceptre.wardingaura"),
|
||||
],
|
||||
),
|
||||
Custom("Husk"): (
|
||||
primary: "common.abilities.custom.husk.singlestrike",
|
||||
secondary: "common.abilities.custom.husk.triplestrike",
|
||||
primary: Simple(None, "common.abilities.custom.husk.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.husk.triplestrike"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Husk Brute"): (
|
||||
primary: "common.abilities.custom.husk_brute.singlestrike",
|
||||
secondary: "common.abilities.custom.husk_brute.chargedmelee",
|
||||
primary: Simple(None, "common.abilities.custom.husk_brute.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.husk_brute.chargedmelee"),
|
||||
abilities: [],
|
||||
),
|
||||
Tool(Spear): (
|
||||
primary: "common.abilities.spear.doublestrike",
|
||||
secondary: "common.abilities.spear.dash",
|
||||
primary: Simple(None, "common.abilities.spear.doublestrike"),
|
||||
secondary: Simple(None, "common.abilities.spear.dash"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Hammer Simple"): (
|
||||
primary: "common.abilities.hammersimple.doublestrike",
|
||||
secondary: "common.abilities.hammersimple.doublestrike",
|
||||
primary: Simple(None, "common.abilities.hammersimple.doublestrike"),
|
||||
secondary: Simple(None, "common.abilities.hammersimple.doublestrike"),
|
||||
abilities: [],
|
||||
),
|
||||
// TODO: Later investigate if we want to make this back to a simple axe when more things need a simpler axe ability set
|
||||
Custom("Gnarling Axe"): (
|
||||
primary: "common.abilities.gnarling.axe.chop",
|
||||
secondary: "common.abilities.gnarling.axe.chop",
|
||||
primary: Simple(None, "common.abilities.gnarling.axe.chop"),
|
||||
secondary: Simple(None, "common.abilities.gnarling.axe.chop"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Gnarling Dagger"): (
|
||||
primary: "common.abilities.gnarling.dagger.stab",
|
||||
secondary: "common.abilities.gnarling.dagger.stab",
|
||||
primary: Simple(None, "common.abilities.gnarling.dagger.stab"),
|
||||
secondary: Simple(None, "common.abilities.gnarling.dagger.stab"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Gnarling Blowgun"): (
|
||||
primary: "common.abilities.gnarling.blowgun.dart",
|
||||
secondary: "common.abilities.gnarling.blowgun.dart",
|
||||
primary: Simple(None, "common.abilities.gnarling.blowgun.dart"),
|
||||
secondary: Simple(None, "common.abilities.gnarling.blowgun.dart"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Gnarling Chieftain"): (
|
||||
primary: "common.abilities.gnarling.chieftain.flamestrike",
|
||||
secondary: "common.abilities.gnarling.chieftain.firebarrage",
|
||||
primary: Simple(None, "common.abilities.gnarling.chieftain.flamestrike"),
|
||||
secondary: Simple(None, "common.abilities.gnarling.chieftain.firebarrage"),
|
||||
abilities: [
|
||||
(None, "common.abilities.gnarling.chieftain.fireshockwave"),
|
||||
(None, "common.abilities.gnarling.chieftain.redtotem"),
|
||||
(None, "common.abilities.gnarling.chieftain.greentotem"),
|
||||
(None, "common.abilities.gnarling.chieftain.whitetotem"),
|
||||
Simple(None, "common.abilities.gnarling.chieftain.fireshockwave"),
|
||||
Simple(None, "common.abilities.gnarling.chieftain.redtotem"),
|
||||
Simple(None, "common.abilities.gnarling.chieftain.greentotem"),
|
||||
Simple(None, "common.abilities.gnarling.chieftain.whitetotem"),
|
||||
],
|
||||
),
|
||||
Custom("Gnarling Totem Red"): (
|
||||
primary: "common.abilities.gnarling.totem.red",
|
||||
secondary: "common.abilities.gnarling.totem.red",
|
||||
primary: Simple(None, "common.abilities.gnarling.totem.red"),
|
||||
secondary: Simple(None, "common.abilities.gnarling.totem.red"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Gnarling Totem Green"): (
|
||||
primary: "common.abilities.gnarling.totem.green",
|
||||
secondary: "common.abilities.gnarling.totem.green",
|
||||
primary: Simple(None, "common.abilities.gnarling.totem.green"),
|
||||
secondary: Simple(None, "common.abilities.gnarling.totem.green"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Gnarling Totem White"): (
|
||||
primary: "common.abilities.gnarling.totem.white",
|
||||
secondary: "common.abilities.gnarling.totem.white",
|
||||
primary: Simple(None, "common.abilities.gnarling.totem.white"),
|
||||
secondary: Simple(None, "common.abilities.gnarling.totem.white"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Deadwood"): (
|
||||
primary: "common.abilities.custom.deadwood.lifestealbeam",
|
||||
secondary: "common.abilities.custom.deadwood.dash",
|
||||
primary: Simple(None, "common.abilities.custom.deadwood.lifestealbeam"),
|
||||
secondary: Simple(None, "common.abilities.custom.deadwood.dash"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Mandragora"): (
|
||||
primary: "common.abilities.custom.mandragora.basic",
|
||||
secondary: "common.abilities.custom.mandragora.scream",
|
||||
primary: Simple(None, "common.abilities.custom.mandragora.basic"),
|
||||
secondary: Simple(None, "common.abilities.custom.mandragora.scream"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Wood Golem"): (
|
||||
primary: "common.abilities.custom.woodgolem.strike",
|
||||
secondary: "common.abilities.custom.woodgolem.spin",
|
||||
primary: Simple(None, "common.abilities.custom.woodgolem.strike"),
|
||||
secondary: Simple(None, "common.abilities.custom.woodgolem.spin"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.woodgolem.shockwave")
|
||||
Simple(None, "common.abilities.custom.woodgolem.shockwave")
|
||||
],
|
||||
),
|
||||
Custom("Simple Flying Melee"): (
|
||||
primary: Simple(None, "common.abilities.custom.simpleflyingmelee.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.simpleflyingmelee.singlestrike"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Sword Simple"): (
|
||||
primary: "common.abilities.swordsimple.doublestrike",
|
||||
secondary: "common.abilities.swordsimple.dash",
|
||||
primary: Simple(None, "common.abilities.swordsimple.doublestrike"),
|
||||
secondary: Simple(None, "common.abilities.swordsimple.dash"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Staff Simple"): (
|
||||
primary: "common.abilities.staffsimple.firebomb",
|
||||
secondary: "common.abilities.staffsimple.flamethrower",
|
||||
primary: Simple(None, "common.abilities.staffsimple.firebomb"),
|
||||
secondary: Simple(None, "common.abilities.staffsimple.flamethrower"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Bow Simple"): (
|
||||
primary: "common.abilities.bowsimple.basic",
|
||||
secondary: "common.abilities.bowsimple.basic",
|
||||
primary: Simple(None, "common.abilities.bowsimple.basic"),
|
||||
secondary: Simple(None, "common.abilities.bowsimple.basic"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Axe Simple"): (
|
||||
primary: "common.abilities.axesimple.doublestrike",
|
||||
secondary: "common.abilities.axesimple.doublestrike",
|
||||
primary: Simple(None, "common.abilities.axesimple.doublestrike"),
|
||||
secondary: Simple(None, "common.abilities.axesimple.doublestrike"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Dagger Simple"): (
|
||||
primary: "common.abilities.daggersimple.singlestrike",
|
||||
secondary: "common.abilities.daggersimple.singlestrike",
|
||||
primary: Simple(None, "common.abilities.daggersimple.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.daggersimple.singlestrike"),
|
||||
abilities: [],
|
||||
),
|
||||
Tool(Dagger): (
|
||||
primary: "common.abilities.dagger.tempbasic",
|
||||
secondary: "common.abilities.dagger.tempbasic",
|
||||
primary: Simple(None, "common.abilities.dagger.tempbasic"),
|
||||
secondary: Simple(None, "common.abilities.dagger.tempbasic"),
|
||||
abilities: [],
|
||||
),
|
||||
Tool(Shield): (
|
||||
primary: "common.abilities.shield.tempbasic",
|
||||
secondary: "common.abilities.shield.block",
|
||||
primary: Simple(None, "common.abilities.shield.tempbasic"),
|
||||
secondary: Simple(None, "common.abilities.shield.block"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Stone Golem"): (
|
||||
primary: "common.abilities.custom.stonegolemfist.singlestrike",
|
||||
secondary: "common.abilities.custom.stonegolemfist.shockwave",
|
||||
primary: Simple(None, "common.abilities.custom.stonegolemfist.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.stonegolemfist.shockwave"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.stonegolemfist.spin"),
|
||||
Simple(None, "common.abilities.custom.stonegolemfist.spin"),
|
||||
],
|
||||
),
|
||||
Custom("Beast Claws"): (
|
||||
primary: "common.abilities.custom.beastclaws.basic",
|
||||
secondary: "common.abilities.custom.beastclaws.basic",
|
||||
primary: Simple(None, "common.abilities.custom.beastclaws.basic"),
|
||||
secondary: Simple(None, "common.abilities.custom.beastclaws.basic"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Tursus Claws"): (
|
||||
primary: Simple(None, "common.abilities.custom.tursus_claws.basic"),
|
||||
secondary: Simple(None, "common.abilities.custom.tursus_claws.basic"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Wendigo Magic"): (
|
||||
primary: "common.abilities.custom.wendigomagic.frostbomb",
|
||||
secondary: "common.abilities.custom.wendigomagic.singlestrike",
|
||||
primary: Simple(None, "common.abilities.custom.wendigomagic.frostbomb"),
|
||||
secondary: Simple(None, "common.abilities.custom.wendigomagic.singlestrike"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Tidal Warrior"): (
|
||||
primary: "common.abilities.custom.tidalwarrior.pincer",
|
||||
secondary: "common.abilities.custom.tidalwarrior.scuttle",
|
||||
primary: Simple(None, "common.abilities.custom.tidalwarrior.pincer"),
|
||||
secondary: Simple(None, "common.abilities.custom.tidalwarrior.scuttle"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.tidalwarrior.bubbles"),
|
||||
(None, "common.abilities.custom.tidalwarrior.totem"),
|
||||
Simple(None, "common.abilities.custom.tidalwarrior.bubbles"),
|
||||
Simple(None, "common.abilities.custom.tidalwarrior.totem"),
|
||||
],
|
||||
),
|
||||
Custom("Tidal Totem"): (
|
||||
primary: "common.abilities.custom.tidalwarrior.totem_wave",
|
||||
secondary: "common.abilities.custom.tidalwarrior.totem_wave",
|
||||
primary: Simple(None, "common.abilities.custom.tidalwarrior.totem_wave"),
|
||||
secondary: Simple(None, "common.abilities.custom.tidalwarrior.totem_wave"),
|
||||
abilities: [],
|
||||
),
|
||||
// Note: Consider making a ranking system once we get more entities
|
||||
// TODO: Make all purple item droppers have purple CR and a unique skillset
|
||||
Custom("Quad Med Quick"): (
|
||||
primary: "common.abilities.custom.quadmedquick.triplestrike",
|
||||
secondary: "common.abilities.custom.quadmedquick.dash",
|
||||
primary: Simple(None, "common.abilities.custom.quadmedquick.triplestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.quadmedquick.dash"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Quad Med Jump"): (
|
||||
primary: "common.abilities.custom.quadmedjump.leap",
|
||||
secondary: "common.abilities.custom.quadmedjump.doublestrike",
|
||||
primary: Simple(None, "common.abilities.custom.quadmedjump.leap"),
|
||||
secondary: Simple(None, "common.abilities.custom.quadmedjump.doublestrike"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.quadmedjump.quickleap"),
|
||||
Simple(None, "common.abilities.custom.quadmedjump.quickleap"),
|
||||
],
|
||||
),
|
||||
Custom("Quad Med Charge"): (
|
||||
primary: "common.abilities.custom.quadmedcharge.doublestrike",
|
||||
secondary: "common.abilities.custom.quadmedcharge.dash",
|
||||
primary: Simple(None, "common.abilities.custom.quadmedcharge.doublestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.quadmedcharge.dash"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Quad Med Hoof"): (
|
||||
primary: "common.abilities.custom.quadmedhoof.basic",
|
||||
secondary: "common.abilities.custom.quadmedhoof.basic",
|
||||
primary: Simple(None, "common.abilities.custom.quadmedhoof.basic"),
|
||||
secondary: Simple(None, "common.abilities.custom.quadmedhoof.basic"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Quad Med Basic"): (
|
||||
primary: "common.abilities.custom.quadmedbasic.singlestrike",
|
||||
secondary: "common.abilities.custom.quadmedbasic.triplestrike",
|
||||
primary: Simple(None, "common.abilities.custom.quadmedbasic.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.quadmedbasic.triplestrike"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Basilisk"): (
|
||||
primary: "common.abilities.custom.basilisk.petrify",
|
||||
secondary: "common.abilities.custom.basilisk.triplestrike",
|
||||
Custom("Roshwalr"): (
|
||||
primary: Simple(None, "common.abilities.custom.roshwalr.doublehusk"),
|
||||
secondary: Simple(None, "common.abilities.custom.roshwalr.slowcharge"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.basilisk.dash"),
|
||||
Simple(None, "common.abilities.custom.roshwalr.freezeshockwave"),
|
||||
],
|
||||
),
|
||||
Custom("Basilisk"): (
|
||||
primary: Simple(None, "common.abilities.custom.basilisk.petrify"),
|
||||
secondary: Simple(None, "common.abilities.custom.basilisk.triplestrike"),
|
||||
abilities: [
|
||||
Simple(None, "common.abilities.custom.basilisk.dash"),
|
||||
],
|
||||
),
|
||||
Custom("Asp"): (
|
||||
primary: "common.abilities.custom.asp.singlestrike",
|
||||
secondary: "common.abilities.custom.asp.firebomb",
|
||||
primary: Simple(None, "common.abilities.custom.asp.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.asp.firebomb"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Maneater"): (
|
||||
primary: "common.abilities.custom.maneater.singlestrike",
|
||||
secondary: "common.abilities.custom.maneater.poisonball",
|
||||
primary: Simple(None, "common.abilities.custom.maneater.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.maneater.poisonball"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Quad Low Breathe"): (
|
||||
primary: "common.abilities.custom.quadlowbreathe.flamethrower",
|
||||
secondary: "common.abilities.custom.quadlowbreathe.triplestrike",
|
||||
primary: Simple(None, "common.abilities.custom.quadlowbreathe.flamethrower"),
|
||||
secondary: Simple(None, "common.abilities.custom.quadlowbreathe.triplestrike"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.quadlowbreathe.dash"),
|
||||
Simple(None, "common.abilities.custom.quadlowbreathe.dash"),
|
||||
],
|
||||
),
|
||||
Custom("Quad Low Tail"): (
|
||||
primary: "common.abilities.custom.quadlowtail.charged",
|
||||
secondary: "common.abilities.custom.quadlowtail.triplestrike",
|
||||
primary: Simple(None, "common.abilities.custom.quadlowtail.charged"),
|
||||
secondary: Simple(None, "common.abilities.custom.quadlowtail.triplestrike"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Quad Low Quick"): (
|
||||
primary: "common.abilities.custom.quadlowquick.dash",
|
||||
secondary: "common.abilities.custom.quadlowquick.quadstrike",
|
||||
primary: Simple(None, "common.abilities.custom.quadlowquick.dash"),
|
||||
secondary: Simple(None, "common.abilities.custom.quadlowquick.quadstrike"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Quad Low Basic"): (
|
||||
primary: "common.abilities.custom.quadlowbasic.triplestrike",
|
||||
secondary: "common.abilities.custom.quadlowbasic.singlestrike",
|
||||
primary: Simple(None, "common.abilities.custom.quadlowbasic.triplestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.quadlowbasic.singlestrike"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Quad Low Beam"): (
|
||||
primary: "common.abilities.custom.quadlowbeam.lifestealbeam",
|
||||
secondary: "common.abilities.custom.quadlowbreathe.triplestrike",
|
||||
primary: Simple(None, "common.abilities.custom.quadlowbeam.lifestealbeam"),
|
||||
secondary: Simple(None, "common.abilities.custom.quadlowbreathe.triplestrike"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.quadlowbreathe.dash"),
|
||||
Simple(None, "common.abilities.custom.quadlowbreathe.dash"),
|
||||
],
|
||||
),
|
||||
Custom("Quad Small Basic"): (
|
||||
primary: "common.abilities.custom.quadsmallbasic.singlestrike",
|
||||
secondary: "common.abilities.custom.quadsmallbasic.singlestrike",
|
||||
primary: Simple(None, "common.abilities.custom.quadsmallbasic.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.quadsmallbasic.singlestrike"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Theropod Basic"): (
|
||||
primary: "common.abilities.custom.theropodbasic.triplestrike",
|
||||
secondary: "common.abilities.custom.theropodbasic.triplestrike",
|
||||
primary: Simple(None, "common.abilities.custom.theropodbasic.triplestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.theropodbasic.triplestrike"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Theropod Small"): (
|
||||
primary: Simple(None, "common.abilities.custom.theropodsmall.triplestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.theropodsmall.triplestrike"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Theropod Bird"): (
|
||||
primary: "common.abilities.custom.theropodbird.triplestrike",
|
||||
secondary: "common.abilities.custom.theropodbird.triplestrike",
|
||||
primary: Simple(None, "common.abilities.custom.theropodbird.triplestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.theropodbird.triplestrike"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Theropod Charge"): (
|
||||
primary: "common.abilities.custom.theropodbasic.triplestrike",
|
||||
secondary: "common.abilities.custom.theropodbasic.dash",
|
||||
primary: Simple(None, "common.abilities.custom.theropodbasic.triplestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.theropodbasic.dash"),
|
||||
abilities: [],
|
||||
),
|
||||
// Arthropods
|
||||
Custom("Antlion"): (
|
||||
primary: "common.abilities.custom.arthropods.antlion.singlestrike",
|
||||
secondary: "common.abilities.custom.arthropods.antlion.charge",
|
||||
primary: Simple(None, "common.abilities.custom.arthropods.antlion.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.arthropods.antlion.charge"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Black Widow"): (
|
||||
primary: "common.abilities.custom.arthropods.blackwidow.singlestrike",
|
||||
secondary: "common.abilities.custom.arthropods.blackwidow.ensnaringwebs",
|
||||
primary: Simple(None, "common.abilities.custom.arthropods.blackwidow.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.arthropods.blackwidow.ensnaringwebs"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.arthropods.blackwidow.poisonball"),
|
||||
Simple(None, "common.abilities.custom.arthropods.blackwidow.poisonball"),
|
||||
],
|
||||
),
|
||||
Custom("Horn Beetle"): (
|
||||
primary: "common.abilities.custom.arthropods.hornbeetle.singlestrike",
|
||||
secondary: "common.abilities.custom.arthropods.hornbeetle.harden",
|
||||
primary: Simple(None, "common.abilities.custom.arthropods.hornbeetle.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.arthropods.hornbeetle.harden"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.arthropods.hornbeetle.leap"),
|
||||
Simple(None, "common.abilities.custom.arthropods.hornbeetle.leap"),
|
||||
],
|
||||
),
|
||||
Custom("Tarantula"): (
|
||||
primary: "common.abilities.custom.arthropods.tarantula.singlestrike",
|
||||
secondary: "common.abilities.custom.arthropods.tarantula.ensnaringwebs",
|
||||
primary: Simple(None, "common.abilities.custom.arthropods.tarantula.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.arthropods.tarantula.ensnaringwebs"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.arthropods.tarantula.leap"),
|
||||
Simple(None, "common.abilities.custom.arthropods.tarantula.leap"),
|
||||
],
|
||||
),
|
||||
Custom("Weevil"): (
|
||||
primary: "common.abilities.custom.arthropods.weevil.singlestrike",
|
||||
secondary: "common.abilities.custom.arthropods.weevil.harden",
|
||||
primary: Simple(None, "common.abilities.custom.arthropods.weevil.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.arthropods.weevil.harden"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.arthropods.weevil.threadshot"),
|
||||
Simple(None, "common.abilities.custom.arthropods.weevil.threadshot"),
|
||||
],
|
||||
),
|
||||
/// TODO: Organize the rest into further catagories and give purple tier droppers+ custom skillsets
|
||||
Custom("Turret"): (
|
||||
primary: "common.abilities.custom.turret.arrows",
|
||||
secondary: "common.abilities.custom.turret.arrows",
|
||||
primary: Simple(None, "common.abilities.custom.turret.arrows"),
|
||||
secondary: Simple(None, "common.abilities.custom.turret.arrows"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Organ"): (
|
||||
primary: Simple(None, "common.abilities.custom.organ.organaura"),
|
||||
secondary: Simple(None, "common.abilities.custom.organ.organaura"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Haniwa Sentry"): (
|
||||
primary: "common.abilities.custom.turret.flamethrower",
|
||||
secondary: "common.abilities.custom.turret.flamethrower",
|
||||
primary: Simple(None, "common.abilities.custom.turret.flamethrower"),
|
||||
secondary: Simple(None, "common.abilities.custom.turret.flamethrower"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Mindflayer"): (
|
||||
primary: "common.abilities.custom.mindflayer.cursedflames",
|
||||
secondary: "common.abilities.custom.mindflayer.necroticvortex",
|
||||
primary: Simple(None, "common.abilities.custom.mindflayer.cursedflames"),
|
||||
secondary: Simple(None, "common.abilities.custom.mindflayer.necroticvortex"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.mindflayer.dimensionaldoor"),
|
||||
(None, "common.abilities.custom.mindflayer.necroticsphere"),
|
||||
(None, "common.abilities.custom.mindflayer.summonminions"),
|
||||
Simple(None, "common.abilities.custom.mindflayer.dimensionaldoor"),
|
||||
Simple(None, "common.abilities.custom.mindflayer.necroticsphere"),
|
||||
Simple(None, "common.abilities.custom.mindflayer.summonminions"),
|
||||
],
|
||||
),
|
||||
Custom("Minotaur"): (
|
||||
primary: "common.abilities.custom.minotaur.cleave",
|
||||
secondary: "common.abilities.custom.minotaur.cripplingstrike",
|
||||
primary: Simple(None, "common.abilities.custom.minotaur.cleave"),
|
||||
secondary: Simple(None, "common.abilities.custom.minotaur.cripplingstrike"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.minotaur.charge"),
|
||||
(None, "common.abilities.custom.minotaur.frenzy"),
|
||||
Simple(None, "common.abilities.custom.minotaur.charge"),
|
||||
Simple(None, "common.abilities.custom.minotaur.frenzy"),
|
||||
],
|
||||
),
|
||||
Custom("Clay Golem"): (
|
||||
primary: "common.abilities.custom.claygolem.strike",
|
||||
secondary: "common.abilities.custom.claygolem.laser",
|
||||
primary: Simple(None, "common.abilities.custom.claygolem.strike"),
|
||||
secondary: Simple(None, "common.abilities.custom.claygolem.laser"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.claygolem.shockwave"),
|
||||
(None, "common.abilities.custom.claygolem.rocket"),
|
||||
Simple(None, "common.abilities.custom.claygolem.shockwave"),
|
||||
Simple(None, "common.abilities.custom.claygolem.rocket"),
|
||||
],
|
||||
),
|
||||
Custom("Yeti"): (
|
||||
primary: "common.abilities.custom.yeti.strike",
|
||||
secondary: "common.abilities.custom.yeti.icespikes",
|
||||
primary: Simple(None, "common.abilities.custom.yeti.strike"),
|
||||
secondary: Simple(None, "common.abilities.custom.yeti.icespikes"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.yeti.frostbreath"),
|
||||
(None, "common.abilities.custom.yeti.snowball"),
|
||||
Simple(None, "common.abilities.custom.yeti.frostbreath"),
|
||||
Simple(None, "common.abilities.custom.yeti.snowball"),
|
||||
],
|
||||
),
|
||||
Custom("Harvester"): (
|
||||
primary: "common.abilities.custom.harvester.scythe",
|
||||
secondary: "common.abilities.custom.harvester.firebreath",
|
||||
primary: Simple(None, "common.abilities.custom.harvester.scythe"),
|
||||
secondary: Simple(None, "common.abilities.custom.harvester.firebreath"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.harvester.ensnaringvines"),
|
||||
(None, "common.abilities.custom.harvester.explodingpumpkin"),
|
||||
Simple(None, "common.abilities.custom.harvester.ensnaringvines"),
|
||||
Simple(None, "common.abilities.custom.harvester.explodingpumpkin"),
|
||||
],
|
||||
),
|
||||
// TODO: Allow ability sets to expand other ability sets
|
||||
Custom("Dagon"): (
|
||||
primary: Simple(None, "common.abilities.custom.dagon.dagonbombs"),
|
||||
secondary: Simple(None, "common.abilities.custom.dagon.seaurchins"),
|
||||
abilities: [
|
||||
Simple(None, "common.abilities.custom.dagon.steamwave"),
|
||||
Simple(None, "common.abilities.custom.cardinal.steambeam"),
|
||||
Simple(None, "common.abilities.custom.dagon.steamheal"),
|
||||
],
|
||||
),
|
||||
Custom("Cardinal"): (
|
||||
primary: Simple(None, "common.abilities.sceptre.lifestealbeam"),
|
||||
secondary: Simple(None, "common.abilities.sceptre.healingaura"),
|
||||
abilities: [
|
||||
Simple(None, "common.abilities.custom.cardinal.steambeam"),
|
||||
Simple(None, "common.abilities.custom.cardinal.summonseacrocs"),
|
||||
],
|
||||
),
|
||||
Custom("Oni"): (
|
||||
primary: "common.abilities.custom.oni.dash",
|
||||
secondary: "common.abilities.custom.oni.doublestrike",
|
||||
primary: Simple(None, "common.abilities.custom.oni.dash"),
|
||||
secondary: Simple(None, "common.abilities.custom.oni.doublestrike"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Bird Large Breathe"): (
|
||||
primary: "common.abilities.custom.birdlargebreathe.firebomb",
|
||||
secondary: "common.abilities.custom.birdlargebreathe.triplestrike",
|
||||
primary: Simple(None, "common.abilities.custom.birdlargebreathe.firebomb"),
|
||||
secondary: Simple(None, "common.abilities.custom.birdlargebreathe.triplestrike"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.birdlargebreathe.flamethrower"),
|
||||
Simple(None, "common.abilities.custom.birdlargebreathe.flamethrower"),
|
||||
],
|
||||
),
|
||||
Custom("Bird Large Fire"): (
|
||||
primary: "common.abilities.custom.birdlargefire.firebomb",
|
||||
secondary: "common.abilities.custom.birdlargefire.triplestrike",
|
||||
primary: Simple(None, "common.abilities.custom.birdlargefire.firebomb"),
|
||||
secondary: Simple(None, "common.abilities.custom.birdlargefire.triplestrike"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.birdlargefire.fireshockwave"),
|
||||
Simple(None, "common.abilities.custom.birdlargefire.fireshockwave"),
|
||||
],
|
||||
),
|
||||
Custom("Flame Wyvern"): (
|
||||
primary: Simple(None, "common.abilities.custom.flamewyvern.firebomb"),
|
||||
secondary: Simple(None, "common.abilities.custom.flamewyvern.fireshockwave"),
|
||||
abilities: [
|
||||
Simple(None, "common.abilities.custom.flamewyvern.triplestrike"),
|
||||
Simple(None, "common.abilities.custom.flamewyvern.flamethrower"),
|
||||
],
|
||||
),
|
||||
Custom("Frost Wyvern"): (
|
||||
primary: Simple(None, "common.abilities.custom.frostwyvern.frostbomb"),
|
||||
secondary: Simple(None, "common.abilities.custom.frostwyvern.iceshockwave"),
|
||||
abilities: [
|
||||
Simple(None, "common.abilities.custom.frostwyvern.triplestrike"),
|
||||
Simple(None, "common.abilities.custom.frostwyvern.frostthrower"),
|
||||
],
|
||||
),
|
||||
Custom("Cloud Wyvern"): (
|
||||
primary: Simple(None, "common.abilities.custom.cloudwyvern.windbomb"),
|
||||
secondary: Simple(None, "common.abilities.custom.cloudwyvern.windshockwave"),
|
||||
abilities: [
|
||||
Simple(None, "common.abilities.custom.cloudwyvern.triplestrike"),
|
||||
Simple(None, "common.abilities.custom.cloudwyvern.windthrower"),
|
||||
],
|
||||
),
|
||||
Custom("Sea Wyvern"): (
|
||||
primary: Simple(None, "common.abilities.custom.seawyvern.seabomb"),
|
||||
secondary: Simple(None, "common.abilities.custom.seawyvern.seashockwave"),
|
||||
abilities: [
|
||||
Simple(None, "common.abilities.custom.seawyvern.triplestrike"),
|
||||
Simple(None, "common.abilities.custom.seawyvern.bubblethrower"),
|
||||
],
|
||||
),
|
||||
Custom("Weald Wyvern"): (
|
||||
primary: Simple(None, "common.abilities.custom.wealdwyvern.firebomb"),
|
||||
secondary: Simple(None, "common.abilities.custom.wealdwyvern.fireshockwave"),
|
||||
abilities: [
|
||||
Simple(None, "common.abilities.custom.wealdwyvern.triplestrike"),
|
||||
Simple(None, "common.abilities.custom.wealdwyvern.flamethrower"),
|
||||
],
|
||||
),
|
||||
Custom("Bird Large Basic"): (
|
||||
primary: "common.abilities.custom.birdlargebasic.triplestrike",
|
||||
secondary: "common.abilities.custom.birdlargebasic.summontornadoes",
|
||||
primary: Simple(None, "common.abilities.custom.birdlargebasic.triplestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.birdlargebasic.summontornadoes"),
|
||||
abilities: [
|
||||
(None, "common.abilities.custom.birdlargebasic.dash"),
|
||||
Simple(None, "common.abilities.custom.birdlargebasic.dash"),
|
||||
],
|
||||
),
|
||||
Custom("Bird Medium Basic"): (
|
||||
primary: Simple(None, "common.abilities.custom.birdmediumbasic.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.birdmediumbasic.singlestrike"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Frost Gigas"): (
|
||||
primary: Simple(None, "common.abilities.custom.gigas_frost.cleave"),
|
||||
secondary: Simple(None, "common.abilities.custom.gigas_frost.wide_cleave"),
|
||||
abilities: [
|
||||
Simple(None, "common.abilities.custom.gigas_frost.icespike_smash"),
|
||||
Simple(None, "common.abilities.custom.gigas_frost.leapshockwave"),
|
||||
Simple(None, "common.abilities.custom.gigas_frost.ice_volley"),
|
||||
Simple(None, "common.abilities.custom.gigas_frost.frost_summons"),
|
||||
Simple(None, "common.abilities.custom.gigas_frost.flashfreeze"),
|
||||
],
|
||||
),
|
||||
Custom("Boreal Bow"): (
|
||||
primary: Simple(None, "common.abilities.custom.boreal_warrior.bow.charged"),
|
||||
secondary: Simple(None, "common.abilities.custom.boreal_warrior.bow.repeater"),
|
||||
abilities: [
|
||||
Simple(None, "common.abilities.custom.boreal_warrior.bow.shotgun")
|
||||
],
|
||||
),
|
||||
Custom("Boreal Hammer"): (
|
||||
primary: Simple(None, "common.abilities.custom.boreal_warrior.hammer.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.custom.boreal_warrior.hammer.dash"),
|
||||
abilities: [
|
||||
Simple(None, "common.abilities.custom.boreal_warrior.hammer.leap")
|
||||
],
|
||||
),
|
||||
Custom("Tornado"): (
|
||||
primary: "common.abilities.custom.tornado.spin",
|
||||
secondary: "common.abilities.empty.basic",
|
||||
primary: Simple(None, "common.abilities.custom.tornado.spin"),
|
||||
secondary: Simple(None, "common.abilities.empty.basic"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Golf Club"): (
|
||||
primary: "common.abilities.hammer.singlestrike",
|
||||
secondary: "common.abilities.tool.golf_club.charged",
|
||||
primary: Simple(None, "common.abilities.hammer.singlestrike"),
|
||||
secondary: Simple(None, "common.abilities.tool.golf_club.charged"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("DoubleBass"): (
|
||||
primary: Simple(None, "common.abilities.music.double_bass"),
|
||||
secondary: Simple(None, "common.abilities.music.double_bass"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Flute"): (
|
||||
primary: Simple(None, "common.abilities.music.flute"),
|
||||
secondary: Simple(None, "common.abilities.music.flute"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("GlassFlute"): (
|
||||
primary: Simple(None, "common.abilities.music.glass_flute"),
|
||||
secondary: Simple(None, "common.abilities.music.glass_flute"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Lyre"): (
|
||||
primary: Simple(None, "common.abilities.music.lyre"),
|
||||
secondary: Simple(None, "common.abilities.music.lyre"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("IcyTalharpa"): (
|
||||
primary: Simple(None, "common.abilities.music.icy_talharpa"),
|
||||
secondary: Simple(None, "common.abilities.music.icy_talharpa"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Washboard"): (
|
||||
primary: Simple(None, "common.abilities.music.washboard"),
|
||||
secondary: Simple(None, "common.abilities.music.washboard"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Kalimba"): (
|
||||
primary: Simple(None, "common.abilities.music.kalimba"),
|
||||
secondary: Simple(None, "common.abilities.music.kalimba"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Melodica"): (
|
||||
primary: Simple(None, "common.abilities.music.melodica"),
|
||||
secondary: Simple(None, "common.abilities.music.melodica"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Lute"): (
|
||||
primary: Simple(None, "common.abilities.music.lute"),
|
||||
secondary: Simple(None, "common.abilities.music.lute"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Guitar"): (
|
||||
primary: Simple(None, "common.abilities.music.guitar"),
|
||||
secondary: Simple(None, "common.abilities.music.guitar"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("DarkGuitar"): (
|
||||
primary: Simple(None, "common.abilities.music.dark_guitar"),
|
||||
secondary: Simple(None, "common.abilities.music.dark_guitar"),
|
||||
abilities: [],
|
||||
),
|
||||
Custom("Sitar"): (
|
||||
primary: Simple(None, "common.abilities.music.sitar"),
|
||||
secondary: Simple(None, "common.abilities.music.sitar"),
|
||||
abilities: [],
|
||||
),
|
||||
Tool(Debug): (
|
||||
primary: "common.abilities.debug.forwardboost",
|
||||
secondary: "common.abilities.debug.upboost",
|
||||
primary: Simple(None, "common.abilities.debug.forwardboost"),
|
||||
secondary: Simple(None, "common.abilities.debug.upboost"),
|
||||
abilities: [
|
||||
(None, "common.abilities.debug.possess"),
|
||||
Simple(None, "common.abilities.debug.possess"),
|
||||
],
|
||||
),
|
||||
Tool(Farming): (
|
||||
primary: "common.abilities.farming.basic",
|
||||
secondary: "common.abilities.farming.basic",
|
||||
primary: Simple(None, "common.abilities.farming.basic"),
|
||||
secondary: Simple(None, "common.abilities.farming.basic"),
|
||||
abilities: [],
|
||||
),
|
||||
Tool(Pick): (
|
||||
primary: "common.abilities.pick.swing",
|
||||
secondary: "common.abilities.pick.swing",
|
||||
primary: Simple(None, "common.abilities.pick.swing"),
|
||||
secondary: Simple(None, "common.abilities.pick.swing"),
|
||||
abilities: [],
|
||||
),
|
||||
Tool(Empty): (
|
||||
primary: "common.abilities.empty.basic",
|
||||
secondary: "common.abilities.empty.basic",
|
||||
primary: Simple(None, "common.abilities.empty.basic"),
|
||||
secondary: Simple(None, "common.abilities.empty.basic"),
|
||||
abilities: [],
|
||||
),
|
||||
})
|
||||
|
@ -2,8 +2,8 @@ ComboMelee(
|
||||
stage_data: [
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 11.0,
|
||||
damage_increase: 1.0,
|
||||
base_damage: 12.0,
|
||||
damage_increase: 0.5,
|
||||
base_poise_damage: 0,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
@ -24,8 +24,8 @@ ComboMelee(
|
||||
),
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 13.0,
|
||||
damage_increase: 1.5,
|
||||
base_damage: 15.0,
|
||||
damage_increase: 0.75,
|
||||
base_poise_damage: 0,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 6.0,
|
||||
@ -46,11 +46,10 @@ ComboMelee(
|
||||
),
|
||||
],
|
||||
initial_energy_gain: 2.5,
|
||||
max_energy_gain: 17.5,
|
||||
energy_increase: 3.0,
|
||||
max_energy_gain: 12.5,
|
||||
energy_increase: 2.5,
|
||||
speed_increase: 0.1,
|
||||
max_speed_increase: 0.6,
|
||||
scales_from_combo: 2,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 1.0,
|
||||
)
|
@ -1,18 +1,19 @@
|
||||
LeapMelee(
|
||||
energy_cost: 45.0,
|
||||
buildup_duration: 0.2,
|
||||
movement_duration: 0.2,
|
||||
energy_cost: 30.0,
|
||||
buildup_duration: 0.3,
|
||||
movement_duration: 0.25,
|
||||
swing_duration: 0.2,
|
||||
recover_duration: 0.2,
|
||||
melee_constructor: (
|
||||
kind: Slash(
|
||||
damage: 30.0,
|
||||
damage: 25.0,
|
||||
poise: 0.0,
|
||||
knockback: 12.0,
|
||||
energy_regen: 0.0,
|
||||
),
|
||||
range: 4.5,
|
||||
angle: 30.0,
|
||||
multi_target: Some(Normal),
|
||||
),
|
||||
forward_leap_strength: 20.0,
|
||||
vertical_leap_strength: 8.0,
|
||||
|
@ -1,6 +1,6 @@
|
||||
SpinMelee(
|
||||
buildup_duration: 0.2,
|
||||
swing_duration: 0.6,
|
||||
swing_duration: 0.4,
|
||||
recover_duration: 0.2,
|
||||
melee_constructor: (
|
||||
kind: Slash(
|
||||
@ -11,11 +11,11 @@ SpinMelee(
|
||||
),
|
||||
range: 3.5,
|
||||
angle: 360.0,
|
||||
multi_target: Some(Normal),
|
||||
),
|
||||
energy_cost: 10.0,
|
||||
is_infinite: true,
|
||||
movement_behavior: AxeHover,
|
||||
is_interruptible: false,
|
||||
forward_speed: 0.0,
|
||||
num_spins: 1,
|
||||
specifier: None,
|
||||
|
@ -51,6 +51,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.7,
|
||||
)
|
@ -1,18 +1,18 @@
|
||||
ChargedRanged(
|
||||
energy_cost: 0,
|
||||
energy_drain: 0,
|
||||
initial_regen: 0.5,
|
||||
scaled_regen: 12.0,
|
||||
initial_damage: 0.5,
|
||||
scaled_damage: 12.0,
|
||||
initial_knockback: 0.0,
|
||||
scaled_knockback: 10.0,
|
||||
buildup_duration: 0.2,
|
||||
initial_regen: 2,
|
||||
scaled_regen: 14,
|
||||
initial_damage: 2,
|
||||
scaled_damage: 12,
|
||||
initial_knockback: 0,
|
||||
scaled_knockback: 12,
|
||||
buildup_duration: 0.25,
|
||||
charge_duration: 1.0,
|
||||
recover_duration: 0.3,
|
||||
recover_duration: 0.4,
|
||||
projectile_body: Object(Arrow),
|
||||
projectile_light: None,
|
||||
initial_projectile_speed: 100.0,
|
||||
scaled_projectile_speed: 150.0,
|
||||
initial_projectile_speed: 50.0,
|
||||
scaled_projectile_speed: 200.0,
|
||||
move_speed: 0.6,
|
||||
)
|
||||
|
@ -1,13 +1,13 @@
|
||||
RepeaterRanged(
|
||||
energy_cost: 5.0,
|
||||
energy_cost: 6.0,
|
||||
buildup_duration: 0.2,
|
||||
shoot_duration: 0.5,
|
||||
recover_duration: 0.8,
|
||||
max_speed: 2.0,
|
||||
half_speed_at: 1,
|
||||
shoot_duration: 0.3,
|
||||
recover_duration: 0.5,
|
||||
max_speed: 4.0,
|
||||
half_speed_at: 3,
|
||||
projectile: Arrow(
|
||||
damage: 3.0,
|
||||
knockback: 2.0,
|
||||
damage: 5.0,
|
||||
knockback: 0,
|
||||
energy_regen: 0,
|
||||
),
|
||||
projectile_body: Object(Arrow),
|
||||
|
@ -1,15 +1,15 @@
|
||||
BasicRanged(
|
||||
energy_cost: 30.0,
|
||||
buildup_duration: 0.4,
|
||||
energy_cost: 25.0,
|
||||
buildup_duration: 0.3,
|
||||
recover_duration: 0.3,
|
||||
projectile_spread: 0.05,
|
||||
projectile: Arrow(
|
||||
damage: 4.0,
|
||||
knockback: 5.0,
|
||||
damage: 6,
|
||||
knockback: 5,
|
||||
energy_regen: 0,
|
||||
),
|
||||
projectile_body: Object(Arrow),
|
||||
projectile_light: None,
|
||||
projectile_speed: 60.0,
|
||||
num_projectiles: 4,
|
||||
projectile_speed: 80.0,
|
||||
num_projectiles: 5,
|
||||
)
|
||||
|
@ -24,5 +24,4 @@ DashMelee(
|
||||
recover_duration: 0.8,
|
||||
ori_modifier: 0.1,
|
||||
charge_through: false,
|
||||
is_interruptible: false,
|
||||
)
|
||||
)
|
||||
|
@ -29,6 +29,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.8,
|
||||
)
|
@ -3,6 +3,8 @@ SpriteSummon(
|
||||
cast_duration: 0.4,
|
||||
recover_duration: 0.3,
|
||||
sprite: EnsnaringWeb,
|
||||
del_timeout: None,
|
||||
summon_distance: (0, 10),
|
||||
sparseness: 0.76,
|
||||
angle: 360,
|
||||
)
|
@ -29,6 +29,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.8,
|
||||
)
|
||||
)
|
||||
|
@ -13,6 +13,7 @@ LeapMelee(
|
||||
),
|
||||
range: 4.5,
|
||||
angle: 180.0,
|
||||
multi_target: Some(Normal),
|
||||
),
|
||||
forward_leap_strength: 40.0,
|
||||
vertical_leap_strength: 7.5,
|
||||
|
@ -23,6 +23,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.5,
|
||||
)
|
@ -3,6 +3,8 @@ SpriteSummon(
|
||||
cast_duration: 0.4,
|
||||
recover_duration: 0.3,
|
||||
sprite: EnsnaringWeb,
|
||||
del_timeout: None,
|
||||
summon_distance: (0, 9),
|
||||
sparseness: 0.8,
|
||||
angle: 360,
|
||||
)
|
@ -29,6 +29,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.8,
|
||||
)
|
||||
)
|
||||
|
@ -23,6 +23,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.6,
|
||||
)
|
||||
)
|
||||
|
@ -23,6 +23,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.65,
|
||||
)
|
||||
|
@ -24,5 +24,4 @@ DashMelee(
|
||||
recover_duration: 2.0,
|
||||
ori_modifier: 0.3,
|
||||
charge_through: false,
|
||||
is_interruptible: false,
|
||||
)
|
||||
|
@ -55,6 +55,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.65,
|
||||
)
|
||||
|
@ -24,5 +24,4 @@ DashMelee(
|
||||
recover_duration: 1.4,
|
||||
ori_modifier: 0.3,
|
||||
charge_through: false,
|
||||
is_interruptible: false,
|
||||
)
|
||||
|
@ -55,6 +55,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.7,
|
||||
)
|
||||
|
@ -13,7 +13,6 @@ BasicRanged(
|
||||
col: (1.0, 0.75, 0.11).into(),
|
||||
..Default::default()
|
||||
}),*/
|
||||
projectile_gravity: Some(Gravity(0.15)),
|
||||
projectile_speed: 60.0,
|
||||
num_projectiles: 1,
|
||||
projectile_spread: 0.0,
|
||||
|
@ -73,6 +73,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.7,
|
||||
)
|
||||
|
@ -13,7 +13,6 @@ BasicRanged(
|
||||
col: (1.0, 0.75, 0.11).into(),
|
||||
..Default::default()
|
||||
}),*/
|
||||
projectile_gravity: Some(Gravity(0.15)),
|
||||
projectile_speed: 60.0,
|
||||
num_projectiles: 1,
|
||||
projectile_spread: 0.0,
|
||||
|
@ -14,4 +14,5 @@ Shockwave(
|
||||
move_efficiency: 0.1,
|
||||
damage_kind: Energy,
|
||||
specifier: Fire,
|
||||
ori_rate: 1.0,
|
||||
)
|
||||
|
@ -73,6 +73,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.7,
|
||||
)
|
||||
|
@ -0,0 +1,27 @@
|
||||
ComboMelee(
|
||||
stage_data: [
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 1.0,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 0,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 0.0,
|
||||
range: 2.5,
|
||||
angle: 150.0,
|
||||
base_buildup_duration: 0.1,
|
||||
base_swing_duration: 0.07,
|
||||
hit_timing: 0.5,
|
||||
base_recover_duration: 0.2,
|
||||
forward_movement: 0.0,
|
||||
damage_kind: Piercing,
|
||||
),
|
||||
],
|
||||
initial_energy_gain: 0,
|
||||
max_energy_gain: 0,
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
ori_modifier: 0.6,
|
||||
)
|
@ -0,0 +1,24 @@
|
||||
ChargedRanged(
|
||||
energy_cost: 0,
|
||||
energy_drain: 0,
|
||||
initial_regen: 2,
|
||||
scaled_regen: 14,
|
||||
initial_damage: 2,
|
||||
scaled_damage: 12,
|
||||
initial_knockback: 0,
|
||||
scaled_knockback: 12,
|
||||
buildup_duration: 0.25,
|
||||
charge_duration: 1.0,
|
||||
recover_duration: 0.4,
|
||||
projectile_body: Object(Arrow),
|
||||
projectile_light: None,
|
||||
initial_projectile_speed: 50.0,
|
||||
scaled_projectile_speed: 200.0,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Frozen,
|
||||
dur_secs: 2.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 1.0,
|
||||
))),
|
||||
move_speed: 0.6,
|
||||
)
|
@ -0,0 +1,22 @@
|
||||
RepeaterRanged(
|
||||
energy_cost: 6.0,
|
||||
buildup_duration: 0.2,
|
||||
shoot_duration: 0.3,
|
||||
recover_duration: 0.5,
|
||||
max_speed: 4.0,
|
||||
half_speed_at: 3,
|
||||
projectile: Arrow(
|
||||
damage: 5.0,
|
||||
knockback: 0,
|
||||
energy_regen: 0,
|
||||
),
|
||||
projectile_body: Object(Arrow),
|
||||
projectile_light: None,
|
||||
projectile_speed: 100.0,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Frozen,
|
||||
dur_secs: 2.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 1.0,
|
||||
))),
|
||||
)
|
@ -0,0 +1,21 @@
|
||||
BasicRanged(
|
||||
energy_cost: 25.0,
|
||||
buildup_duration: 0.3,
|
||||
recover_duration: 0.3,
|
||||
projectile_spread: 0.05,
|
||||
projectile: Arrow(
|
||||
damage: 6,
|
||||
knockback: 5,
|
||||
energy_regen: 0,
|
||||
),
|
||||
projectile_body: Object(Arrow),
|
||||
projectile_light: None,
|
||||
projectile_speed: 80.0,
|
||||
num_projectiles: 5,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Frozen,
|
||||
dur_secs: 2.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 1.0,
|
||||
))),
|
||||
)
|
@ -0,0 +1,33 @@
|
||||
DashMelee(
|
||||
energy_cost: 3.0,
|
||||
melee_constructor: (
|
||||
kind: Bash(
|
||||
damage: 9.0,
|
||||
poise: 40.0,
|
||||
knockback: 16.0,
|
||||
energy_regen: 0.0,
|
||||
),
|
||||
scaled: Some(Bash(
|
||||
damage: 10.0,
|
||||
poise: 0.0,
|
||||
knockback: 20.0,
|
||||
energy_regen: 0.0,
|
||||
)),
|
||||
range: 5.0,
|
||||
angle: 45.0,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Frozen,
|
||||
dur_secs: 2.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 1.0,
|
||||
))),
|
||||
),
|
||||
energy_drain: 0,
|
||||
forward_speed: 12.0,
|
||||
buildup_duration: 0.6,
|
||||
charge_duration: 0.2,
|
||||
swing_duration: 0.1,
|
||||
recover_duration: 0.9,
|
||||
ori_modifier: 0.3,
|
||||
charge_through: false,
|
||||
)
|
@ -0,0 +1,26 @@
|
||||
LeapMelee(
|
||||
energy_cost: 35.0,
|
||||
buildup_duration: 0.1,
|
||||
movement_duration: 0.6,
|
||||
swing_duration: 0.15,
|
||||
recover_duration: 0.2,
|
||||
melee_constructor: (
|
||||
kind: Bash(
|
||||
damage: 25.0,
|
||||
poise: 40.0,
|
||||
knockback: 25.0,
|
||||
energy_regen: 0.0,
|
||||
),
|
||||
range: 4.5,
|
||||
angle: 360.0,
|
||||
multi_target: Some(Normal),
|
||||
damage_effect: Some(Buff((
|
||||
kind: Frozen,
|
||||
dur_secs: 2.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 1.0,
|
||||
))),
|
||||
),
|
||||
forward_leap_strength: 20.0,
|
||||
vertical_leap_strength: 8.0,
|
||||
)
|
@ -0,0 +1,31 @@
|
||||
ComboMelee(
|
||||
stage_data: [(
|
||||
stage: 1,
|
||||
base_damage: 15.0,
|
||||
damage_increase: 0.75,
|
||||
base_poise_damage: 0,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 3.5,
|
||||
range: 4.5,
|
||||
angle: 50.0,
|
||||
base_buildup_duration: 0.7,
|
||||
base_swing_duration: 0.1,
|
||||
hit_timing: 0.5,
|
||||
base_recover_duration: 0.45,
|
||||
forward_movement: 0.0,
|
||||
damage_kind: Crushing,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Frozen,
|
||||
dur_secs: 2.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 1.0,
|
||||
))),
|
||||
)],
|
||||
initial_energy_gain: 5.0,
|
||||
max_energy_gain: 12.5,
|
||||
energy_increase: 2.5,
|
||||
speed_increase: 0.1,
|
||||
max_speed_increase: 0.4,
|
||||
scales_from_combo: 2,
|
||||
ori_modifier: 1.0,
|
||||
)
|
19
assets/common/abilities/custom/cardinal/steambeam.ron
Normal file
19
assets/common/abilities/custom/cardinal/steambeam.ron
Normal file
@ -0,0 +1,19 @@
|
||||
BasicBeam(
|
||||
buildup_duration: 0.3,
|
||||
recover_duration: 1.0,
|
||||
beam_duration: 1.0,
|
||||
damage: 22.5,
|
||||
tick_rate: 5.0,
|
||||
range: 8.0,
|
||||
max_angle: 15.0,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Burning,
|
||||
dur_secs: 3.0,
|
||||
strength: Value(0.5),
|
||||
chance: 1.0,
|
||||
))),
|
||||
energy_regen: 2,
|
||||
energy_drain: 0,
|
||||
ori_rate: 0.5,
|
||||
specifier: Steam,
|
||||
)
|
18
assets/common/abilities/custom/cardinal/summonseacrocs.ron
Normal file
18
assets/common/abilities/custom/cardinal/summonseacrocs.ron
Normal file
@ -0,0 +1,18 @@
|
||||
BasicSummon(
|
||||
buildup_duration: 0.2,
|
||||
cast_duration: 0.3,
|
||||
recover_duration: 0.3,
|
||||
summon_amount: 4,
|
||||
summon_distance: (4, 4),
|
||||
summon_info: (
|
||||
body: QuadrupedLow((
|
||||
species: SeaCrocodile,
|
||||
body_type: Male,
|
||||
)),
|
||||
scale: None,
|
||||
has_health: true,
|
||||
loadout_config: None,
|
||||
skillset_config: Some(Rank5),
|
||||
),
|
||||
duration: None,
|
||||
)
|
@ -14,4 +14,5 @@ Shockwave(
|
||||
move_efficiency: 0.0,
|
||||
damage_kind: Crushing,
|
||||
specifier: Ground,
|
||||
ori_rate: 1.0,
|
||||
)
|
||||
|
@ -12,6 +12,7 @@ BasicMelee(
|
||||
),
|
||||
range: 4.0,
|
||||
angle: 45.0,
|
||||
multi_target: Some(Normal),
|
||||
),
|
||||
ori_modifier: 1.0,
|
||||
)
|
||||
|
77
assets/common/abilities/custom/cloudwyvern/triplestrike.ron
Normal file
77
assets/common/abilities/custom/cloudwyvern/triplestrike.ron
Normal file
@ -0,0 +1,77 @@
|
||||
ComboMelee(
|
||||
stage_data: [
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 20.0,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 0,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
range: 4.5,
|
||||
angle: 30.0,
|
||||
base_buildup_duration: 0.8,
|
||||
base_swing_duration: 0.1,
|
||||
hit_timing: 0.5,
|
||||
base_recover_duration: 0.6,
|
||||
forward_movement: 2.0,
|
||||
damage_kind: Slashing,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Bleeding,
|
||||
dur_secs: 10.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 0.1,
|
||||
))),
|
||||
),
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 16.0,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 0,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
range: 3.5,
|
||||
angle: 30.0,
|
||||
base_buildup_duration: 0.8,
|
||||
base_swing_duration: 0.1,
|
||||
hit_timing: 0.5,
|
||||
base_recover_duration: 0.6,
|
||||
forward_movement: 1.5,
|
||||
damage_kind: Slashing,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Bleeding,
|
||||
dur_secs: 10.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 0.1,
|
||||
))),
|
||||
),
|
||||
(
|
||||
stage: 3,
|
||||
base_damage: 26.0,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 0,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
angle: 30.0,
|
||||
base_buildup_duration: 0.375,
|
||||
base_swing_duration: 0.1,
|
||||
hit_timing: 0.5,
|
||||
base_recover_duration: 0.6,
|
||||
forward_movement: 1.5,
|
||||
damage_kind: Slashing,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Bleeding,
|
||||
dur_secs: 10.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 0.1,
|
||||
))),
|
||||
),
|
||||
],
|
||||
initial_energy_gain: 0,
|
||||
max_energy_gain: 0,
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
ori_modifier: 0.7,
|
||||
)
|
19
assets/common/abilities/custom/cloudwyvern/windbomb.ron
Normal file
19
assets/common/abilities/custom/cloudwyvern/windbomb.ron
Normal file
@ -0,0 +1,19 @@
|
||||
BasicRanged(
|
||||
energy_cost: 0,
|
||||
buildup_duration: 1.0,
|
||||
recover_duration: 0.7,
|
||||
projectile: WindBomb(
|
||||
damage: 20.0,
|
||||
radius: 5.0,
|
||||
energy_regen: 5.0,
|
||||
min_falloff: 0.5,
|
||||
),
|
||||
projectile_body: Object(BoltFire),
|
||||
/*projectile_light: Some(LightEmitter {
|
||||
col: (1.0, 0.75, 0.11).into(),
|
||||
..Default::default()
|
||||
}),*/
|
||||
projectile_speed: 60.0,
|
||||
num_projectiles: 1,
|
||||
projectile_spread: 0.0,
|
||||
)
|
18
assets/common/abilities/custom/cloudwyvern/windshockwave.ron
Normal file
18
assets/common/abilities/custom/cloudwyvern/windshockwave.ron
Normal file
@ -0,0 +1,18 @@
|
||||
Shockwave(
|
||||
energy_cost: 60.0,
|
||||
buildup_duration: 1.4,
|
||||
swing_duration: 0.1,
|
||||
recover_duration: 0.4,
|
||||
damage: 40.0,
|
||||
poise_damage: 0,
|
||||
knockback: ( strength: 25.0, direction: Away),
|
||||
shockwave_angle: 360.0,
|
||||
shockwave_vertical_angle: 90.0,
|
||||
shockwave_speed: 20.0,
|
||||
shockwave_duration: 0.5,
|
||||
requires_ground: false,
|
||||
move_efficiency: 0.1,
|
||||
damage_kind: Energy,
|
||||
specifier: Water,
|
||||
ori_rate: 1.0,
|
||||
)
|
19
assets/common/abilities/custom/cloudwyvern/windthrower.ron
Normal file
19
assets/common/abilities/custom/cloudwyvern/windthrower.ron
Normal file
@ -0,0 +1,19 @@
|
||||
BasicBeam(
|
||||
buildup_duration: 0.8,
|
||||
recover_duration: 0.5,
|
||||
beam_duration: 0.5,
|
||||
damage: 10.0,
|
||||
tick_rate: 3.0,
|
||||
range: 15.0,
|
||||
max_angle: 22.5,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Burning,
|
||||
dur_secs: 10.0,
|
||||
strength: DamageFraction(0.5),
|
||||
chance: 0.25,
|
||||
))),
|
||||
energy_regen: 0,
|
||||
energy_drain: 0,
|
||||
ori_rate: 0.3,
|
||||
specifier: Bubbles,
|
||||
)
|
16
assets/common/abilities/custom/dagon/dagonbombs.ron
Normal file
16
assets/common/abilities/custom/dagon/dagonbombs.ron
Normal file
@ -0,0 +1,16 @@
|
||||
BasicRanged(
|
||||
energy_cost: 0,
|
||||
buildup_duration: 0.5,
|
||||
recover_duration: 1.5,
|
||||
projectile: DagonBomb(
|
||||
damage: 32.0,
|
||||
knockback: 15.0,
|
||||
radius: 5.0,
|
||||
min_falloff: 0.1,
|
||||
),
|
||||
projectile_body: Object(DagonBomb),
|
||||
projectile_light: None,
|
||||
projectile_speed: 20.0,
|
||||
num_projectiles: 1,
|
||||
projectile_spread: 0.0,
|
||||
)
|
10
assets/common/abilities/custom/dagon/seaurchins.ron
Normal file
10
assets/common/abilities/custom/dagon/seaurchins.ron
Normal file
@ -0,0 +1,10 @@
|
||||
SpriteSummon(
|
||||
buildup_duration: 0.1,
|
||||
cast_duration: 0.1,
|
||||
recover_duration: 0.9,
|
||||
sprite: SeaUrchin,
|
||||
del_timeout: Some((4, 5)),
|
||||
summon_distance: (5, 3.1),
|
||||
sparseness: 0.2,
|
||||
angle: 360,
|
||||
)
|
19
assets/common/abilities/custom/dagon/steamheal.ron
Normal file
19
assets/common/abilities/custom/dagon/steamheal.ron
Normal file
@ -0,0 +1,19 @@
|
||||
BasicAura(
|
||||
buildup_duration: 0.2,
|
||||
cast_duration: 0.4,
|
||||
recover_duration: 5.0,
|
||||
targets: InGroup,
|
||||
auras: [
|
||||
(
|
||||
kind: Regeneration,
|
||||
strength: 10.0,
|
||||
duration: Some(5),
|
||||
category: Magical,
|
||||
),
|
||||
],
|
||||
aura_duration: 2.0,
|
||||
range: 10.0,
|
||||
energy_cost: 0.0,
|
||||
scales_with_combo: false,
|
||||
specifier: Some(HealingAura),
|
||||
)
|
18
assets/common/abilities/custom/dagon/steamwave.ron
Normal file
18
assets/common/abilities/custom/dagon/steamwave.ron
Normal file
@ -0,0 +1,18 @@
|
||||
Shockwave(
|
||||
energy_cost: 0,
|
||||
buildup_duration: 0.3,
|
||||
swing_duration: 0.3,
|
||||
recover_duration: 0.5,
|
||||
damage: 20.0,
|
||||
poise_damage: 10,
|
||||
knockback: (strength: 18.0, direction: Away),
|
||||
shockwave_angle: 360.0,
|
||||
shockwave_vertical_angle: 90.0,
|
||||
shockwave_speed: 15.0,
|
||||
shockwave_duration: 2.0,
|
||||
requires_ground: true,
|
||||
move_efficiency: 0.0,
|
||||
damage_kind: Crushing,
|
||||
specifier: Steam,
|
||||
ori_rate: 1.0,
|
||||
)
|
@ -24,5 +24,4 @@ DashMelee(
|
||||
recover_duration: 2.0,
|
||||
ori_modifier: 0.1,
|
||||
charge_through: true,
|
||||
is_interruptible: false,
|
||||
)
|
||||
|
19
assets/common/abilities/custom/flamewyvern/firebomb.ron
Normal file
19
assets/common/abilities/custom/flamewyvern/firebomb.ron
Normal file
@ -0,0 +1,19 @@
|
||||
BasicRanged(
|
||||
energy_cost: 0,
|
||||
buildup_duration: 1.0,
|
||||
recover_duration: 0.7,
|
||||
projectile: Fireball(
|
||||
damage: 20.0,
|
||||
radius: 5.0,
|
||||
energy_regen: 5.0,
|
||||
min_falloff: 0.5,
|
||||
),
|
||||
projectile_body: Object(BoltFire),
|
||||
/*projectile_light: Some(LightEmitter {
|
||||
col: (1.0, 0.75, 0.11).into(),
|
||||
..Default::default()
|
||||
}),*/
|
||||
projectile_speed: 60.0,
|
||||
num_projectiles: 1,
|
||||
projectile_spread: 0.0,
|
||||
)
|
18
assets/common/abilities/custom/flamewyvern/fireshockwave.ron
Normal file
18
assets/common/abilities/custom/flamewyvern/fireshockwave.ron
Normal file
@ -0,0 +1,18 @@
|
||||
Shockwave(
|
||||
energy_cost: 60.0,
|
||||
buildup_duration: 1.4,
|
||||
swing_duration: 0.1,
|
||||
recover_duration: 0.4,
|
||||
damage: 40.0,
|
||||
poise_damage: 0,
|
||||
knockback: ( strength: 25.0, direction: Away),
|
||||
shockwave_angle: 360.0,
|
||||
shockwave_vertical_angle: 90.0,
|
||||
shockwave_speed: 20.0,
|
||||
shockwave_duration: 0.5,
|
||||
requires_ground: false,
|
||||
move_efficiency: 0.1,
|
||||
damage_kind: Energy,
|
||||
specifier: Fire,
|
||||
ori_rate: 1.0,
|
||||
)
|
19
assets/common/abilities/custom/flamewyvern/flamethrower.ron
Normal file
19
assets/common/abilities/custom/flamewyvern/flamethrower.ron
Normal file
@ -0,0 +1,19 @@
|
||||
BasicBeam(
|
||||
buildup_duration: 0.8,
|
||||
recover_duration: 0.5,
|
||||
beam_duration: 0.5,
|
||||
damage: 10.0,
|
||||
tick_rate: 3.0,
|
||||
range: 15.0,
|
||||
max_angle: 22.5,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Burning,
|
||||
dur_secs: 10.0,
|
||||
strength: DamageFraction(0.5),
|
||||
chance: 0.25,
|
||||
))),
|
||||
energy_regen: 0,
|
||||
energy_drain: 0,
|
||||
ori_rate: 0.3,
|
||||
specifier: Flamethrower,
|
||||
)
|
77
assets/common/abilities/custom/flamewyvern/triplestrike.ron
Normal file
77
assets/common/abilities/custom/flamewyvern/triplestrike.ron
Normal file
@ -0,0 +1,77 @@
|
||||
ComboMelee(
|
||||
stage_data: [
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 20.0,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 0,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
range: 4.5,
|
||||
angle: 30.0,
|
||||
base_buildup_duration: 0.8,
|
||||
base_swing_duration: 0.1,
|
||||
hit_timing: 0.5,
|
||||
base_recover_duration: 0.6,
|
||||
forward_movement: 2.0,
|
||||
damage_kind: Slashing,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Bleeding,
|
||||
dur_secs: 10.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 0.1,
|
||||
))),
|
||||
),
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 16.0,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 0,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
range: 3.5,
|
||||
angle: 30.0,
|
||||
base_buildup_duration: 0.8,
|
||||
base_swing_duration: 0.1,
|
||||
hit_timing: 0.5,
|
||||
base_recover_duration: 0.6,
|
||||
forward_movement: 1.5,
|
||||
damage_kind: Slashing,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Bleeding,
|
||||
dur_secs: 10.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 0.1,
|
||||
))),
|
||||
),
|
||||
(
|
||||
stage: 3,
|
||||
base_damage: 26.0,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 0,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
angle: 30.0,
|
||||
base_buildup_duration: 0.375,
|
||||
base_swing_duration: 0.1,
|
||||
hit_timing: 0.5,
|
||||
base_recover_duration: 0.6,
|
||||
forward_movement: 1.5,
|
||||
damage_kind: Slashing,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Bleeding,
|
||||
dur_secs: 10.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 0.1,
|
||||
))),
|
||||
),
|
||||
],
|
||||
initial_energy_gain: 0,
|
||||
max_energy_gain: 0,
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
ori_modifier: 0.7,
|
||||
)
|
19
assets/common/abilities/custom/frostwyvern/frostbomb.ron
Normal file
19
assets/common/abilities/custom/frostwyvern/frostbomb.ron
Normal file
@ -0,0 +1,19 @@
|
||||
BasicRanged(
|
||||
energy_cost: 0,
|
||||
buildup_duration: 1.0,
|
||||
recover_duration: 0.7,
|
||||
projectile: Frostball(
|
||||
damage: 20.0,
|
||||
radius: 5.0,
|
||||
energy_regen: 5.0,
|
||||
min_falloff: 0.5,
|
||||
),
|
||||
projectile_body: Object(BoltNature),
|
||||
/*projectile_light: Some(LightEmitter {
|
||||
col: (1.0, 0.75, 0.11).into(),
|
||||
..Default::default()
|
||||
}),*/
|
||||
projectile_speed: 60.0,
|
||||
num_projectiles: 1,
|
||||
projectile_spread: 0.0,
|
||||
)
|
19
assets/common/abilities/custom/frostwyvern/frostthrower.ron
Normal file
19
assets/common/abilities/custom/frostwyvern/frostthrower.ron
Normal file
@ -0,0 +1,19 @@
|
||||
BasicBeam(
|
||||
buildup_duration: 0.8,
|
||||
recover_duration: 0.5,
|
||||
beam_duration: 0.5,
|
||||
damage: 10.0,
|
||||
tick_rate: 3.0,
|
||||
range: 15.0,
|
||||
max_angle: 22.5,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Burning,
|
||||
dur_secs: 10.0,
|
||||
strength: DamageFraction(0.5),
|
||||
chance: 0.25,
|
||||
))),
|
||||
energy_regen: 0,
|
||||
energy_drain: 0,
|
||||
ori_rate: 0.3,
|
||||
specifier: Frost,
|
||||
)
|
18
assets/common/abilities/custom/frostwyvern/iceshockwave.ron
Normal file
18
assets/common/abilities/custom/frostwyvern/iceshockwave.ron
Normal file
@ -0,0 +1,18 @@
|
||||
Shockwave(
|
||||
energy_cost: 60.0,
|
||||
buildup_duration: 1.4,
|
||||
swing_duration: 0.1,
|
||||
recover_duration: 0.4,
|
||||
damage: 40.0,
|
||||
poise_damage: 0,
|
||||
knockback: ( strength: 25.0, direction: Away),
|
||||
shockwave_angle: 360.0,
|
||||
shockwave_vertical_angle: 90.0,
|
||||
shockwave_speed: 20.0,
|
||||
shockwave_duration: 0.5,
|
||||
requires_ground: false,
|
||||
move_efficiency: 0.1,
|
||||
damage_kind: Energy,
|
||||
specifier: IceSpikes,
|
||||
ori_rate: 1.0,
|
||||
)
|
77
assets/common/abilities/custom/frostwyvern/triplestrike.ron
Normal file
77
assets/common/abilities/custom/frostwyvern/triplestrike.ron
Normal file
@ -0,0 +1,77 @@
|
||||
ComboMelee(
|
||||
stage_data: [
|
||||
(
|
||||
stage: 1,
|
||||
base_damage: 20.0,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 0,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
range: 4.5,
|
||||
angle: 30.0,
|
||||
base_buildup_duration: 0.8,
|
||||
base_swing_duration: 0.1,
|
||||
hit_timing: 0.5,
|
||||
base_recover_duration: 0.6,
|
||||
forward_movement: 2.0,
|
||||
damage_kind: Slashing,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Bleeding,
|
||||
dur_secs: 10.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 0.1,
|
||||
))),
|
||||
),
|
||||
(
|
||||
stage: 2,
|
||||
base_damage: 16.0,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 0,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 5.0,
|
||||
range: 3.5,
|
||||
angle: 30.0,
|
||||
base_buildup_duration: 0.8,
|
||||
base_swing_duration: 0.1,
|
||||
hit_timing: 0.5,
|
||||
base_recover_duration: 0.6,
|
||||
forward_movement: 1.5,
|
||||
damage_kind: Slashing,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Bleeding,
|
||||
dur_secs: 10.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 0.1,
|
||||
))),
|
||||
),
|
||||
(
|
||||
stage: 3,
|
||||
base_damage: 26.0,
|
||||
damage_increase: 0,
|
||||
base_poise_damage: 0,
|
||||
poise_damage_increase: 0,
|
||||
knockback: 10.0,
|
||||
range: 3.5,
|
||||
angle: 30.0,
|
||||
base_buildup_duration: 0.375,
|
||||
base_swing_duration: 0.1,
|
||||
hit_timing: 0.5,
|
||||
base_recover_duration: 0.6,
|
||||
forward_movement: 1.5,
|
||||
damage_kind: Slashing,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Bleeding,
|
||||
dur_secs: 10.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 0.1,
|
||||
))),
|
||||
),
|
||||
],
|
||||
initial_energy_gain: 0,
|
||||
max_energy_gain: 0,
|
||||
energy_increase: 0,
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
ori_modifier: 0.7,
|
||||
)
|
24
assets/common/abilities/custom/gigas_frost/cleave.ron
Normal file
24
assets/common/abilities/custom/gigas_frost/cleave.ron
Normal file
@ -0,0 +1,24 @@
|
||||
BasicMelee(
|
||||
energy_cost: 0,
|
||||
buildup_duration: 0.9,
|
||||
swing_duration: 0.1,
|
||||
recover_duration: 0.7,
|
||||
melee_constructor: (
|
||||
kind: Slash(
|
||||
damage: 85.0,
|
||||
poise: 5.0,
|
||||
knockback: 5.0,
|
||||
energy_regen: 10.0,
|
||||
),
|
||||
range: 5.0,
|
||||
angle: 75.0,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Frozen,
|
||||
dur_secs: 1.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 0.3,
|
||||
))),
|
||||
multi_target: Some(Normal),
|
||||
),
|
||||
ori_modifier: 0.2,
|
||||
)
|
24
assets/common/abilities/custom/gigas_frost/flashfreeze.ron
Normal file
24
assets/common/abilities/custom/gigas_frost/flashfreeze.ron
Normal file
@ -0,0 +1,24 @@
|
||||
Shockwave(
|
||||
energy_cost: 0,
|
||||
buildup_duration: 2.0,
|
||||
swing_duration: 0.12,
|
||||
recover_duration: 1.5,
|
||||
damage: 45.0,
|
||||
poise_damage: 30,
|
||||
knockback: (strength: 0.0, direction: TowardsUp),
|
||||
shockwave_angle: 240.0,
|
||||
shockwave_vertical_angle: 360.0,
|
||||
shockwave_speed: 200.0,
|
||||
shockwave_duration: 0.15,
|
||||
requires_ground: false,
|
||||
move_efficiency: 0.0,
|
||||
damage_kind: Piercing,
|
||||
specifier: IceSpikes,
|
||||
ori_rate: 0.0,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Frozen,
|
||||
dur_secs: 2.0,
|
||||
strength: DamageFraction(0.3),
|
||||
chance: 1.0,
|
||||
))),
|
||||
)
|
18
assets/common/abilities/custom/gigas_frost/frost_summons.ron
Normal file
18
assets/common/abilities/custom/gigas_frost/frost_summons.ron
Normal file
@ -0,0 +1,18 @@
|
||||
BasicSummon(
|
||||
buildup_duration: 1.75,
|
||||
cast_duration: 1.5,
|
||||
recover_duration: 0.75,
|
||||
summon_amount: 12,
|
||||
summon_distance: (10, 15),
|
||||
summon_info: (
|
||||
body: BipedSmall((
|
||||
species: Boreal,
|
||||
body_type: Male,
|
||||
)),
|
||||
scale: None,
|
||||
has_health: true,
|
||||
loadout_config: Some(BorealSummon),
|
||||
skillset_config: None,
|
||||
),
|
||||
duration: None,
|
||||
)
|
15
assets/common/abilities/custom/gigas_frost/ice_volley.ron
Normal file
15
assets/common/abilities/custom/gigas_frost/ice_volley.ron
Normal file
@ -0,0 +1,15 @@
|
||||
BasicRanged(
|
||||
energy_cost: 0,
|
||||
buildup_duration: 0.5,
|
||||
recover_duration: 0.9,
|
||||
projectile: IceBomb(
|
||||
damage: 30.0,
|
||||
radius: 3.0,
|
||||
knockback: 12.0,
|
||||
min_falloff: 0.1,
|
||||
),
|
||||
projectile_body: Object(IceBomb),
|
||||
projectile_speed: 25.0,
|
||||
num_projectiles: 5,
|
||||
projectile_spread: 0.07,
|
||||
)
|
@ -0,0 +1,10 @@
|
||||
SpriteSummon(
|
||||
buildup_duration: 1.3,
|
||||
cast_duration: 0.1,
|
||||
recover_duration: 1.1,
|
||||
sprite: IceSpike,
|
||||
del_timeout: Some((2, 5)),
|
||||
summon_distance: (2, 12),
|
||||
sparseness: 0.95,
|
||||
angle: 360,
|
||||
)
|
26
assets/common/abilities/custom/gigas_frost/leapshockwave.ron
Normal file
26
assets/common/abilities/custom/gigas_frost/leapshockwave.ron
Normal file
@ -0,0 +1,26 @@
|
||||
LeapShockwave(
|
||||
energy_cost: 0,
|
||||
buildup_duration: 1.4,
|
||||
movement_duration: 0.8,
|
||||
swing_duration: 0.15,
|
||||
recover_duration: 0.9,
|
||||
damage: 45.0,
|
||||
poise_damage: 10,
|
||||
knockback: (strength: 3.0, direction: Up),
|
||||
shockwave_angle: 360.0,
|
||||
shockwave_vertical_angle: 15.0,
|
||||
shockwave_speed: 20.0,
|
||||
shockwave_duration: 0.8,
|
||||
requires_ground: true,
|
||||
move_efficiency: 0.2,
|
||||
damage_kind: Piercing,
|
||||
specifier: IceSpikes,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Frozen,
|
||||
dur_secs: 1.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 1.0,
|
||||
))),
|
||||
forward_leap_strength: 45.0,
|
||||
vertical_leap_strength: 10.0,
|
||||
)
|
24
assets/common/abilities/custom/gigas_frost/wide_cleave.ron
Normal file
24
assets/common/abilities/custom/gigas_frost/wide_cleave.ron
Normal file
@ -0,0 +1,24 @@
|
||||
BasicMelee(
|
||||
energy_cost: 0,
|
||||
buildup_duration: 0.4,
|
||||
swing_duration: 0.1,
|
||||
recover_duration: 0.8,
|
||||
melee_constructor: (
|
||||
kind: Slash(
|
||||
damage: 90.0,
|
||||
poise: 20.0,
|
||||
knockback: 5.0,
|
||||
energy_regen: 5.0,
|
||||
),
|
||||
range: 5.0,
|
||||
angle: 120.0,
|
||||
damage_effect: Some(Buff((
|
||||
kind: Frozen,
|
||||
dur_secs: 1.0,
|
||||
strength: DamageFraction(0.1),
|
||||
chance: 0.5,
|
||||
))),
|
||||
multi_target: Some(Normal),
|
||||
),
|
||||
ori_modifier: 1.0,
|
||||
)
|
@ -3,6 +3,8 @@ SpriteSummon(
|
||||
cast_duration: 0.4,
|
||||
recover_duration: 0.3,
|
||||
sprite: EnsnaringVines,
|
||||
del_timeout: None,
|
||||
summon_distance: (0, 25),
|
||||
sparseness: 0.67,
|
||||
angle: 360,
|
||||
)
|
@ -12,6 +12,7 @@ BasicMelee(
|
||||
),
|
||||
range: 4.0,
|
||||
angle: 60.0,
|
||||
multi_target: Some(Normal),
|
||||
),
|
||||
ori_modifier: 1.0,
|
||||
)
|
||||
|
@ -23,6 +23,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.6,
|
||||
)
|
||||
|
@ -55,6 +55,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.6,
|
||||
)
|
||||
|
@ -23,6 +23,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.6,
|
||||
)
|
||||
|
@ -14,7 +14,6 @@ SpinMelee(
|
||||
energy_cost: 0.0,
|
||||
is_infinite: false,
|
||||
movement_behavior: Stationary,
|
||||
is_interruptible: false,
|
||||
forward_speed: 0.0,
|
||||
num_spins: 1,
|
||||
specifier: None,
|
||||
|
@ -23,6 +23,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.65,
|
||||
)
|
||||
|
@ -10,11 +10,11 @@ SpinMelee(
|
||||
),
|
||||
range: 16.0,
|
||||
angle: 360.0,
|
||||
multi_target: Some(Normal),
|
||||
),
|
||||
energy_cost: 0.0,
|
||||
is_infinite: true,
|
||||
movement_behavior: Stationary,
|
||||
is_interruptible: false,
|
||||
forward_speed: 0.0,
|
||||
num_spins: 1,
|
||||
specifier: Some(CultistVortex),
|
||||
|
@ -21,6 +21,7 @@ DashMelee(
|
||||
strength: DamageFraction(0.3),
|
||||
chance: 0.25,
|
||||
))),
|
||||
multi_target: Some(Normal),
|
||||
),
|
||||
energy_drain: 0,
|
||||
forward_speed: 5.0,
|
||||
@ -30,5 +31,4 @@ DashMelee(
|
||||
recover_duration: 3.4,
|
||||
ori_modifier: 0.1,
|
||||
charge_through: false,
|
||||
is_interruptible: false,
|
||||
)
|
||||
|
@ -16,6 +16,7 @@ ChargedMelee(
|
||||
)),
|
||||
range: 5.0,
|
||||
angle: 45.0,
|
||||
multi_target: Some(Normal),
|
||||
),
|
||||
charge_duration: 4.5,
|
||||
swing_duration: 0.1,
|
||||
|
@ -18,6 +18,7 @@ BasicMelee(
|
||||
strength: Value(0.5),
|
||||
chance: 1.0,
|
||||
))),
|
||||
multi_target: Some(Normal),
|
||||
),
|
||||
ori_modifier: 1.0,
|
||||
)
|
||||
|
@ -24,5 +24,4 @@ DashMelee(
|
||||
recover_duration: 2.4,
|
||||
ori_modifier: 0.3,
|
||||
charge_through: false,
|
||||
is_interruptible: true,
|
||||
)
|
||||
|
@ -51,6 +51,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.6,
|
||||
)
|
||||
|
19
assets/common/abilities/custom/organ/organaura.ron
Normal file
19
assets/common/abilities/custom/organ/organaura.ron
Normal file
@ -0,0 +1,19 @@
|
||||
BasicAura(
|
||||
buildup_duration: 0.0,
|
||||
cast_duration: 0.0,
|
||||
recover_duration: 2.0,
|
||||
targets: InGroup,
|
||||
auras: [
|
||||
(
|
||||
kind: ProtectingWard,
|
||||
strength: 0.20,
|
||||
duration: Some(10.0),
|
||||
category: Magical,
|
||||
),
|
||||
],
|
||||
aura_duration: 34.75,
|
||||
range: 18.0,
|
||||
energy_cost: 0.0,
|
||||
scales_with_combo: false,
|
||||
specifier: Some(WardingAura),
|
||||
)
|
@ -23,6 +23,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.6,
|
||||
)
|
||||
|
@ -55,6 +55,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.65,
|
||||
)
|
||||
|
@ -24,5 +24,4 @@ DashMelee(
|
||||
recover_duration: 2.0,
|
||||
ori_modifier: 0.3,
|
||||
charge_through: false,
|
||||
is_interruptible: false,
|
||||
)
|
||||
|
@ -55,6 +55,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.7,
|
||||
)
|
||||
|
@ -24,5 +24,4 @@ DashMelee(
|
||||
recover_duration: 2.0,
|
||||
ori_modifier: 0.3,
|
||||
charge_through: false,
|
||||
is_interruptible: false,
|
||||
)
|
||||
|
@ -71,6 +71,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.8,
|
||||
)
|
||||
|
@ -16,6 +16,7 @@ ChargedMelee(
|
||||
)),
|
||||
range: 6.0,
|
||||
angle: 90.0,
|
||||
multi_target: Some(Normal),
|
||||
),
|
||||
charge_duration: 3.2,
|
||||
swing_duration: 0.7,
|
||||
|
@ -55,6 +55,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.7,
|
||||
)
|
||||
|
@ -23,6 +23,5 @@ ComboMelee(
|
||||
speed_increase: 0.0,
|
||||
max_speed_increase: 0.0,
|
||||
scales_from_combo: 0,
|
||||
is_interruptible: false,
|
||||
ori_modifier: 0.7,
|
||||
)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user